掌桥专利:专业的专利平台
掌桥专利
首页

用户保护的许可证

文献发布时间:2023-06-19 09:24:30


用户保护的许可证

技术领域

本公开涉及数字权限管理(DRM)许可证,并且更具体地,涉及分发执行DRM许可证。

背景技术

DRM许可证目前由许可证服务器发布,许可证服务器从客户管理服务或权限锁柜(locker)接收DRM许可证的授权和使用权。这些许可证绑定到给定的设备或设备集。DRM或有条件接收系统(CAS)可以在被称为许可证或授权管理消息(EMM)的数据结构中携带与一段内容和用户相关联的使用权。此许可证受到保护(并受到限制),因此只有一个给定设备或一组已标识的设备可以利用该数据结构。通过将对于目标设备而言是唯一的许可证进行加密来执行此限制。因此,使用权与持有某些秘密的给定的一组硬件设备的所有权绑定。许可证通常由许可证服务器生成。

然而,上述设置具有若干缺点。例如,使用此设置,用户由用户所拥有的设备定义,而不是由用户本人(persona)来定义。如果用户获得了新设备,则用户必须将新设备注册到许可证服务器(或在某些情况下注册到权限锁柜),许可证服务器(或在某些情况下注册到权限锁柜)将发布专属于该新设备的一组新的许可证。

为了解决上述设置的缺点,已经提出了另一种设置,在该另一种设置中使用区块链来持有用户的所有许可证。这种设置的一个缺点是使用权不匿名。也就是说,由于区块链可能是公开的,因此攻击者可能会因为使用权是明文而发现用户购买的权利,或者如果使用权经过加密则攻击者可能通过在已知的区块链中寻找类似的许可证而发现用户购买的权利。

发明内容

本公开提供了一种用于将许可证绑定到其被许可方而不是设备并同时仍能够保护许可证的方法。

在一种实施方式中,公开了一种根据由用于待耗用(consume)的内容的许可证中声明的使用权所定义的条件来分发和执行许可证的方法。该方法包括:使用同态加密用密钥对使用权进行加密,并将加密的使用权发送给代理;从代理接收通过用一次性随机数(nonce)对加密的使用权进行同态运算而生成的修改的加密的使用权;和对修改的加密的使用权进行解密,并将解密后的修改的使用权发送回代理,其中,通过进行与用该一次性随机数进行的同态运算相反的运算,从解密后的修改的使用权中提取使用权。

在一种实施方式中,该方法还包括:验证所提取的使用权与许可证中包括的使用权相同。在一种实施方式中,该方法还包括:在进行验证时,根据使用权接收待耗用的内容。在一种实施方式中,内容由安装在用户拥有的移动设备上的应用程序接收。在一种实施方式中,密钥是对用户独一的私有密钥。在一种实施方式中,密钥由用户自行生成。在一种实施方式中,同态加密使用高级加密标准计数器(AES-CTR)模式和异或(XOR)作为同态运算。

在另一种实施方式中,公开了一种根据由用于待耗用的内容的许可证中声明的使用权所定义的条件来分发和执行许可证的方法。该方法包括:从用户接收加密的使用权,该加密的使用权使用同态加密用密钥进行加密;用一次性随机数对加密的使用权进行同态运算,以生成修改的加密的使用权并将修改的加密的使用权发送给用户;从用户接收解密后的修改的使用权,该解密后的修改的使用权使用密钥进行解密;和通过进行与用一次性随机数进行的同态运算相反的运算,从解密后的修改的使用权中提取使用权。

在一种实施方式中,该方法还包括验证所提取的使用权与许可证中包括的使用权相同。在一种实施方式中,许可证包括加密的使用权、哈希使用权以及注册机构的数字签名。在一种实施方式中,该方法还包括通过检查注册机构的数字签名的有效性来验证许可证的有效性。

