今日有消息报道荷兰阿姆斯特(CWI)研究所和谷歌研究人员发布了世界上第一例公开的SHA-1哈希碰撞实例。
在现实世界里,哈希碰撞事件也确有发生。如利用 MD5 碰撞伪造合法 CA 证书,进而攻击 HTTPS 安全体系。
消息称,CWI 研究所的 Marc Stevens 是此次攻击的关键人物,2016 年找到了SHA-1算法内部的核心组件 internal compression function 的一个碰撞实例,开始攻克 SHA-1 完全实际碰撞攻击。近日在 Google 的强大资源支持下,终将 SHA-1 算法的碰撞实例展示出来。
此次攻击使用了强大计算资源,Google Security Blog 公布数据:
Nine quintillion (9,223,372,036,854,775,808) SHA1 computations in total
6,500 years of CPU computation to complete the attack first phase
110 years of GPU computation to complete the second phase
规模程度看实验配图:
如使用暴力搜索,使用的计算资源 Google 也会无法承担,而改进的 Shattered 算法只需要 110 个 GPU 年就可以完成第二阶段的搜索任务。
安全建议
消息指出,SHA-1 碰撞攻击影响了大量现有的安全应用,目前许多部署的 SSL/TLS 服务连接中均使用了 SHA-1 算法作为消息验证的基本密码学原语,因此受到该攻击的影响;Git 如今依然使用 SHA-1 作为文件的消息“指纹”;Android 系统中应用 APP、升级包、Bootloader 等模块的签名机制(RSA + SHA-1)也广泛受到影响。
有资料显示,SHA-1 算法的后继算法早已被研究人员设计和推广,SHA-2 算法家族在2001年就已经公布,而NIST在经过多年的SHA-3设计竞赛后,在2015年正式推荐 Keecak 算法家族作为 SHA-3 的候选算法。中国国家密码管理局同样在2010年底发布了我国自主的国密SM3消息摘要(密码杂凑)算法。
Google 公司和 IT 安全研究人员也曾呼吁大家尽快更换 SHA-1 算法。此次事件也警示着各位:赶紧为安全的系统启用新的 Hash 算法吧!
本文来自开源中国社区 [http://www.oschina.net]