MD5和SHA-1加密算法被我国密码学家王⼩云破解
MD5和SHA-1加密算法被我国密码学家王⼩云破解
如果说MD5和SHA-1是当今各种信息安全体系所依赖的⼤厦基⽯,那么现在,这些⼤厦的基础已经出现了很⼤的裂缝,甚⾄,有崩塌的危险。
全球学界震惊,美国军⽅⽹络在内的重⼤安全体系⼈⼈⾃危……
在8个⽉以前,⼈们还以为在全球⼴泛应⽤的MD5和SHA-1都是值得信任的安全的数字签名算法;8个⽉后的今天,曾经值得信赖的数字签名体系,令⼈震惊的两次“碰撞”将这两种应⽤最⼴的签名加密算法都逼上了绝路。
MD5和SHA-1这两种应⽤最为⼴泛的数字签名加密算法都被⼭东⼤学的数学教授王⼩云破解,业界感到震惊的同时,也开始对今天⼴泛应⽤的数字签名算法体系进⾏反思,我国于2005年4⽉1⽇开始实施的《电⼦签名法》也开始承受各种压⼒。
两次“碰撞”惊世界
在参加过2004年国际密码学会议(Crypto’2004)的专家们看来,“⼀觉醒来,⼀切都变了”。来⾃中国⼭东⼤学的王⼩云教授在Crypto’2004上做的破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,令在场的国际顶尖密码学专家都为之震惊。该次会议的总结报告中这样写道:“我们该怎么办?MD5被重创了,它即将从应⽤中淘汰。SHA-1仍然活着,但也见到了它的末⽇。现在就得开始更换SHA-1了。”
MD5算法是1991年发布的⼀项数字签名加密算法,它当时解决了MD4算法的安全性缺陷,成为应⽤⾮常⼴泛的⼀种算法。作为Hash函数的⼀个应⽤实例,MD5本⾝也存在漏洞,但在⼗多年的研究及应⽤过程中,⼈们⼀直没有到能够在可接受的时间及计算能⼒范围内迅速破解该算法的技术,因⽽这种理论上的瑕疵并没有影响MD5的应⽤。事实上,以MD5为应⽤代表的Hash函数的研究在国际密码学界早已
不是热门,因⽽,王⼩云在“Crypto’2004”上发布的报告令整个密码学界醍醐灌顶,国际同⾏们开始研究王⼩云的理论,希望能沿着这条新路到更多宝藏。
在MD5被王⼩云踩在脚下之后,世界密码学界仍然认为SHA-1是安全的算法。2005年2⽉7⽇,美国国家标准技术研究院(NIST)对外宣称,SHA-1还没有被攻破,并且也没有⾜够的理由怀疑它会很快被攻破。仅在⼀周之后,王⼩云教授再度令世界密码学界⼤跌眼镜——SHA-1也被她“碰撞”了。
SHA-1的应⽤范围或许⽐MD5更加⼴泛,其安全性较MD5要⾼出很多。SHA-1是美国国家标准技术研究院(NIST)与美国国家安全局(NSA)共同设计的,⼀些重要的场合都选择SHA-1来做数字签名。美国政府更是早在1994年就开始采⽤了SHA-1算法。因此,SHA-1被破的消息⼀经传出,在国际社会的反响甚⾄超出半年前MD5被破时的情景。NIST表⽰,为配合先进的计算机技术,美国政府5年内将不再使⽤SHA-1,并计划在2010年前改⽤先进的SHA-224、SHA-256、SHA-384及SHA-512的数字签名加密算法。
在我国,MD5和SHA-1也是在实际应⽤中最⼴泛的两种数字签名算法,包括⽹上银⾏等⾦融业务在内的很多数字签名都采⽤SHA-1或MD5算法。在《电⼦签名法》实施后,数字签名算法的可靠性将提升到可影响司法取证结果的⾼度。
王⼩云教授取得的成果之所以能引起全球密码学界的⼴泛关注,⼀⽅⾯是由于在实⽤密码体系中MD5
和SHA-1确实是应⽤最为⼴泛的极为重要的两个算法,因⽽这个成果具有难以估量的实际意义;另⼀⽅⾯则是因为她发明了⼀种可以迅速⽽有效地验证⼀系列Hash函数算法健壮性的⼯具,从⽽令Hash函数的⼀些隐含弱点更快地暴露在⼈们眼前,这在学术研究上具有更⼤的理论价值。
Hash函数遇窘境
Hash函数⼜称杂凑函数,⽤于摘要算法,它是将不定长的明⽂信息经过复杂的运算得到⼀个定长的数值,这就是“签名”。摘要算法与⼀般的对称或⾮对称加密算法不同,它并不⽤于防⽌信息被窃取,⽽是⽤于证明原⽂的完整性和准确性,也就是说,数字签名主要是⽤于防⽌信息被篡改。
由于Hash函数产⽣定长的数字签名,其结果是个有限的集合,⽽待签名的明⽂信息可以是计算机⽹络上传输的任意信息,也就是说,明⽂信息是⼀个⽆限集合,两个集合之间其实⽆法构成⼀⼀对应的关系,总会有多个明⽂信息产⽣相同的数字签名的情况发⽣,这就是所谓的“碰撞”。不过Hash函数的可靠性在概率上仍可以算法的健壮性来保证,数字签名类似指纹,只要选择⾜够安全的算法,产⽣碰撞的概率就会⾜够⼩,可令现代最先进的计算设备也不出“碰撞”,这样算法就不会被破解了。
MD5和SHA-1就曾经被认为是⾜够安全的Hash算法。虽然早在1994年就有研究报告指出,如果⽤运算能⼒最强的机器,平均⽤24天就可能到⼀个MD5的碰撞,但这个⽅法的效率和成本在现实中并不具备实际的意义。王⼩云在接受本报记者独家采访时透露,她独创的“模差分”算法可以⽤⼀般性能的计算机
在两个⼩时内就到MD5的碰撞,已经为实际应⽤提供了可能。
记者与⼀位曾经是国内顶级⿊客的信息安全界的朋友探讨过王⼩云教授取得的这两项成果,这位朋友私下告诉记者,其实国内的⿊客们很早就注意到王⼩云教授的研究成果了,他们认为,王⼩云的⼯作更重要的意义在于证明了MD5和SHA-1等⼀系列Hash值的分布是有明显规律的,这就从理论上将以往常⽤的穷举式试验攻击的难度降低到难以想像的地步,“现在是两个⼩时,我相信肯定有⾼⼿已经在研究如何优化利⽤王⼩云的成果了,实际应⽤中的破解是迟早的事⼉”。
事实上,最近已有外电报道称国际密码专家Lenstra利⽤王⼩云教授的⽅法,伪造了符合X.509标准的数字证书,这说明MD5的破解已经不只是理论上的成果。同时,王⼩云教授对本报记者表⽰,现在媒体报道中提及的SHA-1碰撞在理论上虽然被破译,但“离实际应⽤还有⼀段距离,这个具体的时间还不好说,虽然MD5的碰撞从理论到实际应⽤只⽤了半年时间,可是SHA-1的算法要⽐MD5复杂很多,没有发⽣的事情谁也不好讲,我只能说我们已经掌握了⽐以往更强⼤的研究⼯具,因⽽研究的进展会加快很多。”
王⼩云教授在接受采访时还表⽰,其实对于HAVAL-128、MD4和RIPEMD等算法的破解也是⾮常重要的成果,只是媒体在炒作中往往忽略了这些细节,“如果没有MD5和SHA-1的破解,像HAVAL-128、RIPEMD这些算法的研究结果也是⾮常重要的,虽然MD4很早就被MD5替换了,但是今天我们掌握的⽅法可以⽐以往更迅速地到‘碰撞’,这套⽅法是最重要的,这⽐到某⼀两个算法的碰撞更为重要。”
在王⼩云教授看来,Hash函数遇到这样的“裂缝”事件倒也未必是坏事,“现在最重要的⼯作是应该尽快设计出更安全的算法,⽽这项⼯作在很⼤程度上也取决于我们掌握的评估⼯具”,王⼩云告诉记者,“模差分”⽅法正是这样⼀套完备的算法研究与评估的⼯具。
数字签名待拷问
对于王⼩云教授来说,⽆论破解现有的算法还是设计新的算法,都只是理论上的⼀种研究;但是对其他⼈来讲,王⼩云教授给出的“碰撞”早已超出了两篇论⽂的冲击。
2005年4⽉1⽇,也就是记者截稿的这⼀天,《电⼦签名法》在我国开始正式实施,这部法律规定,可靠的电⼦签名与⼿写签名或盖章具有同等的法律效⼒,⽽⾯对这种关键的数字签名算法产⽣的新问题,电⼦签名法的实施将⾯临⼀次考验。
早在去年8⽉王⼩云教授公布MD5碰撞的研究成果时,中国⾦融认证中⼼(CFCA)就在其⽹站上发布了⼀份声明,该声明称:“CFCA在建⽴之初,已经对MD5以及其他算法进⾏了安全性评估。因此,在CFCA提供的应⽤产品和服务中,并没有采⽤MD5等不安全的算法,⽽是采⽤了安全的SHA-1算法,⽤户可以放⼼地使⽤;CFCA提供的安全应⽤⼯具包默认使⽤的哈希算法也是SHA-1算法,考虑到⼯具包对其他应⽤的互操作性要求,⼯具包也提供了MD5算法,如果⽤户在使⽤⼯具包进⾏开发时,不使⽤默认的算法⽽采⽤了MD5算法,请⽴即修改⾃⼰的程序,采⽤默认的SHA-1算法,以避免MD5的缺陷产⽣
的影响。”这份声明⾄今还挂在CFCA的⽹站上,但声明中提到的“安全的SHA-1算法”显然已被王⼩云教授的最新研究成果证明是和“曾经安全的MD5”⼀样不再值得⼈们信赖了。
不过,王⼩云教授也表⽰,现在对SHA-1的研究仍是理论破解,并未像MD5那样已经有实际应⽤的例⼦,所以⼈们还没有必要对银⾏存款之类的安全问题产⽣太多的担⼼。但没有⽴即的威胁出现并不表⽰会⼀直太平⽆事,对于有关部门来说,确实该考虑提前将SHA-1换成更安全的算法了。
对于SHA-1碰撞的实际意义,王⼩云教授的合作者,参与过SHA-1算法研究的尹依博⼠曾在美国接受媒体采访时透露,现在使⽤王⼩云教授的⽅法,要到SHA-1的⼀个碰撞,需要的计算能⼒⼤约相当于⽤5万台超级计算机⼯作100年,这已经超出了现有计算资源的能⼒范围。同时,尹博⼠也指出,这并不能排除近期内SHA-1快速到实际碰撞的可能性,她也认为尽快将SHA-1更换到更安全的算法是很有必要的。
随着王⼩云教授的研究成果被越来越多的⼈所了解,业界对于MD5和SHA-1在数字签名中的应⽤开始逐渐分化成两种态度。
来⾃学术界的研究⼈员多认为MD5和SHA-1的安全性既然已经⽆法在技术上绝对保证,那么在实际的应⽤中就应该尽可能地考虑到算法漏洞的影响,⾄少在法律上,这些已经被证明不够安全的算法不应该再作为数字签名的法律依据。
如何破解密码 ⽽企业⾯对的问题就没有那么单纯,如果这些算法必须更换,那就意味着对部分产品的前期投⼊成为浪费,尤其是芯⽚级的固件,加密算法⼀经写⼊就很难更改,产品的⽣命周期随着所采⽤的加密算法的失效将⾛到尽头。所以对于这些企业来说,更换算法就意味着更换产品,随之⽽来的就是成本的增加;不更换算法,产品就要在未来承受未知的安全风险,⼀旦出现问题,后果更为严重。
某信息安全企业的技术总监告诉记者,既然王⼩云教授的研究成果从理论到实际上都撼动了Hash函数这个数字签名算法的根基,现在留给业界的将是看起来⽭盾重重的混乱局⾯,“包括我们在内的很多⼚商都要尽快考虑更换算法的问题,尤其是在数字签名中应⽤了MD5算法的产品,升级已势在必⾏。虽然没有哪家企业愿意对外公开这种影响,但这个⼯作⼤家都必须尽快着⼿去做了。”
国际顶尖密码学专家对王⼩云研究成果的评价:
Ronald L.Rivest(2002年图灵奖获得者,RSA密码发明⼈之⼀,MD5的创造者,世界最权威的密码学专家之⼀):
我的研究⽅向之⼀是“Hash函数”,这种函数是⽬前许多密码系统应⽤的核⼼。我曾经设计过⼀些Hash函数,其中的MD5由于拥有优越的⾼效及安全性能,得到了普遍的认可和⼴泛的应⽤。尽管有⼈曾发现MD5函数的某些⽅⾯存在着安全隐患,但⼀直以来,MD5都⽆法被破解。此外,还有许多其他的密码Hash函数(如SHA-1,RIPEMD等)情况也类似。
然⽽令⼈惊异的是,在王⼩云教授的带领下,MD5函数和其他⼀些Hash函数在近期都被破解了。MD5函数⼗⼏年来经受住了众多密码学专家的攻击,⽽王⼩云教授却成功地破解了它,这实在是⼀种令⼈印象极深的卓越成就,是⾼⽔平的世界级研究成果。这些结果⽆疑给⼈⾮常深刻的印象,她应当得到我最热烈的祝贺。当然,我并不希望看到MD5就这样倒下,但⼈必须尊重真理。
Adi Shamir(2002年图灵奖获得者,RSA密码发明⼈之⼀,SSSS的创造者):
关于王⼩云教授所做的⼯作,我想强调的是她所研究的Hash函数是近15年来密码研究学中最不活跃的领域。所有主要的Hash函数早在1980年代末或1990年代初就已经被发展和定型,并且后来⼏乎也没有再出现有过关其安全性的研究成果。⽽王教授的研究以独特的⽅式打破了这种沉闷的局⾯,并对该领域的理论研究和实际应⽤产⽣了极⼤的影响。特别是⼀些被⼴泛应⽤的Hash函数,如MD5,将不会再被使⽤。⽽未来的Hash函数将会以新的设计原则来发展。
MD5和SHA-1算法
MD5和SHA-1都属于散列(Hash)算法,其作⽤是可以将不定长的信息(原⽂)经过处理后得到⼀个定长的摘要信息串,对同样的原⽂⽤同样的散列算法进⾏处理,每次得到的信息摘要串相同。Hash算法是单向的,⼀旦数据被转换,就⽆法再以确定的⽅法获得其原始值。事实上,在绝⼤多数情况下,原⽂的长度都超过摘要信息串的长度,因此,在散列计算过程中,原⽂的信息被部分丢失,这使得原⽂⽆法
从摘要信息重构。散列算法的这种不可逆特征使其很适合被⽤来确认原⽂(例如公⽂)的完整性,因⽽被⼴泛⽤于数字签名的场合。
如果除了原⽂之外,对于另外⼀段不同的信息进⾏相同散列算法,得到的摘要信息与原⽂的摘要信息相同,则称之为碰撞,散列算法通常可以保证碰撞也很难根据摘要被求出。
MD5(RFC1321)诞⽣于1991年,全称是“Message-Digest Algorithm(信息摘要算法)5”,由MIT的计算机安全实验室和RSA安全公司共同提出,之前已经有MD2、MD3和MD4⼏种算法。MD5克服了MD4的缺陷,⽣成128bit的摘要信息串,出现之后迅速成为主流算法,并在1992年被收录到RFC中。
SHA诞⽣于1993年,全称是安全散列算法(Secure Hash Algorithm),由美国国家安全局(NSA)设计,之后被美国标准与技术研究院(NIST)收录到美国的联邦信息处理标准(FIPS)中,成为美国国家标准,SHA(后来被称做SHA-0)于1995被SHA-1(RFC3174)替代。SHA-1⽣成长度为160bit的摘要信息串,虽然之后⼜出现了SHA-224、SHA-256、SHA-384和SHA-512等被统称为“SHA-2”的系列算法,但仍以SHA-1为主流。
MD5和SHA-1是当前应⽤最为⼴泛的两种散列算法。常见的Unix系统⼝令以及多数论坛/社区系统的⼝令都是经MD5处理后保存其摘要信息串,在互联⽹上,很多⽂件在开放下载的同时都提供⼀个MD5的信息摘要,使下载⽅(通过MD5摘要计算)能够确认所下载的⽂件与原⽂件⼀致,以此来防⽌⽂件被篡改。
MD5和SHA-1还常被⽤来与公钥技术结合来创建数字签名。当前⼏乎所有主要的信息安全协议中都使⽤了SHA-1或
MD5,包括SSL(HTTPS就是SSL的⼀种应⽤)、TLS、PGP、SSH、S/MIME和IPSec,因此可以说SHA-1和MD5是当前信息安全的重要基础之⼀。
不过,从技术上讲,MD5和SHA-1的碰撞可在短时间内被求解出并不意味着两种算法完全失效。例如,对于公⽂的数字签名来说,寻到碰撞与寻到有特定含义的碰撞之间仍有很⼤的差距,⽽后者才会使伪造数字公⽂成为现实。但⽆论如何,王⼩云教授所掌握的⽅法已经为短时间内寻到MD5或SHA-1的碰撞成为可能,这⾜以使经过MD5或SHA-1处理的数字签名再也难以成为法律认可的依据。
注:为啥发这个⽂章呢,因为CSDN把这个⽂章搞成VIP才能看。可恨。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论