一尘不染

ssl证书如何验证?

algorithm

安全验证ssl证书需要执行哪些步骤?我的理解(非常有限)是,当您访问https站点时,服务器将证书发送给客户端(浏览器),浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式进行比较有效性证书。

  • 这到底是怎么做的?
  • 该过程如何使其不受中间人攻击?
  • 是什么阻止一些随机的人设置自己的验证服务以用于中间人攻击,从而使一切“看起来”都是安全的?

阅读 224

收藏
2020-07-28

共1个答案

一尘不染

这是一个非常简单的解释:

  1. 您的Web浏览器将下载Web服务器的证书,其中包含Web服务器的公钥。该证书使用受信任的证书颁发机构的私钥签名。

  2. 您的Web浏览器已安装了所有主要证书颁发机构的公钥。它使用此公用密钥来验证Web服务器的证书确实由受信任的证书颁发机构签名。

  3. 证书包含Web服务器的域名和/或IP地址。您的Web浏览器通过证书颁发机构确认证书中列出的地址是它具有打开连接的地址。

  4. 您的网络浏览器会生成一个共享对称密钥,该对称密钥将用于加密此连接上的HTTP流量;这比对所有内容使用公钥/私钥加密要有效得多。您的浏览器使用Web服务器的公共密钥加密对称密钥,然后将其发送回去,从而确保只有Web服务器可以对其进行解密,因为只有Web服务器具有其私钥。

请注意,证书颁发机构(CA)对于防止中间人攻击至关重要。但是,即使未签名的证书也将阻止某人被动地侦听您的加密流量,因为他们没有办法访问您的共享对称密钥。

2020-07-28