资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2011通信安全理论与技术信息安全研究中心2024/9/121无线网络安全技术-10消息认证和散列函数上次课内容第第10章章 密钥管理和其他公钥密码体制密钥管理和其他公钥密码体制10.1 密钥管理密钥管理10.2 Diffie-Hellman密钥交换密钥交换10.3 椭圆曲线算术椭圆曲线算术10.4 椭圆曲线密码学椭圆曲线密码学2024/9/122无线网络安全技术-10消息认证和散列函数公钥证书通信双方使用证书来交换密钥,而不是通过公钥管理员。通信双方使用证书来交换密钥,而不是通过公钥管理员。证书包含用户编号和公钥,由证书管理员产生。证书包含用户编号和公钥,由证书管理员产生。CA=EPRauth,T,IDa,PUa2024/9/123无线网络安全技术-10消息认证和散列函数公钥和私钥的产生2024/9/124无线网络安全技术-10消息认证和散列函数密钥的产生2024/9/125无线网络安全技术-10消息认证和散列函数本次课内容第第11章章 消息认证和散列函数消息认证和散列函数11.1 对认证的要求对认证的要求11.2 消息加密消息加密11.3 消息认证码消息认证码11.4 散列函数散列函数2024/9/126无线网络安全技术-10消息认证和散列函数11.1 认证要求网络通信环境下的攻击类型:网络通信环境下的攻击类型:1.1.泄露泄露( (DisclosureDisclosure) )2.2.传输分析传输分析( (Traffic analysisTraffic analysis) )3.3.伪装伪装(Masquerade)(Masquerade)4.4.内容篡改内容篡改(Content(Content modification modification) )5.5.顺序修改顺序修改( (Sequence modificationSequence modification) )6.6.计时修改计时修改( (Timing modificationTiming modification) )7.7.发送方否认发送方否认( (Source rSource repudiationepudiation) )8.8.接收方否认接收方否认(Destination(Destination repudiation repudiation) )机密性机密性消息认证消息认证数字签名数字签名2024/9/127无线网络安全技术-10消息认证和散列函数消息认证消息认证验证收到的消息确实来自声明的发送方且未验证收到的消息确实来自声明的发送方且未被修改被修改消息认证也可以验证消息的顺序和时间消息认证也可以验证消息的顺序和时间数字签名数字签名一种认证技术,一种认证技术,包含了防止发送方否认的方包含了防止发送方否认的方法法11.1 认证要求数据完整性数据完整性不可否认性不可否认性2024/9/128无线网络安全技术-10消息认证和散列函数11.2 认证函数消息认证或数字证书可以看作有两层:消息认证或数字证书可以看作有两层:下层下层: : 需要某种函数用于产生一个认证码,这个码用需要某种函数用于产生一个认证码,这个码用于认证消息。于认证消息。产生认证码的函数实现问题产生认证码的函数实现问题上层:将下层函数作为原语用于认证协议中。上层:将下层函数作为原语用于认证协议中。认证协议的设计问题认证协议的设计问题认证函数类型:认证函数类型:消息加密消息加密密文作为认证码密文作为认证码消息认证码消息认证码 (MAC) (MAC)函数输入为消息和密钥,生成值为一定长的值函数输入为消息和密钥,生成值为一定长的值散列函数散列函数将一个消息映射为一个定长的摘要值将一个消息映射为一个定长的摘要值2024/9/129无线网络安全技术-10消息认证和散列函数11.2.1 对称加密如果明文具有一定的语法结构,接收方可以判断解密后明如果明文具有一定的语法结构,接收方可以判断解密后明文的合法性,从而确认消息来自发送方而且中间未受到篡文的合法性,从而确认消息来自发送方而且中间未受到篡改。改。如果明文为二进制文件,则难以判断解密后的消息是正确如果明文为二进制文件,则难以判断解密后的消息是正确的明文。的明文。2024/9/1210无线网络安全技术-10消息认证和散列函数内部和外部错误控制发送端:在加密前对每个消息附加错误检测码发送端:在加密前对每个消息附加错误检测码F,附加在,附加在M后面,对后面,对M和和F一起进行加密。一起进行加密。接收端:解密收到的信息,重新计算接收端:解密收到的信息,重新计算F,并与收到的,并与收到的F进进行比较。行比较。2024/9/1211无线网络安全技术-10消息认证和散列函数11.2.2 公钥加密保密性认证和签名2024/9/1212无线网络安全技术-10消息认证和散列函数公钥加密既能实现保密性,又能完成认证和签名。既能实现保密性,又能完成认证和签名。一次通信中要进行四次复杂的公钥算法。一次通信中要进行四次复杂的公钥算法。2024/9/1213无线网络安全技术-10消息认证和散列函数Message Authentication Code Message Authentication Code (MAC)(MAC):利用共享密钥生:利用共享密钥生成一固定长度的字段成一固定长度的字段 ( (记为记为MAC)MAC)MAC = CMAC = C ( (K,K,M)M)K K:共享密钥:共享密钥M: M: 输入消息输入消息C C:MACMAC函数函数MACMAC:消息认证码:消息认证码11.2.2 消息认证码可以确认:可以确认:消息不被修改消息不被修改消息来源于宣称的发送方消息来源于宣称的发送方消息的发送顺序未被改变(要求消息中包含序列号)消息的发送顺序未被改变(要求消息中包含序列号)与加密函数的区别:与加密函数的区别:MAC不需要解密,即不需要解密,即MAC函数无需可逆性函数无需可逆性MAC函数为多对一的映射关系函数为多对一的映射关系2024/9/1214无线网络安全技术-10消息认证和散列函数基于DES的消息认证码数据认证算法数据认证算法(FIPS PUB 113)使用使用CBC (Cipher Block Chaining)方式,初始向量为方式,初始向量为0。它是使用。它是使用最广泛的最广泛的MAC算法之一。算法之一。将数据按将数据按64位分组,位分组,D1, D2, , DN,必要时最后,必要时最后一个数据块用一个数据块用0向右填充。运用向右填充。运用DES加密算法加密算法E,密钥为密钥为K。数据鉴别码数据鉴别码(DAC)的计算如下:的计算如下:O1 = EK(D1)O2 = EK(D2 O1)O3 = EK(D3 O2) ON =EK(DN ON-1)2024/9/1215无线网络安全技术-10消息认证和散列函数基于DES的消息认证码2024/9/1216无线网络安全技术-10消息认证和散列函数消息认证码的讨论保密性与真实性是两个不同的概念保密性与真实性是两个不同的概念从根本上说从根本上说,信息加密提供的是保密性而非信息加密提供的是保密性而非真实性真实性加密代价大加密代价大(公钥算法代价更大公钥算法代价更大)某些信息只需要真实性某些信息只需要真实性,不需要保密性不需要保密性 广播的信息难以使用加密广播的信息难以使用加密(信息量大信息量大) 网络管理信息等只需要真实性网络管理信息等只需要真实性 政府政府/权威部门的公告权威部门的公告2024/9/1217无线网络安全技术-10消息认证和散列函数针对MAC的穷举攻击令令k k为密钥长度,为密钥长度,n n为为MACMAC长度长度假定不提供保密假定不提供保密( (图图11.4(a)11.4(a)若若knkn穷举攻击会产生穷举攻击会产生2 2(k-n)(k-n) 个待选密钥个待选密钥给定给定 M M1 1 和和 MACMAC1 1, , 利用穷举攻击方法测试所有的利用穷举攻击方法测试所有的K Ki i. .至少存在一个密钥可以匹配至少存在一个密钥可以匹配 平均来说,会有平均来说,会有2 2k k/2/2n n = 2 = 2(k-n)(k-n) 密钥匹配密钥匹配第第2 2轮:使用新的轮:使用新的 M M 和和 MAC MAC,将不确定数减小到,将不确定数减小到 2 2(k-(k-2n)2n) 个个第第i i轮:不确定数减小到轮:不确定数减小到 2 2(k-(k-i in)n) 个个平均需要平均需要 k/nk/n 轮轮若若 k k n, n, 只需一次只需一次2024/9/1218无线网络安全技术-10消息认证和散列函数不需要密钥的攻击考虑以下的考虑以下的MAC算法:算法:M=(X1X2Xm)是由是由64位分组位分组Xi连接而成。连接而成。定义:定义:(M)= X1 X2 XmCK(M)=EK(M)其中加密算法为电子密码本方式其中加密算法为电子密码本方式DES,则,则密钥长为密钥长为56位,位,MAC长为长为64位。确定位。确定K的的穷举攻击需执行至少穷举攻击需执行至少256次加密。次加密。2024/9/1219无线网络安全技术-10消息认证和散列函数不需要密钥的攻击方法设设M= (Y1Y2Ym-1Ym)Ym= Y1 Y2 Ym-1 (M)消息消息M和和MAC= CK(M) = EK(M)是一对是一对可被接收者认证的消息。可被接收者认证的消息。为什么?为什么?用此方法,任何长度为用此方法,任何长度为64(m-1)位的消息位的消息可以作为欺骗性信息被插入!可以作为欺骗性信息被插入!2024/9/1220无线网络安全技术-10消息认证和散列函数对MAC函数的要求攻击者攻击目标:不再是获得秘钥攻击者攻击目标:不再是获得秘钥K K,而是寻找,而是寻找可生成相同认证码的消息。可生成相同认证码的消息。假定攻击者知道函数假定攻击者知道函数C C,但不知道,但不知道K K。那么。那么MACMAC函函数应有如下特性:数应有如下特性:1.1.给定给定 M M 和和 C(K,M)C(K,M),则构造消息,则构造消息M M 满足满足C(K, C(K, M M) = ) = C(K, MC(K, M) )在计算上不可行在计算上不可行2.2.C(K, MC(K, M) )应是均匀分布,即对任意应是均匀分布,即对任意M M和和M M,有:,有:PrCPrCk k(M) = C(M) = Ck k(M(M) = = 2 2-n-n, n, n为为MACMAC的长度的长度3.3.若若M M 为为M M的某个转换,即存在函数的某个转换,即存在函数f f使得使得M M = f(M= f(M) ),有:,有: PrC PrCk k(M) = C(M) = Ck k(M(M) = 2) = 2-n-n. .2024/9/1221无线网络安全技术-10消息认证和散列函数本次课内容第第11章章 消息认证和散列函数消息认证和散列函数11.1 对认证的要求对认证的要求11.2 消息加密消息加密11.3 消息认证码消息认证码11.4 散列函数散列函数2024/9/1222无线网络安全技术-10消息认证和散列函数散列函数形式:形式:h=H(M)它以任意长度的消息做自变量,产生规定长度的它以任意长度的消息做自变量,产生规定长度的消息摘要。消息摘要。性质性质1(弱无碰撞弱无碰撞),散列函数,散列函数H称为是弱无碰撞的,称为是弱无碰撞的,是指对给定消息是指对给定消息x ,找到,找到y,yx,且,且H(x)= H(y)在计算上是不可行的。在计算上是不可行的。性质性质2(强无碰撞强无碰撞),散列函数,散列函数H被称为是强无碰撞被称为是强无碰撞的的,是指找到是指找到x,y,xy,且,且H(x)= H(y)在计算上在计算上是不可行的。是不可行的。性质性质3(单向的单向的)称散列函数称散列函数H为单向的,是指对于为单向的,是指对于给定散列码给定散列码h,找到满足,找到满足H(x)=h的的x在计算上不可在计算上不可行。行。2024/9/1223无线网络安全技术-10消息认证和散列函数散列函数的用途2024/9/1224无线网络安全技术-10消息认证和散列函数生日攻击问题:假定使用问题:假定使用64位的散列码,是否安全位的散列码,是否安全?如果采用传输加密的散列码和不加密的报如果采用传输加密的散列码和不加密的报文文M,对手需要找到,对手需要找到M,使得,使得H(M) =H(M),以便使用替代报文来欺骗接收者。,以便使用替代报文来欺骗接收者。平均来讲,攻击者找到这样的消息大约需平均来讲,攻击者找到这样的消息大约需要进行要进行263次尝试。次尝试。建立在生日悖论基础上的攻击。建立在生日悖论基础上的攻击。2024/9/1225无线网络安全技术-10消息认证和散列函数生日悖论生日问题:一个教室中,最少应有多少学生日问题:一个教室中,最少应有多少学生,才使至少有两人具有相同生日的概率生,才使至少有两人具有相同生日的概率大于大于1/2?实际上只需实际上只需23人。人。2024/9/1226无线网络安全技术-10消息认证和散列函数生日攻击的基本原理给定一个散列函数给定一个散列函数H(x),有,有2m个可能的输出,个可能的输出,如果有如果有k个随机输入个随机输入, k必须为多大才能使至少必须为多大才能使至少存在一个重复出现?存在一个重复出现?对长度为对长度为m位的散列函数位的散列函数H(x) ,共有,共有2m个可个可能的散列码,能的散列码,H作用于作用于k个随机输入得到集合个随机输入得到集合X, H作用于另外作用于另外k个随机输入得到集合个随机输入得到集合Y,k等于多少时,这两个集合中至少有一个匹配等于多少时,这两个集合中至少有一个匹配?2024/9/1227无线网络安全技术-10消息认证和散列函数生日攻击的方法1.发送方对消息进行发送方对消息进行“签名签名”,即用私钥对,即用私钥对m位的位的hash码加码加密并将加密后的密并将加密后的hash码附于消息之后。码附于消息之后。2.攻击者产生该消息的攻击者产生该消息的2m/2种变式,且每一种变式表达相同种变式,且每一种变式表达相同的意义。攻击者再伪造一条信息并产生该消息的的意义。攻击者再伪造一条信息并产生该消息的2m/2种变种变式。式。3.比较上述两个集合,找出产生相同比较上述两个集合,找出产生相同hash码的一对消息。根码的一对消息。根据生日悖论,这样的概率大于据生日悖论,这样的概率大于0.5。如果找不到,再产生。如果找不到,再产生一条伪造的消息直至成功为止。一条伪造的消息直至成功为止。4.攻击者将发送方的签名附于伪造消息的变式后并发给接收攻击者将发送方的签名附于伪造消息的变式后并发给接收方。方。如果使用如果使用64位的位的hash码,所需代价的数量仅为码,所需代价的数量仅为232。2024/9/1228无线网络安全技术-10消息认证和散列函数谢谢大家!谢谢大家!无线网络安全技术-10消息认证和散列函数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号