不再安全?SHA—1算法解密

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:siery
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  最近谷歌公布了一个攻破SHA-1算法的实例,谷歌可以制作出两个SHA完全相同的文件,这让目前很多仍在使用SHA-1算法的网站感到威胁。那么什么是SHA-1算法?它是怎么对我们的文件进行保护?谷歌又是怎样进行破解?本文将一一解析,并对使用什么更好的算法来保护而给出一些建议。
  知识扫盲 了解算法到底是个什么鬼


  说到加密,几乎每个网虫都要接触到,无论是访问网站、论坛,还是下载、发送邮件、QQ信息,这些常见的网络活动都在使用各种各样的加密来进行保护。举个简单的例子,当我们在网站下载一些类似Windows 10安装系统这些大型文件的时候,下载网站经常会在下载地址后方列出一些类似MD5:D09F6E80E9F681084991990C4EE62A1C、SHA1:261FA93907D2A987C268646618C1E2C158CBF307这样的数值代码,这些其实就是MD5、SHA1算法的数值,用它来表明下载文件的“身份”(图1)。
  安全护身符 加密算法是怎么保护文件的安全


  因为文件在网络传输的时候可能会被其他人篡改,或者由于网络原因造成损坏,为了保证文件的唯一性,确保用户下载或者接收到的是同一文件,文件发送者会根据文件特征生成一个哈希值,这个哈希值就类似我们的指纹数据。文件常见的哈希值有MD5、SHA1、CRC等。SHA-1值是通过哈希算法生成的,该算法是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程,而且只要文件经过任意更改(比如更改某篇文章任意一个字母),那么文件的SHA-1值就会发生变化,因此可以很好地保护文件的完整性(图2)。


  比如在上述下载例子中,如果一些不怀好意的人在Windows 10安装文件中添加木马文件,那么用户再将这个文件重新上传到网站后,安装文件的SHA-1值就发生变化。这样为了确保我们下载到的是正确的官方文件,一般先要到官网(或者原始发布网站)获取文件的初始SHA-1值,下载后再对下载的文件进行SHA-1值校验,确保SHA-1值是一致的。SHA-1值校验可以借助Hash校验工具来完成,通过生成的SHA-1值来和网站提供的原始SHA-1值比对,如果完全一样则表明下载的文件没有被更改过(图3)。


  当然SHA-1值的保护并不仅仅用在文件校验上,对于常见的网站访问,为了确保用户安全访问,现在很多采用SSL加密的“https://”安全网站(购物、在线支付网站)也是使用SHA-1算法来防止自己的身份被冒充。比如我们常用的12306购票网站,在浏览器输入https://kyfw.12306.cn/otn/后可以在地址栏后面看到一个小锁加密标记(图4)。
  大家知道由于网络钓鱼网站层出不穷,那么网站是怎么确保用户浏览器访问的就是真正的官网?以上述12036网站为例,首先12036网站会设计一个证书,证书由SRCA颁发(SRCA即Sinorail CertificationAuthority,中文名叫中铁数字证书认证中心,默认不被IE信任,所以要安全访问12036就需要安装其提供的证书,并放置在受信任根证书下)。这些证书通过哈希算法生成一个SHA-1值。网站证书的具体算法,可以在lE地址栏点击小锁标记后,在弹出的菜单选择“查看证书”,切换到“详细信息”,可以看到12036使用的签名算法正是“sha1”哈希算法(图5)。


  這样当证书安装在我们的系统后,12036网站生成的证书SHA-1值就会保存在本地电脑上。以后当我们在浏览器地址栏输入https://kyfw.12306.cn/otn/时,由于该网站存在证书,因此IE会计算12036网站服务器证书信息的SHA-1值,然后与被证书用作身份证明的原始SHA-1值(即安装证书后在本地保存的原始SHA-1值)作比较。如果两个值是相同的,浏览器就确认当前获取证书的SHA-1值和本地保存的SHA-1值是一致的,从而在浏览器打开12306的网站(图6)。
  对于仿冒的钓鱼网站,即使仿冒者也在网站服务器生成证书的SHA-1值,由于这个证书文件和用户本地安装的不同,因此它们的SHA-1值是不同的,IE浏览器校验出不同后就无法打开12306的网站,从而可以保护用户访问网站的正确性。这个校验过程其实和上述下载文件类似,下载文件是官网直接提供SHA-1值,用户下载后自行比对,网站校验则是浏览器自动完成比对,但是原理是一样的。
  并非万无一失 SHA-1值校验有漏洞
  通过上面的介绍大家知道了SHA-1值校验的原理,因为SHA-1值是通过哈希函数算法生成的,理论上我们可以通过特定的运算生成同样的SHA-1值(专业术语叫做碰撞)。比如最近谷歌就构造出两个SHA-1值完全相同的PDF文件(但是实际内容却是不同的文件),这样在进行SHA-1值校验的时候,计算机就会认为这是相同的同一个文件,从而实现SHA-1值算法的“破解”。这样对于使用SHA-1值校验的网站(如上述的12306网站),伪造者如果为一个钓鱼网站伪造出和12036网站证书一样的SHA-1值,那么浏览器访问时就会自动认为钓鱼网站就是12306官网,从而造成访问者的损失。
  不过哈希算法仍然要涉及到大量的运算,如最新哈希碰撞仍要多达2^57.5步,100个GPU大约需要计算一年时间才能完成计算,并且花费要在几十万美元。因此对于个人用户文件的校验,目前SHA-1值算法仍然有很高的安全性,但是对于在线支付、银行网站这些高安全性的网站,他们就需要使用强度更高的SHA256,甚至SHA512算法,只有这样才能更好地保护访问者的安全。
