首页 > 代码库 > Google震惊密码界:攻破SHA-1加密技术
Google震惊密码界:攻破SHA-1加密技术
在美国的2月23日,Google在密码学领域干了件大事,它提交了第一次成功的SHA-1碰撞攻击。谷歌宣布找到SHA-1碰撞的算法,需要耗费110块GPU一年的运算量,并将在90天后公布源码。
1、首先说说,什么是SHA-1?
SHA-1,被称作哈希(Hash)算法,一个非常流行的加密散列函数。在许多安全协议中广为使用,通常被用做密码加密,文件校验等,曾被视为MD5的后继者,且存在不可逆性。
简单来讲:
比如,我有一个网站,用户在注册的时候会输入用户名和密码。大家都知道如果密码是明文的方式存储在数据库里的话,那么这个数据一旦泄漏或者内部人员作恶的话,会造成信息安全问题。
所以通用的做法是,把用户输入的用户名密码做MD5或SHA-1的运算,这时会生成一个哈希值字串。
举例:把“卡拉是条狗”保存为一个TXT文件,计算出这个文本文件的哈希值为b32200d4f3b0c50c5ce7e9801aecbcdce6adcbcc。
因为这个算法的“不可逆”性,仅凭b32200d4f3b0c50c5ce7e9801aecbcdce6adcbcc这串哈希值无法反计算出明文是什么。
2、再来说说,SHA-1碰撞是怎么一回事?
当散列函数有漏洞,两个文件产生相同的哈希值时,就产生了碰撞。
作为证明,Google在公布的结果中,显示了两个不同的PDF文件,经过SHA-1处理后,产生了相同的哈希值。
3、SHA-1碰撞会产生什么危害?
这里,为了能够简单易懂,我们先将SHA-1碰撞比喻成军事领域上的情报传递。
首先,传递的情报一定都是加密的,不会明文。
通过校验密文,我们可以保证接收到情报的正确性(加密的结果是唯一的,可以保证信息不被篡改),但是这次的问题在于,通过某种方式,我们造出了能得到相同密文的情报C。
通过校验密文,我们可以保证接收到情报的正确性(加密的结果是唯一的,可以保证信息不被篡改),但是这次的问题在于,通过某种方式,我们造出了能得到相同密文的情报C。
那么这时候,接受到密文a的人就懵逼了,究竟是该执行进攻,还是执行待命呢?
而SHA-1碰撞就好似接收情报,因为它与合法文件有一样的哈希值,所以会让攻击者滥用恶意文件。
此外,Google 在发表 SHA-1 冲突新闻的Shattered.it 网站上表示:
我们已经通过这个实例演示了如何攻破 SHA-1 加密。
这项被业内广泛用于数字签名、文件完整性验证、以及保护广泛的数字资产(包括信用卡交易、电子文档、开源软件资源库与软件更新等)的加密标准,现已被实际证明可精心制作出两份冲突的 PDF 文件。
它们包含了不同的内容,却拥有相同的 SHA-1 数字签名,意味着一个有效签名可被另一份 PDF 文件所滥用。
举例来说,别有用心的人可以利用这种方法制作两份内容不一致的租赁协议,然后用低价‘副本’欺骗他人‘签下’价格更高的那份合约。
当然,想要达成 Google 这样的“成就”并非易事,因之实际上共执行了9,223,372,036,854,775,808 次 SHA-1 计算(9×10^18);破解分为两阶段,分别需要一个CPU 进行 6,500 年,和一个GPU 进行 110 年的计算才可完成。
4、作为普通用户,我们需要恐慌吗?
显然,Google找到新的破解算法,可以利用110块GPU,一年内完成破解。这里我们不妨猜想:如果是地下黑产,面对一个高价值的目标,会不会动用掌握的数百万台肉鸡电脑的计算能力,在更短的时间内完成碰撞攻击呢?
做为一种老旧的加密演算法,SHA-1 渐渐被后来者如 SHA-2 和 SHA-3 新演算法,以及各种变体取代。三大浏览器 Chrome、微软 Edge / IE 和火狐浏览器都决定弃用 SHA-1。截至今年的1月1日,当你访问一个经由SHA-1加密的网站时,每一个主流的浏览器都会向你发出警告(一般情况是全屏红色),当证书过期后,浏览器将无法存取这些网站。Google 方面也建议 IT 人士采用 SHA-256 等更安全的算法,所以不必过于担心。
随着硬件能力高速发展,GPU已取代CPU来处理数据,导致原有的加密技术面临走下神坛的危机。而任何的安全都是当下的安全,相信时间会改变这一切!
Google震惊密码界:攻破SHA-1加密技术
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。