Google研究人员宣布完成全球首例SHA-1哈希碰撞!
2004年的国际密码讨论年会(CRYPTO)尾声,我国密码学家王小云及其研究同事展示了MD5、SHA-0及其他相关杂凑函数的杂凑碰撞并给出了实例。时隔13年之后,来自Google的研究人员宣布完成第一例SHA-1哈希碰撞。
什么是SHA-1算法,什么是碰撞?
SHA-1(Secure Hash Algorithm 1,中文名:安全散列算法)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
由于算法的特点,消息摘要往往有以下特点:
难以由一个已知的散列数值,去推算出原始的消息在不更动散列数值的前提下,修改消息内容是不可行的对于两个不同的消息,它不能给与相同的散列数值
因此在信息安全中,有许多重要的应用,都使用了密码散列函数来实现,例如数字签名,消息认证码,甚至当你从网上下载文件,为了防止文件被篡改,很多网站也会公布文件相应的校验值。
而所谓哈希碰撞,简而言之就是:先得出一个字符串的哈希值,再根据这个值,逆算出另外一个不同的字符串——但保证它们的检验值完全一致。如果存在碰撞的可能,消息摘要的唯一性就被破坏,这个算法也不再安全。
2004年的国际密码讨论年会(CRYPTO)尾声,我国密码学家王小云及其研究同事展示了MD5、SHA-0及其他相关杂凑函数的杂凑碰撞并给出了实例(Collisions for hash functions MD4, MD5, HAVAL-128 and RIPEMD,rump session of CRYPTO 2004,How to Break MD5 and Other Hash Functions,EuroCrypt 2005)。这项研究当时轰动一时,直接宣告MD5算法不再安全。而人们对于SHA-1碰撞算法的研究也从未停止过,直到2月23日Google研究人员公布首例SHA-1哈希碰撞实例。
研究过程
这项研究成果来源于荷兰数学和计算机科学国家研究所和Google安全、隐私和反滥用研究小组的长期合作。两年前,Marc Stevens和领导Google反滥用研究团队的Elie Bursztein开始合作,利用Google的专业性和强大的计算能力,实现Marc对SHA-1的密码分析攻击。2013年时,Marc Stevens曾经发表论文阐述制造哈希碰撞的理论方法。
研究人员在他们的研究网站SHAttered上给出了两份内容不同,但是具有相同SHA-1的PDF文件。
1487904540368.jpg (24.1 KB, 下载次数: 0)
下载附件 保存到相册
2017-2-24 12:18 上传
根据Google博客给出的数据,改进后的shattered攻击完成这一次SHA-1哈希碰撞需要单一GPU计算110年。而传统的暴力搜索方式则需要单一GPU计算12000000年,即便是拥有强大计算能力的Google也无力承担。
安全建议
SHA-1哈希算法本身存在缺陷,这就导致理论上一直存在碰撞可能,而这次碰撞实例的出现更是完全否定了算法的安全性。SHA-1的应用众多,比如浏览器证书、Git管理代码仓库,甚至校验文件是否相同,所以将SHA-1替换为更安全的算法就显得尤为紧迫。实际上早在2014年,Chrome浏览器就不再推荐SHA-1算法的浏览器证书,微软Edge浏览器、Firefox浏览器都在计划逐步淘汰SHA-1算法。在博客中,Google建议大家切换到更安全的SHA-256和SHA-3算法。
90天后,Google还会提供代码让大家生成两份拥有相同SHA-1值而内容不同的PDF文件。
研究网站:https://shattered.it/
相关论文:https://marc-stevens.nl/research/papers/SBKAM17-SHAttered.pdf
Google研究人员宣布完成全球首例SHA-1哈希碰撞!的更多相关文章
- MPU6050首例整合性6轴的姿态模块(转)
源:MPU6050首例整合性6轴的姿态模块 Mpu6050为全球首例整合3轴陀螺仪.3轴加速器.含9轴融合演:MPU-6000为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速 ...
- 全球首个全流程跨平台界面开发套件,PowerUI分析
一. 首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...
- 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)
作者 智晓锋 - 2014/07/14 自从斯诺登曝光美监听丑闻事件之后,我国政府就将信息安全问题上升到了国家安全的高度.基于此.国内的一家创业公司推出了智能型Android真机白盒測试以及开发辅助类 ...
- 联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595
联发科发布全球首款搭载Android TV的智能电视系统芯片MT5595 admin 资讯 01-07 1 1月7日消息,联发科宣布与Google共同开发出全世界第一个搭载Android TV操作系统 ...
- [转]BSD系统正在死亡?一些安全研究人员这样认为
摘要:在代码安全上被关注太少,漏洞没有被报告修补,FreeBSD.OpenBSD和NetBSD还能活下来吗? 在德国莱比齐的34c3网站上,IOActive的渗透测试主管Ilja von Sprund ...
- 全球首款iOS模拟器出炉!在违法的边缘疯狂试探
对于许多智能手机用户,特别是手游玩家来说,在手机屏幕的方寸之间进行操作显然并非特别方便,而且在多年之前,由于手机配置不足,也导致了用PC来玩手游的需求不断涌现.彼时,BlueStacks及夜神等一众A ...
- 全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23
作者 | 临石.元毅.冬岛.衷源.天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon ...
- KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码
KubeEdge开源背景 KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章. KubeEdge即Kube+ ...
- 阿里重磅开源全球首个批流一体机器学习平台Alink,Blink功能已全部贡献至Flink
11月28日,Flink Forward Asia 2019 在北京国家会议中心召开,阿里在会上发布Flink 1.10版本功能前瞻,同时宣布基于Flink的机器学习算法平台Alink正式开源,这也是 ...
随机推荐
- monkeyscript - 定制化monkey流程
作为移动端测试必须掌握的初级Android稳定性工具:monkey,提到它时,脑海里一般涌现出两句话: 1.我会用,很简单 就是一行命令,一回车就开始跑起来了 2.使用问题多,不好用 太随机,很多操作 ...
- 使用Publish Over SSH插件实现远程自动部署
背景: 现场的部署环境开放外网环境困难,只有一台机器能够开发外网,应对该情况,所有的补丁文件需要直接在master机器上面生成,然后命令移动到其他的服务器上面去. 这里使用到了jenkins的Publ ...
- Selenium自动化初级/中级网络授课班招生
近期学习selenium和appium的测试人员越来越多,应广大刚接触UI自动化以及对selenium想要更深入了解的测试人员的要求,特请一位资深测试架构师为我们开课讲解selenium,以及如何设计 ...
- MyBatis 详解(一对一,一对多,多对多)
1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且 ...
- python开发部署时新增数据库中表的方法
在项目版本让运维部署时,涉及到数据库表的增加问题,想了一下,可以有四种方法 1.使用SQLAlchemy的db.create_all()方法 # -*- coding:utf-8 -*- from f ...
- Excel 一键上传到数据库
<a class="edit" id="batchImport"> 批量导入 </a> js代码弹窗: $("#bat ...
- 流畅python学习笔记:第十五章:上下文管理器
在开始本章之前,我们首先来谈谈try-excep..final模块.在Python中,进行异常保护的最多就是用try..except..final.首先来看下下面的代码.进行一个简单的除法运算.为了防 ...
- Java 字符排序问题
Java 字符排序问题 未专注于排序算法,而是写了一个MyString类,实现了comparable的接口,然后用Arrays的sort方法来实现排序.我觉得这道题的难度在于如果比较两个.因为大小写的 ...
- Git时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- 移动端https抓包那些事--进阶篇
上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ...