网络安全-11-消息认证码教材

上传人:我** 文档编号:115884197 上传时间:2019-11-15 格式:PPT 页数:40 大小:978KB
返回 下载 相关 举报
网络安全-11-消息认证码教材_第1页
第1页 / 共40页
网络安全-11-消息认证码教材_第2页
第2页 / 共40页
网络安全-11-消息认证码教材_第3页
第3页 / 共40页
网络安全-11-消息认证码教材_第4页
第4页 / 共40页
网络安全-11-消息认证码教材_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《网络安全-11-消息认证码教材》由会员分享,可在线阅读,更多相关《网络安全-11-消息认证码教材(40页珍藏版)》请在金锄头文库上搜索。

1、n单纯的加解密算法无法保证抵抗下述攻击 q伪装 q内容修改 q顺序修改 q计时 修改 q发送方否认 q接收方否认 消息认证码 数字签名 不属于机密性范畴,属于数据完整性范畴 Chapter 12 消息认证码 计算机与网络安全计算机与网络安全 n消息认证需求 n消息认证函数 n消息认证码 n基于Hash函数的MAC n基于分组密码的MAC:DAA和CMAC * 西安电子科技大学计算机学院 3 * 西安电子科技大学计算机学院 4 12.1 12.1 对认证的需求对认证的需求 n可能的攻击: q1. 泄密:将消息透漏给给未授权权方 q2. 传输传输 分析:分析通信双方的通信模式 q3. 伪伪装:欺诈

2、诈源向网络络中插入一条消息 q4. 内容修改:对对消息内容的修改 q5. 顺顺序修改:对对通信双方消息顺顺序的修 改 q6. 计时计时 修改:对对消息的延时时和重播 q7. 发发送方否认认:对对消息否认认 q8. 接收方否认认:对对消息否认认 * 西安电子科技大学计算机学院 5 n消息认证:验证所收到的消息确实是来自真 实的发送方且未被修改的消息,它也可验证 消息的顺序和及时性。 n数字签名:是一种认证技术,其中的一些方 法可用来抗发送方否认攻击。(接收者可验 证但不能伪造) 消息认证 数字签名 n消息认证函数是实现消息认证的基础 n其工作原理和通信领域常见的差错控制编码函数类似, 都是通过对

3、原始报文进行某种运算,产生一个定长的输 出,这个输出是原始报文的“冗余信息”,即消息认证码 ,有时也被称为密码校验和。 * 西安电子科技大学计算机学院 6 常用的消息认证认证 函数包括如下两类类: 利用加密函数作为为消息认证认证 函数:这这种方法把 原始报报文加密后产产生的密文作为为它的消息认证码认证码 ; 专专用的消息认证认证 函数:以原始报报文和密钥钥作为为 输输入,产产生定长长的输输出,这这个输输出就是原始报报文 的消息认证码认证码 。可以利用运行于CBC模式下的常 规规加密算法或带带密钥钥的Hash函数(HMAC)来构 造消息认证认证 函数。 * 西安电子科技大学计算机学院 7 * 西

4、安电子科技大学计算机学院 8 12.2 认证函数 n两层:产生认证符 验证 n产生认证符的函数类型: q消息加密:消息的密文作为认证为认证 符。 q消息认证码认证码 :消息和密钥钥的公开函数,产产生定 长长的值值作为认证为认证 符。 MAC: message authentication code qHash函数:将任意长长消息映射为为定长长的hash值值 作为认证为认证 符。 * 西安电子科技大学计算机学院 9 12.2.1 消息加密 n消息加密也能提供一种认证的方法 n对称密码,既可以提供认证又可以提供保 密性,但不是绝对的。 q只有消息具有适当的结结构、冗余或含有校验验和 ,接收方才可能

5、对对消息的任何变变化进进行检测检测 。 q否则则,认证难认证难 以完成。 严严格意义义上说说,单单独使用加密技术术无法实现实现 消 息认证认证 。(不推荐) * 西安电子科技大学计算机学院 10 * 西安电子科技大学计算机学院 11 * 西安电子科技大学计算机学院 12 消息加密 n公钥体制中: q加密不能提供对发对发 送方的认证认证 (公钥钥是公开的 ) q发发送方可用自己的私钥进钥进 行签签名 q接收方可用发发送方的公钥进钥进 行验证验证 q保密性和可认证认证 性 * 西安电子科技大学计算机学院 13 * 西安电子科技大学计算机学院 14 * 西安电子科技大学计算机学院 15 * 西安电子

