天威诚信剖析SSL证书的作用及工作原理
天威诚信剖析SSL证书的作用及工作原理
HTTPS 相比于普通的加密传输,最根本的区别就是用于加密传输内容的秘钥是随机的。但 HTTPS 是怎么做到的呢? 总不能把秘钥直接发送给对方吧,因为只要发送,就可能被中间路由器截获。秘钥如果被截获,整个加密算法也就没有意义了。
HTTPS 使用了更聪明的做法,引入了一个叫做数字证书的机制。简单来说,每个支持 HTTPS 的服务端,都会申请一个 SSL 证书。这个证书一般是从专业的证书颁发机构申请。
我们平时访问 HTTPS 网站的时候,浏览器地址栏一般会出现一个小锁头,点击这个小锁头就可以查看证书信息, 我们来看google 的证书:
天威诚信它的证书颁发机构是GeoTrust。 为什么一定要从这些颁发机构申请证书呢? 原因是 HTTPS 的证书链校验机制。比如我们请求google 的网站,它会先把证书信息发给我们的客户端。 然后我们客户端会做一个叫做证书链校验的操作。
所谓证书链校验,其实就是这样,每个证书都包含一个数字签名,用这个数字签名经过一系列算法,就可以匹配到上一级证书的签名,按照这个算法一直往上延伸,就可以匹配到最顶层证书的签名。就像上面google 那个证书的截图一样,证书是一级一级的树形结构。
匹配到最顶层证书有什么用呢? 答案是我们的客户端会预置这些顶层证书,比如打开你的mac 电脑的钥匙串程序,你会看到这样的内容:
我们平时使用的设备都会预置这些证书颁发机构的根证书。还回到前面讨论的证书校验的讨论,当逐级网上找到根证书后,就会和我们预置的这些证书进行匹配,如果能找到相同的,就代表网站发给我们的证书是可信的。否则这个网站就不可信。
北京数字证书认证中心这就解释了为什么我们需要从证书颁发机构申请证书了,因为只有证书颁发机构才可以生成它们根证书下面的子证书,生成子证书需要私钥,只有证书颁发机构才有自己的私钥。