用于匿名数字内容共享的数字权限管理的制作方法

文档序号:16990338发布日期:2019-03-02 00:54阅读:192来源:国知局
用于匿名数字内容共享的数字权限管理的制作方法

本公开内容的实施例总体上涉及数字权限管理(drm),并且更具体地涉及用于管理数字内容使用权限转移的方法、设备、系统和计算机程序产品,以例如提高在drm系统中共享数字内容的安全性和匿名性。



背景技术:

在过去几十年中,对组织和分发诸如电子书、杂志、音乐盘、电影等数字内容的需求日益增长。drm广泛用于保护数字内容。drm指的是禁止内容提供商或分销商不希望或不允许的任何数字内容使用的技术。也就是说,drm用于确保只有授权用户才能基于预定义规则访问受保护内容。

传统上,drm用于通过加密方法保护数字内容的版权。在drm系统中,drm服务器管理多个drm设备,并且drm设备中的每个drm设备与对应于该drm设备的唯一身份的公钥和私钥对相关联。对诸如电子书、音乐和电影的数字内容进行加密,并且在许可证的范围内分发用于解密的密钥。只有具有有效许可证的订户或用户设备才能对内容进行解密和消费。通常,许可证特定于订户或用户设备,并且由drm服务器管理,使得数字内容和/或许可证不可重新分发。

在订户获得数字内容项目之后,订户可能想要将他/她使用数字内容的权限转移给另一个人,例如通过将数字内容转售或赠送给订户认识的其他人。当授权订户想要向接收者共享数字内容时,拥有许可证的订户可以向接收者提供能够用于从drm服务器获取新许可证的令牌。然后,初始许可证将被撤销或变得无效,并且接收者可以使用新许可证来消费数字内容。在这种情况下,为了避免伪造或作弊,drm服务器通常需要在授予新许可证之前验证接收者设备的身份是否仍然有效或者接收者是否是被列入黑名单中的伪造者。然而,由于很多数字内容共享是私人行为,因此双方可能都不希望向drm服务器透露接收者的身份。已经提出了保留数字内容共享隐私的方法,例如,能够为接收者的设备分配匿名标签或水印以保护其隐私,但是这还不足以在安全性与匿名性之间取得平衡。因此,实际需要限制仅在发送者与接收者之间交换私人信息。



技术实现要素:

本公开内容的实施例提出了用于数字权限管理的方法、设备、系统以及计算机程序产品。

在第一方面中,本公开内容的实施例提供了一种用于管理从第一设备到第二设备的数字内容使用权限转移的方法,包括提供第一验证码r1和第二验证码r2的步骤。在本公开内容的实施例中,所述第一验证码r1和所述第二验证码r2中的至少一个包括随机数,并且所述第一验证码r1和所述第二验证码r2中的至少一个的长度超过预定长度。所述方法还包括以下步骤:在认证设备处利用一个或多个未被用作有效公钥的公钥加密所述第一验证码r1,以便生成包括一个或多个加密版本的所述第一验证码r1的第一认证数据集c。

所述方法还包括以下步骤:在所述第一设备处利用所述第二设备的公钥加密所述第二验证码r2,并且将这种加密版本的所述第二验证码r2与所述认证数据集c中的元素进行组合,以便生成第二认证数据集c’。

所述方法还包括以下步骤:在所述第二设备处通过利用所述第二设备的私钥解密所述第二认证数据集c’中的元素来获得响应消息m。然后,从所述第二设备向所述认证设备发送所述响应消息m。在本发明的一个可选实施例中,首先将所述响应消息m从所述第二设备发送到所述第一设备,然后将所述响应消息m从所述第一设备转发到所述认证设备,以便进一步保护所述第二设备的隐私。

所述方法还包括以下步骤:在所述认证设备处验证所述响应消息m,以仅在所述响应消息m包含与所述第二验证码r2相对应的数据值而不包含与所述第一验证码r1相对应的任何数据值时才允许所述权限转移,否则,如果所述验证失败,则拒绝所述权限转移。

根据本公开内容的可选实施例,所述第二设备将其设备证书发送给所述第一设备,所述第一设备验证所述第二设备的所述设备证书是否有效,并且为所述认证设备提供指示v。所述认证设备检查所述指示v,并且仅当所述指示v表明所述第二设备的所述设备证书有效时才执行验证所述响应消息m的步骤。

在本公开内容的可选实施例中,上述方法由所述第一设备发起,例如由所述第一设备通过向所述认证设备发送共享请求以及要与所述第二设备共享的所述数字内容的id来发起。

