为什么证书颁发机构(CA)会从中间机构而不是根机构颁发证书?

3
购买数字证书时,会通过递归跟踪“发行者”机构的链来验证它,直到达到根CA的证书。一些销售证书的公司网站检查显示,它们的证书实际上是由同一公司的中间CA颁发的。为使其正常工作,必须在Web服务器上安装叶证书和(可免费下载)中间证书。有各种文档解释了中间CA是与根CA不同的公司的情况下的设置方式。但这里它们是同一家公司的情况。是否有人知道CA会颁发中间CA而不是自己的根CA的主要原因?我认为有各种管理场景可以从这种情况中受益(例如,中间证书可以在根证书之前过期),但在某种程度上我在猜测。谢谢
1个回答

5
有几个原因需要这样做:
  1. 根证书是信任层次结构中的顶级CA。当前PKI(由RFC5280标准化)没有提供撤销根证书的任何手段。因此,根CA泄露(如果根CA充当颁发CA,则更有可能)是一个非常严重的问题。
  2. 基于第1段,根CA非常敏感,它(至少应该)需要高水平的安全性和非常有限的访问权限。无法在高负载请求流量下保持高安全性。
  3. 由于根CA为组织提供了共同的信任锚点,并且每个公司可能需要不同级别的保证和安全性,因此您将需要有很多根CA,每个需求一个。

已经说过,在Windows、*nix、Linux和Mac等平台上维护根CA并不那么简单,因此建议设置单个根CA,并在单个根下设置多个中间CA。在这种情况下,每个中间CA将受到特定用途(例如,一个用于SSL证书,一个用于代码签名证书,一个用于电子邮件等)和策略的限制。

在这种情况下,如果颁发CA(即中间CA)出现问题,CA所有者可以撤销受损的中间CA,而无需经过将根CA从客户端删除的漫长和复杂的过程。

此外,中间CA相对较易反映出最现代的PKI趋势。使用单个根CA更容易实现新的中间CA,而无需经过将根CA添加到客户端的漫长和复杂的过程。

总之,这样做的原因是提高安全性和更好的可管理性。


感谢这些评论:正是我所希望的,帮助我在一些以前没有想到的事情之间建立了一些额外的联系。我不知道缺乏撤销根CA的手段,但我想通过思考证书吊销列表适用于下一个级别的证书,因此对于同一(顶层)级别的东西需要使用不同的机制。 - westwell
是的。RFC并没有定义这样的机制(甚至没有给出任何想法),他们特别注意根CA的敏感性。 - Crypt32
第一点是我不理解的 - 如果每个链都最终以根CA结束,为什么根CA比中间CA更不容易被攻击?添加一个额外的步骤如何提高安全性? - forumulator
由于极少量的人员和应用程序可以访问根CA,因此通常需要整个复杂的仪式。在这种情况下,您无法提供大量发行的证书。这不是关于加密安全性,而是关于操作实践。 - Crypt32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接