根据我阅读文献的方式,具有离线根 CA 的两层 PKI 层次结构可提供冗余和额外的安全层,以防下属 CA 的私钥被泄露。但这是如何工作的呢?
假设我有一个离线根 CA,并用它来签署一个下属 CA,然后使用下属 CA 签署一个内部 Web 服务器。现在假设下属 CA 的密钥被泄露。根据文献,这没有问题。你只需烧掉你的下属 CA 并创建一个新的。然后启动根 CA 并签署新的下属 CA,你就可以重新开始工作了。
问题在于,Web 服务器是使用现在无效的下属 CA 证书签名的,信任链已中断。那么,我是否还需要使用新下属的密钥重新签名 Web 服务器?如果我必须使用新下属重新签名所有内容,那么首先拥有离线根 CA 的目的是什么?
显然我没有理解这里的一些事情。
答案1
客户端信任根 CA,而不是下级 CA。如果下级 CA 受到威胁,您只需切换它。您不必在所有客户端上替换根 CA,因为它仍然是安全的。
答案2
根 CA 受到您的客户的信任,并告知您的客户信任下属 CA。您的客户在验证证书时会查看撤销列表。如果您的 CA 受到威胁,您的客户将继续信任该 CA 颁发的任何证书,包括恶意证书。如果它是从属的,那么您可以通过根 CA 发出撤销,以便客户不再信任证书。如果根 CA 受到威胁,您将不得不找到另一种方法来告知您的客户不要信任证书。