5.2. 定义证书颁发机构层次结构
CA 是 PKI 中心,因此 CA 系统与彼此的关系(CA 层次结构)和其他子系统(安全域)对于规划证书系统 PKI 至关重要。
当 PKI 中有多个 CA 时,CA 以层次结构或链中的结构。链中另一个 CA 上面的 CA 称为 根 CA ;链中另一个 CA 的 CA 称为 从属 CA。CA 也可以从属到证书系统部署之外的 root;例如,作为证书系统部署中的 root CA 的 CA 可以从属到第三方 CA。
证书管理器(或 CA)与另一个 CA 从属,因为其 CA 签名证书(允许它的证书由另一个 CA 发布)。发布从属 CA 签名证书的 CA 通过 CA 签名证书的内容控制 CA。CA 可以通过它可以发布的证书类型限制下级 CA 的限制、允许包含在证书中的扩展、从属 CA 的级别数量,以及它可能发布的证书的有效性周期,以及子 CA 签名证书的有效性周期。
虽然从属 CA 可以创建违反这些限制的证书,但验证违反了这些限制的证书的客户端将不接受该证书。
自签名 root CA 为自己的 CA 签名证书签名,并根据它发布的子 CA 签名证书设置限制。
证书管理器可以配置为 root CA 或从属 CA。最简单的方法是使第一个 CA 安装自签名 root,因此不需要应用到第三方并等待证书发布。但是,在部署完整 PKI 之前,请考虑是否具有 root CA、要拥有多少个,以及根和从属 CA 的位置。
5.2.1. 从属到公共 CA
将证书系统 CA 链接到第三方公共 CA 引入了对公共 CA 放置在从属 CA 可能发布的证书类型上的限制,以及证书链的性质。例如,链到第三方 CA 的 CA 可能会限制为仅发出安全多用途互联网邮件扩展(S/MIME)和 SSL/TLS 客户端身份验证证书,但不提供 SSL/TLS 服务器证书。使用公共 CA 还有其他可能的限制。对于某些 PKI 部署,这可能可接受。
与公共 CA 链的一个好处是第三方负责将 root CA 证书提交到 Web 浏览器或其他客户端软件。对于带有无法由管理员控制的不同公司访问的证书,这是一项主要优势。在 CA 层次结构中创建 root CA 意味着本地机构必须将 root 证书获取到所有浏览器中,以使用证书系统发布的证书。在内部网内有一些工具,但使用 extranet 很难完成此操作。
5.2.2. 签发证书系统 CA
证书系统 CA 可以充当 root CA,这意味着服务器签署自己的 CA 签名证书和其他 CA 签名证书,从而创建特定于组织的 CA 层次结构。服务器也可以配置为 从属 CA,这意味着服务器的 CA 签名密钥在现有 CA 层次结构中由另一个 CA 签名。
将证书系统 CA 设置为 root CA 意味着证书系统管理员通过设置控制 CA 签名证书内容的策略来控制所有从属 CA。从属 CA 通过评估其自身身份验证和证书配置文件配置来发布证书,而无需考虑 root CA 的配置。
5.2.3. 链接的 CA
证书系统证书管理器可以作为 链接 CA 运作,将多个第三方或公共 CA 串联进行验证;这提供了跨公司信任,因此应用程序可以在公司证书层次结构外验证证书链。证书管理器通过从第三方 CA 请求证书管理器的 CA 签名证书 来串联第三方 CA。
与此相关,证书管理器也可以发出 跨对 或跨签名证书。跨对证书通过在两个 CA 之间发布和存储跨签名证书,在两个独立 CA 之间创建一个可信关系。通过使用跨签名的证书对,系统内可信任在组织的 PKI 外部发布的证书。
它们也称为 网桥证书,与联邦信息处理标准认证机构(FBCA)定义相关。
5.2.4. CA 克隆
除了创建根和从属 CA 的层次结构外,可以创建证书管理器的多个克隆,并将每个克隆配置为在一系列序列号内发布证书。
克隆的 证书管理器使用与主证书管理器( master 证书管理器)相同的 CA 签名密钥和证书。
如果克隆子系统的机会,那么在配置过程中导出其密钥对并将其密钥对保存到安全位置。在配置克隆实例时,原始证书管理器的密钥对必须可用,以便克隆可以从原始证书管理器的密钥生成其证书。
也可以稍后使用 pk12util
或 PKCS12Export
命令从安全数据库导出密钥。
因为克隆 CA 和原始 CA 使用相同的 CA 签名密钥和证书来签署证书,因此所有证书中的 签发者名称 都是相同的。克隆 CA 和原始证书管理器发布证书,就像它们是单个 CA 一样。这些服务器可以放置在不同的主机上,以实现高可用性故障转移支持。
克隆的优点是它将证书管理器的负载分布到多个进程中,甚至几个物理机器。对于具有高注册需求的 CA,从克隆中获取的发行版允许在给定时间间隔内签名和发布更多证书。
克隆的证书管理器具有与常规证书管理器相同的功能,如代理和端点网关功能。
每个克隆都会从分配给被克隆的子系统的范围中分配一个唯一的副本 ID,请参阅 Replica ID 号。