Google宣布攻破加密哈希算法SHA-1,从此SHA-1不再安全!

谷歌在周四宣布,完成了真实世界的第一次碰撞攻击,创造了两个SHA-1完全相同的PDF文件。此举意味着,SHA-1从2005年开始就被质疑到如今正式要摇摇欲坠。科学家称,预计在明年,只需花费17万美元购买云计算服务(2015年时70万美元),就可以全网破解SHA-1。

NetSmell 出品

SHA-1(安全哈希算法)在许多加密安全协议中广泛使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,通常我们在从网上下载一些镜像和重要文件的时候(甚至软件自更新时的校验),也会比对MD5和SHA-1值。

Google宣布攻破加密哈希算法SHA-1,从此SHA-1不再安全!0

谷歌在周四宣布,完成了真实世界的第一次碰撞攻击,创造了两个SHA-1完全相同的PDF文件。此举意味着,SHA-1从2005年开始就被质疑到如今正式要摇摇欲坠。

科学家称,预计在明年,只需花费17万美元购买云计算服务(2015年时70万美元),就可以全网破解SHA-1。

当然,本次碰撞攻击的计算量相当于单CPU连续处理6500年再加上GPU连续处理110年,现在还没有单一黑客可以搞定。

对于普通用户,其实意义不大,关键是网站管理员和开发人员能尽快转移到SHA-2(如SHA-256)或者SHA-3。

在外部支持方面,微软Edge和Internet Explorer已于月初放弃SHA-1签署的TLS证书,Mozilla今年7月1日停止,Chrome 56会对SHA-1加密认证的HTTPS的网页提示不安全。

另外值得一提的是,我国还有百万的Windows XP SP2用户,但该系统完全不支持SHA-2。

Google宣布攻破加密哈希算法SHA-1,从此SHA-1不再安全!1

加密散列碰撞是什么?

当两组不同的数据——可以作为文件、二进制文件或者网站证书存在的哈希值如上图所示具有相同的摘要内容时,即视为二者发生碰撞。实际上,安全的散列函数不应存在这种碰撞现象。然而,在使用SHA-1等存在一定缺陷的散列算法的情况下,拥有充裕资源的攻击者确实能够实现这种碰撞结果。攻击者随后可以利用碰撞欺骗依赖于散列机制的系统,引导后者将原本的良性文件替换为拥有同样摘要的恶意文件——例如两份内容完全不同的保险合同。

寻找SHA-1碰撞

2013年,Marc Stevens曾发表一篇论文,专门介绍了创建SHA-1碰撞的理论性方法。谷歌首先创建了一份专门作的PDF前缀,用以生成两份拥有任意不同内容的文档,但二者同时具备相同的SHA-1摘要。不过要在实践中重现这种理论性攻击,谷歌必须克服一系列新的挑战。此后,谷歌利用谷歌的技术专长与云基础设施计算碰撞情况,这也是谷歌截至目前已完成的规模最大的计算任务之一。

下面这些数字应该能让大家更为确切地感受此次计算任务的规模水平:

  • 总计900万兆(即百万的五次幂,具体为9,223,372,036,854,775,808)次SHA1计算。
  • 要完成攻击的首个阶段需要单一CPU计算6500年。
  • 要完成攻击的第二阶段需要单一GPU计算110年。

Google宣布攻破加密哈希算法SHA-1,从此SHA-1不再安全!3

虽然这些数字看似非常巨大,但SHA-1破坏性攻击的速度仍然较暴力破解攻击快10万倍,这意味着前者确实具有可行性。

降低SHA-1碰撞风险

着眼于未来,安全从业者比以往更为迫切地需要转而使用更加安全的加密散列算法,例如SHA-256与SHA-3。根据谷歌公司的漏洞披露政策,谷歌将在发布代码之前等待90天,且允许任何创建两份拥有相同SHA-1散列摘要但图像内容彼此不同的PDF文档,同时遵循一部分前提条件。为了防止此类攻击手段被主动使用,谷歌为Gmail及G Suite用户提供额外的保护措施,供其检测谷歌的PDF碰撞技术。另外,谷歌也在为公众提供一套免费的检测系统。

显示余下内容
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注