《消息认证》PPT课件.ppt
《《消息认证》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《消息认证》PPT课件.ppt(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、网络信息安全消息认证计算机学院计算机学院 信息安全教研室信息安全教研室张伟张伟 消息认证消息认证在网络通信中,攻击方法在网络通信中,攻击方法泄密:透露消息给没有密钥的实体泄密:透露消息给没有密钥的实体传输分析:分析通信模式,连接频率、时间,消息的数传输分析:分析通信模式,连接频率、时间,消息的数量和大小量和大小伪装:欺诈消息,伪装发送或应答伪装:欺诈消息,伪装发送或应答内容修改:内容修改:顺序修改:顺序修改:计时修改:消息重放或者延迟计时修改:消息重放或者延迟发送方否认:发送方否认:接收方否认:接收方否认:消息认证消息认证消息认证消息认证(报文鉴别报文鉴别)对收到的消息进行验证,证明确实是来自
2、声称对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。的发送方,并且没有被修改过。如果在消息中加入时间及顺序信息,则可以完如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证成对时间和顺序的认证数字签名是一种认证手段,其中的一些方法可数字签名是一种认证手段,其中的一些方法可以用来抗发送方的否认攻击。以用来抗发送方的否认攻击。消息认证的三种方式消息认证的三种方式1.Message encryption:用整个消息的密用整个消息的密文作为认证标识文作为认证标识接收方必须能够识别错误接收方必须能够识别错误2.MAC:一个一个公开函数公开函数,加上一个密钥产生,加上一个密钥产
3、生一个一个固定长度固定长度的值作为认证标识的值作为认证标识3.Hash function:一个一个公开函数公开函数将将任意长任意长度度的消息映射到一个的消息映射到一个固定长度固定长度的散列值,的散列值,作为认证标识作为认证标识Message Authentication Code使用使用一个双方共享的秘密密钥一个双方共享的秘密密钥生成一个生成一个固定大小固定大小的的小数据块小数据块,并加入到消息中,称,并加入到消息中,称MAC,或密码,或密码校验和校验和(cryptographic checksum)用户用户A和用户和用户B,共享密钥,共享密钥K,对于消息,对于消息M,MAC=CK(M)如果接
4、收方计算的如果接收方计算的MAC与收到的与收到的MAC匹配,则匹配,则接收者可以确信消息接收者可以确信消息M未被改变未被改变接收者可以确信消息来自所声称的发送者接收者可以确信消息来自所声称的发送者如果消息中含有序列号,则可以保证正确的消息顺序如果消息中含有序列号,则可以保证正确的消息顺序MAC函数类似于加密函数,但函数类似于加密函数,但不需要可逆性不需要可逆性。因。因此在数学上比加密算法被攻击的弱点要少此在数学上比加密算法被攻击的弱点要少MAC应用方式(应用方式(1)消息认证消息认证MC|CKKCompareMCk(M)缺点缺点MAC应用方式(应用方式(2)消息认证和保密性:明文相关消息认证和
5、保密性:明文相关MC|K1CK1CompareEEk2【M|Ck1(M)】K2DK2MCk1(M)MAC应用方式(应用方式(3)消息认证和保密性:密文相关消息认证和保密性:密文相关MC|K1CK1CompareECk1(Ek2(M)K2DK2MCk1(M)Ek2(M)关于关于MAC算法算法MAC不等于数字签名不等于数字签名因为通讯双方共享同一个密钥因为通讯双方共享同一个密钥MAC有固定的长度有固定的长度MAC结构的重要性,例如,结构的重要性,例如,密钥足够长密钥足够长+加密算加密算法足够好法足够好 安全安全M=(X1,X2,Xt)对对M产生校验和产生校验和 M=X1 X2 XtMAC=EK(M
6、)攻击者选择攻击者选择M=(Y1,Y2,Yt-1,Yt),使得使得Yt满足满足:Yt=Y1 Y2 Yt-1M于是于是 M=M EK(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
7、是是M的一个变换的一个变换(例如对某些位取反例如对某些位取反),那么那么,PrCK(M)=CK(f(M)=2-|MAC|MAC based on DESANSI标准标准(X9.17)即为即为CBC模式结构,初始向模式结构,初始向量为量为0该方法适用于其他加密算法该方法适用于其他加密算法u算法:算法:M=(X1,X2,Xt)M1=EK(X1)Mj+1=EK(Xj+1Mj),1 jtMAC=MtHash FunctionMAC需要对全部数据进行加密需要对全部数据进行加密MAC速度慢速度慢Hash是一种直接产生认证码的方法是一种直接产生认证码的方法没有密钥没有密钥消息中任何一位的改变会导致消息中任何
8、一位的改变会导致Hash码的改变码的改变Hash函数函数:h=H(x),要求要求:散列算法是公开的散列算法是公开的不同的报文不能产生相同的散列码不同的报文不能产生相同的散列码H(x)能够快速计算能够快速计算对于任意报文无法预知它的散列码对于任意报文无法预知它的散列码无法根据散列码倒推报文无法根据散列码倒推报文可作用于任何尺寸数据且均产生可作用于任何尺寸数据且均产生定长输出定长输出Hash FunctionHash函数函数:h=H(x),单向性单向性:给定给定h,找到,找到x使使h=H(x)在计算上不可行在计算上不可行抗弱碰撞性:抗弱碰撞性:Weak Collision Resistence(W
9、CR):给定给定x,找到,找到y x使使H(x)=H(y)在在计算上不可行计算上不可行抗强碰撞性:抗强碰撞性:Strong Collision Resistence(SCR):找找到任意的到任意的y x使使H(x)=H(y)在在计算上不可行计算上不可行Hash函数的基本用途(函数的基本用途(a)MH|HCompareEEk2 M|H(M)KDKMH(M)Hash函数的基本用途(函数的基本用途(b)MH|HCompareMEEk(H(M)KDK不要求保密,处理代价小不要求保密,处理代价小Hash函数的基本用途(函数的基本用途(c)MH|HCompareMEEkRa(H(M)KRa私钥私钥DKUa
10、数字签名机制数字签名机制Hash函数的基本用途(函数的基本用途(d)MH|HCompareEEk M|EkRa(H(M)KDKMEkRa(H(M)EKRa 私钥私钥DKRa常用,保密并且数字签名常用,保密并且数字签名Hash函数的基本用途(函数的基本用途(e)MH|HCompareH(M|S)|SM|S不使用加密函数,但是不使用加密函数,但是s为双方共享秘密值,不传送为双方共享秘密值,不传送Hash函数的基本用途(函数的基本用途(f)MH|SHCompareH(M|S)M|SEEk M|H(M|S)KDK*Hash问题问题Hash值冲突会有什么问题?值冲突会有什么问题?Hash的用途的用途会这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 消息认证 消息 认证 PPT 课件
限制150内