MyException - 我的异常网
当前位置:我的异常网» 信息/网络安全 » 散列算法:SHA-1,SHA-2跟SHA-256之间的区别(下)

散列算法:SHA-1,SHA-2跟SHA-256之间的区别(下)

www.MyException.Cn  网友分享于:2013-09-28  浏览:0次
散列算法:SHA-1,SHA-2和SHA-256之间的区别(下)

SHA-1与SHA-2

如上所述,SHA代表安全哈希算法。SHA-1和SHA-2是该算法不同的两个版本,它们的构造和签名的长度都有所不一样,但可以把SHA-2理解为SHA-1的继承者。

首先,人们一般把哈希值位数长度作为重要的区别,SHA-1是160位的哈希值,而SHA-2是组合值,有不同的位数,其中最受欢迎的是256位。

因为SHA-2有多种不同的位数,导致这个名词有一些混乱。但是无论是“SHA-2”,“SHA-256”或“SHA-256位”,其实都是指同一种加密算法。但是SHA-224”,“SHA-384”或“SHA-512”,表示SHA-2的二进制长度。还要另一种就是会把算法和二进制长度都写上,如“SHA-2 384”。

SSL行业选择SHA作为数字签名的散列算法,从2011到2015,一直以SHA-1位主导算法。但随着互联网技术的提升,SHA-1的缺点越来越突显。从去年起,SHA-2成为了新的标准,所以现在签发的SSL证书,必须使用该算法签名。

也许有人偶尔会看到SHA-2 384位的证书,很少会看到224位,因为224位不允许用于公共信任的证书,512位,不被软件支持。

初步预计,SHA-2的使用年限为五年,但也许会被提前淘汰。这需要时间来验证。

下面是SSL证书的SHA-1和SHA-2签名对比

两者在表面上似乎没有什么特别,但是数字签名对于SSL / TLS的安全性具有重要的作用。

哈希值越大,组合越多,其安全性就越高。加密哈希算法的一个重要功能是产生独特的散列,当两个不同的值或文件可以产生相同的散列,则会创建所谓的碰撞。

只有在不发生碰撞时,才能保证数字签名的安全性。碰撞对于哈希算法来说是极其危险的,因为碰撞允许两个文件产生相同的签名。当计算机检查签名时,即使该文件未真正签署,也会被计算机识别为有效的。

多种不同哈希值

每个哈希位有两个可能值:0和1。每一个独立的哈希值通过位的可能值的数量。对于SHA-256,有2的256次方种组合。这是一个庞大的数值。

哈希值越大,碰撞的机率就越小。

在技术上,有无限数量的可输入[ 1 ],但是数量有限的。因此,每个散列算法,包括安全算法,都会发生碰撞。因为SHA-1的大小结构都碰撞的机率比较大,所以SHA-1被认为是不安全的。

 

 

迁移到SHA-2

去年,SSL行业最新证书全部迁移SHA-2,在2015 年12月31日前,CA机构仍可颁发SHA-1签名SSL证书。所以这两年,仍可看到安全SHA-1的数字签名证书。但日后,如果网站仍使用 SHA-1的SSL证书,客户端将会看到一个降级的安全指示器。在Chrome中,2016年过期的所有SHA-1证书都不会显示安全连接中的绿色挂锁,直接变成与不安全的HTTP连接相同的图标。客户端可以点击图标获取具体信息,了解详细原因,因为这与签名无关。

如果在浏览器(chrome)中看到了SHA-1证书,。要查看浏览器中该页面的内容,请访问https://sha1-2016.badssl.com

在2017年,浏览器会对SHA-1签署的证书进行更严格的安全警告,因为签名的安全性与证书的有效时间有直接关系。

保持安全的签名

随着时间的推移,对加密技术的攻击将会越来越强,其安全成本也有所降低。这使得有效的SHA-2签名将会越来越不安全。可见,安全算法防护要比实际要强,而短期的改善并不是一个长期的方案。对于特定的哈希算法来说,保持十年的安全性是不切实际。

虽然目前的SSL证书是可靠安全的数字签名。但全球的网络安全专家仍不断分析研究SHA-2和其他加密算法,日后将会推出更安全的算法。其中SHA-2的继承者已敲定为SHA-3,这两种可能是完全不同的算法,但不会影响SHA-3成为SSL行业的加密算法的选择。

文章翻译thesslstore

文章转载:https://www.trustauth.cn/wiki/21529.html#

文章评论

程序员都该阅读的书
程序员都该阅读的书
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
漫画:程序员的工作
漫画:程序员的工作
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
旅行,写作,编程
旅行,写作,编程
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员的鄙视链
程序员的鄙视链
 程序员的样子
程序员的样子
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
10个调试和排错的小建议
10个调试和排错的小建议
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
为什么程序员都是夜猫子
为什么程序员都是夜猫子
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员必看的十大电影
程序员必看的十大电影
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
一个程序员的时间管理
一个程序员的时间管理
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
Java程序员必看电影
Java程序员必看电影
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员和编码员之间的区别
程序员和编码员之间的区别
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
每天工作4小时的程序员
每天工作4小时的程序员
那些争议最大的编程观点
那些争议最大的编程观点
代码女神横空出世
代码女神横空出世
我的丈夫是个程序员
我的丈夫是个程序员
中美印日四国程序员比较
中美印日四国程序员比较
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
老程序员的下场
老程序员的下场
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
鲜为人知的编程真相
鲜为人知的编程真相
总结2014中国互联网十大段子
总结2014中国互联网十大段子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有