Windows 2000 公钥基础结构详解.doc

上传人:bao****ty 文档编号:143558406 上传时间:2020-08-31 格式:DOC 页数:16 大小:99KB
返回 下载 相关 举报
Windows 2000 公钥基础结构详解.doc_第1页
第1页 / 共16页
Windows 2000 公钥基础结构详解.doc_第2页
第2页 / 共16页
Windows 2000 公钥基础结构详解.doc_第3页
第3页 / 共16页
Windows 2000 公钥基础结构详解.doc_第4页
第4页 / 共16页
Windows 2000 公钥基础结构详解.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《Windows 2000 公钥基础结构详解.doc》由会员分享,可在线阅读,更多相关《Windows 2000 公钥基础结构详解.doc(16页珍藏版)》请在金锄头文库上搜索。

1、Windows2000公钥基础结构详解 作者:佚名文章来源:不详点击数: 4更新时间:2005-2-7引言 Microsoft Windows 2000 将一个综合的公钥基础结构 (PKI) 引入到 Windows 平台。这利用和扩展了Windows 公钥 (PK) 加密服务(该服务是过去几年中引入的),提供了一整套服务和管理工具,以创建、部署和管理基于 PK 的应用程序。它允许应用程序开发人员利用 Windows NT 的共享机密安全机制或基于 PK 的安全机制,作为其相应的安全机制。同时,企业还因此能够基于统一工具和策略机制,来管理该环境和应用程序。 本文最后对 Windows 2000

2、中 PKI 作了概述。 概念 加密技术是一门保护数据的科学。加密算法从数学上将输入“明文”数据与“加密密钥”结合起来,生成加密数据(暗记文)。虽然有了一个好的加密算法,但要逆转加密过程,并将仅以暗记文开始的数据反推成明文数据,从计算角度上是不可行的;此转换过程还需要其他数据,即“解密密钥”。 传统上,“密钥(或对称密钥)加密”、加密与解密密钥是相同的,因而可以共享敏感数据。对于想要使用密钥加密进行通信的双方,只有安全地交换加密/解密密钥后,才能相互交换加密数据。 而“PK 加密”基本属性则是,加密和解密使用不同的密钥。用公钥加密密钥进行的加密是“单向”功能;明文虽然可以很容易地转变为暗记文,但

3、加密密钥却与解密过程无关。要将暗记文转回到明文,则需要解密密钥(与加密密钥有关,但不相同)。因此,对于 PK 加密来说,每个用户都有一对密钥,由一个“公钥”和一个“私钥”组成。在公钥可用的前提下,可以让其他人将加密数据发给您,而该数据只能用您的私钥来解密。相似地,可用您的私钥来转换数据,这样,其他人就会验证出该数据是由您发送的。第二种功能是数字签名的基础,下面将对它进行论述。 PK 加密中,公钥与私钥是分开的,由此产生了很多新技术。最重要的新技术有:数字签名、分布式身份验证、使用公钥的密钥协议,以及未预设共享机密情况下进行的批量数据加密。 有许多人们熟知的 PK 加密算法。其中一些算法是通用的

4、,如 RSA (Rivest-Shamir-Adleman) 和 ECC (Elliptic Curve Cryptography),因为它们能支持以上所有操作。其他算法则仅支持这些功能的一个子集。一些示例中包括数字签名算法 即 DSA,是美国政府的数字签名标准(FIPS 186)的一部分,该算法仅用于数字签名;还包括 Diffie-Hellman (D-H),它用于私钥协议。 以下几段简要论述了 PK 加密的主要用途。这些内容是以 Bob 和 Alice 两个用户为例,来讲述这些操作的。它假定 Bob 和 Alice 可以交换信息,但没有任何预设的共享的机密。 数字签名也许,公钥加密最引人注

5、目的特征就是创建和验证“数字签名”。它以数学转换为基础;该转换将私钥与待“签名”的数据结合在一起,这样: 只有拥有私钥的人才有可能创建数字签名。 任何能访问此相应公钥的人均能验证该数字签名。 对已签名的数据进行的任何修改(即使只修改了大型文件的一位)都会使数字签名无效。 数字签名本身就是数据,因此可将其与所保护的签名数据一起传输。例如,Bob 可以创建一个给 Alice 的电子邮件消息,并把签名与消息文本一起发送,用它给 Alice 提供验证消息来源所需的信息。此外,数字签名还提供了一种方法,以验证数据在从源到目标的传送过程中,没有被篡改过(无论是意外的还是蓄意的)。因此,数字签名可用来提供一

