Windows 从 Windows 版本起即开始为公钥基础结构 (PKI) 提供强健的平台范围的支持该版本包含第一个本机证书颁发机构功能引入了自动注册并为智能卡身份验证提供支持在 Windows XP 和 Windows Server 中这些功能已得到扩展可通过版本 证书模板提供更灵活的注册选项并支持自动注册用户证书在 Windows Vista® 和 Windows Server® (以前的代号为Longhorn)中Windows® PKI 平台又向前迈了一步支持高级算法实时有效性检查可管理性也更好本专栏将讨论 Windows Vista 和 Windows Server 中新增的 PKI 功能以及企业如何利用这些功能来降低成本和增加安全性 Windows Vista 和 Windows Server 中的 PKI 围绕四个主要核心方面进行了改进加密注册可管理性和吊销除了这些特定功能的改进外Windows PKI 平台还受益于其他的操作系统改进(如角色管理器)这些改进使得创建和部署新的证书颁发机构 (CA) 更加轻松另外Windows 的其他许多部分都能够利用 PKI 平台中的改进如在 Windows Vista 中支持使用智能卡存储加密文件系统 (EFS) 密钥 加密 对加密服务核心的改进体现在两方面首先通过引进下一代加密技术 (CNG)Windows 现在提供一种可插入的协议不可知的加密功能此功能使得以编程方式开发和访问独立算法更加轻松其次CNG 还新增了对 Suite B 算法的支持该算法在 年由 National Security Agency (NSA) 引入 CNG 是 Microsoft 的一个新型核心加密界面也是针对将来基于 Windows 和支持加密的应用程序建议使用的 APICNG 提供了大量的以开发人员为目标对象的功能其中包括更方便的算法发现和替换可替换的随机数生成器和一个内核模式加密 API提供这些新功能的同时CNG 还与其处理器 CryptoAPI 中提供的算法集完全向后兼容目前CNG 正在接受通过联邦信息处理标准 (FIPS) 级别 认证以及成为所选平台的通用准则所需的评估 CNG Suite B 支持包括所需的所有算法AES(所有密钥大小)SHA 系列(SHASHA 和 SHA)哈希算法椭圆曲线 DiffieHellman (ECDH) 以及以美国国家标准与技术研究院 (NIST) 标准原始曲线 PP 和 P 为标准的椭圆曲线数字签名算法 (ECDSA)NSA 已表明经过认证的 Suite B 实现将用于保护以下类别的信息Top SecretSecret 以及过去被描述为 SensitiveButUnclassified 的隐私信息所有 Suite B 算法的开发都采取公开形式其他一些政府也在探索尝试采用 Suite B 算法作为国家标准 对 Windows PKI 平台的这些低级别改进为开发人员保护数据提供了更安全的方法同时还创建了易于维护和随时间改进的子系统由于 CNG 是可插入的体系结构所以可根据需要添加新算法CNG 会从应用程序层抽象出这些提供程序最终结果是Windows Vista 和 Windows Server 的设计旨在为开发支持 PKI 的应用程序和服务提供高级的可发展平台 注册 Windows 中的证书注册体验得到了显着改善提供新的基于向导的注册工具更佳的证书过期处理新 API代表注册功能以及凭据漫游等功能这些增强功能通过集中管理的方式更加轻松地在企业范围内部署证书降低对用户的影响从而降低了 PKI 的总体拥有成本 从注册的角度来看最显着的变化就是如图 和 中所示的新证书注册用户界面此用户界面取代了旧的受限制的用户界面旧界面不具备在注册过程中接受来自用户的数据的功能新界面允许用户在注册过程中输入数据(如果管理员将证书模板配置为要求在注册过程中输入数据)该界面还针对用户可能无法对特定模板注册的原因进行了清楚的说明 图 选择可用证书 图 不可用证书的状态 注册界面的另一个关键改进是对过期证书的处理新界面为最终用户明确提供了有关哪些证书何时过期的信息并使用户可以轻松续订证书或忽略来自同一界面的警告尽管管理员能够通过自动注册来自动刷新证书但此警告功能对于移动用户或断开连接的用户而言仍然非常重要因为这些用户可能很少登录公司网络而且持有的证书可能已接近过期日期 对于使用证书注册的开发人员而言新的 API 对基于 ActiveX® 的旧控件(xenrolldll 和 scrdernldll)提供了重大改进新的证书注册 API 提供了定义良好的类层次结构理解起来更加轻松编码也更加简单这一新的 API 取代了 Windows Vista 和 Windows Server 中的 xenroll 对 API 所做的这一更改对开发人员和 IT 专业人员都有影响因为 Windows Vista 客户端无法使用 Windows Server 中提供的基于 Web 的注册功能这是由于这些注册网页(默认存储于 /certsrv 虚拟目录下)所使用的 xenroll 控件在 Windows Vista 中已不复存在知识库文章如何将证书服务 Web 注册页与 Windows Vista 结合使用(s/kb/) 提供了一种相应解决方案的相关信息从 Windows Server 自动注册到 Windows Vista 未受影响 在以前版本的 Windows Server 中对注册代理能代表哪些群体进行注册并没有什么限制换句话说一旦授予了用户注册代理能力他就能够代表林中的其他任何用户进行注册当然这就意味着用户通过代表某位现有用户进行注册进而使用新创建的证书假冒该用户即可轻松升级自已的权限为防止此类威胁仅对具有高可信度的用户提供注册代理能力这种方法虽然提高了安全性但也使部署模型的灵活性降低因为只有少量用户具有代表其他用户进行注册的能力因此地理位置分散的大型组织为最终用户(例如智能卡)部署证书的复杂度将会增加 在 Windows Server 中可以将注册代理限制在更低的级别可以针对能够代表哪些用户进行注册加以限制也可以针对能够依照哪些模板进行注册加以限制如图 所示例如现在某组织可以赋予某个本地 IT 专业人员代表本分支机构内所有用户(而不是人力资源组中的用户)进行注册的能力针对注册代理的这一精确方法使企业能在其组织内部更有效更安全地委派注册能力 图 注册代理限制 管理 PKI 的最大挑战之一是管理分散在组织内各设备中的所有密钥对即使在一个不很复杂的 PKI 环境中任何特定用户也可能具有若干个不同的密钥对(如 EFS无线网络身份验证和 S/MIME)并要求无论该用户从何处登录都可以使用这些密钥对随着移动计算和终端服务的日益盛行在网络内复制这些密钥对以便用户在任何位置登录都可以使用它们将变得空前重要虽然用户持有的令牌(如智能卡)有助于解决部分问题但组织内可能仍然有用户没有卡或用户持有的证书并未存储在卡内凭据漫游通过安全存储 Active Directory® 内部的密钥对和证书使得用户无论从何处登录都能够使用它们从而解决了上述问题 凭据漫游首先在 Windows Server SP 中推出允许证书和密钥在无需使用漫游用户配置文件的情况下在计算机之间安全漫游在 Windows Vista 和 Windows Server 中此功能是默认包含的并在证书服务客户端 (CSC) 服务中实现配置选项(如哪些证书可以漫游和如何解决沖突)是通过组策略进行管理的在 Windows Vista 和 Windows Server 中CSC 服务还可以实现存储的用户名和密码的漫游虽然此功能默认包含在 Windows Vista 中但应注意Windows XP 中完全支持凭据漫游登录到 Windows Server 域控制器(带有更新部署;请参见 s/kb/)时也完全支持凭据漫游这就意味着您无需等待 Windows Vista 部署完成即可使用此技术 可管理性 Windows Server 中进行了大量升级通过以高可用性方式使证书颁发机构 (CA) 服务更容易设置监视和运行改进了该服务的可管理性CA 设置与角色管理器工具集成并提供了安装 CA 服务的简单方法为过程中的每个步骤都定义了默认设置现在设置可以在无人参与模式下执行最后设置拥有了更好的诊断功能使其更容易对可能出现的故障或问题进行故障排除 Windows Server 中大大增强了对 CA 服务的监视(在 Windows Vista 中拥有全面的证书诊断)除了跨整个产品的更加灵活的事件记录基础结构外现在 CA 服务自身还拥有一个内置监视控制台并与 Systems Center Operations Manager (以前称为 MOM)相关联以提供企业级警报企业 PKI 监视控制台是对 Windows Server AdminPak 中引入的其前身的改进新的控制台包含在产品本身中除了监视指定林中的所有 CA 外现在还可以监视联机证书状态协议 (OCSP) URI Operations Manager 管理包为组织的 PKI 提供了一种被动监控功能其中包括基于阈值的内置警报例如管理包可用于监视证书吊销列表 (CRL) 的刷新情况当 CRL 达到过期日期前的特定天数或小时数时则向 PKI 管理员发出警告最后还提供了许多新的性能计数器帮助进行故障排除和监视 CA 服务本身的整体性能这些计数器可用于捕获数据如每秒颁发多少证书 在 Windows Server 中初次亮相的新功能支持 CA 服务硬件级别的群集此群集支持采用标准 Microsoft 群集服务 (MSCS) 技术并支持两节点的主动/被动配置群集支持使您能够以高可用性方式运行颁发基础结构可用于地理位置各异的群集部署如果您选择应用群集支持请注意单是使 CA 群集化并不会导致整个 PKI 都可用尽管群集可以帮助确保 CA 自身可用但正常运行的 PKI 很可能包含未直接在 CA 上运行的其他组件例如CRL 分发点 (CDP) 和 OCSP 响应程序都必须以高可用性方式运行以确保可以执行吊销此外当采用硬件安全模块 (HSM)尤其是基于网络的 HSM 时它们都在 PKI 中显示潜在的故障点群集是一个强大的新增功能用于为证书颁发机构本身提供高可用性但它不是使整个 PKI 部署可用的万能药 吊销 长期以来CRL 一直用于提供对证书的有效性检查这些 CRL 包括有效期尚未过期但不再受信任的所有证书的序列号例如如果某个员工的证书的过期日期为 //但该员工在 // 离开了该组织则其证书的序列号将被添加到 CRL 中然后该 CRL 将可用于多个 CRL 分发点 (CDP)如 HTTP 和轻型目录访问协议 (LDAP) 路径 尽管被广泛使用但 CRL 仍存在一些关键的不足之处首先CRL 由 CA 定期发布(通常每天一次或两次)然后客户端下载这些 CRL 并将其缓存直到下一个发布间隔在此缓存期内证书可能被吊销而客户端可能不了解最新的状态其次在大型组织中CRL 的大小可能会增长到非常大(有时会超过 MB)在大型广为分散的网络范围内分发这些文件会非常困难甚至无法分发在分支机构方案或其他有限带宽环境中尤为如此 为解决这些问题RFC 中创建并定义了 OCSPOCSP 提供了验证证书状态的实时方法OCSP 客户端在需要检查叶证书有效性的计算机上运行然后该客户端软件引用 OCSP 响应程序并发送一条消息询问叶证书的有效性状态该响应程序会检查证书的有效性并实时向客户端做出响应此方法避免了缓存和分发问题 OCSP 客户端功能首次包括在了 Windows Vista 中(以前需要使用第三方软件)并可通过组策略进行配置默认情况下Windows 将尝试使用 OCSP但如果响应程序不可用将回退到标准 CRL 查询 在 Windows Server 中提供了 OCSP 响应程序来回应这些要求该响应程序通过角色管理器安装并可由 Operations Manager 管理包监视由于客户端和响应程序都符合 OCSP 标准所以可以轻松地将它们集成到采用类似于基于标准的第三方组件的现有 OCSP 环境中例如完全支持让 Windows Vista 客户端根据第三方响应程序检查证书状态以及让 Windows Server 响应程序来响应来自第三方客户端应用程序的查询此外Windows OCSP 响应程序还可以应答由任何符合标准的 CA 颁发的证书的请求不要求使用 Windows Server CA(和通常所说的基于 Windows 的 CA) 总结 Windows Vista 和 Windows Server 中的 PKI 平台包括许多增强功能和若干新增功能这些功能可使部署和操作 PKI 更安全成本更低新的 CNG API 为开发人员提供了更轻松的编程环境并支持新的加密标准注册改进使组织可以更轻松地大量置备证书并在整个企业内实现密钥的安全漫游同样新的管理包和 CA 群集功能使监视 CA 的状态更加容易并可确保高可用性最后吊销检查中的改进使用基于标准的方法提供对证书的实时验证而不会产生 CRL 分发的带宽成本因此Windows Vista 和 Windows Server 使 Windows PKI 平台提升到了一个新级别 |