在本公开内容的可选实施例中,当所述认证设备确定允许所述权限转移时,所述认证设备将通过使用从所述第二设备获得的加密密钥来生成使用所述数字内容的新许可证,例如基于由所述第一设备拥有的旧许可证和/或要共享的所述数字内容的所述id来生成使用所述数字内容的新许可证。然后,所述认证设备能够将所述新许可证发送到所述第一设备以启用内容共享。然后,所述第一设备拥有的旧许可证能够被撤销或变得无效。

为了进一步保护第二设备的身份不被泄露,根据本公开内容的可选实施例,在所述第二设备处获得所述响应消息m的步骤还包括对所述第二认证数据集c’的解密元素强加单向函数h()(例如,散列函数)的步骤;并且在所述认证设备处验证的步骤还包括对所述第一验证码r1和所述第二验证码r2强加相同的单向函数h()以分别获得修改的第一验证码h(r1)和修改的第二验证码h(r2)的步骤。仅当所述响应消息m包含与所述修改的第二验证码h(r2)相对应的数据值而不包含与所述修改的第一验证码h(r1)相对应的任何数据值时才允许所述权限转移。

在第二方面中,本公开内容的实施例提供了一种认证设备。所述认证设备包括处理单元和存储器,所述存储器被耦合到所述处理单元并且在所述存储器上存储指令。所述指令在由所述处理单元运行时令所述认证设备执行包括以下步骤的动作:通过利用一个或多个未被用作有效公钥的公钥加密第一验证码r1来生成加密验证码的第一认证数据集c;从所述认证设备向第一设备发送所述第一认证数据集c;从第二设备接收响应消息m,其中,所述响应消息m是已经通过利用所述第二设备的私钥解密第二认证数据集c’而生成的,并且所述第二认证数据集c’是已经通过将所述认证数据集c中的元素与利用所述第二设备的公钥加密的加密版本的第二验证码r2进行组合而生成的;并且将所述响应消息m与所述第一认证数据集c中的元素和所述第二验证码r2进行比较,并且仅当所述响应消息m包含与所述第二验证码r2相对应的数据值而不包含与所述第一验证码r1相对应的任何数据值时才允许所述权限转移,否则,如果所述验证失败,则拒绝所述权限转移。

在第三方面中,本公开内容的实施例提供了一种能够在认证设备的管理下向第二设备转移数字内容使用权限的设备。所述设备包括处理单元和存储器,所述存储器被耦合到所述处理单元并且在所述存储器上存储指令,所述指令在由所述处理单元运行时令所述设备执行包括以下步骤的动作:接收包括来自所述认证设备的加密版本的第一验证码r1的第一认证数据集c,其中,所述加密版本的所述第一验证码r1是已经通过利用一个或多个未被用作有效公钥是的公钥加密所述第一验证码r1而生成的;利用所述第二设备的公钥加密第二验证码r2,将这种加密版本的所述第二验证码r2与所述加密版本的所述第一认证数据集c进行组合以生成第二认证数据集c’,并且将所述第二认证数据集c’发送到所述第二设备;从所述第二设备接收响应消息m,并且将所述响应消息m转发到所述认证设备以用于验证,其中,所述响应消息m是已经通过利用所述第二设备的私钥解密所述第二认证数据集c’而生成的;并且在所述认证设备允许权限转移之后从所述认证设备接收所述数字内容使用的新许可证。

在第四方面中,本公开内容的实施例提供了一种包括认证设备、第一设备和第二设备的系统。所述认证设备、所述第一设备和所述第二设备被编程为执行根据本公开内容的用于管理从所述第一设备到所述第二设备的数字内容使用权限转移的方法。

在第五方面中,本发明的实施例提供了一种包括多个程序代码部分的计算机程序产品,所述多个程序代码部分用于执行根据本公开内容的针对所述认证设备、所述第一设备或所述第二设备的方法的步骤。

根据本公开内容的实施例,提出了一种用于将数字内容使用权限从订户转移到接收者的匿名验证解决方案,这种解决方案组合了委托证书验证与匿名黑名单检查的优点。这样,能够提高权限转移的安全性,并且可以很好地保护接收者的隐私不被泄露给drm服务器。

应当理解,发明内容并非旨在确定本公开内容的实施例的关键特征或必要特征,也不旨在用于限制本公开内容的范围。通过下文的描述,本公开内容的其他特征将变得易于理解。

附图说明

在附图和以下描述中阐述了本公开内容的一个或多个实施例的细节。根据说明书、附图和权利要求,本公开内容的其他特征、方面和优点将变得明显,其中:

图1是图示用于数字权限管理的系统的框图,其中能够实施本公开内容的示例性实施例;

图2是图示根据本公开内容的示例性实施例的用于共享数字内容的过程的流程图;

