freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

数字签名证书如何验证及用途
2019-06-24 17:44:43
所属地 广东省

什么是数字签名?简单来说,数字签名是公钥密码的逆应用:用私钥加密消息,用公钥解密消息。数字签名是为了证明对方发的信息并没有被更改过,但前提条件是你确认对方是可靠的,即你拥有的公钥确实是对方的公钥而不是其他人的公钥。而数字证书就是为了证明你拥有的公钥确实是对方的。

1.数字证书的用途

以上“数字签名”例子中,我们都默认了一个前提条件:女神拥有的确实是你的公钥,如果女神的公钥被别人调包了呢?继续上面的实例:如果女神的公钥被你的一个情敌调包换成情敌的公钥了,当你把表白和数字签名发给女神的过程中,情敌把信息拦截了,拦截后重新写了一份表白并用他自己的私钥生成数字签名(重复你的操作,只不过内容已经换成情敌的了)重新发给女神,这时女神并不知道“你”已经换成“情敌”了,那你就悲剧了哦。这时数字证书就起作用了,数字证书就是为了给女神证明发信人的身份的。

2.数字证书包含的内容

在现实生活里,为了证明我们身份,公安机关会给每个人颁发一个身份证。在信息世界里,数字证书就是对方的身份证。同样的,数字证书也有专门的发证机关Certificate Authority,简称CA。发证机关颁发的数字证书里包含以下基本内容:

1.证书颁发机关

2.证书持有者名称/服务器域名

3.证书有效期

4.证书签名算法(摘要算法和加密算法)

5.证书签名值

6.证书所有者加密算法

7.证书所有者公钥

3.数字证书如何验证

现实中要验证一个人的身份,首先核对这个人的身份证有效性,然后再核对本人相貌跟身份证上的照片是否一致。数字证书也是一样的验证思路:

1.验证数字证书有效性

数字证书里包含了发证机关对这张证书的数字签名,而浏览器默认内置了发证机关的公钥(暂且这么理解),拿到公钥后先解密证书的数字签名拿到证书的摘要,然后浏览器用证书的摘要算法重新计算下证书的摘要,最后比对这两者的值是否相等,如果相等证明这张数字证书确实是发证机关颁发的有效证书。

2.验证“相貌”

如何验证该证书的所有者就是跟浏览器正在对话的网站呢?

数字证书包含了web网站服务器的一个或者多个域名,浏览器会验证该域名跟正在对话的服务器的域名是否匹配(防止MITM)。

4.数字证书的级联

颁发证书的机构是可以有级联关系的,即A机构可以委派B机构颁发证书,B机构也可以委派C颁发证书,如果网站的证书是C颁发的,那么需要用B的证书去验证C颁发的证书,同理需要用A机构的证书去验证B颁发的证书,这个过程是递归的,A机构的证书被称为“根证书”。“根证书”是配置在我们电脑上,默认是安全的。

原文链接:https://www.wosign.com/News/news_2018082802.htm


本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者