如何比较数字证书?

信息安全 tls 证书 证书颁发机构 电子签名
2021-08-23 01:01:22

我读过 SSL 和 TLS;我知道 RSA 的工作原理以及为什么需要数字证书(或多或少),但我很好奇我们如何防止伪造数字证书。

操作系统预装了一些证书,但我们如何确定这些证书没有在我们的计算机中被病毒更改?如果病毒更改了本地证书,并且我访问了一个网站,该网站向我发送了一个与我计算机上的假数字证书相匹配的假数字证书,会发生什么?

我可能对它的工作原理感到困惑。我将不胜感激详细的解释。

2个回答

签署证书并验证加密签名;如果签名匹配,则证书内容与签署证书时完全相同。当然,这并不能解决问题,它只是移动它。完整的结构称为PKI预装在您计算机中的证书(随操作系统或浏览器一起提供)是根 CA 证书,即您“先验”知道的公钥,您可以从该公钥开始所有签名验证过程。

简而言之,如果某个敌对实体可以在您的计算机中插入恶意根 CA,那么您就输了。当然,在相同的条件下,相同的恶意攻击者(例如病毒)可能会更改浏览器的代码并从中劫持您的数据,或记录您的所有击键,或者更一般地说,以无数种方式完全欺骗您。当病毒在您的计算机上执行时,您已经无法挽回了。

事实上,插入假根 CA 是一种相当糟糕的攻击方式,因为他们可能会注意到它。在浏览器的内部注入数据窥探器不需要太多额外的努力,可以在相同的条件下完成,并且会导致对您的安全性的更彻底谨慎的破坏。

如果病毒在您的计算机上安装了新的根证书,并且欺骗性网站向您提供了具有来自该根证书的有效签名链的证书,那么您的计算机将接受它作为有效证书。但这不应该被视为 SSL/TLS 的问题——如果您有具有该访问级别的病毒,那么它可以通过多种方式获取您的信息,而欺骗根证书实际上是较少的一种可能的。