《消息认证》PPT课件.ppt

上传人:小飞机 文档编号:5547589 上传时间:2023-07-19 格式:PPT 页数:41 大小:906.50KB
返回 下载 相关 举报
《消息认证》PPT课件.ppt_第1页
第1页 / 共41页
《消息认证》PPT课件.ppt_第2页
第2页 / 共41页
《消息认证》PPT课件.ppt_第3页
第3页 / 共41页
《消息认证》PPT课件.ppt_第4页
第4页 / 共41页
《消息认证》PPT课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《消息认证》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《消息认证》PPT课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、网络信息安全消息认证,计算机学院 信息安全教研室张伟,消息认证,在网络通信中,攻击方法泄密:透露消息给没有密钥的实体传输分析:分析通信模式,连接频率、时间,消息的数量和大小伪装:欺诈消息,伪装发送或应答内容修改:顺序修改:计时修改:消息重放或者延迟发送方否认:接收方否认:,消息认证,消息认证(报文鉴别)对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证数字签名是一种认证手段,其中的一些方法可以用来抗发送方的否认攻击。,消息认证的三种方式,Message encryption:用整个消息的密文作为认证标识接收方必须能够

2、识别错误MAC:一个公开函数,加上一个密钥产生一个固定长度的值作为认证标识Hash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识,Message Authentication Code,使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称MAC,或密码校验和(cryptographic checksum)用户A和用户B,共享密钥K,对于消息M,MAC=CK(M)如果接收方计算的MAC与收到的MAC匹配,则接收者可以确信消息M未被改变接收者可以确信消息来自所声称的发送者如果消息中含有序列号,则可以保证正确的消息顺序MAC函数类似于加密

