首页> 中国专利> 根据数字权利管理(DRM)系统在所定义的诸如组织之类的领域中公布数字内容

根据数字权利管理(DRM)系统在所定义的诸如组织之类的领域中公布数字内容

摘要

发许可证者接收来自请求者的请求,请求包括与数字内容相关联的权利数据,权利数据列出至少一个识别符和与其相关联的一组权利。发许可证者选择识别符和与其相关联的权利组,预期在相应的数字许可证中规定这种权利,还根据识别符选择另一组权利。另一组权利替代来自权利数据的权利组,把带有另一组权利的许可证发给请求者,从而在所发出的许可证中的另一组权利规定在再现相应的内容方面请求者必需遵守的条款和条件。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-11

    未缴年费专利权终止 IPC(主分类):H04L9/12 授权公告日:20091202 终止日期:20190211 申请日:20040211

    专利权的终止

  • 2015-05-20

    专利权的转移 IPC(主分类):H04L9/12 变更前: 变更后: 登记生效日:20150429 申请日:20040211

    专利申请权、专利权的转移

  • 2009-12-02

    授权

    授权

  • 2006-03-22

    实质审查的生效

    实质审查的生效

  • 2004-08-18

    公开

    公开

说明书

有关申请的交叉参考

下列美国专利申请揭示与本申请的主题有关的主题,从而这里通过引用将它们整体包括在此:

美国专利申请第____号,在代理备案号MSFT-1498下与本申请同时提供,以及题为“Publishing Digital Content Within a Defined Universe SuchAs an Organization in Accordance with a Digital Rights Management(DRM)System”;

美国专利申请第10/185,527号,在代理备案号MSFT-1330下于06/28/02提供,以及题为“Obtaining a Signed Rights Label(SRL)for Digital Content andObtaining a Digital License Corresponding to the Content Based on the SRL in aDigital Rights Management System”;

美国专利申请第10/185,278号,在代理备案号MSFT-1333下于06/28/02提供,以及题为“Using a Right Template to Obtain a Signed Rights Label(SRL)forDigital Content in a Digital Rights Management System”;以及

美国专利申请第10/185,511号,在代理备案号MSFT-1343下于06/28/02提供,以及题为“Systems and Methods For Issuing Usage License For DigitalContent And Services”。

技术领域

本发明涉及数字权利管理(DRM)系统。尤其,本发明涉及使用DRM系统来公布在所定义的诸如组织、办公室、企业等的领域中的数字内容,以致可以根据相应的使用或许可证条款而限制在范围内的内容的再现(rendering)和使用。

发明背景

强烈要求与诸如数字音频、数字视频、数字文本、数字数据、数字多媒体等数字内容联系的数字权利管理和强制,其中要把如此的数字内容分发给一个或多个用户。例如,数字内容可以是诸如文本文件之类静止的,或可以是成流的,诸如实况播送事件的成流的音频/视频。分发的一般模式包括可触摸的设备,诸如磁盘(软盘)、磁带、(紧致)光盘(CD)等,以及不可触摸的媒体,诸如电子公告板、电子网络、因特网等。在用户接收到时,这种用户借助合适的再现设备(诸如在个人计算机等上的媒体播放机)再现或“播放”数字内容。

在一种情况中,诸如作者、出版者、广播员等内容所有者或权利所有者希望把这种数字内容分发给许多用户或接收者中的每一个,以许可证费用或某些其它报酬作为交换。那么,在这种情况中,内容可以是一首歌、一本歌集、一部电影等,分发的目的是产生许可证费用。若选择的话,这种内容所有者可能希望限制用户如何处置这种分发的数字内容。例如,内容所有者想限制用户至少按一种方式拷贝和向第二用户再分发,这种方式否定了内容所有者对这种第二用户的许可证费用。

此外,内容所有者可能希望向用户提供灵活性,以按不同许可证费用购买不同类型的使用许可证,而同时使用户遵守事实上购买的无论什么类型的许可证的条款。例如,内容所有者可能希望使所分发的数字内容仅播放有限次数,只对于一个确定的总时间播放,只在某种类型的机器上,只在某种类型的媒体播放机上,只供某种类型的用户播放等。

在另一种情况中,诸如一个组织中的雇员或成员之类的内容开发者希望把这种数字内容分发给组织中的一个或多个其它雇员或成员,或分发给组织外的其它个别人员,但是希望阻止其它人再现内容。这里,内容的分发更同类于按机密和限制的方式的基于组织的内容共享,与按许可证费用或某些其它报酬的交换的基于广大的分发相反。

在这种情况中,内容可以是文档显示、电子数据表、数据库、电子邮件等,诸如可以在办公室环境中进行交换的那些,并且内容开发者可能希望保证内容留在组织或办公室环境中,非核准的个人(例如,诸如竞争者和对手)都不得进行再现。再次,组织内容开发者想限制用户至少按一种方式对这种内容拷贝和再分发给第二用户,所述一种方式是把内容向允许再现内容的个人之外的范围暴露内容。

此外,内容开发者可能希望向各种接收者提供不同级别的再现权利。例如,内容开发者可能希望,相对于一个级别的个人,允许观看受保护的数字内容但是不允许打印,而相对于另一个级别的个人,允许观看和打印。

然而,在每种情况中,在已经发生分发之后,如果在数字内容上有任何控制的话,这种内容所有者/开发者具有极小的控制。根据实际上每台个人计算机都包括软件和硬件这样的事实特别成问题,所述硬件和软件是进行这种数字内容的准确数字拷贝、把这种准确的数字拷贝下载到可写入磁盘或光盘、或把这种准确的数字拷贝通过诸如因特网之类的网络发送到任何目的地所需要的。

当然,作为分发内容的交易的一部分,内容所有者/开发者可以要求数字内容的用户/接收者答应不按不受欢迎的方式来再分发这种数字内容。然而,这种答应是很容易作出的,也是很容易违背的。内容所有者/开发者可能试图通过通常包括加密和解密的数种已知安全设备中的任何一种来阻止这种再分发。然而,要阻止适度确定的用户(mildly determined user)对加密的数字内容进行解密,按非加密的形式保存,然后再分发这种数字内容,其可能性极小。

存在一种需求,用于提供数字权利管理(DRM)和强制结构和方法,所述结构和方法允许受控制地再现和播放任意形式的数字内容,其中这种控制是灵活的和可以通过这种数字内容的内容所有者/开发者定义的。尤其,存在对于这种结构的一种需求,特别在所定义的个人组或个人级别中间共享文档的办公室或组织环境等等中,所述结构允许和促进这种受控制的再现。

发明概要

本发明至少部分地满足了上述需求,其中发许可证者把数字许可证发给请求者,以允许请求者再现相应的数字内容。

在本发明中,发许可证者接收来自请求者的请求,其中请求包括与内容相关联的权利数据,其中权利数据列出至少一个识别符以及与之相关联的一组权利。发许可证者选择识别符以及与之相关联的一组权利,其中期望在所发出的许可证中规定这些权利,并且发许可证者还根据识别符选择另一组权利。另一组权利替代来自权利数据的权利组,并把具有另一组权利的许可证发给请求者,从而在所发出的许可证组中的另一组权利规定了在再现相应的内容方面请求者必需遵守的一些条款和条件。

附图简述

当连同附图阅读时,将较好地理解上述概要以及本发明的实施例的下列详细说明。为了说明本发明的目的,在附图中示出当前较佳的实施例。然而,应该理解,本发明不限于所示的精确的配置和手段。在附图中:

图1是表示可以在其中实施本发明的示例性非限制计算环境的方框图;

图2是表示可以在其中实施本发明的、具有多个计算设备的示例网络环境的方框图;

图3是根据本发明的系统和方法的一个实施例的功能方框图,用于公布数字内容;

图4是根据本发明的方法的一个实施例的流程图,用于公布权利管理的数字内容;

图4A是一方框图,示出如由图4的方法产生的签署的权利标签的结构;

图5是根据本发明的系统和方法的一个实施例的方框图,用于许可权利管理的数字内容;

图6A和6B是根据本发明的方法的一个实施例的流程图,用于许可权利管理的数字内容;

图7是根据本发明的一个实施例的流程图,示出在再分发权利标签中执行的关键步骤;

图8是根据本发明的一个实施例的方框图,示出通过DRM服务器向用户发出的证书,以允许用户执行离线公布;

图9是根据本发明的一个实施例的方框图,示出规定要结合到权利标签中的信息的权利模板;

图10是根据本发明的一个实施例的流程图,示出在创建图9的权利模板和根据权利模板创建图4A的签署的权利标签中执行的关键步骤;

图11是方框图,示出基于信用的系统例子的强制结构;

图12是根据本发明的一个实施例的方框图,示出发许可证者处理对于许可证的请求;

图13是流程图,示出图12的发许可证者当发许可证时在目录方面执行的步骤;以及

图14是流程图,示出当把政策注入要发出的许可证中时图12的发许可证者执行的步骤。

本发明的详细说明

计算机环境

设想以图1和下列讨论来提供适合于实施本发明的计算环境的一般简单描述。然而,应该理解,可以设想在本发明的应用方面使用所有种类的手持的、便携式的计算设备、以及其它计算设备。在下面描述通用计算机时,这只是一个例子,本发明只需要具有网络服务器互操作性和交互作用的瘦客户机。因此,可以在涉及极少或最少的客户资源的以网络化主机化的服务(networked hostedservices)环境中实施本发明,例如,一个网络化环境,其中客户设备的作用只是作为对于万维网的浏览器或接口。

虽然并不要求,但是开发者可以通过使用应用程序编程接口(API)来实施本发明,和/或可以把本发明包括在将以计算机可执行指令(诸如程序模块,由诸如客户工作站、服务器或其它设备之类的一台或多台计算机执行)的一般上下文来描述的网络浏览软件中。一般,程序模块包括执行特定任务或实施特定抽象数据类型的例行程序、程序、目标、部件、数据结构以及等等。一般,可以在各个实施例中按需要组合或分散程序模块的功能。此外,熟悉本技术领域的人员会理解,可以用其它计算机系统配置来实现本发明。适合与本发明一起使用的其它众知的计算系统、环境、和/或配置包括,但是不限于,个人计算机(PC)、自动取款机(teller machine)、服务器计算机、手持或膝上设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型计算机、主计算机等等。还可以在由经过通信网络或其它数据传输媒体链接的远程处理设备执行任务的分布式计算环境中实现本发明。在分布式计算环境中,可以使程序模块位于包括存储器存储设备的本地和远程计算机存储媒体两者中。

图1因此说明合适的计算系统环境100的一个例子,可以在该环境中实施本发明,虽然从上面可以清楚看到,计算系统环境100只是合适的计算环境的一个例子,而且不打算建议作为对于本发明的使用或功能范围的任何限制。不应该把计算环境100解释为对于示例操作环境100中说明的任何一个部件或部件的组合具有任何依赖性和要求。

参考图1,实施本发明的示例系统包括按计算机110的形式的通用计算设备。计算机110的部件可以包括,但是不限于,处理单元120、系统存储器130以及把包括系统存储器的各种系统部件连接到处理单元120的系统总线121。

系统总线121可以是数种类型的总线结构中的任何一种,这些总线结构包括存储器总线或存储器控制器、外围总线以及使用多种总线结构中任何一种结构的本地总线。作为例子而不是作为限制,这种结构包括工业标准结构(ISA)总线、微型信道结构(MCA)总线、增强的ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围部件互连(PCI)总线(还已知为Mezzanine总线)。

计算机110一般包括多种计算机可读出媒体。计算机可读出媒体可以是计算机110可以访问的、和包括易失性和非易失性媒体、可移动和不可移动媒体两者的任何可用的媒体。作为例子而不是作为限制,计算机可读出媒体可以包括计算机存储媒体和通信媒体。计算机存储媒体包括按用于信息(诸如计算机可读出指令、数据结构、程序模块或其它数据)的存储的任何方法或技术来实施的易失性和非易失性、可移动和不可移动媒体两者。计算机存储媒体包括,但是不限于,RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CDROM、数字多用途盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储设备、或任何可以用来存储所要求的信息和计算机110可以访问的任何其它媒体。通信媒体一般包含在诸如载波或其它传输机构之类的经调制的信号中的计算机可读出指令、数据结构、程序模块或其它数据,以及包括任何信息传送媒体。术语“经调制的信号”的意思是指一个信号,该信号具有的一个或多个特征已经按把信息编码在信号中的方式而设置或改变。作为例子而不是作为限制,通信媒体包括诸如有线的网络或直接的有线链接之类的有线的媒体,以及诸如声音、RF(射频)、红外之类的无线媒体,以及其它无线媒体。还应该把上述的任何组合包括在计算机可读出媒体的范围内。

系统存储器130包括按易失性和/或非易失性存储器(诸如只读存储器(ROM)131和随机存取存储器(RAM)132)形式的计算机存储媒体。一般把包括在计算机110中的单元之间帮助传递信息(诸如在起动期间)的基本例行程序的基本输入/输出系统133(BIOS)存储在ROM131中。RAM132一般包括处理单元120立即访问和/或当前正在操作的数据和/或程序模块。作为例子而不是作为限制,图1说明操作系统134、应用程序135、其它程序模块136以及程序数据137。

计算机110还可以包括其它可移动/不可移动、易失性/非易失性计算机存储媒体。只是作为例子,图1说明对不可移动、非易失性磁性媒体进行读出或写入的硬盘驱动器141,对可移动、非易失性磁盘152进行读出或写入的磁盘驱动器151,以及对可移动、非易失性光盘156(诸如CDROM或其它光学媒体)进行读出或写入的光盘驱动器155。可以在示例操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储媒体可以包括,但是不限于,盒式磁带、快闪存储器卡、数字多用途盘、数字视频带、固态RAM、固态ROM等等。一般通过诸如接口140之类的不可移动存储器接口把硬盘驱动器141连接到系统总线121上,并且一般通过诸如接口150之类的可移动存储器接口把磁盘驱动器151和光盘驱动器155连接到系统总线121上。

上面讨论的和在图1中说明的驱动器和与它们相关联的计算机存储媒体提供了计算机110的计算机可读出指令、数据结构、程序模块和其它数据的存储。例如,在图1中,所说明的硬盘驱动器141是作为存储操作系统144、应用程序145、其它程序模块146以及程序数据147的。注意,这些部件可以是与操作系统134、应用程序135、其它程序模块136以及程序数据137相同的,或不同的。这里对操作系统144、应用程序145、其它程序模块146以及程序数据147给出不同的编号,至少说明它们是不同的拷贝。用户可以通过诸如键盘162和通常称之为鼠标、跟踪球或触摸垫的指针设备161之类的输入设备把命令和信息输入到计算机110。其它输入设备(未示出)可以包括话筒、摇杆、游戏垫、卫星天线、扫描器等等。通常通过连接到系统总线121的用户输入接口160把这些和其它输入设备连接到处理单元120,但是也可能通过其它接口和总线结构连接,诸如并行端口、游戏端口或通用串行总线(USB)。

还可以通过接口,诸如视频接口190,把监视器191或其它类型的显示设备连接到系统总线121。还可以把诸如Northbridge之类的图形接口182连接到系统总线121。Northbridge是与CPU、或主处理单元120进行通信的芯片组(chipset),并承担对加速的图形端口(AGP)通信的职责。一个或多个图形处理单元(GPU)184可以与图形接口182进行通信。在这方面,GPU184一般包括芯片上的存储器存储(诸如寄存器存储),并且GPU184与视频存储器186进行通信。然而,GPU184只是协处理器的一个例子,因此计算机110中可以包括多种协处理器设备。还通过接口(诸如视频接口190)把监视器191或其它类型的显示设备连接到系统总线121,视频接口190可以依次与视频存储器186进行通信。除了监视器191之外,计算机还可以包括可以通过输出外围接口195连接的其它外围输出设备,诸如扬声器197和打印机196。

可以在使用到一台或多台远程计算机(诸如远程计算机180)的逻辑连接的网络化环境中操作计算机110。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备(peer device)或普通公共网络节点,并且一般包括上而相对于计算机110描述许多或所有单元,虽然在图1中只示出了存储器存储设备181。在图1中描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这种网络环境在办公室、企业范围的计算机网、企业内部网以及因特网中是平凡的。

当在LAN网络环境中使用时,通过网络接口或适配器170把计算机110连接到LAN171。当在WAN网络环境中使用时,计算机110一般包括调制解调器172或其它手段,用于在诸如因特网之类的WAN173上建立通信。可以通过用户输入接口160或其它合适的机构把调制解调器172(它可以是内部的或外接的)连接到系统总线121。在网络化的环境中,可以把相对于计算机110或其一些部分描绘的程序模块存储在远程存储器存储设备中。作为例子而不是作为限制,图1说明驻留在存储器设备181上的远程应用程序185。可以理解,所示的网络连接是示例性的,可以使用建立计算机之间的通信链路的其它手段。

一个熟悉本技术领域的普通人员会理解,可以配置计算机110或其它客户设备作为计算机网络的一部分。在这方面,本发明适合于具有任何数量的存储器或存储单元以及在任何数量的存储单元或卷上出现的任何数量的应用和过程的任何计算机系统。本发明可以应用于具有在网络环境中配置的、具有远程或本地存储器的服务器计算机和客户计算机的一个环境。本发明还可以应用于具有编程语言功能、解译和执行能力的独立的计算机设备。

分布式计算通过计算设备和系统之间的直接交换而促进计算机资源和服务的共享。这些资源和服务包括信息的交换、高速缓冲存储器存储以及文件的盘存储。分布式计算取得网络连通性的优点,允许客户以他们的集体力量起到杠杆作用而使整个企业受益。在这方面,多种设备可以具有应用程序、对象或资源,可以交互作用以涉及用于可信任的图形流水线(pipeline)的本发明的鉴定技术。

图2提供示例的网络化的或分布式的计算环境的示意图。分布式的计算环境包括计算对象10a、10b等,以及计算对象或设备110a、110b、110c等。这些对象可以包括程序、方法、数据存储、可编程逻辑等。这些程序可以包括部分相同的或不同的设备,诸如PDA(个人数字助理)、电视机、MP3播放机、电视机、个人计算机等。每个对象可以通过通信网络14与另一个对象进行通信。这个网络本身可以包括把服务提供给图2的系统的其它计算对象和计算设备。根据本发明的一个方面,每个对象10或110可以包括一种应用,该应用可能请求用于可信任的图形流水线的本发明的鉴定技术。

还可以理解,可以使诸如110c这样的一个对象驻留在另一个计算设备10或110上。因此,虽然所描绘的物理环境可以示出所连接的设备作为计算机,但是这种说明只是示例,可以另外描绘或描述物理环境,包括诸如PDA、电视机、MP3播放机等各种数字设备,诸如接口、COM对象等软件对象。

存在支持分布式计算环境的多种系统、部件和网络配置。例如,可以通过有线或无线系统,通过本地网络或较广的分布式网络,把计算系统连接在一起。当前,把许多网络连接到因特网,因特网提供较广的分布式技术的基础结构,并包括许多不同的网络。

在家用网络环境中,存在至少四种根本不同的网络传输媒体,每种可能支持唯一的协议,诸如电源线(Power line)、数据(无线和有线两种)、话音(例如,电话)以及娱乐媒体。诸如灯开关和家用电器之类的大多数家用控制设备可以为连通性而使用电源线。数据服务可以作为宽带(例如,DSL或电缆调制解调器)进入家庭,并且使用无线(例如,HomeRF或802.11b)或有线(例如,HomePNA,Cat 5(5类线),甚至电源线)连通性,在家中是可访问的。话音话务可以通过有线(例如,Cat 3(3类线))或无线(例如,蜂窝电话)进入家中,并且可以使用Cat 3导线分布在家中。可以通过卫星或电缆使娱乐媒体进入家中,并且一般使用同轴电缆分布在家中。IEEE1394和DVI也形成媒体设备的群集的数字互连。所有这些网络环境和其它可以形成协议标准的那些都可以进行互连,以形成可以通过因特网连接到外界的企业内部网。简短地说,存在用于数据的存储和发送的多种根本不同的源,因此,向前发展,计算设备将要求一些方法,用于在数据处理流水线的所有部分对内容进行保护。

“因特网”通常是指利用TCP/IP成套协议的网络和网关的集合,这些协议是计算机网络领域中众知的。TCP/IP是“Transport Control Protocol/InterfaceProgram(传输控制协议/接口程序)”的首字母组合。可以把因特网描述为在地理上分布的远程计算机网络的一种系统,这些网络是通过执行允许用户经过网络交互作用和共享信息的网络协议的计算机互连的。由于这种分布宽广的信息共享,诸如因特网之类远程网络到现在为止一般已经发展成开放系统,开发者可以对其设计用于执行专用操作或服务的软件应用程序,基本上没有限制。

因此,网络基础结构能够启动网络拓扑的主机,诸如客户服务器,对等网络,或混合结构。“客户”是使用不相关的另一个类别或组中的服务的一种类别或组中的成员。因此,在计算中,客户是一个过程,即,粗略地,是请求通过另一个程序提供服务的一组指令或任务。客户过程利用所请求的服务而无需“知道”有关其它程序或服务本身的任何工作细节。在客户服务器结构中,尤其在一个网络化的系统中,通常客户是访问由另一台计算机(例如,服务器)提供的共享网络资源的计算机。在图2的例子中,可以认为计算机110a、110b等是客户,而可以认为计算机10a、10b等是服务器,其中服务器10a、10b等保持然后在客户计算机110a、110b等中复制的数据。

服务器一般是可经过诸如因特网之类的远程网络访问的远程计算机系统。客户过程可以在第一计算机系统中有效,而服务器过程可以在第二计算机系统中有效,经过通信媒体相互通信,因此提供分布式功能,并允许多个客户得益于服务器的信息-收集能力。

客户和服务器利用协议层提供的功能而相互通信。例如,超文本传输协议(HTTP)是与万维网(WWW)一起使用的一种普通协议。一般,使用诸如通用资源定位符(URL)或因特网协议(IP)地址之类的计算机网络地址来相互识别服务器或客户计算机。可以把网络地址指为通用资源定位符地址。例如,可以经过通信媒体提供通信。尤其,可以通过用于高-容量通信的TCP/IP连接使客户和服务器相互连接。

因此,图2说明可以在其中实施本发明的、具有通过网络/总线与客户计算机进行通信的服务器的、示例的网络化或分布式环境。更详细地,根据本发明,通过通信网络/总线14(可以是LAN、WAN、企业内部网、因特网等)使许多服务器10a、10b等与许多客户或远程计算设备110a、110b、110c、110d、110e等(诸如便携式计算机、手持计算机、瘦客户机、网络化的家用电器或诸如VCR(录像机)、TV(电视机)、电灶、灯(light)、加热器等其它设备)互连。因此设想本发明可以应用于任何计算设备,该计算设备是与它希望处理、存储或再现的来自可信任的源的安全内容相联系的。

例如,在通信网络/总线14是因特网的网络环境中,服务器10可以是Web服务器,客户110a、110b、110c、110d、110e等通过许多已知协议中任何一种(诸如HTTP)与其进行通信的。服务器10还可以起客户110的作用,如可以是分布式计算环境的特征。在合适的场合,通信可以是有线的或无线的。客户设备110可以或可以不通过通信网络/总线14进行通信,并可以具有与之相关联的独立的通信。例如,在TV或VCR的情况中,对其的控制可能存在或可能不存在网络化的方面。可以使每个客户计算机110和服务器计算机10配备各种应用程序模块或对象135,并且具有到各种类型的存储单元或对象的连接或访问,通过它们可以存储文件或可以下载或移动文件的一些部分。因此,可以在具有客户计算机110a、110b等的计算机网络环境中利用本发明,所述客户计算机110a、110b等可以访问通信网络/总线14和服务器计算机10a、10b等和与它们交互作用,所述服务器计算机10a、10b等可以与客户计算机110a、110b等和其它设备111以及数据库20交互作用。

数字权利管理(DRM)概论

如已知,现在参考图11,极其需要在数字内容12(诸如数字音频、数字视频、数字文本、数字数据、数字多媒体等)方面的数字权利管理(DRM)和强制,其中要把这种数字内容12分发给用户。在用户接收到时,这种用户借助合适的再现设备(诸如在个人计算机14等上的媒体播放机)再现或“播放”数字内容。

一般,分发这种数字内容12的内容所有者或分发者(下文为“所有者”)希望限制用户如何处置这种分发的数字内容。例如,内容所有者想限制用户拷贝和向第二用户再分发这种内容12,或可能希望使所分发的数字内容仅播放有限次数,只对于一个确定的总时间播放,只在某种类型的机器上,只在某种类型的媒体播放机上,只供某种类型的用户播放等。

然而,在已经发生分发之后,如果对数字内容12有任何控制的话,这种内容所有者也只有极少的控制。但是,DRM系统10允许任意形式数字内容12的受控制的再现或播放,其中这种控制是灵活的和可通过这种数字内容的内容所有者定义的。一般,通过任何合适的分发信道按数据包13的形式把内容12分发给用户。所分发的数字内容数据包13可以包括用对称加密/解密密钥(KD)(即,(KD(CONTENT)))加密的数字内容12,以及识别内容的其它信息,如何获取这种内容的许可证等。

基于信任的DRM系统10允许数字内容12的所有者规定在允许这种数字内容12在用户的计算设备14上再现之前必须满足的许可证规则。这种许可证规则可以包括上述时间要求,并且可以在用户/用户的计算设备14(下文中,这种术语是可互换的,除非另行要求的情况)必须从内容所有者或其代理得到的数字许可证或使用文档(下文为“许可证”)16中实施。这种许可证16还包括解密密钥(KD),用于对可能根据一个可由用户的计算设备解密的密钥加密的数字内容进行解密。

一段数字内容12的内容所有者必须信任,用户的计算设备14将遵守这种内容所有者在许可证16中规定的规则和要求,即,只有满足许可证16中的规则和要求,才能再现数字内容12。最好,为用户的计算设备14配备可信任的部件或机构18,除了根据在与数字内容12相关联的和用户得到的许可证16中包含的许可证规则之外,使数字内容12不得再现。

可信任的部件18一般具有许可证估计器20,它判定许可证16是否有效,检查这种有效许可证16中的许可证规则和要求,并根据检查的许可证规则和要求判定请求用户是否有权再现所请求的数字内容12,尤其,按所搜索的方式。应该理解,在DRM系统10中信任许可证估计器20根据许可证16中的规则和要求来执行数字内容12的所有者的要求,并且用户应该不能够为了任何目的、恶意或其它而容易地改变这种可信任的单元。

应该理解,在许可证16中的规则和要求可以根据数个因素中的任何因素来规定用户是否有权再现数字内容12,这些因素包括用户是谁、用户的位置在何处、用户正在使用什么类型的计算设备、日期、时间等。此外,例如,许可证16的规则和要求可以限制许可证16到预定的播放数量,或预定的播放时间。

可以根据任何合适的语言和语法来规定许可证16中的规则和要求。例如,语言可以简单地规定必须满足的属性和值(例如,DATE必须比X晚),或可以根据规定的脚本来要求功能的性能(例如,如果DATE大于X,则进行...)。

在许可证估计器20确定许可证16是有效的以及用户满足其中的规则和要求时,就可以再现数字内容12。尤其,为了再现内容12,从许可证12得到加密密钥(KD),并施加于来自内容数据包13的(KD(CONTENT))以产生实际的内容12,然后事实上再现实际的内容12。

公布数字内容

图3是根据本发明用于公布数字内容的系统和方法的一个实施例的功能方框图。这里所使用的术语“公布”是指应用程序或服务依从的一个过程,用可信任的实体建立该实体可以为该内容发出的一组权利和条件,以及这些权利和条件可以发给谁。根据本发明,公布过程包括对数字内容加密以及与持续强制权利的一个列表相关联,这些持续强制权利是内容的作者为内容的所有可能的用户指定的。可以按安全方式来执行这个过程,除非由内容的作者指定,否则禁止对任何权利或内容进行访问。

在本发明的一个实施例中,尤其可以使用三个实体来公布安全数字内容:内容准备应用程序302,它在客户300上执行,并准备用于公布的内容;数字权利管理(DRM)应用程序接口(AP1)306,它也驻留在客户设备300上;以及DRM服务器320,它通过通信网络330连接到客户300而进行通信。在本发明的一个实施例中,通信网络330包括因特网,然而应该理解,通信网络330可以是任何局域网或广域网,例如,诸如专用的企业内部网。

内容准备应用程序302可以是产生数字内容的任何应用程序。例如,应用程序302可以是产生数字文本文件、数字音乐、视频或其它如此的内容的字处理器或其它出版机。内容可能还包括成流的内容,诸如现场直播事件或录制事件的成流的音频/视频。根据本发明,内容准备应用程序请求其用户使用用户提供的密钥对内容进行加密。应用程序302使用密钥对数字内容加密,因此形成经加密的数字内容文件304。客户应用程序还请求用户提供数字内容文件304的权利数据。权利数据包括在数字内容中具有权利的每个实体的各自的识别符。

例如,如此的实体可以是一个个人、一个类别的个人或一个设备。对于每个如此的实体,权利数据还包括在内容中该实体所具有的权利的一个列表,以及强加在任何一个权利或所有权利上的任何条件。这种权利可以包括读出,编辑、拷贝、打印数字内容等的权利。此外,权利可以是相容的或排斥的。相容的权利表示所规定的用户在内容中具有规定权利(例如,用户可以编辑数字内容)。排斥的权利表示规定的用户在内容中具有除了那些指定的权利之外的所有权利(例如,用户除了拷贝数字内容之外可以对数字内容作出任何处置)。

根据本发明的一个实施例,客户API 306可以把经加密的数字内容以及权利数据传送到DRM服务器320。DRM服务器320使用在下面详述的一个过程来判定它是否能够强制用户已经分配的权利,以及如果能够的话,则DRM服务器320签署权利数据而形成签署的权利标签(SRL)308。然而,一般,任何可信任的实体都可以签署权利数据,最好使用DRM服务器320信任的一个密钥。例如,客户可以使用由DRM服务器320提供给它的一个密钥来签署权利数据。

权利标签308可以包括表示权利说明、经加密的内容密钥的数据,以及权利说明和经加密的内容密钥上的数字签名。如果DRM服务器正在签署权利标签,则它通过客户API306把签署的权利标签308传送回客户,把签署的权利标签308存储在客户设备300上。内容准备应用程序302然后使签署的权利标签308与经加密的数字内容文件304相关联。例如,可以把SRL 308和经加密的数字内容文件连在一起以形成权利管理的内容文件310。

然而,一般,权利数据不需要与数字内容组合。例如,可以把权利数据存储在已知的位置上,而对于所存储权利数据的一个参考可以与经加密的数字内容组合。参考可以包括表示权利数据存储在何处的识别符(例如,包含权利数据的数据存储),以及对应于特定存储位置处的特定权利数据的识别符(例如,识别包含感兴趣的特定权利数据的文件的识别符)。然后可以把权利管理的内容310传送给任何人任何地方,而且只有有权消费内容的那些实体才可以消费内容,而且只根据分配给他们的权利。

图4是根据本发明用于公布权利管理的数字内容的示例方法400的流程图,其中DRM服务器签署权利标签。然而,应该理解,该实施例只是示例,一般,可以通过任何可信任的实体签署权利标签。一般,根据本发明用于公布权利管理的数字内容的方法包括:使用内容密钥(CK)对数字内容加密,产生与数字内容相关联的权利说明,根据DRM服务器的公共密钥(PU-DRM)对内容密钥(CK)加密,以产生(PU-DRM(CK)),以及根据在权利说明和(PU-DRM(CK))的组合上对应于(PU-DRM)的专用密钥(PR-DRM)创建数字签名。

在步骤402处,应用程序302产生用于对数字内容加密的内容密钥(CK)。最好,内容密钥(CK)是对称密钥,虽然,一般可以使用任何密钥对数字内容进行加密。有时被称为“秘密密钥”算法的对称密钥算法使用与对消息进行加密所使用的相同的密钥对消息进行解密。为了该原因,最好使(CK)保持秘密。发送者和接收者之间共享(CK)必须极仔细地进行,以避免对于这种(CK)的未核准的截取。因为在加密者和解密者两者之间共享(CK),所以最好在发送任何经加密的消息之前传送(CK)。

在本技术领域中众知数种对称密钥产生算法。在一个实施例中,使用数据加密标准(DES),虽然应该理解,可以使用任何对称算法。这种对称密钥算法的例子包括,但是不限于,AES、Triple-DES、国际数据加密算法(IDEA)、Cast、Cast-128、RC4、RC5以及SkipJack。

在步骤404处,应用程序302用对称内容密钥(CK)对数字内容加密以形成可以使用记号(CK(content))(CK(内容))写出的经加密的数字内容304。使用应用程序302的作者还可以产生与数字内容相关联的权利数据。权利数据可以包括给予权利消费内容的实体的一个列表,以及每个实体相对于内容所具有的特定权利,和可以强加在这些权利上的任何条件。例如,这种权利可以包括观看内容、打印内容等。应用程序302把权利数据提供给API 306。这里附了按XML/XrML格式的权利数据例子作为附录1。

在步骤406处,API 306产生用于对内容密钥(CK)加密的第二加密密钥(DES1)。最好,(DES1)也是对称密钥。在步骤408处,API 306用(DES1)对(CK)加密以产生(DES1(CK))。在步骤410处,API 306废弃(CK),其结果是现在只有对(DES1(CK))解密才能得到(CK)。为了保证对于中央DRM服务器320保护(CK(content)),而且根据权利数据在中央完成内容的所有“许可证请求”,在步骤412处,API 306联系所提供的DRM服务器320,并检索其中的公共密钥(PU-DRM)。在步骤414处,API 306用(PU-DRM)对(DES1)加密以产生(PU-DRM(DES1))。因此,可以对于(PU-DRM)保护(CK),以保证DRM服务器320是能够得到对(CK)的访问、需要对(CK(content))进行解密的、仅有的实体。在步骤416处,API 306用(DES1)对权利数据加密(即,经核准的实体的列表和与列表中每个经核准的实体相关联的各个权利和条件)以产生(DES1(rightsdata))(DES1(权利数据))。

在另一个实施例中,可以使用(CK)对权利数据直接加密以产生(CK(rightsdata)),并可以使用(PU-DRM)对(CK)直接加密以产生(PU-DRM(CK)),从而完全发生在(DES1)的使用之前。然而,使用(DES1)对权利数据和(CK)加密允许这种(DES1)符合可能服从于DRM服务器的任何特定的算法,而独立于DRM服务器而且可能对其不服从的一个实体可以规定(CK)。

在步骤418处,内容保护应用程序302可以把(PU-DRM(DES1))和(DES1(rightsdata))提供给DRM服务器320作为用于签署的权利标签。另一方面,客户本身可以对权利数据加符号。如果正在把权利数据提供给用于签署的服务器,则在步骤420处,DRM服务器320访问权利数据和验证它可以在所提供的权利标签中强制权利和条件。为了验证它可以强制权利数据,DRM服务器320把(PR-DRM)施加于(PU-DRM(DES1))以产生(DES1),然后把(DES1)施加于(DES1(rightsdata))以产生明文中的权利数据。然后服务器320可以进行任何政策检查来验证权利数据中规定的用户、权利和条件在服务器320所强制的任何政策内。服务器320签署包括(PU-DRM(DES1))和(DES1(rightsdata))的原先提供的权利标签以产生签署的权利标签(SRL)308,其中签名是根据DRM服务器320的专用密钥(PR-DRM)的,并使SRL 308返回到API 306,然后它把所返回的SRL 308提供给客户应用程序302。

SRL 308是数字地签署的文档,这使它防篡改。此外,SRL 308是独立于实际密钥类型和算法的,所述算法是用于对内容加密但是对于它所保护的内容保持强的1-1关系。现在参考图4A,在本发明的一个实施例中,尤其,SRL308可以包括作为SRL 308的基础的内容上的信息,可能包括内容的ID(识别符);在签署SRL 308的DRM服务器上的信息,包括(PU-DRM(DES1))和参照信息,诸如用于查找在网络上的DRM的URL,以及如果URL失效的后退信息;描述SRL 308本身的信息;(DES1(rightsdata)):(DES1(CK));以及S(PR-DRM)。这里附了按XML/XrML的SRL 308样本作为附录2。

通过保证可信任的实体签署权利数据以创建签署的权利标签308,DRM服务器认定了它将根据出版者规定的、如权利标签308的权利数据所描述的项目发出内容的许可证。应该理解,要求用户得到许可证以再现内容,特别因为许可证包含内容密钥(CK)。当用户希望得到经加密内容的许可证时,用户可以提出许可证请求,该请求包括内容的SRL 308以及验证DRM服务器320或其它发许可证实体对用户信任的证书。发许可证实体然后可以对(PU-DRM(DES1))和(DES1(rightsdata))进行解密以产生权利数据,向请求许可证实体列出作者准许的所有权利(如果有的话),并且构成只具有这些特定权利的许可证。

最好,在应用程序302接收到SRL 308时,这种应用程序302使签署的权利标签308与对应的(CK(content))304连在一起,以形成权利管理的数字内容。另一方面,可以把权利数据存储在已知位置上,而提供对于该位置的参考和经加密的数字内容。因此,通过再现应用程序正在试图再现的内容的片段,再现DRM-启动的应用程序可以发现签署的权利标签308。这个发现触发了再现应用程序启动对于DRM许可的服务器320的许可证请求。公布的应用程序302可存储指向DRM许可的服务器320的URL,例如,或DRM许可的服务器320可以嵌入它自己的URL作为在数字地签署之前加入权利标签的中间数据的片段,以致再现应用程序调用的DRM客户API 306可以识别正确的DRM许可的服务器320。最好,在签署权利标签之前,把诸如全局唯一的识别符(GUID)之类的唯一的识别符放入权利标签。

在本发明的一个实施例中,可以使用简单的目标访问协议(SOAP),用于内容保护应用程序302或再现应用程序和DRM服务器320之间的通信。此外,可以提供诸如API 306之类的API库,以致不需要诸如应用程序302之类的应用程序来执行客户侧的DRM协议,而是可以只进行本地API调用。最好,使用XrML,一XML语言来描述数字内容的权利说明、许可证以及权利标签,虽然应该理解,对于权利说明和其它数据可以使用任何合适的格式。

得到用于所公布的内容的许可证

图5是根据本发明用于许可权利管理的数字内容的系统和方法的一个实施例的功能方框图。这里所使用的术语“许可的”是指应用程序或服务遵守的请求和接收许可证的一个过程,所述许可证将启动在许可证中指定的实体根据许可证中规定的项目来消费内容。到许可的过程的输入可以包括与正在为其请求许可证的内容相关联的签署的权利标签(SRL)308,以及正在为其请求许可证的实体的公共密钥证书。注意,请求许可证的实体不是必须是正在为其请求许可证的实体。一般,许可证包括来自SRL 308的权利说明、可以对经加密内容进行解密的经加密的密钥以及在权利说明和经加密密钥上的数字签名。数字签名认定指定的实体和权利是合法的。

应用程序302消费权利管理的内容310的一个方法是客户API 306通过通信网络330把权利管理的内容310的签署的权利标签308传递到DRM服务器320。例如,可以在SRL 308中的参照信息中找到DRM服务器320的位置。在如此的实施例中,DRM许可的服务器320通过下面详细描述的过程可以用权利标签中的权利说明来判定它是否可以发出许可证,如果可以的话,就得到与许可证包括在一起的权利说明。

如上所述,权利标签308包括根据DRM服务器320的公共密钥(PU-DRM)加密的内容密钥(CK)(即,(PU-DRM(CK)))。在发出许可证的过程中,DRM服务器320对该值安全地解密以得到(CK)。然后它使用在公共密钥证书中的公共密钥(PU-ENTITY),所述公共密钥证书是在许可证请求中传送以进行再加密(CK)的(即,(PU-ENTITY(CK)))。新加密的(PU-ENTITY(CK))就是服务器320放到许可证中的。因此,可以把许可证返回调用者而没有暴露(CK)的危险,由于只有相关联的专用密钥(PR-ENTITY)的持有者才可以从(PU-ENTITY(CK))再现(CK)。客户API 306然后使用(CK)对经加密的内容进行解密以形成经解密的数字内容312。客户应用程序302然后可以根据在许可证中提供的权利来使用经解密的数字内容312。

另一方面,例如,诸如公布客户之类的客户,可以发出它自己的许可证来消费内容。在如此的实施例中,可以在客户计算机(它向客户提供在合适的情况下对数字内容解密所需要的密钥)上运行安全的过程。

图6A和6B提供根据本发明用于许可权利管理的数字内容的方法600的一个实施例的流程图。根据本发明,请求实体可以以一个或多个可能的、领有许可证者的名义提出许可证请求。请求实体可以是或可以不是可能的、领有许可证者中之一。可能的、领有许可证者可以是可以按任何方式消费内容的一个人、一个组、一个设备或任何其它如此的实体。现在将参考一个实施例描述方法600,其中DRM服务器处理许可证请求,然而应该理解,客户可以执行许可证请求处理以及直接发出许可证。

在步骤602处,例如,诸如DRM服务器之类许可证发出实体接收许可证请求。最好,许可证请求包括公共密钥证书或一个或多个提出请求的领有许可证者中的每一个的识别符。

在步骤604处,鉴定请求实体(即,作出许可证请求的实体)。根据本发明的一个实施例,可以配置许可证发出实体以使用协议(例如,询问-应答)鉴定来判定请求实体的识别符,或可以把它配置成不需要请求实体的鉴定(还已知为“允许匿名的鉴定”)。在需要鉴定时,可以使用任何类型的鉴定方案(例如,上述询问-应答方案,用户-识别符-和-密码方案,诸如MICROSOFT.NET、PASSPORT、WINDOWS鉴定、x509等)。最好,允许匿名鉴定,以及支持由集成的信息系统支持的任何协议鉴定方案。鉴定步骤的结果是一个身份,诸如“匿名”身份(对于匿名鉴定),或例如,个人帐户(account)身份。如果为了任何原因而不能鉴定许可证请求,则返回差错和没有许可证可准许。

在步骤606处,核准经鉴定的实体,即,判定是否允许在步骤608处鉴定的实体请求许可证(为它自己或代表另一个实体)。最好,许可证发出实体存储允许(或不允许)请求许可证的实体的列表。在一个实施例中,在这个身份列表中的身份是作出请求的实体的身份,而不是正在为其请求许可证的实体的身份,虽然可能是每种情况。例如,可能不允许个人帐户身份直接作出许可证请求,但是可信任的服务器过程可以代表这种实体作出许可证请求。

根据本发明,许可证请求可以包括公共密钥证书或每个可能的领有许可证者的身份。如果只为一个领有许可证者请求许可证,则只指定一个证书或身份。如果为多个领有许可证者请求许可证,则可以指定每个可能的、领有许可证者的证书和身份。

最好,许可证发出实体具有每个有效领有许可证者的公共密钥证书。然而,应用程序302可能希望产生对于给定用户的许可证,但是应用程序302可能不访问该用户的公共密钥证书。在这种情况中,应用程序302可以在许可证请求中规定用户的身份,结果,许可证发出实体可以引用在目录服务中执行查找的注册的证书插件模块,并返回合适的用户公共密钥证书。

在步骤608处,如果发出实体判定公共密钥证书没有包括在许可证请求中,则发出实体使用规定的身份来执行目录服务中或数据库中对合适的公共密钥证书的查找。在步骤610处,如果发出实体判定证书在目录中,则在步骤612处,检索证书。在一个实施例中,通过目录访问协议使用证书插入而从目录服务检索公共密钥证书。如果在请求中或在目录中都不能找到给定可能的、领有许可证者的证书,则许可证服务器不产生该可能的、领有许可证者的许可证,在步骤614处,把差错返回请求实体。

假定许可证发出实体具有至少一个可能的、领有许可证者的公共密钥证书,则在步骤616处,发出实体验证领有许可证者证书的可信性。最好,用一组可信任的证书发出者证书来配置发出实体,它判定领有许可证者证书的发出者是否在可信任的发出者列表中。在步骤616中,如果发出实体判定领有许可证者证书的发出者不在可信任的发出者列表中,则该领有许可证者的请求失败,并且在步骤614中产生差错。因此,可信任的发出者没有为其发出证书的任何可能的、领有许可证者将接收不到许可证。

此外,发出实体最好在从可信任的发出者证书到个别领有许可证者公共密钥证书的证书链中的所有实体上执行数字签名验证。验证链中的数字签名的过程是众知的算法。如果给定的可能的、领有许可证者的公共密钥证书没有确证,或在链中的证书没有确证,则可能的、领有许可证者是不可信任的,因此,许可证不发给该可能的、领有许可证者。否则,在步骤618处,可以发出许可证。在步骤620处使过程重复进行直到已经处理了已经为其请求许可证的所有实体。

如在图6B中所示,许可证发出实体进行到验证许可证请求中接收到的签署的权利标签308。在一个实施例中,发出实体可以使用权利标签插件以及后-端(back-end)数据库在服务器上存储由发出实体签署的每个权利标签的主要拷贝。通过在公布时放到权利标签中的GUID来识别权利标签。在许可证时间(在步骤622处),发出实体分析放在许可证请求中的权利标签,并检索它的GUID。然后它把这个GUID传送到权利标签插件,权利标签插件发出对数据库的询问以检索主要权利标签的拷贝。主要权利标签可能比在许可证请求中发送的权利标签更新,而且它将是在下面步骤中的请求中使用的权利标签。如果根据GUID在数据库中没有找到权利标签,则发出实体在步骤624处检查它的政策,以判定是否还允许它根据请求中的权利标签发出许可证。如果政策不允许这样,则在步骤626处许可证请求失败,并在步骤628处把差错返回到API 306。

在步骤630处,许可证发出实体验证权利标签308。验证在权利标签上的数字签名,如果许可证发出实体不是权利标签的发出者(对其签署的实体),则许可证发出实体判定权利标签的发送者是否为另一个可信任的实体(例如,许可证发出实体与其一起启动而共享关键资料的一个实体)。如果权利标签没有确证,或它没有通过可信任的实体发出,则在步骤626处许可证请求失败,在步骤628处将把差错返回API 306。

在已经发生所有的确证之后,许可证发出实体把权利标签308解译成用于每个认可的领有许可证者的许可证。在步骤632处,许可证发出实体产生要发给每个领有许可证者的许可证的相应的权利说明。对于每个领有许可证者,发出实体对照在权利标签的权利说明中指定的身份来估计在该领有许可证者的公共密钥证书中指定的身份。权利说明把可以运用许可证中的权利或权利组的一组身份分配给每个权利或权利组。对于与该领有许可证者的身份相关联的每个权利或权利组,把权利或权利组拷贝到许可证的新的数据结构中。所产生的数据结构是对于特定的领有许可证者的许可证中的权利说明。作为这个过程的一部分,许可证发出实体估计可以与权利标签的权利说明中的任何权利或权利组相关联的任何先决条件。例如,权利可以具有与它限制许可证发出实体在规定时间之后不得发出许可证相关联的时间先决条件。在该情况中,发出实体将需要检查当前时间,如果该时间超过先决条件中规定的时间,则发出实体将不能够把该权利发出给领有许可证者,即使该领有许可证者的身份是与该权利相关联的。

在步骤636处,发出实体从权利标签308取得(PU-DRM(DES1))和(DES1(CK)),并施加(PR-DRM)而得到(CK)。然后发出实体使用(PU-ENTITY)领有许可证者的公共密钥证书对(CK)再加密以产生(PU-ENTITY(CK))。在步骤638处,发出实体使所产生的权利说明与(PU-ENTITY(CK))连在一起,并使用(PR-DRM)数字地签署所产生的数据结构。这个加符号的数据结构是这个特定的领有许可证者的许可证。

在步骤604处,当发出实体判定对于特定请求没有更多的许可证要产生时,它将产生零或更多的许可证。在步骤642处把所产生的许可证同与这些许可证相关联的证书链一起返回到请求实体(例如,服务器自己的公共密钥证书以及发出它的证书的证书等)。

在根据本发明的系统的一个实施例中,可以使用多个发许可证者的密钥。在如此的实施例中,经过权利标签308加密和到许可证中的内容密钥(CK)实际上可以是任何任意的数据。一种特别有用的变型是使用多个分立的、加密的、分别与不同权利或权利说明中不同主题相关联的内容密钥(CK)。例如,在歌集上的歌的数字形式可以全部用不同的密钥(CK)进行加密。这些密钥(CK)将包括在相同的权利标签中,但是一个主题可以具有播放歌中之一的权利(例如,他可能只有权得到他的许可证中的一个密钥),而第二主题可能有权播放所有的歌(她将有权得到她的许可证中的所有密钥)。

最好,根据本发明的系统能够把发布的应用程序/用户向权利标签308中指定领有许可证者的组或类别。在如此的实施例中,许可证发出实体将估计权利标签中指定的任何组/类别来判定当前领有许可证者身份是否为这些组类别中的一个成员。如果找到在指定组/类别中的成员资格,则发出实体可以把与组/类别相关联的权利或权利组添加到许可证所使用的权利说明数据结构中。

在本发明的一个实施例中,在DRM服务器中的公布和许可协议接口支持调用应用程序或用户的鉴定和核准,用于DRM服务器的管理控制台允许管理者产生用于许可和公布接口两者的访问控制列表。这使服务器的用户能够应用允许用户/应用程序来公布、许可的政策。

修改或再公布签署的权利标签308

在本发明的一个实施例中,如果内容的用户已经被准许如此进行的话,则可以“再公布”SRL 308。即,如果允许的话,用户可以改变SRL 308中的权利数据。注意,这种对改变权利数据的允许应该是有节制地和明智地准许的,特别因为允许改变权利数据的用户可以基本上准许他自己有与相关联内容有关的扩大权利。可以想象,如此的用户甚至可以准许他自己有暴露内容和把内容传送到全世界的权利。

这里,通过在权利标签308的权利数据中包括特定用户或用户类别事实上可以改变或“再公布”权利数据和权利标签308的一个指示而表示允许改变。当DRM服务器320接收到这种与许可证请求有关的带有这种允许的这种SRL308时,DRM服务器320在用户所请求的许可证中包括根据用户的公共密钥(即,PU-ENTITY)加密的对称密钥(DES1)而产生的(PU-ENTITY(DES1))。

因此,为了对SRL 308中的权利数据进行编辑,现在转到图7,用户从许可证检索(PU-ENTITY(DES1))(步骤701),施加(PR-DRM)于其中以产生(DES1)(步骤703),从SRL 308检索(DES1(rightsdata))(步骤705),以及施加(DES1)于其中以产生权利数据(步骤707)。此后,用户按需要改变权利数据(步骤709),并联系图4所规定的方式把经改变的权利数据提供给DRM服务器320以得到签署的权利标签308(步骤711)。当然,这里,签署的权利标签308实际上是再公布的SRL 308,因此一旦接收到SRL 308(步骤713),用户就废弃与相关联内容连在一起的原始的SRL308,然后把再公布的SRL 308和这种内容连在一起(步骤717)。

因此,可以理解,再公布SRL 308使用户能够更新SRL 308中包括权利、条件和用户的权利数据而无需改变相关联的内容。尤其,再公布不需要用新的(CK)对相关联内容再加密。还有,再公布不需要从起跑线产生新的SRL,特别因为原始SRL 308中具有的许多项目可以拷贝到新SRL 308。

自-公布签署的SRL308

在本发明的一个实施例中,可以通过请求用户自己来签署SRL 308。因此,用户不需要接触DRM服务器320来得到一段相关联内容的SRL 308。结果,还可以把自-公布称为离线公布。在如此的实施例中,可以要求用户接触DRM服务器320以根据这种自-公布的SRL 308来请求许可证。应该理解,可以使公布实体发出它自己的许可证。

尤其,现在参考图8,在实施例中,首先规定用户自-公布,通过从DRM服务器320接收包括公共密钥(PU-CERT)和根据用户的公共密钥(PU-ENTITY)加密的相应的专用密钥(PR-CERT)的DRM证书810以产生(PU-ENTITY(PR-CERT))。可以通过DRM服务器320的专用密钥(PR-DRM)签署证书,以致DRM服务器320可以验证证书,如下更详细的描述。可以理解,DRM证书810核准用户自-公布。还可以理解,密钥对(PU-CERT、PR-CERT)是与(PU-ENTITY、PR-ENTITY)分立的,并且是特别用于自-公布的。注意,可以废除密钥对(PU-CERT、PR-CERT),在该情况中,DRM证书810只包括用户的公共密钥(PU-ENTITY),并通过DRM服务器320的专用密钥(PR-DRM)签署,以致DRM服务器320可以验证证书。

自-公布与图4中示出的公布的差别在于用户基本上取代了DRM服务器320所执行的步骤。重要地,用户用从DRM证书810得到的(PR-CERT)(即,S(PR-CERT))签署所提供的、包括(PU-DRM(DES1))和(DES1(rightsdata))的权利标签,以产生签署的权利标签(SRL)308。应该理解,用户通过从这种DRM证书810得到(PU-ENTITY(PR-CERT))和施加(PR-ENTITY)于其中而从DRM证书810得到(PR-CERT)。注意,然而,用户不能够验证DRM服务器320可以强制所提供的权利标签中的权利,特别因为用户没有施加于(PU-DRM(DES1))的(PR-DRM)。因此,在请求许可证的时刻,DRM服务器320自己应该根据自-公布SRL 308来执行验证。

一旦用户自-公布SRL 308,用户就把这种自-公布的SRL 308和用于产生内容的证书的DRM证书810连在一起,并把这种具有SRL 308和DRM证书810的内容分发给另一个用户。此后,实质上按图6A和6B中示出的相同方式,其它用户请求和得到来自DRM服务器320的内容的许可证。这里,然而,许可证-请求用户向DRM服务器320提供与内容连在一起的自-公布的SRL 308和DRM证书810两者。然后DRM服务器320根据相应的(PU-DRM)验证DRM证书810中的S(PR-DRM),以及得到来自DRM证书810的(PU-CERT)。然后DRM服务器320根据所得到的(PU-CERT)验证SRL308中的S(PR-CERT),以及继续进行如上。注意,然而,由于用户不对DRM服务器320可以强制SRL 308中的权利进行验证,所以如上所规定,此时DRM服务器320自己应该执行验证。

权利模板

如上所述,向用户提供了自由度,以通过定义用户或用户类别、定义每个经定义的用户或用户类别的权利、以及然后定义任何用户条件而创建权利标签中大多数任何多种或类别的权利数据。然而,以及重要的是,反复定义多个权利标签的权利数据可能是麻烦和重复的,特别当对于内容的不同片段重复定义相同的用户或用户类别、权利和条件时。例如,这种情况可能发生在一个团体或办公室环境中,其中用户重复地公布要与所定义的特定用户团体共享的内容的不同片段。在这种情况中,并且在本发明的一个实施例中,创建了权利模板,在创建权利标签方面用户可以重复使用,其中权利模板已经在其中包括了预定义的用户或用户类别、每个经定义的用户或用户类别的预定义的权利以及预定义的用户条件。

现在转到图9,在本发明的一个实施例中,权利模板900具有与权利标签中的权利数据实质上相同的权利数据。然而,由于直到公布内容才知道(DES1),所以如同在权利标签中的情况那样不可能根据如此的(DES1)对权利数据加密。而且,在本发明的一个实施例中,在图4的步骤416处用(DES1)对权利数据加密以产生(DES1(rightsdata))的过程中提供带有未加密权利数据的权利模板900。当然,在加密之前从所提供的权利模板900检索权利数据。

可能是或可能不是如此的情况,在构成权利模板的时刻已知DRM服务器320和其中的公共密钥(PU-DRM)。进一步,即使已知,可能是或可能不是如此的情况,存在一个以上的DRM服务器320,每个都有它自己的(PU-DRM)。但是,在构成权利模板的时刻已知DRM服务器320和其中的公共密钥(PU-DRM)的情况中,并且在只使用一个DRM服务器320、或只有一个DRM服务器320要联系权利模板900一起使用的情况中,这种权利模板也可以在其中包括对从权利模板900产生的权利标签签署的DRM服务器上的信息,包括其中的公共密钥(PU-DRM)。虽然如此的(PU-DRM)出现在SRL 308中作为加密(DES1)以产生(PU-DRM(DES1)),但是可以再次理解,直到公布内容时才知道(DES1),因此权利模板900中的(PU-DRM)不能对这种(DES1)加密,如权利标签的情况一样。但是,在本发明的一个实施例中,在图4的步骤414处用(PU-DRM)加密(DES1)以产生(PU-DRM(DES1))的过程中提供带有未加密(PU-DRM)的权利模板900。当然,在使用之前,从所提供的权利模板900检索(PU-DRM)。

还是在上述情况中,可以包括在权利模板中的DRM服务器上的其它信息还可以包括参照信息,诸如用于查找网络上的DRM服务器的URL,以及如果URL失效的退回信息。在任何情况中,尤其,权利模板还可以包括描述权利模板900本身的信息。注意,权利模板900还可以提供空间,用于与要公布的内容有关的信息,诸如出现在与内容有关的权利标签中的信息和/或加密密钥(CK)和(DES1),然而这种空间不是必需的,如果实际上没有把权利模板的例子变换到权利标签中的话。

虽然迄今所揭示的权利模板900主要是为了方便用户,但是还可以理解,在某些情况中,用户不应该有无限制的自由来定义权利标签中的权利数据,而可以使用权利模板900来限制可以创建的权利标签的范围或类型。例如,尤其在团体或办公室环境中,可以作为政策来预定义,特定用户应该始终只向特定用户类别公布内容,或用户应该永远不向特定用户类别公布内容。在任何情况中,以及在本发明的一个实施例中,这种政策作为预定义权利数据包含在一个或多个权利模板900中,当公布内容时,可以限制用户,使之使用这种权利模板来创建权利标签。注意,用户可用权利模板900或权利模板900的组来规定公布政策,用户可以规定任何特定类型的公布政策而不偏离本发明的精神和范围。

为了规定用于受限制的用户等等的权利模板900,现在转到图10,管理者等等事实上通过定义预定义权利数据来构成权利模板900(步骤1001),以及定义可能是必要的和合适的任何其它数据,诸如与特定DRM服务器320有关的信息(步骤1003)。重要地,为了实现受限制的用户等等使用的权利模板,必须制成正式的权利模板900。即,权利模板900必须可识别为受限制的用户等等可以使用的权利模板。因此,在本发明的一个实施例中,把通过管理者等等构成的权利模板提供给DRM服务器320用于签署,从而这种签署使权利模板就成为正式的(步骤1005)。

注意,签署的DRM服务器320是有其信息在权利模板900中的DRM服务器  ,如果确实的话,这种信息事实上是存在于权利模板900中的。注意,还有,DRM服务器320可以只根据作出任何必需的检查而签署权利模板900,或可以签署而根本没有任何检查。注意,最后,来自DRM服务器320的模板签名S(PR-DRM-T)(其中T表明签名是对于ORT 900的)应该至少基于权利模板900中的预定义权利数据,但是也可以基于其它信息而不偏离本发明的精神和范围。如下所述,将把签名S(PR-DRM-T)结合到权利标签中,并进行与此有关的验证,因此,签名所基于的无论什么也都应该按未改变的形式结合到权利标签中。

在DRM服务器320签署权利模板900和把它返回给管理者等等时,管理者接收签署的以及现在是正式的、带有S(PR-DRM-T)的权利模板900(步骤1007),并把正式的权利模板(ORT)900传送到一个或多个用户从而供其使用(步骤1009)。因此,对于根据ORT 900公布内容的一个用户,该用户检索ORT900(步骤1011),以及通过提供任何需要的信息,诸如内容的信息,合适的密钥信息,来自ORT 900的权利数据通过(DES1)加密以产生(DES1(rightsdata)),以及来自ORT 900的任何其它信息,根据ORT900构成权利标签(步骤1013)。重要地,用户还使权利标签包括来自ORT 900的签名S(PR-DRM-T)。

此后,如上所述,用户把权利标签提供给DRM服务器320用于签署(步骤1015)。这里,然而,DRM服务器320将不签署所提供的权利标签,除非验证其中的S(PR-DRM-T)。即,DRM服务器320通过除非这种所提供的权利标签包括来自ORT 900的签名S(PR-DRM-T)否则就拒绝签署所提供的权利标签而强制用户必须根据ORT 900提供的权利标签。尤其,DRM服务器320从所提供的权利标签检索这种S(PR-DRM-T)以及这种签名所基于的无论什么信息,然后根据(PU-DRM)验证这种签名。注意,在所提供的权利标签中的权利数据是根据(DES1)加密的(即,(DES1(rightsdata)))。因此,DRM服务器320必须首先得到(DES1),并且用其对(DES1(rightsdata))进行解密,如上联系图7所述,以能够根据所提供的权利标签中的权利数据来验证签名。

一旦验证了,DRM服务器320就用S(PR-DRM-L)签署所提供的权利标签,以产生SRL 308,如上所述(其中-L表明签名是对于SRL 308的)。这里S(PR-DRM-L)可以替代S(PR-DRM-T),或可以另外还有这种S(PR-DRM-T)。如果另外还有的话,S(PR-DRM-L)可以部分地基于S(PR-DRM-T)。注意,可以使用(PR-DRM)来产生S(PR-DRM-T)和S(PR-DRM-L)两者,或对于S(PR-DRM-T)和S(PR-DRM-L)中的每一个可以使用不同的(PR-DRM)。在DRM服务器320签署权利标签和把SRL 308返回用户时,用户接收带有S(PR-DRM-L)的SRL308(步骤1017),并继续进行把它和公布的内容连在一起,如上所述。

如果ORT 900的签名S(PR-DRM-T)是至少部分地基于ORT 900中的预定义的权利数据的,则不能够修改或变化出现在SRL 308中的这种权利数据(在(DES1(rightsdata))中)。否则,S(PR-DRM-T)将不验证。但是,在本发明的一个实施例中,在ORT 900中的权利数据可以在也与权利模板900包括在一起的规定的规则内变化。例如,规则可以规定要包括在SRL308中的两组权利数据中之一组,或可以允许从不同的组中选择。可以理解,规则可以是按任何合适的语法规定的任何特定规则而不偏离本发明的精神和范围。这里,通过合适的规则解释器在创建权利标签的时刻对用户解释规则。虽然权利数据可以改变,但是规则不可同样地改变,因此ORT 900的模板签名S(PR-DRM-T)至少部分地基于规则而不基于权利数据本身。结果,与ORT 900包括在一起的规则还必须与SRL 308包括在一起。

在本发明的一个实施例中,在ORT 900中的预定义的权利数据是固定的以及部分地变化以及是可变的和部分地由规则带动的,如上所述。这里,ORT 900的模板签名S(PR-DRM-T)是至少部分地基于规则的固定部分的和基于权利数据的可变部分的规则的。

可以理解,用户具有的ORT 900可以变成过时的和陈旧的。即,ORT 900通过其中的权利数据可以反映已经成为过时的、不恰当的、或简单地不再可应用的政策。例如,在ORT 900中的权利数据中规定的一个或多个用户或用户类别可能不再存在于政策环境中,或在ORT900的权利数据中规定的特定用户或用户类别可能不再具有政策环境中的相同权利。在这种情况中,可能管理者已经发出修正的ORT 900,但是用户仍使用以前的、陈旧版本的ORT 900。

在这种情况中,以及在本发明的一个实施例中,DRM服务器320在签署所提供的权利模板900以产生ORT 900时保留了一份ORT 900的拷贝,每个ORT 900具有唯一的识别指数,并且根据ORT 900构成的每个权利标签把这种ORT 900的识别指数包括在其中。因此,在接收到诸如联系图10所述的所提供的权利标签时,DRM服务器320在权利标签中寻找ORT 900的识别指数,根据找到的识别指数检索这种ORT 900的最新的拷贝,从所提供的权利标签除去权利数据,插入来自所检索的ORT 900的权利数据,然后至少部分地根据所插入的权利数据签署权利标签。当然,DRM服务器还执行在所规定的过程中需要和义不容辞的任何必需的加密和解密步骤,包括解密和再加密(DES1(rightsdata))。注意,如果DRM服务器适用于替换所提供的权利标签中的权利数据,则这种权利标签和构成这种权利标签的ORT 900不需要把权利数据包括在其中。作为替代,权利数据只需要驻留在DRM服务器320处。然而,使权利数据与权利标签和构成权利标签的ORT 900包括在一起对于用户可能是有用的,因此在某些情况中可能是有用的。

通过目录许可

当发出保护内容的许可证时,许可证发出实体(下文为“发许可证者”)从内容考虑所发送的SRL 308,以判定要向哪个用户/组/群集/部分/平台/等等(下文为“实体”)提供权利,并发送证书来识别许可证请求者。基于这些,发许可证者确定在SRL 308中列出的权利中的哪些权利要发给请求者。概念上,发许可证者检查在SRL 308中列出的实体,并且把这些实体与请求者进行比较。因此,如果SRL 308规定特定组将接收许可证而请求者是这种组的一个成员,则准许请求者的许可证,具有如SRL 308中对于该组所规定的权利。同样,如果SRL 308规定特定用户将接收许可证而请求者是这种用户,则准许请求者的许可证,具有如SRL 308中对于该组所规定的权利。可以理解,特定SRL 308可能列出数个实体以及它们的权利,特定请求者可能根据是一个或多个实体的成员而准许许可证。

如在图12中看到,在本发明的一个实施例中,通过识别符1204在发送证书1202中识别请求者,例如,其中识别符1204可以是别名,通过它在组织目录1206中识别请求者。因此,SRL 308在其中列出根据这种识别符1204的每个给予权利的实体。因此,作为处理许可证1208的请求的一部分,发许可证者1210从证书1202得到请求者的识别符1204,并对得到的识别符1204与所发送的SRL 308中列出的所有识别符1204进行比较。如果发现对于这种请求者的识别符1204的匹配,则发许可证者1210把具有SRL 308中规定的权利的许可证1208发给请求者。

此外,根据目录1206的可用性,发许可证者1210还可以判定请求者是否为SRL 308中列出的任何其它实体的成员,假定目录1206包括反映请求者在每个如此的其它实体中的成员资格状态的合适的交叉参考信息。一般,目录1206不但在其中列出每个请求者的识别符1204,而且还列出请求者成为成员的每个组/群集/部分/平台/其它实体/等等的识别符1208。注意,目录1206可以包括识别符1208,诸如邮政地址、另外的邮政地址、ID、另外的ID、组的成员资格、历史的识别符以及等等。

借助从具有识别符1204的请求者接收的证书1202以及借助从请求者接收到的来自SRL 308的权利数据,然后,现在参考图13,发许可证者1210按下列方式把许可证1208发给请求者。起初,发许可证者1210从所接收的证书1202得到请求者的识别符1204(步骤1301),并在目录1206中查找所得到的识别符1204(步骤1303)。此后,发许可证者1210根据在目录1206中查找的识别符1204来查找识别符1204的请求者成为成员的识别符1204的每个实体(步骤1305)。因此,对于每个查找的识别符1204的请求者,以及所有查找的识别符1204的实体,发许可证者1210对这种识别符1204与所发送的SRL 308中列出的所有识别符1204进行比较(步骤1307)。一旦再次,如果发现匹配,则发许可证者1210对于匹配的识别符1204把具有SRL 308中规定的权利的许可证1208发给请求者。

注意,由于对多个识别符1204与SRL 308进行比较,所以可能是这样的情况,即,在SRL 308中发现多个匹配的识别符1204。如果是这样,则发许可证者1210选择SRL 308的识别符1204中的一个合适的识别符,并且对于所选择的匹配识别符1204把具有SRL 308中规定的权利的许可证1208发给请求者(步骤1309b)。例如,发许可证者可以选择传送最多权利给请求者的匹配识别符1204(步骤1309b-1)。注意,发许可证者可能能够判定哪个识别符1204传送最多权利,或可能必需依赖SRL 308中某种类型的优先级指数1212。在后一种情况中,在SRL 308中的每个匹配识别符(用户)1204具有相应的优先级指数1212,例如,较高指数1212表示准许权利的较大范围。因此,如果发许可证者1210发现在SRL 308中的多个匹配识别符1204,则这种发许可证者1210选择具有最高优先级指数1212的匹配识别符1204(步骤1309b一2)。

注意,在参照目录1206来产生与请求者有关的附加的识别符1204中,发许可证者1210增加发现匹配的可能性,例如,甚至在从创建SRL 308以来请求者的邮政地址或ID已经改变的情况中。一般,目录1206提供从请求者的一个识别符1204到请求者的其它可能识别符1204的映射,从而可以使用所有识别符1204以尝试发现对于SRL 308中识别符1204的匹配。

对于一个组的许可

在本发明的一个实施例中,请求者提供的所发送的证书1202可以代表一个组或群集或某些个人的集合(下文为“组”),其中在目录1206中合适地表示这种组。这种组可以包括能够邮寄(mail-enabled)的组,诸如分发列表或邮政别名,或诸如可以在络操作系统等方面定义的一种安全组。因此,发许可证者1210在接收到所发送的“组”证书1202时实质上如前一样进行。注意,然而,因为所发送的证书1202表示一个特定的组,所以从发许可证者1210发出的许可证1208可能是供给在证书1202中识别的组的,而不是供给特定的请求者的。另一方面,发许可证者1210可以从目录1206判定请求者是在证书1202中识别的组的一部分,如果这样的话,那么所发出的许可证1210是供给请求者的。

在前面的情况中,所发出的许可证1208可以包括根据组的公共密钥加密的内容密钥,因此请求者需要得到相应的组的专用密钥。因此,请求者可以具有具有这种专用密钥的组的成员资格证书,可能根据请求者的公共密钥加密和根据相应的请求者的专用密钥解密。

在后面的情况中,为了在所发出的许可证1208中包括根据请求者的公共密钥加密的内容密钥,发许可证者1210可以附加地接收来自请求者的、具有这种公共密钥的证书。另一方面,发许可证者1210可以在文件上具有如此的证书(例如,见图6A和6B的步骤608-612),并在从目录1206判定请求者是在所发送的组证书1202中识别的组的一部分时同样地使用公共密钥。

注意,在SRL 308中规定权利和根据组发出许可证1208在企业或组织设置中实现了数字权利管理。例如,文档或电子邮件可以是DRM保护的,以致给定部门的所有成员有权读出文档或电子邮件。假定在组织的目录1206中存在这种部门的组,这是最通常的情况,文档或电子邮件的作者将根据组而不是个人来准许权利。可以理解,这种组方式的权利准许的优点包括在规定具有权利的个人的类别中便于作者的使用。此外,通过规定根据组的权利,所规定的权利因为新的个人加入组中和老的个人离开组而不会变成“陈旧”。作为替代,组的所有当前的成员能够运行权利,只要在组织目录1206中一直知道这种组的成员资格的最新情况。

在许可期间注入政策

在本发明的一个实施例中,并在上面联系图9的ORT 900所提及,当根据SRL 308发出许可证1208时,可以适配DRM服务器/发许可证者1210来修改或替换来自所提供的SRL 308的权利数据。尤其,发生数种情况,其中明确地忽略在所提供的SRL 308中的权利数据,并且当根据这种SRL 308创建许可证1208时,作为替代,发许可证者1210替换或“注入”另外的政策。注意,虽然这里揭示发许可证者1210把政策注入许可证1208的数种特定的情况,但是发许可证者1210还可以在任何其它类型的情况中把政策注入许可证1208而不偏离本发明的精神和范围。

现在转到图14,在第一情况中,发许可证者1208保持给予特定权利的特定实体(用户、组等)的列表1214(图12)。例如,尤其,特定实体可以包括组织中某些较高层次的个人,某些管理人的个人、应该能够再现所有内容的某些个人、以及上述个人的组。或更简单地,通过创建这种特定实体的一个或多个组而实际上在组织目录1206中包含这种列表1214,作为在目录中对每个特定实体列出的识别信息。因此,这种特定实体可以再现内容,即使它们的SRL 308禁止这种再现。

现在参考图14,在实体提供SRL 308作为许可证1208的请求的一部分时,发许可证者1210按合适的方式用目录1206进行检查,以判定提供实体的特征是否为特殊实体(步骤1401),如果是的,则发许可证者1210创建具有特殊权利的特殊实体的许可证1208,所述特殊权利与所提供的SRL 308中存在的权利数据不同(步骤1403)。注意,特殊权利可以是任何权利而不偏离本发明的精神和范围。例如,特殊权利可以是所有特殊实体可以充分访问和再现的相应的内容,来自特定组的所有特殊实体可以充分访问和再现的相应的内容,特定的特殊实体接收加强的权利,诸如在许可证1208到期之前的较高的播放计费或较长的周期,等等。注意,如果特殊权利对于个人或组是特定的,则可以对于目录1206中的个人或组在目录输入中规定这种权利,这种目录项对于特殊权利所处的位置可以具有合适的参考,发许可证者1210可以根据个人或组等的识别符1204在数据库中寻找特殊权利。

现在转到图15,在第二情况中,许可证1208保持权利受到限制或被否定权利的受限制的实体的列表1216(图12)。尤其,例如,受限制的实体可以包括已经离开组织的个人、通常对于任何内容应该不具有任何权利的在组织中的个人,诸如维修和建筑人员、在组织中只具有受限制的状态的个人,诸如合同工和临时雇员、以及上述个人的组。象上述“特殊”列表1214那样,也可以在组织目录1206中实施受限制的列表1216作为对于每个受限制的实体列出的目录中的识别信息,或更简单地通过创建这种受限制的实体的一个或多个组。因此,从再现内容来限制这种受限制的实体,即使其中的SRL 308允许这种再现。

仍参考图14,在实体提供SRL 308作为许可证1208的请求的一部分时,发许可证者1210按合适的方式用目录1206进行检查,以判定提供实体的特征是否为受限制实体(步骤1405),如果是的,则发许可证者1210创建具有受限制权利的受限制实体的许可证t 1208,所述受限制权利与所提供的SRL 308中存在的权利数据不同(步骤1407)。注意,受限制权利可以是任何权利而不偏离本发明的精神和范围。例如,受限制权利可以是所有受限制实体按任何方式都不能够访问和再现的相应的内容,来自特定组的所有受限制实体只可以按短暂的形式访问和再现的内容,特定的受限制的实体只可以打印内容的一个片段的单份拷贝,等等。此外,凡是受限制的实体不准许任何许可证的都是受限制的权利。如对于特殊权利,如果受限制的权利对于个人或组是特定的,则可以对于目录1206中的个人或组在目录项中规定这种权利,这种目录项对于受限制权利所处的位置可以具有合适的参考,发许可证者1210可以根据个人或组等的识别符1204在数据库中寻找受限制权利。

在第三情况中,许可证1208可以把政策注入许可证1208中以规定再现相应的内容而需要的计算设备14(图11)的最低系统要求(步骤1409)。这种最低系统要求一般涉及计算设备14的值得信任性和安全性,虽然这种要求还可以涉及任何其它事物而不偏离本发明的精神和范围。

发许可证者1210考虑的值得信任性和安全性的主要例子是计算设备14的可信任的部件18或其中的安全部分是否为当前的。可以理解,可以通过版本号、构造日期等来表示这种当前性,并反映可信任的部件18或其中的部分的使用期限。还可以理解,当可信任的部件18或其中的部分使用年代长久时,恶毒实体的安全攻击更易伤害可信任的部件18或其中的部分。因此,发许可证者1210可以决定不应该信任超过某个使用期限的可信任的部件18或其中的部分,并可以把政策注入所发出的许可证1208中,从而要求在允许再现相应内容之前更新这种不值得信任的部件18或其中的部分。

发许可证者1210考虑的值得信任性和安全性的另一个例子是再现内容的应用程序事实上是否为可信任的。可以理解,可以是这样的情况,例如,可以通过不允许按不受保护的形式存储内容而信任一个应用程序在许可证1208的范围内再现内容,而不能够同样地信任另一个应用程序。因此,发许可证者1210可以决定,只可以使用某些应用程序来再现相应的内容,而且可以把政策注入所发出的许可证1208中,从而要求只使用如此的应用程序来再现这种内容。

当然,其它政策注入情况有许多。一般,可能可以根据请求者执行政策注入,  以把附加权利添加到SRL 308中的权利数据,或从SRL 308中的权利数据除去权利(步骤1411);以及再次可能可以根据请求者,同样地把条件添加到这种权利数据,或从这种权利数据除去条件(步骤1413)。

结论

实现联系本发明而执行的过程的编程要求是相当直截了当的,并且有关的编程公众是明了的。因此,这里不附上这种编程。然而,可以使用任何特定的编程来实现本发明而不偏离本发明的精神和范围。

应该理解,可以对上述实施例作出改变而不偏离本发明的精神和范围。注意,虽然根据诸如组织之类所定义的领域来描述本发明,但是也可以在作为组织的子集或包括多个组织的所定义的领域中使用本发明,所有这些都不偏离本发明的精神和范围。因此,应该理解,本发明不限于所揭示的特定实施例,打算包括如所附图的权利要求书定义的本发明的精神和范围内的各种修改。

                       附录1

取样权利数据

<?xml version=″1.0″?>

<XrML version=″1.2″>

  <BODY type=″Rights Template″>

    <DESCRIPTOR>

      <OBJECT>

        <ID type=″GUlD″>c43...</ID>

        <NAME>$$411$411name$411desc</NAME>

      </OBJECT>

   </DESCRIPTOR>

   <WORK>

     <OBJECT>

       <ID/>

     </OBJECT>

     <RIGHTSGROUP name=″MAIN RIGHTS″>

       <RIGHTSLIST>

         <VIEW>

           <CONDITIONLIST>

             <ACCESS>

               <PRINCIPAL>

                 <OBJECT>

                   <ID/>

                   <NAME>test@company.com</NAME>

                 </OBJECT>

               </PRINCIPAL>

             </ACCESS>

           </CONDITIONLIST>

         </VIEW>

         <RIGHT name=″generic″>

           <CONDITIONLIST>

             <ACCESS>

               <PRINCIPAL>

                 <OBJECT>

                   <ID/>

                   <NAME>test@company.com</NAME>

                 </OBJECT>

               </PRINCIPAL>

             </ACCESS>

            </CONDITIONLIST>

          </RIGHT>

        </RIGHTSLIST>

      </RIGHTSGROUP>

    </WORK>

  </BODY>

  <SIGNATURE>

    <ALGORITHM>RSA PKCS#1-V1.5</ALGORITHM>

    <DIGEST>

      <ALGORITHM>SHA1</ALGORITHM>

      <PARAMETER name=″codingtype″>

        <VALUE encoding=″string″>surface-coding</VALUE>

      </PARAMETER>

      <VALUE encoding=″base64″size=″160″>Mwl...=</VALUE>

    </DIGEST>

    <VALUE encoding=″base64″size=″1024″>Msi...=</VALUE>

  </SIGNATURE>

</XrML>

                      附录2

经签名的取样权利标签(SRL)308

<?xml version=″1.0″?>

<XrML version=″1.2″>

  <BODY type=″Rights Label″version=″3.0″>

    <ISSUEDTIME>2002-01-01_12:00:00</ISSUEDTIME>

    <DESCRIPTOR>

      <OBJECT>

        <ID/>

        <NAME>$$409$...</NAME>

      </OBJECT>

    </DESCRIPTOR>

    <ISSUER>

      <OBJECT type=″DRM-Server″>

        <ID type=″GUlD″>{d81...}</ID>

        <NAME>Test DRM Server</NAME>

        <ADDRESS type=″URL″>http://licensing.dev.com</ADDRESS>

      </OBJECT>

      <PUBLICKEY>

         <ALGORITHM>RSA</ALGORITHM>

        <PARAMETER name=″public-exponent″>

          <VALUE encoding=″integer32″>65537</VALUE>

        </PARAMETER>

        <PARAMETER name=″modulus″>

          <VALUE encoding=″base64″size=″1024″>NcO...=</VALUE>

        </PARAMETER>

      </PUBLICKEY>

      <ENABLINGBITS type=″sealed-key″>

        <VALUE encoding=″base64″size=″1024″>tFg...=</VALUE>

      </ENABLINGBITS>

      <SECURITYLEVEL name=″Server-Version″ value=″2.0″/>

      <SECURITYLEVEL name=″Server-SKU″value=″22222-3333″/>

    </ISSUER>

    <DISTRIBUTIONPOINT>

      <OBJECT type=″LICENSE ACQUISITION URL″>

        <ID type=″GUID″>{OF4...}</ID>

        <NAME>DRM Server Cluster</NAME>

        <ADDRESS type=″URL″>http://localhost/Licensing</ADDRESS>

      </OBJECT>

      </DISTRIBUTIONPOINT>

      <WORK>

        <OBJECT type=″IEST-FORMAT″>

          <ID type=″MYID″>FDB-1</ID>

        </OBJECT>

      <METADATA>

        <SKU type=″PIDTYPE″>PID</SKU>

      </METADATA>

      <PRECONDITIONLIST>

        <TIME/>

      </PRECONDITIONLIST>

    </WORK>

    <AUTHDATA name=″Encrypted Rights data″>PAB...</AUTHDATA>

  </BODY>

  <SIGNATURE>

    <ALGORITHM>RSA PKCS#1-V1.5</ALGORITHM>

    <DIGEST>

      <ALGORITHM>SHA1</ALGORITHM>

      <PARAMETER name=″codingtype″>

        <VALUE encoding=″string″>surface-coding</VALUE>

      </PARAMETER>

      <VALUE encoding=″base64″size=″160″>Prc...=</VALUE>

    </DIGEST>

    <VALUE encoding=″base64″size=″1024″>EHd...=</VALUE>

  </SIGNATURE>

</XrML>

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号