会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 对等网络 / 带保护的对等网络

带保护的对等网络

申请号 CN200680039838.5 申请日 2006-10-26 公开(公告)号 CN101297278A 公开(公告)日 2008-10-29
申请人 微软公司; 发明人 B·朱; S·李; X·王;
摘要 在对等环境下,通过追踪机制保护版权和用户隐私。在描述的实现中,追踪机制能够使用随机数字生成的证书来保护用户隐私和/或用响应于至少一个使上传者能被标识的硬件标识符而生成的证书来保护版权。
权利要求

1.一种设备(302),包括:

至少一个处理器(306);以及

包含能够由至少一个处理器执行的处理器可执行指令(310)的一个或多个 介质(308),其中所述处理器可执行指令当被执行时指导所述设备执行包括以下 各项的动作:基于对象创建(504)第一追踪散列值;

生成(506)响应所述第一追踪散列值的对等体认证值;

使用对等体认证值制定(508)对等体签名的证书;

结合所述对象与所述对等体签名的证书以制定(514)原子单元;以及尝试(516)将所述原子单元上传到对等网络。

2.如权利要求1所述的设备,其特征在于,所述对等体签名的证书包括 由权威机构签名的证书以批准所述对等体签名的证书。

3.如权利要求1所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步包括以下各项的动作:生成第一随机数;

其中所述创建第一追踪散列值的动作包括基于所述第一随机数创建所述 第一追踪散列值的动作;以及其中所述制定原子单元的动作包括通过结合所述对象与所述第一随机数 来制定所述原子单元的动作。

4.如权利要求3所述的设备,其特征在于:

所述创建第一追踪散列值的动作包括用第一对等体密钥创建所述第一追 踪散列值的动作。

5.如权利要求3所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步包括以下各项的动作:建立包括所述对等体签名的证书、加密的追踪值、所述第一随机数、和第 二随机数的追踪信息集;

其中所述制定原子单元的动作包括通过结合所述对象和所述追踪信息集 来制定所述原子单元的动作。

6.如权利要求1所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步以下各项的动作:生成第二随机数;以及

创建基于所述第二随机数的第二追踪散列值;

其中所述制定原子单元的动作包括通过结合所述对象和所述第二随机数 来制定所述原子单元的动作。

7.如权利要求6所述的设备,其特征在于:

所述创建第二追踪散列值的动作包括使用第二对等体密钥创建所述第二 追踪散列值的动作。

8.如权利要求1所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步包括以下各项的动作:基于第二随机数创建第二追踪散列值;以及

使用所述第二追踪值生成响应于对等体公钥的加密的追踪值以及从权威 机构接收并基于所述设备的至少一个硬件组件的个性化认证。

其中所述制定原子单元的动作包括通过结合所述对象和所述加密的追踪 值来制定原子单元的动作。

9.如权利要求1所述的设备,其特征在于:

所述创建第一追踪散列值的动作包括基于第一随机数创建所述第一追踪 散列值的动作;以及所述处理器可执行指令当被执行时指导所述设备执行进一步包括以下各 项的动作:基于第二随机数创建第二追踪散列值;

用所述第二追踪散列值生成响应于对等体公钥的加密的追踪值以及从权 威机构接收并基于所述设备的至少一个硬件组件的个性化认证;以及建立包括所述对等体签名的证书、所述加密的追踪值、所述第一随机数、 和所述第二随机数的追踪信息集;

其中所述制定原子单元的动作包括通过结合所述对象和所述追踪信息集 来制定所述原子单元的动作。

10.如权利要求9所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步包括以下各项的动作:基于从所述原子单元的追踪信息集中提取的第二随机数创建另一个第二 追踪散列值;

通过使用该另一个第二追踪散列值来解密从所述原子单元的追踪信息集 中提取出的所述加密的追踪值,以确定所述个性化认证值和所述对等体公钥;

根据撤销列表检测所述确定的个性化证书是否已被撤销;

如果检测到所述确定的个性化证书已被撤销,就阻止所述原子单元的上 传;

使用权威机构的公钥验证所述确定的个性化认证值和所述确定的对等体 公钥是否真实;以及如果验证失败,就阻止所述原子单元的上传、下载、或复制。

11.如权利要求9所述的设备,其特征在于,所述处理器可执行指令当被 执行时指导所述设备执行进一步包括以下各项的动作:通过使用所述对等体公钥解密从所述原子单元的追踪信息集中提取出的 所述对等体认证值来确定所述第一追踪散列值;

基于从所述原子单元的追踪信息集中提取出的所述对象和所述第一随机 数创建另一个第一追踪散列值;

通过比较所述确定的第一追踪散列值和所述创建的另一个第一追踪散列 值来检验所述对象是否完整;以及如果对象经检验具备完整性,允许所述原子单元上传至对等网络。