6、个能高度保障数据完整性的机制。 身份验证可用 PK 加密来提供可靠的分布式“身份验证”服务。“实体身份验证”可以保证:数据发件人就是收件人所认为的那个实体。验证的一种方法是:数据接收人 Alice 向数据发送人 Bob 发送一个质询,该质询是用 Bob 的公钥进行加密的。Bob 对此质询进行解密,并把它发回给 Alice,证明他有与 Alice 发布质询所用公钥相关联的私钥。另一种方法是:Alice 向 Bob 发送一个明文质询。Bob 将该质询与其他信息(已有数字签名)结合起来。然后,Alice 就用 Bob 的公钥来验证该签名,并证实 Bob 有与此关联的私钥。该质询能够使该消息是唯一的,

7、并可防止有敌意的第三方利用答复进行攻击。这两种情况都称为“证明所有权”协议,因为发送人在此过程中证明自己有特定的私钥。 使用公钥的密钥协议PK 加密的另一个功能是,它允许双方就使用公共的非安全通信网络的共享机密达成一致。实际就是 Bob 和 Alice 每人都生成一个随机数,分别形成了共享机密密钥的一半。然后,Bob 用 Alice 的公钥,对自己的那一半机密进行加密,再把机密发送给 Alice;而 Alice 则用 Bob 的公钥对自己的那一半机密进行加密,再把机密发送给 Bob。双方都可以将对方发来的消息进行解密,将共享机密中不是自己生成的那一半提取出来,然后将两个一半密码结合起来,生成共

8、享机密。协议完成后,共享的机密就可以用于保障其他通信的安全了。 未预设共享机密的批量数据加密PK 加密带来的第四个主要技术是:无须建立预设共享机密,就可以进行批量数据加密。从计算角度上看,现有的 PK 算法与密钥算法是密切相关的。这就不适于加密大量数据。要既能利用 PK 加密技术,又能进行有效的批量加密,通常要将 PK 和密钥技术结合起来使用。 它是这样实现的:先选择一个密钥加密算法,并生成一个“随机会话密钥”,进行数据加密。如果 Bob 要发送消息,他先用 Alice 的公钥对该会话密钥进行加密。随后,生成的暗记文密钥与加密数据一同发给 Alice。Alice 可用她的私钥来恢复该会话密钥,

9、然后用该会话密钥解密数据。 在私钥加密中,Alice 和 Bob 信任他们的共享机密,因为他们已就此达成一致或是以安全的方式交换的,他们还一致同意将其安全地进行存储,防止被有恶意的第三方窃取。相反,使用 PK 加密技术,Alice 和 Bob 都只需要保护其各自的私钥即可。他们需要共享的唯一信息就是对方的公钥。他们需要能够用高保障来标识彼此的公钥,但不需保密公钥。对使用 PK 加密而言,能够信任公钥与已知实体的关系是至关重要的。 Alice 信任 Bob 的公钥,有可能是因为 Bob 以安全的方式将它直接传递给了 Alice。但这是以 Alice 和 Bob 此前已有安全通信为前提的。更可能是

10、,Alice 通过非安全机制(如从公共目录)获得了 Bob 的公钥,所以必须有其他的机制使 Alice 确信,她所谓的来自“Bob”的公钥,的确是 Bob 的公钥。这样的机制之一就是基于“证书颁发机构”(CA) 颁发的证书。 证书证书提供了一种机制,用于确立对公钥和拥有相应私钥的实体之间关系的信任。证书就是一种特殊类型的数字签名式的声明;证书的主题则是一个特殊的“主题公钥”,该证书是由颁发者(保存另一对私钥和公钥)签名的。通常,证书也含有与主题公钥有关的其他信息,如有相应私钥的实体标识信息。因此,当颁发一个证书时,颁发者就证明了主题公钥和主题标识信息之间绑定关系的有效性。 现用证书的最常见格式

