SSL/TLS协议详解(中)——证书颁发机构


本文翻译自:https://www.wst.space/ssl-part-3-certificate-authority/


  上一篇中,我们讨论了关于Diffie Hellman算法的SSL/TLS密钥交换。我们最终认为需要第三方来验证服务器的真实性,并提出了证书颁发机构的机制。博客系列的最后两部分的主要内容:

  • TLS加密客户端-服务器通信并阻止中间人攻击。
  • 编码,散列和加密之间的区别
  • TLS使用对称密钥加密来加密数据和公钥基础结构以交换对称密钥。
  • 密钥交换算法本身可能被攻击者欺骗。因此,我们需要一个值得信赖的权威来验证服务器的真实性。

证书颁发机构的需求

  想象一下,客户端浏览器正在尝试与Web服务器通信,并且想要启动TLS通道。从上面的最后一点来看,为了证明服务器的身份,客户端浏览器必须具有服务器的公钥。但是,我们在浏览器中无法存储要访问的所有网站的公钥,而且由于每分钟都有新的网站出生,因此每分钟都需要更新一次。

  解决这个问题的方案是采用证书颁发机构机制。当我们安装浏览器或操作系统时,将会附有一组证书颁发机构,例如DigiCert。当浏览器自带DigiCert时,这意味着浏览器具有DigiCert的公钥,网站可以向DigiCert索取证书和签名。因此,DigiCert将使用DigiCerts私钥在服务器证书上进行加密签名。当我们发起连接时,服务器将发送嵌入了其公钥的证书。由于浏览器具有DigiCert的公钥,因此可以在服务器证书上验证DigiCert的签名,同时也说明证书上写的服务器的公钥是可信的。

如果您没有完全理解这个概念,也请不要担心。让我们把这个过程细化再逐一分析。

数字签名的定义

  要理解证书颁发机构的概念,我们可以回顾几十年前的传统邮箱邮件系统并进行类比。想象一下,Alice拥有一家公司,而Bob则是该公司的员工,Alice想给Bob发一封机密邮件,作为首席执行官的Alice,将起草邮件并将其放入邮箱,它将经过几个邮局和几个邮递员并最终到达Bob的手中,Bob可以打开阅读它,但Bob如何确保邮件真的来自Alice?这里有两种可能性:
1.攻击者Eve可以使用任何内容起草邮件,将发件人地址设置为类似于Alice的办公室的地址并将其转发给Bob。
2.Eve可以是中间人,例如中间邮局的员工,他可以在邮件到达Bob之前打开邮件,他甚至可以按照自己的意愿重写内容,然后将其重新发送给Bob。

点击收藏 | 2 关注 | 1
登录 后跟帖