CN107567625A - 组许可加密和解密 - Google Patents

组许可加密和解密 Download PDF

Info

Publication number
CN107567625A
CN107567625A CN201680025140.1A CN201680025140A CN107567625A CN 107567625 A CN107567625 A CN 107567625A CN 201680025140 A CN201680025140 A CN 201680025140A CN 107567625 A CN107567625 A CN 107567625A
Authority
CN
China
Prior art keywords
key
content
media content
group
master key
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.)
Granted
Application number
CN201680025140.1A
Other languages
English (en)
Other versions
CN107567625B (zh
Inventor
H.阿利
L.彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN107567625A publication Critical patent/CN107567625A/zh
Application granted granted Critical
Publication of CN107567625B publication Critical patent/CN107567625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

根据一方面,计算设备可以包括:媒体内容处理器,所述媒体内容处理器用于获得媒体内容;组许可管理器,所述组许可管理器用于判定所述媒体内容是否是许可组的一部分,并且当所述媒体内容被确定为所述许可组的一部分时,所述组许可管理器可以判定之前是否接收到所述许可组的主密钥。当之前没有接收到所述主密钥时,所述组许可管理器可以通过网络向许可管理器发送许可请求。所述组许可管理器可以通过所述网络接收许可以便允许访问所述媒体内容,其中,所述许可包括所述主密钥。所述计算设备可以包括:密钥生成器,所述密钥生成器用于基于所述主密钥导出内容密钥;以及解密单元,所述解密单元用于使用导出的内容密钥对所述媒体内容进行解密。

Description

组许可加密和解密
相关申请的交叉引用
本申请要求在2015年9月15日提交的题为“GROUP LICENSE ENCRYPTION ANDDECRYPTION(组许可加密和解密)”的美国非临时专利申请号14/854,799的优先权并且是所述专利申请的继续申请,所述专利申请的公开内容通过引用全部结合在此。
背景技术
包含一个或多个内容密钥的许可可能需要对媒体内容进行解密和回放。在一些示例中,媒体内容可以包括视频文件,如电影。在一些示例中,可以指示设备对相对大量的电影进行解密,并且因此,由于系统中的网络限制和等待时间问题,请求每个电影的许可可能是个问题。此外,在一些示例中,单个电影可能包含音频磁迹、标清(SD)视频磁迹以及(可能包含)高清(HD)视频磁迹,其中,可以使用不同内容密钥来对每个磁迹进行加密。根据常规许可交换技术,设备可以从许可服务器处重复请求内容密钥,由此增大网络流量的量(例如,对于每个电影内的每个磁迹,设备可能必须发送内容标识符并且然后接收唯一内容密钥)。此外,这种增加的网络流量可能在不具有可靠网络连接的位置中产生甚至比拥塞问题更严重的问题。
发明内容
附图和以下说明书阐述了一个或多个实施方式的细节。根据说明书和附图以及权利要求书,其他特征将是显而易见的。
根据一方面,一种计算设备可以包括:媒体内容处理器,所述媒体内容处理器被配置用于获得媒体内容;组许可管理器,所述组许可管理器被配置用于判定所述媒体内容是否是许可组的一部分,并且当所述媒体内容被确定为所述许可组的一部分时,所述组许可管理器被配置用于判定之前是否接收到所述许可组的主密钥。当之前没有接收到所述主密钥时,所述组许可管理器可以被配置用于通过网络向许可管理器发送许可请求。所述许可请求可以包括标识所述媒体内容的内容标识符以及标识包括所述媒体内容的所述许可组的组标识符。所述组许可管理器可以被配置用于通过所述网络接收许可以便允许访问所述媒体内容,其中,所述许可包括与所述许可组相对应的所述主密钥。所述计算设备可以包括:密钥生成器,所述密钥生成器被配置用于基于所述主密钥导出针对由所述内容标识符标识的所述媒体内容的内容密钥;以及解密单元,所述解密单元被配置用于使用导出的内容密钥对所述媒体内容进行解密,从而使得可以访问所述媒体内容。
所述计算设备可以包括以下特征中的一个或多个特征(或其任何组合)。所述媒体内容处理器可以被配置用于获得第二媒体内容,并且所述组许可管理器可以被配置用于确定所述第二媒体内容是包括所述媒体内容的所述许可组的一部分。所述密钥生成器可以被配置用于基于用于导出所述媒体内容的所述主密钥导出针对所述第二媒体内容的第二内容密钥,并且所述解密单元可以被配置用于使用所述第二内容密钥对所述第二媒体内容进行解密。所述许可还可以包括所述内容密钥,其中,所述解密单元可以将接收为所述许可的一部分的所述内容密钥或由所述密钥生成器导出的内容密钥用于对所述媒体内容进行解密的。当所述媒体内容被确定为不是所述许可组的一部分时,所述许可管理器可以被配置用于从许可管理器处请求并接收用于对所述媒体内容进行解密的单独内容密钥。当所述主密钥已经被确定为是之前接收的时,所述密钥生成器可以被配置用于使用之前接收的主密钥导出所述内容密钥。所述密钥生成器可以被配置用于使用与所述主密钥、所述内容标识符和所述组标识符一起输入的密钥导出函数导出所述内容密钥。所述组许可管理器可以被配置用于基于所述许可请求中包含所述组标识符来判定所述媒体内容是否是所述许可组的一部分。所述许可组可以包括多个电影,并且所述媒体内容可以是来自所述多个电影的单个电影。
根据一方面,一种系统可以包括:许可管理器,所述许可管理器被配置用于从计算设备处接收许可请求,其中,所述许可请求包括标识包括媒体内容的许可组的组标识符;以及密钥生成器,所述密钥生成器被配置用于使用所述组标识符获得主密钥,其中,所述主密钥是所述许可组的密钥,从而使得可以使用所述主密钥导出作为所述许可组的一部分的每个媒体内容的内容密钥。所述许可管理器可以被配置用于向所述计算设备发送许可,所述许可包括所述主密钥。
所述计算设备可以包括以上或以下特征中的一个或多个特征(或其任何组合)。所述许可请求可以包括标识媒体内容的内容标识符,并且所述密钥生成器可以被配置用于生成由所述内容标识符标识的所述媒体内容的内容密钥,其中,所述许可包括所述主密钥和所述内容密钥两者。所述密钥生成器可以被配置用于从存储多个主密钥的主密钥数据库中获得所述主密钥,其中,所述多个主密钥中的每个主密钥与不同许可组相对应。所述计算设备可以包括加密单元,所述加密单元被配置用于对所述主密钥进行加密,并且所述许可管理器可以被配置用于发送具有经加密的主密钥的所述许可。所述组许可管理器可以被配置用于基于所述许可请求内包含所述组标识符来判定所述媒体内容是否是所述许可组的一部分。在从所述计算设备处接收所述许可请求之前,所述许可管理器可以被配置用于从媒体内容提供器处接收密钥请求,其中,所述密钥请求包括所述组标识符以及标识所述媒体内容的内容标识符。所述密钥生成器可以被配置用于基于所述主密钥和所述内容标识符导出所述内容密钥,并且所述许可管理器可以被配置用于向所述媒体内容提供器返回所述内容密钥,从而使得可以使用所述内容密钥对所述媒体内容进行加密。所述许可管理器可以被配置用于基于所述密钥请求内包含所述组标识符来判定所述媒体内容是否是所述许可组的一部分。当所述密钥请求不包括所述组标识符时,所述密钥生成器被配置用于在不使用所述主密钥的情况下导出所述内容密钥。所述媒体内容可以是电影的单个磁迹。
根据一方面,一种系统可以包括:媒体内容提供器,所述媒体内容提供器被配置用于向许可管理器发送密钥请求,其中,所述密钥请求包括标识媒体内容的内容标识符以及标识所述媒体内容的许可组的组标识符。所述媒体内容提供器可以被配置用于从所述许可管理器处接收密钥响应,其中,所述密钥响应包括针对由所述内容标识符标识的所述媒体内容的内容密钥。所述系统可以包括提供器加密单元,所述提供器加密单元被配置用于使用所述内容密钥对所述媒体内容进行加密,其中,所述媒体内容提供器被配置用于提供经加密的媒体内容以供访问。
所述系统可以包括以上或以下特征中的一个或多个特征(或其任何组合)。包括在所述密钥响应中的所述内容密钥是经加密的内容密钥,并且所述系统进一步包括提供器解密单元,所述提供器解密单元被配置用于对经加密的内容密钥进行解密。所述提供器加密单元被配置用于使用经解密的内容密钥来对所述媒体内容进行加密。所述提供器加密单元可以被配置用于使用已经从相同主密钥中导出的唯一内容密钥对属于所述许可组的所有媒体内容进行加密。所述许可组可以定义多个电影,并且所述媒体内容可以表示单个电影。
附图说明
图1是根据一方面的用于实施组许可机制的系统的框图,所述组许可机制用于控制对媒体内容的下载和回放。
图2展示了根据一方面的图1的系统的许可组的示例。
图3展示了根据一方面的图1的系统的密钥生成器的示例。
图4展示了根据一方面的具有用于保护内容密钥的多个保护层的组许可机制的示例。
图5展示了流程图,所述流程图描绘了根据一方面的图1的系统的计算设备的示例操作。
图6展示了流程图,所述流程图描绘了根据一方面的图1的系统的许可管理器的示例操作。
图7展示了流程图,所述流程图描绘了根据一方面的图1的系统的许可管理器的示例操作。
图8展示了流程图,所述流程图描绘了根据一方面的图1的系统的媒体内容提供器的示例操作。
图9是框图,示出了可以用于实施图1至图8的系统和方法的示例或代表性计算设备和相关联元件。
具体实施方式
本文中讨论的实施方式提供了一种组许可机制,其中,使用从主密钥中导出的唯一内容密钥来对许可组的所有媒体内容进行加密。然后,计算设备可以从许可管理器中取回主密钥并且可以使用主密钥来导出用于许可组的所有媒体内容部分的内容密钥以便解密和回放许可组的任何媒体内容部分。因此,代替通过重复请求每个媒体内容的单独内容密钥而消耗大量资源,计算设备可以向许可管理器发送针对可以用于对许可组中的所有媒体内容进行解密的许可的单个许可请求,由此使到许可管理器的网络流量最小化。此外,在一些实施方式中,因为内容密钥从主密钥中导出,所以内容密钥未存储在系统中,这可能导致更安全的许可交换系统。
图1是根据一方面的用于实施组许可机制的系统100的框图,所述组许可机制用于控制对媒体内容140的下载和回放,其中,使用从主密钥128导出的唯一内容密钥112来对属于许可组115的每个媒体内容140进行加密和解密。系统100可以包括计算设备102、许可管理器104以及媒体内容提供器106,所述组件可以经由网络142彼此连接。
计算设备102可以是移动计算设备(例如,智能电话、PDA、平板设备、膝上型计算机、媒体流设备等)或非移动计算设备(例如,台式计算设备、游戏机等)。计算设备102可以包括各种网络接口电路,诸如例如,计算设备102可以通过其与网络142通信的网络接口。网络142可以包括一个或多个私人网络和/或公共网络,包括蜂窝网络、计算设备102可以使用其与Wi-Fi基站通信的Wi-Fi网络、计算设备102可以使用其与其他蓝牙设备通信的蓝牙网络和/或使计算设备102能够接入网络142的以太网连接或其他有线连接。
计算设备102可以经由网络142访问媒体内容提供器106以便获得媒体内容140。例如,计算设备102可以与媒体内容提供器106通信以便经由被配置用于渲染媒体内容140的回放单元118在计算设备102上观看、访问、下载、流式传输和/或回放媒体内容140。回放单元118可能够渲染由媒体内容140定义的任何视频、软件、音频、图像和/或文本数据。而且,计算设备102可以包括耦合至一个或多个基板的一个或多个计算机处理器以及非暂态计算机可读介质,所述非暂态计算机可读介质存储可执行指令,所述可执行指令在被所述一个或多个计算机处理器执行时,被配置用于实施本文中描述的各种功能。
媒体内容提供器106可以包括一个或多个媒体内容源,所述媒体内容源通过网络142向包括计算设备102的多个计算设备分配媒体内容140。在一些示例中,媒体内容提供器106可以是提供媒体内容140以供计算设备102免费使用或购买的一个或多个在线数字媒体存储库。媒体内容提供器106可以包括具有能够连接至网络142的一个或多个网络接口的一个或多个服务器设备。在一些示例中,媒体内容提供器106可以包括耦合至一个或多个基板的一个或多个计算机处理器以及非暂态计算机可读介质,所述非暂态计算机可读介质存储可执行指令,所述可执行指令在被所述一个或多个计算机处理器执行时被配置用于实施本文中描述的各种功能。
许可管理器104可以被配置用于管理和创建针对由媒体内容提供器106提供的媒体内容140的许可126。在一些示例中,许可管理器104可以包括充当集中式计算机系统的许可服务器,所述集中式计算机系统实施本文中讨论的组许可机制的至少一部分。许可管理器104可以向媒体内容提供器106提供内容密钥112,从而使得在分配之前,可以对每个媒体内容140进行加密,并且可以向计算设备102提供主密钥128(以及可能提供内容密钥112),从而使得计算设备102可以对媒体内容140进行解密和回放。在一些示例中,许可管理器104可以包括具有能够连接至网络142的一个或多个网络接口的一个或多个许可服务器设备。在一些示例中,许可管理器104可以包括耦合至一个或多个基板的一个或多个计算机处理器以及非暂态计算机可读介质,所述非暂态计算机可读介质存储可执行指令,所述可执行指令在被所述一个或多个计算机处理器执行时被配置用于实施本文中描述的各种功能。在一些示例中,许可管理器104可以在与实施媒体内容提供器106的(多个)服务器分离的一个或多个服务器上实施,并且许可管理器104与媒体内容提供器106之间的任何通信通过网络142经由建立的网络(互联网)通信协议传输。在一些示例中,许可管理器104可以是媒体内容提供器106的一部分。
媒体内容140可以指需要许可126来访问(例如,回放)媒体内容140的任何内容。媒体内容140可以包括视频、软件、音频、图像和/或文本数据。在一些示例中,媒体内容140可以包括如数字地广播、流式传输或提供为计算机文件格式的一部分的数字媒体内容。在一些示例中,媒体内容140可以包括视频内容。在一些示例中,媒体内容140可以包括音频内容。在一些示例中,媒体内容140可以包括电影。在一些示例中,媒体内容140可以指电影的单个磁迹。例如,电影可由音频磁迹和一个或多个视频磁迹(比如,高清(HD)磁迹、标清(SD)磁迹和4K分辨率磁迹)限定。根据上下文,媒体内容140可以指以下各项之一:音频磁迹、HD磁迹、SD磁迹以及4K分辨率磁迹。在其他示例中,媒体内容140可以指整个电影(例如,音频磁迹、HD磁迹、SD磁迹以及可能4K分辨率磁迹)。
图2展示了根据一方面的许可组115的示例。许可组115可以与组标识符122相关联。组标识符115可以是唯一地标识特定许可组115的标识符。组标识符115可以是唯一地标识许可组115的数据表示。在一些示例中,组标识符115是数字标识符。
许可组115可以限定多个媒体内容,比如,第一媒体内容140-1、第二媒体内容140-2以及第三媒体内容140-3。尽管图2展示了三条单独项的媒体内容140,但是许可组115可以限定任何数量的媒体内容140。在一些示例中,第一媒体内容140-1、第二媒体内容140-2以及第三媒体内容140-3包括彼此不同的内容。在一些示例中,第一媒体内容140-1指第一电影;第二媒体内容140-2指第二电影;并且第三媒体内容140-3指第三电影。在一些示例中,关于特定电影,第一媒体内容140-1可以指音频磁迹;第二媒体内容140-2可以指HD磁迹;并且第三媒体内容140-3可以指SD磁迹。应指出的是,贯穿本公开使用的电影示例仅仅是可由媒体内容140覆盖的许多类型的内容的示例实施方式。例如,许可组115可以限定多种其他类型的媒体内容,比如,一系列数字文件、数字歌曲等。而且,单个许可组115不一定限定相同类型的媒体内容(例如,所有电影文件)。在一些示例中,许可组115可以限定两个或多个类别(例如,电影、歌曲、文章和/或文件)的集合。
参照图1和图2,媒体内容提供器106可以限定许可组115。例如,媒体内容提供器106可以指示哪个媒体内容140属于许可组115。例如,媒体内容提供器106可以限定电影#1到电影#50是第一许可组的一部分,并且电影#51到电影#100是第二许可组的一部分。在一些示例中,媒体内容提供器106可以将组标识符122与第一媒体内容140-1相关联,并且向第二媒体内容140-2和第三媒体内容140-3分配相同组标识符122。将组标识符122分配给第一媒体内容140-1可以指示第一媒体内容140-1是许可组115的一部分或(或属于许可组115)。
媒体内容提供器106可以包括提供器加密单元138,提供器加密单元138被配置用于使用从同一主密钥128导出的唯一内容密钥112来对许可组115的每个媒体内容140进行加密。例如,提供器加密单元138可以被配置用于使用第一内容密钥(例如,图3中示出的第一内容密钥112-1)来对第一媒体内容140-1进行加密,使用第二内容密钥(例如,图3中示出的第二内容密钥112-2)来对第二媒体内容140-2进行加密,并且使用第三内容密钥(例如,图3中示出的第三内容密钥112-3)来对第三媒体内容140-3进行加密。第一内容密钥112-1、第二内容密钥112-2和第三内容密钥112-3可以对彼此来说是唯一的。如以下进一步解释的,第一内容密钥112-1、第二内容密钥112-2和第三内容密钥112-3可以从同一主密钥128导出。
媒体内容提供器106可以发送针对内容密钥112的密钥请求134并且接收具有针对媒体内容140的内容密钥112的密钥响应136。密钥请求可以包括唯一地标识媒体内容140的内容标识符124以及标识媒体内容140的许可组115的组标识符122。将组标识符122包括在密钥请求134中可以指示媒体内容提供器106已经向许可组115分配了媒体内容140。
具体地,媒体内容提供器106可以向许可管理器104发送作为针对第一内容密钥112-1的密钥请求134第一密钥请求,并且从许可管理器104接收密钥响应136作为第一密钥响应。第一密钥请求可以包括针对第一媒体内容140-1的内容标识符124以及第一媒体内容140-1所属的许可组115的组标识符122。第一密钥响应可以包括针对第一媒体内容140-1的第一内容密钥112-1(例如,只有第一内容密钥112-1能够解锁第一媒体内容140-1)。在一些示例中,第一内容密钥112-1是加密的内容密钥。在其它示例中,第一内容密钥112-1是非加密的内容密钥。然后,媒体内容提供器106的提供器加密单元138可以使用第一内容密钥112-1来对第一媒体内容140-1进行加密。而且,媒体内容提供器106可以包括提供器解密单元139,所述提供器解密单元139被配置用于对第一内容密钥112-1进行解密(如果第一内容密钥112-1是加密的)。然后,提供器加密单元138可以使用解密的第一内容密钥112-1来对第一媒体内容140-1进行加密。
媒体内容提供器106可以向许可管理器104发送针对第二内容密钥112-2的密钥请求134作为第二密钥请求,并且从许可管理器104接收密钥响应136作为第二密钥响应。第二密钥请求可以包括针对第二媒体内容140-2的内容标识符124以及第二媒体内容140-2所属的许可组115的组标识符122。第二密钥响应可以包括针对第二媒体内容140-2的第二内容密钥112-2(例如,只有第二内容密钥112-2能够解锁第二媒体内容140-2)。在一些示例中,第二内容密钥112-2是加密的内容密钥。在其它示例中,第二内容密钥112-2是非加密的内容密钥。然后,媒体内容提供器106的提供器加密单元138可以使用第二内容密钥112-2来对第二媒体内容140-2进行加密,或者提供器解密单元139可以对第二内容密钥112-2进行解密(如果第二内容密钥112-2是加密的),并且提供器加密单元138可以使用解密的第二内容密钥112-2来对第二媒体内容140-2进行加密。
关于第三媒体内容140-2,媒体内容提供器106可以以与以上描述的相同的方式发送密钥请求134并接收密钥响应136,这二者分别作为第三密钥请求和第三密钥响应。在一些示例中,属于同一许可组115的所有媒体内容140的密钥请求134可以按顺序发送(例如,第一密钥请求,然后是第二密钥请求,然后是第三密钥请求)。在其他示例中,针对许可组115的所有媒体内容140的密钥请求134可以同时(或大约同时)发送。在其他示例中,媒体内容提供器106可以发送单个密钥请求134来请求针对许可组115的所有媒体内容140的内容密钥112,并且接收具有针对许可组115的所有内容密钥112的单个密钥响应136。在此示例中,密钥请求134可以指定许可组115的每个媒体内容140部分的内容标识符124以及许可组115的组标识符122。
许可管理器104可以包括密钥生成器130,密钥生成器130被配置用于响应于接收到密钥请求134而从对应于与内容标识符124相关的许可组115的主密钥128中导出针对由内容标识符124标识的媒体内容140的内容密钥112。例如,密钥生成器130可以被配置用于从存储多个主密钥128的主密钥数据库132中获得与许可组115相对应的主密钥128。主密钥数据库132中的每个主密钥128可以与不同许可组115相对应。在一些示例中,密钥生成器130可以使用组标识符122来搜索主密钥数据库132以便定位适当的主密钥128。在其他示例中,密钥生成器130可以通过导出(或生成)主密钥128来获得主密钥128。
图3展示了根据一方面的许可管理器104的密钥生成器130或计算设备102的设备密钥生成器110的示例。计算设备102的设备密钥生成器110可以包括以与许可管理器104的密钥生成器130的功能中的至少一些功能相同的方式运行的功能。稍后在本公开中描述计算设备102的设备密钥生成器110。
许可管理器104的密钥生成器130可以基于主密钥128、组标识符122和内容标识符124生成内容密钥112。例如,关于第一媒体内容140-1,密钥生成器130可以从接收到的密钥请求134中导出针对第一媒体内容140-1的内容标识符124以及许可组115的组标识符122。将组标识符122包括在密钥请求134中可以向密钥生成器130指示第一媒体内容140-1是具有唯一地标识许可组115的组标识符122的许可组115的一部分。然后,密钥生成器130可以确定使用与许可组115相对应的主密钥128来导出针对第一媒体内容140-1的第一内容密钥112-1。否则,如果密钥请求134不包含组标识符122,则密钥生成器130可以在不使用主密钥128的情况下生成针对第一媒体内容140-1的单独内容密钥。然而,由于密钥请求134包括组标识符122,所以密钥生成器130可以使用组标识符122来定位来自主密钥数据库132的与许可组115相对应的主密钥128。然后,如以下进一步解释的,密钥生成器130可以基于许可组115的主密钥128、组标识符122以及唯一地标识第一媒体内容140-1的内容标识符124导出第一内容密钥112-1。
密钥生成器130可以使用密钥导出函数121来导出第一内容密钥112-1。密钥导出函数121可以是用于导出给定大小的密钥的确定性算法。在一些示例中,密钥导出函数121基于组标识符122和128位的长度按照16字节高级加密标准(AES)生成内容密钥112。然而,密钥导出函数121可以使用AES或能够导出唯一内容密钥的其他加密标准内的任何类型的密钥导出函数参数。密钥生成器130可以以以上描述的相同方式生成针对第二媒体内容140-2的第二内容密钥112-2以及针对第三媒体内容140-3的第三内容密钥112-3。
返回参照图1,在一些示例中,许可管理器104可以包括加密单元131,所述加密单元131被配置用于对内容密钥112进行加密,并且将加密的内容密钥112发送回媒体内容提供其106以便由提供器解密单元139进行解密。例如,加密单元131可以对第一内容密钥112-1进行加密并且向媒体内容提供器106发送具有第一内容密钥112-1的第一密钥响应。然后,提供器解密单元139可以对第一内容密钥112-1进行解密,并且提供器加密单元138可以使用解密的第一内容密钥112-1来对第一媒体内容140-1进行加密。而且,加密单元131可以对第二内容密钥112-2进行加密并且向媒体内容提供器106发送具有第二内容密钥112-2的第二密钥响应。然后,提供器解密单元139可以对第二内容密钥112-2进行解密,并且提供器加密单元138可以使用解密的第二内容密钥112-2来对第二媒体内容140-2进行加密。
返回参照图1,计算设备102可以经由网络142访问媒体内容提供器106以便获得媒体内容140。例如,计算设备102可以与媒体内容提供器106通信以便经由被配置用于渲染媒体内容140的回放单元118在计算设备102上观看、访问、下载、流式传输和/或回放媒体内容140。然而,计算设备102可能需要获得许可126以便在计算设备102上观看、访问、下载、流式传输和/或回放媒体内容140。根据实施例,计算设备102不需要发送针对许可组115的每个媒体内容140的单独许可请求120。相反,计算设备102可以接收用于对许可组115的所有媒体内容140进行解密的单个许可126,由此使到许可管理器104的网络流量最小化。
例如,计算设备102的媒体内容处理器116可以获得第一媒体内容140-1以便进行回放。媒体内容处理器116可以通过网络142从媒体内容提供器106获得第一媒体内容140-1。在其他示例中,媒体内容处理器116可以从计算设备102的存储区域获得第一媒体内容140-1。在一些示例中,媒体内容处理器116可以确定访问第一媒体内容140-1所需的许可126。
计算设备102可以包括组许可管理器108,所述组许可管理器被配置用于判定第一媒体内容140-1是否是许可组115的一部分。在一些示例中,组许可管理器108可以判定组标识符122是否与第一媒体内容140-1相关联。如果组标识符122包括为第一媒体内容140-1的一部分(例如,包括为与第一媒体内容140-1相关联的元数据),则组许可管理器108可以确定第一媒体内容140-1是为许可组115的一部分。另一方面,如果组标识符122未提供有第一媒体内容140-1,则组许可管理器108可以确定第一媒体内容140-许不是许可组115的一部分。如果第一媒体内容140-1不是许可组115的一部分,则组许可管理器108可以根据标准许可交换技术请求并接收针对第一媒体内容140-1的单独内容密钥。
然而,当第一媒体内容140-1被确定为许可组115的一部分时,组许可管理器106可以判定之前是否接收到针对许可组115的主密钥128。例如,组许可管理器108可以判定其是否可访问主密钥128(例如,其是否本地存储在计算设备102的存储单元中)。如果组许可管理器108确定其之前还未接收到针对所述许可组115的主密钥128,则组许可管理器108可以通过网络142向许可管理器104发送许可请求120。许可请求120可以包括与媒体内容140相对应的许可组115的组标识符122以及唯一地标识第一媒体内容140-1的内容标识符124。
许可管理器104可以通过网络142从计算设备102接收许可请求120并从主密钥数据库132获得针对许可组115的主密钥128。例如,许可管理器104可以使用许可请求120的组标识符122来从主密钥数据库132获得正确的主密钥128。然后,许可管理器104可以将具有主密钥128的许可126发送回计算设备102。在一些示例中,响应于接收到许可请求120,密钥生成器130可以导出第一内容密钥112-1并且发送具有主密钥128和第一内容密钥112-1两者的许可126。然后,计算设备102可以或者使用作为许可126的一部分接收到的第一内容密钥112-1或者使用主密钥128来导出第一内容密钥112-1。在一些示例中,加密单元131可以被配置用于对主密钥128进行加密,并且许可管理器104可以发送具有加密的主密钥128的许可126。在一些示例中,加密单元131可以对主密钥128和第一内容密钥112-1进行加密,并且许可管理器104可以发送具有加密的主密钥128和加密的第一内容密钥112-1的许可126。
组许可管理器108可以通过网络142从许可管理器104接收许可126。如果对主密钥128进行了加密,则解密单元114可以对主密钥128进行解密。如果对主密钥128和第一内容密钥112-1进行了加密,则解密单元114可以对主密钥128和第一内容密钥112-1进行解密。然后,设备密钥生成器110可以基于作为许可126的一部分接收的主密钥128导出针对第一媒体内容140-1的第一内容密钥112-1。此过程可以与以上之前描述的相同。例如,参照图3,设备密钥生成器110可以基于主密钥128、组标识符122和内容标识符124生成第一内容密钥112-1。所导出的第一内容密钥112-1对于由内容标识符124指定的第一媒体内容140-1来说是唯一的。在一些示例中,设备密钥生成器110可以使用与主密钥128、组标识符122和内容标识符124一起输入的密钥导出函数121来生成第一内容密钥112-1。解密单元114可以使用所导出的第一内容密钥112-1来对第一媒体内容140-1进行解密,并且回放单元118被配置用于回放解密的第一媒体内容140-1。
然后,当媒体内容处理器116获得第二媒体内容140-2,并且第二媒体内容140-2是同一许可组115的一部分时,计算设备102不发送另一个许可请求120。相反,组许可管理器108可以确定第二媒体内容140-2是许可组115的一部分(例如,由于组标识符122的存在),并且可以确定其之前已经接收到了针对许可组115的主密钥128。设备密钥生成器110可以基于用于生成针对第一媒体内容140-1的第一内容密钥112-1的同一主密钥128生成针对第二媒体内容140-2的第二内容密钥112-2。例如,设备密钥生成器110可以使用与主密钥128、组标识符122和针对第二媒体内容140-2的内容标识符124一起输入的密钥导出函数121来导出针对第二媒体内容140-2的第二内容密钥112-2。解密单元114可以被配置用于使用针对第二媒体内容140-2的第二内容密钥112-2来对第二媒体内容140-2进行解密。
可以对许可组115的所有媒体内容140重复这些操作,从而使得不需要将许可请求发送至许可管理器104。相反,针对同一许可组115的其他媒体内容140的内容密钥112可由设备密钥生成器110导出。而且,因为内容密钥112导出自主密钥128,所以内容密钥112不存储于系统100中的任何地方,由此使系统100更安全。
图4展示了根据一方面的具有用于保护内容密钥112的多个保护层的组许可交换的示例。例如,图4展示了计算设备102与根据多个保护层保护内容密钥112的许可管理器104之间的消息序列。尽管图4展示了三个保护层(例如,层1、层2和层3),但是实施方式可以包括任何数量的保护层(例如,两个保护层或多于三个保护层)。
在第一层保护中,在操作402中,计算设备102可以请求第一主密钥。例如,组许可管理器108可以被配置用于通过网络142向许可管理器104发送第一主密钥请求,以便获得许可组115的第一主密钥(mKey1)。在操作404中,许可管理器104可以获得第一主密钥(mKey1)。例如,密钥生成器130可以从主密钥数据库132中获得或导出第一主密钥(mKey1)。在操作406中,许可管理器104可以发送第一主密钥(mKey1),并且计算设备102可以接收第一主密钥(mKey1)。在操作408中,计算设备102可以使用第一主密钥(mKey1)生成第一内容密钥(cKey1)。例如,计算设备102的设备密钥生成器110可以使用与第一主密钥(mKey1)、组标识符122以及与待解密的媒体内容140相对应的内容标识符124一起输入的密钥导出函数121来导出第一内容密钥(cKey1)。
在第二层保护中,在操作408中,计算设备102使用第一内容密钥(cKey1)请求另一个主密钥。例如,组许可管理器108可以被配置用于通过网络142向许可管理器104发送主密钥请求,以便获得许可组115的另一个主密钥128。在操作410中,许可管理器104获得第二主密钥(mKey2)。例如,密钥生成器130可以从主密钥数据库132中获得或导出第二主密钥(mKey2)。在操作412中,许可管理器104可以发送第二主密钥(mKey2),并且计算设备102可以接收第二主密钥(mKey2)。在操作414中,计算设备102可以使用第二主密钥(mKey2)对第一内容密钥(cKey1)进行解密,由此获得第二内容密钥(cKey2)。
在第三层保护中,在操作416中,计算设备102使用第二内容密钥(cKey2)请求另一个主密钥。例如,组许可管理器108可以通过网络142向许可管理器104发送主密钥请求,以便获得许可组115的又另一个主密钥128。在操作418中,许可管理器104可以获得第三主密钥(mKey3)。例如,密钥生成器130可以从主密钥数据库132中获得或导出第三主密钥(mKey3)。在操作420中,许可管理器104可以发送第三主密钥(mKey3),并且计算设备102可以接收第三主密钥(mKey3)。在操作422中,计算设备102可以使用第三主密钥(mKey3)对第二内容密钥(cKey2)进行解密,由此获得第三内容密钥(cKey3)。在一些示例中,解密单元114可以使用第三内容密钥(cKey3)对媒体内容140进行解密。在其他示例中,通过重复先前操作以便获得第四内容密钥、第五内容密钥等来添加附加层保护。
图5展示了流程图,所述流程图描绘了根据一方面的实施图1的系统100的组许可交换机制的计算设备102的示例操作。尽管图5的流程图展示了依次顺序的操作502至518,但是将理解的是,这仅是示例,并且可以包括附加或替代操作。进一步地,可以以与所示出的顺序不同的顺序或者并行或重叠方式执行图5的操作和相关操作。
可以判定媒体内容是否是许可组的一部分(502)。例如,组许可管理器108被配置用于判定第一媒体内容140-1是否是许可组115的一部分。在一些示例中,组许可管理器108可以判定组标识符122是否与第一媒体内容140-1相关联。组标识符122可以唯一地标识许可组115。如果组标识符122被包括为第一媒体内容140-1的一部分(例如,包括为与第一媒体内容140-1相关联的元数据),则组许可管理器108可以确定第一媒体内容140-1是许可组115的一部分。另一方面,如果组标识符122不是与第一媒体内容140-1一起提供的,则组许可管理器108可以确定第一媒体内容140-1不是许可组115的一部分。
当媒体内容被确定为不是许可组的一部分(否)时,可以请求单独内容密钥(504)。例如,如果第一媒体内容140-1不是许可组115的一部分,则组许可管理器108可以根据标准许可交换技术请求并接收第一媒体内容140-1的单独内容密钥。在一些示例中,在不使用主密钥128的情况下,在许可管理器104处生成此内容密钥。
当媒体内容被确定为许可组的一部分(是)时,可以判定计算设备是否具有组标识符的主密钥(506)。例如,当第一媒体内容140-1被确定为许可组115的一部分时,组许可管理器108可以判定之前是否接收到许可组115的主密钥128。例如,组许可管理器108可以判定其是否可访问主密钥128(例如,其是否本地地存储在计算设备102的存储单元中)。
当已经确定计算设备不具有组标识符的主密钥(否)时,可以发送具有组标识符和内容标识符的许可请求(508)。例如,如果组许可管理器108确定其之前没有接收到所述许可组115的主密钥128,则组许可管理器108可以通过网络142向许可管理器104发送许可请求120。许可请求120可以包括与媒体内容140相对应的许可组115的组标识符122以及唯一地标识第一媒体内容140-1的内容标识符124。
可以接收主密钥(510)。例如,许可管理器104可以通过网络142从计算设备102处接收许可请求120,并且从主密钥数据库132中获得许可组115的主密钥128。例如,许可管理器104可以使用许可请求120的组标识符122来从主密钥数据库132中获得正确的主密钥128。然后,计算设备可以从许可管理器104处接收具有主密钥128的许可。
可以使用主密钥导出内容密钥(512)。例如,设备密钥生成器110可以基于作为许可126的一部分而接收的主密钥128导出第一媒体内容140-1的第一内容密钥112-1。在一些示例中,设备密钥生成器110可以使用与主密钥128、组标识符122和内容标识符124一起输入的密钥导出函数121来生成第一内容密钥112-1。在一些示例中,设备密钥生成器110可以使用密钥导出函数121导出第一内容密钥112-1。密钥导出函数121可以是用于导出给定大小的密钥的确定性算法。在一些示例中,密钥导出函数121基于组标识符122以及128位的长度按照16字节高级加密标准(AES)生成第一内容密钥112-1。
可以使用内容密钥对媒体内容进行解密(514)。例如,解密单元114可以被配置用于使用导出的第一内容密钥112-1对第一媒体内容140-1进行解密。
当已经确定计算设备具有组标识符的主密钥(是)时,可以使用主密钥导出内容密钥(516)。例如,代替发送许可请求120,由于其之前接收到第一媒体内容140-1所属的许可组115的主密钥128,因此组许可管理器108确定其已经接收到第一媒体内容140-1的许可126。然后,代替执行操作508至510,设备密钥生成器110可以使用之前接收的主密钥128导出第一内容密钥112-1。
可以使用内容密钥对媒体内容进行解密(518)。例如,解密单元114可以被配置用于使用导出的第一内容密钥112-1对第一媒体内容140-1进行解密。
可以针对许可组115的所有媒体内容140重复这些操作,从而使得不需要向许可管理器104发送许可请求。相反,同一许可组115的其他媒体内容140的内容密钥112可以由设备密钥生成器110导出。而且,因为内容密钥112从主密钥128中导出,所以内容密钥112不存储于系统100中的任何位置,由此使系统100更安全。
图6展示了流程图,所述流程图描绘了根据一方面的实施图1的系统100的组许可交换机制的许可管理器104的示例操作。尽管图6的流程图展示了依次顺序的操作602至608,但是将理解的是,这仅是示例,并且可以包括附加或替代操作。进一步地,可以以与所示出的顺序不同的顺序或者并行或重叠方式执行图6的操作和相关操作。
可以从计算设备处接收许可请求,其中,所述许可请求包括内容标识符和组标识符(602)。例如,许可管理器104可以通过网络142从计算设备102处接收许可请求120。许可请求120可以包括标识第一媒体内容140-1所属的许可组115的组标识符122,以及唯一地标识第一媒体内容140-1的内容标识符124。
可以使用组标识符获得主密钥(604)。例如,响应于接收许可请求120,密钥发生器130可以从主密钥数据库132中获得与由组标识符122标识的许可组115相对应的主密钥128。
可以使用主密钥生成内容密钥(606)。在一些示例中,密钥生成器130可以使用主密钥128导出第一内容密钥112-1。例如,密钥生成器130可以使用与组标识符122、内容标识符124和获得的主密钥128一起输入的密钥导出函数121来导出第一内容密钥112-1。
可以向计算设备发送主密钥和内容密钥(608)。例如,许可管理器104可以将许可126发送回计算设备,其中,许可126包括主密钥128和第一内容密钥112-1。计算设备102可以使用作为许可126的一部分接收的第一内容密钥112-1或者使用主密钥128导出的第一内容密钥112-1对第一媒体内容140-1进行解密。而且,对于所有其他媒体内容(例如,第二媒体内容140-2、第三媒体内容140-3),计算设备102不必发送另一个许可请求120。相反,计算设备102可以使用作为许可126的一部分接收的主密钥128来导出与许可组115分离的任何媒体内容140的单独内容密钥112。
图7展示了流程图,所述流程图描绘了根据一方面的实施图1的系统100的组许可交换机制的许可管理器104的示例操作。尽管图7的流程图展示了依次顺序的操作702至708,但是将理解的是,这仅是示例,并且可以包括附加或替代操作。进一步地,可以以与所示出的顺序不同的顺序或者并行或重叠方式执行图7的操作和相关操作。
可以从媒体内容提供器处接收密钥请求,其中,所述密钥请求包括组标识符和内容标识符(702)。例如,许可管理器104可以从媒体内容提供器106处接收密钥请求134,其中,密钥请求134包括其中媒体内容提供器106被指示加密的媒体内容140的内容标识符124,以及与内容标识符124所指定的媒体内容140的许可组115相对应的组标识符122。例如,许可管理器104可以接收指定第一媒体内容140-1的内容标识符124的密钥请求134,以及与第一媒体内容140-1的许可组115相对应的组标识符122。
可以使用组标识符获得主密钥(704)。例如,密钥生成器130可以从主密钥数据库132中获得与组标识符122相对应的主密钥128。
可以使用主密钥、组标识符和内容标识符导出内容密钥(706)。例如,密钥生成器130可以使用主密钥128导出第一媒体内容140-1的第一内容密钥112-1。在一些示例中,密钥生成器130可以使用与主密钥128、组标识符122和内容标识符124一起输入的密钥导出函数121来导出第一媒体内容140-1。
可以向媒体内容提供器发送具有内容密钥的密钥响应(708)。例如,许可管理器104可以发送具有导出的第一内容密钥112-1的密钥响应136。可以针对被包括为许可组115的一部分的其他媒体内容140中的每个媒体内容重复操作702至708。
图8展示了流程图,所述流程图描绘了根据一方面的实施图1的系统100的组许可交换机制的媒体内容提供器106的示例操作。尽管图8的流程图展示了依次顺序的操作802至808,但是将理解的是,这仅是示例,并且可以包括附加或替代操作。进一步地,可以以与所示出的顺序不同的顺序或者并行或重叠方式执行图8的操作和相关操作。
可以确定媒体内容的许可组(802)。例如,媒体内容提供器106可以确定许可组115。媒体内容提供器106可以指示哪个媒体内容140是同一许可组115的一部分,并且将同一组标识符122分配给属于许可组115的媒体内容140中的每个媒体内容。
可以向许可管理器发送具有组标识符和内容标识符的密钥请求(804)。例如,媒体内容提供器106可以发送具有组标识符122和内容标识符124的密钥请求134。具体地,媒体内容提供器106可以发送针对包括唯一地标识第一媒体内容140-1的内容标识符124以及第一媒体内容的许可组115的组标识符122的第一媒体内容140-1的密钥请求134。
可以从许可管理器处接收内容密钥(806)。例如,媒体内容提供器106可以从许可管理器104处将第一内容密钥112-1接收为密钥响应136的一部分。然后,可以使用内容密钥对媒体内容进行加密(808)。例如,提供器加密单元138可以使用第一内容密钥112-1对第一媒体内容140-1进行加密。
图9示出了可以用来与在此所描述的技术一起使用的通用计算机设备900和通用移动计算机设备950的示例。计算设备900旨在表示各种形式的数字计算机,如膝上型计算机、台式计算机、平板设备、工作站、个人数字助理、电视机、服务器、刀片式服务器(bladeserver)、大型机以及其他适当的计算设备。计算设备950旨在表示各种形式的移动设备,如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。在此所示出的组件、其连接和关系以及其功能意味着仅为示例、而并非意味着限制在本文中描述和/或要求保护的本发明的实施方式。
计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908、以及连接到低速总线914和存储设备906的低速接口912。处理器902可以是基于半导体的处理器。存储器904可以是基于半导体的存储器。组件902、904、906、908、910和912中的每一个使用各种总线互连,并且可以被安装在共同母板上或视情况以其他方式安装。处理器902可以处理用于在计算设备900内执行的指令,所述指令包括存储在存储器904中或存储设备906上、用于在外部输入/输出设备(如耦合至高速接口908的显示器916)上显示用于GUI的图形信息的指令。在其他实施方式中,可以视情况使用多个处理器和/或多个总线,连同多个存储器以及多种类型的存储器。并且,可连接多个计算设备900,每个设备提供所需操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器904存储计算设备900内的信息。在一个实施方式中,存储器904是一个或者多个易失性存储器单元。在另一个实施方式中,存储器904是一个或者多个非易失性存储器单元。存储器904还可以是另一种形式的计算机可读介质,如磁盘或光盘。
存储设备906能够提供用于计算设备900的大容量存储设备。在一个实施方式中,存储设备906可以是或者包含计算机可读介质,如软盘设备、硬盘设备、光盘设备或带设备、闪存或其他类似的固态存储器设备,或者设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地在信息载体中具体化。计算机程序产品还可以包含指令,当所述指令被执行时,执行一种或多种方法,如以上所述的方法。信息载体为计算机可读介质或机器可读介质(如存储器904、存储设备906或在处理器上的存储器902)。
高速控制器908管理计算设备900的带宽密集(bandwidth-intensive)操作,而低速控制器912管理没那么带宽密集的操作。这种功能分配仅仅是示例性的。在一个实施方式中,高速控制器908(例如,通过图形处理器或加速器)耦合至存储器904、显示器916,并且耦合至高速扩展端口910,所述高速扩展端口910可以接受各种扩展卡(未示出)。在实施方式中,低速控制器912耦合至存储设备906和低速扩展端口914。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合至一个或多个输入/输出设备,如键盘、定点设备、扫描仪,或者如交换机或路由器的联网设备。
可以以许多不同形式来实现计算设备900,如图中所示出。例如,其可以被实现为标准服务器920,或者更多的时间是以一组这样的服务器来实现的。其还可以被实现为机架式服务器系统924的一部分。另外,其可以在个人计算机(如膝上型计算机922)中实现。替代性地,来自计算设备900的组件可与移动设备(未示出)(如设备950)中的其他组件组合。这样的设备中的每个设备可以包含计算设备900、950中的一个或多个,并且整个系统可以由相互通信的多个计算设备900、950组成。
计算设备950包括处理器952、存储器964、输入/输出设备(如显示器954)、通信接口966和收发器968以及其他组件。设备950还可以设置有用于提供附加存储的存储设备(如微驱动)或其他设备。组件950、952、964、954、966及968中的每一者使用各种总线互连,且数个组件可以安装在共同母板上或视情况以其他的方式安装。
处理器952可以在计算设备950内执行指令,所述指令包括存储在存储器964中的指令。处理器可以被实现为包括分离的、多个模拟和数字处理器的芯片的芯片组。处理器可以例如提供设备950的其他组件的协同,如控制用户界面、设备950运行的应用和设备950的无线通信。
处理器952可以通过控制接口958和连接到显示器954的显示接口956来与用户通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口956可以包括用于驱动显示器954以向用户呈现图形和其他信息的适当电路。控制接口958可以从用户处接收命令并且将其转换以用于向处理器952提交。此外,可以提供与处理器952通信的外部接口962,以便实现设备950与其他设备的近区域通信。外部接口962可以例如在一些实施方式中提供有线通信或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器964存储计算设备950内的信息。存储器964可以被实施为一种或者多种计算机可读介质、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或多项。还可以提供扩展存储器974并且通过扩展接口972(所述扩展接口可以包括例如SMM(单列直插式存储器模块)卡接口)将其连接到设备950。这种扩展存储器974可以为设备950提供额外存储空间,或者还可以为设备950存储应用程序或其他信息。具体地,扩展存储器974可以包括用以执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器974可以被提供为设备950的安全模块并且可以用允许安全使用设备950的指令来对其进行编程。此外,可以经由SIMM卡提供安全应用连同附加信息(如以不可攻击方式将标识信息放置于SIMM卡上)。
存储器可以如以下讨论的那样包括例如闪存和/或NVRAM存储器。在一个实施方式中,计算机程序产品有形地在信息载体中具体化。计算机程序产品包含指令,当所述指令被执行时,执行一种或多种方法,如以上所述的方法。信息载体是计算机可读介质或机器可读介质(如存储器964、扩展存储器974或处理器952上的存储器),其可以通过例如收发器968或外部接口962接收。
设备950可以通过可以在必要时包括数字信号处理电路的通信接口966无线地通信。通信接口966可以提供在各种模式或协议(如GSM语音呼叫、SMS、EMS或MMS消息发送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等)下的通信。这种通信可以例如通过射频收发器968发生。此外,短程通信可以发生,如利用蓝牙、WiFi或者其他此类收发器(未示出)。此外,GPS(全球定位系统)接收器模块970可以向设备950提供附加的与导航和位置有关的无线数据,所述数据可以视情况由在设备950上运行的应用使用。
设备950也可以使用音频编解码器960来可听地通信,所述编解码器可以从用户处接收口头信息并且将其转换成可用数字信息。音频编解码器960可以类似地如通过例如在设备950的听筒中的扬声器生成用于用户的可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可包括由在设备950上运行的应用生成的声音。
可以以许多不同形式来实现计算设备950,如图中所示出的。例如,可将其实现为蜂窝电话980。其还以被实现为智能电话982、个人数字助理或其他类似移动设备的一部分。
可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现此处所描述的系统和技术的各种实施方式。这些各种实施方式可以包括一个或多个计算机程序中的实施方式,所述一个或多个计算机程序在可编程系统上可执行和/或可解释,所述可编程系统包括至少一个可编程处理器,所述可编程处理器可以是专用的或者通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备处接收数据和指令并向其发送数据与指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,而且可以用高级过程性语言和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文中所使用的,术语“机器可读介质”、“计算机可读介质”指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括将机器指令接收为机器可读信号的机器可读介质。术语“机器可读信号”指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,在此所述的系统与技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。还可以使用其他种类的设备来提供与用户的交互;例如提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学、话音或触觉输入。
在此所述的系统与技术可以在包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户接口或网络浏览器的客户端计算机,用户通过上述接口或浏览器可以与在此所述的系统与技术的实施方式交互)、或者这种后端、中间件或前端组件的任意组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端与服务器的关系借助于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。
此外,在图中描绘的逻辑流程无需所示特定顺序或者依次顺序以实现期望的结果。此外,可以提供其他步骤或者可以从描述的流程消除步骤,并且可以向描述的系统添加或者从描述的系统中去除其他组件。因此,其他实施例落入所附权利要求的范围内。
将理解的是,已经特别详细描述的上述实施例仅仅是示例或可能实施例,并且存在可以包括的许多其他组合、附加物或替代物。
首先,组件的特定命名、术语的大写、属性、数据结构或者任何其他编程或结构方面并不是强制性的或重要的,并且用于实施本发明或其特征的机制可以具有不同的名称、格式或协议。进一步地,可以如描述的那样经由硬件与软件的组合或者完全在硬件元件中实现系统。另外,本文中所描述的各种系统组件之间的功能的特定划分仅为示例性的而并非强制性的;由单个系统组件执行的功能可以相反地由多个组件执行,并且由多个组件执行的功能可以相反地由单个组件执行。
上述说明书的某些部分按照对信息的操作的算法及符号表示来呈现特征。这些算法描述和表示可以由数据处理领域技术人员用来向本领域其他技术人员最有效地传递其工作实质。这些操作当在功能或者逻辑上被描述之时被理解为由计算机程序实现。此外,还已证明,有时将这些操作安排称作模块或按功能名称来称谓是方便的,并不失其一般性。
除非另有如从以上讨论明确的具体声明,否则应理解的是,贯穿本说明书,利用如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”或“提供”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备在计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内操控并转换以物理(电子)量表示的数据。

Claims (20)

1.一种计算设备,包括:
至少一个处理器;
存储有可执行指令的非瞬态计算机可读介质,所述可执行指令当被所述至少一个处理器执行时被配置用于实现:
媒体内容处理器,所述媒体内容处理器被配置用于获得媒体内容;
组许可管理器,所述组许可管理器被配置用于判定媒体内容是否是许可组的一部分,并且当媒体内容被确定为许可组的一部分时,所述组许可管理器被配置用于判定之前是否接收到所述许可组的主密钥,
所述组许可管理器被配置用于在之前没有接收到主密钥时通过网络向许可管理器发送许可请求,所述许可请求包括标识媒体内容的内容标识符以及标识包括媒体内容的许可组的组标识符,所述组许可管理器被配置用于通过所述网络接收许可以便允许访问媒体内容,所述许可包括与所述许可组相对应的主密钥;
密钥生成器,所述密钥生成器被配置用于基于主密钥导出针对由内容标识符标识的媒体内容的内容密钥;以及
解密单元,所述解密单元被配置用于使用导出的内容密钥对媒体内容进行解密,从而使得可以访问媒体内容。
2.如权利要求1所述的计算设备,其中,所述媒体内容处理器被配置用于获得第二媒体内容,并且所述组许可管理器被配置用于确定所述第二媒体内容是包括所述媒体内容的所述许可组的一部分,所述密钥生成器被配置用于基于用于导出所述媒体内容的主密钥导出针对所述第二媒体内容的第二内容密钥,所述解密单元被配置用于使用所述第二内容密钥对所述第二媒体内容进行解密。
3.如权利要求1或权利要求2所述的计算设备,其中,所述许可还包括所述内容密钥,所述解密单元被配置用于将接收为所述许可的一部分的内容密钥或由所述密钥生成器导出的内容密钥用于对所述媒体内容进行解密。
4.如权利要求1至3中任一项所述的计算设备,其中,当所述媒体内容被确定为不是所述许可组的一部分时,所述许可管理器被配置用于从所述许可管理器请求并接收单独内容密钥以用于对媒体内容进行解密。
5.如权利要求1至4中任一项所述的计算设备,其中,当所述主密钥已经被确定为之前接收的时,所述密钥生成器被配置用于使用之前接收的主密钥导出所述内容密钥。
6.如权利要求1至5中任一项所述的计算设备,其中,所述密钥生成器被配置用于使用与主密钥、内容标识符和组标识符一起输入的密钥导出函数导出内容密钥。
7.如权利要求1至6中任一项所述的计算设备,其中,所述组许可管理器被配置用于基于许可请求中包含组标识符来判定媒体内容是否是许可组的一部分。
8.如权利要求1至7中任一项所述的计算设备,其中,所述许可组包括多个电影,并且所述媒体内容是来自所述多个电影的单个电影。
9.一种系统,包括:
至少一个处理器;
存储有可执行指令的非瞬态计算机可读介质,所述可执行指令当被所述至少一个处理器执行时被配置用于实现:
许可管理器,所述许可管理器被配置用于从计算设备处接收许可请求,所述许可请求包括标识包括媒体内容的许可组的组标识符;以及
密钥生成器,所述密钥生成器被配置用于使用所述组标识符获得主密钥,所述主密钥是所述许可组的密钥,从而使得可以使用所述主密钥导出作为所述许可组的一部分的每个媒体内容的内容密钥,
所述许可管理器被配置用于向计算设备发送许可,所述许可包括主密钥。
10.如权利要求9所述的系统,其中,所述许可请求包括标识媒体内容的内容标识符,并且所述密钥生成器被配置用于生成由所述内容标识符标识的媒体内容的内容密钥,所述许可包括主密钥和内容密钥两者。
11.如权利要求9或权利要求10所述的系统,其中,所述密钥生成器被配置用于从存储多个主密钥的主密钥数据库中获得所述主密钥,所述多个主密钥中的每个主密钥与不同许可组相对应。
12.如权利要求9至11中任一项所述的系统,进一步包括:
加密单元,所述加密单元被配置用于对所述主密钥进行加密,并且所述许可管理器被配置用于发送具有经加密的主密钥的许可。
13.如权利要求9至12中任一项所述的系统,其中,所述许可管理器被配置用于基于所述许可请求内包含组标识符来判定所述媒体内容是否是许可组的一部分。
14.如权利要求9至13中任一项所述的系统,其中,在从计算设备处接收许可请求之前,所述许可管理器被配置用于从媒体内容提供器处接收密钥请求,所述密钥请求包括组标识符以及标识所述媒体内容的内容标识符,所述密钥生成器被配置用于基于主密钥和内容标识符导出内容密钥,所述许可管理器被配置用于向媒体内容提供器返回内容密钥,从而使得可以使用所述内容密钥对媒体内容进行加密。
15.如权利要求14所述的系统,其中,所述许可管理器被配置用于基于所述密钥请求内包含组标识符来判定所述媒体内容是否是许可组的一部分,其中,当所述密钥请求不包括组标识符时,所述密钥生成器被配置用于在不使用主密钥的情况下导出内容密钥。
16.如权利要求9至15中任一项所述的系统,其中,所述媒体内容是电影的单个磁迹。
17.一种系统,包括:
至少一个处理器;
存储有可执行指令的非瞬态计算机可读介质,所述可执行指令当被所述至少一个处理器执行时被配置用于实现:
媒体内容提供器,所述媒体内容提供器被配置用于向许可管理器发送密钥请求,所述密钥请求包括标识媒体内容的内容标识符以及标识所述媒体内容的许可组的组标识符,
所述媒体内容提供器被配置用于从所述许可管理器处接收密钥响应,所述密钥响应包括针对由内容标识符标识的媒体内容的内容密钥;
提供器加密单元,所述提供器加密单元被配置用于使用内容密钥对所述媒体内容进行加密,其中,所述媒体内容提供器被配置用于提供经加密的媒体内容以供访问。
18.如权利要求17所述的系统,其中,包括在密钥响应中的内容密钥是经加密的内容密钥,并且所述系统进一步包括提供器解密单元,所述提供器解密单元被配置用于对经加密的内容密钥进行解密,所述提供器加密单元被配置用于使用经解密的内容密钥来对媒体内容进行加密。
19.如权利要求17至18中任一项所述的系统,其中,所述提供器加密单元被配置用于使用已经从相同主密钥中导出的唯一内容密钥对属于所述许可组的所有媒体内容进行加密。
20.如权利要求17至19中任一项所述的系统,其中,所述许可组定义多个电影,并且所述媒体内容表示单个电影。
CN201680025140.1A 2015-09-15 2016-09-12 组许可加密和解密 Active CN107567625B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/854,799 US10339323B2 (en) 2015-09-15 2015-09-15 Group license encryption and decryption
US14/854,799 2015-09-15
PCT/US2016/051314 WO2017048631A1 (en) 2015-09-15 2016-09-12 Group license encryption and decryption