图3是图示根据本公开内容的示例性实施例的验证接收者设备的有效性的动作的示意图;

图4是根据本公开内容的示例性实施例的用于验证接收者设备的有效性的决策树的示意图;

图5是适合于实施本公开内容的实施例的设备的框图。

在整个附图中,相同或相似的附图标记将始终指示相同或相似的元件。

具体实施方式

现在将参考一些示例性实施例来描述本公开内容的原理。应当理解,这些实施例仅出于说明的目的进行描述,并且帮助本领域技术人员理解和实施本公开内容,而不暗示对本公开内容的范围的任何限制。除了下文描述的方式以外,本文描述的公开内容还能够以各种其他方式来实施。

本文使用的术语“包括”及其变体将被解读为意指“包括但不限于”的开放术语。术语“基于”将被解读为“至少部分地基于”。术语“一个实施例”和“实施例”将被解读为“至少一个实施例”。术语“另一个实施例”将被解读为“至少一个其他实施例”。此外,应当理解,在本公开内容的上下文中,术语“第一”、“第二”等用于指示各个元件或部件,而不暗示对这些元件的顺序的任何限制。另外,第一元件可以与第二元件相同或不同。

本文使用的术语“数字内容”旨在意指任何数字格式的内容,包括但不限于电子书、杂志、音乐、视频、照片、艺术品、电影、铃声、软件等。术语“认证设备”将被解读为能够验证或认证用户设备的有效性的设备。认证设备能够被实施为服务器(例如,drm服务器)、专用计算机等。术语“设备”意指本领域已知的任何电子设备,包括但不限于台式计算机、膝上型计算机、蜂窝电话、智能电话、平板计算机、个人显示助理(pda)、机顶盒、电视机或任何其他能够处理数字内容的设备。

众所周知,属于drm系统的每个设备可以具有一对密钥,即,公钥和私钥。私钥保持私密且安全,而公钥能够被分发给任何(例如借助于数字证书)请求它的人。当一个密钥用于加密数据时,需要另一个密钥来解密数据。因此,如果使用设备的公钥来加密数据,则只有该设备能够使用配对的私钥来解密数据,反之亦然。

如开篇所述,数字内容通常在家庭成员、朋友、亲戚、合作者等之间共享以表达感受或进行社交。在drm系统中,订户可能想要将他/她使用数字内容的权限转移给另一个订户。例如,他或她可能想要将数字内容项目转售给他人,或者将数字内容作为礼物提供给他人。由于隐私问题,drm服务器应当优选不跟踪和记录权限转移过程的所有内容。如上所述,在传统的共享方法中,数字内容的所有者可以向接收者提供令牌,使得接收者能够获得新许可证。然而,drm系统仍然应当能够确定接收者设备是有效的,以避免不希望的数字内容使用,例如,当接收者设备是恶意或黑名单中的设备时,就会产生不希望的数字内容使用。

常规方法通过验证接收者设备的签名来解决该问题。但是,在提供签名时,向drm服务器透露了第二设备的身份。由于所有者和/或接收者的隐私要求,这可能是不希望的。为了解决这些问题和其他潜在问题,本公开内容的实施例提供了用于匿名验证数字内容共享中的接收者设备的有效性的方法和设备。

首先参考图1,其示出了图示用于数字权限管理的系统100的框图,其中能够实施本公开内容的示例性实施例。系统100包括认证设备110、第一设备120和第二设备130。认证设备110是能够认证用户设备的有效性的设备。例如,认证设备110可以基于从第一设备120和/或第二设备130接收的数据来验证第二设备130的有效性,这将在后文进行描述。认证设备110可以被实施为服务器、专用计算机等。在一些实施例中,认证设备110可以是例如drm服务器。在图1中图示的实施例中,认证设备110维护黑名单115,黑名单115包括没有消费由认证设备110管理的数字内容的合法许可证的一个或多个列入黑名单中的设备和/或用户的身份。在一些其他实施例中,列入黑名单中的设备和/或用户拥有的许可证已经失效或过期。在一些实施例中,认证设备可以改为维护白名单,白名单列出了一个或多个有效设备,每个有效设备都具有对应的公钥。

第一设备120和/或第二设备130可以是任何电子设备。如上所述,第一设备和/或第二设备的范例包括但不限于台式计算机、膝上型计算机、蜂窝电话、智能电话、平板计算机、个人显示助理(pda)以及能够播放或呈现数字内容的其他设备。在一些实施例中,第一设备120和/或第二设备130可以包括数字内容读取器应用程序。数字内容读取器应用程序能被配置为向最终用户呈现任何合适的数字内容并且可能与最终用户交互。例如,最终用户可以通过数字内容读取器应用程序查看书籍、音乐、音频、视频或任何其他合适格式的数字内容。仅出于说明的目的,在以下讨论中,第一设备120充当数字内容的所有者或提供者,并且第二设备130充当数字内容的接收者。应当理解,drm服务器通常管理许多用户设备,并且为了说明,在图1中仅示出了其中的两个用户设备。

