谷歌公告:SHA-1 哈希算法被攻破

collision-attack-sha-1.png

谷歌宣布攻破 SHA-1 技术的研究成果,Git 强依赖 SHA-1 引出 Linus 本人出面回应。作为非战斗人员,面对持续的“高能”安全漏洞如何保护自己?

加密学哈希算法 SHA-1 被誉为密码学的瑞士军刀。哈希算法在我们日常的网络安全、代码仓库安全、甚至是确认文件的完整性方面扮演着重要的角色。哈希函数可以为大量数据生成为很小的信息摘要。依照密码学需满足大规模使用的要求,算法设计使得两个不同内容的消息要得到相同的信息摘要在计算量上难以达成。然而时过境迁,算法设计当初的需求定义会遭遇基于算法数学基础上的攻击和硬件计算能力提升而产生的风险

今天,在 SHA-1 首次发布的20年后,Google 宣布了首次可操作的生成冲突的技术。这是 Google 与 CWI Institute 合作 2 年的研究成果。为了证明他们确实掌握了攻击的方法,他们发布了2个 PDF 文件,两个文件的内容是不同的,但经过 SHA-1 算法哈希后却能得到相同的信息摘要。

shattered.png

上图是 Google 发布的证据,两个不同内容(背景蓝色和背景红色)的 PDF 文件,经过 SHA-1 计算后却得到相同的信息摘要。

什么是哈希碰撞

密码学的哈希算法(Hash),例如 MD5 和 SHA-1,就是可以将任意长度的信息映射成固定长度的信息。一个文件 Doc 1 通过哈希算法后会得到 42C1..21 这样的一段信息摘要(digest),只要文件 Doc 1 没有被修改过,通过相同的哈希算法总是得到相同的信息摘要。另一个文件 Doc 2 因为内容与 Doc 1 不同,通过哈希算法后就会得到不同的信息摘要 3E2A..AE。通过这样的方式,我们就可以用这套算法来保证数据的完整性,保证文件不会被篡改。

Collision-illustrated.png

哈希碰撞 指的就是算法出现问题的情况,通过某种攻击手段,攻击者可以创造出一个 Bad doc,让它通过哈希算法后却得到与 Good doc 相同的数字摘要 3713..42。也就是说,有人可以修改信息的内容,而不能被你察觉到。如果攻击者掌握了这套攻击手段,所有依赖哈希算法验证文件是否被篡改的系统都变得不再可靠了。

哪些系统会受影响?

任何依赖 SHA-1 做数字签名的应用程序都将受影响。包括:

  • 数字证书签名
  • 邮件 PGP/GPG 签名
  • 软件发布签名
  • 备份系统
  • 冗余热备份系统
  • Git

Git 高度依赖 SHA-1,由于算法出现漏洞,重要的代码就有被篡改却无法被检查出来的风险。这次算法漏洞公布迫使 Linus 本人发声回应,他的部分观点是:

I doubt the sky is falling for git as a source control management tool. Do we want to migrate to another hash? Yes. Is it "game over" for SHA1 like people want to say? Probably not.

翻译:我不信代码管理软件的天就要塌了。Git 要不要迁移到新的哈希算法呢?要。但 SHA-1 真如人们所说的要完蛋了吗?未必。

不过,Linus 的回应遭到了猛烈抨击,说 Linus 已经年老色衰,判断力不行了。

非技术人员应该怎么保护自己

作为非战斗人员,我们可能平时接触不到这些算法,但我们永远都需要提高安全意识。下面是一些避免自己受伤的几点建议:

  1. 不在电脑或手机中安装未知来源的软件
  2. 不随意下载和打开未知来源的文档
  3. 尽量在软件官网和 App Store 下载软件,不信任软件下载站点和网盘
  4. 在不同网站(或 app)使用不同的密码
  5. 重要文件离线保存
  6. 电脑和手机一定要设定密码,尽量开启全磁盘加密

(完)


Stuff I Learned Yesterday 系列文章与你分享科技、设计、娱乐有关的话题。欢迎关注、打赏和转载。

原文链接:谷歌公告:SHA-1 哈希算法被攻破

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上学期选修了一门信息安全讨论,期末的时候是写一个关于信息安全方面的报告,找本科毕设精简一下交上去,被老师发现了,开...
    cutoutsy阅读 3,474评论 0 1
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,480评论 4 36
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,683评论 0 6
  • 所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供...
    Nutbox_Lab阅读 3,160评论 1 3
  • 婚姻五年,我好似一直在无视——弟弟爸,他其实还是挺细心的。 1 一天中午,弟弟爸迷糊睡着,弟弟在床上爬来爬去。弟弟...
    师爷是枚美男子阅读 326评论 0 0