【重磅消息】SHA-1不再安全,Google团队发现第一个碰撞实例

http://p0.qhimg.com/t01c7afada94fccc1cb.jpg

翻译:pwn_361

预估稿费:100RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


        前言

SHA-1密码哈希函数是一个密码学家的瑞士军刀。你会发现哈希在浏览器安全、管理代码库、甚至是检测存储重复文件方面都发挥着重要作用。HASH函数能将大量数据压缩成一个小消息摘要。HASH加密被广泛使用的基本要求是:发现导致相同摘要的两个消息在计算上不可行。然而,随着时间的推移,由于攻击散列函数的数学基础和计算能力的不断发展,有些HASH函数已经不安全了。

今天,在引进SHA-1的10年后,我们宣布第一次实际技术性的产生了一个碰撞。这经过了两年的研究,包含了CWI Amsterdam和Google的合作。我们对如何产生下面的碰撞进行了总结。作为攻击的证明,我们发布了两个PDFs,它们有不同的内容,但是有相同的SHA-1哈希值。

对于技术群体,我们的研究结果强调了废除SHA-1的必要性。Google已经提倡弃用SHA-1好多年了,特别是当用于签发TLS证书时。早在2014年,Chrome团队就已经宣布他们将逐步淘汰SHA-1。我们希望我们对SHA-1的攻击实践能让“该协议不应再被认为是安全的”在每个人心里更加牢固。

我们希望我们对SHA-1的实际攻击,能让业界认识到将SHA-1替换成更安全的方案已经迫在眉睫。

什么是密码HASH碰撞? 

碰撞发生在两个不同的数据块—一个文档、一个二进制、一个网站的证书等–结果拥有了一样的摘要值,如上所示。在实际中,安全散列函数永远不应该发生碰撞。然而,如果散列算法有一定的缺陷,如SHA-1,一个资金雄厚的攻击者就可以制造出碰撞。攻击者可以利用碰撞欺骗系统,这些系统根据HASH来接收一个恶意文件,从而代替了它的良性副本。例如,两个条款截然不同的保险合同。

http://p9.qhimg.com/t0191d05e38f98fbcf5.png

https://p2.ssl.qhimg.com/t018b33747ed5a7179f.jpg

发现SHA-1碰撞

2013年,Marc Stevens发表了一篇论文,提出创建一个SHA-1碰撞的理论方法。我们开始通过创建一个专门制作的“PDF prefix”,让我们产生两个任意视觉内容的文件,但是它们能产生一样的SHA-1摘要。在实践中建立这一理论攻击时,我们必须克服一些新的挑战。于是我们利用了Google的技术专长和云基础设施完成有史以来最大的计算量,并计算出了碰撞。

这里有一些数字,让人们感觉一下这个计算的规模有多大:

1.总共九百亿亿次(9,223,372,036,854,775,808)SHA-1计算量。

2.完成攻击的第一阶段,单个CPU需要计算6500年。

3.完成攻击的第二阶段,单个GPU需要110年。

http://p9.qhimg.com/t01e4b23a1ccb2d7cee.png

虽然这些数字似乎非常大,但是SHA-1粉碎攻击方法已经很快了,它比暴力攻击快100000倍,暴力攻击仍然是不实际的。

减轻SHA-1碰撞攻击的风险

现在,安全从业人员需要将它迁移到更安全的密码散列上,如SHA-256或SHA-3,这比以往更为迫切。根据Google的漏洞披露政策,我们将等待90天再发布代码,该代码允许任何人创建一对PDFs并产生相同的哈希摘要。为了防止这种攻击方法被积极的使用,我们通过探测我们的PDF碰撞技术,增加了Gmail和GSuite用户的安全性。此外,我们向公众提供免费的检测系统。

你可以找到更多关于SHA-1攻击和我们技术的详细研究概述。

关于团队

这一研究结果是CWI研究所和Google(Google安全研究、隐私和防滥用团体)长期合作的产物。

 http://p3.qhimg.com/t01a225a18ea5d4beb9.png

参考

The first collision for full SHA-1:

https://shattered.io/static/shattered.pdf 

SHA-1 shattered:

http://shattered.it/ 

(完)