在又一实施方式中,公开了一种移动设备,包括根据由用于待耗用的内容的许可证中声明的使用权所定义的条件来执行许可证的应用程序。该移动设备包括:与代理耦接的第一接口;和第二接口,其与注册机构耦接并被配置为接收由注册机构生成的内容的使用权,其中,应用程序使用同态加密用密钥对使用权进行加密,并通过第一接口将加密的使用权发送给代理;其中,代理接收加密的使用权并用一次性随机数对加密的使用权进行同态运算,并通过第一接口将修改的加密的使用权发送回应用程序;其中,应用程序对修改的加密的使用权进行解密,并将解密后的修改的使用权发送回代理以通过进行与用该一次性随机数进行的同态运算相反的运算来验证用户和使用权的有效性。

在一种实施方式中,通过以下方式验证使用权的有效性:从解密后的修改的使用权中提取使用权;和验证所提取的使用权与许可证中包括的使用权相同。在一种实施方式中,当代理验证了使用权的有效性时,应用程序根据使用权通过第三接口接收待耗用的内容。在一种实施方式中,许可证被存储在区块链上。

在又一实施方式中,公开了一种非暂时性计算机可读存储介质,其存储计算机程序,以根据由用于待耗用的内容的许可证中声明的使用权所定义的条件来执行许可证。该计算机程序包括使计算机进行以下操作的可执行指令:使用同态加密用密钥对使用权进行加密,并将加密的使用权发送给代理;从代理接收通过用一次性随机数对加密的使用权进行同态运算而生成的修改的加密的使用权;和对修改的加密的使用权进行解密,并将解密后的修改的使用权发送回代理,其中,通过进行与用一次性随机数进行的同态运算相反的运算,从解密后的修改的使用权中提取使用权。

在一种实施方式中,非暂时性计算机可读存储介质还包括使计算机进行以下操作的可执行指令:验证所提取的使用权与许可证中包括的使用权相同。在一种实施方式中,非暂时性计算机可读存储介质还包括使计算机进行以下操作的可执行指令:在进行验证后,根据使用权接收待耗用的内容。在一种实施方式中,内容由安装在用户拥有的移动设备上的应用程序接收。在一种实施方式中,同态加密使用高级加密标准计数器(AES-CTR)模式和异或(XOR)作为同态运算。

其他特征和优点在通过举例说明本公开的各个方面的本说明书中将是明显的。

附图说明

关于本公开的结构和操作的细节,可以通过研究附图来部分地搜集,其中,相同的附图标记指代相同的部件,并且其中:

图1A是根据本公开的一种实施方式的用于分发和执行针对内容(例如,媒体)的许可证的系统的框图;

图1B是根据本公开的一种实施方式的用于分发和执行针对内容(例如,媒体)的许可证的过程的流程图;

图2是根据本公开的一种实施方式的由注册机构生成的许可证的框图;

图3是根据本公开的另一实施方式的由注册机构生成的许可证的框图;

图4A是示出根据本公开的一种实施方式的用于由代理生成混淆的加密的使用权的过程的流程图;

图4B是示出根据本公开的一种实施方式的用于由用户接收混淆的加密的使用权并生成混淆的解密的使用权的过程的流程图;和

图5是示出根据本公开的一种实施方式的用于接收使用权并生成解扰的内容的过程的流程图。

具体实施方式

如上所述,将DRM许可证绑定到给定设备或设备集存在缺陷。本公开的特定实施方式提供了将许可证绑定到其被许可方而不是绑定到设备,并同时仍能够保护许可证。DRM代理或授权机构不与用户共享任何秘密,但仍对用户进行身份验证,并确保许可证“属于”该用户。该解决方案不会公开许可内容的系列集(portfolio),因此可为区块链增加隐私性。

在阅读了这些描述之后,如何在各种实施方式和应用中实施本公开将变得明显。尽管本文将描述本公开的各种实施方式,但是应当理解,这些实施方式仅以示例而非限制的方式给出。这样,各种实施方式的这种详细描述不应被解释为限制本公开的范围或广度。

图1A是根据本公开的一种实施方式的用于分发和执行针对内容(例如,媒体)的许可证的系统100的框图。在图1A所图示的实施方式中,许可证分发系统100包括DRM代理110、注册机构120、内容提供方130和用户140。在一种实施方式中,术语“用户”可以指代应用程序(例如,用户的移动设备上的应用程序)、用户凭证或用户本人。