Publications (2)

Publication Number Publication Date
CN107567625A true CN107567625A (zh) 2018-01-09
CN107567625B CN107567625B (zh) 2021-03-23

Family

ID=56997562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680025140.1A Active CN107567625B (zh) 2015-09-15 2016-09-12 组许可加密和解密

Country Status (4)

Country Link
US (1) US10339323B2 (zh)
EP (1) EP3350737A1 (zh)
CN (1) CN107567625B (zh)
WO (1) WO2017048631A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339323B2 (en) 2015-09-15 2019-07-02 Google Llc Group license encryption and decryption
CN111656345B (zh) * 2018-01-31 2024-01-02 亚萨合莱有限公司 启用容器文件中加密的软件模块
CN111699489A (zh) * 2018-02-13 2020-09-22 索尼公司 电子设备、信息处理装置、信息处理方法、程序和信息处理系统
US11943338B2 (en) * 2021-08-19 2024-03-26 Capital One Services, Llc Object-level encryption
KR102508524B1 (ko) * 2021-11-09 2023-03-09 펜타시큐리티시스템 주식회사 데이터 구독 시스템에서의 암호화 키 관리 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1221782A1 (en) * 2000-06-21 2002-07-10 Sony Corporation Information processing device and processing method
CN1402138A (zh) * 2001-08-08 2003-03-12 松下电器产业株式会社 著作权保护系统、记录设备及解密设备
US20040001594A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Systems and methods for providing secure server key operations
US20070157027A1 (en) * 2002-05-30 2007-07-05 Microsoft Corporation Tls tunneling
CN101071465A (zh) * 2006-05-11 2007-11-14 索尼株式会社 设备,信息处理设备,管理方法和信息处理方法
CN101529462A (zh) * 2006-07-25 2009-09-09 索尼电子有限公司 用于提供内容预订服务的方法和系统
CN103873233A (zh) * 2014-03-19 2014-06-18 国家广播电影电视总局电影数字节目管理中心 一种基于管理网站的数字电影密钥分发方法、装置和系统
US8763159B1 (en) * 2012-12-05 2014-06-24 Parallels IP Holdings GmbH System and method for application license management in virtual environments
US20140189853A1 (en) * 2012-12-28 2014-07-03 Edward C. Epp Content protection key management

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249755A1 (en) 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application using a group administration application
US8433656B1 (en) 2007-06-13 2013-04-30 Qurio Holdings, Inc. Group licenses for virtual objects in a distributed virtual world
US8121294B2 (en) 2008-10-21 2012-02-21 Apple Inc. System and method for a derivation function for key per page
US8359473B1 (en) 2009-02-02 2013-01-22 Adobe Systems Incorporated System and method for digital rights management using digital signatures
US10339323B2 (en) 2015-09-15 2019-07-02 Google Llc Group license encryption and decryption

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1221782A1 (en) * 2000-06-21 2002-07-10 Sony Corporation Information processing device and processing method
CN1402138A (zh) * 2001-08-08 2003-03-12 松下电器产业株式会社 著作权保护系统、记录设备及解密设备
US20070157027A1 (en) * 2002-05-30 2007-07-05 Microsoft Corporation Tls tunneling
US20040001594A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Systems and methods for providing secure server key operations
CN101071465A (zh) * 2006-05-11 2007-11-14 索尼株式会社 设备,信息处理设备,管理方法和信息处理方法
CN101529462A (zh) * 2006-07-25 2009-09-09 索尼电子有限公司 用于提供内容预订服务的方法和系统
US8763159B1 (en) * 2012-12-05 2014-06-24 Parallels IP Holdings GmbH System and method for application license management in virtual environments
US20140189853A1 (en) * 2012-12-28 2014-07-03 Edward C. Epp Content protection key management
CN103873233A (zh) * 2014-03-19 2014-06-18 国家广播电影电视总局电影数字节目管理中心 一种基于管理网站的数字电影密钥分发方法、装置和系统