12.一种方法,包括:

在权威机构从对等体接收(416)对等体硬件标识符,所述对等体硬件标识 符基于所述对等体的至少一个硬件组件;

从所述对等体硬件标识符决定(418)经修改的对等体硬件标识符;

生成(424)响应于所述经修改的对等体硬件标识符的个性化认证值;以及使用所述个性化认证值制定(426)权威机构签名的证书;

其中所述权威机构签名的证书可以被所述对等体用来访问对等网络。

13.如权利要求12所述的方法,其特征在于:所述接收包括在所述权威机构从所述对等体接收对等体公钥;以及所述生成包括生成响应于所述对等体公钥的所述个性化认证值。

14.如权利要求12所述的方法,其特征在于:所述接收包括在所述权威机构接收与所述对等体的用户相关联的标识身 份的个人信息;以及所述生成包括生成响应于与所述用户相关联的标识身份的个人信息的所 述个性化认证值。

15.如权利要求12所述的方法,其特征在于,还包括:核对所述经修改的对等体硬件标识符是否在撤销列表中;以及如果是,发送拒绝通知给所述对等体,拒绝所述对等体的权威机构签名的 证书。

16.如权利要求12所述的方法,其特征在于,还包括:维护在所述权威机构的撤销列表,所述撤销列表包括对应于将被拒绝访问 对等网络的多个相应设备的多个相应的经修改的对等体硬件标识符;以及分发所述撤销列表至大量被允许访问所述对等网络的设备。

17.包括处理器可执行指令(310)的一个或多个处理器可访问介质(308), 所述指令包括对等应用(108),所述对等应用使用由权威机构(104)签名的第一 证书(202)来证实其对对等网络(114)的上传权限,还使用由在其上可以执行所 述对等应用的对等体(102/302)签名的第二证书(208);其中所述第一证书包括个 性化认证值(204),所述认证值至少部分基于所述对等体的至少一个硬件组件 (304,306,和/或308)的标识符。

18.如权利要求17所述的一个或多个处理器可访问介质,其特征在于, 所述第二证书证实将要被上传至所述对等网络的一具体对象的真实性和完整 性;并且其中所述第二证书包括响应于所述对象的生成的对等体认证值。

19.如权利要求17所述的一个或多个处理器可访问介质,其特征在于, 所述对等应用包括个性化模块,所述模块通过当所述对等应用最初安装在所述 对等体时发送对等体硬件标识符和对等体公钥到访问控制服务器来与所述权 威机构交互以接收所述第一证书。

20.如权利要求19所述的一个或多个处理器可访问介质,其特征在于, 所述对等应用包括为上传到所述对等网络而创建原子单元的签名与验证模块, 所述原子单元包括对象和至少一个关联属性;其中所述至少一个关联属性包括 追踪属性,所述追踪属性包括第一随机数、第二随机数、通过加密所述个性化 认证值生成的加密的追踪值、以及响应于所述对象和所述第一随机数而生成的 对等体认证值。

说明书全文

背景

因特网可以依照许多不同的通信范例来分享、传播、发布、或以其他方式 传送信息。一个示例性通信范例是客户-服务器范例。在客户-服务器范例下, 服务器典型地存储大部分信息。多个客户与服务器通信以便向服务器传送信息 并从中获得信息。客户对客户的直接通信则相对较少。

另一示例性通信范例是对等(P2P)范例。在P2P范例下,对等体对等体 典型地存储大部分信息。每个对等体对等体通常可以和多个其他对等体对等体 通信以便在多个对等体对等体对等体之间传送信息。在一个示例性的构造P2P 网络的方法中,一个P2P网络可以“覆盖”在因特网或其他物理网络之上。与 在服务器和其客户之间传送信息相比,监视和控制P2P网络中的信息传送通常 更为困难。

概要

在对等环境中,版权和用户的隐私能够通过追踪机制加以保护。在描述的 实现中,追踪机制能够用随机数字产生的证书来保护用户的隐私和/或用响应于 至少一个能识别上传者的硬件标识符而产生的证书来保护版权。

本概要以简化的形式介绍将会在下面的细节描述中进一步阐明的概念选 集。本概要既不想要标识所声明主题的关键特征或基本特征,也不想要用来帮 助确定所声明主题的范围。另外,其他方法、系统、方案、装置、设备、介质、 程序、API、排列等的实现也在此得到描述。

附图简述

贯穿各图使用相同的数字来参考相似和/或对应的方面、特征和组件。

图1是示出了在其中可设立保护的示例性对等(P2P)网络架构的框图。

图2是可在带保护的P2P网络中使用的两个示例性证书的框图。

