Google和Centrum Wiskunde & Informatica(荷兰国家数学和计算机中心,CWI)的研究人员完成了针对第一例SHA-1(安全哈希算法)真实世界的碰撞攻击,创造了两个hash值完全相同但内容截然不同的文件。
1995年,首次引进了SHA-1算法。2005年才宣布了针对加密哈希函数的首批攻击。这些攻击经过了数年演变。2015年,研究人员透露,通过使用亚马逊EC2云服务,可将SHA-1碰撞攻击的成本降至75,000–120,000美元。
尽管谷歌、Facebook、微软和Mozilla等公司已采取措施替换SHA-1算法,但哈希函数仍在广泛使用。 微软要在2017情人节拦截SHA-1加密网站 因为第三者插足的中间人攻击越来越多
Google和CWI实现了SHA1碰撞
Google和CWI现在终于找到了一个碰撞,表明这些攻击已经变得越来越切实可行。该项技术被称为“SHA-1 shattered”或“SHAttered”。
“我们可以使用复杂的方式,通过很多特殊的密码分析技术和改善以往工作,来发现这种碰撞。” 专家在文中指出:“本次碰撞攻击的计算量为2的63次方,相当于单CPU连续处理6500年再加上GPU连续处理100年。”
SHA1哈希是什么
SHA-1是1995年国家标准技术局NIST(National Institute of Standards and Technology)于1995年标准化的哈希函数。与前身MD5相比,SHA-1的输出长度更长(MD5输出长度为128bit,而SHA-1的输出长度为160bit),这也意味着出现哈希碰撞的概率更低。同时,SHA-1的安全性似乎也比MD5更好。
SHA1碰撞实现了什么效果?
来看看 知乎上 @刘巍然-学酥 评论。
现在我们可以看看,Google的工作(同样也是Stevens的工作)到底是什么?我们直接引用此工作官方网站(原始链接: SHAttered )的介绍吧:
We have broken SHA-1 in practice.
我们从应用角度破解了SHA-1。This industry cryptographic hash function standard is used for digital signatures and file integrity verification, and protects a wide spectrum of digital assets, including credit card transactions, electronic documents, open-source software repositories and software updates.
这一工业界应用的密码学哈希函数标准被用于数字签名、文件完整性验证中,并在多个领域保护着人们的数字财产,这些数字财产包括信用卡交易、电子文档、开源软件仓库、软件更新等。It is now practically possible to craft two colliding PDF files and obtain a SHA-1 digital signature on the first PDF file which can also be abused as a valid signature on the second PDF file.
在实际中,我们可以构造两个SHA-1结果相同的PDF文件。这使得第二个文件SHA-1后的数字签名可以通过第一个文件SHA-1后数字签名的验证。For example, by crafting the two colliding PDF files as two rental agreements with different rent, it is possible to trick someone to create a valid signature for a high-rent contract by having him or her sign a low-rent contract.
举例来说,可以构造两个SHA-1结果相同的PDF租赁协议文件,协议文件中标注的租金不同,但高租金文件的SHA-1后签名结果与低租金文件的SHA-1后签名结果一样。这样,可以让租赁方在低租金文件上签字,再用高租金文件替换,达到伪造租赁协议文件的目的。Attack Proof
攻击证明Here are two PDF files that display different content, yet have the same SHA-1 digest.
下方有两个PDF文件,其显示的内容不同,但SHA-1摘要结果相同。
从论述中可以发现,Stevens等人成功构造了两个PDF文件( 这是有意义、可以真正打开的文件 ),使得SHA-1结果相同!这可是比较夸张了… 我们来看看这两个文件。
- 第一个文件的下载链接为: https://shattered.it/static/shattered-1.pdf
- 第二个文件的下载链接为: https://shattered.it/static/shattered-2.pdf
第一个文件打开后是这样的:
第二个文件打开后是这样的:
惊到了好吗!不光是能打开的PDF,PDF的内容竟然还有意义!这让我感觉Stevens的工作可不是找到了一组碰撞那么简单。实际上,官方网站后续的说明也侧面说明了这一点:
File tester
文件测试Upload any file to test if they are part of a collision attack. Rest assured that we do not store uploaded files.
请上传任意文件,来检测文件本身是否可能被这种攻击威胁。我们保证不存储您所上传的文件。
56万美金只能完成部分的SHA1碰撞攻击
尽管该任务的计算规模非常巨大(9,223,372,036,854,775,808次),但是SHAttered攻击方法比暴力攻击快100000倍。
第一阶段攻击是在Google的异质CPU集群上进行的,并扩展至8个物理地址。第二阶段攻击代价更高,是在Google的K20、K40和K80异质GPU集群上进行的。
研究人员计算得出,使用亚马逊云服务进行第二阶段的攻击,耗资约560,000美元。但是,若攻击者足够耐心并利用现场案例的优势,成本可降至110,000美元。
Google已成功演示了此次攻击,他们发布了两个内容截然不同但SHA-1哈希值完全相同的PDF文档。根据Google漏洞披露政策规定,本次SHAttered attack的研究者需要等待90天才能发布原始代码。
这些碰撞攻击可对很多系统造成严重威胁,包括数字证书、邮件签名、软件更新、备份系统和版本控制工具(如Git)。
SHA1碰撞攻击工具发布
为了帮助用户识别这些攻击,shattered.io网站上在线公布了一款免费扫描文档中SHA-1碰撞攻击的工具。Gmail和Google Drive中也集成了该防护方案。然而,谷歌和CWI希望此类攻击,能够加快业界转而使用SHA-256和SHA-3算法的步伐。
MWR InfoSecurity的高级安全研究顾问David Chismon向《商业周刊》表示说:
“虽然攻击需要大量的CPU和GPU计算,但预计还是在能够承受云计算时间来应对碰撞攻击的国家或人们的能力范围内。”
Chismon补充说道:
“希望谷歌在将真实世界攻击变为可能方面所做的新努力能够让厂商和基础设施管理者快速摒弃产品中的SHA-1算法和配置。尽管SHA-1是一项过时的算法,一些厂商还是会出售一些不支持现代散列算法的产品,或者对支持现代散列算法的产品收取额外费用。然而,这一天能否在恶意攻击者有能力利用这个问题来获取利益之前到来,我们拭目以待。”
如果转载,请注明出处及本文链接:
http://toutiao.secjia.com/hash-values-same-but-content
如果此文章侵权,请留言,我们进行删除。
0day
文章评论