|
发表于 2017-2-24 23:33:14
|
|阅读模式
来自北京
马上注册,结交更多好友,享用更多功能,让你轻松玩转安陆网。
您需要 登录 才可以下载或查看,没有账号?注册
x
Google 的安全团队刚刚创造了计算机加密学在 2107 年的第一个里程碑:他们攻破了 SHA-1 安全加密算法。
+ |- ~* W7 U I0 c& ^: l; W" w ^) o# @8 _
这是一件相当令人感到激动的事件,原因还要从 SHA-1 到底是个什么东西说起。# ]0 I% ?$ N7 @! u
SHA-1 是什么?SHA-1(全称 Secure Hash Algorithm-1)是一种安全加密算法,最主要的用途是数字签名。
6 S* n( M% G( C2 e% B/ Q举个例子:你肯定在电脑上下载过软件吧?是否记得,文件的上传者曾提醒过你,在下载后要校验文件?有没有见过类似于下图中这样的文字?
) A: O! U3 x3 k D) O. g
O g, Q7 z6 z8 F9 e) A+ w这是因为,使用类似于 SHA-1、MD5 这样的哈希算法,对任何文件,无论文本文档、表格、音乐mp3、PDF、可执行文件等进行计算后,都会得出像上图中这样的字段(哈希值)。在过去只要文件不同,对应的哈希值都绝对不一样,就像是给每个文件都加上了数字的签名。
# v; V/ [( A' V I/ e就 SHA-1 来说,每个文件出来的哈希值应该是 40 个英/数字:比如上面这张图片的 SHA-1 值是:. W, @8 K0 c$ u0 f7 R
1E2FF30C5FD327C438F76C3ACBE97AAFB9AEDF7E对于下载者来说,原文件的哈希值很重要:当你下载了一个软件,用文件校验工具查看它的 SHA-1/MD5 值,如果和原文件的不一样,你就得小心了,因为文件显然被修改过了,而里面可能包含了病毒或其他恶意代码。
& k- {- u9 X' z" \ {+ h
: o. S3 S: A5 ^% `' {' @文件哈希值校验实例1 b" \3 Q6 s; v+ K! p0 J
SHA-1 和 MD5 是目前世界上最为常用的文件校验加密算法。其中,SHA-1 已经诞生 10 年之久,在过去一直被认为是比较安全和可靠的算法——直到今天。: }4 g4 P4 [& x# k7 _# Z# A
但是!Google 和 CWI 一起研究出了一种方法,能够让两个不同的文件,采用 SHA-1 演算之后,呈现出完全一致的哈希值。
% ~. b4 \2 _ F$ ~/ u怎样攻破的?
7 u' ]6 r2 _) @4 E
( ~0 ]$ I" [$ Z: ?% p" u4 p这次攻破被命名为 SHAttered attack。研究者提供了两张内容截然不同,在颜色上存在明显差异,但 SHA-1 哈希值却完全相同的 PDF 文件作为证明:+ _2 F. a5 G! r+ o" z
8 x$ u5 y8 k/ j# p2 k上方为两张截然不同的 PDF,下方是它们各自的 SHA-1 和 SHA-256 哈希值
8 F1 |$ Z! n4 V; ?9 x+ u- s, P在博客中,研究者写道:
. ?# Y( a! G9 |1 V% p) ]哈希碰撞(hash collision,即两个不同文件哈希值一致,也有译作哈希冲突)本来不应该发生。但实际上,当哈希算法存在漏洞时,一个有足够实力的攻击者能够制造出碰撞。进而,攻击者可以用去攻击那些依靠哈希值来校验文件的系统,植入错误的文件造成恶果。举个例子,两份条款完全不同的保单。
k- f6 e) y y- q; i# d7 j# i+ X 本次 Google 对其进行攻破花费了巨量的算力:总计 9,223,372,036,854,775,808——超过 9 兆(亿亿)次演算。
% l9 A7 k$ n' H研究者们介绍,破解分为两个阶段,分别需要一个 CPU 进行 6500 年,和一个 GPU 进行 110 年的计算才可以完成。这是因为他们采用了自行研发的 Shattered 破解方法,其效率远胜于使用暴力破解。而且 Google 云平台提供的大规模计算技术,显著减轻了负担。
5 A6 ?# R7 T% ]这也是为什么必须“有足够实力的攻击者”才能攻破……
]9 q9 J" {0 ^& o( ?需要恐慌吗……着急杀死 SHA-1,也是 Google 未雨绸缪的决定。2012 年安全技术专家布鲁斯·施奈尔曾经估计,完成一次 SHA-1 碰撞在 2012 年需要耗费 277 万美元,到 2015 年则降到 70 万美元,2021 年只需要 4.3 万美元。他还暗示,到 2018 年就会有犯罪集团具备伪造 SHA-1 签名证书的能力。
# J1 j2 d, ?& u( r5 Y& ]但至少目前,人们并不需要恐慌。首先就事件本身而言,普通网友不需要担心有人会用它做坏事,因为 Google 漏洞披露政策规定,本次 SHAttered attack 的研究者需要等待 90 天才能发布原始代码。就算掌握了代码,至少也得有 Google 这种水平的大规模计算能力……# H! K7 W* n: D9 s0 K
另外,研究者上线了一个网站 shattered.io,网友可以上去了解更多技术细节,还可以上传自己的文件,测试自己的文件是否安全。( e: p3 O6 g3 c2 H
; z* [7 t! {( ^' T, C$ n作为一种老旧的哈希算法,SHA-1 正在被其后来者,比如 SHA-2 和 SHA-3 新算法以及它们的各种变体所取代。三大浏览器 Chrome、微软 Edge/IE 和火狐浏览器都决定弃用 SHA-1。
t. c: Y3 j/ ?" O+ {6 O早在 2014 年,Google 就宣布了逐渐放弃 SHA-1 的决定。去年开始,Google 的 Chrome 浏览器已经不再支持 SHA-1 证书,会将其标记为不安全。当证书过期之后,浏览器将无法访问这些网站。Google 方面也推荐 IT 人士采用 SHA-256 等更安全的算法。8 U; \8 z: ~* H3 E$ @
微软 Edge 浏览器团队此前在其博客中表示,将于 2017 年中开始弃用 SHA-1。但据《福布斯》网络版报道,另一位安全专家凯文·贝尔蒙特则在 Twitter 上指出,弃用 SHA-1 的 Windows 安全更新本应该在 2 月早些时候推送,但仍处于延期发布的状态。+ M0 b6 r4 |' J- h3 @
9 j; K' y. Z# q W/ J1 \& y# q去年 10 月,火狐浏览器的开发商 Mozilla 也宣布了同样的决定。8 M9 d( }; u2 q( |, I2 e
- x* T9 o; x; G3 O. G
最后再送上:一张图看懂 SHAttered attack(Google 官方制作)
! s( t6 B7 {2 M |
|