如图1所示,认证设备110、第一设备120和第二设备130分别经由第一链路140、第二链路150和第三链路160可通信地彼此连接。第一链路140、第二链路150和第三链路160的范例包括但不限于有线或无线计算机连接,例如,局域网(“lan”)、广域网(“wan”)或互联网、通信网络、近场通信链路或其任何组合。

图2是图示根据本公开内容的示例性实施例的用于共享数字内容的过程200的流程图。应当理解,过程200仅是示例性的而不暗示关于本公开内容的范围的任何限制。例如,过程200中的一些步骤或动作是可选的,并且能够根据具体要求和应用而被省略。

如图2中的步骤202所示,第一设备120通过向认证设备110发送共享请求来发起共享数字内容项目的动作。在一些实施例中,第一设备120能够向认证设备110发送要共享的数字内容的id以及共享请求。在这种情况下,第一设备120是认证设备110已知的可信订户设备。根据drm要求,仅当第二设备130有效时才允许第二设备130使用数字内容,因此第二设备130在认证设备110发布新许可之前应当经受验证。

在步骤204中,认证设备110以匿名方式验证第二设备130的有效性。如借助图1所解释的,认证设备110可以具有黑名单115,黑名单115包括迄今为止认证设备110已知的无效或被阻止的设备或用户的公钥。因此,认证设备110能够确定第二设备130是否属于黑名单115中的无效设备。如果认证设备110发现第二设备130已经在其黑名单115中,则将拒绝与第二设备130共享数字内容的请求。

另外,在图2的步骤206中,认证设备110还需要验证第二设备130是否确实是第一设备120想要与之共享数字内容的预期接收者,或者仅仅是正在尝试通过作弊通过验证的伪造者。为此,根据本公开内容的一些实施例,认证设备110向第一设备120提供特定数据作为令牌,然后第一设备120将该特定数据加密并转发到第一设备120想要与之分享数字内容的第二设备130。第二设备130能够解密从第一设备120发送的数据集,并且返回响应消息。认证设备110能够例如借助于第一设备120经由安全链路从第二设备130接收响应消息,并且分析响应消息是否包含它已经发布的相同令牌。如果是,则其指示响应消息确实来自第一设备120信任的预期接收者,而不是作弊尝试。应当理解,虽然将验证204与图2中的验证206并行示出,但这仅仅是出于说明的目的,而不暗示对本公开内容的范围的任何限制。在一些实施例中,可以在验证步骤204之前或之后执行验证步骤206。

然后,认证设备110在步骤208中确定验证步骤204和206是否都得到通过,即,第二设备130是否是未被列入黑名单中的合格接收者。验证步骤204或206中的失败将会导致认证设备110拒绝共享请求,如步骤214所示。

否则,如果在步骤208中确定验证步骤204和206都通过,则认证设备110可以发布使用数字内容的新许可证,并且在步骤210中使第一设备的旧许可无效或被撤销。例如,响应于共享请求,能够将新许可证从认证设备110发送到第一设备120,并且第一设备120将新许可证转发到第二设备130,使得第二设备130能够使用新生成的许可证来消费数字内容。

在一些实施例中,可以部分撤销初始许可证,并且可以将drm权限的部分从第一设备120转移给第二设备130。作为范例,假设初始许可证具有将数字内容播放两次的权限。第一设备120可以通过向第二设备130提供播放数字内容一次的权限来共享数字内容。这能够通过改变第一设备120和第二设备130处的计数器或计数字段来实现。此时,分配给第一设备120的初始许可证刚刚被部分撤销。

在获得新授予的数字内容许可证之后,第二设备130可以直接地或通过第一设备120从认证设备110获得数字内容。然后,在步骤212中,第二设备130可以消费共享数字内容,例如,浏览书籍、看电影等。

以这种方式,认证设备110不知道与其共享数字内容的第二设备130的身份。因此,由于认证设备110以匿名方式验证第二设备130的有效性,因此提高了隐私级别。

能够看出,在过程200中,仅当验证步骤204和206都通过时,才能够与第二设备130共享数字内容。将参考图3详细描述实施验证步骤204和206的示例性实施例。

