- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第08章 报文鉴别和散列函数.ppt
第八章 报文鉴别与散列函数 鉴别的需求 鉴别函数 报文鉴别码 散列函数 散列函数和MAC的安全性 1. 鉴别的需求 信息安全的威胁 泄露:将报文内容透露给没有拥有合法密钥的任何人或相关过程。 通信量分析:发现通信双方的通信方式。在面向连接的应用中,连接的频率和连接持续时间就能确定下来。在面向连接或无连接的环境中,通信双方的报文数量和长度也能确定下来。 伪装:以假的源点身份将报文插入网络中。这包括由敌方伪造一条报文却声称它源自已授权的实体。另外,还包括由假的报文接收者对收到报文发回假确认,或者不予接受。 内容篡改:篡改报文的内容,包括插入、删除、调换及修改。 序号篡改:对通信双方报文序号的任何修改,包括插入、删除和重排序。 计时篡改:报文延迟或回放。在面向连接的应用中,一个完整的会话或报文的序列可以是在之前某些有效会话的回放,或者序列中的单个报文能被延迟或回放。在无连接环境中,单个报文(如数据报)能被延迟或回放。 抵赖:终点否认收到某报文或源点否认发过某报文。 解决头两种攻击的措施是加强报文的保密性(见前)。对付第3到第6种攻击方法一般称为报文鉴别。处理表中第7项的机制称为数字签名。 2. 鉴别函数 报文鉴别是一个证实收到的报文来自可信的源点且未被篡改的过程。报文鉴别也可证实序列编号和及时性。数字签名是一种包括防止源点或终点抵赖的鉴别技术。 常见的鉴别方法分类: 报文加密:以整个报文的密文作为它的鉴别符。 报文鉴别码(MAC):以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符。 散列函数:一个将任意长度的报文映射为定长的散列值的公共函数,以散列值作为鉴别符。 2. 鉴别函数 报文加密鉴别——方案 2. 鉴别函数 报文加密鉴别——可行性 这一切都在B方发生。给定解密函数D和密钥K,终点将接受任何输入X并产生输出Y = DK(X)。如果X是对应的加密函数产生的合法报文M的密文,那么Y是报文M的明文,否则,Y将是毫无意义的二进制比特序列。在B方需要某些自动化的手段以确定Y是否是合法的明文,因此肯定来自A。 假定报文M能是任何任意的比特组合。在这种情况下,在终点没有自动的方法来确定收到的报文是否是合法的报文的密文。此结论无可辩驳:如果M能是任何比特组合,则与X的值无关,而Y = DK(X)是一些比特组合,因此必须作为真的明文被接受下来。 一般来说,仅需要从所有可能的比特模式中的一个小子集中来考虑合法的明文。在这种情况下,任何可疑的密文不可能产生合法的明文。例如,假定在106里仅仅有一种组合是合法的明文。那么从中随机选中一个比特组合看作密文来能产生合法明文报文的概率仅仅是10-6。 要自动确定是否对收到的密文能解密为可懂的明文也许是难于办到的。这样,敌方就能简单地通过发出声称来自合法用户的报文来造成一定程度的破坏,而报文的内容是随机的。 2. 鉴别函数 报文加密鉴别——可行性 要自动确定是否对收到的密文能解密为可懂的明文的一种方法是强制明文有某种结构,这种结构是易于识别但又不能复制且无需求助加密的。例如,可以在加密以前对每个报文附加检错码,即所谓的帧检验序列号或检验和FCS。这个FCS被加到M上,然后作为一个整分组被加密。在终点,B对进来的报文分组进行解密,并将结果看作附加FCS的报文。B使用相同的函数F来试图重新生成这个FCS。若被计算出来的FCS等于收到的FCS,那么确信报文是可信的。任何的比特随机序列是不可能拥有这种所期望的关系的。 2. 鉴别函数 报文加密鉴别——可行性 应注意的是,FCS和加密函数执行的顺序是至关重要的。使用内部差错控制能够提供鉴别,因为敌方难于产生在解密后差错控制码仍然有效的密文。如果相反,FCS是外部的代码,敌方就能使用有效的差错控制码来伪造报文。尽管对手不能知道解密的明文将是什么,但仍希望制造混乱,破坏正常工作。 报文加密鉴别——示例(TCP报文) 2. 鉴别函数 报文鉴别码——方案 使用一个密钥产生一个短小的定长数据分组,即所谓的密码检验(MAC),并将它附加在报文中。该技术假定通信双方,A和B,共享一个共有的密钥K。当A有要发往B的报文时,它将计算MAC,MAC作为报文和密钥K的一个函数值:MAC = CK(M),然后将加上MAC报文发往预定的接收者。使用相同的密钥,接收者对收到的报文执行相同的计算并得出新的MAC。将收到的MAC与计算得出的MAC进行比较。如果假定只有收方和发方知道密钥,同时如果收到的MAC与计算得出的MAC匹配,那么: 接收者确信报文未被更改过。如果一个攻击者更改报文而未更改MAC,那么接收者计算出的MAC将不同于接收到的MAC。因为假定攻击者不知道该密钥,因此攻击者不可能更改MAC来对应更改后的报文。 接收者确信报文来自所谓的发送者。因为没有其他人知道该密钥,因此没有人能
文档评论(0)