时代的改变 总在转瞬之间 今天在网上突然传出了一个信息安全界的重磅消息: (SHA-1算法被谷歌破解) Google 不仅宣布了这个消息,还直接做了一个网站:https://shattered.io/ 可能差友们对这些信息都看得一脸懵逼,所以今天差评君就带差友们好好研究下件事到底有多厉害~ 网站截图 网站一点废话都不说,开门见山一句:我们已经实际破解了 SHA-1 在继续看下去之前,先来一些干货,SHA-1 是什么? SHA-1 其实是 SHA 家族的第二个成员(第一个成员是 SHA-0 ),SHA全称安全散列算法( Secure Hash Algorithm ),本质上是一个散列(Hash)函数~ 散列函数实际的功能是把任意长度比较长的内容通过一种运算变成比较短的固定长度的内容( SHA-1 是固定变成160的长度)。 再简单点讲其实就是我们日常生活中的任何文件,利用 SHA-1 之后都能得到一串160位的信息~ 差评君随便计算了一个文件的SHA-1值 (SHA-1那一行用16进制显示出来就是40个数字~) 所以这串数字到底有什么用呢? 这串数字有点像人类的指纹,世界上找不出两个一模一样的指纹,所以我们验证身份一个人的时候,只要验证下指纹是不是一致,就能确定是不是冒名顶替。 对应到文件,假设 SHA-1 是没有漏洞的算法的话,那就不存在两个不一样的文件会有一样的 SHA-1 值,所以只要 SHA-1 值一样,那么基本上文件也是一样的~ 在实际生活中,软件可以算出一个 SHA-1 的数值,如果他被人恶意篡改, SHA-1 值就会被改变。 于是用户只要对比下 SHA-1 值是不是和官方提供的一样就能确保文件的正确性~ 这种做法被广泛的利用与互联网的各个地方用以确保安全,直播,比如网站的证书签名、文件校对、开源软件的代码仓库管理~ Git 的历史版本都会对应一个 SHA-1 数值 (利用数值可以唯一确认代码的版本以及保证文件的完整性) 当然,前提 SHA-1 没有漏洞,所以硬要找还是能找到相同数值的情况的。。。 这种情况被叫做碰撞( Collision ), 谷歌这次就是把这种情况给找出来了~ 而且还实际利用上了。。。 网站上直接给出了证明 (左边的pdf上面是蓝色的,而右边的pdf上面是红色的,但是两个文件的 SHA-1 值却一模一样) 为此差评君还特地把两个pdf下载了下来试了一下。。。 (还真的是一模一样的 SHA-1) 这意味着,攻击者可以偷偷修改文档的内容,去替换被攻击者的文档,而被攻击者就算校验了 SHA-1 值也发现不了。。。 谷歌给出了图例 我们平时用的软件也很可能被黑客恶意篡改: 官网上关于GIT会不会受到影响的回答 大意是:GIT十分依赖于 SHA-1 算法,攻击者十分有可能可以创建出拥有同样 hash 数值的不同源代码(一份正常的一份右后门的),随意提供给想要攻击的目标。 (责任编辑:本港台直播) |