为什么网站证书是安全的?

信息安全 tls 证书 证书颁发机构
2021-08-12 19:07:05

我了解 HTTPS 连接的工作原理,并且我也了解他们需要证书才能知道您拥有的安全连接是与正确的服务器(而不是假装是正确的服务器的人)。我的问题是,这些证书如何安全?为什么很难伪造它们?

1个回答

SSL 基于公钥/私钥加密这意味着

  • 任何用公钥加密的东西都只能用相关的私钥解密
  • 私钥可用于签署某物,并且可以使用公钥验证该签名。

证书是附有所有者信息的公钥。所有者可以是个人或域。

当您访问 https://stackauth.com 时,服务器会将其证书呈现给您的浏览器浏览器会检查证书中的名称是否与您请求的网站名称相匹配,以及过期日期是否有效。

然后浏览器检查证书是否由浏览器认为值得信赖的证书颁发机构签署。任何创建伪造证书的人都面临着让浏览器信任的证书颁发机构对其进行签名的挑战。可能存在来自中间证书颁发机构的签名链,最终需要指向受信任的签名。

如果其中任何一项检查失败,浏览器将向您显示警告并要求确认。如果所有检查都通过(或被用户覆盖),浏览器将使用证书中的公钥加密一些只有服务器才能解密的信息。此信息用于在几个步骤中设置安全会话。

这种模式的主要问题是认证机构是薄弱环节。有大量的 CA,它们直接或间接地被普通浏览器信任。他们都可以发出伪造的签名,过去这种情况已经发生过多次(例如VerisignComodoDiginotar)。