这听起来像是一个愚蠢的问题,但这是我第一次研究这个话题。 是否可以创建证书链。
所以目前我们有这个结构:
Root CA --> Intermediate CA --> Issues certificates
这是我们想要的结构:
Root CA --> Intermediate CA --> Another Intermediate CA --> Issue certs
--> Another Intermediate CA --> Issue certs
--> Another Intermediate CA --> Issue certs
我做了一些研究,但我无法发现这种链接结构是否可行。
我们希望有一个根 CA,然后是一个部门的中间人,然后是部门内项目的其他中间体。 如果造成任何损坏,这将有助于划分任何损坏。
CA 层次结构组织类似于文件夹组织及其特定规则。每增加一个 CA 都会增加管理成本。每个新层都会增加证书链验证时间。因此,您需要尽可能少地保留 CA 和更短的链。
建议的最低配置为两层:
Root CA --> Policy/Issuing CA --> End Entities
根 CA 应处于脱机状态,未连接到任何网络,使用 HSM 并保存在安全的房间中。根 CA 的丢失/泄露会导致整个 PKI 崩溃,没有任何机会撤销它。这就是为什么根 CA 通常只向其他 CA 颁发证书,而不是向最终实体颁发证书的原因。大多数情况下,它处于关闭状态,并且仅在证书续订和 CRL 发布期间打开。
策略/颁发 CA 构建在根目录下,直接与最终实体(证书使用者或订阅者)合作。从逻辑上讲,它安装在大多数客户端附近。它已启用并 24/7 全天候运行。物理安全性与根 CA 相同:安全室、HSM(个人或网络 HSM)、对设备的严格物理访问。颁发 CA 的妥协仍然很糟糕,但可以恢复。至少,只有一部分PKI被泄露(特定链),您可以撤销受损的CA证书,而不必在任何地方替换root。
如果您需要单独的 CA 用于分区,请执行以下操作:
Root CA --> Policy/Issuing CA 1 --> End Entities
--> Policy/Issuing CA 2 --> End Entities
--> Policy/Issuing CA 3 --> End Entities
这样的配置没有错。