在一种实施方式中,用户140从内容提供方130购买内容,并通过DRM代理110播放该内容。用户140具有自己生成的用户密钥142,该用户密钥可以是私有的对称密钥。在一种实施方式中,用户是在诸如智能卡之类的可移除设备上或在云中执行的应用程序。在另一种实施方式中,用户是在移动设备上执行的应用程序。内容提供方130被配置为根据许可证中声明的使用权所定义的条件,向用户140提供待耗用的内容。在一种实施方式中,耗用内容包括用户在移动设备上播放内容。注册机构120被配置为生成该内容的许可证。许可证携带针对给定用户140的一组使用权和使用权的哈希值。DRM代理110接收许可证,并验证该许可证是否有效以及该使用权是否得到适当履行。如果是这种情况,则DRM代理110解密该内容并将解密后的内容提供给用户140。

在一种实施方式中,用户140从注册机构120接收使用权,并使用对用户来说独一的用户密钥142加密该使用权。在一种实施方式中,使用同态加密对使用权进行加密,该同态加密允许对加密文本执行计算,该加密文本与解密时对明文(plaintext)执行运算的结果相匹配。因此,如果加密E与运算符∫是同态的,则给定两个消息m和m'时,D(E(m)∫m')=m∫m',其中D表示与加密E对应的解密。

在一种实施方式中,DRM代理110用一次性随机数对加密的使用权进行同态运算(被称为“混淆”),该一次性随机数是在密码通信中仅使用一次的任意随机数或伪随机数。因此,同态运算必须与所选的同态加密兼容。用户140接收并解密修改的(或混淆的)加密的使用权,并将结果返回给DRM代理。DRM代理110验证返回的运算是否正确。在这种情况下,仅当用户140具有最初用于对使用权进行加密的正确的解密密钥时,用户140才能返回正确的信息。

在一种实施方式中,用户140被实施为移动设备上的应用程序,该移动设备包括:与DRM代理110相接口的第一接口144;与注册机构120相接口的第二接口146;以及与内容提供方130相接口的第三接口148。在一种实施方式中,第二接口146被配置为接收由注册机构120生成的使用权,并将该使用权发送给应用程序,应用程序使用同态加密用密钥对该使用权进行加密。应用程序通过第一接口144将加密的使用权发送给代理110。代理110接收加密的使用权并用一次性随机数对加密的使用权进行运算,以生成混淆的加密的使用权,并通过第一接口144将混淆的加密的使用权发送回应用程序。然后,应用程序对该混淆的加密的使用权进行解密,并将混淆的解密的使用权发回给代理以验证该用户和该使用权的有效性。在一种实施方式中,一旦代理110验证了该使用权和该用户为有效的,就通过第一接口144从代理110接收解密的内容,使得该内容可以被应用程序耗用。在另一种实施方式中,第三接口被配置为当代理110验证了使用权和用户为有效的时,就从内容提供方130接收解密的内容,使得该内容可以被应用程序耗用。

图1B是根据本公开的一种实施方式的用于分发和执行针对内容(例如,媒体)的许可证的过程150的流程图。在图1B所图示的实施方式中,一旦用户140从内容提供方130购买了内容,则用户140在步骤152从内容提供方130接收内容,该内容根据许可证中声明的使用权所定义的条件来被耗用。在步骤154,内容提供方130还通知注册机构120生成针对该内容的许可证。许可证携带了针对给定用户140的一组使用权。然后在步骤160,将使用权从注册机构120发送给用户140,并且用户140使用对用户来说独一的用户密钥142来加密该使用权,并在步骤162将加密的使用权发送给DRM代理110。在一种实施方式中,使用同态加密对使用权进行加密,该同态加密允许对加密文本执行计算,该加密文本与解密时对明文进行的运算的结果相匹配。因此,如果加密E与运算符∫同态,则给定两个消息m和m'时,D(E(m)∫m')=m∫m',其中D表示与加密E对应的解密。

在一种实施方式中,DRM代理110用一次性随机数对加密的使用权进行运算,并且DRM代理110将结果发送回用户140。在步骤170,用户140接收并解密该修改的加密的使用权,并且将结果返回给DRM代理110。DRM代理110在步骤180验证返回的运算是否正确。在这种情况下,仅当用户140具有与用于最初对使用权进行加密的用户密钥142对应的正确的解密密钥时,用户140才能返回正确的信息。因此,如果在步骤180确定返回的运算结果正确,则可以在步骤184根据使用权播放内容。否则,如果在步骤180确定返回的运算结果不正确,则在步骤182,不能播放该内容。