图3是可在带保护的P2P网络中运行的且其中包括具有个性化模块(IM) 和签名及验证模块(SVM)的P2P应用的示例设备的框图。

图4是示出了一种在带保护的P2P网络中个性化P2P应用的方法示例的 流程图。

图5是示出了一种在带保护的P2P网络中为对象签名的方法示例的流程 图。

图6是示出了一种在带保护的P2P网络中用于验证签名的对象的方法示例 的流程图。

详细描述

介绍

如果对等(P2P)技术独立于法院和立法机构的干涉而发展,那么P2P网 络就可能需要内建的版权保护机制。此处描述的示例性P2P网络包括相对强大 的隐私保护以及针对版权保护的安全和可靠的追踪机制。这一追踪机制能追踪 任何在P2P网络中的上传、复制和传送的材料的原始上传者。

尽管上传者的隐私通常受到保护,但当盗版或非法材料被发现时,却能追 捕到它的上传者。而且,上传者的P2P网络的访问会被永久撤销,上传者上传 的材料也会删除。整个保护系统是分散的并且可能对终端用户完全透明。一个 实施例称为隐私和版权保护的对等网络(PCPN)。它包括一个硬件绑定的追 踪机制,这一机制采用了广泛应用的经过检验且健壮的密码原语和技术。

因此,在一个描述的实现中,保护系统是一个后验系统。换句话说,并非 先验地阻止受版权保护的作品上传,一个描述的保护系统的实现允许上传者在 上传了受版权保护的作品之后被确定地标识。人们相信追踪和/或访问阻止能有 效地阻止用户非法上传任何有版权的材料到P2P网络上并能显著降低通过P2P 网络共享的有版权的材料的数量。然而,描述的PCPN实现能与诸如全球或个 性化水印、数字权限管理(DRM)、持续访问控制等任何先验保护技术结合使得 系统能够更好地反盗版。

在描述的示例性PCPN实现中,上传到PCPN的每一数字资产都连结有永 久元数据,该元数据包含了用来追踪原始上传者的上传者签名的证书。当数字 材料首次上传到PCPN或者随后从一对等体复制到另一对等体时,证书和相关 材料的真实性(authenticity)和有效性将得到验证。PCPN的一个设计原则是 假设上传者对他或她上传到PCPN中的任何东西都负有责任。

每一PCPN的终端用户都授权能在PCPN上发布任何东西并且保持匿名直 到盗版、恶意、或其他非法材料被发现。发现非法材料之后,追踪机制被调用 来追捕材料的原始上传者。一旦证明上传的非法材料“有罪”,所有经有罪上 传者上传的材料将从PCPN中删除。另外,该上传者可能以几种可能形式中的 任何形式受到惩罚,这些形式从(i)永久撤销其访问PCPN和/或在PCPN内 发布消息的权利到(ii)对该用户/上传者付诸民事和/或法律行为。撤销列表用 来禁止有罪的对等体访问PCPN或在PCPN中发布。

在PCPN中,数字材料的拷贝称为对象。与对象相关并且提供辅助信息和 /或指定行为的元数据称为对象的属性。例如,用来追踪上传者的证书就是一个 追踪属性。在PCPN中,当对象和其追踪属性被上传到PCPN或者从一对等体 传送到另一对等体时,该对象和其追踪属性就被当作一个原子单元(atomic unit)看待。

针对带保护的P2P网络的示例性环境、技术和设备

