Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 

Windows 2000 公钥基础结构详解

来源:linuxdby.com 作者:Webmaster 时间:2007-04-12 点击: [收藏] [投稿]


  要把所有可信根 CA 包含在一个策略对象中,可采用的另一要个方法是使用“交叉证书”。至少有一个供应商的 PKI 产品中使用了这种证书,它提供了一种方法,来创建从可信根 CA 到多个其他 CA 的一条信任链。Windows NT PKI 能够处理这种交叉证书,并能够在进行信任决策时使用它们;但在我们的模型中,它并不是必需的。我们这样做,是因为交叉证书会带来很多问题,特别是:

  当 CA 实施不同的策略时,对于跨越不同组织界限的交叉证书其解释不明确。

  如果没有现成的商业协议阐释其用法,则会产生交叉证书的解释问题。

  生成和维护交叉证书会导致额外的管理负担。

  启用域客户

  Windows 2000 提供了一整套核心服务,来支持开发和部署可互操作的、基于 PK 的应用程序。这些核心服务也可在 Windows NT 4.0、Windows 98 及 Windows 95 中使用。Windows 2000 实现最显著的新功能是,它与域管理和策略模型集成,从而大大简化了企业内部的应用程序管理。

  在本节的后面,我们阐述了 PKI 提供的核心应用程序服务。

  PK 技术的使用取决于是否能够生成和管理一个或多个 PK 算法的密钥。Microsoft 的 CryptoAPI 支持可安装的 CSP,该 CSP 支持各种加密算法的密钥生成和管理。CryptoAPI 定义了标准接口,用于生成和管理密钥(对所有 CSP 均相同)。

  存储密钥材料的机制取决于所选定的 CSP。Microsoft 提供的软件 CSP(或“基础”CSP)会基于每个用户或每个机器,把密钥材料以不同的加密形式存储。另外,它们支持对公钥对的导出性(CRYPT_EXPORTABLE 标记)控制,以及对使用的控制(CRYPT_USER_PROTECT 标记)。前者控制从 CSP 的私钥导出;后者决定了当应用程序试图使用该私钥时,用户的通知性能。其他 CSP 可以实施不同的机制。例如,智能卡 CSP 把公钥对存储在智能卡的防篡改硬件中,通常需要输入一个 PIN 代码,才能访问与私钥有关的操作。对应用程序来说,这些“保护”机制是透明的;该程序可用 CSP 环境中独有的密钥设置名称,来引用所有密钥对。
密钥恢复

  CryptoAPI 体系结构与密钥恢复是兼容的,但并不能管理它。在这种情况下,密钥恢复是指,对一个实体的私钥以某种方式进行永久存储,这种方式允许已授权的个人在不知道谁是拥有该私钥的实体,或没有得到该实体的同意下,就可以访问该私钥。通常,这是为了访问重要商业信函,或为了满足执法的需要。

  密钥恢复只有在用于永久性数据加密所用的密钥时,才是有用的。对于基于 PK 的应用程序,它通常指实体密钥的交换密钥。在归档标识或数字签名私钥时,其作用十分有限,并且冒很大风险。这是因为,其唯一的实际用途就是模拟私钥所有者。

  Microsoft Exchange 现提供对密钥交换密钥的支持,这样,就可以阅读加密的电子邮件。另外,第三方 CSP 也提供了对密钥恢复的广泛支持。根据客户的需要,Microsoft 把来还会增加其他的密钥恢复功能。

  正如前面讲到的,基于 PK 技术的实际应用一般取决于把公钥与已知实体绑定在一起的证书。Windows 2000 PKI 支持 Microsoft 企业 CA 或第三方 CA 的证书登记。登记支持是以与传输无关的方式实现的,并以使用工业标准的 PKCS-10 证书请求消息及包含产生的证书或证书链的 PKCS-7 响应为基础。同时,还支持 RSA 密钥和签名的证书、数字签名算法 (DSA) 密钥和签名,以及 Diffie-Hellman 密钥。

  Microsoft 提供的登记控制 (Xenroll.dll) 提供了对 PKCS-10 和 PKCS-7 消息的支持,这种控制可为基于 Web 的登记编写控制脚本,或由程序调用该控制,以实现对其他传输机制,如 RPC、DCOM 及电子邮件的支持。该控制允许调用应用程序,来指定 PKCS-10 消息中包含的属性;允许使用原有密钥对或生成一个新的密钥对。登记过程被假设为非同步的,登记控制提供了状态管理,使颁发的证书与等待的请求相匹配。这就提供了这样一种方法,该方法可在证书、生成密钥对的 CSP 以及密钥对容器名称之间建立内部绑定。

  PKI 支持多个登记方法,包括基于 Web 的登记、登记向导以及基于策略的“自动登记”(是用户登录过程的一部分)。把来,Microsoft 计划采用 IETF PKIX 工作组中现有证书请求语法 (CRS) 草案相同的方式,来开发证书登记过程。

  从概念上讲,证书更新与登记相似,但它利用了原有证书内在的信任关系。证书更新假定请求实体需要一个新证书,新证书的属性与原有有效证书相同,但有效日期更长。更新可使用原有的公钥或新公钥。

  更新对 CA 特别有利。可以推测,处理更新请求的效率会很高,因为此过程不需要重新验证原有证书的属性。Windows 2000 PKI 支持对自动登记证书的更新。对于其他机制,更新是作为一个全新的登记请求来处理的。

  有关证书更新的工业标准消息协议尚未确定,但是已包含在 IETF PKIX CRS 草案中。只要这些标准被批准,Microsoft 就会计划实施有关的消息格式。

  在 Microsoft PKI 中,密钥和相关证书由 CryptoAPI 子系统存储和管理。正如上文所述,密钥由 CSP 管理,而证书则由 CryptoAPI 证书存储区管理。

  证书存储区是证书及其相关属性的库。按照常规,PKI 定义了五个标准证书存储区:

   MY – 此存储区用于保存用户或机器的证书(相关私钥可用于该证书)。

   CA – 此存储区用于保存颁发和中级 CA 证书(用于建立证书验证链)。

   TRUST – 此存储区用于保存证书信任列表 (CTL)。这些列表给管理员提供了其他机制,以指定一组可信 CA。这样做的优点是:这组可信 CA 可以通过非安全链接进行传输,因为它们已经过数字签名。

   BOOT – 此存储区仅保存可信根 CA 的自签名 CA 证书。

   UserDS – 此存储区提供了保存在 Active Directory(例如,在用户对象的用户证书属性中)中的证书库的逻辑视图。其目的是简化对这些外部库的访问。

  这些是逻辑存储区,可展示驻留在多个物理存储区(硬盘、智能卡等)中的可用证书的全系统统一视图。使用这些服务,应用程序可以共享证书,并保证管理策略的一致操作。此证书管理功能支持对 X.509 v3 证书的解码,并提供枚举功能来帮助查找特定证书。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇: Windows 2000 安全设置检查清单   下一篇: Win 2000中格式化字符的安全问题

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号