3、函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少,MAC应用方式(1)消息认证,M,C,|,C,K,K,Compare,M,Ck(M),缺点,MAC应用方式(2)消息认证和保密性:明文相关,M,C,|,K1,C,K1,Compare,E,Ek2【M|Ck1(M)】,K2,D,K2,M,Ck1(M),MAC应用方式(3)消息认证和保密性:密文相关,M,C,|,K1,C,K1,Compare,E,Ck1(Ek2(M),K2,D,K2,M,Ck1(M),Ek2(M),关于MAC算法,MAC不等于数字签名因为通讯双方共享同一个密钥MAC有固定的长度MAC结构的重要性,例如,密钥足够长+加密

4、算法足够好安全M=(X1,X2,Xt)对M产生校验和M=X1X2XtMAC=EK(M)攻击者选择M=(Y1,Y2,Yt-1,Yt),使得Yt满足:Yt=Y1Y2Yt-1M于是M=MEK(M)=EK(M)CK(M)=CK(M)所以,尽管攻击者不知道K,仍然可以伪造消息M,MAC算法的要求,条件:攻击者知道MAC函数但不知道密钥K要求:已知M和CK(M),要想构造M使得CK(M)=CK(M)在计算上不可行(计算上无碰撞)CK(M)均匀分布:随机选择M和M,PrCK(M)=CK(M)=2-|MAC|f是M的一个变换(例如对某些位取反),那么,PrCK(M)=CK(f(M)=2-|MAC|,MAC b

5、ased on DES,ANSI标准(X9.17)即为CBC模式结构,初始向量为0该方法适用于其他加密算法,算法:M=(X1,X2,Xt)M1=EK(X1)Mj+1=EK(Xj+1Mj),1jtMAC=Mt,Hash Function,MAC需要对全部数据进行加密MAC速度慢Hash是一种直接产生认证码的方法没有密钥消息中任何一位的改变会导致Hash码的改变Hash函数:h=H(x),要求:散列算法是公开的不同的报文不能产生相同的散列码H(x)能够快速计算对于任意报文无法预知它的散列码无法根据散列码倒推报文可作用于任何尺寸数据且均产生定长输出,Hash Function,Hash函数:h=H(

6、x),单向性:给定h,找到x使h=H(x)在计算上不可行抗弱碰撞性:Weak Collision Resistence(WCR):给定x,找到yx使H(x)=H(y)在计算上不可行抗强碰撞性:Strong Collision Resistence(SCR):找到任意的yx使H(x)=H(y)在计算上不可行,Hash函数的基本用途(a),M,H,|,H,Compare,E,Ek2 M|H(M),K,D,K,M,H(M),Hash函数的基本用途(b),M,H,|,H,Compare,M,E,Ek(H(M),K,D,K,不要求保密,处理代价小,Hash函数的基本用途(c),M,H,|,H,Compa

7、re,M,E,EkRa(H(M),KRa私钥,D,KUa,数字签名机制,Hash函数的基本用途(d),M,H,|,H,Compare,E,Ek M|EkRa(H(M),K,D,K,M,EkRa(H(M),E,KRa 私钥,D,KRa,常用,保密并且数字签名,Hash函数的基本用途(e),M,H,|,H,Compare,H(M|S),|,S,M,|,S,不使用加密函数,但是s为双方共享秘密值,不传送,Hash函数的基本用途(f),M,H,|,|,S,*,*,Hash问题,Hash值冲突会有什么问题?Hash的用途会这样的冲突吗?能定制这样的冲突吗?,生日攻击理论基础,理论基础若k1.182m/2

8、2m/2,则k个在1,2m的随机数中有两个数相等的概率不低于0.5若k0.83n1/2,两个在1,n的k个随机数集合有交集的概率不小于0.5因此,当Hash算法选用N位的Hash值时,两组消息(选择k2N/2)中有一对消息产生相同Hash值的概率超过0.5264-263-232,生日攻击例子,This Letter isI am writing,to introduce,you toto you,Mr.-,Alfred,P.-,Barton,.,Letter2与Letter1中的信含义不同。各自组合出2k封信件,然后在两个组中找到两封hash值相同的信!,Letter1:,Letter2:,.

9、,对策:Hash值足够长,64-128-160-256,hash函数通用模型,由Merkle于1989年提出几乎被所有hash算法采用具体做法:把原始消息M分成一些固定长度的块Yi最后一块padding并使其包含消息M的长度设定初始值CV0压缩函数f,CVi=f(CVi-1,Yi-1)最后一个CVi为hash值,hash函数模型图,b,Y0,n,IV=CV0,f,b,Y1,n,f,b,YL-1,n,CVL-1,f,CV1,n,n,IV=initial value 初始值CV=chaining value 链接值Yi=ith input block(第i 个输入数据块)f=compression

10、 algorithm(压缩算法)n=length of hash code(散列码的长度)b=length of input block(输入块的长度),CVL,MD5 算法,作者:Ron Rivest算法输入:任意长度的消息输出:128位消息摘要处理:以512位输入数据块为单位采纳位标准:RFC1321,MD5:示意图,MD5步骤,第一步:padding补长到512的倍数最后64位为消息长度的低64位一定要补长(64+164+512),内容为1000第二步把结果分割为512位的块:Y0,Y1,YL-1第三步初始化MD buffer,128位常量(4个字),进入循环迭代,共L次每次:一个输入1

11、28位,另一个输入512位,结果输出128位,用于下一轮输入第四步最后一步的输出即为散列结果128位,MD5的每一步运算示意图,每一轮中16步的每一步运算结构,A,B,C,D,A,B,C,D,+,+,+,CLSs,+,g,Xk,Ti,Function g g(b,c,d)1 F(b,c,d)(bc)(bd)2 G(b,c,d)(bd)(cd)3 H(b,c,d)bcd4 I(b,c,d)c(bd),关于MD5,MD5使用little-endian生日攻击模式+64位可计算 128位hash值太短MD5不是足够安全的Dobbertin在1996年找到了两个不同的512-bit块,它们在MD5计算

12、下产生相同的hash至今还没有真正找到两个不同的消息,它们的MD5的hash相等,Secure Hash Algorithm简介,1992年NIST制定了SHA(128位)1993年SHA成为标准1994年修改产生SHA-1(160位)1995年SHA-1成为新的标准SHA-1要求输入消息长度264SHA-1的摘要长度为160位基础是MD4,SHA-1算法,结构与MD5类似第一步:pading与MD5相同,补齐到512的倍数第二步分块第三步初始化MD buffer,160位常量(5个字)进入循环,160输入+512输入-160输出第四步最后的输出为SHA-1的结果,压缩函数,每一轮中20步的每

13、一步运算结构,常量,从消息块导出,SHA-1算法结论,SHA-1使用big-endian抵抗生日攻击:160位hash值没有发现两个不同的512-bit块,它们在SHA-1计算下产生相同的“hash”速度慢于MD5安全性优于MD5,RIPEMD-160简介,欧洲RIPE项目的结果RIPEMD为128位更新后成为RIPEMD-160基础是MD5算法输入:任意长度的消息输出:长度为160位的消息摘要处理:以512位数据块为单位,RIPEMD-160的压缩函数,HMAC简介,MAC可用块加密算法产生MAC算法速度慢加密算法出口受限制hash函数可用来构造MAC HMAC为其中之一,HMAC示意图,H

14、MAC的定义与特征,对密钥K左边补0以产生一个hash块K+K+每个字节与ipad(00110110)作XOR以产生Si对(Si|M)进行hashK+每个字节与opad(01011010)作XOR以产生S0HMAC=fIV,S0|f(IV,Si|M)HMAC特征:可直接使用各种hash算法可使用将来的更加安全和更加快速的hash算法保持原始hash算法的性能密钥的使用简单与hash函数有同等的安全性,问题,消息认证是为了对付那些攻击?消息认证或数字签名有哪两层功能?产生消息认证有哪些方法?MAC和Hash函数之间的区别是什么?为了攻击MAC算法,需要恢复密码吗?安全的Hash函数需要的特性是什么?抗弱碰撞和抗强碰撞之间的区别是什么?了解MD4 MD5 SHA HMAC?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号