好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《消息认证》PPT课件.ppt

41页
  • 卖家[上传人]:夏**
  • 文档编号:607362349
  • 上传时间:2025-05-24
  • 文档格式:PPT
  • 文档大小:906.50KB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,网络信息安全消息认证,计算机学院 信息安全教研室,张伟,消息认证,在网络通信中,攻击方法,泄密:透露消息给没有密钥的实体,传输分析:分析通信模式,连接频率、时间,消息的数量和大小,伪装:欺诈消息,伪装发送或应答,内容修改:,顺序修改:,计时修改:消息重放或者延迟,发送方否认:,接收方否认:,消息认证,消息认证,(报文鉴别),对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证,数字签名是一种认证手段,其中的一些方法可以用来抗发送方的否认攻击消息认证的三种方式,Message encryption,:,用整个消息的密文作为认证标识,接收方必须能够识别错误,MAC,:,一个,公开函数,,加上一个密钥产生一个,固定长度,的值作为认证标识,Hash function,:,一个,公开函数,将,任意长度,的消息映射到一个,固定长度,的散列值,作为认证标识,Message Authentication Code,使用,一个双方共享的秘密密钥,生成一个,固定大小,的,小数据块,,并加入到消息中,称MAC,或密码校验和(cryptographic checksum),用户A和用户B,共享密钥K,对于消息M,MAC=C,K,(M),如果接收方计算的MAC与收到的MAC匹配,则,接收者可以确信消息M未被改变,接收者可以确信消息来自所声称的发送者,如果消息中含有序列号,则可以保证正确的消息顺序,MAC函数类似于加密函数,但,不需要可逆性,。

      因此在数学上比加密算法被攻击的弱点要少,MAC应用方式(1)消息认证,M,C,|,C,K,K,Compare,M,C,k,(M),缺点,MAC应用方式(2)消息认证和保密性:明文相关,M,C,|,K1,C,K1,Compare,E,E,k2,【M|C,k1,(M)】,K2,D,K2,M,C,k1,(M),MAC应用方式(3)消息认证和保密性:密文相关,M,C,|,K1,C,K1,Compare,E,C,k1,(E,k2,(M),K2,D,K2,M,C,k1,(M),E,k2,(M),关于MAC算法,MAC不等于数字签名,因为通讯双方共享同一个密钥,MAC有固定的长度,MAC结构的重要性,例如,,密钥足够长+加密算法足够好,安全,M=(X,1,X,2,X,t,),对M产生校验和,M=X,1,X,2,X,t,MAC=E,K,(,M),攻击者选择M,=(,Y,1,Y,2,Y,t-1,Y,t,),使得,Y,t,满足:,Y,t,=,Y,1,Y,2,Y,t-1,M,于是,M=,M,E,K,(,M)=E,K,(,M,),C,K,(M)=C,K,(M,),所以,尽管攻击者不知道K,仍然可以伪造消息M,MAC算法的要求,条件:,攻击者知道MAC函数但不知道密钥K,要求:,已知M和,C,K,(M),要想构造M,使得C,K,(M)=C,K,(M,)在计算上不可行(计算上无碰撞),C,K,(M)均匀分布:随机选择M和M,PrC,K,(M)=C,K,(M,)=,2,-|MAC|,f是M的一个变换(例如对某些位取反),那么,PrC,K,(M)=C,K,(f(M,),)=,2,-|MAC|,MAC based on DES,ANSI标准(X9.17),即为CBC模式结构,初始向量为0,该方法适用于其他加密算法,算法:,M=(X,1,X,2,X,t,),M,1,=E,K,(X,1,),M,j+1,=E,K,(X,j+1,M,j,),1,jt,MAC=,M,t,Hash Function,MAC需要对全部数据进行加密,MAC速度慢,Hash是一种直接产生认证码的方法,没有密钥,消息中任何一位的改变会导致Hash码的改变,Hash函数:h=H(x),要求:,散列算法是公开的,不同的报文不能产生相同的散列码,H(x)能够快速计算,对于任意报文无法预知它的散列码,无法根据散列码倒推报文,可作用于任何尺寸数据且均产生,定长输出,Hash Function,Hash函数:h=H(x),单向性,:给定h,找到x使h=H(x)在计算上不可行,抗弱碰撞性:,Weak Collision Resistence(WCR):给定x,找到y,x使H(x)=H(y)在,计算上不可行,抗强碰撞性:,Strong Collision Resistence(SCR):找到任意的y,x使H(x)=H(y)在,计算上不可行,Hash函数的基本用途(a),M,H,|,H,Compare,E,E,k2,M|H(M),K,D,K,M,H(M),Hash函数的基本用途(b),M,H,|,H,Compare,M,E,E,k,(H(M),K,D,K,不要求保密,处理代价小,Hash函数的基本用途(c),M,H,|,H,Compare,M,E,E,kRa,(H(M),K,Ra,私钥,D,K,Ua,数字签名机制,Hash函数的基本用途(d),M,H,|,H,Compare,E,E,k,M|E,kRa,(H(M),K,D,K,M,E,kRa,(H(M),E,K,Ra,私钥,D,K,Ra,常用,保密并且数字签名,Hash函数的基本用途(e),M,H,|,H,Compare,H(M|S),|,S,M,|,S,不使用加密函数,但是s为双方共享秘密值,不传送,Hash函数的基本用途(f),M,H,|,|,S,H,Compare,H(M|S),M,|,S,E,E,k,M|H(M|S),K,D,K,*,*,Hash问题,Hash值冲突会有什么问题?,Hash的用途,会这样的冲突吗?,能定制这样的冲突吗?,生日攻击理论基础,理论基础,若k,1.18,2,m/2,2,m/2,则k个在1,2,m,的随机数中有两个数相等的概率不低于0.5,若k,0.83,n,1/2,两个在1,n的k个随机数集合有交集的概率不小于0.5,因此,当Hash算法选用N位的Hash值时,两组消息(选择k2,N/2,)中有一对消息产生相同Hash值的概率超过0.5,2,64,-2,63,-2,32,生日攻击例子,This Letter is,I am writing,to introduce,you to,to you,Mr.,-,Alfred,P.,-,Barton,.,Letter2与Letter1中的信含义不同。

      各自组合出2,k,封信件,然后在两个组中找到两封hash值相同的信!,Letter1:,Letter2:,.,对策:Hash值足够长,64-128-160-256,hash函数通用模型,由Merkle于1989年提出,几乎被所有hash算法采用,具体做法:,把原始消息M分成一些固定长度的块Y,i,最后一块padding并使其包含消息M的长度,设定初始值CV,0,压缩函数f,CV,i,=f(CV,i-1,Y,i-1,),最后一个CV,i,为hash值,hash函数模型图,b,Y,0,n,IV=,CV,0,f,b,Y,1,n,f,b,Y,L-1,n,CV,L-1,f,CV,1,n,n,IV =initial value,初始值,CV=chaining value 链接值,Y,i,=ith input block(,第i 个输入数据块),f =compression algorithm(压缩算法),n =length of hash code(散列码的长度),b =length of input block(输入块的长度),CV,L,MD5 算法,作者:Ron Rivest,算法,输入:任意长度的消息,输出:,128位,消息摘要,处理:以512位输入数据块为单位,采纳位标准:RFC1321,MD5:示意图,MD5步骤,第一步:padding,补长到512的倍数,最后64位为消息长度的低64位,一定要补长(64+164+512),内容为1000,第二步,把结果分割为512位的块:Y,0,Y,1,Y,L-1,第三步,初始化MD buffer,128位常量(4个字),进入循环迭代,共L次,每次:一个输入128位,另一个输入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)(b,c)(bd),2 G(b,c,d)(bd)(cd),3 H(b,c,d)bcd,4 I(b,c,d)c(bd),关于MD5,MD5使用little-endian,生日攻击模式+64位可计算,128位hash值太短,MD5不是足够安全的,Dobbertin在1996年找到了两个不同的512-bit块,它们在MD5计算下产生相同的hash,至今还没有真正找到两个不同的消息,它们的MD5的hash相等,Secure Hash Algorithm简介,1992年NIST制定了SHA(128位),1993年SHA成为标准,1994年修改产生SHA-1(160位),1995年SHA-1成为新的标准,SHA-1要求输入消息长度2,64,SHA-1的摘要长度为160位,基础是MD4,SHA-1算法,结构与MD5类似,第一步:pading,与MD5相同,补齐到512的倍数,第二步,分块,第三步,初始化MD buffer,160位常量(5个字),进入循环,160输入+512输入-160输出,第四步,最后的输出为SHA-1的结果,压缩函数,每一轮中20步的每一步运算结构,常量,从消息块导出,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示意图,HMAC的定义与特征,对密钥K左边补0以产生一个hash块K+,K,+,每个字节与ipad(00110110)作XOR以产生S,i,对(S,i,|M)进行hash,K,+,每个字节与opad(01011010)作XOR以产生S,0,HMAC=fIV,S,0,|f(IV,S,i,|M),HMAC特征:,可直接使用各种hash算法,可使用将来的更加安全和更加快速的hash算法,保持原始hash算法的性能,密钥的使用简单,与hash函数有同等的安全性,问题,消息认证是为了对付那些攻击?,消息认证或数字签名有哪两层功能?,产生消息认证有哪些方法?,MAC,和,Hash,函数之间的区别是什么?,为了攻击,MAC,算法,需要恢复密码吗?,安全的,Hash,函数需要的特性是什么?,抗弱碰撞和抗强碰撞之间的区别是什么?,了解,MD4 MD5 SHA HMAC,?,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.