文档章节

SHA-1算法的SSL证书为何被淘汰?

老不可破联盟
 老不可破联盟
发布于 2015/04/24 14:28
字数 1015
阅读 50
收藏 0

去年,微软和谷歌这两大IT互联网巨头都宣布将弃用SHA-1算法。其中谷歌提醒用户务必将即将于2015年12月31日后到期的SHA-1 SSL证书更换为SHA-2 (SHA-256)证书,微软则宣布Windows将于2017年1月1日停止接受SHA-1 SSL证书。而SHA-1算法为何要被淘汰呢?

 

什么是SHA-1算法

 

SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数(包括 SHA-1SHA-224SHA-256SHA-384 SHA-512 等变体),它是一种能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。这些算法的安全性主要基于以下两点:

1、由消息摘要反推原输入消息,从计算理论上来说是很困难的。

2、想要找到两组不同的消息对应到相同的消息摘要,从计算理论上来说也是很困难的。任何对输入消息的变动,都有很高的机率导致其产生的消息摘要迥异。

 

SHA-1的工作原理及缺陷

 

SHA-1是一种安全算法,但对于多数人来说,理解这些算法却有些困难。我们举一个相对直观的例子。当你访问一个网站时,该网站向浏览器出示一个文件(类似于身份证)即一张SSL证书。这个证书用来做两件事:加密访问网站的连接,并验证网站真实身份。这时你的浏览器必须通过某种方式验证证书是否可信,如果验证通过,浏览器会在地址栏中显示一个小锁图标来体现证书的可信性。

为了完成验证工作,你的浏览器要查明网站的证书是否由权威机构(证书签发机构,简称“CA”)颁发的,你的浏览器信任来自超过56个CA(根CA)创建和担保的证书,如Verisign、GoDaddy、CFCA等。当网站的SSL证书宣称自己由某个CA颁发给该网站时,你的浏览器需要进行一项关键测试:此证书能证明确由某CA颁发的吗?

这时,浏览器会验证证书信息的SHA-1值,然后与被证书用作身份证明的原始SHA-1值作比较。因为SHA-1结果的唯一性,如果两个值是相同的,浏览器就确信提供的证书和CA签发的证书是同一个。但如果你设计了一个证书,能够与目标站点证书发生碰撞,也就是通过破解获得与它同样的SHA-1值,那你就可使用此证书来冒充目标站点,即使浏览器也无法区分真伪。

 

以上的如果会变成现实吗?不幸的是,安全专家已经找到了破解SHA-1的方法,虽然这种破解仍然是极其困难和昂贵的。但防患于未然,停用SHA-1已是必然。作为SHA-1的继任者,目前还没有发现针对SHA-2算法的有效攻击方法,它是足够安全的。所以,请网站的经营者们在2015年停止使用SHA-1证书。当然,主要的CA都会提供SSL证书的升级服务,您只需向您的证书颁发机构咨询解决方法即可。


本文转载自:http://www.cfca.com.cn/zhishi/wz-030.htm

老不可破联盟
粉丝 0
博文 14
码字总数 2684
作品 0
西城
私信 提问
散列算法:SHA-1,SHA-2和SHA-256之间的区别(下)

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

伟志社群
2018/07/31
0
0
SHASHA-1,SHA-2哈希算法之间的差异

今天要为大家介绍的是哈希算法,在介绍SHA之前,只有了解什么是SHA,我们才清楚SSL证书如何使用哈希来形成数字签名。那么什么是哈希呢? HASH算法将任意长度的二进制值映射为较短的固定长度的...

一夜九次
2018/12/10
0
0
区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
2018/10/22
0
0
CentOS 7.4 Tengine安装配置详解(五)

十四、配置Tengine支持HTTPS 1、演示环境: 备注:Tengine和CA可以部署于同一台服务器 2、修改配置文件nginx.conf,创建基于主机名的虚拟主机: server { listen 80; server_name web.vhosts...

Marion0728
2018/06/26
0
0
【Java小工匠聊密码学】--数字签名-DSA

1、DSA数字签名概述 1.1 DSA加密算算法 DSA(Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变种,被美国NIST作为数字签名标准(DigitalSignature Standard)。 DSA(Digital Sig...

追梦着
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ant 中的fileset include等拷贝

拷贝一个目录到指定目录下 例:<copy todir="${basedir}/new"> <fileset dir="${basedir}/old"> <include name="appgen" /> <include name="appgen/" /> <include name=appgen/**" /> <incl......

shzwork
11分钟前
1
0
react-jianshu项目的创建

创建项目 1、github上创建仓库react-jianshu 2、将项目克隆到本地git clone git@github.com:startjcu/react-jianshu.git 3、在当前目录(项目目录的上级目录)下执行create-react-app react-...

星闪海洋
20分钟前
2
0
OSChina 周二乱弹 —— 小哥哥,你可以教我写代码吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @nnnm: 生活大爆炸,结束了,这部陪伴了漫长时间的情景喜剧,最终是以诺贝尔奖和大团圆收尾的。虽然,不算精彩,但也是温馨。而少年谢尔顿的...

小小编辑
今天
235
11
typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部