证书认证的工作原理

来源:互联网 发布:网络pos机如何办理 编辑:程序博客网 时间:2024/05/15 08:25

晚上看知乎讨论支付宝的根证书问题,就根据我自己的理解,来解释下证书在我们通过支付宝交易时发挥的作用。

首先,我们要申请支付宝的数字证书。注意,这里的证书和知乎上讨论的证书不是同一个证书。

安装证书的过程:我们的浏览器会发送自己可以使用的加密算法,让支付宝生成一个自己的证书,安装到我们本地。电脑上的一个证书。


指纹,就是用指纹算法算出来的摘要。

签名算法,是加密指纹用的。//即证书的颁发者,用这个算法算出来的指纹。

公钥,是支付宝的公钥。

具体流程大概如下:

  1. 我们登录支付宝的网站,使用的是https协议,浏览器检测本机上装的证书是否合法。如何检测证书是否合法呢?首先,浏览器看这个证书的颁发着是谁。看到ali的颁发者是VC3,发现VC3是受信任的根证书,根据VC3的公钥解密指纹(指纹是用VC3的私钥加过密的,VC3的签名)。然后再根据指纹算法,算出ali证书的指纹,和刚刚解密出来的指纹做对比,如果相同,就说明这个证书VC3的签名是有效的,而且证书的内容没有被修改过。
  2. 接下来就是双方开始通信了,浏览器生成一个48bit的对称加密密钥,用证书中ali的公钥进行加密。然后,对握手消息进行hash用对称加密密钥进行加密。发送给ALI。
  3. ali接受到这个消息,先用私钥解出对称的加密密钥,得到密钥后解析握手消息的hash,验证hash值是否一致,如果一致,就说明这个值是正确的(也是一种签名)。
  4. 以后的通信,就会用这个对称加密密钥进行通信。这个对称的加密密钥只有我们自己和服务器知道。为什么要选对称加密呢?因为对称加密的效率较高。

至于工行的U盾,U盾里存放的其实是我们自己的证书(证书里包含公钥)和私钥,当我们和工行进行交互的时候不仅我们要ICBC的证书,工行也要我们自己的证书。这样更安全。

至于阿里添加的根证书是否合适。觉得没什么问题。

大家看看自己受信任的根证书,很多吧,多一个ali也不多。


0 0
原创粉丝点击