此外,根据本公开内容的一些实施例,第二设备120的有效性能够由第一设备120通过设备证书额外地验证。例如,第二设备可以将其设备证书发送到第一设备120。第一设备120可以验证第二设备130的设备证书,由此生成指示v,其指示第二设备130是有效设备还是非有效设备。指示v从第一设备120被提供给认证设备110。仅当指示v表明第二设备130是有效设备时,认证设备110才执行进一步的验证步骤204和206。否则,如果指示v显示第二设备130无效,则过程200将结束,并且认证设备110将直接拒绝共享请求。这样,drm系统中的内容共享的安全性以更有效的方式得到进一步改善。

图3是图示根据本公开内容的示例性实施例的图2的验证步骤204和206的示意图。如图3所示,在从第一设备120接收到共享请求时,认证设备110在步骤302中生成第一验证码r1和第二验证码r2。在所图示的范例中,第一验证码r1和第二验证码r2都是随机数。任何其他验证码(例如,随机字母或随机数字和字母的组合)也是可能的。在一些备选实施例中,第一验证码r1和/或第二验证码r2可以在用户设备(例如,第二设备120)处生成,然后被发送到认证设备110。

根据本公开内容的实施例,认证设备110维护黑名单115,黑名单115包括(一个或多个)未被用作有效公钥的公钥(例如,无效设备的公钥,或者公钥的用户被禁止消费由认证设备110管理的内容,或者这样的公钥已经无效或过期)。黑名单115能够以各种方式生成。例如,已经被证明是恶意设备的设备能够被放入黑名单115。在本公开内容中,黑名单115中列出的设备有时被称为“列入黑名单中的设备”。

然后,在步骤304中,认证设备110利用黑名单中列出的一个或多个公钥对第一验证码r1进行加密,以便获得第一验证码r1的一个或多个加密版本。因此,从第一验证码r1的加密版本生成第一认证数据集c,并且认证设备110将第一认证数据集c发送到第一设备120。第一认证数据集c能够被表示如下:

c=(c1,c2,…,cn)=(ekp1(r1),ekp2(r1),…,ekpn(r1))(1)

其中,n表示黑名单中的项目数,c1,c2,…,cn表示第一认证数据集c中的n个元素,kpn表示黑名单中第n个项目的公钥,并且ekpn(r1)表示通过使用黑名单中第n个项目的公钥kpn来加密r1而得到的加密验证码。

在一些实施例中,认证设备110要求第一验证码r1的大小足够大。如稍后将讨论的,大的随机数可以进一步降低恶意设备通过验证的风险。为此,如果列入黑名单中的设备的数量低于阈值数量,则在一个实施例中认证设备110可以通过用列入黑名单中的设备的公钥kp1,kp2,…,kpn和至少一个既无效也未列入黑名单中的额外公钥加密第一验证码r1来生成第一认证数据集c。备选地或额外地,认证设备110可以通过使用每个列入黑名单中的设备的公钥加密一个或多个额外随机数来生成第一认证数据集c。

然后,在步骤306中,认证设备110经由安全链路将第一认证数据集c发送到第一设备120。在一些实施例中,如果第二验证码r2由认证设备110生成,则认证设备110还在步骤306中将第二验证码r2发送到第一设备120。

作为响应,第一设备120利用第二设备130的公钥加密第二验证码r2,并且将第二验证码r2的这种加密版本与第一认证数据集c中的一个或多个元素进行组合,以例如生成第二认证数据集c’(步骤308)。由于第二设备130应当是第一设备120的用户想要与之共享数字内容的预期接收者,因此第一设备120应当知道第二设备130的公钥。因此,第一设备120能够使用第二设备130的公钥来加密第二验证码r2。应当理解,第二认证数据集c’包括在所接收的第一认证数据集c中的元素c1,c2,…,cn和第二验证码r2的加密版本,而第一认证数据集c是通过使用未被用作有效公钥的公钥加密第一验证码r1而在认证设备110处生成的。第二认证数据集c’能够被表示如下:

c’=(c1,c2,…,ck,ekpr(r2),c(k+1),…cn)(2)

其中,c1,c2,…,ck,ck+1,…cn表示第一认证数据集c中的n个元素,kpr表示第二设备130的公钥,并且ekpr(r2)表示通过使用第二设备130的公钥kpr加密第二验证码r2而获得的加密验证码。

在一些实施例中,第一设备120可以在随机位置处将加密验证码ekpr(r2)插入第二认证数据集c’。例如,加密验证码ekpr(r2)的位置是以第二设备130不能容易地识别出第二认证数据集c’中的加密验证码ekpr(r2)的方式随机确定的。

