首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

Windows 相当网络简介

2013-11-09 
Windows 对等网络简介对等网络概述对等网络可运用存在于 Internet 边缘的相对强大的计算机(个人计算机),执

Windows 对等网络简介
对等网络概述

对等网络可运用存在于 Internet 边缘的相对强大的计算机(个人计算机),执行较基于客户端的计算任务更高级的任务。现代的 PC 具有速度极快的处理器、海量内存以及超大的硬盘,而在执行常规计算任务(比如:浏览电子邮件和 Web)时,无法完全发挥这些设备的潜力。新式 PC 很容易就能同时充当许多类型的应用程序的客户端和服务器(对等方)。

许多应用程序的典型计算模型为客户端/服务器模型。通常,服务器计算机拥有庞大的资源,可响应客户端计算机对资源和数据的请求。客户端计算机向服务器计算机上的资源或数据发出请求。对于客户端/服务器计算模型,Web 浏览是一个不错的例子。Internet 上的 Web 服务器通常是专用的高端服务器计算机,配有速度极快的处理器(或多颗处理器)及超大硬盘阵列。Web 服务器可存储与某个网站相关联的所有内容(HTML 文件、图形、音频和视频文件等),并监听要求查看特定网页上的信息的传入请求。收到针对某个页面的请求时,Web 服务器会向发出请求的客户端发送相应页面及其关联文件。


图 4 对等网络示例

当对等方 A 要解析 NRP ID (800) 时,将发生以下情况:




图 7:具有六个节点的图 X 示例

图 X 由节点 A(节点 ID 2)、节点 B(节点 ID 1)、节点 C(节点 ID 5)、节点 D(节点 ID 7)、节点 E(节点 ID 8)和节点 F(节点 ID 9)组成,其中节点 A 和节点 D 为联系人。

图拓扑已聚合。所有节点都具有相同的记录数据库:一个签名记录(图签名为 1)、一个节点 A 的联系人记录(图签名为 1)以及一个节点 D 的联系人记录(图签名为 1)。签名记录的有效期为 5 分钟,由节点 B 定期刷新(5 分钟内)。联系人记录也具有有效期,同样会定期刷新。

修复图分区

节点 A 和节点 E 间的图连接被断开。修复分区的过程如下:

?

在图的底层分区(由节点 D、节点 E 和节点 F 组成)中,签名记录在 5 分钟有效期过后到期,因为节点 B 发送的经过刷新的签名记录,未被传播到底层分区的节点上。

?

当前签名记录到期后,图的底层分区中的所有节点在泛洪一个带有其各自节点 ID 的新的签名记录之前,将计算一个与其节点 ID 成正比的随机补偿延迟。由于节点 D 具有最小的节点 ID,因而将先泛洪一个图签名为 7 的新的签名记录。节点 E 和节点 F 将接收这个新的签名记录,并各自更新其签名记录。

?

节点 D 将自己的联系人记录的图签名更新为 7,并将新记录泛洪到节点 E 和节点 F。随着该信息被传播到各个图节点,每个节点都发现节点 A 的联系人记录(图签名为 1)与节点 D 的联系人记录(图签名为 7)不相匹配。为了解决这种不一致性,每个节点都会算出一个随机补偿延迟。延迟过后,各节点将尝试连接节点 A,以修复分区。本例中,节点 D 的延迟短于节点 E 或节点 F 的延迟。节点 D 与节点 A 建立了连接。

?

节点 A 与节点 D 交换记录。节点 D 发现节点 A 对其发送了一个新的签名记录(图签名为 1,小于当前的图签名)。节点 D 将新的签名记录(图签名为 1)泛洪到节点 E 和节点 F。

?

节点 D 将其联系人记录的图签名更新为 1,并把更新后的联系人记录泛洪到节点 E 和节点 F。然后,节点 D 泛洪节点 A 的新的联系人记录(图签名为 1)。

图已聚合。图中的所有节点都有一组相同的图记录:一个签名记录(图签名为 1)、节点 A 的一个联系人记录(图签名为 1)和节点 D 的一个联系人记录(图签名为 1)。

如果节点 D、节点 E 或节点 F 原先因网络连接问题,而无法与节点 A 或上层分区(由节点 A、节点 B 和节点 C)中的其他任何节点建立图连接,就会同时存在两个图。有另一个过程可用于执行长期分区修复。

图分区检测基于签名记录的到期情况。而图分区修复则通过尝试纠正当前签名记录中的图签名与联系人记录中的图签名间的不一致性来实现。对于签名记录中存在错误图签名的联系人,将尝试与之建立新的连接。这些新连接及随后的图记录同步将修复图。随着时间的推移,将通过常规图维护,自动获得用于泛洪的可选拓扑。

图安全

图只是关联一组节点,节点间的连接定义了用于泛洪的拓扑。图本身并不安全。Windows 对等网络提供了一个体系结构,允许使用可插接模块以保证图的安全。特定的安全模块可定义:

?

谁可以连接图并向图发送数据(连接身份验证、保密性和完整性)

?

