MD5碰撞创造假的认证数字证书
AreYouOK?
2009-01-06
自从2004年山东大学的王小云教授在国际密码讨论年会上,展示了MD5、SHA-0及其他相关散列函数的冲撞以来,MD5和SHA家族(特别是MD5)的安全性正日益受到挑战,新的突破不断出现。随之计算机能力的不断提高,这些密码学者的研究迟早要进入实用阶段。MD5终将像DES那样谢幕。
http://it.solidot.org/article.pl?sid=09/01/01/050232 引用 在第25届Chaos Communication Congress(CCC)会议上,研究人员透露他们可以用MD5碰撞创造假的数字证书认证(certificate authority),利用200台PS3,他们能在短时间破解SSL加密。 当你通过HTTPS安全连接访问网站时,一个数字证书将从服务器发送到你的电脑上。证书包含了一个验证网站身份的数字签名。签名来自数字证书认证中心(CA),它的角色相当于中间人。你信任CA,也就信任它的签名。任何人都能创造一个数字证书,因此浏览器如Firefox 3有一个可信任的CA列表,如果CA值得信任,浏览器就会认为它的证书也是可信的。CA使用的公开密钥也在逐步进化,从MD5算法到现在比较流行的SHA-1和SHA-2。安全研究人员和数学家几年前就证明,MD5算法、SHA-0和SHA-1算法都是弱安全的,可通过碰撞方法破解。 在CCC大会上,安全研究人员利用200台PS3攻击MD5算法,创造了一个假的来自可信CA的数字证书。研究人员表示用不着恐慌(PDF),受影响的CA可以换用SHA-1、SHA-2,甚至是SHA-3。
http://zh.wikipedia.org/w/index.php?title=MD5&variant=zh-cn 引用 MD5较老,散列长度通常为128位,随着计算机运算能力提高,找到“碰撞”是可能的。因此,在安全要求高的场合不使用MD5。
2004年,王小云证明MD5数字签名算法可以产生碰撞[1]。2007年,Marc Stevens,Arjen K. Lenstra和Benne de Weger进一步指出通过伪造软件签名,可重复性攻击MD5算法[2]。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash值。 2008年,荷兰埃因霍芬技术大学科学家成功把2个可执行文件进行了MD5碰撞,使得这两个运行结果不同的程序被计算出同一个MD5[3]。2008年12月一组科研人员通过MD5碰撞成功生成了伪造的SSL证书,这使得在https协议中服务器可以伪造一些根CA的签名。[4] 然而SHA也不是固若金汤 引用 2005年2月,王小云与其同事提出SHA-1杂凑函数的杂凑冲撞。由于SHA-1杂凑函数被广泛应用于现今的主流电脑保安产品,其影响可想而知。王小云所提的杂凑冲撞算法只需少于2^69步骤,远少于一直以为所需的2^80步。
|
|
徐风子
2009-09-03
不看不知道,原来md5真的岌岌可危了。
|
|
kongzimengsheng1
2009-11-29
早听说王小云,不过我个人感觉,md5 sha-1 未必就再也不能用了 瞎说一句,别见笑 |
|
cuixiping
2009-12-15
用双重认证呢?
既验MD5,又验SHA,两个同时出现碰撞的几率我估计要再小很多了。。。 即使是MD5+CRC32,同时碰撞的几率也相当的小。。。 |
|
nail2008
2010-04-26
cuixiping 写道 用双重认证呢?
既验MD5,又验SHA,两个同时出现碰撞的几率我估计要再小很多了。。。 即使是MD5+CRC32,同时碰撞的几率也相当的小。。。 很多下载网站已经在这么干了。 |
|
zme0527
2010-08-24
换成ECC吧
|
|
OpenMind
2013-05-30
经常看到MD5碰撞,有谁能给一个碰撞的实例?
|