- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息安全技术章.doc
第五章 认证技术
现代密码的两个最重要的分支就是加密和认证。加密的目的是防止敌方获得机密信息。认证则是为了防止敌方的主动攻击,包括验证信息真伪及防止信息在通信过程中被篡改、删除、插入、伪造、延迟及重放等。认证主要包括三个方面:消息认证、身份验证和数字签名。上一章介绍了数字签名技术,本章将对认证技术的另外两个方面进行介绍。
5.1 消息认证
网络安全所面临的基本攻击类型,包括:
被动攻击(获取消息的内容、进行业务流分析)
主动攻击(假冒、重放、消息的篡改、业务拒绝)。
抗击被动攻击的方法是加密,
抗击主动攻击的方法则是消息认证。
消息认证是一个过程,用以验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除),同时还用于验证消息的顺序性和时间性(未重排、重放、延迟)。
除此之外,在考虑网络安全时还需考虑业务的不可否认性,即防止通信双方中的其一方对所传输消息的否认。实现消息的不可否认性可通过数字签字,数字签字也是一种认证技术,也可用于抗击主动攻击。
5.1.1 消息认证的模式
5.1.2 认证函数
消息认证机制和数字签字机制都有一产生认证符的基本功能,这一基本功能又作为认证协议的一个组成成分。认证符是用于认证消息的数值,它的产生方汉又分为消息加密、消息认证码MAC(Message Authentication Code)、杂凑函数(Hash Function)三大类,下面分别介绍。
1.消息加密(Message Encryption Function):消息加密产生认证符是指将消息加密后的密文作为认证符,其用法又根据单钥加密还是公钥加密有所不同。
1)单钥加密
图5.1表示消息M的发送方A根据单钥加密算法以与接收方B共享的密钥K对消息加密后发往B。第三方不知密钥K就不能恢复消息的明文,因此系统提供了保密性。
图5.1单钥消息加密:保密性和认证性
该系统还向B保证所收到的消息的确来自A,因为只有A知道密钥K。对B来说还必须有某种手段以决定M是否为合法的明文。一种解决方法是让明文有某种容易识别但又不易被篡改的结构,例如在消息被加密前附加一个错误检测吗,也称为校验和。如图5.2所示:
(a)内部错误控制
(b)外部错误控制
图5.2 内部错误控制和外部错误控制
2)公钥加密
为了提供认证功能,发方A使用自己的秘密钥SKA对消息加密,B使用A的公开钥PKA对消息解密(如图5.3(a)所示)。
(a)公钥加密:认证性和签字
(b)公钥加密:保密件、认证性和签字
图5.3 公钥消息加密的基本方式
和单钥加密提供认证一样,因为只有A方拥有加密密钥SKA,因此可使B相信自己收到的消息的确来自A。同样,这时对明文也必须有某种错误控制结构以使接收者能区分明文和随机比特串。然而由于任何人都可使用A的公开钥解密密文,所以这种方案不提供保密性。
为了既提供认证件,又提供保密件,A首先用自己的秘密钥SKA加密M以提供认证性,然后用B的公开钥再一次加密以提供保密性,如图5.3(b)所示。这种方案的缺点是需执行四次复杂的公钥算法。
2.消息认证码MAC(Message Authentication Code)
消息认证码是指消息被一密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和。此时需要通信双方A和B共享一密钥K。设A欲发送给B的消息是M,A首先计算MAC=CK (M),其中CK()是密钥控制的公开函数,然后向B发送M‖MAC,B受到后做与A相同的计算,求得一新MAC,并与收到的MAC做比较,如图5.4(a)所示。
如果仅收发双方知道K,且B计算得到的MAC与接收到的MAC一致就实现了以下功能:
①接收方相信发方发来的消息未被篡改,这是因为攻击者不知道密钥,所以不能够公篡改消息后相应地篡改MAC,而如果仅篡改消息,则接收方计算的新MAC将与收到的MAC不同。
②接收方相信发方不是冒充的,这是团为除收发双方外再无其他人知道密钥,因此其他人不可能对自己发送的消息计算出正确的MAC。
③如果消息中有序列号(如TCP中的消息),则由于发方不能成功地篡改序列号,所以接收者相信所收消息中的序列号。
MAC函数与加密算法类似,不同之处为MAC函数不必是可逆的,因此与加密算法相比更不易被攻破。
(a)消息认证
(b)保密性和认证性:对明文认证
(c)保密性和认证性:对密文认证
图5.4 MAC的基本使用方式
3.散列函数(Hash Function)
散列函数H是一公开函数,用于将任意长的消息M映射为较短的、固定长度的一个值H(M),作为认证符,称函数值H(M)为散列值或散列码或消息摘要。散列码是消息中所有比特的函数,因此提供了一种错误检测能力,即改变消息中任何一个比特或几个比特都会使散列码发生改变。
文档评论(0)