通过图的流量是如何加密的(消息/记录保密性)

?

通过图的流量是如何验证的(消息/记录完整性)

Windows 对等网络提供了一个名为“Microsoft 对等分组”的图安全提供程序。

Windows XP Peer-to-Peer SDK 提供了一些 API,可帮助用户自己动手开发图安全提供程序。如需更多信息,请参阅标题为“增强对等图的安全性”的技术文章,位于:Microsoft 开发人员网络.

分组

分组是 PNRP、对等图生成和“Microsoft 对等分组”安全提供程序的组合Microsoft 对等分组安全提供程序具有下列功能:

?

管理组成员的凭据

?

安全地发布组中的记录

一个唯一的组 ID 可识别每个组。组成员用该组 ID 区分本地计算机所隶属的不同的组,并识别不同对等方间的组。组使用安全的对等方名称(如对 PNRP 所定义的)作为组 ID。

只有称为组成员的用户才能加入安全的组。每个组成员都有一个身份标识、一个唯一的对等方名称以及一些用以证明组成员身份的所有权的凭据。每个组成员还拥有一些可证明其隶属于某个组的凭据。

以记录为形式的信息被安全地泛洪到整个组中。记录包含:

?

发布成员 ID

?

用于证明记录有效的数据

?

一个有效期

?

一个包含记录信息的负载

Windows 对等分组可为下列对象提供安全机制:

?

对等方名称

?

组成员身份证书(与对等方相关联的凭据)

?

角色(成员与管理员)

?

安全发布

?

安全策略

?

安全连接

对等方名称

正如本文“通过 PNRP 实现对等发现与名称解析”一节所描述的,安全的对等方名称只能由所有者进行注册,并受公钥加密机制的保护。不安全的对等方名称最短可以为 3 个字符。安全的对等方名称不得少于 40 个字符。任何对等方名称都不得超过 191 个字符(外加一个空字符)。

一般认为拥有相应私钥的对等方实体具有安全的对等方名称。可通过 CPA(使用私钥进行签名)证明对等方名称的所有权。没有对应的私钥,恶意用户就无法伪造对等方名称的所有权。

组安全机制用对等方名称识别每个组成员。根据统计,对等方名称都是唯一的。组安全机制也用对等方名称识别组。创建完组后,随即将对该组创建组对等名称所基于的新的公钥/私钥对。拥有对应于组对等名称的私钥的成员即为该组的所有者。

组成员身份证书 (GMC)

为了加入一个组,每个成员都必须具有一些凭据,用以在执行组功能(如连接到组或在组中发布记录)时,证明组成员身份。这些凭据为 X.509 证书,称为组成员身份证书或简称 GMC。GMC 的特征如下:

1.

GMC 的使用字段是一个可识别成员的对等方名称。

为了证明 GMC 的所有权,持有 GMC 的成员必须证明对证书中所含对等方名称的所有权。必须知道对应于对等方名称的私钥,才能获得对等方名称的所有权。使用一个简单的质询,很容易就可以验证凭据所有权。

2.

对于受信任的 X.509 证书,证书链会通向一个自签名根证书。该证书的颁发机构是受信任的。

为了实现验证,GMC 必须是来自受信任颁发机构的分支证书。根据组的对等方名称来识别组。这样,对等方名称就可以受信任,进而充当可颁发 X.509 证书的受信任的颁发机构。当组对等方名称被用作根颁发机构时,很容易就可以验证用于签名根证书的密钥为组的私钥。因此,通向组的自签名根证书的任何证书链都是受信任的。这种根证书应包含:使用者:组对等方名称,颁发者:组对等方名称,使用组私钥进行签名。这种自签名的根证书称为组根证书或简称 GRC。

3.

在 X.509 证书中,可将颁发证书的机构委派给受信任的子颁发机构。

颁发成员 GMC 的负载可分布给的其他组成员(即管理员)。如果经组的安全策略授权,管理员可进一步委派该责任。

4.

与其他任何 X.509 证书一样,GMC 具有有效期。

只要一过有效期,GMC 就被认为是无效的。一个组成员通过在 GMC 到期前进行续订,来维护组的成员关系。

注意: Windows 对等网络 GMC 使用证书属性的方式不同于 X.509。GMC 中的“使用者名称”是一个无意义的友好名称,而“使用者备用名称”属性用于存储证书使用者的实际对等方名称。

安全发布

组数据库包含组成员发布的信息。除了成员发布的信息外,该数据库还包含有安全信息。必须同时保护常规信息及与安全相关的信息。组安全机制可为安全发布提供数据完整性和授权:

1.

数据完整性

在组中发布的记录带有安全数据。该安全数据含有记录内容的加密签名(包含负载和部分标头)。从而可以进行记录篡改检测。只有得到明确授权的组成员才能在不使其他组成员发布的记录无效的情况下,进行记录更新。

2.

授权

不是所有的成员都可以得到发布各类记录的授权,而且也不是所有成员都可以更新其他组成员发布的记录。所以,要求进行授权检查,以确认发布者是否有权发布记录,以及签名人是否有权对记录进行签名。根据发布者和签名人所具有的特权进行授权。