其他文献
在知识经济扑面而来的创新时代 ,河北省高校文科学报的编辑策划意识正在逐渐增强。但策划不力的问题仍较严重 ,具体表现是前期调查准备工作不足 ,许多策划达不到前瞻性、创造
★某些同学考试时脑袋偏转的角度不要超过黄赤交角。(监考时说的)★这位同学,你的灵魂现在比大西洋还遥远。★太阳耀斑爆发是很可怕的,但我要是被惹火了的话,会比耀斑还可怕
200对产史不良夫妇外周血染色体分析广东省湛江市妇幼保健院遗传室(524038)李洁吴群陈明产史不良包括:自然流产,畸胎、死胎、死产。防止染色体异常儿出生,对优化人口素质有重要意义。虽然对
减少蚊媒数量是防治丝虫病的一个重要方面。旨在消灭丝虫病的蚊媒防制计划的最适持续时间取决于成虫产微丝蚴的年限。据1989年Vanamail等的估算,班氏丝虫的生育期仅为4—5年
民族史专家、我校博士生导师周伟洲教授所主编的《英国、俄国与中国西藏》一书 ,目前由中国藏学出版社正式出版。该著作为中国社会科学基金资助项目之一 ,代表了国内外学界在
用联大茴香胺法测定了包头血站提供的36份正常人血清中铜蓝蛋白活力,结果表明:正常人血清在旋磁场中曝磁30分钟后,血清铜蓝蛋白活力增加。 The activity of ceruloplasmin in 36 no
内皮素(ET)是一种高效能的血管收缩肽,最新的研究表明ET可分为三类,即ETI,ET-2及ET3。ET.1不仅广泛分布于心血管,而且分布于非心血管组织,起着自主分泌及副分泌的压力调节,体液容量及离
家族性嗜酸粒细胞增多症颇为罕见,现将我们所遇到一家二代4例报告如下:1病历摘要例1:先证者,男,54岁。因反复性咳嗽咯痰5年,再发加重IW于1992年6月26日入院。查体:T36。2,浅表淋巴结
随着信息技术的发展 ,人们可以通过条码技术与自动识别技术 ,实现对期刊的零售结算、分拣、计算、借阅等过程的自动化管理 ,把自己从繁杂的手工操作中解放出来 ,并收到简便、
用外科手术方法将健康成年SD大鼠睾丸淋巴管阻断,观察阻断后不同时间睾丸间质的变化。阻断后2天,间质呈现炎症反应,炎性细胞浸润,血管扩张。阻断后6天,间质出现灶状增生,间质细胞梭化:数