Windows PKI 组件 图 给出了 Windows PKI 组件的顶层视图这是一个逻辑视图并不是指独立服务器的物理需求事实上很多功能都可能合并到一个单服务器系统中Microsoft 证书服务是 PKI 的一个重要组成部分用它可以部署一个或多个企业 CA这些 CA 支持证书的颁发和吊销它们与 Active Directory 集成在一起提供 CA 位置信息和 CA 策略并允许发布证书和吊销信息 PKI 并未取代原有基于域控制器 (DC) 和 Kerberos 密钥分发中心 (KDC) 的 Windows NT 域信任和身份验证机制而是与这些服务配合使用增强了性能使应用程序得以方便地扩展以满足外部网和 Internet 的需求尤其值得一提的是PKI 满足了对于可扩展的分布式标识和身份验证完整性和保密性的需求 图 Windows 公钥基础结构组件 在运行 Windows NT 的工作站和应用程序服务器以及运行 Windows 和 Windows 的工作站上均支持创建部署和管理基于 PK 的应用程序Microsoft CryptoAPI 是这些服务的基石它为可安装的加密服务提供程序 (CSP) 的加密功能提供了一个标准接口这些 CSP 可能是基于软件的或利用加密硬件设备的程序它们能够支持各种算法和密钥强度如图中所示一种可能基于硬件的 CSP 可支持智能卡CSP 与 Windows 一起发行并利用与 Microsoft PC/SC 兼容的智能卡基础结构的例子很多(请参见 以及 / ) 在加密服务的上层是一组证书管理服务这些服务支持 X v 标准证书提供永久存储枚举服务以及解码支持最上层是用于处理标准的工业消息格式的服务这些服务主要是用来支持 PKCS 标准(请参见 )以及发展中的 IETF(Internet 工程任务任务组— /)PKIX(公钥基础结构 X)草案标准 其他服务使用 CryptoAPI为应用程序开发人员提供其他功能安全信道 (schannel) 使用工业标准 TLS 和 SSL 协议来支持网络身份验证和加密可用 Microsoft WinInet 接口(与 HTTP 协议 (HTTPS) 一起使用)访问这些服务也可通过 SSPI 接口与其他协议配合使用这些服务Authenticode 支持对象签名和验证这虽然也可用于其他环境但主要用于确定 Internet 下载组件的来源和完整性还支持通用智能卡接口以上这些特点已用于将加密智能卡以一种与应用程序无关的方式进行集成这是集成在 Windows 中的智能卡登录支持的基础 图 公钥应用程序服务 证书颁发机构 Microsoft 证书服务包含在 Windows NT Server 中它提供一种方法使企业能够方便地建立 CA以满足其商业需求证书服务包含一个默认策略模块它适于将证书颁发给企业实体(用户机器或服务)其中包括请求实体的标识以及验证该域 PK 安全策略是否接受所请求的证书要考虑到解决其他策略或要将 CA 扩展成支持各种外部网或 Internet 方案时对其进行相应的修改或改进也是很容易的因为证书服务是基于标准的所以它为异构环境中启用 PK 的应用程序提供了广泛的支持 在 PKI 中可以方便地支持企业 CA 以及外部 CA例如与其他单位或商业服务提供程序相关的 CA这样企业就可以根据商业需要来调整环境了 Windows PKI 采用层次结构的 CA 模型其优点是具有可扩展性管理方便并且与很多商业和第三方 CA 产品有一致性最简单的形式是CA 层次结构仅由一个 CA 组成但通常一个层次结构会包含多个 CA并明确定义了父子关系(图 )正如图中所示可能还存在多个不连续的利益层次结构并不要求所有 CA 共享一个公用顶层父 CA(或根 CA) 这一模型中子 CA 由父 CA 颁发的证书来验证该证书将一个 CA 的公钥与其标识和其他基于策略的属性绑定到一起层次结构顶端的 CA 通常称为根 CA下属 CA 通常称为中级 CA或颁发 CA在本文中颁发 CA指的是颁发最终实体证书的 CA中级 CA不是指根 CA而是指仅验证其他 CA 的 CA 图 证书颁发机构层次结构 这一模型的主要优点就是验证证书只需要对少数根 CA 建立信任即可同时它对颁发 CA 的数量要求更为灵活支持多个颁发 CA 有许多实际的原因包括 用法 – 可基于多种用途颁发证书例如安全电子邮件网络身份验证等等颁发的用途不同其策略也会有所不同对其进行分别处理是策略管理的基础 组织划分 – 根据组织中实体角色不同颁发证书策略也不相同仍然可以创建颁发 CA区分和管理这些策略 地理划分 – 组织可能在多个物理站点拥有实体这些站点间的网络连接决定了需要多个颁发 CA以满足可用性要求 这种 CA 层次结构还为管理提供了好处包括 可以灵活配置 CA 安全环境(密钥长度物理保护防止网络攻击的保护等)以保持安全性和可用性之间的平衡例如对于根 CA可使用特殊用途的加密硬件把它放到物理上安全的区域或在脱机模式下运行出于成本或可用性的考虑它可能并不适于颁发 CA 可频繁更新颁发 CA 密钥和/或证书(洩密风险最高)而无须更改已建立的信任关系 可以去掉 CA 层次结构的某一部分而不会影响已建立的信任关系例如可以很容易地拒绝或吊销一个与特定地理站点关联的颁发 CA 证书而不会影响组织中的其他部分 CA 层次结构一般是静态的但并不要求必须如此在给定根 CA 下可以方便地添加或删除颁发 CA另外可由一个根 CA 颁发证书证明另一个根 CA 是它的中级 CA这样就可以合并原有的 CA 层次结构但是在合并之前需要慎重考虑可能会引起的策略不一致性还要考虑可能会编入原有证书的深度限制的影响 部署 Microsoft 证书服务是一个非常简单直观的操作创建 CA 前最好先建立域然后建立一个或多个企业根 CA在证书服务安装过程中管理员就是按这样的步骤进行安装的安装过程的要点包括 选择主服务器 – 根 CA 可以在任何 Windows NT Server 平台上运行包括 DC在此过程中必须考虑物理安全性要求预期负载连接性要求等因素 命名 – CA 名称与其证书绑定在一起因此不能修改应该考虑组织命令规则以及将来需要以区分不同的颁发 CA 密钥生成 – CA 的公钥对将在安装过程中生成它是该 CA 所独有的 CA 证书 – 对于根 CA 而言安装过程会用 CA 的公钥私钥对自动生成一个自签名的 CA 证书对于子 CA可以选择生成一个证书请求并提交到中级 CA 或根 CA Active Directory 集成 – 在安装过程中关于 CA 的信息会写入 Active Directory 中的 CA 对象它给域客户提供了可用的 CA 以及颁发证书类型的信息 颁发策略 – 企业 CA 安装程序会自动为该 CA 安装和配置 Microsoft 提供的企业策略模块已授权的管理员可对该策略进行修改虽然大多数情况下无需这样做 建立根 CA 后就可以安装此根 CA 所属的中级或颁发 CA 了安装策略的唯一重大差别是生成的证书请求是提交给根 CA 还是中级 CA此请求可以自动路由到联机 CA(可通过 Active Directory 定位这些 CA)或在脱机情况下手动路由在这两种情况下都必须先把生成的证书安装到 CACA 才能开始工作 |