11、是以 ITU-T X.509 标准为基础的。这是 Windows 2000 PKI 中使用的一个基本技术。但是,它并不是唯一的证书格式。例如,Pretty Good Privacy (PGP) 安全电子邮件采用的是一种 PGP 独有的证书。 证书颁发机构证书颁发机构 (CA) 仅是一个颁发证书的实体或服务。CA 可作为绑定担保人,这是在颁发证书中包含的主题公钥与主题标识信息之间的绑定。不同的 CA 可选用不同的方法来验证这种绑定,所以在选用担保公钥的颁发机构之前,了解该机构的策略和步骤是很重要的。 信任和验证当 Alice 收到一个签名的消息时,面临的根本问题就是,她是否应该“信任”该签名是有

12、效的,并的确是由自称的“签名人”签名的。Alice 可以确认该签名数学上是有效的;即,她可以使用已知的公钥来验证该签名的完整性。但是,Alice 仍需确定:验证该签名所用的公钥是否的确属于自称第一个签名的那个实体。如果 Alice 并不完全相信该公钥是属于 Bob 的,她需要获得有力的证据,证明该密钥属于 Bob。 如果 Alice 可以找到一个 Bob 公钥的证书(由 Alice 绝对信任的 CA 颁发的),那么,Alice 就会相信“Bob 的公钥”的确是 Bob 的。即,如果 Alice 找到的证书具有以下特征,她就会相信,她收到的确实是 Bob 的公钥: 证书具有其颁发者加密的有效签名

13、。 证书可证实名称“Bob”与 Bob 的公钥之间存在绑定关系。 证书是由 Alice 信任的颁发者颁发的。 假定 Alice 找到了 Bob 公钥的这样一个证书,然后她可以使用颁发证书的 CA (Ira) 的公钥来验证其真伪(假设下一个需要验证的是 Ira)。但是,Alice 再次面临这样的困境。即她怎么知道该公钥是不是真的属于 Ira 的呢?所以,Alice 需要找到一个证书,能证实 Ira 的身份标识以及 Ira 与“Ira 的公钥”之间的绑定关系。 最终,Alice 会建立一条“证书链”,从 Bob 和“Bob 的公钥”开始,经过一系列 CA,在颁发给 Alice 绝对信任的人的证书处

14、结束。这个证书称为“可信根证书”,因为它成为公钥/标识绑定层次结构的根(顶层节点),Alice 相信它是真实的(请参见 4.1 节,“证书层次结构”)。如果 Alice 明确信任某一特定可信根证书,那么也就是绝对信任了该可信根颁发的所有证书,以及该可信根证实的任何从属 CA 颁发的证书。 这组 Alice 明确信任的可信根证书,是 Alice 必须以安全方式获取的唯一信息。这组证书是 Alice 的信任系统以及她对公钥基础结构的信任基石。 Windows 2000 PKI 组件 图 1 给出了 Windows 2000 PKI 组件的顶层视图。这是一个逻辑视图,并不是指独立服务器的物理需求;事

15、实上,很多功能都可能合并到一个单服务器系统中。Microsoft 证书服务是 PKI 的一个重要组成部分。用它可以部署一个或多个企业 CA。这些 CA 支持证书的颁发和吊销。它们与 Active Directory 集成在一起,提供 CA 位置信息和 CA 策略,并允许发布证书和吊销信息。 PKI 并未取代原有基于域控制器 (DC) 和 Kerberos 密钥分发中心 (KDC) 的 Windows NT 域信任和身份验证机制。而是与这些服务配合使用,增强了性能,使应用程序得以方便地扩展,以满足外部网和 Internet 的需求。尤其值得一提的是,PKI 满足了对于可扩展的分布式标识和身份验证、完整性和保密性的需求。 图 1 Windows 2000 公钥基础结构组件 在运行 Windows NT 的工作站和应用程序服务器,以及运行 Windows 95 和 Windows 98 的工作站上,均支持创建、部署和管理基于 PK 的应用程序。Microsoft CryptoAPI 是这些服务的基石。它为可安装的加密服务提供程序 (CSP) 的加密功能提供了一个标准接口。这些 CSP 可能是基于软件的,或利用加密硬件设备的程序,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号