安全数据所含的签名人信息为签名人的对等方名称和 GMC 序列号。由于 GMC 中的角色可提供发布记录授权,因此其他安全数据附带了一个序列号,用以确保根据角色的权限集进行授权验证。一个组成员可拥有多个有效的 GMC。在成员的当前 GMC 到期前,对其发布了具有多个角色的 GMC,往往就会出现这种情况。

发布 GMC

GMC 包含对相应的组成员执行任何验证所需的多数信息(如用于签名的公钥、用于授权的角色等等)。验证组成员发布的信息需要该组成员的 GMC。GMC 的发布会在恰当的时机自动代表用户来执行。这样,其他成员就可以使用这个 GMC,验证该成员发布的信息。如果用户的当前 GMC 已被发布,那么在发布其他记录时,就不必再次进行发布。

安全策略

组创建者会要求对组安全机制的行为进行一定程度的控制。例如,组创建者会要求控制是否允许管理员授权其他用户作为管理员等权限。这个控制级别由一些不同的可配置的安全策略提供。在进行任何类型的验证时,系统会在执行任何更复杂的加密检测之前,先咨询这些安全策略。

安全连接

安全连接是通过安全服务提供程序 (SSP) 建立在图的成员间。用于组的 SSP 称为 P2P 组连接协议 SSP。建立连接所用的凭据为组成员的 GMC。进行一般的建立连接操作时,可以对成员的 GMC 链进行更新并保存在本地。

组过程

本节介绍下列组过程:

?

创建组

?

加入组

创建组

对等节点上的应用程序通过以下步骤来创建组:

?

创建一个组根证书 (GRC),使用组所有者拥有的私钥进行签名

GRC 是一种不同于身份证书(也归组所有者拥有)的自签名证书。

?

通过 PNRP 注册组的组 ID

?

配置一组组安全策略

组安全策略可定义组安全机制的行为。

?

发出邀请

邀请是一种 XML blob,包含邀请参数和预备组成员的一个 GMC。

加入并连接到组

为了加入一个组,对等节点必须先接收来自组所有者的邀请。为了从组所有者那里接收邀请,预备组成员必须首先向组所有者传递识别材料,也就是对等方名称及其公钥。这个信息使用带外进程来传递,比如电子邮件、文件共享、XML 等等。然后,组所有者向这个预备组成员发出邀请。

接收到邀请后,该预备组成员将使用邀请信息,连接到该组的图。为了连接到组,预备组成员使用 PNRP 和组 ID,解析某个组成员的地址。通常,每个用户都会有一个身份证书 (IDC)。IDC 可用于初始的安全 TLS 通道(与一个当前组成员建立)。

预备组成员和当前的组成员间将进行相互的身份验证。预备组成员和当前的组成员都信任链接到组所有者的 GRC 的 GMC 证书链。这种信任存在于对等组的上下文环境中,用以实现对等组操作。预备组成员将邀请中所收到的分支 GMC(与 IDC 中的 ID 相同)传递给当前的组成员。当前的组成员将验证预备组成员的 GMC 拥有一个链接到组的 GRC 的有效证书链。当前组成员将其分支 GMC 传递给预备组成员。预备组成员将验证当前的组成员的 GMC 拥有一个链接到组的 GRC 的有效证书链。

完成相互身份验证后,这个预备组成员现在就成了一个拥有单个邻居(即接受连接并进行身份验证的那个图节点)的新的组成员。新的组成员从当前组成员那里获得该组的当前记录集。

以后,这个新的组成员就可以使用图生成功能,建立多个邻居连接,并为泛洪而优化底层组图的形状。

已复制存储

已复制存储是与图相关联的一组记录,这些记录可在组的所有成员间,安全地进行发布和同步。已复制存储代表组数据(对于所有组成员都应该是相同的)的视图。图生成功能可确保将记录传播到所有节点。图生成功能也可阻止在整个图中传播未经授权的记录。组成员间的记录复制使用 SSL,为记录数据提供加密及数据完整性。

加入组时,新的组成员会自动接收来自其所连接的当前组成员的所有组记录。初次同步后,组成员会定期重新同步其已复制存储,从而确保所有组成员都拥有相同的视图。

加入组后,应用程序可以注册新的记录类型,并运用组的安全机制开始进行发布。应用程序发布新记录时,组的安全机制将应用于该记录,并安全地进行发布。应用程序所发布的新纪录将自动泛洪到所有组成员。

应用程序也可以通过注册,专门接收特定的记录类型。收到记录后,应用程序会接到通知,然后有关记录数据就会传递给该应用程序。例如,组对话应用程序可通过注册,专门接收对话记录类型,从而可以监视组中的对话活动,并正确地通知有关用户。

搜索

搜索是用于定位组中数据的一种机制。有两种不同的搜索模型:

本地搜索可对已复制存储(组的本地记录集)进行搜索。在本地搜索中,组成员不会向其他成员发送搜索查询。

分布式搜索会想组成员发送查询。Windows 对等网络目前还

热点排行