收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

杂凑函数以及HMAC/NMAC的安全性分析

于红波  
【摘要】: 在现代密码学中,杂凑函数占据基础而又重要的地位。密码学杂凑函数也称Hash函数、哈希函数或单向散列函数,它可以将任意长度的消息压缩到固定长度的杂凑值。杂凑值也被称为杂凑码、杂凑结果、消息摘要或数字指纹。杂凑函数的重要之处就是能够赋予每个消息唯一的“数字指纹”。例如,杂凑值“72c067b50c90837c95186d019f686700”可以看作是使用MD5算法对字符串“Cryptanalysis of Hash Functions and HMAC/NMAC”生成的“数字指纹”,即使更动该消息串的一个字母,对应的杂凑值也会变为截然不同的“指纹”。 杂凑函数在现代密码学中有着极其重要的用途,它不仅在安全通信中起着重要的作用,而且是许多密码算法与密码协议安全的基本前提条件。杂凑函数的最重要用途之一是用在数字签名中,它是保证数字签名方案安全而有效的充分必要条件。通常用公钥密码算法进行数字签名时,一般不是对消息直接签名,而是对消息的杂凑值进行签名,这样既可以减少计算量、提高效率,也可以破坏数字签名算法的某些代数结构。因此,对杂凑函数的研究在密码分析领域具有重要意义。 除了数据压缩、易于计算这两个基本属性之外,杂凑函数还需要满足下面三个安全属性: ·抗原根攻击:对任一预先给定的输出y,寻找—个消息x使得h(x)=y,在计算上不可行。 ·抗第二原根攻击:对任—输入x,寻找另—个不同于x的消息x′,使得h(x)=h(x′),在计算上不可行。 ·抗碰撞攻击:找两个不同的消息x和x′,使得它们具有相同的杂凑值,即h(x)=h(x′),在计算上不可行。 杂凑函数有两种基本的构造方法—基于分组密码的构造法和直接构造法。1990年Rivest设计了第一个直接构造的杂凑函数MD4,它不基于任何别的密码体制,只使用了基本的模整数加运算、布尔运算和移位运算。MD4之后,又有许多直接构造的杂凑函数先后被提出,如MD5,HAVAL,RIPEMD,RIPEMD-160,SHA-1,SHA-2等,尽管这些杂凑函数比MD4更复杂,但是他们与MD4有相似的结构和相同的设计理念,所以这类杂凑函数被统称为MD4系列的杂凑函数。其中MD5与SHA-1是国际通用的两大杂凑函数算法,被广泛使用于银行、安全通讯以及电子商务中.而SHA-1被认为是现代网络安全的基石。 最早对杂凑函数MD4和MD5进行分析的有Merkle(未发表),den Boer和Bosselaers以及Vaudenay。随后Dobbertin提出了一种新的分析方法,应用该分析方法在1996年他成功破解了MD4,其计算复杂度是2~(22);1998年证明了前两轮的MD4算法不是单向的(MD4共有三轮);在MD5攻击方面,1996年则给出了自由初始值下MD5的碰撞实例,也就是在初始值可自由选择的情况下,能够找到两个不同的消息,它们具有共同的杂凑值。 在1997年王小云首次使用“比特追踪法”来分析SHA-0,给出了一个优于生日攻击的结果,理论上破解了SHA-0。在1998年,王使用“消息修改技术”极大的改进了这一结果。同年,Chahaud和Joux使用差分分析的方法,也给出了SAH-0的理论分析结果,这一结果发表在1998年的美密会上。“比特追踪法”是现今分析MD4系列杂凑函数所使用的最为广泛有效的方法,它的技术细节在2005年欧密会上公开,是破解包含MD5和SHA-1在内的多数MD4系列杂凑算法的理论基础。 在过去三年里,密码学界对杂凑函数的设计与分析给予了更加广泛的关注。在2004年美密会上,王小云等宣布了包括MD4,MD5,HAVAL-128以及RIPEMD在内的碰撞实例,该结果被认为是2004年密码学界最具突破性的结果。与此同时,Biham宣布了40步SHA-1的分析结果;Joux提高了2004年欧密会上Biham和Chen的对SHA-0分析结果,给出了具有4个消息分组的SHA-0的实际碰撞。 最为重要的是,王小云和于红波对广泛使用的杂凑函数MD5的破解不仅具有重要的理论意义,而且在实际应用领域也产生了巨大的影响。在2005年,Lenstra等使用该破解结果伪造了两个X.509证书,它们使用的公钥不同但具有相同的签名。随后受王小云教授思想的启发,他们又进一步成功伪造了两个具有相同的签名、不同的公钥以及不同的名称识别段的X.509证书。Lucks与Magnus则构造出MD5的“有意义的碰撞”,使两份Postscript格式的文件虽然内容不同但杂凑值相同。Gebhardt等人则进一步把文件格式扩展到PDF,TIFF和Word97。王小云等人在杂凑函数发展方面的另外一个突破性结果是找到SHA-1的碰撞,最近她们将碰撞攻击的复杂度从2~(69)提高到2~(63),这个结果已经达到了使用现有计算资源可实际破解的临界值。由于王小云等人揭示出SHA-1的脆弱性,美国国家标准与技术研究所(NIST)计划举行杂凑函数标准的公开征集活动,整个流程类似高级加密标准AES的征集和评选过程。 本文中将给出针对MD4,4-Pass HAVAL,5-Pass HAVAL以及基于HAVAL的HMAC/NMAC的攻击方法,本文由六部分组成。 第一章介绍杂凑函数的定义和属性,描述MD4系列杂凑函数的结构,同时还介绍本论文所重点分析的杂凑函数MD4和HAVAL。 第二章系统地描述了针对MD4系列的杂凑函数进行碰撞攻击的比特追踪法,该方法在2005年欧密会上正式发表时被称为模差分方法。模差分是一种精确差分,它不同于一般差分攻击里面使用的异或差分,它能准确表达整数模减差分和异或差分这两种信息。利用模差分方法对杂凑函数进行攻击有四个步骤:第一步是选择合适的消息差分,它决定了攻击成功的概率;第二步是针对选择的消息差分寻找可行的差分路线,这是模差分攻击的关键一步,也是最难的一步,它需要聪明的分析、熟练的技术、持久的耐心以及一定的运气;第三步就是推导出保证差分路线可行的充分条件,在寻找差分路线的过程中,链接变量的条件也可以被确定下来,一个可行的差分路线就意味着从路线上推导出来的所有链接变量的条件相互之间没有冲突;最后一步就是使用消息修改技术,使得被修改的消息满足尽可能多的充分条件。 第三章给出了完整版本的4-Pass和5-Pass HAVAL的碰撞攻击。对于4-PassHAVAL,首次给出了一个复杂度为2~(36)的具有两个消息分组的碰撞,使用更复杂的消息修改技术,该攻击的复杂度能够降低到2~(30);对于5-pass HAVAL,首次给出了一种优于生日攻击的理论攻击方法,复杂度小于2~(123)。到目前为止,这是针对4和5-PassHAVAL碰撞攻击所得到的最好结果。表5给出了一个4-Pass HAVAL碰撞的实例。 第四章是对MD4算法进行第二原根攻击。理想情况下,对于给定的消息,找出一个第二原根需要2~(128)的计算复杂度,也就是穷举搜索方法的复杂度。但是对于有些消 表5:具有两个消息分组的4-Pass HAVAL的碰撞实例息,存在有比暴力破解更有效的攻击方法来找出其第二原根,这样的消息被称为“弱消息”。在2005年欧密会上,王小云等人首次使用模差分的方法对MD4进行高效的碰撞攻击,该攻击中使用的差分路线还能够以微弱的优势对MD4进行第二原根攻击,这也是首次给出的对MD4第二原根的理论攻击.与此同时,王小云教授指出可以找出一条更好的专门针对MD4第二原根攻击的差分路线。在王教授第二原根思想的指导下,本章找到了一条新的适合第二原根攻击的碰撞差分路线,使用该路线,可以证明对于任意随机给出的消息,它是弱消息的概率仅为2~(-56),这已经达到了实际可攻击的范围;进一步对任意的随机消息,平均只需2~(27)的MD4计算就能将之转化为弱消息,而且原始消息与最终的弱消息非常接近,它们的汉明距离大约是44。此外本章还首次提出对基于MD4设计的消息鉴别算法,弱消息可以用来区分、伪造和密钥恢复攻击。由Contini等人和Kim等人提出的对基于MD4的消息鉴别算法HMAC和NMAC的攻击,都使用了本章所提出的差分路线。 第五章提出了一种新的直接对杂凑函数的压缩函数进行多碰撞攻击的方法。一个K型多碰撞是由K个具有相同杂凑值的不同消息构成,通常表示为K-碰撞。当K=2时就是我们通常所说的碰撞(成对碰撞)。我们的攻击方法不同于Joux等人提出的利用杂凑函数的迭代结构组合成对碰撞为多碰撞的方法,而是直接构造杂凑函数最基本的组成部分一压缩函数的多碰撞。这种新的攻击方法的基本思想就是使用t个不同的路线通过叠加产生一个2~t-碰撞。而这t个路线的寻找方法正是使用模差分方法。对于理想的杂凑函数,找到一个K-碰撞,计算复杂度为O(2~((k-1)/k n),其中n是杂凑值的长度。然而,使用我们新的攻击方法,找到MD4压缩函数的4-碰撞所需计算复杂度为2~(19);对于3-pass HAVAL,找到4-碰撞所需计算复杂度为2~(28),找到8-几乎碰撞所需计算复杂度为2~9。表6和表7给出了MD4和HAVAL多碰撞的实例。 表6:MD4压缩函数4-碰撞实例 表7:3-Pass HAVAL压缩函数4-碰撞实例 第六章分析了基于完整版本的3-Pass和4-Pass HAVAL的消息鉴别算法HMAC和NMAC。一个基于杂凑函数的消息鉴别码(MAC)可以看作是具有两个不同功能输入的杂凑函数,一个输入变量是消息,另一个是密钥。HMAC是标准化的基于杂凑函数的MAC算法,它并被广泛使用的MAC算法,也常作为伪随机函数发生器来使用。本章使用了两种类型的识别器:差分识别器和矩形识别器对HMAC/NMAC进行攻击。在[26]中,Kim等人仅使用矩形识别器来鉴别基于3-Pass和101步的4-PassHAVAL(共128步)的HMAC。据我们分析认为,对于基于HAVAL的HMAC的攻击,差分识别器比矩形识别器更有效。为了方便对两者进行比较,本章给出了两种方法的分析结果。对于差分识别器,本章使用两条新的碰撞差分路线对基于3-Pass和4-Pass HAVAL的HMAC给出了识别、伪造和密钥恢复攻击,这两条新路线的概率分别是2~(-96.26)和2~(-121.27)。在HMAC内部和外部函数的输出长度都是256位的情况下,我们的伪造攻击比生日攻击具有更大的优势。对于矩形识别器,也给出了3-Pass和4-Pass HAVAL的两条新的近似碰撞差分路线,其概率分别是2~(-64.5)和2~(-95.5),利用该路线对HMAC进行矩形攻击,其结果优于Kim等人[26]的结果。NMAC是HMAC更一般的版本,它们具有相似的结构,本章对HMAC所有的攻击对NMAC都同样有效。本章的主要分析结果见表8。 表8:基于HAVAL的HMAC/NMAC分析结果 总之,本文基于在参与破解MD5和SHA-1等工作中积累的理论基础和方法,对杂凑函数MD4,HAVAL进行了碰撞攻击以外的更深度的攻击:第二原根攻击,多碰撞攻击和对基于这两个函数的消息鉴别算法HMAC/NMAC的攻击。这些攻击的理论和方法对新的杂凑函数标准的建立具有指导意义。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 李毅侠;董新汉;;不动点为正m面体顶点的一类压缩函数满足开集条件的研究[J];湖南师范大学自然科学学报;2009年02期
2 余位驰,祝世雄,何大可;基于Goldreich压缩函数的LMAC分析和Hash设计[J];信息安全与通信保密;2005年10期
3 许宏文;廖飞;姬春秋;;一类非扩张函数的不动点[J];牡丹江师范学院学报(自然科学版);2015年03期
4 江珊珊;杨静;范丽亚;;基于PDEs的图像特征提取方法[J];山东大学学报(工学版);2018年04期
5 徐侃;一类两指标Volterra型随机积分方程解的存在性、唯一性[J];湖北师范学院学报(自然科学版);1993年03期
6 徐侃;;一类两指标Volterra型随机积分方程解的存在性、唯一性[J];湖北师范学院学报(自然科学版);1993年03期
7 眭晗;吴文玲;张立廷;;基于双管道结构的在线加密方案[J];计算机学报;2018年05期
8 罗建梅;原三领;中素慧;;一类非线性年龄结构人口模型[J];上海理工大学学报;2008年01期
9 ;计算机科学数学基础[J];电子科技文摘;2006年05期
10 刘坤;杨正校;;基于局部碰撞算法的SHA-1改进算法设计与研究[J];软件工程;2017年11期
11 来学嘉;;APT、Flame和MD5[J];信息安全与通信保密;2012年09期
12 王方;冯玲;;无损压缩算法LZW研究与实现[J];科技创新导报;2008年12期
13 丁道新;朱志勇;;自相似集的收敛与构造[J];喀什师范学院学报;2007年03期
14 刘宗斌;荆继武;夏鲁宁;;BLAKE算法的硬件实现研究[J];计算机学报;2012年04期
15 周世哲;刘利刚;;实时数字浮雕建模[J];计算机辅助设计与图形学学报;2010年03期
16 王孚和;关于Banach压缩映象原理的几点注记[J];江西教育学院学报(综合);2003年03期
17 黄玉划;代学俊;陈帮春;苏菲;刘宁钟;曾庆喜;;基于新加密结构和Sponge结构的轻量级Hash函数CHF[J];南京航空航天大学学报;2016年05期
18 邓喜才;黄黎明;李晟;;(μ+λ)型演化策略的收敛性[J];贵州教育学院学报;2008年03期
19 董乐;邹剑;吴文玲;杜蛟;;Feistel-SPS结构的反弹攻击[J];电子与信息学报;2016年08期
20 刘建东;江慧娜;杨凯;;一种新型的具有可变散列输出的Hash函数[J];武汉大学学报(理学版);2010年02期
中国博士学位论文全文数据库 前5条
1 于红波;杂凑函数以及HMAC/NMAC的安全性分析[D];山东大学;2007年
2 李志敏;哈希函数设计与分析[D];北京邮电大学;2009年
3 陈士伟;杂凑函数的攻击方法研究[D];解放军信息工程大学;2012年
4 郭伟;混沌Hash函数安全性分析和构造[D];西南交通大学;2011年
5 杨波;密码学Hash函数的设计和应用研究[D];北京邮电大学;2008年
中国硕士学位论文全文数据库 前10条
1 曾绍昆;反弹攻击在AES结构Hash函数中的应用与研究[D];西安电子科技大学;2011年
2 张宏石;SHA-3第二轮候选BLUE MIDNIGHT WISH算法分析[D];山东大学;2010年
3 张晓妹;哈希函数的迭代结构与压缩函数研究[D];深圳大学;2017年
4 郝荣林;杂凑函数的安全性分析[D];中国科学技术大学;2014年
5 郭爱英;时间触发以太网同步技术的研究与实现[D];电子科技大学;2013年
6 李国民;关于密码学上的Hash函数研究[D];西南交通大学;2005年
7 李正;杂凑函数结构研究现状及新的结构设计[D];山东大学;2010年
8 江继军;SHA-0碰撞攻击分析研究[D];西安电子科技大学;2009年
9 林雅榕;基于散列算法的认证协议的研究[D];合肥工业大学;2005年
10 刘恒;面向多重需求的灵活可配的哈希算法硬件加速器研究[D];浙江大学;2016年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978