安全哈希算法SHA-1已完全不可靠,请尽量避免使用!
Posted 网络安全与网络战
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全哈希算法SHA-1已完全不可靠,请尽量避免使用!相关的知识,希望对你有一定的参考价值。
“通过对
安全哈希算法SHA-1的破解研究,有学者发现
SHA-1已经完全不可靠了。使用GnuPG,OpenSSL和Git的用户可能会受到普通攻击者切实的攻击威胁。”
概念验证攻击已率先推出,可以“完全,切实地”打破安全哈希算法1(SHA-1)的代码签名加密,传统计算机使用它来对证书进行签名,以对软件下载进行身份验证并防止人为干预和中间篡改。
该漏洞利用程序是由Inria France和新加坡南洋理工大学/淡马锡实验室的学术研究人员GaëtanLeurent和Thomas Peyrin共同开发的。他们指出,由于这种攻击比以前的PoC破解的复杂性减少了很多,并且破解成本也便宜得多,因此可以将此类攻击置于具有普通资源的普通攻击者的能力范围内。
研究人员写道:“这项工作一劳永逸地表明,SHA-1不应该用于任何希望从散列函数获得某种抗冲突性的安全协议中,” “继续将SHA-1用于证书或TLS或SSH中的握手消息的身份验证是危险的,而且破解技术的迅速发展,该漏洞有被恶意利用的具体风险。自2004年以来,SHA-1的安全性已被破坏,但仍在许多安全系统中使用。我们强烈建议用户删除SHA-1支持,以避免降级攻击。”
考虑到SHA-1的足迹,Leurent和Peyrin表示GnuPG,OpenSSL和Git的用户可能会立即面临危险。而且,在向后兼容的情况下,用户可能会体验到过时
的哈希函数的降级加密连接,即使在SHA-1不是默认值的情况下,这也为攻击打开了大门。
由NIST开发的SHA-1在过去五年中已被淘汰,因为越来越多的破坏它的攻击突然出现。例
如,去年微软宣布将不再向使用SHA-1的计算机提供WindowsOS更新,理由是存在针对SHA-1的已知冲突攻击。当攻击者能够生成签名与原始证书相同的证书时
,就会发生冲突。
如今,所有主要的浏览器和大多数应用程序都无法识别使用SHA-1签名的证书,很少有证书颁发机构仍支持它,并且NIST自2011年起已弃用该证书,但考虑到一些历史原因,它仍然远远没有被完全弃用。
特别是,广泛使用的加密程序Pretty Good Privacy(PGP),用于对文本,电子邮件,文件,目录和整个磁盘分区进行签名,加密和解密,并且在电子邮件安全通信中发挥着重要作用,默认情况下使用SHA-1。
Venafi的研究人员在周三发布的分析PoC中解释说:“它仍然是GnuPG的传统1.4版本中用于认证PGP密钥的默认哈希函数,GnuPG是PGP应用程序的开放源代码,用于加密电子邮件和文件。”
但这并不是SHA-1剩下的唯一堡垒。Venafi研究人员补充说:“ Git是用于管理多人软件开发的全球使用最广泛的系统,它仍然依靠SHA-1来确保数据完整性。而且许多依赖HTTPS加密的非Web应用程序仍接受SHA-1证书。TLS和SSH协议中的协议内签名仍然允许SHA-1。”
该漏洞主要针对PGP,是另一种碰撞攻击,但与以前的PoC相比,它大大降低了希望破坏SHA-1的攻击者的门槛。研究人员基于以前的漏洞利用方法,这些方法昂贵且执行起来很复杂,因此,新的碰撞破解,他们专注于提高攻击效率,以使其切实可行。
Leurent和Peyrin在论文中写道:“我们的工作表明SHA-1在使用数字签名时实际上已被完全破坏了。”他们补充说:“我们设法显着降低了针对SHA-1的冲突攻击的复杂性:在Nvidia GTX 970上,现在可以计算相同前缀的冲突,其复杂度为2的61.2幂,而不是2的2幂。64.7,选择前缀冲突的复杂度为2的63.4幂,而不是2的67幂。
这种攻击实质上允许威胁参与者通过创建与受害者的密钥相同的PGP密钥来冒充合法用户。然后,这将使攻击者能够拦截电子邮件通信,进行中间人攻击,劫持会话等。
研究人员解释说:
“通过利用OpenPGP和JPEG格式的属性,我们可以创建两个公用密钥:
具有受害者名称的密钥A,以及具有攻击者名称和图片的密钥B,这样包含攻击者密钥和图片的身份证书具有相同的SHA-1哈希作为包含受害者密钥和名称的身份证书。
因此,攻击者可以从第三方(从Web of Trust或从[证书颁发机构])请求其密钥和图片的签名,并将签名转移到密钥A。
由于冲突,签名仍然有效,而攻击者则使用受害者的名字并由第三方签名来控制密钥A。
因此,他可以冒充受害者并以她的名字签署任何文件。
”
更糟的是,甚至不需要选择SHA-1即可使攻击起作用,它仅需相关的系统实现支持该算法即可实现攻击。
该论文称:“我们强调,当协议支持多种哈希函数时,即使实施支持SHA-1,即使实施中未选择SHA-1,也可能发生这些攻击。中间人攻击者将迫使双方使用SHA-1。”
实际上,实现攻击需要计算能力和处理器资源。研究人员说,他们为试错过程和计算支付了756,000美元,但是使用更先进的GPU和已知的攻击方法,成本可能低至50,000美元。在某些情况下,成本可能低至11,000美元。
他们说:“这显然是合理的攻击者所能达到的。GPU技术的改进和总体计算成本的降低将迅速使我们的攻击变得更加便宜,这几乎可以在不久的将来使任何恶意的攻击者成为可能。”
最重要的是用户,管理员和开发人员应尽快切换到下一代SHA-2。目前升级进程取得了一些进展。根据研究结果,GnuPG的开发人员已通过停止在2.2版中使用它来实施了一项对策;OpenSSL的开发人员表示,他们正在考虑删除对SHA-1的支持。该论文还指出,GIT开发人员一直在努力替换SHA-1,他们使用冲突检测库来减轻冲突攻击的风险。
尽管GnuPG已删除了对2.2版的SHA-1支持,但研究人员在论文中警告说:“ GnuPG(v1.4)的“经典”分支[仍然]默认情况下仍使用SHA-1进行身份认证,并且仍然存在使用SHA-1签名的密钥数量不可忽略。”
以上是关于安全哈希算法SHA-1已完全不可靠,请尽量避免使用!的主要内容,如果未能解决你的问题,请参考以下文章
谷歌公告:SHA-1 哈希算法被攻破
开发者正为Git开发新的哈希算法
Microsoft 根证书计划弃用 SHA-1 哈希算法
什么是 SHA 加密? SHA-1 与 SHA-2
哈希算法在电子数据取证中的应用探讨
[HASH]哈希算法综述