如果有人窃取了证书颁发机构的私钥怎么办?

信息安全 公钥基础设施 证书颁发机构
2021-09-09 16:30:51

如果有人可以窃取证书颁发机构的私钥怎么办?我知道这(可能)永远不会发生,但是已经用这个私钥签名的证书会发生什么?

该人可以开始签署证书,就好像他是 CA,但它会对已经使用该密钥签署的证书造成任何损害吗?

(因为问题被确定为可能的重复:我的问题的重点是这种违规行为是否会对已经签署的证书造成损害)

3个回答

如果有人窃取了 CA 的证书签名密钥,已签名的证书仍然有效。但这并不意味着他们没有受到伤害。证书的全部意义在于只有受信任的一方才能生成它们,因此当您看到证书时,您可以确信它是有效的,并且您正在与您打算与之交谈的实体交谈。如果不受信任的一方可以生成数学上有效的证书,那么该证书不值得写在上面的电子。这意味着所有网站(不仅仅是那些使用 CA 合法服务的网站!)都容易受到攻击者实施的中间人攻击(除非采取部分对策,例如证书固定)。对于“普通用户”而言,证书颁发机构黑客攻击的风险是什么?有关 CA 证书签名密钥被盗的后果的更多解释。基本上,不仅该 CA 发出的证书,而且所有证书都受到损害。

为了对抗这种危害,有必要撤销对受损密钥的信任。这意味着验证者——浏览器和其他 TLS 客户端(以及用于客户端证书的服务器)——必须停止信任被泄露的密钥;在完成此操作之前,该 CA 的任何证书都不能被信任。

通常,CA 有另一个密钥,可用于吊销证书。吊销密钥应采用严格的安全措施保存:与每天用于签署证书并因此必须相对可访问的签名密钥不同,吊销密钥几乎从未使用过(仅用于验证新的签名密钥或吊销现有的),因此可能难以访问(通常需要 CA 的多个官员在离线、物理安全的环境中手动输入密钥片段)。一旦被破坏的密钥被撤销并部署了一个密钥,并且旧证书被重新签名,损害就被消除了。你可以想象,做所有这些,尤其是把信息传播到所有的浏览器,需要一段时间,而且考虑到这是一个不常见的事件,

另一种更激进的方法是更新验证者以从受信任的 CA 列表中删除受感染的 CA。这解决了不是由受损 CA 颁发的证书的问题,但让受损 CA 的客户陷入困境:他们需要让另一个 CA 签署新证书。

顺便说一句,它以前也发生过

一个普通的 CA 有一个适当的程序来解决这个问题。它首先使使用密钥签名的所有证书无效,然后让 CA 制作新的根密钥和证书,然后执行涉及设置新 CA 的所有步骤。完成后,重新颁发所有受影响且仍然有效的证书。

如果在密钥被盗后没有立即缓解这种情况,一个问题是恶意证书的声誉损失会导致 CA 停业。就像 diginotar 所做的那样。

您是对的,它不会对已颁发的证书造成任何损害,但它确实会质疑哪些证书仍然值得信赖,哪些不值得信赖。通过该签名密钥将所有证书问题视为“已泄露”并重新颁发它们会更安全、更容易。

在这种情况下,CA 的签名证书将被撤销,并以“密钥妥协”作为撤销原因,并且它签署的任何证书都将无法验证。如果您确信自己知道密钥泄露的日期,大多数 CA 软件(但我不能代表所有CA 软件)将允许您指定撤销日期和泄露日期,假设证书已发布在妥协日期之前仍然值得信赖。