欢迎来到天天文库
浏览记录
ID:34390513
大小:289.74 KB
页数:59页
时间:2019-03-05
《信息安全原理与技术ch05-hash函数和数字签名》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息安全原理与技术郭亚军宋建华李莉清华大学出版社第5章消息认证与数字签名•主要知识点:--认证--认证码--散列函数--MD5--SHA-512--数字签名2011-7-20Ch5-消息认证与数字签名2认证•认证则是防止主动攻击的重要技术,可以防止如下一些攻击:–伪装:攻击者生成一个消息并声称这条消息是来自某合法实体,或者攻击者冒充消息接收方向消息发送方发送的关于收到或未收到消息的欺诈应答。–内容修改:对消息内容的修改,包括插入、删除、转换和修改。–顺序修改:对通信双方消息顺序的修改,包括插入、删除和重新排序。–计时修改:对消息的延迟和重放。在面向连接的应
2、用中,攻击者可能延迟或重放以前某合法会话中的消息序列,也可能会延迟或重放是消息序列中的某一条消息。2011-7-20Ch5-消息认证与数字签名3认证的目的•第一,验证消息的发送者是合法的,不是冒充的,这称为实体认证,包括对信源、信宿等的认证和识别;•第二,验证信息本身的完整性,这称为消息认证,验证数据在传送或存储过程中没有被篡改、重放或延迟等。2011-7-20Ch5-消息认证与数字签名4认证的目的•可提供认证功能的认证码的函数可分为三类:–加密函数:使用消息发送方和消息接收方共享的密钥对整个消息进行加密,则整个消息的密文作为认证符。–消息认证码:它是消息
3、和密钥的函数,产生定长度值,该值作为消息的认证符。–散列函数:它是将任意长的消息映射为定长的hash值的函数,以该hash值作为认证符。2011-7-20Ch5-消息认证与数字签名5基本的认证系统模型2011-7-20Ch5-消息认证与数字签名6消息认证码•消息认证码,简称MAC(MessageAuthenticationCode),是一种使用密钥的认证技术,它利用密钥来生成一个固定长度的短数据块,并将该数据块附加在消息之后。•在这种方法中假定通信双方A和B共享密钥K。若A向B发送消息M时,则A使用消息M和密钥K,计算MAC=C(K,M)2011-7-20
4、Ch5-消息认证与数字签名7消息认证码的使用2011-7-20Ch5-消息认证与数字签名8消息认证码的使用(续)2011-7-20Ch5-消息认证与数字签名9MAC的安全要求•MAC中使用了密钥,这点和对称密钥加密一样,如果密钥泄漏了或者被攻击了,则MAC的安全性则无法保证。•在基于算法的加密函数中,攻击者可以尝试所有可能的密钥以进行穷举攻击,一般对k位的密钥,穷举攻击需要2(k-1)步。2011-7-20Ch5-消息认证与数字签名10对MAC的攻击•第一轮·给定M,MAC=C(M)11K1·对所有2k个密钥判断MAC=C(M)iKi1·匹配数≈2(k-n
5、)。•第二轮·给定M,MAC=C(M)22K2·对循环1中找到的2(k-n)个密钥判断MAC=C(M)iKi2·匹配数≈2(k-2n)。•攻击者可以按此方法不断对密钥进行测试,直到将匹配数缩写到足够小的范围。平均来讲,若k=a×n,则需a次循环2011-7-20Ch5-消息认证与数字签名11针对MAC算法的攻击•攻击者针对下面的MAC算法,则不需要使用穷举攻击即可获得密钥信息。•设消息M=(X
6、
7、X
8、
9、…
10、
11、X),即由64位分组X联结而成。定义12miΔ(M)=X⊕X⊕…⊕X12mCk(M)=E[Δ(M)]K攻击者可以用任何期望的Y至Y替代X至X,用Y替代
12、1m-11m-1mXm来进行攻击,其中Ym如下计算的:Y=Y⊕Y⊕…⊕Y⊕Δ(M)m12m-1攻击者可以将Y至Y与原来的MAC连结成一个新的消息1m-1M’,接收方收到(M’,Ck(M))时,由于Δ(M’)=Y1⊕Y2⊕…⊕Ym=Δ(M),因此Ck(M)=EK[Δ(M’)],接受者会认为该消息是真实。用这种办法,攻击者可以随意插入任意的长为64×(m-1)位的消息。2011-7-20Ch5-消息认证与数字签名12MAC的性质•一个安全的MAC函数应具有下列性质:–若攻击者知道M和C(M),则他构造满足kC(M’)=C(M)的消息M’在计算上是不可行kk的。
13、–C(M)应是均匀分布的,即对任何随机选择的k消息M和M’,C(M)=C(M’)的概率是2-n,其中nkk是MAC的位数。–设M’是M的某个已知的变换,即M’=f(M),则C(M)=C(M’)的概率为2-n。kk2011-7-20Ch5-消息认证与数字签名13基于DES的消息认证码2011-7-20Ch5-消息认证与数字签名14Hash函数•Hash函数(也称散列函数或杂凑函数)是将任意长的输入消息作为输入生成一个固定长的输出串的函数,即h=H(M)。这个输出串h称为该消息的散列值(或消息摘要,或杂凑值)。2011-7-20Ch5-消息认证与数字签名15安
14、全的Hash函数的要求•H可以应用于任意长度的数据块,产生固定长度
此文档下载收益归作者所有