内容的嵌入许可证的制作方法

文档序号:6593444阅读:186来源:国知局
专利名称:内容的嵌入许可证的制作方法
内容的嵌入许可证背景不同类型的音频和/或视频内容的存储和回放日益可数字地执行,其中使用各 种计算机和其他数字设备来进行回放。为了保护他们的内容并确保只有获得了使用该内 容的权限的人才能真正地使用该内容,内容被使用密钥来进行频繁加密。然而,这一加 密的一个问题是密钥通常与特定设备相关联。这可使得用户难以在他或她拥有的其他设 备上回放该内容,虽然他或她获得了使用该内容的权限。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限 定所要求保护的主题的范围。根据内容的嵌入许可证的一个或多个方面,接收对内容执行某一动作的请求。 检索该内容的许可证,该许可证先前已被嵌入在该内容中。这一许可证是用于包括一个 或多个设备的域的许可证,该一个或多个设备包括接收该请求的设备。如果该许可证指 示对该内容的动作是许可的,则允许对该内容执行该动作,并且否则阻止对该内容执行 该动作。根据内容的嵌入许可证的一个或多个方面,访问要发送到第二设备的内容。作 出关于该内容是否已具有用于第二设备是其一部分的域的已嵌入许可证的检查。如果该 内容已具有用于该域的已嵌入许可证,则将该内容与该已嵌入许可证一起发送到第二设 备。如果该内容尚不具有用于该域的已嵌入许可证,则将该域的许可证嵌入在该内容 中,并且将该内容与所嵌入许可证一起发送到第二设备。根据内容的嵌入许可证的一个或多个方面,从设备接收对用于访问内容的许可 证的请求。将所请求的许可证发送到该设备,所请求的许可证包括指示该设备要将该许 可证存储在何处的一个或多个规则。附图简述在全部附图中,使用相同的标号来指示相同的特征。

