5.6. 用于规划 PKI 的检查列表
- 将创建多少个安全域,并将将哪些子系统实例放在每个域中?
- 子系统只能在具有可信关系时与其他子系统通信。由于安全域中的子系统具有自动信任的关系,因此子系统加入的域非常重要。安全域可以有不同的证书发布策略、其中的不同类型的子系统或不同的目录服务器数据库。找出物理机器上和相互的关系的位置,每个子系统各自属于安全域,并相应地将其分配到安全域。
- 应该为每个子系统分配哪些端口?是否需要具有单个 SSL/TLS 端口,或者最好具有端口分离以提高安全性?
- 最安全的解决方法是为每个 SSL/TLS 接口使用单独的端口。但是,实施多个端口可能取决于您的网络设置、防火墙规则和其他网络条件。
- 防火墙后面应放置了哪些子系统?哪些客户端或其他子系统需要访问这些受防火墙保护的子系统以及如何授予访问权限?是否允许 LDAP 数据库的防火墙访问?
安装子系统的位置取决于网络设计。OCSP 子系统专门设计为在防火墙外运行,而 CA、KRA 和 TPS 都应在防火墙后面保护,以提高安全性。
在决定子系统的位置时,规划服务器需要访问 的其他子系统 或服务(包括内部数据库、CA 或外部用户),以及查看防火墙、子网和 VPN 配置。
- 需要进行物理保护哪些子系统?如何授予访问权限,以及谁将被授予访问权限?
- CA、TKS 和 KRA 都存储非常敏感的密钥和证书信息。对于某些部署,可能需要限制对运行这些子系统的机器的物理访问。在这种情况下,子系统及其主机必须包含在较大的基础架构清单和安全设计中。
- 所有代理和管理员的物理位置是什么?子系统的物理位置是什么?管理员或代理如何及时访问子系统服务?是否需要在每个地理位置或时区中有子系统?
- 证书系统用户的物理位置可能会影响请求批准和令牌注册等内容,以及因为网络滞后时间而的系统性能。在决定要安装的位置和子系统数量时,应考虑处理证书操作的响应时间的重要性。
- 您需要安装多少个子系统?
主要考虑是每个子系统的预期负载,然后是第二种、地理或部门部门的预期负载。负载非常低的子系统(如 KRA 或 TKS)可能只需要整个 PKI 的单个实例。具有高负载(CA)的系统或从本地代理的本地实例(如 TPS)中受益,可能需要多个实例。
可以克隆子系统,这意味着它们基本上是集群,作为一个单元运行,这适用于负载平衡和高可用性。克隆对 CA 和 KRA 特别有用,其中相同的密钥和证书数据可能需要被大量用户或具有可靠的故障转移访问。
在为多个子系统实例规划时,请记住子系统在建立的安全域内是如何工作的。安全域在子系统之间创建可信关系,允许它们一起查找可用的子系统以响应即时需求。可以在单个 PKI 中使用多个安全域,以及许多子系统的多个实例,或者单个安全域可用于所有子系统。
- 任何子系统是否需要克隆,如果有的话,安全存储其密钥资料的方法是什么?
- 克隆子系统协同工作,基本上作为一个实例。这对高需求系统、故障转移或负载平衡非常有用,但很难维护。例如,克隆的 CA 具有它们发布的证书的序列号范围,克隆可以按其范围的末尾。
- 子系统证书和密钥是否存储在证书系统内部软件令牌或外部硬件令牌上?
- 证书系统支持两个硬件安全模块(HSM):nShield Connect XC 和 Safenet Luna (请参阅 第 4.4 节 “支持的硬件安全模块”)。在安装子系统前,使用硬件令牌可能需要额外的设置和配置,但也添加了另一个安全层。
- CA 签名证书的要求是什么?证书系统是否需要控制类似有效期的属性?CA 证书是如何分发的?
此处的实际问题是 CA 是 root CA,该 CA 在发布证书时设置了自己的规则,或者它是一个从属 CA,其中另一个 CA ( PKI 中的其他 CA 甚至外部 CA)对它可能发布的证书类型设置了限制。
证书管理器可以配置为 root CA 或从属 CA。root CA 和从属 CA 之间的区别在于,为 CA 签名证书进行签名。root CA 为自己的证书签名。子 CA 有另一个 CA (内部或外部)签署其证书。
自签名 root CA 问题并签署自己的 CA 签名证书。这允许 CA 设置自己的配置规则,如有效期以及允许的从属 CA 的数量。
子 CA 的 CA 具有由公共 CA 或其他证书系统根 CA 发布的证书。此 CA 从属 到证书设置的其他 CA 规则,以及如何使用证书类型、允许包括在证书中的扩展以及从属 CA 可创建从属 CA 的级别。
一个选择是使证书管理器从属到公共 CA。这可能会有非常严格的限制,因为它引入了公共 CA 在从属 CA 可以发布的证书类型以及证书链的性质上发生的限制。另一方面,串联到公共 CA 的好处是第三方负责将 root CA 证书提交到 Web 浏览器或其他客户端软件,这是不被管理员控制的不同公司访问的证书的主要优势。
另一个选项使 CA 从属到证书系统 CA。将证书系统 CA 设置为 root CA 意味着证书系统管理员通过设置控制签发证书的 CA 的策略来控制所有从属 CA。
最简单的方法是使第一个 CA 安装一个自签名的 root,因此不需要应用到第三方并等待签发证书。请确定您确定有多少个 root CA 以及 root 和从属 CA 所在的位置。
- 将发布哪些类型的证书?它们需要具有哪些特征,以及哪些配置集可用于这些特征?证书上需要放置哪些限制?
- 如 第 5.4.6 节 “使用和自定义证书配置文件” 中的接触,可以自定义配置文件(配置 CA 发布的每种证书的表单)。这意味着主题 DN、有效期周期、SSL/TLS 客户端类型和其他元素可由管理员为特定目的定义。为安全起见,配置集应只提供 PKI 所需的功能。应该禁用任何不必要的配置集。
- 批准证书请求的要求是什么?请求者如何自行验证,以及批准请求需要哪些类型的进程?
请求批准过程直接影响证书的安全性。自动化过程速度更快,但安全性较低,因为请求者的身份仅经过超级验证。同样,代理批准的注册更加安全(因为在最安全的情况下,他们可能需要进行个人验证和支持识别),但它们也可以是最耗时的。
首先确定身份验证过程需要如何保护,然后确定验证身份需要哪些身份验证(approval)机制。
- 很多外部客户端是否需要验证证书状态?证书管理器中的内部 OCSP 是否可以处理负载?
- 发布 CRL 和验证证书至关重要。确定要检查证书状态(主要是内部客户端)哪些类型的客户端?外部客户端验证用户证书或服务器证书?另外,还会尝试确定将运行多少个 OCSP 检查。CA 有一个内部 OCSP,可用于内部检查或不经常检查,但大量 OCSP 检查可能会降低 CA 性能。对于大量 OCSP 检查,特别是对于大型 CRL,请考虑使用单独的 OCSP Manager 来关闭 CA。
- PKI 是否允许替换密钥?它是否需要密钥存档和恢复?
- 如果只撤销并替换丢失的证书或令牌,则不需要一种机制来恢复它们。但是,当使用证书为电子邮件、文件或硬盘等数据签名或加密数据时,密钥必须始终可用,以便恢复数据。在这种情况下,使用 KRA 归档密钥,以便始终访问数据。
- 机构是否使用智能卡?如果是这样,如果智能卡不正确,则可以允许临时智能卡,需要密钥归档和恢复?
- 如果没有使用智能卡,则无需配置 TPS 或 TKS,因为这些子系统仅用于令牌管理。但是,如果使用智能卡,则需要 TPS 和 TKS。如果令牌可以被丢失并替换,那么还需要有一个 KRA 来归档密钥,以便重新生成令牌的证书。
- 证书和 CRL 将发布在哪里?为了发布发布,需要在接收结束时执行哪些配置?需要发布哪些类型的证书或 CRL,以及频率?
- 务必要确定哪个客户端需要访问证书或 CRL 信息以及如何允许访问该证书。您可以从那里定义发布策略。