将这样生成的第二认证数据集c’经由安全链路从第一设备120发送到第二设备130(步骤310)。在接收到第二认证数据集c’时,第二设备130使用第二设备130的私钥解密第二认证数据集c’中的每个元素,以便获得响应消息m(步骤312)。因此,响应消息m可以被表示如下:

m=(dksr(b1),dksr(b2),….,dksr(bn),dksr(bn+1))(3)

其中,b1,b2,…,bn,bn+1表示第二认证数据集c’中的n+1个项目,ksr是第二设备130的私钥,并且dksr(bn)表示通过使用第二设备130的私钥ksr解密第二认证数据集c’中的第n个元素bn而获得的解密元素。如果第二设备120是预期接收者,则其公钥应当为第一设备120所知,因此响应消息m中的解密元素应当包括第二验证码r2。同时,如果第二设备130未被认证设备110列入黑名单,则第二设备130将不能解密第二认证数据集c’中已使用黑名单用户设备的公钥加密的元素,因此响应消息m中的解密元素不应包括第一验证码r1。

在图3中示出的实施例中,在步骤314中,将响应消息m通过安全链路从第二设备130发送到认证设备110。备选地,在另一实施例中,第二设备120能够首先将响应消息m发送到第一设备120,然后第一设备120将响应消息m转发到认证设备110。以这种方式,能够省去第二设备120与认证设备110之间的直接通信,并且进一步保护第二设备120的匿名性。

在一些实施例中,为了进一步防止认证设备110使用强力搜索来找出第二设备130的身份,能够在将响应消息m发出到认证设备110之前使响应消息m在第二设备130处经过某种单向函数(例如,散列函数)处理。在这种情况下,可以如下转换等式(3)。

m=(h(dksr(b1)),h(dksr(b2)),….,h(dksr(bn)),h(dksr(bn+1)))(4)

其中,h()指代单向函数,例如,散列算法,例如,md5或sha-1。当接收到这样的修改(或“散列”)响应消息m时,认证设备110不能解密响应消息m中的散列元素并将它们直接与第一验证码r1和第二验证r2进行比较,但是必须将相同的单向函数h()应用于第一验证码r1和第二验证r2并将响应消息m中的散列元素与散列的第一验证码h(r1)和散列的第二验证码h(r2)进行比较。以这种方式,即使当认证设备110试图通过使用它知道的用户设备的所有公共密钥强力解密所接收的响应时,认证设备110也不会知道第二设备130的身份。

在一些实施例中,在第二设备130处选择或生成秘密验证码x,例如,随机数,其将用作新许可证的加密密钥。第二设备130使用认证设备110的公钥kps来加密秘密验证码x以获得加密密钥ekps(x),并将加密密钥发送到认证设备110。在示例性实施例中,第二设备130可以将加密密钥ekps(x)与响应消息m一起发送到第一设备120,并且第一设备120继而又将这些数据转发到认证设备110。

在一些实施例中,第二设备130可以将权限转移中涉及的数字内容的id、响应消息m和加密密钥ekps(x)组合成组合响应消息,并将组合响应消息直接地或经由第一设备120发送到认证设备110。

在一些实施例中,第二设备130还可以将其设备证书发送到第一设备120。然后,第一设备120能够验证第二设备130的设备证书并生成用于发信号通知设备证书是否有效的指示v。然后,第一设备120将响应消息和指示v发送到认证设备110以用于进一步验证。当接收到从第一设备110发送的指示v(例如与响应消息m一起)时,认证设备110可以首先检查指示v。如果指示v示出第二设备130的设备证书有效,则认证设备110将继续验证响应消息m。否则,如果指示v示出第二设备130的设备证书无效或过期,则认证设备110将拒绝共享请求而不进行进一步的验证。

将参考图4进一步描述认证设备110处的验证过程,图4示出了用于验证的决策树的示意图。在步骤410中,认证设备110将检查所接收的响应消息m是否包含与第一验证码r1相对应的任何数据值。

如上面参考图3所描述的,分别地,第一数据r1已经在步骤304中使用认证设备110已知的列入黑名单中的设备的公钥进行了加密,并且第二设备130已经在步骤312中使用其自己的私钥ksr解密了加密版本的第一验证码r1。如果第二设备130本身是由认证设备110列入黑名单中的无效设备,则第二设备130的用于在认证设备110处加密第一验证码r1的公钥将与第二设备130的用于解密第二认证数据集c’的私钥配对,结果,响应消息m将包含与第一验证码r1相对应的值。因此,当认证设备110发现所接收的响应消息m包括与第一验证码r1相对应的元素时(分支420),认证设备110能够将第二设备130确定为列入黑名单中的设备(节点450)。作为回复,认证设备110将拒绝向第二设备130的权限转移。

