颁发 CA
虽然对颁发 CA 有一些性能要求,但由于这种 CA 的工作负载通常不高,因此,要求相对较低。 性能测试表明,即使在负载很高时,对于企业 CA 来说,其限制通常在于与 Active Directory 的交互(而不是 CA 本身)。 因此,硬件性能要求很低。 与根 CA 一样,可靠性和可维护性是选择硬件时的主要考虑因素。
证书服务使用与 Active Directory 相同的数据库技术,因此适用许多相同的性能标准。 对于大多数组织来说,一条好的原则是使用与 Active Directory 域控制器相同的硬件规范。
有关 CA 性能的详细信息,请参阅本章末尾参考的“设计公钥基础结构”一章中的“CA 容量、性能和可伸缩性”一节。
第 7 章“实施公钥基础结构”提供了建议的硬件配置。 除了适用于根 CA 的以上原则外,在指定颁发 CA 的服务器硬件时,Microsoft 还建议考虑下列事项:
使用 NIC 协作的冗余网络接口卡 (NIC)。
为了可以在独立的物理存储单元中存储 CA 日志,建议至少使用两个冗余独立磁盘阵列 (RAID 1) 卷。 这同样具有性能方面的增益,并提高了对硬件故障的适应性。
可以考虑使用三个 RAID 1 卷(而不是两个),分别在独立的物理卷上存储操作系统、证书服务数据库和证书服务日志,以获得更高的性能。
高性能 SCSI(小计算机系统界面)驱动器和控制器优于对等的 IDE(集成设备电路)产品,原因是性能更高,复原性更好。 除与 Active Directory 的交互操作外,磁盘子系统的性能可能是决定 CA 总体性能的最重要的因素。
应考虑使用 HSM 来得到证书颁发期间的附加安全性或更高的签名操作性能。
与根 CA 相反,颁发 CA 要求 Windows Server 2003 Enterprise Edition 的附加功能,以支持可编辑证书模板和用户证书自动注册。
使用多个颁发 CA 以提高服务适应性
本节讨论安装多个颁发 CA 的技术方面原因。 使用不同的颁发 CA 注册不同的证书类型还有一些安全和策略方面的原因。 本章后面章节将考虑这些原因。
硬件配置很低的单个颁发 CA 就已足够向上万客户端颁发前面所述的证书类型,因此不大可能仅因性能原因而需要多个颁发 CA. 但是,应考虑颁发 CA 的可用性要求是否意味着必须部署多个 CA 来注册同样的证书类型。
CA 的可用性问题与许多服务不相同。 客户端在使用或验证证书时无需联系 CA. 只有在要求 CA 进行下列操作时,客户端才直接与 CA 联系:
注册新证书。
续订证书。
吊销证书。
发行新 CRL.
续订 CA 证书本身。
下表详细说明各自的可用性要求。
表 4.8:CA 服务可用性要求 CA 服务 可用性要求 注册服务 — 新证书 如果它可能阻碍新用户访问要求证书的网络或其他服务,这可能是一个重要的因素。 您必须评估从备份恢复 CA 所需的时间是否比在新用户可以注册证书前组织所能等待的时间要长。 大多数组织认为,等待 CA 恢复的成本低于管理额外 CA 的成本。 否则,您需要为相关证书类型配置多个颁发 CA。 注册服务 — 续订证书
如果将自动续订用于所述证书类型,默认情况下,在上一次证书过期前六个星期,自动续订就会进行。 相反,从备份恢复 CA 的时间通常以小时计算。 手动续订的证书由所有者续订。 您可能想要建立一个自动警告系统,以便在重要证书需要续订时提醒所有者。否则,可用性条件与注册新证书相同。
吊销证书证书通常只能由颁发它的 CA 吊销 — 其他 CA 无效。如果吊销的时间十分紧急(即需要在恢复 CA 之前完成),只要具有要吊销的证书的序列号和 CA 私钥(还原到其他计算机上),就可在当前 URL 中插入吊销条目。注意,CRL 通常有一天或一天以上的滞后时间。 除非 CA 的恢复时间长于下一次 CRL 发布的时间间隔,否则手动更新 CRL 的用处不大。
发布 CRLCRL 对于 CA 是唯一的 — 其他 CA 并不能使 CRL 发布的复原能力更强;而只能使 CRL 发布失败的影响降至最低(因为并不是所有颁发的证书都依赖于失败的 CRL)。访问当前吊销状态对于许多证书应用来说是最基本的。 这意味着发布的 CRL 分布点 (CDP) 上必须有一个未过期的 CRL。 如果没有,则对吊销敏感的证书应用将失败。CA 恢复时间应不长于上一个 CRL 过期与新的 CRL 发布之间的重叠期。 即使出现相反情况,仍然可以重新签署 CRL,并延长其有效期。 “操作指南”中介绍了此过程。
续订 CA 证书其他颁发 CA 不能帮助完成此任务。此操作不应太晚,以免 CA 恢复时间过于紧张。 即使是发生了这样的情况,仍可使用父 CA 密钥重新签署 CA 证书,延长其有效期。
注:在上表中,CA 恢复时间和 CA 可用性包括影响 CA 向最终用户提供服务的能力的任何事项。 这不限于服务器故障。 实际上,站点间的网络问题是一个可能性更高的服务故障原因。 在确定所需的服务可用性级别时,应考虑可能影响向用户交付服务的所有因素。
只要能很好地管理 CA 的备份和恢复,那么只有注册和一些续订要求会影响是否使用多个 CA 来提供服务复原的决策。 必须衡量这些服务不可用的成本和提供附加 CA 的安装和管理成本。
除可用性提高外,使用多个颁发 CA 还能提供更好的证书颁发性能,并使 CRL 的大小减半。 在本指南的解决方案中,这些因素都不重要。 本解决方案通过小心管理 CA 并通过足够的备份和恢复操作来处理复原问题。 因此,本解决方案只需要一个颁发 CA.
使用 HSM 保护 CA 密钥
使用 HSM 来保护所有 CA 的私钥,可以显著增强本指南提供的基本解决方案的安全性。 虽然这些措施通常很昂贵 — 一般比 CA 服务器更昂贵 — 但它们为您的环境带来的增强的安全性是显著的。 采取此措施使您可以将对 CA 密钥操作的访问仅限制为授权用户。 敏感的操作(如导出和备份 CA 密钥)通常使用多个智能卡保护。 这比仅信赖基于软件的密钥要安全一些,本地 Administrators 或 Backup Operators 组的成员可以从 CA 复制基于软件的密钥。
除了存在巨大的安全优势外,HSM 还可通过将 CPU 负载转移到专用的密码加速处理器来加速 CA 操作。
CA 安全性
本节讨论 CA 的安全性,包括操作系统和物理安全性、安全审核和监控以及使用角色委派 CA 的管理责任。
操作系统安全性
CA 的安全是通过使用 Windows 安全策略确保的。 这些设置基于“Windows Server 2003 安全指南”中的证书颁发机构服务器角色。
有关此角色中使用的设置的详细信息,请参阅第 7 章“实施公钥基础结构”。
根 CA 的安全设置是使用安全模板直接应用的,而颁发 CA 的设置是使用组策略应用的。
物理安全性
CA 服务器的物理安全性至关重要。 除非可以控制对这些服务器的基本物理访问,否则任何网络或操作系统安全都没有效用。
根 CA 应当放置在对服务器的访问受到严格控制的位置。 对 CA 的访问应当尽可能限制(每年二至三次),并且只有这些时候才需要打开服务器电源。 这意味着可将服务器存储在不具备服务器室的标准计算机设施的安全存储室。 例如,存储室不需要网络连接、复杂的服务器配套装置或特殊的电源和温度管理。
颁发 CA 也应放置在物理访问受到严格控制的位置。 物理安全性很重要,这是因为如果攻击者可以物理访问计算机,那么破坏安全性的方法就有很多种(超过通过网络可能进行的攻击)。 由于此服务器需要持续联机,因此应当存储在具有标准计算机服务器室设施(温度控制、电源管理、空气过滤以及消防等功能)的位置。
如有可能,应为两种服务器都选择可免受外部风险损坏(如火灾、水灾等)的位置。
同等重要的是,控制对备份、密钥材料和其他配置数据的物理访问,并确保它们的物理安全。 应将这些信息存储在服务器本身以外的位置,以便能够在整个站点不可用的情况下(如发生自然灾害或火灾时)进行 CA 恢复。
CA 的安全性管理
证书基础结构可能是价值非常高的资产。 具体价值取决于您的组织使用证书的用途 — 不仅是现在,而是在未来五年或更长的时间里。 因此,您应当使用比安装其他 IT 基础结构更严格的安全和验证措施来安装、配置和管理 CA. 这些措施至少应与用于域控制器的措施同等严格。 有些情况下,可能需要更高的安全级别。
您对 CA 的信任取决于您对 CA 已得到安全的设置和管理的高度信心。 如果无法保证 CA 的私钥是否被秘密复制,将永远无法确定应当由该 CA 颁发的证书是否是赝品。
这种确定性或信任级别在事实发生后就无法轻易地增加了;必须从一开始就将此特殊状况构建在所有与 CA 的交互操作中。 例如,如果您有一些审核记录或其他证据证明所有对 CA 的访问都是合法的,则您的组织对于 CA 私钥未被泄露这一事实的信心将要高得多。例如,在 CA 上的所有管理操作都被除管理员以外的人员目击或有视频记录。 如果是脱机 CA,那么它从未与网络连接的事实可大大减少被泄露的可能性。
如果您的组织曾经因所颁发的证书的有效性而有过法律纠纷,则可能特别需要这种高确定性。 这些情况下,如果您具有 CA 未被泄露的证据,胜诉的几率就较高。 对此问题的全面讨论超出了本指南范畴,您应当咨询审核人员和法律顾问,以就该主题进行深入探讨。
以下是一些可用来显著提高 CA 的确定性的步骤示例:
确保 CA 的物理安全性,以便未经授权的人员无法访问 CA 硬件或备份媒体。
在有目击证人在场的情况下,执行所有安装和配置步骤 — 记录主要的安装步骤,并让目击者连署,证明这些步骤已成功执行。 (另一种方法是视频录制安装过程,并将该视频副本委托给受信任方。)