上一篇文章谈到了数字签名的原理和验证流程,也提到了用户在无法确定发布者公钥的情况下,是无法通过数字签名验证文件/消息的正确性的。所以就要用到数字证书(digital certificate)。数字证书的作用只有一个:证明验证公钥的真实性。
举一个例子,假如你是招聘人员,要招一个清华大学毕业生,你如何确定应聘者是清华大学毕业的?对方拿出毕业证书,你就能确定了吗?当然不行,因为证书还有造假的呢。但是没有关系,每个学历证书都有一个证书编号,你可以在权威网站“学信网”上输入证书编号来验证证书的真伪。
所以,要想验证对方身份的学历,必须满足2个条件:1) 对方要提供证书;2) 证书可以被权威机构验证。
同理,用户想要验证公钥的真实性,也要满足2个条件
(1) 发布者要提供的数字证书;
(2) 数字证书可被验证;
数字证书内容
好了,那么我们先看看数字证书的主要内容包括什么:
数字证书内容证书颁发机构
全称是数字证书认证机构(certificate authority,简称CA),是负责发放和管理数字证书的机构。作为网络中受信任的第三方,承担着验证证书的责任。我们的操作系统安装之初就已经预装了顶级CA机构的数字证书。如图所示
操作系统内预装的证书CA是分层级的,最顶层的CA的证书被称为根证书,根证书不需要其他机构为其签名背书,是直接受系统信任的。由根证书信任的下一级证书也会被系统信任,由下一级证书信任的下下一级证书也会被信任。这就形成了一条信任链。如下图,“Alipay Trust Network”就是根证书,其颁发的下一级证书“Alipay.com Corporation Machine CA”也是被系统信任的,再下一级证书也是被信任的。
证书信任链证书生成流程
好了,我们来说一下数字证书的制作流程,继续使用上一篇文章的例子,假如A要发布一款软件,为了能让系统验证软件的正确性,A必须要找证书机构申请证书,以证明自己的公钥是真实的:
数字证书制作过程通过图中的流程,数字证书就制作好了。
数字签名生成过程
拿到了证书,A再对软件进行数字签名,过程如下
签名过程签名制作好,和证书一起附在软件上,发布到网上。
文件的验证过程
任何人都可以对软件进行验证了,验证过程如下:
(1) 用户首先对数字证书进行验证。
证书验证过程(2) 证书验证通过,意味着A的公钥是真实可信的。然后使用A的公钥验证软件的数字签名
签名验证过程数字签名仍然OK,则证明软件是由A发布的,并且没有被篡改。
文件验证流程是这样的,数字证书还有另外一个作用,就是验证网站的真实性
网站与https
我们在浏览网站时,也会对网站进行类似的验证,以防掉入钓鱼网站的陷阱。不知你是否注意到,我们浏览网站是,网址的大多以“https://”开头,并且旁边会有一个锁头的提示图标,如图
谷歌浏览器地址栏 360浏览器地址栏https的全称是超文本传输安全协议,网址以“https:”开头意味着你和网站的通讯是加密的,旁边的绿色锁头代表加密通讯状态是非常安全的。几乎所有网址在传输隐私信息时,都会使用https协议进行传输。在涉及个人隐私的网站(比如购物网站,网银,邮箱,社交网站),一定要注意网址是否已“https://”开头,比如139邮箱默认是不使用加密连接的,谷歌浏览器会提示这种连接不安全,如图
未使用加密连接这种情况下,你输入的密码是以明文方式传输的,很容易泄露。解决的办法就是在网址前手动加上“https://”,如图
启用加密连接即使我们使用“https://”网址,发现地址栏旁边变成了叹号,我们点击“叹号”,看看显示什么内容
安全提示原来是图片传输没有启用加密,也就是说你上传图片是会被第三方看到的。看来139邮箱不适合作为个人隐私邮箱使用哈。
https网站的真实性验证
只要网址开头是“https”就一定是安全的吗?也不是,钓鱼网站也可以启用https开头的网址,假冒银行的网址,窃取你的账户密码。但是幸运的是我们可以使用数字证书来验证https开头的网址是否合法。
网站要支持https协议,必须提供数字证书供浏览器验证,验证流程如下:
(1) 服务器向浏览器发送数字证书,以证明网站公钥是真实的
网站数字证书(2) 浏览器验证数字证书的真实性,验证过程与前文的软件验证过程相同;
(3) 浏览器确认了网站公钥的真实性,发给网站一个字符串,要求网站用私钥进行数字签名。自己再对签名进行验证,最终确认网站身份,如图所示
(4) 浏览器创建对称加密密钥(前文说过,对称加密密钥适用于加密通讯),用公钥加密发给服务器,服务器接收并用私钥解密出对称加密密钥。之后双方就开始进行加密通讯。
加密通讯建立过程以上是数字证书在验证网站真实性的应用。
总结一下,数字证书的本质作用就是:验证对方的公钥是真实的。而数字签名起作用的前提是对方的公钥是真实的。所以,数字证书与数字签名结合可以实现对软件和网站的验证。
网友评论