相反,如果第二设备130不是列入黑名单中的设备,则用于加密和解密第一验证码r1的密钥必须彼此不匹配。结果,响应消息m将有非常高的可能性不包含第一验证码r1,因为第二设备130不能从第二认证数据集c’正确地解密加密版本的第一验证码r1。因此,认证设备110能够确定第二设备130不在其知道的列入黑名单中的设备中。

而且,在图4的步骤410中,认证设备110将检查所接收的响应消息m是否包括与第二验证码r2相对应的数据值。如果第二验证码r2被包括在响应消息m(分支430)中,则意味着第二设备130已经使用其私钥成功解密了第二认证数据集c’。由于第二验证码r2仅为认证设备110和第一设备120所知,因此,对第二认证数据集c’中的加密版本的第二验证码r2的成功解密表明第二设备130确实是第一设备120已经向其转发了第二认证数据集c’的预期接收者。否则,如果所接收的响应消息m不包括与第二验证码r2相对应的任何数据值,则这可能暗示所接收的响应消息m来自伪造者而不是预期接收者。

能够在认证设备110处以任何顺序或并行地实施关于第一验证码r1和第二验证码r2的上述验证。如果认证设备110在步骤410中确定所接收的响应消息m包含与第二验证码r2相对应的数据值但不包含与第一验证码r1相对应的任何数据值,那么这指示验证已经通过(即,第二设备130是接收权限转移的有效drm设备,过程进行到分支430),并且认证设备110将允许共享请求(节点460)。

如果结果是所接收的响应消息m不包括第一验证码r1或第二验证码r2(分支440),则这指示即使第二设备130不在对于认证设备110已知的列入黑名单中的设备中,也会怀疑第二设备130作弊,因为它未能使用其私钥解密第二认证数据集c’中的第二验证码r2。然后,认证设备110将第二设备130确定为欺诈设备并拒绝权限转移(节点470)。

在这样的验证之后,认证设备110可以向第一设备120给出回复并通知第一设备120是否允许共享请求。

在一些实施例中,所述第一验证码r1和所述第二验证码r2都是随机数。在其他实施例中,第一验证码r1和第二验证码r2中的至少一个可以包括多个随机数,而不是单个随机数。如果第一验证码r1包括多个随机数,则列入黑名单中的设备中的公钥中的每个公钥能够用于加密第一验证码r1中的至少一个随机数以生成第一认证数据集c。同样,如果第二验证码r2包括多个随机数,则第二设备130的公钥可以用于加密第二验证码r2中的所有随机数以生成第二认证数据集c’,以便提高受drm保护的数字内容的安全性。

为了避免在用错误密钥解密时的意外匹配(冲突),能够将第一验证码r1和/或第二验证码r2的长度设置得足够长。仍然以随机数为例,第一验证码r1和第二验证码r2中的至少一个的长度可以超过预定长度(例如,128位)。

在如上所述的一些实施例中,当第二设备130已经向响应消息m强加了单向函数h()(例如,如md5或sha-1的散列函数)以实施更高的隐私保护时,认证设备110将还将相同的单向函数h()应用于第一验证码r1和第二验证码r2,以分别获得修改的(散列的)第一验证码和第二验证码,即,h(r1)和h(r2),其中,h()指代与由第二设备130所使用的相同的单向函数。一旦认证设备110从第二设备130接收到散列响应消息m,认证设备110就将在步骤410中验证所接收的散列响应消息m是否包含与修改的第二验证码h(r2)相对应的数据值而不包含与修改的第一验证码h(r1)相对应的任何数据值。而且,只有在此类验证通过后才会允许权限转移。

否则,如果结果是散列响应消息m包含与修改的第一验证码h(r1)相对应的数据值,则认证设备110能够确定第二设备130是列入黑名单中的设备;或者,如果散列响应消息m不包含与修改的第二验证码h(r2)相对应的数据值,则这指示第二设备130可能是试图作弊的欺诈设备。认证设备110将相应地拒绝权限转移。

在如上所述的一些实施例中,当所接收的响应消息包括加密密钥ekps(x)时(其中,x是由第二设备130生成并且用认证设备110的公钥加密的秘密密钥(例如,随机数)),认证设备110可以在步骤410中的验证成功之后解密ekps(x)以获得秘密密钥x,并且例如基于由第一设备120使用的旧许可证的id来生成新许可证,同时使用x作为新许可证中的加密密钥。能够在消息中将新生成的许可证发送到第一设备120,并且能够撤销旧许可证或使其无效。第二设备130能够使用该新许可来消费共享数字内容。

