SHA-1不再安全,Google团队发现第一个碰撞实例

华盟学院山东省第二期线下学习计划

1

  前言


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来接收一个恶意文件,从而代替了它的良性副本。例如,两个条款截然不同的保险合同。

1

 

发现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年。

1

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

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


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

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

关于团队


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

1

参考


The first collision for full SHA-1:

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

SHA-1 shattered:

http://shattered.it/

www.idc126.com

文章出处:安全客

本文由 华盟网 作者:congtou 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论