写点什么

Google 宣布攻破 SHA-1,从此 SHA-1 不再安全!

  • 2017-02-23
  • 本文字数:1381 字

    阅读完需:约 5 分钟

SHA-1 等加密散列函数可谓加密学家手中的瑞士军刀。无论是浏览器安全保护、代码库管理乃至检测存储介质的重复文件,散列技术都在其中发挥着重要作用。散列函数能够将大量数据压缩为体积更小的消息摘要。作为一项被广泛使用的加密方案,其最基本的要求就是在当前计算能力上无法找到摘要相同的两条消息。然而随着时间的推移,这一要求很可能在针对散列函数数学基础的攻击或者计算能力提升等因素的冲击之下不再具有保障。

时至今日,距离SHA-1 的最初发布已经过去了十年,我们正式公布第一套可实现碰撞的实用性技术方案。这套方案代表着阿姆斯特丹 CWI 研究所与谷歌公司过去两年中的合作研究成果。我们总结了如何着手生成一个下文所介绍的碰撞。另外,作为本次攻击活动的概念验证证明,我们还发布了两份具有相同 SHA-1 哈希值但内容并不相同的 PDF 文件

对于技术业界而言,我们的发现强调了避免使用 SHA-1 的必要性。谷歌公司多年来一直主张弃用 SHA-1 方案,特别是在 TLS 证书签署等场景之下。早在 2014 年,Chrome 小组就宣布将逐渐淘汰对SHA-1 的使用。我们希望自己针对SHA-1 完成的实际攻击能够进一步巩固这一结论,让更多人意识到其已经不再安全可靠。

我们亦希望这一针对SHA-1 的实际攻击案例能够最终说服整个技术业界尽快转向更为安全的替代性方案,例如SHA-256。

加密散列碰撞是什么?

当两组不同的数据——可以作为文件、二进制文件或者网站证书存在的哈希值如上图所示具有相同的摘要内容时,即视为二者发生碰撞。实际上,安全的散列函数不应存在这种碰撞现象。然而,在使用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 年。

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

降低 SHA-1 碰撞风险

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

感兴趣的朋友可以点击此处了解更多与SHA-1 攻击以及我们研究技术成果相关的细节信息。

原文链接: Announcing the first SHA1 collision

2017-02-23 17:3013907

评论

发布
暂无评论
发现更多内容

干货 | 解决 App 自动化测试的常见痛点(弹框及首页启动加载完成判断处理)

霍格沃兹测试开发学社

干货| app自动化测试之Andriod微信小程序的自动化测试

霍格沃兹测试开发学社

软件测试 | 测试开发 | 专项测试技术初识Hook

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | MockServer 服务框架设计

测吧(北京)科技有限公司

MockServer

软件测试 | 测试开发 | 测试人生 | 从外行到外包,从手工测试到知名互联大厂测开 这个90后小姐姐是怎么腾飞的?

测吧(北京)科技有限公司

测试人生

软件测试 | 测试开发 | 项目倒排,跟工期不足say byebye~

测吧(北京)科技有限公司

测试人生

干货 | 移动端App自动化之App控件定位

霍格沃兹测试开发学社

手把手教你如何进行拆解竞品

产品海豚湾

产品经理 需求分析 竞品分析 9月月更 市场调研

软件测试 | 测试开发 | 测试人生 | 拿到多个 offer 从了一线互联网公司并涨薪70%,90后小哥哥免费分享面试经验~

测吧(北京)科技有限公司

测试人生

LG稳居高地再布新棋 顺应需求领跑高端家电市场布局新生态

Geek_2d6073

WAIC|九章云极DataCanvas公司携因果学习技术成果精彩亮相!

九章云极DataCanvas

人工智能 开源 因果学习

「九章云极DataCanvas」完成C+轮融资,用云中云战略引领数据智能基础软件升级

九章云极DataCanvas

机器学习 数据智能

【中秋特辑】嫦娥妹妹,你别着急~

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

字节前端必会面试题

夏天的味道123

JavaScript 前端

软件测试 | 测试开发 | 测试人生 | 从传统行业到名企大厂,薪资翻倍,我做到了

测吧(北京)科技有限公司

面试

软件测试 | 测试开发 | 测试人生 | 毕业2年,拒绝独角兽入职名企大厂涨薪10万+,这个95后小姐姐好飒

测吧(北京)科技有限公司

测试人生

同频共振数据时代,AntDB数据库与永洪科技完成产品互认证

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

DevSecOps 落地三部曲|小孩子才做选择,极狐GitLab 安全、高效全都要

极狐GitLab

DevOps 运维 安全 DevSecOps 极狐GitLab

企业如何规划SRM供应商协同平台?实现最佳应用价值

数商云

数字化转型 企业数字化

热点直播 | 财务共享中心数字化转型,推动央企构建一流财务管理体系

望繁信科技

直播 技术干货

基于threejs中秋佳节之际带你遨游星空🌃

南城FE

前端 中秋 three.js

干货 | 读懂 Appium 日志,让测试效率翻倍!

霍格沃兹测试开发学社

CeresDB 技术架构简介

TRaaS

#开源项目

干货 | 背熟这些 Docker 命令,面试再也不怕啦~

霍格沃兹测试开发学社

干货 | 谁懂这篇文,玩游戏还会卡顿?

霍格沃兹测试开发学社

干货|APP自动化Android特殊控件Toast识别

霍格沃兹测试开发学社

TDengine 如何进行 SQL 写入?官方最全教程来了

TDengine

数据库 时序数据库 企业号九月金秋榜

百度工程师教你玩转设计模式(工厂模式)

百度Geek说

Java 设计模式 企业号九月金秋榜

软件测试 | 测试开发 | 测试人生 | 疫情之下,1个月内涨薪50%拿下亿级流量金融上市公司新 offer,我柠檬了~

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试人生 | 年薪50w+ 并入职名企大厂,这是双非学历小哥哥给自己30岁的礼物

测吧(北京)科技有限公司

测试人生

跟我一起学mybatis

楠羽

mybatis 笔记 9月月更

Google宣布攻破SHA-1,从此SHA-1不再安全!_Google_Marc Stevens_InfoQ精选文章