6、科技大学计算机学院 16 12.2.2 消息认证码 (MAC) n一种认证技术 n利用密钥来生成一个固定长度的短数据块(MAC) ,并将该数据块附加在消息之后。 nMAC的值依赖于消息和密钥 MAC = Ck(M)=C(M,K) qMAC函数于加密类类似,但MAC算法不要求可逆 性,而加密算法必须须是可逆的。 n接收方进行同样的MAC码计算并验证是否与发送过 来的MAC码相同 * 西安电子科技大学计算机学院 17 MAC 特性 nMAC码是一个密码校验和 MAC = CK(M)=C(K, M) q消息M的长长度是可变变的 q密钥钥K是要保密的,且收发发双方共享。 q产产生固定长长度的认证码认证

7、码 nMAC算法是一个多对一的函数 q多个消息对应对应 同一MAC值值 q但是找到同一MAC值值所对应对应 的多个消息应该应该 是 困难难的。 * 西安电子科技大学计算机学院 18 Message Authentication Code * 西安电子科技大学计算机学院 19 n若相同,则有: q接收方可以相信消息未被修改。 q接收方可以相信消息来自真正的发发送方。 q接收方可以确信消息中含有的序列号是正确 的。 n为什么需要使用MAC? q有些情况只需要认证认证 (如广播) q文档的持续续保护护(例如解密后的保护护) q n由于收发双方共享密钥,所以MAC不能 提供数字签名 * 西安电子科技大

8、学计算机学院 20 n对MACs的要求: q抗多种攻击击(例如穷举穷举 密钥钥攻击击) q且满满足: 1.已知一条消息和MAC, 构造出另一条具有同样样 MAC的消息是不可行的 2.MACs应该应该 是均匀分布的 3.MAC应该应该 依赖赖于消息的所有比特位 * 西安电子科技大学计算机学院 21 * 西安电子科技大学计算机学院 22 * 西安电子科技大学计算机学院 23 12.3 HMAC n密码hash函数作为MAC: q不用分组组密码码,而用hash函数来产产生MAC n因为为hash函数一般都较较快 n没有出口限制,(分组组密码码有出口限制) qhash函数不依赖赖于密钥钥,所以不能直接

9、用于MAC q建议议: KeyedHash = Hash( Key | Message ) * 西安电子科技大学计算机学院 24 利用带密钥的Hash函数实现消息认证 * 西安电子科技大学计算机学院 25 当前获得广泛应用的构造带密钥的Hash函数的方案是 HMAC(keyed-hashing for message authentication code ),它是Bellare等人于1996年提出,并于1997年作为 RFC2104标准发表, 并被很多因特网协议(如IPSEC、 SSL)所使用。HMAC算法利用已有的Hash函数,使用 不同的Hash函数,就可以得到不同的HMAC,例如选用

10、MD5时的HMAC记为HMAC-MD5,选用SHA-1时的 HMAC记为HMAC-SHA1。 HMAC的设计目标是: * 西安电子科技大学计算机学院 26 可不经修改而使用现有的Hash函数,特别是那些易 于软件实现的、源代码可方便获取且免费使用的Hash 函数; 其中嵌入的Hash函数可易于替换为更快或更安全的 Hash函数; 保持嵌入的Hash函数的最初性能,不因用于HMAC 而使其性能降低; 以简单方式使用和处理密钥; 在对嵌入的Hash函数合理假设的基础上,易于分析 HMAC用于鉴别时的密码强度。 * 西安电子科技大学计算机学院 27 HMAC 概览 * 西安电子科技大学计算机学院 2