Also Published As

Publication number Publication date
CN107567625B (zh) 2021-03-23
EP3350737A1 (en) 2018-07-25
WO2017048631A1 (en) 2017-03-23
US10339323B2 (en) 2019-07-02
US20170076097A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
CN107567625A (zh) 组许可加密和解密
CN103957436B (zh) 一种基于ott业务的视频防盗链方法
US9342666B2 (en) Providing security support for digital rights management in different formats
US9904804B2 (en) Layout-optimized random mask distribution system and method
US10402172B1 (en) Multi-source entropy and randomness aggregation and distribution network
US20120170740A1 (en) Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
CN108197891A (zh) 一种基于区块链的电子签约装置及方法
CN104378649B (zh) 一种利用国密sm1算法对视频流进行实时加密的方法及系统
CN106850220A (zh) 数据加密方法、数据解密方法及装置
WO2016209550A1 (en) Technologies for selective content licensing and secure playback
US8638935B2 (en) System and method for key space division and sub-key derivation for mixed media digital rights management content
CN109564553A (zh) 多阶段存储器完整性方法和装置
CN110427779A (zh) 一种数据库表字段的加、解密方法及数据服务器
CN104065680A (zh) 信息处理方法、检索方法、装置、用户终端及服务器
CN105493436B (zh) 用于向授权用户分发内容项目的方法、内容拥有者设备
CN110210591A (zh) 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质
CN101834883A (zh) 适用于不同终端设备的网络服务管理系统与方法
US11133926B2 (en) Attribute-based key management system
CN106156545B (zh) 实现数字版权管理的方法、客户端及系统
JP2014528680A (ja) デジタルコンテンツ伝送の方法、システムおよび装置
CN108920971A (zh) 数据加密的方法、校验的方法、加密的装置和校验的装置
US20060064584A1 (en) Data encryption systems and methods
US10484169B1 (en) Cipher block chaining data obfuscation
CN105430034B (zh) 存取云端储存空间数据的方法以及使用该方法的装置
CN113312637B (zh) 代理服务器及其对加密的订阅与事件进行匹配的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant