CN101243469A - 从第一平台到第二平台的数字许可证迁移 - Google Patents
从第一平台到第二平台的数字许可证迁移 Download PDFInfo
- Publication number
- CN101243469A CN101243469A CNA200680030402XA CN200680030402A CN101243469A CN 101243469 A CN101243469 A CN 101243469A CN A200680030402X A CNA200680030402X A CN A200680030402XA CN 200680030402 A CN200680030402 A CN 200680030402A CN 101243469 A CN101243469 A CN 101243469A
- Authority
- CN
- China
- Prior art keywords
- platform
- migration
- licence
- source platform
- reflection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
数字许可证被从源平台迁移到目标平台。在源平台处,产生一迁移映像以在其中包括该许可证和响应数据,并且从该源平台删除该许可证。在目标平台处,向一集中式迁移服务请求将迁移映像中的许可证迁移到目标平台的许可。迁移服务基于预定迁移策略来确定是否准许许可证的迁移。在接收到作为来自迁移服务的响应的所请求的许可之后,通过将许可证与源平台解除绑定并将许可证重新绑定到目标平台来将迁移映像应用于目标平台。
Description
相关申请的交叉参考
本申请要求2005年8月22日提交的题为“DRM LICENSE MIGRATIONPROCESS FOR PROTECTED CONTENT(用于受保护内容的DRM许可证迁移过程)”的美国临时申请第60/710,185号的优先权。
技术领域
本申请涉及用于将数字许可证从第一计算平台迁移到第二计算平台的方法和服务。更具体而言,本发明涉及用于将许可证与第一平台解除绑定(untie)并将该许可证重新绑定到第二平台、以及用于确保该许可证在被迁移到第二平台之后不能在第一平台处使用的这一方法和服务。
发明背景
权限管理和实施对于诸如数字演示、数字音频和/或视频作品、数字应用程序等数字内容是高度需要的,其中这种数字内容将要被分发到一个或多个用户。典型的分发模式包括诸如磁盘(软盘)、磁带、光盘(紧致盘)(CD)等有形设备,以及诸如电子公告板、电子网络、因特网等无形媒体。在由计算设备上的用户接收之后,该用户可在计算设备上的适当操作系统的帮助下呈现该内容。
通常,内容的作者和/或发布者希望将该内容分发到多个用户或接收者中的每一个以交换许可证费用或某一其它考虑事项。这一作者/发布者或其它类似的实体(以下称为“发布者”)在给予选择的情况下可能希望限制每一用户可以对这一所发布的内容能够做的事情。例如,发布者可能希望至少以对发布者拒绝来自第二用户的许可证费用的方式限制用户复制该内容并将其再分发到这一第二用户。
然而,在进行发布之后,该发布者即使有也只有极少的对内容的任何真实控制。鉴于实际上每一个人计算机都包括制作这一内容的精确数字副本以及将精确的数字副本下载到可写磁盘或光盘上或将这一精确的数字副本通过诸如因特网等网络复制到任何目的地所需的软件和硬件的事实,这尤其是成问题的。
当然,作为分发内容的交易的一部分,发布者可能要求内容的用户/接收者承诺不以不受欢迎的方式再分发该内容。然而,这一承诺是很容易作出又很容易违背的。发布者可能试图通过若干已知的安全设备中的任一种来防止这种再分发,这通常涉及加密和解密。然而,适度决定的用户解密经加密的内容、将该内容以未加密形式保存、然后再分发该内容是相对简单的方式。
先前提供了权限管理(RM)和实施体系结构和方法以允许对任意形式的数字内容的受控操作,其中该控制是灵活的,且是由该内容的发布者定义的。通常,提供以数字许可证来操作内容,其中该内容在没有该许可证的情况下不能以有意义的方式来启动。例如,情况可以是内容的至少一部分被加密,并且许可证包括用于解密该加密部分的解密密钥。另外,情况可以是许可证被绑定到用户、计算设备、计算设备上的操作系统、或其某一组合(以下称为“平台”),并且这一计算设备包括确保遵守许可证条款的安全特征。值得注意的是,通过绑定到特定平台,许可证不能被用于在任何其它平台上呈现相应的内容。
这一数字许可证通常包括管控相应内容在计算设备上的使用的一组权限和条件。由此,每一许可证陈述了授予对指定功能的特定权限的策略。因此,采用数字许可证,发布者可通过提供对应于不同权限的不同许可证来向用户提供关于一段内容的不同权限。例如,发布者可能希望以较高的价格提供全特征许可证,并以较低的价格提供受限特征许可证。
在将许可证绑定到特定平台的情况下,这一绑定可以通过若干特征中的任一种来实现。作为一个示例,情况可以是每一平台具有一相应的ID,许可证中包括平台ID,并且除非确认平台的ID匹配许可证中的平台ID,否则许可证不能用于在该特定平台上呈现相应内容。作为另一示例,情况可以是必须从许可证获得的信息,例如用于解密相应的加密内容的内容密钥本身根据仅可从特定平台获得的密钥来加密。再一次,在任一示例中,通过绑定到特定平台,许可证不能用于在任何其它平台上呈现相应内容。
如可以理解的,尽管一个或多个许可证可被绑定到一特定平台,但是可以存在这一许可证的用户为何应能够将许可证转移或“迁移”到另一平台的有效和/或合理的理由。作为一个示例,该理由可以是平台包括用户的第一计算机,并且用户希望将许可证所含的呈现权限证书从第一计算机迁移到第二计算机。作为另一示例,该理由可以是该平台包括在用户的第一计算机上的第一操作系统并且用户希望将许可证所含的呈现权限证书从第一操作系统迁移到计算机上的第二操作系统。在任一情况下,假定发布每一许可证的发布者不会受到这一许可证从一个平台迁移到另一平台的不利影响,并且花费一定量的代价来获取每一许可证的用户不会仅仅因为平台的改变而遭受到这一许可证的实质损失。
然而,可以理解,允许将许可证从一个平台迁移到另一平台必须以确保用户不能滥用将该许可证从第一平台迁移到第二平台的能力的方式来完成。具体地,该用户必须不被允许将许可证复制到第二平台以及可能的其它平台。即,用户在将许可证从第一平台迁移到第二平台时,应当在每次迁移后将许可证仅绑定到该第二平台,而不将其绑定到第一平台或任何其它平台。
因此,需要一种将数字许可证从可用于在第一计算平台上呈现一段相应内容迁移到可用于在第二计算平台上呈现该段内容的方法和机制。更具体而言,需要一种可将许可证与第一平台解除绑定并重新绑定到第二平台,并确保该许可证在被迁移到第二平台之后不能在第一平台或任何其它平台处使用的方法和机制。
发明概述
上述需求至少部分地由本发明来满足,在本发明中,提供了一种关于绑定到源平台的数字许可证的方法,其中该数字许可证允许相应数字内容由该源平台来呈现。该内容被加密且可基于一解密密钥(KD)来解密,并且该许可证通过在其中包括根据源平台的密码密钥来加密且可解密的(KD)而被绑定到源平台,由此正常地仅源平台能够揭示(KD)。该方法将许可证从源平台迁移到目标平台。
在源平台处,产生一迁移映像,以在其中包括该许可证和相应的数据,并且从这一源平台中删除该许可证和源平台的密码密钥。由此,在源平台处替换所删除的许可证将不允许在源平台处呈现相应的内容,因为源平台的密码密钥将不可用于访问来自这一替换的许可证的(KD)。
在目标平台处,读取所产生的迁移映像,并向对于该目标平台远程的集中式迁移服务请求许可以将该迁移映像中的许可证迁移到目标平台。该迁移服务基于预定迁移策略来确定是否允许许可证迁移。在从迁移服务接收到作为响应的所请求的许可之后,将该迁移映像应用于目标平台。具体地,该响应包括可由目标平台访问形式的源平台的密码密钥,并且目标平台用源平台的密码密钥将许可证与源平台解除绑定以揭示(KD)、通过在许可证中包括根据目标平台的密码密钥来加密且可解密的(KD)将解除绑定的许可证重新绑定到目标平台、在目标平台处储存重新绑定的许可证、并在目标平台处储存相应的数据。
附图简述
当结合附图阅读时可以更好地理解以上概述以及以下本发明实施例的详细描述。出于图示本发明的目的,附图中示出了当前较佳的实施例。然而,应当理解,本发明不限于所示的精确排列和手段。附图中:
图1是表示其中可实现本发明的示例性非限制计算环境的框图;
图2是表示具有其中可实现本发明的各种计算设备的示例性网络环境的框图;
图3是示出根据本发明的一个实施例的包括数字许可证的基于信任的系统的一个示例的实施体系结构的框图;
图4是示出根据本发明的一个实施例的源平台、目标平台、以及用于确定是否允许将源平台处的许可证迁移到目标平台的迁移服务的框图;
图5是示出根据本发明的一个实施例在创建具有许可证的迁移映像时在图4的源平台处执行的关键步骤的流程图;以及
图6是示出根据本发明的一个实施的在消费具有许可证的迁移映像时在图4的目标平台处执行的关键步骤的流程图。
发明详述
计算机环境
图1及以下讨论旨在提供对其中可实现本发明的合适的计算环境的简要概括描述。然而,应当理解,构想了所有种类的手持式、便携式和其它计算设备来结合本发明使用。尽管以下描述了通用计算机,但是这仅是一个示例,并且本发明只需具有网络服务器互操作性和交互的瘦客户机。由此,本发明可在其中蕴含了极少或最小客户机资源的联网的主存服务的环境,例如其中客户机设备仅用作浏览器或到万维网的接口的联网环境中实现。
尽管并非所需,但本发明可经由开发者使用的,和/或包括在网络浏览软件中的应用程序编程接口(API)来实现,该网络浏览软件将在诸如程序模块等由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可如各个实施例中所需地组合或分布。此外,本领域的技术人员可以理解,本发明可以用其它计算机系统配置来实施。适用于本发明的其它众所周知的计算系统、环境和/或配置包括但不限于,个人计算机(PC)、自动提款机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络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、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,它通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141,对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
上文讨论并在图1中示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线121的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。
监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。诸如北桥(Northbridge)等图形接口182也可连接到系统总线121。北桥是与CPU或主机处理单元120通信的芯片组,并承担了加速图形端口(AGP)通信的责任。一个或多个图形处理单元(GPU)184可以与图形接口182通信。在这一点上,GPU 184一般包括诸如寄存器存储等片上存储器存储,并且GPU 184与视频存储器186通信。然而,GPU 184仅是协处理器的一个示例,且因此计算机110中可包括各种协处理设备。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121,而视频接口190又与视频存储器186通信。除监视器191之外,计算机也可包括其它外围输出设备,如扬声器197和打印机196,它们通过输出外围接口195连接。
计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于计算机110所描述的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
本领域的普通技术人员可以理解,计算机110或其它客户机设备可作为计算机网络的一部分来部署。在这一点上,本发明涉及具有任意数量的存储器或存储单元以及在任意数量的存储单元或卷上发生的任意数量的应用程序和进程的任何计算机系统。本发明可应用于具有部署在具有远程或本地存储的网络环境中的服务器计算机和客户机计算机的环境。本发明也可应用于具有编程语言功能、解释和执行能力的独立计算设备。
分布式计算便于通过计算设备和系统之间的直接交换共享计算机资源和服务。这些资源和服务包括信息交换、高速缓存存储和文件的盘存储。分布式计算利用了网络连接,从而允许客户机充分利用其集体能力来有益于整个企业。在这一点上,各种设备可具有可交互以蕴含用于可信图形流水线的本发明的认证技术的应用程序、对象或资源。
图2提供了示例性网络化或分布式计算环境的示意图。分布式计算环境包括计算对象10a、10b等,以及计算对象或设备110a、110b、110c等。这些对象可包括程序、方法、数据存储、可编程逻辑等等。这些对象可包括诸如PDA、电视机、MP3播放器、电视机、个人计算机等的相同或不同设备的各部分。每一对象可通过通信网络14与另一对象通信。该网络本身可包括向图2的系统提供服务的其它计算对象和计算设备。根据本发明的一个方面,每一对象10或110可包含可以请求用于可信图形流水线的本发明的认证技术的应用程序。
可以理解,诸如110c等对象可以主存在另一计算设备10或110上。由此,尽管所描述的物理环境可以将连接的设备示为计算机,然而这一说明仅是示例性的,并且该物理环境可替换地被描绘或描述为包括诸如PDA、电视机、MP3播放器等各种数字设备,诸如接口、COM对象等的软件对象。
有各种支持分布式计算环境的系统、组件和网络配置。例如,计算系统可以通过有线或无线系统、局域网或广泛分布的网络连接在一起。当前,许多网络耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络。
在家庭网络环境中,有至少四个全异的网络传输媒体,其每一个可支持一种唯一的协议,这些媒体如电力线、数据(无线和有线)、语音(如,电话)和娱乐媒体。诸如电灯开关和电器设备等大多数家庭控制设备可使用电力线来连接。数据服务可通过宽带(如,DSL或电缆调制解调器)进入家庭,并可在家庭内使用无线(如,HomeRF或802.11B)或有线(如,家庭PNA、Cat5、甚至是电力线)连接来访问。语音话务可通过有线(如,Cat3)或无线(如,蜂窝电话)进入家庭,并可在家庭中使用Cat3连线来分布。娱乐媒体可通过卫星或电缆进入家庭,并通常在家庭中使用同轴电缆来分布。IEEE 1394和DVI也作为用于媒体设备群集的数字互联而浮现。可作为协议标准浮现的所有这些网络环境和其它环境可被互联来形成可通过因特网连接到外部世界的内联网。简言之,存在各种全异的源用于数据的存储和传输,并因此向前发展,计算设备需要在数据处理流水线的所有部分处保护内容的各种方法。
因特网通常指使用TCP/IP协议套件的网络和网关的集合,该协议在计算机联网领域中是公知的。TCP/IP是“传输控制协议/互联网协议”的缩写。因特网可被描述为由执行允许用户通过网络交互和共享信息的联网协议的计算机互连的地理上分布的远程计算机网络的系统。由于这类广泛分布的信息共享,诸如因特网等远程网络至今发展成一种开放式系统,开发者可对该开放式系统设计用于执行专用操作或服务的应用程序,在本质上没有限制。
由此,网络基础结构启用了诸如客户机/服务器、对等或混合体系结构等大量网络拓朴结构。“客户机”是使用它所不相关的另一类或组的服务的类或组的成员。由此,在计算时,客户机是进程,即,粗略地而言是一组请求由另一程序提供的服务的指令或任务。客户机进程使用所请求的服务,而无需“知道”关于其它程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其是网络化系统中,客户机通常是访问由另一计算机,如服务器提供的共享网络资源的计算机。在图2的示例中,计算机110a、110b等可以被认为是客户机,而计算机10a、10b等可以被认为是服务器,其中服务器10a、10b等维护随后在客户机计算机110a、110b等中复制的数据。
服务器通常是可通过远程网络,如因特网访问的远程计算机系统。客户机进程可以在第一计算机系统中为活动,而服务器进程可以在第二计算机系统中活动,它们通过通信介质彼此通信,由此提供了分布式功能并允许多个客户机利用服务器的信息收集能力。
客户机和服务器可使用由协议层提供的功能彼此通信。例如,超文本传输协议(HTTP)是一种结合万维网(WWW)使用的常见协议。通常,计算机网络地址,如统一资源定位符(URL)或互联网协议(IP)地址,可用于彼此标识服务器或客户机计算机。网络地址可被称为统一资源定位符地址。例如,通信可在通信介质上提供。具体地,客户机和服务器可经由TCP/IP连接彼此耦合以进行高性能通信。
由此,图2示出了其中可采用本发明的具有通过网络/总线与客户机计算机通信的服务器的示例性网络化或分布式环境。更详细地,根据本发明,多个服务器10a、10b等经由通信网络/总线14互连,通信网络/总线14可以是LAN、WAN、内联网、因特网等,它具有多个客户机或远程计算设备110a、110b、110c、110d、110e等,如便携式计算机、手持式计算机、瘦客户机、联网设备或其它设备,如VCR、TV、烤箱、灯、加热器等等。由此,构想本发明可应用于任何计算设备,期望结合这些设备来处理、储存或呈现来自可信源的安全内容。
例如,在其中通信网络/总线14是因特网的网络环境中,服务器10可以是客户机110a、110b、110c、110d、110e等通过诸如HTTP等多种已知协议中的任一种与其通信的web服务器。服务器10也可用作客户机110,这可以是分布式计算环境的特征。通信可以在适当时是有线或无线的。客户机设备110可以通过或不通过通信网络/总线14通信,并可具有与其相关联的独立通信。例如,在TV或VCR的情况下,可以有或没有其控制的网络化方面。每一客户机计算机110以及服务器计算机10可以具备各种应用程序模块或对象135,并具有对各种类型的存储元件或对象的连接或访问,在这些存储元件或对象上可储存文件,或者可向其下载或迁移文件的各部分。由此,本发明可以用于具有可访问计算机网络/总线14或与其交互的客户机110a、110b等,以及可与客户机计算机110a、110b等交互的服务器计算机10a、10b等,以及其它类似的设备111和数据库20的计算机网络环境中。
权限管理(RM)综述
如已知的,并且现在参考图3,权限管理(RM)和实施对于要分发给用户的数字内容32而言是高度需要的。在用户接收到之后,该用户在适当计算设备34等的帮助下呈现内容32。
通常,分发这一数字内容32的内容32的作者或发布者(以下称为“发布者44”)希望限制用户可对该分发的内容32能做的动作。例如,发布者44可能希望限制用户将这一内容32复制和再分发到第二用户,或可能希望允许所分发的内容32仅被呈现有限次数、或仅呈现特定的总时间、仅在特定类型的计算设备34上呈现、仅在计算设备上的特定类型的呈现应用程序上启动、仅由特定类型的用户呈现等等。
然而,在发生了分发之后,该发布者44对内容32即使有,也只有极小的控制。因此,RM系统30允许对一段内容32的受控呈现,其中这一控制是灵活的,并且可由该内容32的发布者44定义。通常,内容32以包33的形式通过任何适当的分发渠道被分发给用户。所分发的包33通常包括用对称加密/解密密钥(KD)加密的内容32或其一部分(即,(KD(内容32))),以及标识内容32、如何获取用于该内容32的许可证等的其它信息。
基于信任的RM系统30允许内容32或另一内容的发布者44指定在允许该内容32在计算设备34上呈现之前必须满足的规则。这一许可证规则例如可包括上述时间要求和/或次数要求等等,并且还可陈述用户对于内容32所具有的权限,诸如打印或复制的能力和/或使用内容32的特定特征的能力等等。无论如何,这些规则可被包含在用户/用户的计算设备34(这些术语可互换使用,除非环境有另外的要求)必须从发布者44或诸如许可证发放者46等其代理获得的数字许可证或使用文档(以下称为“许可证36”)中。这一许可证36还包括用于解密内容32的已加密部分的解密密钥(KD),该部分通常根据可由用户的计算设备34解密的密钥来加密。如可从图3中见到的,这一加密密钥可以是用户的、用户的计算设备34的、计算机设备34的操作系统的、计算机设备34的安全系统的公钥等的公钥(PU-_)。假定用户的计算设备34或其上实例化的元件能够访问可用于解密(PU-_(KD))的相应私钥(PR-_)。
内容32的发布者44必须信任用户的计算设备34将遵守由该发布者44在许可证36中指定的规则。即,该发布者44必须信任,除非满足了许可证36中的规则,否则内容32不会被呈现,并且仅准许用户采用规则中所述的权限。因此,较佳的是,向用户的计算设备34提供一可信组件或机制38,它除了根据与内容32相关联的并由用户获得的许可证36中所包含的许可证规则之外,不会呈现内容32。
可信组件38通常具有许可证评估器40,它确定许可证36是否有效,审阅该有效许可证36中的许可证规则,并基于所审阅的许可证规则来确定作出请求的用户是否具有以所寻求的方式呈现相应的内容32的权限等。应当理解,许可证评估器40在RM系统30中是可信的,以根据许可证36中的规则来实现内容32的发布者44的愿望,并且用户不应能够出于不论是恶意还是其它的任何目的来轻易地更改这些可信元件。
应当理解,许可证36中的规则可基于若干因素中的任一个来指定用户是否具有呈现内容32的权限,这些因素包括用户是谁、用户在何处、用户使用什么类型的计算设备34、什么操作系统正在调用RM系统30、日期、时间等。另外,许可证36的规则可将许可证36限于例如预定次数的呈现、或预定的操作时间。由此,可信组件38可能需要参考计算设备34上的时钟42。
规则可根据任何适当的语言和句法在许可证36中指定。例如,语言可以简单地指定必须满足的属性和值(例如,DATE(日期)必须晚于X),或可要求根据指定脚本的函数执行(例如,IF DATE大于X,THEN DO...)。
在许可证评估器40确定许可证36有效并且用户满足其中的规则之后,可呈现内容32或其相关部分。具体地,为呈现内容32,可信组件38或另一实体从适当的位置获得私钥(PR-_)并将其应用于来自许可证36的(PU-_(KD))以得到实际的解密密钥(KD),并将从许可证36获得的解密密钥(KD)应用于来自包33的(KD(内容32))以得到实际内容32。然后实际上以许可证36中所述的方式由计算设备14上的适当呈现应用程序(未示出)来呈现该实际内容32。
将许可证36绑定到平台
如上所述,具有(PU-_(KD))的许可证36实际上授权可信组件38或拥有(PR-_)的其它实体访问(KD)并由此访问根据该(KD)加密的内容32,当然要假定该实体遵守许可证36中所陈述的所有条件。因此,应当理解,因为(PR-_)是私钥且因此被紧密绑定到其所有者并由其保密,因此该(PR-_)实际上将其中具有(PU-_(KD))的许可证36绑定到该所有者。换言之,由于许可证包含(PU-_(KD)),因此仅相应的(PR-_)的所有者可访问该许可证36中的解密密钥(KD)。
由此,(PR-_)的所有者可以是可信组件38,在这一情况下,这一可信组件38本身被紧密绑定到计算设备34和/或在计算设备34上实例化的操作系统和/或计算设备34所含的某一其它元件或元件集合。例如,这一绑定可通过在可信组件38内包括只能从计算设备34和/或操作系统38和/或类似物得到的平台ID,并通过要求可信组件38仅在从中可得到平台ID的平台50上操作来实现,其中平台50表示可信组件38所绑定到的计算设备34的元件集合。
从代表计算设备34的平台50的元件集合导出这一平台ID是相关公众已知或应当明白的,因此无需在此详细描述。例如,情况可以是平台ID是从自平台50获得的多个数字ID的串接的散列导出的平台ID,该平台50被定义为包括计算设备34的各种元件,包括其一个或多个硬件元件、其操作系统48、其它软件元件等。因此,任何适当的导出的平台ID可用于表示平台50而不背离本发明的精神和范围。
作为扩展,可采用计算设备34的任何适当的元件集合来定义平台50而不背离本发明的精神和范围。通常,这一元件集合包括计算设备34的更主导元件,包括操作系统48和主存储设备,它可以是硬盘驱动器或其它设备。
因此,概括而言,许可证36可通过在其中具有(PU-_(KD))而被绑定到计算设备34的可信组件38,(PU-_(KD))只能由作为相应(PR-_)的所有者的可信组件38来解密。同样,可信组件38可通过在其中具有只能从平台50导出的平台ID而被绑定到计算设备34中所含的平台50。由此,作为总结,许可证36可通过这一可信组件38被绑定到这一平台40。
当然,许可证36可用任何其它适当的方式绑定到这一平台50而不背离本发明的精神和范围。仅作为一个示例,许可证36可通过在其中具有平台ID(未示出)而被直接绑定到平台50。同样,许可证36可通过在其中具有计算设备34的某一元件的数字ID而被直接绑定到计算设备34的这一元件。
将许可证36从第一平台迁移到第二平台
如上所述,许可证36通常被绑定到特定平台50,因此可用于仅在这一特定平台上呈现相应的内容32。因此,仅仅将许可证36从第一平台50移至第二平台50本身不会允许在第二平台50上呈现相应的内容32。因此,本发明提供了一种不仅仅移出许可证36,而是代之以从第一平台50“迁移”到第二平台50的方法和机制,由此在迁移期间,该许可证36与第一平台50解除绑定,并被重新绑定到第二平台50。如此,如现在应当理解的,“迁移的”许可证36可用于在第二平台50上呈现相应的内容32。
重要的是,许可证36应当是出于合法目的而被迁移的,诸如当用户希望将许可证36中所含的呈现权限从第一计算设备34移至第二计算设备36,或从计算设备34上的第一操作系统48移至计算设备34上的第二操作系统48的时候。在任一情况下,假定发放许可证36的发布者44不会受到这一许可证36的迁移的不利映像,并且花费了一定量的代价来获取许可证36的用户不会仅仅因为平台50的改变而遭受这一许可证36的实质性损失。
在本发明中,采用预定迁移策略来确定第一平台50上的一个或多个许可证是否可被迁移到第二平台50。尽管这一策略当然可以是任何适当的策略而不背离本发明的精神和范围,但是仍假定这一策略代表了发放每一许可证36的发布者44与获得许可证的用户的利益之间的平衡。以下是策略情形的若干示例:
-例如当用户获得了一台计算机并正丢弃另一台计算机的时候允许用户将许可证36从第一计算设备34迁移到第二计算设备34;
-当计算设备34上的第二操作系统48替代了同一计算设备34上的第一操作系统48时允许用户将许可证36从第一操作系统48迁移到第二操作系统48;
-当计算设备34上的第二操作系统48是对同一计算设备34上的第一操作系统48的附加的时候允许用户将许可证36从第一操作系统48迁移到第二操作系统48;
-在用户将许可证36从第一计算设备34迁移到第二计算设备34之后,用户可将许可证36从第三计算设备34迁移到第二计算设备34,但是仅在过了12个月之后才可以;
-在用户将许可证36从第一计算设备34迁移到第二计算设备34之后,用户不能将许可证36从第二计算设备34迁移回第一计算设备34;以及
-在用户将许可证36从第一计算设备34迁移到第二计算设备34之后,用户可将许可证36从第二计算设备34迁移回第一计算设备34,但是仅当用户特别地请求并在提供适当的理由之后获得了这样做的许可的时候才可以,其中许可仅在适当地检查了该理由以及关于用户的其它相关事实之后才授予。
因此,在本发明中,现在转向图4,提供了一种通过将许可证36与第一平台50解除绑定并将许可证36重新绑定到第二平台50来安全地实现许可证36从第一平台50到第二平台50的迁移的迁移服务52。同样,现在转向图5和6,本发明提供了一种用于在第一和第二平台50之间建立信任以安全地实现这种迁移和解除绑定/重新绑定。重要的是,采用本发明,已迁移的许可证36被绑定到第二平台50,并且因此只能用于在第二平台50上呈现相应的内容32。因此,这一许可证36不再被绑定到第一平台50,且由此不能用于在第一平台50上呈现相应的内容32。
许可证36作为已签署迁移映像54(图4)的一部分从第一平台50迁移到第二平台。如可以理解的,这一迁移可以通过本地网络连接、远程网络连接或诸如便携式存储盘、如插件式驱动器的便携式驱动器或其它便携式介质等转移的存储介质来进行。第一“源”平台50创建具有许可证36的迁移映像54。这一迁移映像54仅在目标平台50连系了迁移服务52以获得批准之后才被应用于第二“目标”平台50。迁移服务52因此维护用于跟踪迁移的许可证36的数据库56,并且特别地允许这一迁移仅根据预定的迁移策略进行。由此,迁移服务52特别地最小化了试图将许可证36复制到一个或多个平台50而非将其从源平台50迁移到目标平台50的任何恶意用户进行的欺诈犯罪。
本发明基于通过用作平台50之间的桥梁的迁移服务52来建立从源平台50到目标平台50的信任。由此,在迁移过程中,检查源平台50处的RM信息,且如果适用,则收集该RM信息并将其包装到迁移映像54中,包括要迁移的每一许可证36以及与每一许可证有关的相关信息(包括状态信息)。在目标平台50处,同样检查RM信息,并且如果适用则应用迁移映像54来完成迁移,但是仅在迁移服务52授权这一应用时才可以。注意,迁移过程不要求源和目标平台连接。并且还要注意,迁移映像54可以是自签署的,并且可以以任意的方式来储存和传送。最后,注意尽管迁移服务52由目标平台50连系以获得完成迁移的授权,但是该迁移服务52不必由源平台50连系来获得创建迁移映像54的授权。
如可从图4中见到的,在本发明的一个实施例中,源平台50和目标平台50都具有用于完成迁移过程的迁移引擎58。一般而言,源平台50处的迁移引擎58执行产生迁移映像54所需的动作,而目标平台50处的迁移引擎58执行通过将许可证36和其中的其它数据写入适当位置来消费所产生的迁移映像54所需的动作。然而,可以理解,该迁移引擎58执行其它动作,如将在以下更详细陈述的。因此,由源平台50处的迁移引擎58执行的动作可能实质上不同于由目标平台50处的迁移引擎58执行的动作。因此,该迁移引擎58可以彼此不同。然而,该迁移引擎58如果不是不同的也可以基本上类似,如图4所示,例如如果这样做更为方便。
每一迁移引擎58可包括允许用户访问并与其交互的用户界面60。因此,在源平台50处,界面60向用户提供指令并从其收集信息以定义并收集产生迁移映像54所需的所有数据和设置。同样,在目标平台50处,界面60向用户提供指令并从其收集任何必需的信息以消费所产生的迁移映像54。
源平台50处的迁移引擎58具有迁移读取器62。如可以理解的,该读取器62被设计成处理源平台50处的特定数据收集任务,并包括由迁移引擎58在从源平台50处的存储等读取许可证36和其它数据到相应的迁移映像54的过程中调用的接口和其它功能。注意,该迁移映像54因此代表了来自源平台50的将源平台50处的RM环境迁移到目标平台50所需的所有信息。还要注意,该迁移映像54可替换地用于在这一RM环境出于某种原因实际上不能被迁移到目标平台50的情况下在源平台处重新创建RM环境。
类似地,目标平台50处的迁移引擎58具有迁移写入器64。如此处可理解的,该写入器62被设计成处理目标平台50处的特定数据应用任务,并包括由迁移引擎58在将来自源平台50处创建的迁移映像54的许可证36和其它数据写入目标平台50处的存储等的过程中调用的接口和其它功能。注意,与许可证36一起读取/写入的其它数据可包括所有适当的RM数据而不背离本发明的精神和范围,诸如撤消列表、许可证状态数据、硬件ID数据、机器ID数据等。还要注意,每一存储可表示所有这些数据驻留其中的单个经组织的存储区域或可包括多个这样的存储区域,并且每一存储区域可以本质上是物理的,诸如特定的存储器设备,或本质上是概念性的,诸如可物理上存在于一个或多个特定存储器设备上的若干部件中的定义元件。
现在特别地参考图5和6,在本发明的一个实施例中,示出了一种用于将一个或多个许可证36从源平台50迁移到目标平台50的方法。如可理解的,图5示出了该方法的第一部分,其最终结果是产生迁移映像54,而图6示出了该方法的第二部分,其最终结果是消费迁移映像54以便实际上得到从源平台50迁移到目的地平台50的许可证36。
最初,如可在图5中见到的,从源平台50的迁移和迁移映像54的创建在这一源平台50处的用户等的命令下启动(步骤501),之后在该源平台50处实例化迁移引擎58(步骤503)。特别地,在可在源平台50和目标平台50两者上采用迁移引擎58的情况下,如步骤503处的源平台处的实例化可包括用户标识或被提示来标识迁移引擎58要在源平台50处使用。一旦被标识在在源平台50处使用,则迁移引擎58通过标识源平台50处的许可证36来继续。
特别地,迁移引擎58通过其迁移读取器62来定位源平台50处的可信组件38,并向所定位的可信组件38查询源平台50处的每一许可证36的标识(步骤505)。这一查询是相关公众已知或应当明白的,并且可用任何适当的方式来执行而不背离本发明的精神和范围。例如,可信组件38可包括允许其发现每一许可证36(包括其标识和位置)的功能,并且迁移引擎58的迁移读取器62可直接调用这一功能或者可通过该可信组件38来间接调用该功能。
无论如何,在接收到源平台50处的每一许可证36的标识之后,迁移引擎58可通过用户界面50向用户呈现每一如此标识的许可证36,并通过该用户界面60从该用户接收对要迁移的所标识的许可证36的选择(步骤507)。或者,迁移引擎58可要求用户迁移所有如此标识的许可证36,在这一情况下,如步骤507处的选择可被省略。注意,用户对要从源平台50迁移的许可证36的选择可被省略以简化事项,尤其简化跟踪数据库56内的跟踪迁移。具体地,如果允许选择,则数据库56可能必须跟踪源平台50处的每一许可证36。相反,如果不允许选择,则数据库56可能只需跟踪源平台50本身。
在标识并可能选择了源平台50处的要迁移的每一许可证36之后,迁移引擎58然后可通过用户界面60提示用户选择保存将基于要迁移的许可证36产生的迁移映像54的位置,并且迁移引擎58然后接收这一保存位置(步骤509)。如可以理解的,这一位置可以是便携式介质、源平台50处的本地介质、远离源平台50的远程介质等。取决于所选择的介质,用户然后打算将迁移映像54物理地带到目标平台50、通过适当的通信介质将迁移映像54电子地发送到目标平台50、或在目标平台50处电子地检索迁移映像54。
无论如何,迁移引擎58都通过基于要与其一起包括的许可证36来产生迁移映像54,并将所产生的迁移映像54储存在所选的位置处。具体地,迁移引擎58的迁移读取器62或者直接地或者通过可信组件38间接地收集要包括的每一许可证36以及相应的数据,并将许可证36和相应的数据置于迁移映像54中(步骤511)。注意,如此做,迁移引擎58可在所选位置或在临时位置处创建迁移映像54,并且如果是在临时位置处创建的,则迁移映像54在完成时将在所选位置处储存所创建的迁移映像54(步骤513)。在任一情况下,在所选位置处创建并储存了迁移映像54之后,迁移引擎58可通过其界面60来通知用户,迁移映像54确实已被创建并储存在所选位置处(步骤517),之后可终止迁移引擎58。
迁移读取器62置于迁移映像54中的相应数据可包括专用于迁移映像54中的每一许可证36的数据,以及专用于源平台50的数据,并且可以是任何适当的数据而不背离本发明的精神和范围。在本发明的一个实施例中,迁移映像54中的这一相应的数据对每一许可证36包括如在适当的状态存储等中维护的与许可证36有关的所有状态信息。另外,迁移映像54中的这一相应数据对源平台50包括其平台ID等、与该源平台50有关的硬件信息、与该源平台50有关的软件信息、与源平台50的操作系统48有关的操作系统信息等。
值得注意的是,迁移映像54中的相应数据也应包括将每一许可证36与源平台50解除绑定以使许可证36可被重新绑定到目标平台50所需的密码密钥,该密码密钥可能是密钥文件等的形式。如将在以下更详细陈述的,这一解除绑定和重新绑定是由目标平台50处的迁移引擎58在从迁移服务52接收到这样做的许可后执行的。迁移映像54中的密码密钥应当以可由迁移服务52或由代表迁移服务52的实体解密的方式来加密。例如,迁移映像54中的密码密钥应被加密成可由诸如备份与恢复服务等实际上解密这一加密的密码密钥所需的集中式服务解密,并且迁移服务52可以与该备份与恢复服务等联系以采用其服务来实际上在适当的时刻解密经加密的密码密钥。将密码密钥加密成可由任何特定服务解密是相关公众已知或应当明白的,并且因此无需在此特别详细陈述。这一密码密钥当然可被加密成可由迁移服务52或代表迁移服务52以不背离本发明的精神和范围的任何适当方式来解密。
注意,迁移引擎58可以任何特定形式创建迁移映像54而不背离本发明的精神和范围。例如,迁移映像54可被创建为包含每一许可证36作为文件并可能包含用于所包含的所有许可证36的相应数据作为另一文件的文件夹,或包含每一许可证36以及相应数据作为其中的适当位置处的节点的分层树结构。
还要注意,所创建的迁移映像54可包括基于该映像54或其一部分的数字签名或散列。如可以理解的,这一签名或散列可由目标平台50和/或迁移服务52为验证该迁移映像54未被更改的目的而采用。这一签名或散列也可至少隐含地用作来自源平台50处的迁移引擎58的、对迁移映像54是作为许可证36从该源平台50的迁移的一部分正确创建的断言。
还要注意,如果没有强制加密迁移映像54的至少某些部分,则高度建议这样做以避免不恰当的实体浏览该部分。特别地,如上所述,因为迁移映像54可能包括目标平台50要用于将其中的每一许可证36与源平台50解除绑定的一个或多个密码密钥,因此这些密钥应当以使得仅目标平台50能访问、并且仅在迁移服务52提供了这样做的许可之后才能访问的形式来加密。当然,迁移映像54的其它部分也可被加密而不背离本发明的精神和范围。
在本发明的一个实施例中,如可以理解的,作为执行图5的任务的一部分,源平台50处的迁移引擎58在成功创建了具有来自源平台50的具有许可证36的迁移映像54之后,必须从源平台50的许可证存储等中删除该许可证36(步骤515)。然而,注意,恶意实体可能希望通过将该许可证36从许可证存储中复制出来并在迁移引擎58删除该许可证之后替换许可证存储中的这一许可证36来避免丢失源平台50处的该许可证36。为对抗这一威胁,在本发明的一个实施例中,迁移引擎58实际上还通过删除其密钥并为其提供替换密钥来重置源平台50处的可信组件38。由此,即使恶意实体试图替换删除的许可证36,可信组件38也没有办法来访问其中的解密密钥。
之后,现在参考图6,用户可使得所创建的迁移映像54以适当的方式从源平台50处的所选位置传输并储存在目标平台50处的所选位置(步骤601)。具体地,取决于源平台50处所选位置的类型,并如上所述,用户可物理地将迁移映像54带到目标平台50、通过适当的通信介质将迁移映像54电子地发送到目标平台50、或在目标平台50处电子地检索迁移映像54。在任何情况下,一旦到达目标平台50,迁移映像54就以适当的方式被适当地储存在该目标平台50处的所选位置上。
注意,在至少某些情况下,源平台50处的所选位置和目标平台50处的所选位置可以是一个且相同的位置。这在平台50在同一计算设备34上,例如当将计算设备34上的操作系统48升级到较新的版本时尤其如此。在如以下更详细所述地迁移服务52不允许迁移,之后用户可将许可证36从迁移映像54移回源平台50(实际上是目标平台50)的特殊情况下也是如此。如果源平台50处的所选位置和目标平台50处的所选位置实际上是一个且相同的位置,则步骤601处的传输当然可被省略。
无论如何,从目标平台50处的迁移映像检索每一许可证36和相应数据是在目标平台50处的用户等的命令下启动的(步骤603),之后在该目标平台50处实例化迁移引擎58(步骤605)。特别地,在可在源平台50和目标平台50两者处采用迁移引擎58,并且类似于如上所述的情况下,步骤605处的目标平台50处的实例化可包括用户标识或被提示标识要在目标平台50处采用的迁移引擎58。一旦被标识为在目标平台50处采用,则迁移引擎58可通过标识目标平台50处的迁移映像54来继续。
具体地,如上所述,迁移引擎58可通过其用户界面60来提示用户标识目标平台50处储存迁移映像44的所选位置,并且迁移引擎58然后可接收该所选位置(步骤607)。之后,迁移引擎58将所选位置转发给其迁移写入器64,并且迁移写入器64读取储存在所选位置处的迁移映像54(步骤609)。
值得注意的是,迁移写入器64在读取了迁移映像54之后向迁移服务52请求许可以便实际上通过将迁移映像54中的许可证36写入目标平台50来继续(步骤611)。尽管该请求可包括任何适当的信息而不背离本发明的精神和范围,但是可以构想该请求应当至少包括如从迁移映像54获得的目标平台50的平台ID和源平台50的平台ID,并且如有必要可能包括关于源平台50和目标平台50的每一个处的操作系统48、软件和/或硬件的更多细节。
如应当理解的,迁移服务52然后基于预定策略来确定是否批准该请求、在数据库56中记录关于该请求和相应迁移的信息、并向作出请求的迁移写入器64返回适当的响应。如上所述,这一策略涉及对关于源平台50和目标平台50的具体细节的考虑,包括例如每一平台50的平台ID以及关于硬件、软件和/或操作系统48的细节。再一次,该策略可以是任何适当的策略而不背离本发明的精神和范围,但是应当代表发放每一许可证36的发布者44和用户的利益之间的平衡。
如记录在数据库56中的数据库56中的关于该请求和相应迁移的信息可以是任何适当的信息而不背离本发明的精神和范围。假定该信息是使得欺诈检测能发生的类型。具体地,该信息应当包括在迁移服务52接收到关于源平台50和/或目标平台50的进一步请求时作出策略决策所必需的任何数据。作为一个示例,如果请求被准许并且策略要求目标平台50仅被允许单次迁移,则记录在数据库56中的关于请求的信息应当大意是源平台50实际上已经被用作源平台50。由此,如果请求将源平台50标识为源平台,则对迁移的将来请求应当不被准许。
希望响应是肯定的,在这一情况下,迁移被准许。然而,该响应也可以是否定的,在这一情况下,迁移不被准许。在后一情况下,如上所述,用户可能希望将许可证36从迁移映像54移回源平台50(实际上是目标平台50)。如果是这样,则用户然后在作为目标平台50的源平台50处执行图6的步骤。
现在假定迁移写入器接收请求实际上被迁移服务52准许的响应(步骤613),则迁移写入器64通过定位目标平台50处的可信组件38并向所定位的可信组件38查询在目标平台50的何处储存每一许可证36的标识来继续(步骤615)。类似于上述内容,该查询是相关公众已知或应当明白的,并且可以用任何适当的方式来执行而不背离本发明的精神和范围。例如,可信组件38可包括允许其标识用于储存每一许可证36的许可证存储的功能,并且迁移引擎58的迁移写入器64可以直接或通过该可信组件38间接地调用该功能。
无论如何,在接收到目标平台50处用于储存每一许可证36的许可证存储等的标识之后,迁移写入器64向该目标平台50应用迁移映像36(步骤617)。具体地,迁移写入器64直接或通过可信组件38间接地检索迁移映像54中的每一许可证36和响应数据、将许可证36与源平台60解除绑定并将许可证重新绑定到目标平台50、将许可证36储存在目标平台50处所标识的许可证存储中、并将相应数据储存在适当位置中。在应用了迁移映像54之后,迁移引擎58然后可通过其界面60来通知用户,迁移映像54实际上已被应用于目标平台50(步骤619),之后迁移引擎58可被终止。
迁移写入器64可用任何适当的方式将许可证36与源平台60解除绑定并将许可证36重新绑定到目标平台50,而不背离本发明的精神和范围。例如,在本发明的一个实施例中,迁移写入器64按以下方式来做这一步。最初,记住迁移映像54包括将每一许可证36与源平台50解除绑定所需的密钥文件等形式的密码密钥,并且还要记住密钥文件形式的密码密钥是以可由迁移服务52或代表迁移服务52解密的方式来加密的,迁移写入器64在如步骤611处那样向迁移服务52请求许可时随该请求一起包括来自迁移映像54的密钥文件。由此,在迁移服务52批准该请求之后,该迁移服务52适当地解密该密钥文件中的密码密钥,并随对步骤613处的请求的肯定响应一起包括该密码密钥。
然而,注意,该密码密钥不应在未加密形式的响应中提供,而是应以可由迁移写入器64解密的形式来加密。因此,在本发明的一个实施例中,迁移写入器64和迁移服务52在请求过程中协作地建立一共享秘密,诸如可由迁移服务52用来加密密码密钥同时可由迁移写入器64用来解密该密钥的对称密钥。在本发明的另一实施例中,迁移写入器64在如步骤611处那样向迁移服务52请求许可时随该请求一起包括其公钥(PU-MW),迁移服务52用(PU-MW)加密密码密钥以得到(PU-MW(密码密钥)),并且迁移写入器64通过向(PU-MW(密码密钥))应用对应的私钥(PR-MW)以揭示密码密钥来解密该密码密钥。
如上所述,每一许可证36通过其中具有根据平台50的公钥(PU-_)加密以得到(PU-_(KD))的解密密钥(KD)而被绑定的特定平台50。由此,仅具有相应私钥(PR-_)的平台50能将该私钥应用于(PU-_(KD))来揭示(KD)。因此,对于每一许可证36,由迁移服务52提供的用于将许可证36与源平台50解除绑定的密码密钥是该源平台50的私钥(PR-SP),它对应于用于加密许可证36中的解密密钥(KD)以得到(PU-SP(KD))的该源平台50的公钥(PU-SP),注意,尽管该私钥(PR-SP)正常地是作为秘密由源平台50严密持有的,但是该(PR-SP)可能是作为迁移的一部分对可信组件38重置的可信组件38的私钥,如上所述。因此,该(PR-SP)无需被严密持有。无论如何,目标平台50(以及源平台50)处的迁移引擎58很可能是可信实体,并且因此被信任来正确处理该(PR-SP)。
即是说,如现在可以理解的,为使目标平台50处的迁移写入器64能够将每一许可证36与源平台50解除绑定,该迁移写入器64从许可证36中检索(PU-SP(KD))、检索迁移服务52响应于步骤613处的迁移请求而提供的(PR-SP)、并向(PU-SP(KD))应用(PR-SP)来揭示(KD)。之后,目标平台50处的迁移写入器64通过检索其公钥(PU-TP)、将该(PU-TP)应用于(KD)以产生(PU-TP(KD))、并将该(PU-TP(KD))置于许可证36中来将许可证36重新绑定到目标平台50。由此,仅具有相应私钥(PR-TP)的目标平台50可将其应用于(PU-TP(KD))来揭示(KD)。注意,通过更改许可证36,其任何数字签名将无法得到确认。因此,适当地规定迁移写入器64重新签署许可证36来产生实际上有效的新数字签名,并且适当地规定可信组件38在确认许可证36时参考该新的数字签名。这一重新签署和相关功能是相关公知已知且应当明白的,并且因此无需在此特别详细陈述。这一重新签署和相关功能因此可用任何适当的方式来执行而不背离本发明的精神和范围。
结论
实现关于本发明执行的过程所必需的程序设计是相对直接的且对于相关的程序设计公众应当是显而易见的。因此,这一程序设计无需附加于此。由此,可采用任何特定的程序设计来实现本发明而不背离其精神和范围。
在本发明中,提供了将数字许可证36从可用于在第一计算平台50上呈现相应一段内容32迁移到可用于在第二计算平台50上呈现该段内容32的方法和机制。许可证36被与第一平台50解除绑定并被重新绑定到第二平台50,并且许可证36在被迁移到第二平台50之后不能在第一平台50或任何其它平台50处使用。
应当理解,可以对以上所描述的实施例作出改变而不背离其发明概念。因此,应当理解,本发明不限于所公开的具体实施例,而是旨在覆盖落入如由所附权利要求书所定义的本发明的精神和范围之内的修改。
Claims (20)
1.一种关于被绑定到源平台的数字许可证的方法,所述数字许可证用于允许相应的数字内容由所述源平台呈现,所述内容是基于一解密密钥(KD)来加密且是可解密的,所述许可证通过在其中包括根据所述源平台的密码密钥来加密且可解密的(KD)而被绑定到所述源平台,由此仅所述源平台能正常地揭示(KD),所述用于将许可证从源平台迁移到目标平台的方法包括:
在所述源平台处:
产生一迁移映像以在其中包括所述许可证和相应数据;以及
从所述源平台删除所述许可证和所述源平台的密码密钥,由此在所述源平台处替换删除的许可证将不允许在所述源平台处呈现所述相应内容,因为所述源平台的密码密钥将不可用于访问来自所替换的许可证的(KD);在所述目标平台处:
读取所产生的迁移映像;
向对于所述目标平台远程的集中式迁移服务请求将所述迁移映像中的许可证迁移到所述目标平台的许可,所述迁移服务用于基于预定迁移策略来确定是否准许所述许可证的迁移;
接收作为来自所述迁移服务的响应的、所请求的许可,所述响应包括所述源平台的密码密钥;以及
通过以下步骤来基于所述响应将所述迁移映像应用于所述目标平台:用所述源平台的密码密钥将所述许可证与所述源平台解除绑定来揭示(KD)、通过在所述许可证中包括根据所述目标平台的密码密钥加密且可解密的(KD)而将所述解除绑定的许可证重新绑定到所述目标平台、将所述重新绑定的许可证储存在所述目标平台处、并将所述相应数据储存在所述目标平台处。
2.如权利要求1所述的方法,其特征在于,通过在所述许可证中包括根据所述源平台的公钥(PU-SP)加密的(KD)以得到(PU-SP(KD)),所述许可证被绑定到所述源平台,由此仅具有相应私钥(PR-SP)的所述源平台能够正常地将所述私钥应用于(PU-SP(KD))来揭示(KD),所述方法包括:
在所述源平台处:
从所述源平台中删除所述许可证和(PR-SP),由此在所述源平台处替换所删除的许可证将不允许在所述源平台处呈现所述相应内容,因为(PR-SP)将不可用于访问来自所述替换的许可证的(KD);
在所述目标平台处:
接收作为来自所述迁移服务的响应的所请求的许可,所述响应包括可由所述目标平台访问的形式的(PR-SP);以及
通过以下步骤来基于所述响应将所述迁移映像应用于所述目标平台:用(PR-SP)将所述许可证与所述源平台解除绑定来揭示(KD);通过在所述许可证中包括根据所述目标平台的公钥(PU-TP)加密且可解密的(KD)而将所述解除绑定的许可证重新绑定到所述目标平台以得到(PU-TP(KD)),由此仅具有相应私钥(PR-TP)的所述目标平台能正常地将所述私钥应用于(PU-TP(KD))以揭示(KD);将所述重新绑定的许可证储存在所述目标平台处;并将所述相应数据储存在所述目标平台处。
3.如权利要求1所述的方法,其特征在于,还包括在所述源平台处实例化一迁移引擎,所述迁移引擎用于在所述源平台处产生所述迁移映像。
4.如权利要求1所述的方法,其特征在于,还包括在所述目标平台处实例化一迁移引擎,所述迁移引擎用于在所述目标平台处应用所述迁移映像。
5.如权利要求1所述的方法,其特征在于,还包括允许所述源平台处的用户选择要被迁移到所述目标平台的许可证。
6.如权利要求1所述的方法,其特征在于,包括产生所述迁移映像以在其中包括所述许可证和相应数据,所述相应数据包括专用于所述许可证的数据和专用于所述源平台的数据,所述专用于许可证的数据包括如在所述源平台处的状态存储中维护的关于所述许可证的所有状态信息,所述专用于源平台的数据包括标识所述源平台的平台ID和关于所述源平台并标识所述源平台的特定硬件、软件和/或操作系统特征的平台信息。
7.如权利要求6所述的方法,其特征在于,包括向所述迁移服务请求迁移许可证的许可,所述请求具有请求数据,所述请求数据包括标识所述目标平台的平台ID;如从所述迁移映像获得的所述源平台的平台ID;关于所述目标平台并标识所述目标平台的特定硬件、软件和/或操作系统特征的平台信息;以及如从所述迁移映像获得的关于所述源平台的平台信息的至少一部分,由此所述迁移服务基于考虑到所述请求数据的预定迁移策略来确定是否准许所述许可证的迁移。
8.如权利要求1所述的方法,其特征在于,包括产生所述迁移映像以在其中包括所述许可证和相应数据,所述相应数据包括由所述迁移服务加密并可解密的所述源平台的密码密钥。
9.如权利要求8所述的方法,其特征在于,包括向所述迁移服务请求迁移所述许可证的许可,所述请求具有包括加密的所述源平台的密码密钥的请求数据;以及接收作为来自所述迁移服务的响应的所请求的许可,所述响应包括由所述目标平台加密且可解密的所述源平台的密码密钥。
10.如权利要求1所述的方法,其特征在于,包括产生所述迁移映像以包括基于所述迁移映像的至少一部分的数字签名和散列中的至少一个,由此所述迁移服务可采用所述签名或散列来验证所述迁移映像未被更改。
11.如权利要求1所述的方法,其特征在于,还包括将所述迁移映像保存到所述源平台处的所选位置、将所述迁移映像从所述源平台处的所选位置传输到所述目标平台处的所选位置、以及从所述目标平台处的所选位置检索所述迁移映像。
12.如权利要求1所述的方法,其特征在于,还包括所述目标平台重新签署所述重新绑定的许可证。
13.一种其上储存有计算机可执行指令的计算机可读介质,所述计算机可执行指令实现一种关于绑定到源平台的数字许可证的方法,所述数字许可证用于允许相应的数字内容由所述源平台呈现,所述内容是基于一解密密钥(KD)来加密且是可解密的,所述许可证通过在其中包括根据所述源平台的密码密钥来加密且可解密的(KD)而被绑定到所述源平台,由此仅所述源平台能正常地揭示(KD),所述用于将许可证从源平台迁移到目标平台的方法包括:
在所述源平台处:
产生一迁移映像以在其中包括所述许可证和相应数据;以及
从所述源平台删除所述许可证和所述源平台的密码密钥,由此在所述源平台处替换删除的许可证将不允许在所述源平台处呈现所述相应内容,因为所述源平台的密码密钥将不可用于访问来自所替换的许可证的(KD);
在所述目标平台处:
读取所产生的迁移映像;
向对于所述目标平台远程的集中式迁移服务请求将所述迁移映像中的许可证迁移到所述目标平台的许可,所述迁移服务用于基于预定迁移策略来确定是否准许所述许可证的迁移;
接收作为来自所述迁移服务的响应的、所请求的许可,所述响应包括可
由所述目标平台访问的形式的所述源平台的密码密钥;以及
通过以下步骤来基于所述响应将所述迁移映像应用于所述目标平台:用所述源平台的密码密钥将所述许可证与所述源平台解除绑定来揭示(KD)、通过在所述许可证中包括根据所述目标平台的密码密钥加密且可解密的(KD)而将所述解除绑定的许可证重新绑定到所述目标平台、将所述重新绑定的许可证储存在所述目标平台处、并将所述相应数据储存在所述目标平台处。
14.如权利要求13所述的介质,其特征在于,通过在所述许可证中包括根据所述源平台的公钥(PU-SP)加密的(KD)以得到(PU-SP(KD)),所述许可证被绑定到所述源平台,由此仅具有相应私钥(PR-SP)的所述源平台能够正常地将所述私钥应用于(PU-SP(KD))来揭示(KD),所述方法包括:
在所述源平台处:
从所述源平台中删除所述许可证和(PR-SP),由此在所述源平台处替换所删除的许可证将不允许在所述源平台处呈现所述相应内容,因为(PR-SP)将不可用于访问来自所述替换的许可证的(KD);
在所述目标平台处:
接收作为来自所述迁移服务的响应的所请求的许可,所述响应包括(PR-SP);以及
通过以下步骤来基于所述响应将所述迁移映像应用于所述目标平台:用(PR-SP)将所述许可证与所述源平台解除绑定来揭示(KD);通过在所述许可证中包括根据所述目标平台的公钥(PU-TP)加密且可解密的(KD)而将所述解除绑定的许可证重新绑定到所述目标平台以得到(PU-TP(KD)),由此仅具有相应私钥(PR-TP)的所述目标平台能正常地将所述私钥应用于(PU-TP(KD))以揭示(KD);将所述重新绑定的许可证储存在所述目标平台处;并将所述相应数据储存在所述目标平台处。
15.如权利要求13所述的介质,其特征在于,所述方法包括产生所述迁移映像以在其中包括所述许可证和相应数据,所述相应数据包括专用于所述许可证的数据和专用于所述源平台的数据,所述专用于许可证的数据包括如在所述源平台处的状态存储中维护的关于所述许可证的所有状态信息,所述专用于源平台的数据包括标识所述源平台的平台ID和关于所述源平台并标识所述源平台的特定硬件、软件和/或操作系统特征的平台信息。
16.如权利要求18所述的介质,其特征在于,所述方法包括向所述迁移服务请求迁移许可证的许可,所述请求具有请求数据,所述请求数据包括标识所述目标平台的平台ID;如从所述迁移映像获得的所述源平台的平台ID;关于所述目标平台并标识所述目标平台的特定硬件、软件和/或操作系统特征的平台信息;以及如从所述迁移映像获得的关于所述源平台的平台信息的至少一部分,由此所述迁移服务基于考虑到所述请求数据的预定迁移策略来确定是否准许所述许可证的迁移。
17.如权利要求13所述的介质,其特征在于,所述方法包括产生所述迁移映像以在其中包括所述许可证和相应数据,所述相应数据包括由所述迁移服务加密并可解密的所述源平台的密码密钥。
18.如权利要求20所述的介质,其特征在于,所述方法包括向所述迁移服务请求迁移所述许可证的许可,所述请求具有包括加密的所述源平台的密码密钥的请求数据;以及接收作为来自所述迁移服务的响应的所请求的许可,所述响应包括由所述目标平台加密且可解密的所述源平台的密码密钥。
19.如权利要求13所述的介质,其特征在于,所述方法包括产生所述迁移映像以包括基于所述迁移映像的至少一部分的数字签名和散列中的至少一个,由此所述迁移服务可采用所述签名或散列来验证所述迁移映像未被更改。
20.如权利要求13所述的介质,其特征在于,所述方法还包括将所述迁移映像保存到所述源平台处的所选位置、将所述迁移映像从所述源平台处的所选位置传输到所述目标平台处的所选位置、以及从所述目标平台处的所选位置检索所述迁移映像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71018505P | 2005-08-22 | 2005-08-22 | |
US60/710,185 | 2005-08-22 | ||
US11/316,509 | 2005-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101243469A true CN101243469A (zh) | 2008-08-13 |
Family
ID=39933927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200680030402XA Pending CN101243469A (zh) | 2005-08-22 | 2006-08-03 | 从第一平台到第二平台的数字许可证迁移 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101243469A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457522A (zh) * | 2010-10-29 | 2012-05-16 | 奥多比公司 | 用于迁移内容许可的方法和系统 |
WO2016050118A1 (zh) * | 2014-09-29 | 2016-04-07 | 宇龙计算机通信科技(深圳)有限公司 | 信息处理方法和信息处理装置 |
CN106856419A (zh) * | 2017-01-09 | 2017-06-16 | 北京数码视讯科技股份有限公司 | 应急广播平台上下级的关联方法 |
CN107295046A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种用户迁移的方法和设备 |
CN113342823A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | 数据变更方法、装置、计算机设备及存储介质 |
US11240008B2 (en) | 2019-03-22 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Key management method, security chip, service server and information system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010032088A1 (en) * | 1998-05-20 | 2001-10-18 | Fujitsu Limited | License devolution apparatus |
US20020184154A1 (en) * | 1999-12-02 | 2002-12-05 | Yoshihiro Hori | Memory card and data distribution system using it |
-
2006
- 2006-08-03 CN CNA200680030402XA patent/CN101243469A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010032088A1 (en) * | 1998-05-20 | 2001-10-18 | Fujitsu Limited | License devolution apparatus |
US20020184154A1 (en) * | 1999-12-02 | 2002-12-05 | Yoshihiro Hori | Memory card and data distribution system using it |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457522A (zh) * | 2010-10-29 | 2012-05-16 | 奥多比公司 | 用于迁移内容许可的方法和系统 |
CN102457522B (zh) * | 2010-10-29 | 2016-03-09 | 奥多比公司 | 用于迁移内容许可的方法和系统 |
WO2016050118A1 (zh) * | 2014-09-29 | 2016-04-07 | 宇龙计算机通信科技(深圳)有限公司 | 信息处理方法和信息处理装置 |
US10430596B2 (en) | 2014-09-29 | 2019-10-01 | Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. | Information processing method, terminal and nonvolatile machine-readable medium |
CN107295046A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种用户迁移的方法和设备 |
CN107295046B (zh) * | 2016-03-31 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 一种用户迁移的方法和设备 |
CN106856419A (zh) * | 2017-01-09 | 2017-06-16 | 北京数码视讯科技股份有限公司 | 应急广播平台上下级的关联方法 |
CN106856419B (zh) * | 2017-01-09 | 2019-07-05 | 北京数码视讯科技股份有限公司 | 应急广播平台上下级的关联方法 |
US11240008B2 (en) | 2019-03-22 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Key management method, security chip, service server and information system |
CN113342823A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | 数据变更方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110036613B (zh) | 提供用于去中心化应用的身份认证的系统和方法 | |
KR101298293B1 (ko) | 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주 | |
CN100576148C (zh) | 用于提供安全服务器密钥操作的系统和方法 | |
CN110535833B (zh) | 一种基于区块链的数据共享控制方法 | |
CN101361076B (zh) | 用于媒体内容的安全存储和传递的移动存储器系统 | |
RU2392659C2 (ru) | Гибкая архитектура лицензирования в системе управления авторским правом | |
KR101143228B1 (ko) | 디지털 콘텐츠 권리 관리 아키텍처로의 drm 서버등록/부등록 방법 | |
JP4847701B2 (ja) | 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得 | |
KR100984440B1 (ko) | 디지탈 라이센스 발행 방법 및 컴퓨터 판독 가능 기록 매체 | |
CN101490689B (zh) | 用于由存储装置验证实体的方法及使用该方法的存储装置 | |
US20060018484A1 (en) | Information processing device, information processing system, and program | |
EP1801722A2 (en) | Protecting copyrighted digital content against unauthorized copying | |
JP2005506627A (ja) | コンテンツ配布アプリケーションでのディジタル権利管理の方法およびシステム | |
CN110519049A (zh) | 一种基于可信执行环境的云端数据保护系统 | |
CN102016863A (zh) | 内容的嵌入许可证 | |
JP5354001B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
US10095848B2 (en) | System, method and apparatus for securely distributing content | |
US20210192059A1 (en) | Data Registration Method, Data Decryption Method, Data Structure, Computer, and Program | |
CN101243469A (zh) | 从第一平台到第二平台的数字许可证迁移 | |
KR20030096248A (ko) | 자원들의 사용을 관리하기 위한 시스템에서의 자원의상태를 추적하기 위한 방법과 장치 | |
US9455961B2 (en) | System, method and apparatus for securely distributing content | |
CN116686316A (zh) | 加密文件控制 | |
Ramani et al. | Blockchain for digital rights management | |
Abie et al. | Rights-carrying and self-enforcing information objects for information distribution systems | |
CN101223549A (zh) | 根据多个许可证的聚集来操作的数字应用程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20080813 |