密码编码学与网络安全:ch11-消息认证和Hash函数

上传人:汽*** 文档编号:570320271 上传时间:2024-08-03 格式:PPT 页数:28 大小:427KB
返回 下载 相关 举报
密码编码学与网络安全:ch11-消息认证和Hash函数_第1页
第1页 / 共28页
密码编码学与网络安全:ch11-消息认证和Hash函数_第2页
第2页 / 共28页
密码编码学与网络安全:ch11-消息认证和Hash函数_第3页
第3页 / 共28页
密码编码学与网络安全:ch11-消息认证和Hash函数_第4页
第4页 / 共28页
密码编码学与网络安全:ch11-消息认证和Hash函数_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《密码编码学与网络安全:ch11-消息认证和Hash函数》由会员分享,可在线阅读,更多相关《密码编码学与网络安全:ch11-消息认证和Hash函数(28页珍藏版)》请在金锄头文库上搜索。

1、B第11章 消息认证和Hash函数11.1 认证概念11.2 认证函数11.3 消息认证码MAC11.4 Hash函数11.5 Hash和MAC安全性B认证 Authentication认证和加密不同。 消息认证是验证消息完整性的一种机制,能发现对消息的篡改或假冒。使用对称算法可产生消息鉴别码MAC使用公钥算法可对消息进行签名 身份认证是鉴别通信对方的身份是否属实。Hash函数是一个单向的消息摘要函数,在产生MAC、签名中有重要用途。B11.1 认证需求对网络通信的攻击(4类)窃听| 加密流量分析伪装(假冒)| 认证篡改内容修改顺序修改时间(包括重放)发送方抵赖(拒绝承认曾发出过某消息) |

2、签名接收方抵赖(拒绝承认曾收到过某消息) B对称加密能否提供认证?由于密钥没有第三方知道,所以接收方应该可以确信消息的来源真实性。这并不绝对,因为存在一种可能性,是对密文的篡改。问题:对密文的篡改,能否一定被接收方察觉?B能够察觉的举例CFB模式加密得到密文某处被窜改,导致其后续部分解密失败#opensslenc-e-des-cfb-in2.txt-out2.out#opensslenc-d-des-cfb-in2modi.out-out2modi.txtB不能够察觉的举例CBC及流密码如RC4加密时,对密文部分比特的窜改导致明文对应部分解密错误?如何察觉另外,随意伪造的密文有可能恰好解密为有

3、效的明文结论:加密并不能完全抵抗篡改或假冒B11.2 认证函数1. 对称加密2. 公钥加密3. 消息认证码(MAC)4. 散列函数(Hash) B教训:对密文的保护在加密之前,给明文添加结构特征x|h(x)/h=crc,md5,sha1加密E(x|h(x),k)=y传输有可能出错或被窜改y会变做y解密判断是否依旧符合 x | h(x) 的结构特征B公钥加密A使用B的公钥加密消息,这不能提供认证。A可以先使用自己的私钥加密消息(这是数字签名),再用B的公钥加密,这样可以提供认证。亦需要给明文消息添加结构特征B关于加密和认证分离加密本身不能实现真实性认证功能认证和加密的分离带来灵活性只要认证而不需

4、保密如公文,软件完整性鉴别(防病毒)、网络管理广播报文(如SNMP)等不能加密的场合(如法规限制)存档期间的保护(而不仅是传输期间)B消息认证码 MAC(假定双方共享密钥)发送方利用密钥从明文产生一个固定长度的短数据块(MAC),和消息一起传输。接收方考察是否一致,以判断MAC和/或消息是否被改动过。MAC:CBC模式最后一个分组B避免使用加密方法产生MAC码生成MAC没有必要整个报文被加密速度、进出口障碍不需要能恢复原文MAC的计算过程只需体现明文的特征唯一Key是必要的从报文产生特征的数学方法:HASH函数先计算特征,再把特征加密的思想把散列函数和Key结合得MACHMAC = HashK

5、ey(Message)B11.3 消息认证码MACMessage Authentication CodeMAC函数计算明文M在密钥K的作用下的特征码M | MAC(M, K)验证时,判断明文M和MAC码是否一致BMAC讨论MAC不需要可逆为了方便,MAC码通常较短实现MAC函数不排斥使用对称加密算法实现MAC函数希望使用比加密更高效的方法为防范重放攻击,加注时间、报文序号对称MAC不能提供签名特性因为产生MAC的密钥为两方所有BCBC模式最后分组做为MAC码FIPS 113BHMAC:带Key的Hash函数利用HASH函数从报文和密钥产生MAC码先计算特征,再把特征加密的思想,或直接把散列函数

6、和Key结合得MACHMAC = HashKey(Message) 一种实现,比如HMAC = Hash(Key | Message)B11.4 Hash函数Hash函数强调单向性和抗冲突特性Hash函数的用途总结下先给明文增加结构特征以保护密文产生MAC码(HMAC)数字签名从口令衍生密钥挑战-应答认证协议中也用来产生随机数B散列函数 h=H(x)函数参数输入:可以任意长度输出:固定长度n=128/160/192/256/384/512 bits函数特性单向性质:给定h,要找x使H(x)h是困难的弱抗碰撞特性:对于给定的y,找x,使H(x)H(y)是困难的强抗碰撞特性(生日攻击):找x和y,

7、使H(x)H(y)是困难的* 如果碰撞则意味着数字签名容易被伪造/欺骗BHash函数设计考虑奇偶校验异或XOR(或者累加)只能检出奇数个比特错误CRC常用在帧校验仍有很高的比率不能检出传输比特错误* 不能满足单向性和抗冲突复杂的密码学用散列函数MD2/MD5SHA/SHA1B找碰撞:生日攻击最多尝试2n1个报文,必有至少一对碰撞问:平均尝试多少个报文,可以以1/2的概率找到一对碰撞? 2n/2类比问题(生日问题)最多找365+1个人,则必有至少两个人生日相同问:平均找多少个人,能以1/2的概率找到两人生日相同?BThe Birthday Paradox B分组链接技术一种Hash函数设计方法(

8、基于某种加密算法)by RabinH0=初始值Hi=E(Mi,Hi-1)G=Hn推荐使用MD5或SHA1B11.5 Hash和MAC安全性对Hash函数/MAC码的攻击方法穷举攻击密码分析B对Hash的攻击穷举攻击(输出为n位的Hash函数)抗弱碰撞性的能力为 2n抗强碰撞性的能力为 2n/2对MD5的密码分析已有重大进展,可以在数小时至数分钟内产生一对冲突(攻击强抗碰撞特性)B对MAC码的攻击穷举攻击穷举产生MAC码的密钥,计算复杂度2k穷举MAC码,计算复杂度2n密码分析方法“addon11/On the Security of Two MAC Algorithms.ps”B术语 Term

9、sauthenticatorbirthday attackbirthday paradox compression functioncryptographic checksumhash codehash functionhash valuemessage authenticationmessage authentication code (MAC)message digestone-way hash functionstrong collision resistanceweak collision resistanceB小结加密可以抵抗窃听,而认证是为了保证消息(进一步身份)的真实性。如果加密时使用合适的方法(比如对明文首先添加Hash校验),也可以把认证特性(完整性)加入进去,但是把认证和加密分离具有更好的灵活性。认证码的产生须要密钥。为了效率,可以使用Hash函数。从概念上MAC码可以这样产生:Hash(Message|Key)BQ & A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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