图1示出根据一个或多个实施例的实现内容的嵌入许可证的示例系统。图2示出根据一个或多个实施例的具有嵌入许可证部分的内容的示例系统。图3是示出根据一个或多个实施例的用于使用具有已嵌入许可证的示例过程的 流程图。图4是示出根据一个或多个实施例的用于使用许可证链的示例过程的流程图。图5是示出根据一个或多个实施例的用于在源设备处嵌入许可证的示例过程的 流程图。图6是示出根据一个或多个实施例的用于使用嵌入许可证规则的示例过程的流 程图。图7示出根据一个或多个实施例的可被配置成实现内容的嵌入许可证的示例计
算设备。
详细描述本文讨论内容的嵌入许可证。一般而言,内容的许可证被嵌入在该内容中,从 而允许这些许可证连同该内容一起被容易地发送到各个设备。该内容包括其中可以存储 一个或多个嵌入许可证的嵌入许可证部分。每一嵌入许可证可以是独立许可证或许可证 链的一部分。另外,每一嵌入许可证可以与特定设备或一个或多个设备是其一部分的 域相关联。许可证可由接收该内容的设备嵌入,或另选地由从中接收到该内容的设备嵌 入。另外,许可证可包括与设备将该许可证存储在何处有关的一个或多个规则。图1示出根据一个或多个实施例的实现内容的嵌入许可证的示例系统100。系 统100包括源设备102和目标设备104。内容能以各种不同的方式从源设备102转移到目 标设备104。在一个或多个实施例中,内容经由网络转移,如因特网、局域网(LAN)、 公共电话网、内联网、其他公共和/或专有网络、其组合等。在其他实施例中,内容经 由直接线或无线连接来转移,如通用串行总线(USB)连接、顺从IEEE1394的连接、无 线USB连接、蓝牙连接等。可以明白,内容也可使用一个或多个运输设备来转移,如磁 盘、光盘、USB道尔芯片等。源设备102和目标设备104中的每一个可以是能够播放、存储、或以其他方式使 用内容的各种不同的设备。源设备102和目标设备104两者都可以是同一类型的设备,或 另选地可以是不同类型的设备。例如,设备102和104中的每一个可以是台式计算机、 服务器计算机、移动站、娱乐装置、通信地耦合到显示设备的机顶盒、无线电话、游戏 控制台、汽车计算机、自助服务终端等等。因而,设备102和104中的每一个的范围可 以是从具有充足存储器和处理器资源的全资源设备(如个人计算机、游戏控制台)到具有 有限存储器和/或处理资源的低资源设备(如传统机顶盒、手持式游戏控制台)。设备102和/或104 —般可以用不同的方式来访问和/或使用内容,如执行播 放该内容、存储该内容、转移该内容等中的一个或多个。本文使用的“内容”指的是各 种不同的数字或电子内容,如音频内容(例如,歌曲)、音频/视频内容(例如,电视节 目、电影、纪录片、卡通片等)、图像内容(例如,数字图片)、文本内容(例如,电子 书)、已编译或未编译的计算机程序或其各部分、Java游戏、以zip格式或以其他方式压 缩的文件、电子邮件消息和附件等等、以及它们的组合。如下文更详细地讨论的,特定 设备102和/或104是否可以访问特定内容是至少部分地基于该特定内容的已嵌入许可证 来确定的。源设备102包括包含内容114的内容存储112以及许可证嵌入模块116。在一个 或多个实施例中,许可证嵌入模块116在将内容114转移到目标设备104之前将许可证嵌 入该内容中。在其他实施例中,许可证由目标设备104嵌入。在下文更详细地讨论许可 证到内容中的这一嵌入。目标设备104包括消费模块122、许可证嵌入模块124、以及内容存储126。内 容存储126包括内容128。内容128中的每一个(例如,每一首歌、每一部电影,等等) 包括嵌入许可证部分130。消费模块122管理内容128在目标设备104处的消费。如何 消费特定内容128可以基于从用户接收到的使用内容128的特定请求以及内容128的类型 而变化。例如,这一消费可包括回放内容128、将内容128转移到另一设备、将内容128 刻录到CD(压缩盘)或其他光盘、打印内容128的硬副本、经由电子邮件发送内容128,等等。如下文详细讨论的,在一个或多个实施例中,许可证嵌入模块124将许可证嵌入 在内容128的嵌入许可证部分130。另外,在一个或多个实施例中,目标设备104包括其 中存储内容128的一个或多个许可证的许可证存储132。在此参考对称密钥密码、公钥密码、以及公钥/私钥密码。虽然这些密钥密码 对本领域技术人员而言是公知的,但在此提供这样的密码的简要概述以帮助读者。在公 钥密码中,一实体(如,硬件或软件组件、设备、域等)具有与其相关联的公钥/私钥 对。可以使公钥可公开获得,但该实体将私钥保密。在没有私钥的情况下,对使用公钥 加密的数据进行解密在计算上是非常困难的。所以,数据可以由任何实体使用公钥来加 密,并且只由具有对应私钥的实体来解密。另外,可以通过使用该数据和私钥来生成该 数据的数字签名。在没有私钥的情况下,创建可使用公钥来验证的签名在计算上是非常 困难的。具有公钥的任何实体可以使用该公钥通过将使用该公钥获得的验证值与原始数 据进行比较来验证数字签名,并且如果这两者相同,则确定没有人篡改过或更改过该被 数字地签名的数据。在对称密钥密码中,另一方面,这两个实体都知道共享密钥并将该共享密钥保 密。具有共享密钥的任何实体通常能够解密使用该共享密钥来加密的数据。在没有共享 密钥的情况下,对使用该共享密钥加密的数据进行解密在计算上是非常困难的。所以, 如果实体A和实体B两者都知道共享密钥,则每一个都可以解密由另一个加密的数据, 但如果其他实体不知道该共享密钥则其他实体不能解密该数据。消费模块122对目标设备104实施数字权限管理(DRM)。数字权限管理指的是 对数字内容的艺术家、出版者、和/或版权所有者的权利的保护。消费模块122所使用 的DRM技术限制可在目标设备104上对内容128采取的动作。可以限制各种不同的访 问,如回放内容128、将内容128刻录到CD或其他光盘、将内容128复制到另一设备、 打印内容128的硬副本、经由电子邮件发送内容128,等等。消费模块122使用DRM技术来保护内容128,避免目标设备104上的不正确的 使用或动作。使对内容128的使用的约束为设备104所知,通常作为许可证的一部分, 如在下文更详细地讨论的。或者,可以用其他方式来使一个或多个约束可知,如预编程 为消费模块122、给出这些约束的单独通知(例如,发送到设备104的单独消息,或从网 站获得这些约束等)等等。内容128通常通过加密来进行保护,使得内容128只有在知道正确的解密密钥的 情况下才能以可理解的方式消费。消费模块122使用各种DRM技术来确定何时许可解 密该内容(根据对内容128的使用的约束)。DRM技术可以按各种不同的方式来实现。 例如,DRM技术可包括在设备104上执行的操作系统和/或其他软件可信的验证、内容 128的版权的所有者和/或内容128的分发者所规定的约束得到满足的验证、操作系统和 /或设备104具有一个或多个许可证所需的最新DRM更新的验证,等等。各种不同的 DRM技术对本领域技术人员而言是已知的,并且这些技术中的一种或多种可由消费模块 122来使用。基于与特定内容128 —个或多个许可证来标识对该特定内容128的使用的一个或 多个约束。特定内容128的许可证包括标识何时许可解密该特定内容128的策略和用于 解密该特定内容128的密码密钥。这一密码密钥通常是用于对称密钥加密的共享密钥,但可以另选地是用于公钥加密的私钥。该策略标识可对对应内容128采取的一个或多个动作、可以采取该一个或多个 动作的一方或多方、和/或为了采取这些动作所要满足的一个或多个约束或条件。作为 替换或补充,该策略可以标识不能对对应内容128采取的一个或多个动作和/或不能采取 一个或多个动作的一方或多方。可以采取(或另选地不能采取)的动作的示例包括回放对 应内容128、将对应内容128刻录到CD或其他光盘、将对应内容128复制到另一设备、 打印内容128的硬副本、经由电子邮件发送内容128,等等。可以采取(或另选地不能 采取)这些动作的各方的示例包括特定目标设备104、目标设备104的特定用户,等等。 要满足的约束或条件的示例包括在目标设备104上运行的特定消费模块122、在目标设备 104上运行的特定操作系统,等等。可以使用各种不同的许可证。例如,一个许可证可以指示特定目标设备104可 以回放特定内容128,但不能将该特定内容128刻录到CD。作为另一示例,另一许可证 可以指示特定目标设备104可以回放特定内容128,将该特定内容128刻录到CD,并将 该特定内容128转移到另一设备。 许可证可以与特定目标设备或特定域相关联。在与特定目标设备相关联时,该 许可证的策略指示只可由该特定目标设备采取动作。在不同目标设备上使用该许可证的 任何尝试都将导致所请求的动作被拒绝。另一方面,在与特定域相关联时,该许可证的 策略指示只可由作为该域的一部分(即,成员)的任何目标设备来采取动作。一个或多 个单独的目标设备可以注册以变成该域的一部分,或另选地用户可以注册以变成域的一 部分。在并非该域的一部分的目标设备上使用该许可证的任何尝试都将导致所请求的动 作被拒绝。例如,用户可能拥有多个目标设备,并且将所有这些设备都注册成单个域的 一部分,并且所有这些设备都可回放具有一许可证的内容,该许可证指示作为该域的一 部分的设备可以回放该内容。内容128通常使用与该内容128相关联的许可证中包括的密码密钥来进行加密。 消费模块122从许可证中提取这一密钥,并且只有在许可证中的策略指示准许消费模块 122使用该内容时才使用它来解密该内容。许可证中的密钥被绑定到特定目标设备104或 域,如通过使用特定目标设备104或域的公钥来加密该许可证中的密钥(或另选地加密整 个许可证)。因此,只有该许可证中的密钥所绑定到的特定目标设备104或域才能提取并 使用该密钥来解密该内容。内容存储126中的每一特定内容128具有嵌入许可证部分130,其中可以存储一 个或多个嵌入许可证。嵌入许可证指的是嵌入在该内容中而非单独的文件中(例如,盘 上、存储器中、或其他位置)的许可证。将许可证嵌入内容128中允许内容128的许可 证被容易地转移到其他设备。例如,包含特定内容128的文件还可包含该特定内容128 的嵌入许可证。包括任何嵌入许可证的内容128,可在无需进行与已嵌入许可证是否允 许接收内容128的设备消费内容128有关的任何检查的情况下,被转移到其他设备。相 反,内容128可以容易地转移到接收设备,并且如果许可证指示允许接收设备消费该内 容,则将允许接收设备消费该内容。一般而言,将本质上可移植的许可证嵌入在内容128中,而不将本质上不可移 植的许可证嵌入在内容中。对于本质上可移植的许可证,该许可证通常与域或根许可证相关联。被绑定到特定目标设备104的独立许可证通常在另一设备上不可使用,并且因 此通常是本质上不可移植的且通常不被嵌入在内容128中。目标设备104所获得的许可证可以在各许可证存储之间复制。这些许可证可以 嵌入在内容128中的嵌入许可证部分130中,所以嵌入许可证部分130可被看作一个许可 证存储。设备许可证存储132还可包括在目标设备104中,并且耦合到目标设备104的 其他设备(未示出)上的一个或多个其他许可证存储(未示出)也可以存储许可证。许 可证可以由消费模块122,或另选地由为目标设备104实现DRM的另一模块,在这些各 许可证存储之间复制。图2示出具有嵌入许可证部分的示例内容。在图2,内容文件202包括嵌入许 可证部分204和内容数据部分206。内容文件202可以是例如图1的内容128中的任何 一个。嵌入许可证部分204可以位于内容文件202中的各种不同位置中的任何一处。例 如,嵌入许可证部分204可以包括在内容文件202的头部,或以其他方式接近内容文件 202的开头。或者,嵌入许可证部分204可以包括在内容文件的结尾附近、包括在内容 文件202的中部,等等。另外,虽然部分204和206各自被示为单个部分,但另选地, 这些部分中的一个或两者可被分开。例如,嵌入许可证部分204可被分成分布在内容文 件202中的多个子部分,从而将嵌入许可证部分204和内容数据部分206混合在内容文件 202中。在一个或多个实施例中,这些子部分对应于单个内容数据部分206。在其他实 施例中,这些子部分对应于内容数据部分206的不同部分。例如,内容数据部分206可 被分成多个部分,其中嵌入许可证部分204的各子部分散布在该多个部分之间。继续该 示例,嵌入许可证部分204的第一子部分可以对应于该多个部分中的第一部分(例如,可 包括只与第一部分中的内容数据相对应的一个或多个许可证),嵌入许可证部分204的第 二子部分可以对应于该多个部分中的第二部分(例如,可包括只与第二部分中的内容数 据相对应的一个或多个许可证),等等。内容数据部分206包括内容文件202的内容数据,如音频内容的音频数据、电影 内容的视频和视频数据,等等。如上所述,内容数据部分206的一部分是使用密码密钥 来加密的。嵌入许可证部分204包括内容文件202的一个或多个已嵌入许可证。如下文 更详细地讨论的,这些许可证中的每一个可以是许可证链的一部分或独立许可证。嵌入许可证部分204存储一个或多个已嵌入许可证,并且存储在部分204中的特 定许可证可以随时间变化。在一个或多个实施例中,嵌入许可证部分204是具有固定空 间量的静态部分,其中不管其上存储的已嵌入许可证的数量有多少该固定空间量都不会 变化。例如,嵌入许可证部分204可以是固定IOkB空间,但另选地,可以使用更小或更 大的大小。这一固定空间允许在不影响内容数据部分206的情况下向部分204添加和/ 或从中移除已嵌入许可证。例如,可以通过简单地盖写已嵌入许可证部分204的一部分 来将新嵌入的许可证添加到内容数据部分206。通过添加这样的附加嵌入许可证,内容文 件202和内容数据部分206的大小保持不变。在其他实施例中,嵌入许可证部分204是可变空间量。在这样的实施例中,嵌 入许可证部分204的大小可以增加以容纳附加嵌入许可证和/或减小以容纳更少嵌入许可 证。可能发生以下情况需 要向嵌入许可证部分204添加一个或多个新嵌入许可证,但没有足够空间来用于这样的新嵌入许可证。在这种情况下,部分204中的一个或 多个已嵌入许可证被从部分204中删除以容纳新许可证。在一个或多个实施例中,从部 分204删除的那些已嵌入许可证被添加到执行该删除的设备的许可证存储(例如,图1的 许可证存储132)中或另选地添加到另一许可证存储中。或者,这样的许可证可以从部分 204删除而不存储在这样的许可证存储或其他位置中。可以用 各种不同的方式来从部分204中选择许可证来进行删除。在一个或多个 实施例中,使用三步过程来从部分204选择一个或多个许可证来进行删除。首先,选择 过期的任何许可证来进行删除。许可证通常具有相关联的持续时间或期满日期,并且一 旦过期则不能再被用来解密相关联的内容。因此,首先选择任何这样的过期许可证来进 行删除。其次,如果部分204中没有过期许可证,或许可证204中的过期许可证不足以给 要添加的一个或多个许可证腾出足够空间,则删除添加该新许可证的设备所不能使用的 任何许可证。内容可包括可由不同设备和/或域使用的已嵌入许可证。如果一许可证不 能由设备用来解密该内容,则选择这样的许可证来进行删除。不能由该设备使用的所有 这样的许可证都可被选择来进行删除,或另选地,只选择为要添加的一个或多个许可证 腾出足够空间的足够许可证来进行删除。如果嵌入许可证部分204中存在比为要添加的 一个或多个许可证腾出足够空间所需要删除的许可证更多的该设备不能使用的许可证, 则选择这些许可证中的特定一些来进行删除。这一选择可以用不同的方式来作出,如基 于许可证出现在部分204中的次序和/或许可证在部分204中被访问的次序、基于许可证 的年龄(例如,从最老到最新)(许可证的年龄可以用不同的方式来确定,如许可证被嵌 入在部分204中的时间、创建许可证的时间,等等)、随机选择,等等。第三,如果前两个步骤不能为要添加的一个或多个许可证腾出足够空间,则从 最老到最新来选择部分204中的一个或多个其余许可证。如上所述,可以用不同的方式 来确定许可证的年龄。继续该三步过程,选择足够数量的许可证来进行删除,并从嵌入许可证部分204 中删除以给一个或多个新嵌入许可证腾出足够空间。从部分204中删除许可证可以用 不同的方式来实现,如用新许可证盖写该许可证、用特定位模式或其他数据盖写该许可 证、缩短嵌入许可证部分204的已使用部分的大小,等等。嵌入许可证部分204中的每一许可证可以是独立许可证或许可证链的一部分。 独立许可证是包括供实现DRM的模块来确定是否可对对应内容执行所请求的动作的足够 策略和密码密钥的许可证。另一方面,作为许可证链的一部分的许可证,结合一个或多个附加许可证来使 用,以供实现DRM的模块来确定是否可对对应内容执行所请求的动作。这些附加许可证 中的一个或多个可以包括在部分204中,或另选地,可以处于独立的许可证存储(例如, 图1的存储132)中。在一个或多个实施例中,该嵌入许可证是许可证链的被称为叶许可 证的部分,并且标识存储在设备的许可证存储(例如,图1的存储132)中和/或包括在 嵌入许可证部分130中的根许可证。例如,在图1中,叶许可证可以嵌入在特定内容128中,叶许可证标识包括在许 可证存储132中的根许可证。叶许可证可包括各种策略,包括为了执行特定动作所标识的根许可证要存在于许可证存储132 (和/或许可证部分130)中的约束。如果所标识的根 许可证存在于许可证存储132中,则消费模块122可以执行该特定动作;否则,模块122 将不执行该动作。将许可证划分成叶许可证和根许可证可以具有多个好处。例如,基于订阅的环 境中的目标设备104的用户可以按月付费来访问内容128。所有内容128可包括标识为 了回放该内容而要存在的特定根许可证的叶许可证。在用户支付他或她的每月费用时, 更新存储132中的根许可证以保持有效,而如果用户没有支付他或她的每月费用,则存 储132中的根许可证过期。因此,每个月只在支付每月费用后更新根许可证,并且不必 更新多个内容128中的已嵌入许可证。应当注意,许可证链可包括两个或更多个许可证 。例如,许可证链可以是两个 许可证,如上述叶许可证和根许可证。另外,许可证链可包括三个或更多个许可证,如 包括在许可证链中的除叶许可证和根许可证之外的一个或多个附加许可证。例如,叶许 可证可以标识中间许可证,中间许可证又可标识根许可证。这样的中间许可证可以包 括在嵌入许可证部分130中,或另选地包括在独立许可证存储(例如,图1的存储132) 中。每一中间许可证可包括各种策略,包括为了执行特定动作一个或多个所标识的许可 证(例如,一个或多个中间许可证、一个或多个根许可证,等等)要存在于嵌入许可证部 分130(和/或另一许可证存储)中的约束。在使用许可证链的一个或多个实施例中,用于解密特定内容128的密码密钥可 以存储在不同的位置中。例如,密码密钥可以包括在嵌入叶许可证中(但只有在所标识 的根许可证和许可证链中的任何其他中间许可证存在的情况下才可以使用)。继续该示 例,所标识的根许可证包括使用特定设备或域的公钥来加密的根密钥。该设备使用该 设备或该域的私钥来解密根密钥,并随后使用该根密钥来解密嵌入叶许可证中的密码密 钥。作为另一示例,密码密钥可以包括在根许可证中而非在嵌入叶许可证中。作为又 一示例,嵌入叶许可证可包括密码密钥的一个部分,而根许可证包括密码密钥的另一部 分。内容数据部分206可以用各种不同的方式来加密,其中不同的DRM系统使用不 同的加密技术。在一个或多个实施例中,内容数据部分206是使用对称密钥密码来加密 的。用于加密内容数据部分206的共享密钥包括在与内容文件202相关联的一个或多个 许可证中,如存储在部分204中的已嵌入许可证和/或存储在许可证存储(例如,图1的 存储132)中的根许可证。共享密钥是使用特定设备或特定域的公钥来进行加密的。该 特定设备或该域中的任何设备可以进而使用其私钥来解密该共享密钥,并随后使用该共 享密钥来解密内容数据部分206。因此,只有具有适当的私钥的那些设备才能解密内容数 据部分206。此外,DRM系统(例如,图1的消费模块122所实现的DRM系统)是否 将使用其私钥来解密共享密钥取决于该内容的一个或多个许可证中的策略。或者,内容数据部分206可以用其他方式来加密。例如,内容数据部分206可 以用特定设备或特定域的公钥来加密。因此,该特定设备或该特定域中的任何设备可以 使用其私钥来解密内容数据部分206。DRM系统(例如,图1的消费模块122所实现的 DRM系统)是否将使用其私钥来解密内容数据部分206取决于该内容的一个或多个许可 证中的策略。
图3是示出用于使用具有嵌入许可证的内容的示例过程300的流程图。过程300 由诸如图1的目标设备104等设备来执行,并可以用软件、固件、硬件、或其组合来实 现。过程300通常由负责实现设备中的DRM的一个或多个模块来执行,如图1的消费模 块122。过程300是用于使用具有嵌入许可证的内容的示例过程;参考不同附图,在此 包括了使用具有嵌入许可证的内容的附加讨论。最初,接收对要对内容执行的动作的请求(动作302)。如上所述,这样的动作 可以是回放内容、将内容转移到另一设备、将内容刻录到CD、打印内容的硬副本、经由 电子邮件发送内容,等等。随后访问嵌入在要对其执行该动作的内容中的一个或多个许 可证(动作304),并且作出关于所嵌入的许可证中的一个或多个是否准许所请求的动作 的检查(动作306)。如果已嵌入许可证中包括的策略指示可以执行所请求的动作,则该 已嵌入许可证准许所请求的动作。如果内容中的已嵌入许可证中的至少一个准许对该内容执行所请求的动作,则 准许所请求的动作(动作308)。否则,作出关于是否可获得准许所请求的动作的许可证 的检查(动作310)。准许所请求的动作的许可证可以用各种不同的方式来获得。例如, 可以访问从中接收该内容的诸如服务器等另一设备来获得许可证,可以访问诸如内容订 阅服务等服务来获取许可证,等等。获取许可证可需要将设备向域进行注册或来自用户 的附加输入,如批准购买该许可证、信用卡或其他购买信息、可在其中找到该许可证的 另一许可证存储的标识,等等。如果可以获得准许所请求的动作的许可证,则获得(动作312)并保存(动作 314)这样的许可证。如下文更详细地讨论的,保存该许可证可包括将该许可证嵌入该内 容中和/或将该许可证保持在独立的许可证存储中。同样执行动作302中所请求的动作 (动作308)。返回动作310,如果不能获得准许所请求的动作的许可证,则不执行所请求的动 作(动作316)。应当注意,动作304和306中的嵌入许可证或在动作310-314中获得的许可证可 以是独立许可证或许可证链的一部分。另外,这些许可证可以是准许实现过程300的特 定设备执行所请求的动作的许可证,或者在实现过程300的特定设备是特定域的成员时 准许该特定设备执行所请求的动作的许可证。过程300是参考在动作306中嵌入许可证不准许所请求的动作的情况下,在动作 310检查是否可获得准许所请求的动作的许可证来讨论的。或者,可以在执行动作310的 检查之前访问一个或多个附加许可证存储。例如,可以访问图1的许可证存储132以查 看存储132中的许可证是否准许所请求的动作,并且如果是,则可以在动作308执行所请 求的动作。作为另一示例,可以访问另一许可证存储(未示出)以查看该许可证存储中 的许可证是否准许所请求的动作,并且如果是,则可以在动作308执行所请求的动作。图4是示出用于使用许可证链 的示例过程400的流程图。过程400由诸如图1 的目标设备104等设备来执行,并可以用软件、固件、硬件、或其组合来实现。过程400 通常由负责实现设备中的DRM的一个或多个模块来执行,如图1的消费模块122。在一 个或多个实施例中,动作401-410实现图3的动作304和306。过程400是用于使用许可 证链的示例过程;参考不同附图,此处包括了使用许可证链的附加讨论。
最初,与上述图3的动作302类似,接收对要对内容执行的动作的请求(动作 402)。随后检索嵌入在要对其执行该动作的内容中的叶许可证(动作404),并且标识该 叶许可证的根许可证(动作406)。在一个或多个实施例中,这一根许可证是由叶许可 证来标识的。这一标识可以是显式的,如包括在叶许可证中的根许可证的字母数字标识 符,或可以是隐式的,如用于许可证的允许维持叶许可证和根许可证之间的对应关系的 命名约定。检索该叶许可证的根许可证(动作408)。根许可证可以从本地许可证存储中检 索,如图1的许可证存储132,或者从其他位置检索,如另一设备上的许可证存储、要对 其执行该动作的内容的嵌入许可证部分,等等。这一许可证存储可由叶许可证来标识, 或者可为实现过程400的模块所知。随后作出关于叶许可证和根许可证是否准许所请求的动作的检查(动作410)。 如果叶许可证和根许可证准许执行所请求的动作,则执行所请求的动作(动作412)。否 贝U,不执行所请求的动作(动作414)。过程400是参考叶许可证和根许可证来描述的。可以明白,一个或多个附加许 可证也可以包括在包含该叶许可证和根许可证的许可证链中。这些附加许可证中的每一 个可被标识为动作406的一部分,沿着该许可证链从叶许可证到根许 可证。然后,动作 410中的检查是关于许可证链中的所有许可证是否准许所请求的动作的检查,其中在许 可证链中的所有许可证都准许的情况下执行所请求的动作,并且否则不执行所请求的动 作。返回图1,许可证可由源设备102、目标设备104和/或另一设备嵌入在内容 中。如上所述,设备102、设备104和/或另一设备嵌入在内容中的许可证可以是独立许 可证和/或许可证链的一部分。另外,设备102、设备104和/或另一设备嵌入在内容中 的许可证可以是用于设备102的许可证和/或用于设备102是其一部分的域的许可证。在其中源设备102将许可证嵌入内容中的实施例中,源设备102包括在将内容转 移到目标设备104之前将许可证嵌入该内容中的许可证嵌入模块116。在一个或多个实施 例中,许可证嵌入模块116将叶许可证嵌入内容114。模块116可以将叶许可证预先嵌入 内容114中,以使得在请求将内容114转移到目标设备104时内容114已经嵌入了叶许可 证,和/或响应于对内容114的请求来将叶许可证嵌入内容114中。如上所述,叶许可证 标识根许可证,使得相同的叶许可证可以嵌入在针对多个不同域中的不同设备的内容114 中。虽然这些叶许可证都是相同的,但如上所述,不在设备上执行所请求的对该内容的 动作,除非适当的根许可证也对该设备可用。在其中目标设备104将许可证嵌入内容中的实施例中,目标设备104包括将许可 证嵌入接收到的内容中的许可证嵌入模块124。许可证嵌入模块124可被实现为消费模块 122的一部分,或者可以是结合和/或独立于消费模块122来操作的独立模块。例如,消 费模块122可以向许可证嵌入模块124传递将许可证嵌入特定内容128中的请求。作为 另一示例,许可证嵌入模块124可以独立地操作,搜索内容存储126以寻找内容128,并 且在找到不带嵌入许可证的内容128时将来自许可证存储132的许可证嵌入内容128。在接收到内容时,从许可证存储132获得许可证或在需要时以其他方式获得许 可证(例如,与以上相关图3的过程300的讨论相类似)。许可证嵌入模块124将这一许可证写入包括该内容的文件的嵌入许可证部分(例如,图2的嵌入许可证部分204),从而 在需要用于存储这一许可证的空间的情况下盖写被选择来删除的任何许可证。在一个或 多个实施例中,在获得内容时将许可证嵌入该内容中,但许可证可以另选地在其他时间 嵌入。在其中除源设备102或目标设备104之外的另一设备将许可证嵌入内容中的实施 例中,该另一设备包括与许可证嵌入模块116相类似的许可证嵌入模块。许可证被嵌入 内容中,随后该内容可以被转移到源设备102或以其他方式对源设备102可用。许可证 因而可以预先嵌入在内容114中,使得在请求将该内容转移到目标设备104之前该内容已 经嵌入了叶许可证,并且源设备102不必嵌入叶许可证。图5是示出用于在源设备处嵌入许可证的示例过程500的流程图。过程500由诸 如图1的源设备102等设备来执行,并可以用软件、固件、硬件、或其组合来实现。过 程500通常有源设备的模块来执行,如图1的许可证嵌入模块116。过程500是用于在源 设备处嵌入许可证的示例过程,参考不同附图,在此包括了在源设备处嵌入许可证的附 加讨论。
最初,访问要发送到目标设备的内容(动作502)。在一个或多个实施例中,这 一内容是响应于来自目标设备的对该内容的请求来访问的。或者,这一内容可以响应于 其他输入来访问,如来自实现过程500的设备的用户的请求、来自另一组件或设备的请
<|V J 寸寸ο随后作出关于该内容是否已经具有用于目标设备的嵌入许可证的检查(动作 504)。如上所述,用于目标设备的这一嵌入许可证可以是独立许可证和/或许可证链的 一部分,并且可以是用于目标设备的许可证和/或用于该目标设备是其一部分的域的许 可证。如果用于目标设备的嵌入许可证已被嵌入在该内容中,则将具有该嵌入许可证的 内容发送到目标设备(动作506)。然而,如果该内容中尚不存在这样的嵌入许可证,则将用于目标设备的许可证 嵌入该内容中(动作508)。如上所述,用于目标设备的这一嵌入许可证可以是独立许可 证和/或许可证链的一部分,并且可以是用于目标设备的许可证和/或用于该目标设备 是其一部分的域的许可证。是否将这样的许可证嵌入该内容中还可任选地取决于其他准 贝U,如是否准许目标设备接收该内容(例如,已支付了适当费用),等等。一旦嵌入了许 可证,则将具有该嵌入许可证的内容发送到目标设备(动作506)。返回图1,如上所述,可发生如下情况目标设备104从许可证源设备获得许可 证。这一许可证源设备可以是源设备102或另一设备(未示出)。这一许可证可以已被 嵌入在内容128中或可以分开接收。在接收到这样的许可证时,可以通过将它嵌入在它 所对应的内容128中、存储在许可证存储132中、存储在不同的许可证存储(未示出)中 等来将它存储在它所对应的内容128中。在一个或多个实施例中,接收到的许可证包括对于目标设备的、指示目标设备 104要将该许可证存储在何处的一个或多个嵌入许可证规则。目标设备104上的消费模块 122或另一模块访问这一个或多个规则,并基于这一个或多个规则来存储许可证。这一个 或多个规则可以指示要将许可证存储(嵌入)在该许可证所对应的内容128中的一个或多 个中、许可证存储132中、另一设备(未示出)上的另一许可证存储中,等等。在一个或多个实施例中,这一个或多个规则仅仅是关于将许可证存储在何处的建议。或者,许 可证中的存储可以指示消费模块122或实现目标设备104处的DRM的另一模块要遵循这 些规则才能访问该内容。这些规则可以包括在各种不同的许可证中,包括独立许可证、许可证链的一部 分(例如,叶许可证或根许可证)、用于目标设备的许可证、用于目标设备是其一部分的 域的许可证,等等。当一个或多个规则包括在许可证中时,无论何时许可证被存储或复 制到另一设备,这些规则都与该许可证保持在一起。或者,一旦基于该一个或多个规则 存储了许可证,则该一个或多个规则可以从许可证删除。表I描述可以包括在许可证中的一个或多个规则的示例。可以明白,这些只是 示例,并且在一些实施例中,这些规则中没有一个可被使用,并且在其他实施例中,可 以使用不同的和/或另外的规则。表 I
权利要求
1.一个或多个其上存储有多个指令的计算机存储介质,所述指令在由设备的一个或 多个处理器执行时,使得所述一个或多个处理器接收对内容执行某一动作的请求(302);检索所述内容的许可证(304),所述许可证先前已被嵌入在所述内容中,并且所述许 可证是用于包括一个或多个设备的域的,所述一个或多个设备包含所述设备;如果所述许可证指示对所述内容的所述动作是许可的,则允许对所述内容执行所述 动作(308),并且否则阻止对所述内容执行所述动作(316)。
2.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述指令还适当所 述一个或多个处理器获得所述内容的新许可证,并将所述许可证嵌入在包括所述内容的 文件的嵌入许可证部分中。
3.如权利要求2所述的一个或多个计算机存储介质,其特征在于,所述指令还使得所 述一个或多个处理器,在所述嵌入许可证部分中不存在用于所述新许可证的足够空间的 情况下,用所述新许可证来盖写所述嵌入许可证部分中的另一许可证。
4.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述指令还使得所 述一个或多个处理器获得所述内容的新许可证,并访问所述新许可证中标识的规则,所 述规则指示是否要将所述新许可证嵌入在包括所述内容的文件的嵌入许可证部分和所述 设备的许可证存储中的一个或两者中。
5.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述许可证包括标 识何时准许解密所述内容的策略,以及要用来解密所述内容的密码密钥。
6.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述指令还使得所 述一个或多个处理器从所述许可证获得一个或多个规则,并至少部分地基于所述一个或 多个规则来存储所述许可证。
7.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述许可证包括叶 许可证,并且其中所述指令还使得所述一个或多个处理器至少部分地基于所述叶许可证来标识所述内容的根许可证;从许可证存储检索所述内容的根许可证;以及其中,允许执行所述动作,是只有在所述叶许可证和所述根许可证两者都指示准许 对所述内容的所述动作的情况下,才允许对所述内容执行所述动作。
8.如权利要求7所述的一个或多个计算机存储介质,其特征在于,检索所述根许可证 是从所述设备上的许可证存储来检索所述根许可证。
9.一个或多个其上存储有多个指令的计算机存储介质,所述指令在由设备的一个或 多个处理器执行时使得所述一个或多个处理器访问要发送到第二设备的内容(502);检查所述内容是否已经具有用于域的已嵌入许可证(504),所述第二设备是所述域的 一部分;如果所述内容已具有用于所述域的已嵌入许可证,则将所述内容与所述已嵌入许可 证一起发送到所述第二设备(506);以及如果所述内容尚未具有用于所述域的已嵌入许可证,贝U:将用于所述域的许可证嵌入所述内容中(508);以及将所述内容与所嵌入许可证发送到所述第二设备(506)。
10.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述已嵌入许可 证包括叶许可证,所述叶许可证标识所述第二设备的许可证存储中的根许可证。
11.如权利要求10所述的一个或多个计算机存储介质,其特征在于,所述根许可证包 括用所述域的公钥来加密的根密钥,其中所述根密钥能够被用来解密所述叶许可证中的 密码密钥,并且其中所述密码密钥能够被用来解密所述内容。
12.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述已嵌入许可 证包括指示所述第二设备要将所述嵌入许可证存储在何处的规则。
13.如权利要求9所述的一个或多个计算机存储介质,其特征在于,所述嵌入许可证 包括标识何时准许所述第二设备解密所述内容的策略,以及要由所述第二设备用来解密 所述内容的密码密钥。
14.一种方法,包括从一设备接收对用于访问内容的许可证的请求(604);以及将所请求的许可证发送到所述设备(612),所请求的许可证包括指示所述设备要将所 述许可证存储在何处的一个或多个规则。
15.如权利要求14所述的方法,其特征在于,所述一个或多个规则包括忽略规则,所 述忽略规则指示所述许可证将不被嵌入在所述内容中但能够被存储在所述设备的许可证 存储中。
16.如权利要求14所述的方法,其特征在于,所述一个或多个规则包括复制规则,所 述复制规则指示所述许可证要被嵌入在所述内容中并且还被存储在所述设备的许可证存 储中。
17.如权利要求14所述的方法,其特征在于,所述一个或多个规则包括移动规则,所 述移动规则指示所述许可证要被存储在所述设备的许可证存储中并随后在所述内容变得 可用时被嵌入在所述内容中。
18.如权利要求14所述的方法,其特征在于,所述许可证包括标识能够对所述内容采 取的一个或多个动作的策略,和要由所述设备用来解密所述内容的密码密钥。
19.如权利要求14所述的方法,其特征在于,还包括所述设备接收所请求的许可证, 并至少部分地基于所述一个或多个规则来存储所请求的许可证。
20.如权利要求14所述的方法,其特征在于,所述发送包括发送嵌入在所述内容中的 所请求的许可证。
全文摘要
根据一个或多个方面,检索内容的许可证,该许可证先前已被嵌入到该内容中。只有独立许可证或叶许可证和根许可证指示对于该内容的该动作是许可的,才允许对该内容执行所请求的动作。叶许可证和/或独立许可证可由内容的源和/或由接收该内容的目标设备来嵌入。另外,许可证可包括指示接收该内容的目标设备将许可证存储在何处的一个或多个规则。
文档编号G06F13/14GK102016863SQ200980115756
公开日2011年4月13日 申请日期2009年4月3日 优先权日2008年4月29日
发明者A·J·金嫩曼, C·P·斯特姆, D·L·齐尔顿, D·N·布鲁姆利, P·塞斯, Q·S·布恩斯, S·N·布莱德, S·查博拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1