图1是示出了可在其中设立保护的示例性对等(P2P)网络架构100。如 图所示,P2P网络架构100包括P2P网络114、多个对等体102、访问控制服 务器(ACS)104、撤销列表(RL)114、以及原子单元106。每一对等体102包括 一个P2P应用108。每个P2P应用108包括个性化模块(IM)以及签名和验证模 块(SVM112。每个原子单元106包括对象106O部分和属性106A部分。

更具体地,图中示出了对等体#1102(1)....对等体#n 102(n),其中的“n” 表示任意整数。多个对等体102在P2P网络114上通信。P2P网络114可能是 一个孤立的网络。它也可以覆盖在一个或更多其他网络之上,比如因特网、电 话/蜂窝网络、有线或无线网络,及其组合等。对等体102被授权依据至少一个 关联属性106A在相互之间传输原子单元106。

每个原子单元106包括一个或多个对象106O。对象106O是用户希望传 达的信息。对象106O包括但不限于:多媒体内容、软件模块或程序、文件、 图像,及其组合等。关联属性106A是属于对象106O的元数据。该元数据可 以描述对象106O,规定对象106O的权限和使用,提供对象106O的追踪数据, 及其组合等。

在描述的实现中,ACS104在个性化方案118期间颁发个性化ACS签名 的证书。更一般地说,证书能由(例如,可信的)认证权威颁发。ACS 104也 创建、维护、和传播撤销列表116。撤销列表116指示允许哪些对等体102上 传原子单元106到P2P网络114以及允许哪些对等体以其他方式访问P2P网络 114。撤销列表能从ACS 104传送至对等体102和/或在任何两对等体102之间 传送。

为了参与P2P网络114,每个对等体102安装了P2P应用108。P2P应用 102能够执行“标准”的P2P功能。标准的P2P功能包括但不限于:创建存储 信息的目录,使存储信息能被查找到(例如,通过索引、搜索、分类等),便 利存储信息的传送等等。

P2P应用108还包括IM 110和SVM 112。IM 110和SVM 112是抗篡改 (如果不是防篡改)安全模块。它们能共同地增强版权保护和访问控制。对于 用户、P2P应用108的其他模块、对等体102的其他应用来说,它们像黑盒(black box)一样起作用。

一般来说,IM 110连同可信的ACS 104一起个性化每个SVM 112。在允 许对等体102上传对象至P2P网络114,从P2P网络下载对象,或者复制对象 之前,SVM 112核对撤销列表116并验证对象106O及其追踪属性106A的真 实性及完整性。任何验证失败的对象会从P2P网络114中删除。

更具体地,对对等体#1102(1)而言,例如在个性化方案118期间,IM 110(1) 和ACS 104交互以个性化对等体#1102(1)上的P2P应用108可用。当对等体#1 102(1)的用户想要上传对象106O到P2P网络114上,SVM 112(1)创建属性106A 并将对象106O和属性106A捆绑至原子单元106。当对等体#n 102(n)的用户想 要访问对象106O,P2P应用108(1)经由P2P网络114将原子单元106传送至 对等体#n 102(n)的P2P应用102(n)。SVM 112(n)在允许对等体#n 102(n)的用户 访问对象106O之前利用属性106A验证对象106O的真实性和完整性。

在描述的实现中,撤销列表116包含由ACS 104在前颁发的已撤销证书 的列表。撤销列表116分发至各对等体102和/或在中央服务器处可用(例如, ACS 104)。对等体102能够在本地存储中高速缓存撤销列表116以供随后使 用,这样它就不必每次在它的SVM 112需要核实撤销证书时下载撤销列表116。

当对等体102进入P2P网络114时,它可任意选择是从另一个对等体处还 是从中央服务器处核对和更新本地撤销列表116。如果已经达到未更新周期的 最大上限,将强制该对等体102更新其本地存储的撤销列表116。任何由已撤 销的证书签名的对象都从P2P网络中删除。因此,一个用户若其ACS颁发的 证书在撤销列表116上,则该用户无法上传任何东西至P2P网络114。

取决于为给定的P2P网络114所设定的策略,对等体102的每个SVM 112 也可以核实撤销列表116以核实该对等体是否允许访问P2P网络114。如果该 对等体的证书在撤销列表116中,则该对等体的SVM 112拒绝为其验证任何 进入的对象。结果,该对等体102不能从P2P网络114中下载任何东西。SVM 112还通知该对等体的P2P应用108的其他模块拒绝该对等体的任何服务请求。 因此,该对等体对访问P2P网络114得到有效的拒绝。

在描述的实现中,P2P网络架构100利用两种不同的证书:ACS签名的证 书和对等体签名的证书。前种证书证实允许一具体对等体访问P2P网络114。 后种证书证实该具体对等体的确将给定的对象106O上传至P2P网络114。这 两个证书将会在下文中参考图2和图4-6的流程图得到进一步描述。

在个性化方案118中,给定的对等体102被授予ACS签名的证书。之后, 该给定对等体102在上传原子单元106到P2P网络114或从中下载之前就不需 要联系ACS 104。不过,原子单元的来源仍能在需要时被追踪到。而且,每个 始发对等体102的身份可以对其他对等体102保密。至少部分通过在属性106A 的创建中使用两个随机数字使得该保密成为可能。

图2是可在带保护的P2P网络中使用的两个示例证书的框图200。框图200 包括ACS签名的证书202和对等体签名的证书208。如图所示,每个证书包括 验证值和截止时间。截止时间可以是在那一刻关联证书变为无效的某一特定日 期或是某一段逝去的时期。

在描述的实现中,ACS签名的证书202用作个性化的根证书。ACS签名 的证书202包括个性化认证值(CACS)204和截止时间206。工作中,该可信的 ACS 104(图1)在P2P应用108安装期间通过颁发将对等体的公钥(Kp)绑定到其 硬件的(根)证书来个性化每个对等体处的SVM 112。

对等体签名的证书208包括对等体认证值(Cp)210和截止时间212。工作 中,对等体102处的SVM 112生成对等体签名的证书208,该证书作为追踪属 性106A附加在该对等体上传到P2P网络114的每个对象106O上。如下将具 体参考图4-6在此进一步描述个性化认证值(CACS)204和对等体认证值(Cp)210 的生成,以及ACS签名的证书202和对等体签名证书208的公式化。

图3是可在P2P网络114中运行的示例设备302的框图。设备302包括含 有IM 110和SVM 112的P2P应用108。在描述的实现中,每个设备302(1....n) 对应于各对等体102(1....n)(图1)。

多个设备302可以跨一个或多个P2P网络114通信。如图所示,两个设备 302(1)和302(n)能够经P2P网络114进行通信交换。尽管具体示出的是两个设 备302,但是也可以取决于实现利用一个或多于两个设备302。

在一个示例实现中,一个设备302(例如,设备302(1))正用于上传对象 至P2P网络114上。P2P网络可以位于一个或多个其他网络之上,例如因特网、 内联网、电话网、电缆网、无线或有线网,及其组合等。

一般来说,设备302可以代表任何计算机或可处理设备,例如服务器设备; 工作站或其他通用计算机设备;个人数字助理(PDA);移动电话;游戏平台; 娱乐设备;及其某种组合等。如图所示,设备302包含一个或多个输入/输出(I/O) 接口304、至少一个处理器306以及一个或多个介质308。介质308包含处理 器可执行指令310。

尽管没有特别示出,设备302也可包括除了I/O接口304、处理器306、 和介质308之外的其他组件。每个硬件组件皆可包括用来确定一个对等体的硬 件ID(PHIDp)的组件硬件ID。如下将具体参考图4描述确定对等体的硬件 ID(PHIDp)。

在描述的设备302实现中,I/O接口304可能包括(i)跨P2P网络114物理 层通信的网络接口,(ii)在显示屏上显示信息的显示设备接口,(iii)一个或多个 人机接口等。(i)网络接口的例子包括网卡、调制解调器、一个或多个端口等。 (ii)显示设备接口的例子包括图形驱动、显卡、屏幕或监视器的硬件或软件驱动 等。(iii)人机接口的例子包括那些以有线或无线方式与人机接口设备312(例如, 键盘、鼠标或其他图形定点设备等)通信的接口。

一般来说,处理器306能够执行、运行、和/或以其他方式完成处理器可 执行指令,诸如处理器可执行指令310。介质308是由一个或多个处理器可访 问介质组成。换句话说,介质308可以包括由处理器306执行的处理器可执行 指令310以完成设备302的功能性能。

因此,带保护的P2P网络的实现可以在处理器可执行指令的通用上下文中 得到描述。一般来说,处理器可执行指令包括例程、程序、应用、代码、模块、 协议、对象、组件、元数据和其定义、数据结构、应用编程接口(API)等, 它们执行和/或完成特定任务,和/或实现特定抽象数据类型。处理器可执行指 令可以位于单独的存储介质中,由不同的处理器运行,和/或传播或存在于各种 传输介质上。

处理器306可以使用任何适用的可处理技术实现。介质308可以是任何被 包括作为设备302的一部分和/或能被设备302访问的可用介质。它包括易失性 和非易失性介质,可移动和不可移动介质,存储和传输介质(例如,无线或有 线通信信道)。例如,介质308可以包括针对处理器可执行指令310的长期大 容量存储的磁盘阵列,针对当前执行指令的短期存储的随机存取存储器 (RAM),针对传输通信的网络114上的链路等。

如特别示出的,介质308至少包括处理器可执行指令310。一般来说,处 理器可执行指令310在由处理器306执行时会使得设备302能够完成此处描述 的各种功能,包括那些在流程图400、500、600(分别在图4、5、6中)示出 的动作。

仅作为例子,处理器可执行指令310可以包括P2P应用108,该应用包括 个性化模块(IM)110以及签名与验证模块(SVM)112。SVM112包括第一和第二 对等体密钥(k1和k2)以及一个ACS公钥(KACS)。这些密钥将在下文中进一步描 述。如图所示,SVM 112分为签名模块(SM)112S和验证模块(VM)112V。

尽管示出作为P2P应用108的一部分,但是IM 110和SVM 112可以与 P2P应用108的其他组件分开实现。同样,它们各自的功能也可以并入单个模 块。同样地,SM 112S和VM 112V各自的功能也可以并入单个模块。

带保护的P2P应用下的个性化、签名和验证示例

图4是示出了用于在带保护的P2P网络中个性化P2P应用的方法示例的 流程图400。流程图400包括十四(14)个框402-428。尽管流程图400的动作能 在其他环境中并用多种硬件及软件组合执行,但是对等体102的一个IM 110 (图1)连同ACS 104(或任何通用授权机构)一起可用来实现流程图400的 方法。更具体地,框402-414的动作可由IM 110执行。框416-428的动作可由 ACS 104或其他通用证书授权机构执行。

当P2P应用108首次安装到对等体102上,该对等体的SVM 112由流程 图400的个性化机制个性化。可将流程图400可以划分为三个主要的阶段。阶 段一包括框402-406。阶段二包括框416-428。阶段三包括框410-414。

在框402的第一个性化阶段,IM 110确定对等体102的对等体硬件 ID(PHIDp)。该对等体硬件ID(PHIDp)可以是设备302的硬件组件的多个唯一 ID的组合。该组合可以是一些其他算法的拼接、散列值、结果等。硬件组件 的示例包括,但不限于,硬盘驱动器、网卡等。

在框404,IM 110生成对等体私钥/公钥对({kp,Kp})。该对等体私钥kp和 对应的对等体公钥KP由下式相关: D K P a { E k p a { x } } x , x , 其中Eka{·}和Dka{·}分别是用 密钥k的非对称加密和解密。用密钥k的对称加密解密在此处分别用Eks{·}和 Dks{·}表示。该对等体的私钥和公钥对{kp,KP}用来签名由对等体102上传的对 象106O并验证P2P网络114中各对象的真实性和完整性。

在框406中,IM 110发送一个请求到ACS 104以获得ACS签名的证书202。 该证书被安全地发送,它包括对等体硬件ID(PHIDp)和生成的对等体公钥KP。

在框416的第二个性化阶段,ACS 104收到由该对等体的IM 110发来的 对等体硬件ID(PHIDp)和对等体公钥(Kp)。可选地,该对等体的公钥和私钥可 由ACS生成。在此可选实现中,ACS发送该对等体的私钥给该对等体。在框 418,ACS 104由对等体硬件ID(PHIDp)决定经修改的对等体硬件ID(MPHIDp)。 例如,它可以用ACS的散列密钥kh计算消息鉴定码(MAC)或对等体硬件 ID(PHIDp)的密钥(keyed)散列值以来决定全局唯一ID(GUID):

GUID = h k h ( PHID p ) . ACS的散列密钥kh仅被ACS所知。

在框420,决定的经修改对等体硬件ID(MPHIDp)和在撤销的证书里的那 些相对比。如果在撤销证书列表中检测到该对等体的经修改对等体硬件 ID(MPHIDp),则在框422发送该请求的拒绝至对等体102。在框408,作为拒 绝的结果,P2P应用108拒绝使用对等体102访问P2P网络114。

另外,如果没有在撤销列表(在框420)中检测到经修改的对等体硬件 ID(MPHIDp),那么在框424中生成一个个性化认证值(CACS)。例如,如块424* 所示,ACS 104可以用ACS的私钥(kACS)签名经修改的对等体硬件ID(MPHIDp) 和对等体公钥(Kp)。签名可以通过: C ACS = E k ACS a { MP HID p / / K P / / T / / Others } 实现, 其中“//”意味着拼接,kACS是用来对ACS104颁发给对等体102的证书进行 签名的ACS的私钥,T是当前时间。

当反对非法对等体的仅有动作是删除由该对等体上传的对象并撤销该对 等体对P2P网络114的访问时,使用ACS签名的证书的“基本”形式。在这 个基本形式中,个性化认证值(CACS)中没有包括其他对等体信息。换句话说,CACS 中的“其他”变量是空。另一方面,如果P2P网络114的特征包括含有一个能 为可能的法律行为完全标识非法用户的追踪机制,那么“其他”变量包括附加 信息。

为了提供信息给反对非法用户的可能诉讼,个人信息(例如,该对等体的 IP地址,该用户的电子邮件地址,该用户的名字或电话号码,及其某些组合等) 可以从该用户或对等体处获得,用仅为ACS所知的密钥通过对称加密的方式 加密,并被插入“其他”变量。然后这些“其他”变量和MPHIDp一起由ACS 签名。一旦一对等体被证明有罪并且进行诉讼需要该用户的身份,包含于个性 化认证值(CACS)的“其他”部分的个人信息由ACS 104解密并被发送到执法机 构以完全标识该罪犯的身份。

在框426,用个性化认证值(CACS)公式化ACS签名的证书。例如,可以制 定包括个性化认证值(CACS)204的ACS签名的证书202。在框428,ACS 104 发送含有个性化认证值(CACS)的ACS签名的证书202至对等体102的IM 110。

在框410处的第三个性化阶段,IM 110从ACS 104接收ACS签名的证书 202。在框412,IM 110把含有个性化认证值(CACS)的ACS签名的证书202连 同对等体公钥(Kp)一起存储于本地安全存储器中。在框414,IM 110也安全地 存储对等体私钥(kp)。这些值由该对等体的SVM 112使用。然后IM 110发送 一个验证给ACS 104以关闭该个性化会话。整个个性化机制可以对终端用户完 全透明(除了在用户被要求为描述的P2P网络114的一些实现的“其他”变量 提供一些个人信息(例如,电子邮件地址)的情况下之外)。

如图3所示,SVM 112包括两个模块:SM 112S和VM 112V。SM 112S 用来签名由对等体102上传的对象106O。VM 112V用来在对象上传、下载、 或复制于P2P网络114之前验证该对象106O的真实性和完整性。两个模块都 共享一对第一和第二对等体密钥k1和k2。VM 112V还包括ACS公钥KACS以验 证ACS签名的证书202和撤销列表116。SM 112S的功能将在以下具体参考图 5而得到进一步描述。VM 112V的功能将在以下具体参考图6而得到进一步描 述。

图5是示出了在带保护的P2P网络中给对象签名的方法示例的流程图 500。流程图500包括八(8)个框502-516。尽管流程图500的动作能在其他环境 中并用多种硬件及软件组合执行,但是对等体102的P2P应用108的SM 112S (图3)可以用来实现上传一个对象(Obj)106O到P2P网络114的方法。

在框502,产生第一和第二随机数(α和β)。例如,一个伪随机数生成器 (PNG)可以用来产生两个随机数。在框504,第一和第二追踪散列值(c和π) 被创建。如图504*所示,第一追踪散列值(c)基于对象(Obj)、第一随机数(α)和 第一对等体密钥(k1)创建。如框504**所示,第二追踪散列值(π)基于第二随 机数(β)和第二对等体密钥(k2)创建。例如,SVM 112里的SM 112S可以 用: c = h k 1 ( Obj / / α ) π = h k 2 ( β ) 来计算第一和第二追踪散列值,其中hk(·)是用一个 密钥k来密钥加密的散列或MAC功能。

在框506,生成对等体认证值(Cp)。如图506*所示,对等体认证值(Cp)可 以由SM 112S用对等体私钥(kp)对第一追踪散列值(c)签名来产生。例如,第一 追踪散列值(c)可以用如下方式被签名来生成对等体签名的证书: C p = E k p a ( c / / T ) , 其中T是当前时间。在框508,制定带对等体认证值(Cp)210的对 等体签名证书208。

在框510,通过用第二追踪散列值(π)加密对等体公钥(Kp)和个性化认证值 (CACS)来生成加密的追踪值(u)。例如,SM 112S可以用对称密码和密钥π以如 下方式: u = E π s { K P / / C ACS } 加密它的对等体公钥KP和个性化根证书CACS。

在框512,建立追踪信息集(TIS)。TIS包括对等体认证值、加密的追踪值、 第一随机数、和第二随机数({Cp,u,α,β})。在框514,TIS{Cp,u,α,β}插入到对象 的追踪属性区域106A,并且属性106A与对象106O结合以制定原子单元106。 更一般地,原子单元通过组合对象和对等体签名证书来制定。当原子单元106 传送进或传送出P2P网络114或从一对等体102传送至另一对等体时,它被看 作一个整体的集成单片。在框516,SM 112S发送原子单元106到VM 112V。

图6是示出了在带保护的P2P网络中验证已签名的对象的方法示例的流程 图600。流程图600包括十三(13)个框602-626。尽管流程图500的动作能在其 他环境中并用多种硬件及软件组合执行,但是对等体102的P2P网络应用108 的VM 112V(图3)可以用来实现为P2P网络114的对象(Obj)160O验证其真 实性和完整性的方法。

在框602,VM 112V处接收从来自SM 112S的原子单元106。在框604, 从原子单元106的属性域106A提取TIS{Cp,u,α,β}的对等体认证值(Cp)、加密 的追踪值(u)、第一随机数(α),第二随机数(β)。

在框606,基于第二随即数(β)和第二对等体密钥(k2)[例如,按照 π = h k 2 ( β ) ] 创建第二追踪散列值(π)。在框608,对等体公钥(Kp)和个性化认证值(CACS)通过 解密加密的追踪值(u)得到确定。刚创建的第二追踪散列值(π)用来解密该加密 的追踪值(u)。因此,对等体公钥(Kp)和个性化认证值(CACS)可依照 K P / / C ACS = D π s { u } 来提取。

在框610,参照撤销列表116检测该个性化认证值(CACS)是否已被撤销。 如果该个性化认证值(CACS)存在于撤销列表116中,那么在框612处就阻止该 对象的上传。

如果在撤销列表116(在框610)中没有检测到该个性化认证值(CACS),那 么在框614处决定原始上传者的已解密对等体公钥(Kp)和已解密个性化认证值 (CACS)两者是否得到完全验证。ACS公钥(KACS)用来验证它们。如果真实性验 证失败,则流程图600的方法在框626处继续,而这将在以下描述。

另一方面,如果它们得到验证(在框614处),那么在框616处通过解密 对等体认证值(Cp)[使用对等体公钥(Kp)]确定第一追踪散列值(cD)。例如,解密 可以依照c: c / / T = D K P a { C P } 完成。在框618,创建第一追踪散列值(cC)。它的创建 例如可基于对象(Obj)、第一随机数(α)以及第一对等体密钥

在框620,将已解密的第一追踪散列值(cD)和已创建的第一散列值(cC)相比 较来决定它们是否匹配。如果它们匹配失败,那么完整性验证失败,则流程图 600的方法在框626处继续,而这将在以下得到描述。另一方面,如果这两个 版本的第一追踪散列值(c)确实匹配(框620处决定),那么完整性验证成功。 在框622,对象106O的真实性和完成性因此都得到验证。在框624,P2P应用 108因此被授权向P2P网络114上传原子单元106或从中接收原子单元106。

如果真实性(框614处决定)或完整性(框620处决定)失败,那么在框 626处对象106O的验证失败。在框612,验证机制返回失败并且拒绝并阻止对 象106O的上传和/或传送。上传进程如果成功,则是能够在对等体102不接触 任何服务器的情况下完成。此外,该进程可以对终端用户完全透明。

带保护的P2P网络中的其他示例操作

当对等体将要从另一个对等体下载或复制对象时,该对等体的VM首先验 证该对象的真实性和完整性。这一验证和对等体上传对象时由VM执行的验证 相同,这已具体参考图6在上文中有所描述。如验证成功,VM返回OK,并 且执行请求的下载或复制。否则,VM返回失败,并且拒绝请求。在后一种情 况下,联系存储验证失败的对象的对等体,并且该对等体对有嫌疑的失败对象 执行自己的真实性和完整性验证。如果失败判断得到证实,存储对等体删除该 对象。

在描述的实现中,对等体也定期验证其为P2P网络存储的对象的真实性和 完整性。在该验证中失败的任何对象都将从该对等体的本地存储中删除。例如, 这一验证可以在例如本地撤销列表更新并且新的撤销列表上有新的已撤销证 书呈现时进行。这一步骤保证,随着时间流去,由撤销对等体上传的对象会从 P2P网络中删除。

取决于对给定的P2P网络所建立的策略,撤销列表中的对等体可能被拒绝 访问P2P网络,这是一个比仅仅撤销其上传对象到P2P网络的权限更为严厉的 惩罚。例如,该访问拒绝可通过要求VM核查撤销列表并且用本地对等体公钥 比对列表中的条目来实现。如果本地对等体公钥存在于该表中,那么用户访问 P2P网络的请求被拒绝。在这种情况下,该用户不能访问P2P网络中的任何服 务。

当到达某些条件合适时,也可能恢复对等体访问P2P网络和/或上传对象 到P2P网络的能力。准许对等体恢复权限可以通过从撤销列表中删除该对等体 来实现。当VM因一对等体存在于撤销列表而拒绝其上传或访问P2P网络时, 它可以在返回失败之前更新其撤销列表以核查该对等体是否已由最新列表显 示的那样已经恢复其权限。

在描述的实现中,个性化认证值(CACS)的生成可以随意地改变以避免用户 可以仅仅通过改变单个硬件组件来回避版权保护。ACS 104能用对等体硬件 ID(PHIDp)的加密版本来代替修改对等体硬件ID(MPHIDp),该对等体硬件ID 包括对于多个硬件中每一个的单个硬件ID。如果各单个硬件组件中有任何存 在于撤销列表中,那么个性化请求被拒绝并且个性化进程失败。这迫使用户若 要回避此处描述的版权保护就必需替换设备302的每个和全部硬件组件。

图1-6中的设备、动作、发明、特征、过程、模块、数据结构、协议、模 型、组件等都在分为多个框的图示中得到阐明。然而,图1-6中描述和/或示出 的顺序、互相联系、互相关系、布局等等并不非想要解释为限制,这些框的任 何数量都能以任何方式被修改、组合、重新排列、增加、省略等,从而实现用 于带保护的P2P网络的一个或多个系统、方法、设备、过程、介质、装置、 API、排列等。

尽管系统、介质、设备、方法、过程、装置、机制、方案、途径、进程、 排列、以及其他实现都用专用于结构的、逻辑的、算法的、以及功能特征和/ 或图示的语言加以描述,但是应该理解在所附权利要求中定义的本发明没有必 要限于以上描述的具体特征或动作。相反地,公开上述的具体特征和动作作为 实现该权利要求的示例形式。