在一些实施例中,可以多次执行过程300中的动作302-314以增强安全性。如果在验证中的任何一个验证中未能成功验证第二设备130的有效性,则第二设备130将被识别为无效设备。

在如上所述的一些实施例中,当所接收的响应消息包括在认证设备130的设备证书之后由第一设备120生成的指示v时,认证110可以在进行步骤410中的验证之前首先检查指示v。如果指示v表明第二设备130的设备证书无效,则认证110能够直接拒绝共享请求而无需进行进一步的验证。否则,如果指示v显示第二设备130的设备证书有效,则认证110能够继续在步骤410中进行验证,如上文所解释的。

图5是适合于实施本公开内容的实施例的设备500的框图。例如,设备500可以用作认证设备110、第一设备120和/或第二设备130,如上面参考图1所讨论的。如图所示,设备500包括处理单元501(例如,中央处理单元cpu),其能够根据被存储在只读存储器(rom)502中的程序或从存储单元508加载到随机存取存储器(ram)503的程序来执行各种处理。在ram503中,根据需要还存储有cpu501执行各种处理等时所需的数据。cpu501、rom502和ram503经由总线504彼此连接。输入/输出(i/o)接口505也连接到总线504。

以下部件连接到i/o接口505:输入单元506,其包括键盘、鼠标等;输出单元507,其包括诸如阴极射线管(crt)、液晶显示器(lcd)等的显示器以及扬声器等;存储单元508,其包括硬盘等;以及通信单元509,其包括诸如lan卡、调制解调器等的网络接口卡。通信单元509经由诸如互联网的网络来执行通信过程。

具体地,根据本公开内容的实施例,上文参考图2和图3描述的过程或方法200和300可以被实施为计算机程序。例如,本公开内容的实施例包括计算机程序产品,该计算机程序产品包括有形地实施在机器可读介质上的计算机程序,该计算机程序包括用于执行过程或方法200和300的程序验证代码。在这样的实施例中,可以经由通信单元509从网络下载和安装该计算机程序。

为了说明本公开内容的精神和原理,上文已经描述了本公开内容的一些具体实施例。通常,各种示例性实施例可以以硬件或专用电路、软件、逻辑单元或其任何组合的方式得以实施。一些方面可以以硬件的方式得以实施,而其他方面可以以可以由控制器、微处理器或其他计算设备运行的固件或软件的方式得以实施。虽然本公开内容的示例性实施例的各个方面被示出并被描述为框图、流程图或者使用一些其他图示来表示,但是应当了解,作为非限制性范例,本文描述的框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑单元、通用硬件或控制器或其他计算设备或其某种组合的方式得以实施。

在本公开内容的上下文中,机器可读介质可以是任何有形介质,其能够包含或存储由指令运行系统、装置或设备使用的或与其结合使用的程序。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或者前述项目的任何合适组合。机器可读存储介质的更为具体的范例将包括具有一根或多根电线、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式光盘只读存储器(cd-rom)、光学存储设备、磁性存储设备或前述项目的任何合适组合的电连接。

可以以一种或多种编程语言的任何组合来编写用于执行本公开内容的方法的计算机程序验证码。这些计算机程序验证码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得程序验证码在由计算机或其他可编程数据处理装置的处理器运行时引起要实施的流程图和/或框图中指定的功能或操作。程序验证码可以以如下方式运行:完全在计算机上,部分在计算机上,作为独立的软件包,部分在计算机上且部分在远程计算机上,或者完全在远程计算机或服务器上。

另外,虽然以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这些操作或者执行所有图示的操作以实施期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。同样,虽然上述讨论中包含若干具体实施方式的细节,但这些都不应被解释为对任何公开内容的或可要求保护的范围的限制,而是作为对可以特定于具体公开内容的具体实施例的特征的描述。在单独的实施例的上下文中,在本说明书中描述的某些特征也能够在单个实施例中以组合方式得以实施。相反,在单个实施例的上下文中描述的各种特征也能够单独地或以任何合适的子组合的方式在多个实施例中得以实施。

当结合附图阅读时,鉴于前文的描述,对本公开内容的前述示例性实施例的各种修改、调整对于相关领域的技术人员而言将变得明显。任何修改和所有修改仍将落入本公开内容的非限制性和示例性实施例的范围内。此外,本公开内容的这些实施例所属领域的技术人员将会想到本文所阐述的公开内容的其他实施例,其具有前述说明和附图中呈现的教导的益处。

因此,应当了解,本公开内容的实施例不限于所公开的特定实施例,并且修改和其他实施例旨在被包括在权利要求的范围内。虽然本文使用了特定术语,但是这些特定术语仅以一般性和描述性意义使用,而不是出于限制的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1