在一种实施方式中,当用户140从内容提供方130购买内容时,以下操作由内容提供方130和注册机构120进行。内容提供方130定义使用权,包括内容的项目的标识符和内容的使用的许可条件。内容提供方130将到用户140的链接与使用权一起发送给注册机构120。注册机构120请求用户140对使用权进行加密。用户140使用其用户密钥142对使用权进行加密,并将加密的使用权返回给注册机构120。在一种实施方式中,使用同态加密来加密使用权。注册机构120计算使用权的哈希值,创建哈希使用权。在一种实施方式中,该哈希算法是以base64编码的SHA-512。

在一种实施方式中,使用权可以被如下表示为:

使用权={内容ID,许可权限},其中,

内容ID使用娱乐标识符注册表(EIDR),

许可权限是一个数据结构,列出了许可的音频语言的列表和许可的字幕的列表。

在一种实施方式中,DRM代理110使用唯一的128位DRM_KEY来对加扰的密钥CW进行加密。在一种实施方式中,使用了高级加密标准(AES)进行加密。因此,EncryptedCW=AES

内容={内容ID,加密的CW,加扰的本体},其中,

内容ID是EIDR代码,

加密的CW是AES加密的CW,

加扰的本体(essence)是使用CW进行AES加密的本体(包括所有可用的音频轨道和字幕轨道)。

在其他实施方式中,内容提供方130使用若干DRM技术,在这种情况下,每个支持的DRM代理由DRM-ID标识。在这种情况下,内容还可以包括多对DRM-ID和对应的加密的CW的列表。此外,每个加密的CW是由相应的DRM代理的私有DRM_KEY加密的CW。

在一种实施方式中,当用户140从内容提供方130购买内容时,内容提供方130在EIDR全局数据库中注册所购买的内容版本,并接收内容ID。内容提供方130还生成作为CW的随机的128位数字。此外,内容提供方130通过用相应的DRM_KEY加密该CW来计算相应的加密的CW。内容提供方130使用CW对明文本体进行加扰以生成加扰的本体。在一种实施方式中,该加扰处理在CTR模式下使用AES。内容提供方130将所有这些信息打包到内容中。然后,由于内容具有自我保护性,因此可以被自由地分发。

图2是根据本公开的一种实施方式的由注册机构生成的许可证200的框图。在图2所图示的实施方式中,许可证200包括加密的使用权210、哈希使用权220和签名230。在一种实施方式中,签名230是加密的使用权210和哈希使用权220的注册机构生成的数字签名。在一种实施方式中,注册机构120随后将该许可证200提供给用户。在另一种实施方式中,许可证存储在区块链上。

在一种实施方式中,在用户140播放内容的项目之前,DRM代理110接收并验证关于所提供的许可证200的三个条件。首先,DRM代理110通过检查签名230的有效性来验证已知的合法机构发布了该许可证以及它是由注册机构120签名的。其次,DRM代理110进行检查以确保许可证的所有者(即用户)能够通过进行以下操作来解密许可证的使用权:(1)生成一次性随机数(Agent_nonce);(2)计算ObfuscatedEncryptedUsageRights=f(Agent_nonce,EncrytedUsageRights);(3)发送ObfuscatedEncryptedUsageRights给用户140以使用用户密钥142对其进行解密;(4)接收从用户140返回的结果ObfuscatedDecryptedUsageRights;(5)计算DecryptedUsageRights=f

在一个特定实施方式中,同态加密使用高级加密标准计数器(AES-CTR)模式用于XOR运算,记为⊕。因此,该运算被描述如下:

D

E

D

AES-CTR模式的使用意味着可以将XOR函数应用于加密的消息。

