电子商务的概念
以Internet基础商务活动
通过买方、卖方和提供交易平台的第三方Internet交易信息交换的过程
目的:实现高效、方便、利润最大化的商业活动
主要类型的电子商务
根据参与交易的主体进行划分
- 企业对企业B2B(阿里巴巴网站)
- 企业对消费者B2C(当当网)
- 消费者对消费者C2C(淘宝)
按交易产品类型划分
1.电子商务有形产品
产品特点:
①体积小,运输方便;
②价值不是特别大;
③主要购买群体是年轻人或网民
2.电子商务无形产品
产品特点:数字产品、无形产品或服务
交易的产品可以通过Internet直接传送,
物流不需要考虑
电子商务安全的重要性
安全是实施电子商务的关键因素
电子商务系统的组成
电子商务系统的整体框架结构
- 应用系统
- 基础平台
- 网络平台
电子商务安全的层次
计算机网络安全
- 系统实体安全
- 系统运行安全
- 系统软件安全
电子交易安全
两者关系:
没有基于计算机网络安全的电子交易安全;没有电子交易安全,即使计算机网络本身非常安全,也不能满足电子商务独特的安全需求
电子商务安全的特点
系统性 安全不仅是一个技术问题,也是一个管理问题
相对性 没有绝对的安全
有代价性 应考虑安全的成本和成本
动态性 没有一劳永逸的安全
电子商务面临安全威胁
-
- Interruption 针对可用性的攻击
- Interception针对机密性进行的攻击
- Modification攻击完整性的攻击
- Fabrication攻击真实性。
- repudiation攻击不可否认性。
电子商务安全技术
电子商务安全技术可分为密码技术、网络安全技术和电子交易安全技术,包括:
- 加密技术
- 认证技术
- 公钥基础设施
- 访问控制技术
- 网络安全技术
- 电子商务安全协议
电子商务安全系统结构的组成
完整的电子商务安全系统
- 安全基础设施层
- 加密技术层
- 安全认证层,
- 安全协议层,
- 交易协议层
- 应用系统层
- 电子商务政策法规
- 安全管理等
安全策略
安全策略(Security Policy)是实施电子商务系统安全措施和安全管理的指导思想。是指系统中所有与安全活动相关的规则
电子商务安全涉及的三个要素
- 人
电子商务交易的主体仍然是人,所以人的因素是最重要的
- 过程
包括操作过程和交易过程,应有严格的制度来规范各种操作行为
- 技术
技术因素对电子商务安全的影响最直接
电子商务安全保护模型
在安全策略的指导下,电子商务安全受到保护(Protect)、检测(Detect)、响应(React)和恢复(Restore)由四个环节组成,简称PDRR。
- 保护 ——电子商务系统的技术保护
- 检测—— 能够实时监控系统的安全状态
- 响应 ——当攻击发生时,可以及时响应
- 恢复-攻击发生时,必须有机制及时恢复系统的正常工作
电子商务安全的基础环境(对电子商务的安全也起保障作用)
- 电子商务法规
- 电子商务安全技术标准
- 电子商务政策
密码学的基本概念
认证(Authentication)又称鉴别
- 验证通信对象是原始的,而不是冒名顶替者(身份认证),
- 或者确认收到的信息是希望,而不是伪造或篡改(信息认证)。
- 在加密和数字签名等密码学技术的帮助下,实现认证技术。实上,数字签名本身也是一种认证技术,可以用来识别新闻来源。
消息认证
- 消息认证是验证接收消息的真实性(确实由其声称的实体发送)和完整性(未被篡改、插入、删除)的过程,也可用于验证消息的顺序和时间(未重新安排、重新安排、延迟)。
新闻认证的分类
- 对称加密制实现消息认证
- 利用公钥加密体制实现消息认证
- 利用散列函数实现消息认证
- 利用MAC实现消息认证
利用对称加密体制实现消息认证
- 发送方A和接收方B事先共享一个密钥。提供保密、提供认证、不能提供签名
(1)它能提供鉴别:可确认消息只能发自A,传输途中未被更改;
(2)提供保密性:因为只有A和B知道密钥k;
(3)不能提供数字签名:接收方可以伪造消息,发送方可以抵赖消息的发送
利用公钥加密体制实现消息认证
- 公钥加密:保密性
提供保密、不能提供认证
- 私钥加密:认证与签名
提供认证、提供签名
- 私钥签名再公钥加密:保密、认证与签名
提供保密、提供认证提供签名
- 先公钥加密再私钥签名:保密、认证与签名
提供保密、提供认证、提供签名
较少使用,先对消息加密再签名不合常理
利用散列函数实现消息认证
散列函数的特性
哈希函数、摘要函数
输入:任意长度的消息报文 M
输出:一个固定长度的散列码值 H(M)
是报文中所有比特的函数值
单向函数
Hash函数的分类
- 根据是否使用密钥
带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时,散列值称作MAC。
不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。此时,散列值称作MDC。
- Hash函数需满足以下条件:
输入x可以为任意长度,输出为固定长度
正向计算容易,反向计算困难
抗冲突性(无冲突性)
利用散列函数实现消息认证
- 提供保密、提供认证
- 提供认证
利用MAC实现消息认证
- 消息认证码:
使用一个密钥生成一个固定大小的短数据块,并将该数据块加载到消息后面,称MAC(或密码校验和)
MAC=Ck(M)
MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少
- MAC的基本用法:消息认证
提供认证
不能提供保密、签名
- MAC的基本用法:与明文有关的认证
提供保密、提供认证
- MAC的基本用法:与密文有关的认证
提供保密、提供认证
身份认证
身份认证(又叫身份鉴别、实体认证、身份识别)的定义:
- 声称者向验证者出示自己的身份的证明过程
- 证实客户的真实身份与其所声称的身份是否相符的过程
身份认证认证目的 使别的成员(验证者)获得对声称者所声称的事实的信任。身份认证是获得系统服务所必须的第一道关卡。
身份认证的依据
- 用户所知道的某种信息(Something the user knows),如口令或某个秘密。
- 用户拥有的某种物品(Something the user possesses),如身份证、银行卡、密钥盘、IP地址等。
- 用户具有的某种特征(Something the user is or how he/she behaves),如指纹、虹膜、DNA、脸型等。
- 同时使用两种依据的认证叫做双因素(Two-factor)认证方式
身份认证系统的组成
- 一方是出示证件的人,称为示证者P(Prover),又称声称者(Claimant)。
- 另一方验证者V(Verifier),检验声称者提出的身份的正确性和合法性,决定是否满足其要求。
- 第三方是可信赖者TP(Trusted third party),
身份认证的分类
- 身份认证可分为单向认证和双向认证。
单向身份认证是指通信双方中只有一方向另一方进行认证
双向身份认证是指通信双方相互进行认证
- 身份认证还可分为非密码的认证机制和基于密码算法的认证机制。
口令机制
- 口令是目前使用最广泛的的身份认证机制。从形式上看,口令是字母、数字或特殊字符构成的字符串,只有被认证者知道。
- 提示:银行卡密码、邮箱登录密码、保险柜密码等,准确地说应该叫口令,因为口令是用来作为某种鉴别的秘密
口令的基本工作过程
第一步:系统提示用户输入用户名和口令
第二步:用户输入用户名和口令,使用户名和口令以明文形式传递到服务器上,
第三步:服务器验证用户名和口令
第四步:服务器通知用户
口令机制面临的威胁
对付线路窃听的措施
- 必须在客户端对口令进行加密,可以使用单向散列函数在客户端对口令进行加密,而服务器端也只保存口令的散列值
对付字典攻击
- 存在的缺陷是:由于散列函数的算法是公开的,攻击者可以设计一张p和p’的对应表(称为口令字典),其中p是攻击者猜测的所有可能的口令,然后计算每个p的散列值p’。接下来,攻击者通过截获鉴别信息p’,在口令字典中查找p’对应的口令p,就能以很高的概率获得声称者的口令,这种方式称为字典攻击。
- 对付这种攻击的方法可以将单向散列函数对ID和口令p的连接串求散列值,即p’=f(p, id) 。这样攻击者截获鉴别信息p’后,必须针对每个ID单独设计一张(p,id)和p’的对应表,大大增加了攻击的难度
对付危及验证者的攻击
- 对口令系统的另一个潜在威胁是,通过内部攻击危及验证者的口令文件或数据库,如不怀好意的系统管理员可能会窃取用户数据库中的口令从事非法用途。这种攻击会危及到系统中所有用户的口令。
对付危及验证者的攻击的措施:
- 首先应保证用户口令不能以明文形式存放在验证端数据库中。前面介绍的对付线路窃听的措施为对抗这种攻击提供了好处
- 将单向散列函数应用于验证系统,而不是声称系统
重放攻击
- 把口令加密传输可以让攻击者无法知道真实的口令,可是,这对聪明的攻击者并不造成麻烦。
- 他只需把监听的消息录制下来,再用其它的软件把口令的散列值原封不动的重放给验证者进行认证,而验证者看到正确的口令散列值就认为是登录成功的用户,这样攻击者就可以冒名顶替受害者,从认证者处获取服务了,我们称这种形式的攻击为
对付重放攻击的另一种方法
- 称为挑战-应答机制,较好的抵抗了重放攻击。但付出的代价是增加了一次通信
对付重放攻击-要求输入验证码
对付重放攻击的三种方法
① 加随机数。双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,
② 加时间戳。该方法优点是不用额外保存其他信息;缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。
③ 加流水号。就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁
- 在实际中,常将方法①和②组合使用
基于挑战-应答的口令机制
通过共享秘密进行身份认证方式的总结
- 出示口令方式。
直接将口令提交给验证者,验证者检查口令。该方式的缺点是口令存在被线路窃听、被重放且不能双向认证(申请者无法判断验证者是否确实知道口令)的缺点。不具有认证的不可传递性
- 不出示口令方式。
者用口令加密一个消息,将加密的消息发给验证者,验证者用口令解密,如果得到消息明文则验证通过。该方式解决了口令被窃听和不能双向认证的缺陷,但仍存在被重放的缺点。
- 挑战—应答方式。
者发一个随机数给申请者,申请者用口令加密该随机数给验证者。该方式解决了以上所有三个问题,但增加了一次通信
口令的维护和管理措施
- 对付口令外部泄露的措施
(1)对用户或者系统管理员进行教育、培训,增强他们的安全意识;
(2)建立严格的组织管理和执行手续;
(3)确保每个口令只与一个人有关;
(4)确保输入的口令不显示在屏幕上;
(5)使用易记的口令,不要写在纸上;
(6)定期改变口令,不要让所有系统都使用相同的口令
- 对付口令猜测的措施
(1)严格限制非法登录的次数;
(2)口令验证中插入实时延时
(3)规定口令的最小长度,如至少6~8位;
(4)防止使用与用户特征相关的口令
(5)确保口令定期改变;
(6)更改或取消系统安装时的默认口令
(7)使用随机数产生器产生的口令会比用户自己选择的口令更难猜测
零知识证明
- 零知识证明(Zero knowledge proof)技术可使信息的拥有者无须泄露任何信息就能向验证者或者任何第三方证明它拥有该信息。
- 即当示证者P掌握某些秘密信息,P以某种有效的数学方法,使验证者V确信P知道该秘密,但P又不需要泄露该秘密给V
其他身份认证的机制
- 一次性口令OTP(One Time Password)是变动的口令,其变动来源于产出口令的运算因子是变化的 如Lamport提出的基于散列链的一次性口令
- 基于地址的机制
- 基于设备的机制
- 基于个人特征的机制
为什么需要数字证书?
- 数字证书和公钥基础设施PKI就是为了实现在公钥分发过程中确保公钥的真实性。
数字证书
- 数字证书的概念: Kohnfelder于1978年提出的
- 所谓数字证书,就是公钥证书,是一个包含有用户身份信息、用户公钥以及一个可信第三方认证机构CA的数字签名的数据文件
- 提示:数字证书其实就是一个小的计算机文件例:tang.cer
如何建立主体与其公钥的关联的?
- 数字证书,是一个由使用数字证书的用户群所公认和信任的权威机构(CA)签署了其数字签名的信息集合。
- 主体将其身份信息和公钥以安全的方式提交给CA认证中心,CA用自己的私钥对主体的公钥和身份ID的混合体进行签名,将签名信息附在公钥和身份ID等信息后,这样就生成了一张证书,它主要由公钥、身份ID和CA的签名三部分组成,
证书的生成原理
证书的生成过程
1. 密钥对的生成
用户可以使用某种软件随机生成一对公钥/私钥对
2. 注册机构RA验证
RA要验证用户的身份信息,是否合法并有资格申请证书,如果用户已经在该CA申请过证书了,则不允许重复申请。
其次,必须检查用户持有证书请求中公钥所对应的私钥,这样可表明该公钥确实是用户的
证书的验证过程
① 首先证书必须是真实的,而没有被篡改或伪造。如果一张证书经验证发现是伪造的,我们肯定不会信任它了。
② 其次颁发证书的机构必须是某个可以信任的权威机构,如果一家小店颁发身份证,即算这个证书是真实的(确实是该小店颁发的),我们也不会信任它
数字证书的验证过程
(1)验证该数字证书是否真实有效。
(2)检查颁发该证书的CA是否可以信任
- 如果验证者收到李四的数字证书,发现李四的证书和他的证书是同一CA颁发的,则验证者可以信任李四的证书,因为验证者信任自己的CA,而且已经知道自己CA的公钥,可以用该公钥去验证李四的证书
- 但如果李四的数字证书是另一个CA颁发的,验证者怎么验证颁发李四证书的CA是否可信呢?这就要通过验证该证书的证书链来解决
根CA的验证
- 根CA证书是一种自签名(Self-signed certificate)证书,即根CA对自己的证书签名,因此这个证书的颁发者名和主体名都指向根CA,
证书的交叉认证
- 如果A和B两方在不同的国家,他们的证书连根CA都不相同,那他们怎样验证对方证书的颁发机构是否可信呢?这就需要使用进行认证。
- 提示:如果两个证书的根CA不相同,并且它们的根CA之间也没有进行任何形式的交叉认证,即这两个根CA之间没有任何联系,在这种情况下双方是无法认证对方证书的有效性的,这时只能由用户主观选择是否信任对方的证书。
数字证书的内容和格式
数字证书的类型
1. 客户端(个人)数字证书
2. 服务器证书(站点证书)
3. 安全邮件证书
4. 代码签名证书
数字证书的功能
- 用来分发公钥
由于数字证书可以用来分发公钥,因此可以利用证书中的公钥及其对应的私钥进行加密和签名
- 作为主体的身份证明
使用证书进行加密
① 甲方准备好要传送给乙方的信息(明文);
② 甲获取乙的数字证书,并验证该证书有效后,用乙方证书中的公钥加密信息(密文);
③ 乙方收到加密的信息后,用自己证书对应的私钥解密密文,得到明文信息。
- 当然,如果明文数据量很大,可以结合数字信封的方式来加密,即甲方只用公钥来加密一个对称密钥,再用对称密钥加密明文信息。
使用证书进行签名
① 甲方准备好要传送给乙方的信息(明文);
② 甲对该信息进行Hash运算,得到一个消息摘要;
③ 甲用自己证书对应的私钥对消息摘要进行加密得到甲的数字签名,并将其附在信息后;
④ 甲方将附带有数字签名的信息传送给乙方(同时也可以把自己的数字证书一起发给乙方);
⑤ 乙方收到后,对甲方的数字证书进行验证,如果有效,就用甲方证书中的公钥解密数字签名
使用证书同时进行签名和加密
① 甲方准备好要传送给乙方的信息(明文);
② 甲对该信息进行Hash运算,得到一个消息摘要;
③ 甲用自己证书对应的私钥对消息摘要进行加密得到甲的数字签名,并将其附在信息后;
④ 甲获取乙的数字证书,并验证该证书有效后,用乙方证书中的公钥加密信息和签名的混合体;
⑤ 乙方收到加密的数据后,用自己证书对应的私钥解密密文,得到信息和数字签名的混合体;
⑥ 乙方获取甲方的数字证书,并验证该证书有效后,就用甲方证书中的公钥解密数字签名,得到一个消息摘要,再对明文信息求消息摘要
数字证书进行身份认证的方式
① 甲方产生一条数据消息M(该消息有固定的格式),并用自己证书对应的私钥加密该消息,得到密文ESKA(M);
② 甲方将自己的证书和密文ESKA(M)发送给乙方;
③ 乙方收到后,首先验证证书的真伪及有效性,验证过程包括用颁发该证书的CA的公钥验证证书的签名,再验证证书链,有效期等,如前所述;
④ 证书验证通过后,乙方用甲方证书中的公钥解密密文ESKA(M),如果解密成功,则表明甲方拥有该证书对应的私钥,是该证书的拥有者,身份验证通过。
口令机制和数字证书的比较
- 而通过数字证书则能够实现证书持有者得到在大范围的身份认证,而且不要求他曾经和认证方有过接触,只要某人持有数字证书,就能够让所有以前与他从未有过接触的实体认证他,这就像我们持有身份证可以在全国范围内得到身份认证一样。
共享密钥(如口令 |
数字证书 |
|
认证的依据 |
用户所知道的某种信息 |
用户所拥有的某种物品 |
实施认证的条件 |
认证双方之前必须有过接触 |
不需要任何意义上的接触 |
所能获得认证的范围 |
小范围 |
大范围 |
公钥基础设施(PKI)
- 公钥基础设施(Public Key Infrastructure)通常简称PKI。所谓PKI就是一个以公钥技术为基础的,提供和实施安全服务的具有普适性的安全基础设施。
- PKI是一种提供信息安全服务的基础设施,旨在从技术上解决网上身份认证、信息的完整性和不可抵赖性等安全问题,为诸如电子商务、电子政务、网上银行和网上证券等各种具体应用提供可靠的安全服务的基础设施。
- 从技术实现上来看:
PKI是以公钥密码体制为理论基础,
以CA认证机构为,
以数字证书为工具来提供安全服务功能的。
PKI的核心——CA
- 认证机构CA(Certificate Authority),又叫做认证中心,是电子商务安全中的关键环节,也是电子交易中信赖的基础
1. 发放证书
2. 撤销证书
证书作废列表CRL(Certificate Revocation List)
3. 证书管理
注册机构——RA
- 由于认证机构CA的任务很多,如签发新证书、维护旧证书、撤销因故无效的证书等,因此可以将受理证书申请的工作转交给第三方:注册机构RA(Registration Authority)。作为CA发放、管理证书的延伸,RA负责证书申请者的信息录入、审核以及证书发放等工作。
注册机构RA通常提供下列服务
- 接收与验证最终用户的注册信息;
- 为最终用户生成密钥(可选);
- 接收与授权密钥备份与恢复请求;
- 接收与授权证书撤销请求。
数字证书库
- 数字证书库(Certificate Repository, CR)是CA颁发证书和撤销证书的集中存放地,是网上的一种公共信息库,供广大公众进行开放式查询。证书库通过目录技术实现网络服务,常用的目录技术是LDAP。
- 存储证书。证书库存储证书并形成目录系统以供查询。
- 提供证书。根据证书信任方的请求,证书库提供所需证书的副本。目前,很多厂商都支持LDAP协议,提供证书查询。
- 确认证书状态。
PKI的基本组成
PKI的信任模型
- 要实现各PKI体系间的互相通信,最可行的办法是在多个独立运行的CA之间实行交叉认证,交叉认证提供了一种解决CA之间互相信任的机制
PKI的信任模型 分类
(1)树型层次信任模型
(2)网状信任模型
(3)桥信任模型
数字证书的应用小结
- 使用数字证书进行邮件的加密和签名只是数字证书的一个应用而已,还可以用数字证书加密Word文档或PDF文档等。在SSL协议、SET协议、VPN技术中,数字证书不仅可用来加密签名,更重要的是用作身份证明
网络安全的脆弱性
- Internet是以TCP/IP协议为基础构建的,然而在创建之初,主要考虑的是连通和数据传输的方便快捷,并没有适当地考虑安全的需要
- Internet安全的脆弱性
很容易被窃听和欺骗
脆弱的TCP/IP服务
配置的错误和疏忽
回顾:OSI模型与TCP/IP协议组
网络层地址和传输层地址的关系
- 一台计算机可以提供多种服务,如FTP、Telnet、Email等。为了使各种服务协调运行,TCP/IP协议为每种服务设定了一个端口,称为TCP协议端口。每个端口都拥有一个16比特的端口号
- TCP/IP的服务一般是通过IP地址加一个端口号(Port)来决定的。一台主机上可以同时运行许多个应用程序,通过IP地址+端口号才能确定数据包是传给哪台主机上的哪个应用程序的
IP地址和端口号的作用
- 对于一些常见的程序,它们使用的端口号一般是固定的(有些程序需要占用几个端口,当然也可以更改这些程序默认的端口号)。常见应用程序的端口号如表所示。
- 通过端口号还能辨别目标主机上正在运行哪些程序。使用“netstat -an”命令可以查看本机上活动的连接和开放的端口
常用的网络服务端口号
端口 |
协议或程序 |
端口 |
协议或程序 |
端口 |
协议或程序 |
TCP/UDP 21 |
FTP |
TCP/UDP 25 |
SMTP |
TCP/UDP 53 |
DNS |
TCP 80 |
HTTP |
TCP 443 |
HTTPS |
TCP 3389 |
远程桌面 |
TCP/UDP 23 |
Telnet |
UDP 4004 |
|
TCP 22 |
SSH |
网络各层的安全缺陷
- IP层的安全缺陷
- IP通信不需要进行身份认证,无法保证数据源的真实性;
- IP数据包在传输时没有加密,无法保证数据传输过程中的保密性、完整性;
- IP的分组和重组机制不完善,无法保证数据源的正确性;
- IP地址的表示不需要真实及确认,无法通过IP验证对方的身份等
- 传输层的安全缺陷
传输层包括TCP协议和UDP协议,对TCP协议的攻击,主要利用TCP建立连接时三次握手机制的缺陷,像SYN Flooding等拒绝服务攻击等都是针对该缺陷的。对UDP协议的攻击,主要是进行流量攻击,强化UDP通信的不可靠性,以达到拒绝服务的目的
- 应用层的安全缺陷
对应用层的攻击包括的面非常广,如对应用协议漏洞的攻击,对应用数据的攻击,对应用操作系统平台的攻击等。
对应用层攻击包括:未经审查的Web方式的信息录入、应用权限的访问控制被攻破、身份认证和会话管理被攻破、跨站点的执行代码漏洞、缓存溢出漏洞等。
ISO/OSI安全体系结构
- 1988年,为了在开放系统互联参考模型(OSI/RM)环境下实现信息安全,ISO/TC97技术委员会制定了ISO 7498-2国际标准“信息处理系统—开放系统互连—基本参考模型—第2部分:安全体系结构”
(1)对象认证安全服务。
(2)访问控制服务。
(3)数据保密服务。
(4)数据完整性服务。
(5)抗抵赖服务
OSI安全机制与安全服务的关系
安全服务 安全机制 |
对等实体鉴别 |
访问控制 |
数据保密 |
数据完整性 |
抗抵赖 |
加密 |
√ |
√ |
√ |
||
数字签名 |
√ |
√ |
√ |
√ |
|
访问控制 |
√ |
||||
数据完整性 |
√ |
√ |
|||
认证交换 |
√ |
||||
业务流填充 |
√ |
||||
路由控制 |
√ |
||||
公证机制 |
√ |
安全技术与电子商务系统的安全需求的关系
安全技术 安全要求 |
加密 |
口令 |
数字签名 |
数字证书 |
访问控制 |
防火墙 |
防病毒 |
认证 |
安全监控 |
完整性 |
√ |
√ |
√ |
√ |
|||||
保密性 |
√ |
√ |
√ |
||||||
真实性 |
√ |
√ |
√ |
√ |
√ |
||||
不可抵赖性 |
√ |
√ |
|||||||
抵抗攻击 |
√ |
√ |
√ |
√ |
|||||
系统可用性 |
√ |
√ |
TCP/IP协议的安全服务与安全机制
安全服务 |
安全机制 |
对等实体鉴别服务 |
由基于加密技术的TCP三次握手交换鉴别机制支持 |
数据源鉴别服务 |
由加密机制和数据完整性机制支持 |
面向连接的数据机密性服务 |
由TCP保密连接机制和加密机制支持 |
面向连接可恢复的数据完整性服务 |
由加密机制、数据完整性机制、TCP报文确认重发机制和保密连接交换鉴别机制支持 |
访问控制 |
由TCP保密连接机制和访问控制机制支持 |
数据源和目的的不可否认服务 |
由加密机制和数字签名机制支持 |
在不同层实现安全性的特点
- 为了实现Internet的安全性,从原理上说可以在TCP/IP协议的任何一层实现。但在不同层级实现安全性有着不同的特点
1)应用层安全必须在终端主机上实施
2)在传输层实现安全机制,应用程序仍需要修改,才能要求传输层提供安全服务。传输层的安全协议有SSL/TLS
3)网络层安全的优点是密钥协商的开销被大大削减了
网络安全的加密方式
- 链路—链路加密
① 加密对用户是透明的,通过链路发送的任何信息在发送前都先被加密;
② 每个链路两端节点需要一个共用密钥;
③ 攻击者无法获得链路上的任何报文结构的信息,因此可称之为提供了信号流安全;
④ 缺点是数据在中间节点以明文形式出现,维护节点安全性的代价较高。
- 节点加密
为了解决采用链接加密方式时,在中间节点上的数据报文是以明文形式出现的缺点。节点加密在每个中间节点里装上一个用于加、解密的安全模块,由它对信息先进行解密,然后进行加密,从而完成一个密钥向另一个密钥的转换。这样,节点中的数据不会出现明文。
- 端-端加密
端—端加密方法将网络看成是一种介质,数据能安全地从源端到达目的端。这种加密在OSI模型的高三层进行,在源端进行数据加密,在目的端进行数据解密,而在中间节点及其线路上一直以密文形式出现。
端—端加密是未来网络加密的发展方向
端口扫描
- 端口扫描程序
如X-scan
- 常用的网络扫描命令
1)Ping命令
2)tracert命令
3)net命令
4)netstat命令
5)ipconfig命令
拒绝服务攻击
- 当一个授权者不能获得对网络资源的访问或者当服务器不能正常提供服务时,就发生了拒绝服务DoS(Denial of Service),拒绝服务是针对可用性进行的攻击
- 正常的TCP建立连接的三次握手协议
SYN Flood拒绝服务攻击原理
欺骗
- TCP建立连接是一个3次握手的过程。由于在某些系统中序列号SEQS=N的产生规律相对简单,为以后的安全问题留下了隐患。TCP序列号欺骗是通过TCP的3次握手过程,推测服务器的响应序列号实现的。这种欺骗即使在没有得到服务器响应的情况下,也可以产生TCP数据包与服务器进行通信。
针对TCP协议的欺骗攻击
① Eve首先向X发送一系列的SYN请求(拒绝服务攻击),使其几乎瘫痪;
② 然后Eve向服务器Y发一个SYN请求,并把数据包的源IP地址指定为X的地址,即伪造源地址;
③ 服务器Y收到建立TCP连接的请求后,响应一个SYN ACK的应答,这个SYN ACK的应答数据包将发送给X,因为第②步SYN请求中使用了这个源地址;
④ X在第①步受到拒绝服务攻击已经瘫痪,无法看到Y的应答;
⑤ Eve猜出Y在SYN ACK响应中使用的序号(经过几次试验),用其确认SYN ACK消息,发送到Y。即Eve响应Y的SYN ACK消息,发送了许多个确认(用不同的序号)。
⑥ 每种情况下,Eve立即向Y发送一个命令,用于修改Y维护的信任文件,使Y信任自己,这样以后Eve就能控制服务器Y了
伪装
① 把一个指向假冒网站的链接放到一个流行的Web页面上;
② 将假冒网站的链接通过电子邮件或QQ信息发送给用户;
③ 使Web搜索引擎指向假的网站;
④ 修改用户Windows系统中的hosts文件
嗅探
- 嗅探(Sniffer)就是指窃听攻击,是一种被动攻击
- 用集线器(Hub)组建的局域网是基于广播原理的,局域网内所有的计算机都将接收到相同的数据包,无论这个数据包是发给本机的还是发给其他机器的,每个数据包都将被广播给所有的机器。因此在同一局域网中的机器可以很容易地嗅探发往其他主机的数据包
嗅探的实施
- 如果要进行嗅探,首先必须使用Sniffer软件将网卡设置为混杂(promiscuous)模式,在混杂模式中,网卡对数据包的目的MAC地址不加任何检查全部接收,局域网内传输的所有数据包都将被嗅探者接收
- 嗅探一般使用Sniffer Pro、CuteSniffer等抓包软件实现。抓包之前,必须先设置抓取数据包的类型,如Telnet协议的数据包。然后再设置要抓取数据包的源IP和目的IP,这些都是在菜单“Capture→Define Filter”中设置的。这样就可以抓取某个应用程序在任何两台机器之间传输的所有数据包了。抓包完成后,可以点击解码“Decode”分析解码后的原始信息内容
防御网络嗅探的三种途径
①采取安全的拓扑结构,将网络分成多个VLAN(Virtual Lan,虚拟局域网),则VLAN和VLAN之间处于不同的广播域,将不会广播数据包,嗅探器能收集的信息就越少。
②通信会话加密,可采用某些协议把所有传输的数据加密。
③采用静态的ARP或绑定IP—MAC地址对应表,防止嗅探利用ARP欺骗
计算机病毒的定义
- 计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码
- 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里,当达到某种条件时即