第18讲 消息认证和散列函数精选PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第18讲 消息认证和散列函数精选PPT.ppt》由会员分享,可在线阅读,更多相关《第18讲 消息认证和散列函数精选PPT.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第18讲讲 消息认证和消息认证和散列函数散列函数第1页,此课件共44页哦2攻击的类型攻击的类型攻击攻击主动攻击主动攻击被动攻击被动攻击获取消息的内容获取消息的内容业务流分析业务流分析假冒假冒重放重放篡改篡改抗击抗击被动攻击被动攻击的方法是前面已介绍过的的方法是前面已介绍过的加密加密抗击抗击主动攻击主动攻击的方法是本章介绍的消息的方法是本章介绍的消息认证认证第2页,此课件共44页哦31 1用来验证消息的用来验证消息的真实性真实性的确是由它所声称的实体发来的的确是由它所声称的实体发来的2 2用来验证消息的用来验证消息的完整性完整性未被篡改、插入、删除未被篡改、插入、删除3 3 用来验证消息的用来
2、验证消息的顺序性和时间性顺序性和时间性未重排、未重排、重放重放、延迟、延迟4 4用来验证消息的用来验证消息的不可否认性不可否认性防止防止通信双方中的某一方对所传输消息的否认通信双方中的某一方对所传输消息的否认认证的功能认证的功能第3页,此课件共44页哦41.1.消息加密:消息加密:整个消息的密文作为认证符整个消息的密文作为认证符2.2.消息认证码(密码校验和):消息认证码(密码校验和):(MACMACMessage Authentication Code)Message Authentication Code)以以消息和密钥消息和密钥作为公开函数的输入,产生定长的输作为公开函数的输入,产生定长
3、的输 出,并以此输出值作为认证标识。出,并以此输出值作为认证标识。3.3.杂凑杂凑/散列函数散列函数(Hash(Hash function)function):是一个是一个不需要密钥不需要密钥的公开函数,它将任意长度的输的公开函数,它将任意长度的输 入消息映射成一个固定长度的输出值,并以此值作入消息映射成一个固定长度的输出值,并以此值作 为认证标识。为认证标识。认证的实现:认证符认证的实现:认证符第4页,此课件共44页哦5消息加密消息加密对称加密能够提供认证?对称加密能够提供认证?由于密钥没有第三方知道,所以接收方应该可以确信消息由于密钥没有第三方知道,所以接收方应该可以确信消息的来源真实性。
4、的来源真实性。这并不绝对,因为存在一种可能性,是对密文的篡改。这并不绝对,因为存在一种可能性,是对密文的篡改。问题:对密文的篡改,能否一定被察觉?问题:对密文的篡改,能否一定被察觉?第5页,此课件共44页哦能够察觉的举例能够察觉的举例nCBC模式加密得到密文n某处被窜改,导致其后续部分解密失败#openssl enc-e-des-cbc-in 2.txt-out 2.out#openssl enc-d-des-cbc-in 2modi.out-out 2modi.txt第6页,此课件共44页哦不能够察觉的举例不能够察觉的举例nrc4加密中,对密文部分比特的窜改导致明文对应部分解密错误n另外,精
5、心伪造的密文可能恰好解密为有效的明文n结论:加密并不能完全抵抗篡改或假冒加密并不能完全抵抗篡改或假冒第7页,此课件共44页哦教训:对密文的保护教训:对密文的保护n在加密之前,给明文添加结构特征x|h(x)x|h(x)/h=crc,md5,sha1n加密E(x|h(x),k)=yE(x|h(x),k)=yn传输有可能出错或被窜改ny会变做yn解密n判断是否依旧符合 x|h(x)x|h(x)的结构特征第8页,此课件共44页哦公钥加密公钥加密nA A使用使用B B的公钥加密消息,能否提供认证?的公钥加密消息,能否提供认证?第9页,此课件共44页哦10nA A可以先使用自己的私钥加密消息(即签名),再
6、用可以先使用自己的私钥加密消息(即签名),再用B B的公钥加密,的公钥加密,这样可以提供认证。这样可以提供认证。n缺点:缺点:4 4次复杂的公钥运算次复杂的公钥运算第10页,此课件共44页哦11密钥密钥K是是A和和B的共享密钥的共享密钥发送方发送方:A首先计首先计MAC=CK(M),其中,其中CK()是密钥控制的公开函数,是密钥控制的公开函数,然后向然后向B发送发送MMAC接收方接收方:B收到后做与收到后做与A相同的计算,求得一新相同的计算,求得一新MAC,并与收到的,并与收到的MAC做比较,如果与接收到的做比较,如果与接收到的MAC一致,则通过验证一致,则通过验证消息认证码:使用方式之一消息
7、认证码:使用方式之一第11页,此课件共44页哦12 接收方相信发送方发来的消息未被篡改接收方相信发送方发来的消息未被篡改这是因为攻击者不知道密钥,所以不能够在篡改消息后相应地这是因为攻击者不知道密钥,所以不能够在篡改消息后相应地篡改篡改MAC,而如果仅篡改消息,则接收方计算的新,而如果仅篡改消息,则接收方计算的新MAC将与收将与收到的到的MAC不同。不同。接收方相信发送方不是冒充的接收方相信发送方不是冒充的这是因为除收发双方外再无其他人知道密钥,因此其他人不可能对自这是因为除收发双方外再无其他人知道密钥,因此其他人不可能对自己发送的消息计算出正确的己发送的消息计算出正确的MAC。6.1消息认证
8、码:使用方式之一消息认证码:使用方式之一第12页,此课件共44页哦13消息认证码:使用方式之一消息认证码:使用方式之一n特点:特点:nMAC函数无需可逆函数无需可逆n收发双方使用相同的密钥收发双方使用相同的密钥n只提供消息认证,不能提供机密性只提供消息认证,不能提供机密性 第13页,此课件共44页哦14发送方和接收方发送方和接收方共享两对密钥共享两对密钥k1和和k2发送方发送方:在计算:在计算MAC后,对后,对MMAC进行整体加密再发送进行整体加密再发送接收方:接收方:解密后进行比较解密后进行比较提供保密性和认证性提供保密性和认证性消息认证码:使用方式之二消息认证码:使用方式之二第14页,此课
9、件共44页哦15发送方和接收方发送方和接收方共享两对密钥共享两对密钥k1k1和和k2k2发送方发送方:MM先被加密再与先被加密再与MACMAC链接后发送。链接后发送。接收方:接收方:解密后进行比较。解密后进行比较。消息认证码:使用方式三消息认证码:使用方式三第15页,此课件共44页哦避免使用加密方法产生避免使用加密方法产生MACMAC码码n生成生成MACMAC没有必要对整个报文加密没有必要对整个报文加密n速度、进出口障碍速度、进出口障碍n不需要能恢复原文不需要能恢复原文nMACMAC的计算过程只需体现明文的特征唯一的计算过程只需体现明文的特征唯一nKeyKey是必要的是必要的n从报文产生特征的
10、数学方法:从报文产生特征的数学方法:HASHHASH函数函数n先计算特征,再把特征加密的思想先计算特征,再把特征加密的思想n把散列函数和把散列函数和KeyKey结合得结合得MACMACHMAC=HashHMAC=HashKeyKey(Message)(Message)第16页,此课件共44页哦17消息认证码:消息认证码:FIPS PUB 113FIPS PUB 1131.1.算法基于算法基于CBCCBC模式的模式的DESDES算法算法,其初始向量取为零向量。,其初始向量取为零向量。需被认证的数据被分为需被认证的数据被分为6464比特长的分组比特长的分组D D1 1,D D2 2,D DN N,
11、最后一个分组不够最后一个分组不够6464比特的话,可在其右边填充一些比特的话,可在其右边填充一些0 02.2.数据认证码或者取为数据认证码或者取为O ON N或者取为或者取为O ON N的最左的最左M M个比特,其中个比特,其中16M6416M64。第17页,此课件共44页哦18(1)数字签名数字签名(2)身份认证身份认证 (3(3)消息完整性认证)消息完整性认证 在在密密码码学学和和数数据据安安全全技技术术中中,它它是是实实现现有有效效、安安全全可可靠靠数数字字签签字字和和认认证证的的重重要要工工具具,是是安安全认证协议中的重要模块。全认证协议中的重要模块。杂凑杂凑/散列函数散列函数散列函数
12、的应用背景散列函数的应用背景第18页,此课件共44页哦19别名:压缩压缩(Compression)函数、紧缩紧缩(Contraction)函数、数据认证码数据认证码(Data Authentication Code)、消息摘要消息摘要(Message Digest)、数字指纹数字指纹(Digital Finger Print)、数据完整性校验数据完整性校验(Data Integity Check)、密码检验和密码检验和(Cryptographic Check Sum)、窜改检测码窜改检测码MDC(Manipulation Detection Code)第19页,此课件共44页哦20散列函数散列
13、函数H是一公开函数,用于将任意长是一公开函数,用于将任意长的消息的消息M映射为较短的、固定长度的一个值映射为较短的、固定长度的一个值H(M)。它是消息中所有比特的函数,改变消息它是消息中所有比特的函数,改变消息中任何一个比特或几个比特都会使杂凑码发中任何一个比特或几个比特都会使杂凑码发生改变。生改变。散列函数的定义及使用方式散列函数的定义及使用方式第20页,此课件共44页哦21 A和和B共享密钥共享密钥K由于所用密钥仅为收发双方由于所用密钥仅为收发双方A、B共享,可保证消息的确来自共享,可保证消息的确来自A并且未被篡改。并且未被篡改。同时还由于消息和杂凑码都被加密,提供了保密性。同时还由于消息
14、和杂凑码都被加密,提供了保密性。散列函数的使用方式之一散列函数的使用方式之一第21页,此课件共44页哦22n 用单钥加密算法仅对杂凑码加密。用单钥加密算法仅对杂凑码加密。n这种方式用于不要求保密性的情况下,可减少处理负担。这种方式用于不要求保密性的情况下,可减少处理负担。散列函数的使用方式之二散列函数的使用方式之二第22页,此课件共44页哦23散列函数的使用方式之三散列函数的使用方式之三 用公钥加密算法和发送方的秘密钥仅加密杂凑码。用公钥加密算法和发送方的秘密钥仅加密杂凑码。功能:提供认证性和功能:提供认证性和数字签名,不提供保密性数字签名,不提供保密性由于只有发送方能产生加密的杂凑码,因此对
15、发送方发送的消由于只有发送方能产生加密的杂凑码,因此对发送方发送的消息提供了数字签字。息提供了数字签字。方式选择方式选择第23页,此课件共44页哦24 消息的杂凑值用公钥加密算法和发送方的秘密钥加密后与消息链消息的杂凑值用公钥加密算法和发送方的秘密钥加密后与消息链接,再对链接后的结果用单钥加密算法加密接,再对链接后的结果用单钥加密算法加密功能:提供了功能:提供了保密性和数字签字保密性和数字签字散列函数的使用方式之四散列函数的使用方式之四第24页,此课件共44页哦25 通信双方共享一个秘密值通信双方共享一个秘密值S S,A A计算消息计算消息MM和秘密值和秘密值S S链接在一起的杂凑值,链接在一
16、起的杂凑值,并将此杂凑值附加到并将此杂凑值附加到MM后发往后发往B B。接收方接收方B B可重新计算杂凑值以对消息进行认证。可重新计算杂凑值以对消息进行认证。由于敌手无法得到由于敌手无法得到S S,所以无法对截获的消息加以篡改,也无法产生假消息。,所以无法对截获的消息加以篡改,也无法产生假消息。功能:提供认证性功能:提供认证性.散列函数的使用方式之五散列函数的使用方式之五第25页,此课件共44页哦26 将消息与杂凑值链接以后再增加单钥加密运算将消息与杂凑值链接以后再增加单钥加密运算功能:提供认证性和功能:提供认证性和保密性保密性.散列函数的使用方式之六散列函数的使用方式之六第26页,此课件共4
17、4页哦27 由于加密运算的速度较慢,代价较高,由于加密运算的速度较慢,代价较高,而且很多加密算法还受到专利保护,在不要而且很多加密算法还受到专利保护,在不要求保密性的情况下,方式求保密性的情况下,方式和和将比其他方将比其他方式更具优势。式更具优势。散列函数的使用方式选择散列函数的使用方式选择2第27页,此课件共44页哦28散列函数应满足以下条件:散列函数应满足以下条件:函数的输入可以是任意长。函数的输入可以是任意长。函数的输出是固定长。函数的输出是固定长。已知已知x x,求,求H(x)H(x)较为容易,可用硬件或软件实现。较为容易,可用硬件或软件实现。这三个条件是散列函数能用于消息认证的基本要
18、求这三个条件是散列函数能用于消息认证的基本要求。散列函数应满足的条件散列函数应满足的条件 已知已知h h,求使得,求使得H(x)=hH(x)=h的的x x在计算上是不可行的在计算上是不可行的这一性质称为函数的单向性,称这一性质称为函数的单向性,称H(x)H(x)为为单向散列函数。单向散列函数。第28页,此课件共44页哦29散列函数应满足的条件散列函数应满足的条件n 找出任意两个不同的输入找出任意两个不同的输入x x、y y,使得,使得H(y)=H(x)H(y)=H(x)在计算上在计算上是不可行的。是不可行的。如果单向散列函数满足这一性质,则称其为如果单向散列函数满足这一性质,则称其为强强单向散
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第18讲 消息认证和散列函数精选PPT 18 消息 认证 函数 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内