返回参考图1A,在一种实施方式中,用户密钥142是对用户独一的128位随机数,并且由用户140生成。用户密钥142仅用户知道并且是保密的。在一个特定的实施方式中,注册机构120使用李维斯特-萨莫尔-阿德曼(Rivest-Shamir-Adleman,RSA)4096公私密钥对(K

图3是根据本公开的另一实施方式的由注册机构生成的许可证300的框图。在图3所图示的实施方式中,许可证300包括加密的使用权310、哈希使用权320、初始化矢量(IV)330和签名340。在一种实施方式中,签名340是注册机构120对加密的使用权310、哈希使用权320和IV 330的数字签名。在一种实施方式中,注册机构120然后将许可证200提供给用户。在另一种实施方式中,许可证存储在区块链上。

在另一实施方式中,当用户从内容提供方购买内容的项目时,由图1A所示的实体执行以下操作。内容提供方130定义使用权(UsageRights)。使用权列出了用户140获取的所有音频轨道和字幕。注册机构120计算使用权的哈希值以创建HashUsageRights。在一种实施方式中,HashUsageRights=SHA-512(UsageRights)。内容提供方130将该使用权与到用户140的链接和用户的公共证书K

图4A是示出根据本公开的一种实施方式的用于由代理生成混淆的加密的使用权的过程400的流程图。因此,在图4A所图示的实施方式中,在用户140播放内容的项目之前,DRM代理110在步骤410接收许可证300,并在步骤420通过使用存储的K

图4B是示出了根据本公开的一种实施方式的用于由用户接收混淆的加密的使用权并生成混淆的解密的使用权的过程460的流程图。在图4B所图示的实施方式中,在步骤470从代理接收混淆的加密的使用权。然后在步骤480通过使用用户密钥142和IV 330对混淆的加密的使用权进行解密,来生成混淆的解密的使用权。ObfuscatedDecryptedUsageRights=D

图5是说明根据本发明的一个实施方式的用于接收混淆的解密的使用权并生成解扰后的内容的过程500的流程图。因此,在图5的所图示的实施方式中,代理110在步骤510接收ObfuscatedDecryptedUsageRights,并在步骤520计算

提供本文所公开的实施方式的描述以使本领域的任何技术人员能够制造或使用本公开。对这些实施方式的多种修改对于本领域技术人员而言将是显而易见的,并且在不脱离本公开的精神或范围的情况下,本文中定义的原理可以应用于其他实施方式。因此,本公开内容不旨在限于本文所示的实施方式,而是应被赋予与本文公开的原理和新颖性特征一致的最宽范围。

本公开的各种实施方式以电子硬件、计算机软件或这些技术的组合来实现。一些实施方式包括由一个或多个计算设备执行的一个或多个计算机程序。通常,计算设备包括一个或多个处理器,一个或多个数据存储组件(例如,易失性或非易失性存储模块以及永久性的光和磁存储设备,例如硬盘和软盘驱动器、CD-ROM驱动器和磁带驱动器),一个或多个输入设备(例如游戏控制器、鼠标和键盘)以及一个或多个输出设备(例如显示设备)。

计算机程序包括可执行代码,该可执行代码通常存储在永久性存储介质中,然后在运行时复制到存储器中。至少一个处理器通过以预定顺序从存储器中取回程序指令来执行代码。当执行程序代码时,计算机从输入和/或存储设备接收数据,对数据进行操作,然后将结果数据传送到输出和/或存储设备。

本领域技术人员将理解,本文描述的各种说明性模块和方法步骤可以被实施为电子硬件、软件、固件或前述的组合。为了清楚地说明硬件和软件的这种互换性,在本文中总体上根据其功能描述了各种说明性模块和方法步骤。将这种功能性实施为硬件还是软件取决于特定的应用程序和施加在整个系统上的设计约束。技术人员可以针对每个特定应用程序以各种方式来实现所描述的功能,但是这种实施决定不应被解释为导致脱离本公开的范围。此外,模块或步骤中的功能分组是为了便于描述。可以在不脱离本公开的情况下将特定功能从一个模块或步骤移动到另一模块或步骤。

每个上述示例的所有特征在本公开的特定实施方式中不是必需的。此外,应理解,本文提出的描述和附图代表本公开广泛预期的主题。还应理解,本公开的范围完全涵盖对于本领域技术人员而言将变得显而易见的其他实施方式,并且本公开的范围因此仅由所附权利要求书来限定。

相关技术
  • 用户保护的许可证
  • 按需最终用户许可证协定
技术分类

06120112158054