试图理解为什么“不使用”根证书中的签名?

信息安全 加密 tls 哈希 证书
2021-08-17 03:33:38

取自这里

如果根证书使用 SHA1,请不要担心;不使用根上的签名(Chrome 不会警告它们。

为什么不使用签名?根证书也容易受到攻击吗?打破 SHA1 来伪造根证书有什么好处吗?

3个回答

根证书是自签名证书(根据定义)。

那么你想如何验证根证书的签名呢?根证书本身是有效的,因此您无法验证它。

这也是根证书最成问题的部分:它们无法独立验证。如果它们在浏览器中,那么它们是受信任的。

浏览器已包含根证书的副本。因此,它不需要通过其签名来验证它。即使您破坏了 SHA-1,也无法替换已经存储在浏览器中的根证书。

对于非根 CA 证书,浏览器只能通过验证证书哈希的签名来验证证书。如果签名的散列是由弱算法生成的,攻击者可能能够创建具有相同散列但不同密钥对的假证书。

但是,对于根证书,这不是问题。由于整个受信任的证书(不仅仅是哈希)都在您的受信任的根存储中,因此可以比较完整的证书,而不仅仅是哈希。因此,使用的散列函数是无关紧要的。