11、8 * 西安电子科技大学计算机学院 29 HMAC n作为RFC2104 nHMACK = Hash(K+ XOR opad)| Hash(K+ XOR ipad)|M) n其中 K+ 为在K左边填充0后所得的b位长的结果(b为每 一消息分组的位数) nopad, ipad 都是指定的填充常量 n多执行了3次hash压缩函数 n算法可用于MD5, SHA-1, RIPEMD-160中的任何一个 * 西安电子科技大学计算机学院 30 HMAC算法的具体执行步骤如下: 在密钥K的右边填充一些0,使其成为长度为b比特的比特串,记为K+ ; 计算Si=K+ipad,其中ipad(inner pad)是

12、HMAC算法中规定的一 个长度为b比特的比特模式串,它等于将00110110(16进制的36)重复 b/8次后得到的比特串; 把HMAC的输入报文x=x1 x2xL附加在Si的右端,得到Si|x =Si|x1 x2xL,将该比特串作为Hash函数h的输入,得到l比特的输出h (Si|x); 计算So=K+opad,其中opad(outter pad)是HMAC算法中规定的 另一个长度为b比特的比特模式串,它等于将01011100(16进制的5C) 重复b/8次后得到的比特串; 将第3步得到的h(Si|x)填充到b比特后附加在So的右端,并以该比特串 作为Hash函数h的输入,得到l比特的输出;

13、 将第5步的输出作为HMAC算法的最终输出结果,即为消息x的消息 认证码HMACk(x)。 * 西安电子科技大学计算机学院 31 建立在嵌入Hash函数基础上的所有MAC,其安全性在某种程 度上都依赖于该Hash函数的强度。对于HMAC,可以给出 HMAC的强度与所嵌入Hash函数强度之间的关系。Bellare等人( 1996年)已经证明,如果攻击者已知若干(时间、消息-MAC) 对,则成功攻击HMAC的概率等价于对所嵌入Hash函数的下列攻 击之一: 即使对于攻击者而言,IV是随机的、秘密的和未知的,攻击 者也能计算Hash函数的压缩函数的输出。 即使IV是随机的和秘密的,攻击者也能找到Ha

14、sh函数的碰 撞。 * 西安电子科技大学计算机学院 32 HMAC 的安全性 nHMAC的安全性依赖于hash算法的安全性 n攻击HMAC需要下列之一: q对对密钥进钥进 行穷举穷举 攻击击 q生日攻击击 n从速度与安全制约,选择恰当的hash函数 * 西安电子科技大学计算机学院 33 12.6 基于分组密码的MAC p DAA:数据认证算法 p CMAC:基于密码的消息认证码 * 西安电子科技大学计算机学院 34 用对称密码产生MACs n采用分组密码的链接工作模式,并把最后分组 作为MAC nData Authentication Algorithm (DAA) 是一个广 泛使用的数据认证

15、算法,基于DES-CBC(FIPS PUB113,ANSI X9.17) qIV=0且最后一个分组组用0填充其后以补补足64位分组组 q用DES的密文分组链组链 接模式CBC解密消息 q把最后一个分组组作为为MAC发发送 n或者取最后分组组的左边边M bits (16M64) n但是对对于安全性来说说,最终终的MAC还还是太小了 * 西安电子科技大学计算机学院 35 Data Authentication Algorithm 基于DES实现的数据认证算法 * 西安电子科技大学计算机学院 36 置IV = 0,并把报文的最后一个分组用0填充成64比特; 采用DES的CBC模式加密报文; 抛弃加密

16、的中间结果,只将最后一组密文(或最后一组 密文的左边M (16M64)比特)作为原始报文的MAC。 * 西安电子科技大学计算机学院 37 12.6.2 CMAC n适用于AES和3DES的CMAC 为n个消分组,k位加密 密钥和n位的常数K1 T为消息认证码,也称为tag; Tlen是T的位长度;MSBs(X)是 位串的X最左边的s位。 12.7 认证加密 * 西安电子科技大学计算机学院 38 n在通信中同时时提供保密性和认证认证 性的加密系统统 n提供认证认证 和加密的通用方案 qHtE:先Hash再加密, qMtE:先MAC再加密,SSL/TLS使用 qEtM:先加密再MAC,IPsec使用 qE&M:加密并且MAC,SSH使用 12.7 认证加密 * 西安电子科技大学计算机学院 39 n12.7.1 分组密码链 接-消息认证码 q略 n12.7.2 Galois/计数器 q略 12.8 使用Hash函数和MAC产生伪随机数 n略

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号