用于解密经加密的媒体内容的设备及控制解密的服务器转让专利

申请号 : CN201680050532.3

文献号 : CN107925795B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 克里斯蒂安·施瓦兹安德烈·尼克林迪迪埃·亨纳斯克

申请人 : 纳格拉维森公司

摘要 :

提供了用于内容保护的设备、服务器、系统和方法。所公开的实施例改进了控制对受保护内容的访问的时间粒度,并且提高了针对试图防止对访问条件的重新评估的攻击的恢复性。重新评估的执行可以基于令牌的接收和/或验证。在一些实施例中,通过周期性地将内容解密所需的内容密钥呈现为不可用的和/或清除已经使用的内容密钥来执行重新评估。

权利要求 :

1.用于解密经加密的媒体内容的设备,该设备包括处理环境,所述处理环境配置为:接收并存储用于解密经加密的媒体内容的经加密的内容密钥;

评估访问条件,并且如果满足访问条件,则解密所述内容密钥,并使解扰器能够使用所述内容密钥来解密所述经加密的媒体内容;

接收所述经加密的媒体内容,并使用所述内容密钥解密所述经加密的媒体内容;

在时间间隔内重新评估所述内容密钥的使用是否应当保持启用;以及,如果所述重新评估是否定的,则响应于所述重新评估而在所述时间间隔过去后防止所述解扰器使用经解密的内容密钥;

在解密所述内容密钥之后,利用会话密钥对经解密的内容密钥进行重新加密,并存储重新加密的内容密钥,以供所述解扰器访问;

使解扰器能够使用所述内容密钥包括:利用会话密钥对用所述会话密钥加密的内容密钥进行解密;并且防止解扰器使用经解密的内容密钥包括:响应于将经解密的内容密钥存储在寄存器中而改变所述会话密钥,而不重新加密所述内容密钥;

其中,所述访问条件包括在所述时间间隔期满之前已收到令牌的条件。

2.根据权利要求1所述的设备,其特征在于,所述设备包括用于将所述设备连接至通信网络的通信接口,其中所述令牌是通过所述通信网络从远程位置接收的,并且所述重新评估包括对所述令牌进行认证。

3.根据权利要求2所述的设备,其特征在于,所述重新评估包括:将接收到的令牌与期望的令牌进行比较,并且只有当接收到的令牌与期望的令牌匹配时才评估访问条件。

4.根据权利要求1或2所述的设备,其特征在于,解扰器对所述内容密钥的使用包括:将所述内容密钥存储在所述解扰器的寄存器中,并且,防止解扰器使用经解密的内容密钥包括:从所述寄存器中清除所述经解密的内容密钥。

5.根据权利要求1或2所述的设备,其特征在于,所述处理环境配置为:通过监视以下组中的至少一个来检测所述时间间隔的期满:已被所述解扰器解密的一定数量的数据;

用于结合所述内容密钥来解密媒体内容的所接收到的初始化向量的改变;以及时钟信号。

6.根据权利要求1或2所述的设备,其特征在于,所述处理环境包括可信的执行环境,所述可信的执行环境配置为:实施评估、重新评估、防止、认证、比较、改变、删除、清除和检测中的至少一个。

7.根据权利要求1或2所述的设备,所述处理环境配置为:(a)接收所述经加密的媒体内容;

(b)接收并存储用于解密所述经加密的媒体内容的经加密的内容密钥;

(c)评估所述访问条件,并且如果满足所述访问条件,则解密所述经加密的内容密钥;

(d)将所述内容密钥存储到所述解扰器可访问的密钥表中;

(e)访问所述密钥表中的内容密钥,并将所述内容密钥加载到所述解扰器的寄存器中,以解密与内容密钥相关联的媒体内容;

(f)防止从所述密钥表进一步加载所述内容密钥到寄存器;

(g)使用解扰器,利用寄存器中的内容密钥解密一部分经加密的媒体内容,其中时间间隔对应于解密所述部分所花费的时间;

(h)响应于对所述部分已被解密的检测,从所述寄存器中清除所述内容密钥;以及(i)重复步骤(c)至(h),以解密与所述经加密的媒体内容的部分相邻的、所述经加密的媒体内容的下一部分。

8.根据权利要求7所述的设备,其特征在于,响应于对存储的内容密钥的加载而防止进一步的加载。

9.根据权利要求7所述的设备,其特征在于,所述设备包括可信的执行环境,其配置为:实施步骤(c)至(i);还包括丰富的执行环境,其配置为将经加密的内容密钥及时提供给可信的执行环境,用于待解密的下一部分。

10.根据权利要求7所述的设备,其特征在于,所述处理环境配置为:在步骤(d)之前,生成供密钥加密单元和密钥解密单元两者使用的会话密钥,并利用密钥加密单元用所述会话密钥重新加密经解密的内容密钥,其中,将所述内容密钥存储在所述密钥表中包括:将用所述会话密钥重新加密的内容密钥存储在密钥表中,其中,将所述内容密钥加载到所述寄存器包括:利用所述密钥解密单元用会话密钥来解密所存储的经重新加密的内容密钥,并且将所述经解密的内容密钥存储在所述寄存器中,并且其中,防止进一步加载所述内容密钥包括:用新的会话密钥替换所述会话密钥而不重新加密所述内容密钥,由此防止所述密钥解密单元对存储在内容密钥表中的内容密钥的有效解密。

11.根据权利要求7所述的设备,其特征在于,对所述部分已被解密的检测包括以下中的一个或多个:检测到预定量的数据已经被解密;

检测与所述内容密钥一起使用来以解密媒体内容的所接收到的初始化向量中的变化;

以及

检测时钟信号中预定的变化。

12.用于控制远离服务器的客户端设备中的经加密的媒体内容的解密的服务器,该服务器包括处理环境,所述处理环境配置为:向客户端设备发送经加密的内容密钥和访问条件消息,其中所述客户端设备评估访问条件,如果满足访问条件,则解密所述内容密钥,以利用内容密钥来解密媒体内容;

评估服务器侧条件,以确定客户端设备是否应当能够继续使用内容密钥来解密媒体内容;以及只有当评估是肯定的时,才响应于所述评估而在一时间间隔内向客户端设备发送令牌,其中,如果在所述时间间隔内未接收到令牌,则客户端设备防止使用经解密的内容密钥来解密媒体内容;

在所述客户端设备解密所述内容密钥之后,利用会话密钥对经解密的内容密钥进行重新加密,并存储重新加密的内容密钥,以供解扰器访问;

所述客户端设备利用所述内容密钥来解密媒体内容包括:利用会话密钥对用所述会话密钥加密的内容密钥进行解密;并且所述客户端设备防止使用经解密的内容密钥包括:响应于将经解密的内容密钥存储在寄存器中而改变所述会话密钥,而不重新加密所述内容密钥;

其中,所述访问条件包括在所述时间间隔期满之前已收到令牌的条件。

说明书 :

用于解密经加密的媒体内容的设备及控制解密的服务器

技术领域

[0001] 本发明涉及内容保护的系统、方法和设备,更具体地,涉及用于保护媒体内容免受未授权访问的系统、方法和设备。

背景技术

[0002] 已经知道几种类型的内容保护系统。例如,在数字广播中,通常使用DVB标准来实现对广播信道的条件访问,其涉及利用密钥对广播内容进行加扰,该密钥通常称为控制字,该控制字频繁地改变,例如每10秒改变,使得任何一个密钥仅在直到下一个密钥改变的期间内有效。密钥以加密的形式传输,并且其在接收机处的解密取决于由在与通常被称为授权控制信息(entitlement control message,ECM)的信息中的密钥一起发送的、接收机处的条件访问模块的访问条件的肯定评估。在密钥改变后,先前的密钥将不能解密下一组块,并且,因此,为继续解密内容,将强制对每个组块进行ECM评估。因此,如果授权改变,内容仅能在短时间段内保持访问。
[0003] 除了使用DVB标准以外,其他发送和消费内容的方式变得越来越普遍。在一些情况下,特别是在通过第三方网络使用互联网协议、而不是在管理条件访问的内容提供者的控制下进行内容传输的情况下(通过互联网提供应用服务(over-the-top)或OTT),例如使用诸如MPEG-DASH标准,存在特别的挑战。通常,并且尤其是在OTT内容中,在这些设置中,用于加扰内容的密钥通常对于整个内容是有效的,例如整部电影或连续剧的片段,或甚至是整部连续剧。一旦这个密钥的访问条件被肯定地评估,并且该密钥被解密,并对解扰器存储为可访问的,以解扰内容,则直到下一次重新启动都无法安全地取消密钥(使其对于解扰器是不可访问的或不可用的)。该评估仅进行一次,然后密钥将保持可访问的,直到设备重新启动,即使授权已经过时。
[0004] 因此,需要用于内容保护的系统、方法和设备,具体地但不排他地涉及OTT背景下的内容保护系统、方法和设备,其能增加访问控制的粒度。

发明内容

[0005] 本发明的方面在独立权利要求中阐述。一些特定实施例的方面在从属权利要求中阐述。
[0006] 概括地说,本文公开的实施例允许授权在更高级别的时间粒度处使用待重新评估和执行的密钥。更具体地,一些实施例配置为使用可信的/认证的组件周期性地重新评估访问标准,无论是在硬件中还是在软件中完成。特别地,一些实施例周期性地重新评估访问条件,并且如果重新评估是否定的,则防止使用另外的仍然有效的用于解扰的密钥。
[0007] 在一些实施例中,如果满足访问条件以提供对加密媒体内容的访问,客户端设备解密经加密的内容密钥。设备在时间间隔内重新评估是否应继续允许访问内容密钥,并且,如果评估是否定的,防止对内容密钥的访问,使得经加密的媒体内容不再能被解密。有利地,这提供了更好的访问控制粒度。
[0008] 在一些实施例中,重新评估是基于在时间间隔内接收到令牌,并且如果在时间间隔内没有接收到令牌,则访问被拒绝。有利地,利用访问条件的重新评估,这提供更好的抵御攻击篡改的恢复性。
[0009] 在一些实施例中,通过从解扰器清除存放在寄存器中的经解密的访问密钥,以解扰媒体内容。这是通过响应于媒体内容的一部分(例如组块)被解扰,而清除经解密的访问密钥,并防止进一步使用访问密钥,除非访问条件被重新评估来完成的。在一些实施例中,这是通过一旦内容密钥从表中加载到解扰器寄存器中,从对于解扰器可访问的表中删除访问密钥来完成的,或通过一旦内容密钥被解密并加载到解扰器中,以加密的形式存储解扰器可访问的访问密钥,并改变用于该加密和相应的解密的密钥来完成的。有利的,这提供了更好的抵御篡改的恢复力,特别是如果结合了如上所述的基于令牌的方法。
[0010] 不论是否结合了基于令牌的方法,通过在可信的执行环境和/或安全元件中提供这些功能中的一些或全部可以进一步改善恢复性。在一些实施例中,媒体内容的解密和呈现在丰富的执行环境的全面控制下,这要求可信的执行环境在需要时重新评估访问条件。通过清除内容密钥并防止进一步访问,例如,响应于一部分内容已被解扰,可信的执行环境因此执行访问条件的周期性重新评估。
[0011] 还公开了本发明至少以下实施例和方面:
[0012] 1、一种解密经加密的媒体内容的方法,该方法包括:
[0013] 接收并存储用于解密经加密的媒体内容的经加密的内容密钥;
[0014] 评估访问条件,并且如果满足访问条件,则解密内容密钥,并使解扰器能够使用内容密钥来解密经加密的媒体内容;
[0015] 接收经加密的媒体内容,并使用内容密钥解密经加密的媒体内容;
[0016] 在时间间隔内重新评估内容密钥的使用是否应保持启用;以及,
[0017] 如果重新评估是否定的,则响应于重新评估,在时间间隔过去后防止解扰器使用内容密钥;
[0018] 2、根据条款1记载的方法,其中访问条件包括在时间间隔期满之前收到令牌的情况。
[0019] 3、根据条款2记载的方法,其中令牌是通过通信网络从远程位置接收的,并且重新评估包括对令牌进行认证。
[0020] 4、根据条款2或条款3中记载的方法,其中重新评估包括:将接收到的令牌与期望的令牌进行比较,并且只有当接收到的令牌与期望的令牌匹配时才评估访问条件。
[0021] 5、根据任一前述条款记载的方法,其中
[0022] 经解密的内容密钥在解密后利用会话密钥进行加密并存储供解扰器访问;其中[0023] 使解扰器能够使用内容密钥包括:利用会话密钥解密用会话密钥加密的内容密钥;并且其中
[0024] 防止解扰器使用经解密的内容密钥包括:改变会话密钥而不重新加密内容密钥。
[0025] 6、根据任一前述条款记载的方法,其中防止解扰器使用经过解密的内容密钥包括:删除经解密的内容密钥。
[0026] 7、根据任一前述条款记载的方法,其中使解扰器能够使用内容密钥包括:将内容密钥存储在解扰器的寄存器中,以及,防止解扰器使用经解密的内容密钥包括:从寄存器清除经解密的内容密钥。
[0027] 8、根据条款7记载的方法,其中防止解扰器使用经解密的内容密钥包括:响应于已经过去的时间间隔,从寄存器清除经解密的内容密钥。
[0028] 9、根据从属于条款5时的条款7或8记载的方法,其中防止解扰器使用经解密的内容密钥包括:响应于将经解密的内容密钥存储在寄存器中,改变会话密钥。
[0029] 10、根据任一前述条款记载的方法,其中使解扰器能够使用内容密钥来解密经加密的媒体内容包括:将内容密钥存储在解扰器可访问的内容密钥表中,并且其中防止解扰器使用内容密钥包括:从内容密钥表中删除内容密钥。
[0030] 11、根据条款10记载的方法,其中防止解扰器使用内容密钥包括:响应于解扰器从内容密钥表中加载内容密钥,而从内容密钥表中删除内容密钥。
[0031] 12、根据任一前述条款记载的方法,其中该方法包括:通过监视以下组中的至少一个来检测时间间隔的期满:
[0032] 已被解扰器解密的一定数量的数据;
[0033] 用于结合内容密钥来解密媒体内容的所接收到的初始化向量的改变;以及[0034] 时钟信号。
[0035] 13、根据任一前述条款记载的方法,其中根据具体情况,在可信的可执行环境中实施评估、重新评估、防止、认证、比较、改变、删除、清除和检测中的至少一个。
[0036] 14、根据任一前述条款记载的方法,其中根据具体情况,在专用的硬件中实施评估、重新评估、防止、认证、比较、改变、删除、清除和检测中的至少一个。
[0037] 15、根据任一前述条款记载的方法,其中访问条件包括关于输出控制状态或攻击检测状态的条件,并且重新评估包括:检测输出控制状态的改变或者检测绕过访问控制的尝试。
[0038] 16、一种从远程服务器控制客户端设备中的经加密的媒体内容的解密的方法,该方法包括:
[0039] 向客户端设备发送经加密的内容密钥和访问条件消息,其中客户端设备解密内容密钥,以利用内容密钥来解密媒体内容;
[0040] 评估服务器侧条件,以确定客户端设备是否应当能够继续使用内容密钥来解密媒体内容;以及
[0041] 只有当评估是肯定的时,才响应于评估在时间间隔内向客户端设备发送令牌,其中,如果在时间间隔内未接收到令牌,则客户端设备防止使用内容密钥来解密媒体内容。
[0042] 17、根据条款16记载的方法,其中服务器侧条件包括以下条件:
[0043] 从授权访问媒体内容的事务完成后的一段时间;
[0044] 从媒体内容第一次被访问以来的一段时间;
[0045] 多个客户端设备,其与其内容正在被同时解密的客户端设备的相同的用户账户相关联;
[0046] 已经接收到访问控制攻击通知;
[0047] 已经接收到访问输出控制通知。
[0048] 18、根据条款16或17记载的方法,其中该方法包括:通过监视以下组中的至少一个来检测时间间隔的期满:
[0049] 已被发送的一定数量的数据;
[0050] 用于结合内容密钥来解密媒体内容的所接收到的初始化向量的改变;以及[0051] 时钟信号。
[0052] 19、一种解密经加密的媒体内容的方法,该方法包括:
[0053] (a)接收经加密的媒体内容;
[0054] (b)接收并存储用于解密经加密的媒体内容的经加密的内容密钥;
[0055] (c)评估访问条件,并且如果满足访问条件,解密经加密内容密钥;
[0056] (d)将内容密钥存储到解扰器可访问的密钥表中。
[0057] (e)访问密钥表中的内容密钥,并将内容密钥加载到解扰器的寄存器,以解密与内容密钥相关联的媒体内容;
[0058] (f)防止从密钥表进一步加载内容密钥到寄存器;
[0059] (g)使用解扰器,利用寄存器中的内容密钥解密一部分加密的媒体内容;
[0060] (h)响应于检测到该部分已被解密,从寄存器中清除内容密钥;以及
[0061] (i)重复步骤(c)至(h),以解密与经加密的媒体内容的部分相邻的、经加密媒体内容的下一部分。
[0062] 20、根据条款19和条款1至15中任一项记载的方法,其中时间间隔对应于解密该部分所花费的时间。
[0063] 21、根据条款19或20记载的方法,其中响应于加载存储的内容密钥,进一步的加载被防止。
[0064] 22、根据条款19至21中任一项记载的方法,其中步骤(c)至(i)至少部分地在可信的执行环境中实现,并且经加密的内容密钥及时地从丰富的执行环境提供给可信的执行环境,用于待解密的下一部分。
[0065] 23、根据条款22记载的方法,其中步骤(c)在安全元件中实现。
[0066] 24、根据条款19至23中任一项记载的方法,该方法包括:在步骤(d)之前,产生供密钥加密单元和密钥解密单元两者使用的会话密钥,并利用密钥加密单元用会话密钥重新加密经解密的内容密钥,
[0067] 其中,将内容密钥存储在密钥表中包括:将用会话密钥重新加密的内容密钥存储在密钥表中,
[0068] 其中,将内容密钥加载到寄存器包括:利用密钥解密单元用会话密钥来解密存储的经重新加密的内容密钥,并且将经解密的内容密钥存储在寄存器中,并且
[0069] 其中,防止进一步加载内容密钥包括:用新的会话密钥替换会话密钥而不重新加密内容密钥,由此防止密钥解密单元对存储在内容密钥表中的内容密钥的有效解密。
[0070] 25、根据条款19至24中任一项记载的方法,其中防止进一步加载内容密钥包括:从密钥表中删除内容密钥。
[0071] 26、根据条款19至25中任一项记载的方法,其中检测该部分已被解密包括以下中的一个或多个:
[0072] 检测到预定量的数据已经被解密;
[0073] 检测与内容密钥一起使用以解密媒体内容的所接收到的初始化向量中的变化;以及
[0074] 检测时钟信号中预定的变化。
[0075] 27、根据条款19至26中任一项记载的方法,其中评估访问条件包括:确定是否已经接收到授权解密经加密的媒体内容的部分或下一部分的经加密的内容密钥期望的令牌。
[0076] 28、根据条款27记载的方法,其中评估访问条件包括:确定是否已通过通信网络从服务器接收到授权解密经加密的媒体内容的部分或下一部分的经加密的内容密钥的期望的令牌。
[0077] 29、用于解密经加密的媒体内容的设备,该设备包括处理环境,该处理环境配置为:
[0078] 接收并存储用于解密经加密的媒体内容的经加密的内容密钥;
[0079] 评估访问条件,并且如果满足访问条件,则解密内容密钥,并使解扰器能够使用内容密钥来解密经加密的媒体内容;
[0080] 接收经加密的媒体内容,并使用内容密钥解密经加密的媒体内容;
[0081] 在时间间隔内重新评估内容密钥的使用是否应保持启用;以及,
[0082] 如果重新评估是否定的,则响应于重新评估,在时间间隔过去后防止解扰器使用内容密钥;
[0083] 30、根据条款29记载的设备,其中访问条件包括在时间间隔期满之前收到令牌的情况。
[0084] 31、根据条款30记载的设备,该设备包括用于将该设备连接至通信网络的通信接口,其中令牌是通过通信网络从远程位置接收的,并且重新评估包括对令牌进行认证。
[0085] 32、根据条款30或条款31中记载的设备,其中重新评估包括:将接收到的令牌与期望的令牌进行比较,并且只有当接收到的令牌与期望的令牌匹配时才评估访问条件。
[0086] 33、根据条款29至32中任一项记载的设备,其中处理环境配置为:在解密内容密钥之后,利用会话密钥对经解密的内容密钥进行重新加密,并存储重新加密的内容密钥,以供解扰器访问,其中
[0087] 使解扰器能够使用内容密钥包括:利用会话密钥解密用会话密钥加密的内容密钥;并且其中
[0088] 防止解扰器使用经解密的内容密钥包括:改变会话密钥而不重新加密内容密钥。
[0089] 34、根据条款29至33中任一项记载的设备,其中防止解扰器使用经过解密的内容密钥包括:删除经解密的内容密钥。
[0090] 35、根据条款29至34中任一项记载的方法,其中使解扰器能够使用内容密钥包括:将内容密钥存储在解扰器的寄存器中,以及,防止解扰器使用经解密的内容密钥包括:从寄存器清除经解密的内容密钥。
[0091] 36、根据条款35记载的设备,其中防止解扰器使用经解密的内容密钥包括:响应于已经过去的时间间隔,从寄存器清除经解密的内容密钥。
[0092] 37、根据条款35或36记载的设备,其中防止解扰器使用经解密的内容密钥包括:响应于将经解密的内容密钥存储在寄存器中,改变会话密钥。
[0093] 38、根据条款29至37中任一项记载的设备,其中使解扰器能够使用内容密钥来解密经加密的媒体内容包括:将内容密钥存储在解扰器可访问的内容密钥表中,并且其中防止解扰器使用内容密钥包括:从内容密钥表中删除内容密钥。
[0094] 39、根据条款38记载的设备,其中防止解扰器使用内容密钥包括:响应于解扰器从内容密钥表中加载内容密钥,而从内容密钥表中删除内容密钥。
[0095] 40、根据条款29或39中任一项记载的方法,其中处理环境配置为:通过监视以下组中的至少一个来检测时间间隔的期满:
[0096] 已被解扰器解密的一定数量的数据;
[0097] 用于结合内容密钥来解密媒体内容的所接收到的初始化向量的改变;以及[0098] 时钟信号。
[0099] 41、根据条款29至40中任一项记载的设备,处理环境包括可信的执行环境,该可信的执行环境配置为:根据具体情况,实施评估、重新评估、防止、认证、比较、改变、删除、清除和检测中的至少一个。
[0100] 42、根据条款29至41中任一项记载的设备,其中根据具体情况,在专用的硬件中实施评估、重新评估、防止、认证、比较、改变、删除、清除和检测中的至少一个。
[0101] 43、根据条款29至42中任一项记载的设备,其中访问条件包括关于输出控制状态或攻击检测状态的条件,并且重新评估包括:检测输出控制状态的改变或者检测绕过访问控制的尝试。
[0102] 44、用于控制远离服务器的客户端设备中的经加密的媒体内容的解密的服务器,该服务器包括处理环境,该处理环境配置为:
[0103] 向客户端设备发送经加密的内容密钥和访问条件消息,其中客户端设备解密内容密钥,以利用内容密钥来解密媒体内容;
[0104] 评估服务器侧条件,以确定客户端设备是否应当能够继续使用内容密钥来解密媒体内容;以及
[0105] 只有当评估是肯定的时,才响应于评估在时间间隔内向客户端设备发送令牌,其中,如果在时间间隔内未接收到令牌,则客户端设备防止使用内容密钥来解密媒体内容。
[0106] 45、根据条款44记载的服务器,其中服务器侧条件包括以下条件中的至少一个:
[0107] 从授权访问媒体内容的事务完成后的一段时间;
[0108] 从媒体内容第一次被访问以来的一段时间;
[0109] 多个客户端设备,其与其内容正在被同时解密的客户端设备的相同的用户账户相关联;
[0110] 已经接收到访问控制攻击通知;
[0111] 已经接收到访问输出控制通知。
[0112] 46、根据条款44或45中记载的服务器,其中处理环境配置为:通过监视以下组中的至少一个来检测时间间隔的期满:
[0113] 已被发送的一定数量的数据;
[0114] 用于结合内容密钥来解密媒体内容的所接收到的初始化向量的改变;以及[0115] 时钟信号。
[0116] 47、用于解密经加密的媒体内容的设备,该设备包括处理环境,该处理环境配置为:
[0117] (a)接收经加密的媒体内容;
[0118] (b)接收并存储用于解密经加密的媒体内容的经加密的内容密钥;
[0119] (c)评估访问条件,并且如果满足访问条件,解密经加密内容密钥;
[0120] (d)将内容密钥存储到解扰器可访问的密钥表中。
[0121] (e)访问密钥表中的内容密钥,并将内容密钥加载到解扰器的寄存器,以解密与内容密钥相关联的媒体内容;
[0122] (f)防止从密钥表进一步加载内容密钥到寄存器;
[0123] (g)使用解扰器,利用寄存器中的内容密钥解密一部分加密的媒体内容;
[0124] (h)响应于检测到该部分已被解密,从寄存器中清除内容密钥;以及
[0125] (i)重复步骤(c)至(h),以解密与经加密的媒体内容的部分相邻的、经加密媒体内容的下一部分。
[0126] 48、根据条款47和条款29至43中任一项记载的设备,其中时间间隔对应于解密该部分所花费的时间。
[0127] 49、根据条款47或48记载的设备,其中响应于加载存储的内容密钥,进一步的加载被防止。
[0128] 50、根据条款19至21中任一项记载的设备,该设备包括可信的执行环境,其配置为:至少部分地实施步骤(c)至(i);以及丰富的执行环境,其配置为将经加密的内容密钥及时提供给可信的执行环境,用于待解密的下一部分。
[0129] 51、根据条款50记载的设备,该设备包括安全元件,其中步骤(c)在安全元件中实现。
[0130] 52、根据条款47至51中任一项记载的设备,处理环境配置为:在步骤(d)之前,产生供密钥加密单元和密钥解密单元两者使用的会话密钥,并利用密钥加密单元用会话密钥重新加密经解密的内容密钥,
[0131] 其中,将内容密钥存储在密钥表中包括:将用会话密钥重新加密的内容密钥存储在密钥表中,
[0132] 其中,将内容密钥加载到寄存器包括:利用密钥解密单元用会话密钥来解密存储的经重新加密的内容密钥,并且将经解密的内容密钥存储在寄存器中,并且
[0133] 其中,防止进一步加载内容密钥包括:用新的会话密钥替换会话密钥而不重新加密内容密钥,由此防止密钥解密单元对存储在内容密钥表中的内容密钥的有效解密。
[0134] 53、根据条款47至51中任一项记载的设备,其中防止进一步加载内容密钥包括:从密钥表中删除内容密钥。
[0135] 54、根据条款47至53中任一项记载的设备,其中检测该部分已被解密包括以下中的一个或多个:
[0136] 检测到预定量的数据已经被解密;
[0137] 检测与内容密钥一起使用以解密媒体内容的所接收到的初始化向量中的变化;以及
[0138] 检测时钟信号中预定的变化。
[0139] 55、根据条款57至54中任一项记载的设备,其中评估访问条件包括:确定是否已经接收到授权解密经加密的媒体内容的部分或下一部分的经加密的内容密钥期望的令牌。
[0140] 56、根据条款55记载的设备,其中评估访问条件包括:确定是否已通过通信网络从服务器接收到授权解密经加密的媒体内容的部分或下一部分的经加密的内容密钥的期望的令牌。
[0141] 进一步的实施例和方面扩展到包括编码指令的计算机程序产品,所述编码指令在由处理器运行时实现如上所述的一个或多个方法。再进一步的实施例扩展到体现这些计算机程序产品中的一个或多个的一个或多个有形计算机可读介质。为了避免疑问,其中将某些组件、步骤或过程分组为逻辑上的或理论上的组件或功能,这是为了清楚起见而不是限制这些功能在软件或硬核中的基础实现(尽管这些的实现当然可以遵循这些分组)。此外,术语“响应于”用于包含直接、间接和延迟的响应。例如,响应于将内容密钥加载到解扰器中,改变会话密钥或删除内容密钥包含:使用从密钥表中的读取而不是写入寄存器中作为触发。类似地,响应于评估条件,从服务器发送令牌包含:进行评估,然后一旦从客户端设备请求就发送令牌。关于时间间隔,其包括相等持续时间的有规律的重复时间间隔,或者时间间隔可以在一个时间间隔与下一个时间间隔之间变化。时间间隔可以根据解密的或发送的数据量来定义,在这种情况下存在相应的时间段,其可能由于例如数据速率的因素而变化。相反地,可以根据时间段或持续时间来定义时间间隔,在这种情况下,可以存在相应的随时间间隔变化的数据量。

附图说明

[0142] 现参考附图,为了解释和说明的目的,通过示例的方式来描述各种实施例。
[0143] 图1A阐释了条件访问系统,其包括通过通信网络与内容消费客户端设备通信的条件访问服务器;
[0144] 图1B进一步详细阐释了内容消费客户端设备中的一个;
[0145] 图2阐释了包括令牌传输的服务器侧的条件访问过程;
[0146] 图3阐释了相应的客户端侧的过程;
[0147] 图4A阐释了内容消费设备的具体实施例,在其上可以实现包括图3所示的过程;
[0148] 图4B阐释了在一些实施例中图4A所示的组件如何适用于处理多个级别的密钥保护;
[0149] 图5阐释了用于操作图4A的内容消费设备的过程;
[0150] 图6阐释了内容消费设备的可替代的实施例;
[0151] 图7阐释了用于操作图6的内容消费设备的过程。

具体实施方式

[0152] 参见图1A,条件访问服务器102具有处理环境和通信接口,并通过通信网络104(例如互联网)与多个内容消费客户端设备106进行通信,其实现条件访问功能。在一些实施例中,通信网络104和条件访问服务器102(以及任何分离的内容服务器)不在同一实体的控制之下。这通常称为通过互联网提供内容(OTT)。在其他实施例中,用于通信网络104和内容提供的通信基础设施在同一实体的控制下,例如互联网服务提供商。在另外的实施例中,通信网络是专用的广播网络,例如卫星或有线网络。在这些环境下,条件访问服务器102通常设置在线缆或卫星的头端。可以通过广播、组播、点播或根据需求进行内容的传输。
[0153] 条件访问服务器102提供用于给定的内容或流的内容密钥CK和访问条件AC至客户端设备106。CK和AC可以以多种不同的格式提供,但通常地一起提供在授权控制消息ECM中。CK利用传输密钥TK加密来提供,作为[CK]TK(通常,本文使用的记号[x]y表示利用密钥y加密的明文x),并且AC可以以一种形式提供,使得其可以被客户端设备106认证。在一些实施例中,条件访问服务器102也提供经加密的媒体内容至客户端设备106,例如以经加密的媒体流的形式提供。在其他实施例中,经加密的媒体内容由分离的服务器提供,该分离的服务器未在图1A中阐释。具体地,提供至客户端设备106的、利用内容密钥CK加密的媒体内容称为[媒体内容]CK。各种数字视频传输标准可以用于传输媒体内容,例如MPEG-DASH。
[0154] 在一些实施例中,条件访问服务器102具有访问包含用户信息的用户数据库的权限,例如用户被授权访问的内容,用户可用来访问内容的客户端设备的身份和/或数量等。该信息用于通过条件访问服务器确定给定用户的消费权限,并相应地生成CK和AC,例如以ECM的形式。在一些实施例中,条件访问服务器102配置为通过进行了适当的编程的通用的目的或专用的处理器,周期性地验证由客户端设备106继续访问给定内容的条件,并发送令牌至客户端设备106,指示继续访问被授权。
[0155] 该条件可以包括检查许可条件是否符合:例如,与给定用户消费内容相关联的客户端设备106的数量、从授权访问内容的处理完成开始的一段时间、从内容第一次被访问开始的一段时间等。该条件还可以包括对其他反馈信号的检查,例如篡改警报,其提供关于企图绕过客户端设备106处的访问控制的可能的警报,或指示客户端设备106处的输出控制状态的改变的信号。输出控制状态改变的示例是,在使用HDMI线缆将机顶盒连接至TV屏幕的情况下,使用HDCP(High-bandwidth Digital Content Protection,高带宽数字内容保护)协议通过HDMI(High-Definition Multimedia Interface,高清晰度多媒体接口)线缆传输的内容被保护。相关的数据状态改变将例如是HDCP保护状态的改变,例如HDCP被禁用。
[0156] 周期性验证可以通过发送或消耗的数据量或通过加密信息(例如与CK一起使用以解密内容的初始化向量IV)的改变发生在预定的时间间隔内,例如,通过经过的时间段来确定。具体地,在一些条件访问的实现中,IV是对于客户端设备106已知的随机数,其从一个数据部分(通常称为组块)改变到下一数据部分,例如通过将先前组块的大小添加到先前的IV值。如下面详细描述的一些实施例所述的,IV中的这种改变防止受损的设备简单地将整个内容作为一个部分/组块来处理,并进一步用于触发周期性的验证和/或周期性地将存储的CK呈现为不可用的。
[0157] 参见图1B,现在描述客户端设备106的实施例。客户端设备可以是例如没有显示器的机顶盒、集成接收解码器、集成电视、个人电脑或移动设备,例如智能手机或平板电脑。客户端设备106包括网络通信接口108、丰富的执行环境(rich execution environment,REE)110,其中包括设备正常操作系统、网络通信适配器、用户接口功能、图形和视频功能,以及根据一些实施例,一部分内容处理和解扰模块,其用于结合在可信的执行环境TEE 112中实现的内容访问功能,处理并输出经解密的内容至用于或视频/显示处理器,以供进一步处理。
[0158] TEE 122提供独立于REE 110的并与REE 110并行运行的执行环境。TEE 122配置为保护其资产免受一般的软件攻击,并且定义严格的安全措施,使得程序可以从TEE 112的外部访问数据和功能。TEE是安全的区域,其可确保敏感数据在可信的环境中存储、处理和保护。TEE能够提供安全执行授权的安全软件的能力(称为“可信的应用程序”)使其通过加强保护性、机密性、完整性以及数据访问权限来提供端到端的安全性。TEE 112进一步实现向解扰器提供CK的功能,周期性地评估对内容的访问是否将维持,并且如果评估是否定的,则防止解扰器使用CK解密经加密的媒体内容。
[0159] 在一些实施例中,TEE 112还包括安全元件SE 114,其实现需要最高安全程度的那些功能,例如AC的评估和认证以及CK的解密。SE使用软件和防篡改硬件提供增强的安全性。其允许高级别的安全性,并与TEE一起工作。SE可以包括平台,应用程序可以在其上安装、个性化和管理。这包括硬件、软件、接口和协议,其可以安全地存储证书和执行引用程序,例如用于访问权限评估。SE可以以不同的形式实现,例如通用集成电路卡(Universal Integrated Circuit Card,UICC)或由NFC(Near Field Communication,近场通信)连接的设备。SE可以作为单独的芯片或安全设备提供,其可以被插入到客户端设备106的插槽中。
SE也可以嵌入到客户端设备106中来提供。SE可以包括一个或多个安全域,每个安全域包括信任一般实体(即,使用一般的或全局的加密密钥或令牌认证或管理的)的数据集合。
[0160] 具体地,根据一些实施例,TEE 112通过以下方式来提供解扰器对CK的访问:
[0161] ·对接收到的经加密的CK进行解密,并将其以明文存储在解扰器可访问的CK表中,以将CK加载到对应的寄存器中;
[0162] ·对接收到的经加密的CK进行解密,利用会话密钥SK对其重新加密,并将其以该形式存储在表中,结合提供一种将CK加载到寄存器的机制,其包括利用SK对表中的CK进行解密。
[0163] 在其他实施例中,TEE 112实现以下中的一个或多个,以防止解扰器访问CK:
[0164] ·响应于将CK加载到寄存器中,或者在评估之间的时间的另一时间点,将CK从CK表中删除;
[0165] ·改变可用于加载CK的SK,或全局地无需重新加密存储在表中的CK,从而响应于将CK加载到寄存器中,或者在评估之间的时间的另一时间点,利用新的SK将CK呈现为不可用的;
[0166] ·周期性地将CK从寄存器中清除,从而迫使重新评估AC,以在CK被清除时(或)及时重新解密CK,使得CK可以被重新加载到寄存器中。
[0167] 在这些实施例的全部或一些中,这些功能中的部分或全部功能都是在专用的硬件中实现的,以进一步降低成功攻击条件访问系统的风险。此外,在一些实施例中,所描述的功能的一部分,特别是关于寄存器的维护和清除的部分可以在TEE 112中实现,在一些实施例中可以在专用的硬件中实现。
[0168] 根据实施例,基于TEE 112内的设备内部标准,完成了是否维持访问的周期性评估,或者可以在服务器侧完成,在这种情况下,周期性评估包括:通过RE E 110中的通信模块对来自服务器102的已认证的令牌的接收进行测试,以及对TEE 112或SE 114中的令牌的评估。当然,在一些实施例中,结合了两种方法。
[0169] 参见图2,现根据具体的实施例描述服务器侧的过程。在步骤202中,服务器102通过通信网络104连同访问条件AC,发送经传送密钥TK加密的内容密钥[CK]TK至客户端106,访问条件AC确定客户端设备106是否可以利用TK解密CK(TK已经存在于客户端设备106中)。在步骤204中,服务器102评估服务器侧的继续访问条件,例如包括一个或多个上述讨论的条件,并且,在步骤206中,通过网络104发送认证的令牌至客户端设备106,以使客户端设备能够继续访问对应于CK的内容。如果评估是否定的,则不发送令牌,并且客户端设备将终止访问,如下所述。在发送(或不发送)令牌后,执行延迟208,使得步骤204和206在客户端设备106处的令牌的期望充分同步,以确保在步骤204处的评估是肯定的同时继续访问。该延迟可以根据时间、由服务器102发送至客户端设备106的一定数量的数据、由客户端设备106解密以呈现相应内容的数据量的估计、从服务器102或其他用于结合CK一起解密内容的服务器发送至客户端设备的IV的改变、或在客户端设备106处本地生成的IV将何时改变的估计来执行。此外,特别是在OTT实现的背景下,在一些实施例中,客户端设备106按时地请求新的数据(而不是在例如广播的背景下,将数据推送到客户端设备),并且,这为数据请求触发和/或同步由服务器102发送的令牌。
[0170] 参见图3,现在描述对应的客户端侧的过程。在步骤302中,接收到的AC被认证和评估,并且,当在肯定评估的情况下,在步骤302处对解扰器启用对CK的访问,经加密的媒体内容由解扰器使用CK来解密,如上在步骤304中所描述的那样。在预定的时间间隔后,例如由时钟信号确定的预定的时间段,预定数量的数据在步骤304中已经被解密,接收的或生成的IV的改变等,在t1时刻,AC在步骤306中被重新评估,在评估是肯定的情况下,由于时间t1结束的时间间隔已经接收到令牌,所以在步骤308继续对内容进行解密。该重新评估在每个时间间隔执行。如果在步骤310中,在时间tn进行重新评估,则重新评估是否定的,因为在tn没有及时接收到令牌,所以在步骤312中对媒体内容的解密失败。可以理解,AC评估的初始值可以与随后的重新评估不同,例如重新评估可以仅检查自上次重新评估以来经过认证的令牌的接收。同样地,在一些实施例中,重新评估可以是排他地或者部分地基于客户端设备106内部的内部因素,依赖或者不依赖于令牌的接收。
[0171] 为了允许进一步的访问,接收到的令牌必须与期望的令牌相匹配。然而在一些实施例中,令牌是一个固定的值,其对于服务器102和客户端设备106都是已知的,令牌评估的安全性可以通过例如在每次评估之后,以可以由客户端设备106预测的方式不时地改变令牌来改进。例如,可以使用计数器增量或时间戳来改变评估之间的令牌,或者可以通过在服务器102和客户端设备106之间同步的任何合适的加密方法来生成或导出令牌。
[0172] 参见图4,现在描述客户端设备106的特定的实施例。可以理解,本实施例可以作为上述实施例的具体实现,用于实现上述具体方法,尤其是通过令牌的接收或其他方式周期性地重新评估访问权限。然而,实施例更广泛地适用于期望在条件访问系统中强制执行访问条件的周期性重新评估的任何背景中,尤其是在OTT背景中。
[0173] 在这个实施例中,客户端设备106包括REE 402和TEE 404。REE配置为接收用于由解扰器408解扰的编码的内容406,以及对应的用于存储在条件访问内核414中的CK 410和AC 412。CK 410用传送密钥TK加密,并且AC 412包括被称为安全停止位SSB的标志,其指示CK的可用性是否受到AC的重新评估(或AC的部分,例如涉及周期性令牌的接收的部分)的周期性强制执行的影响。这将在下面更详细地讨论。条件访问内核414配置为:根据解扰器406的请求,配合由REE 402提供至解扰器408的编码内容406,请求对AC的评估以及对CK解码,其由已经被解扰器406发送或解码的一定数量的数据周期性地触发,例如适时地结束一个组块,或者响应于所接收或产生的IV的改变。在一些实施例中,REE控制将下一内容组块推送至DSC 408以进行解扰,以及将CK和AC发送到TEE,并同步这些操作,例如,在需要下一组块时以良好的时间发送CK和AC,然后在适当的时间,并且一旦CKTable 422中的CK准备就绪,将下一个组块推送到DSC 408以进行解扰。
[0174] TEE 404实现:AC评估模块416,其配置为评估由条件访问内核414传递给它的、用于评估的AC;以及具有TK的密钥解密模块418,并配置为如果由AC评估模块416清除,解密来自条件访问内核414的、传递给它的[CK]TK。第一密钥保护单元420配置为接收来自密钥解密单元418的经解密的内容密钥CK,并利用会话密钥SK对其进行加密,下面进一步讨论。在一些实施例中,第一密钥保护单元也配置为利用SK加密AC。密钥表422配置为接收重新加密的内容密钥[CK]SK和来自第一密钥保护单元420的加密的访问条件,并存储[CK]SK和[AC]SK。通过存储CK和AC(其包括SSB),由于SSB将向相关模块指示应当如何处理CK,密钥表422可以存储受访问权限的周期性重新评估影响的CK和不受其影响的CK。
[0175] TEE 404还实现第二密钥保护模块424,其配置为从密钥表422中读取[CK]SK和[AC]SK。如下所述,为了强制周期性地对AC进行重新评估,SK周期性地改变,使得每个新的SK需要在密钥保护模块422和424之间进行协商和同步。为此,每个密钥保护单元,或者其中只有一个作为合适的可以从SK生成器26中请求新的SK。SK生成器426包括随机或伪随机数生成器,以生成SK。一旦生成,SK生成器426就将新的SK传送至密钥保护模块。在一些实施例中,SK生成器结合在密钥保护模块的一个中,并且密钥保护模块直接通信以协商每个新的SK。在一些实施例中,每个密钥保护模块具有相同的可预测的数字生成器的副本,并且密钥保护模块协商何时产生新的SK,然后每个密钥保护模块独立地生成下一个值。
[0176] 第二密钥保护模块426还配置为对CK和AC进行解密,以从AC中提取SSB并将CK和SSB存储在解扰器408的寄存器428中。组块计数器430配置为监视由解码单元432(在一些实施例中实现在REE 402中)解码的数据的量。解码单元432配置为对经加密的内容406进行解码,以输出“明文”数字视频内容434,用于通过视频处理器进行下游处理,并显示给客户端设备406的用户,并且在预定数量的数据已经被解码时,例如在解码每个组块之后,清除寄存器428。在可替代的实施例中,与CK结合使用的IV的变化被监测,并用于触发清除寄存器428。在另外的实施例中,时钟信号用于这个目的。可以理解,条件访问内核414相应地被调整,使得AC被重新评估以及时地在密钥表中存储新的[CK]SK,为密钥保护模块将CK重新存储在寄存器428中。
[0177] 在一些实施例中,第二密钥保护模块424配置为当寄存器428需要写入或重新写入寄存器428的AC时,响应于来自解扰器的请求,读取来自密钥表422的[CK]SK和[AC]SK。在其他实施例中,密钥保护模块424响应于[CK]SK和[AC]SK存储在密钥表中,从密钥表422中读取[CK]SK和[AC]SK,例如由来自密钥保护模块420的信号触发。然后,响应于来自组块计数器430的指示寄存器已被清除的信号,或者响应于来自解扰器408的信号,在检测到寄存器已被清除的情况下将CK和SSB插入到寄存器428中。
[0178] 在一些实施例中,密钥表422存储每个CK的内容标识符,识别与CK相关联的相应的内容。然后,如图4B所示的许多实现可以存储具有不同保护等级的CK:
[0179] ·所有的CK都用相同的SK加密存储,并且需要由第二密钥保护模块422解密。存在全局的SK,这意味着REE在每次向解扰器408提供相关的CK以解密给定的内容时,不管是否设置了SSB,REE必须利用当前的SK请求CK的新的解密和重新加密。对于那些设置了SSB的CK,在每个REE的末端将CK从解扰器408清除,并且REE每次向解扰器408推送新的组块时都必须请求解密和重新加密。
[0180] ·设置了SSB的CK利用周期性改变的相同的全局SK加密存储,例如响应于如上所述的组块的末端。对于这些CK,每次解扰器408需要新的CK时(对于每个新的组块,设置了SSB),REE请求解密和重新加密CK。由于CK的解密和重新加密是在CK需要被插入解扰器408之前触发的,由于[CK]SK所需的有效期短,SK可以全局地改变。在这种要求被放宽并且[CK]SK需要更长的有效期的实现中,必须为每个内容保持正确的SK的索引,例如在密钥表422中。例如,在一些实现中,SK的变化是通过在重新协商时或者周期性地用计数器增加SK来实现的,并且对于每个CK/相应内容,在密钥表422中保持对计数器的正确值的索引。没有设置SSB的CK以明文存储。
[0181] ·如在前述的实现中,设置了SSB的CK被利用周期性改变的相同的全局SK加密存储。如上所述,可以通过重新协商或者增加计数器至SK来改变。没有设置SSB的CK利用不改变的或不太频繁地改变的、不同的SK重新加密存储。在如上所述通过计数器实现SK改变的实现中,不同的SK可以是没有添加计数器的SK。替代性地,该不同的、静态SK可以是:由密钥保护模块420和424为非SSB的CK协商的单独的SK。在这两种情况下,SK(或如在一些情况下可以是所有的SK)可以周期性地重新协商(但没那么频繁地),或可以在设备重新启动的时候重新协商,以强制重新评估所有密钥。
[0182] ·在所有的这些选项中,AC可以以明文存储在密钥表422中,使得SSB是可访问的,或者AC可以利用例如SK或递增版SK来加密,以及SSB被单独地存储以供第二密钥保护模块424访问,而SK不知道SSB(或者不知道SSB的正确版本)。AC可以通过加密方法标记,以防止其修改。例如,可以将AC和SK级联,并且使用例如SK作为密钥的使用链接模式(例如CBC模式中的AES(AES in CBC mode,Advanced Encryption Standard in Cipher Block Chaining mode,密码块链接模式中的高级加密标准))的算法对结果进行加密。在另一示例中,利用MAC(Message Authentication Code,消息认证码)、AES CGM(Galois/Counter Mode,伽罗瓦计数器模式)或AES ECC(Elliptic Curve Cryptography,椭圆曲线加密)算法来标记AC。
[0183] 在一些实施例中,AC评估模块416和密钥解密模块418在安全元件436中实现。在一些实施例中,例如以ECM形式的AC通过智能卡和相应的读取器提供到安全元件436,并且ECM的评估和CK的解密在安全元件436中完成。在一些实施例中,第一密钥保护模块420也在安全元件436中实现。
[0184] 参见图5,现在描述在设置了SSB,使得启用了AC的重新评估执行期的情况下,参见图4A描述的上述实施例的操作。在步骤502中,生成了SK。在大多数所描述的实现中(见上),生成全局SK(并且可以如上所述与计数器一起使用)。首先在客户端设备106启动时生成SK,然后可以如上所述周期性地重新协商。在步骤504中,经加密的媒体内容被接收,并且,在步骤506中,CK和AC由条件访问内核414接收并存储。
[0185] 在步骤508中,条件访问内核414将AC发送给访问评估模块416,将CK发送给解密模块418,以触发和评估AC,并且如果评估是肯定的,则对CK进行解密。在步骤510中,解密的CK被传递到第一密钥保护模块420,以用SK对CK进行加密,并将结果存储在密钥表422中。在步骤512中,CK由第二密钥保护模块424使用会话密钥SK读取和解密,并且结果被存储在寄存器428中。此外,第二密钥保护模块424还将SSB存储在寄存器中,以表明正在对AC进行重新评估。响应于读取和/或存储,在步骤514中,在密钥保护模块420和424中协商并替换新的SK。例如,在一些实施例中,第二密钥保护模块424响应于读取和/或存储CK而触发该重新协商。在这个阶段,如果CK需要再次放置在寄存器428中,则需要重复步骤508至512的过程,以便将用新SK加密的CK存储在密钥表422中,以使其通过第二密钥保护模块428被解密并存储在寄存器428中。
[0186] 在步骤516中,经加密的数据流的组块或其它预定义部分(预定数量的数据、IV的两个变化之间的部分)由解密模块432使用寄存器428中的CK来解密,并输出用于下游的处理和显示。在步骤518中,组块计数器430检测到内容的预定部分已经被解码,并且,如果SSB存在于寄存器中,则响应于此,从寄存器428中清除CK,从而防止进一步解码内容406,除非再次评估AC,并且重复随后的步骤508至512,以使得用新的SK加密的[CK]SK可再次用于第二密钥保护模块424。因此,为了继续解码内容406,该过程循环回到步骤508。为此,响应于来自解扰器408的请求,或者例如响应于条件访问内核414独立请求重新评估,例如基于监视IV改变或基于输入到解扰器408或从解扰器408输出的数据的量,AC的重新评估(以及CK的后续解密,如果成功的话)是由条件访问内核414分别向解密模块416和访问评估模块418发TK送[CK] 和AC来触发的。
[0187] 上面的描述是根据强制重新评估AC的过程来进行的,即SSB设置为表示应当启用的值,例如1。在SSB设置为禁用强制重新评估的情况下,例如设置为0,修改上面参见图5描述的过程,其中在步骤514处采取一个或多个以下替代动作:
[0188] ·在第二密钥保护模块424中用于重新协商SK的触发被抑制,使得SK响应于第二密钥保护模块从密钥表422中读取[CK]SK而不重新协商(尽管在其它时间可能发生重新协商);
[0189] ·在SK的重新协商中,[CK]SK被重新加密,以使其对于当前的SK保持可访问的;
[0190] ·对于未设置SSB/设置为0的所有内容,使用全局SK(不变的SK);每次对于设置了SSB/设置为1的内容而需要新的SK时,通过计数器递增SK来产生新的SK;
[0191] ·密钥保护模块420、424的作用仅仅是传递在密钥表422中存储并保持可访问的明文形式的CK(还包括步骤510中的修改)。
[0192] 此外,另外地或可替代地,根据实施例,如果如上所述在寄存器428中存储了有效的SSB(例如值为1),寄存器428仅在步骤518中清除,否则保留CK直到内容改变或者客户端设备106重新启动。
[0193] 参见图6,现描述可替代的特定的实施例,其总体上去除上面参照图4描述的密钥保护模块420和424以及SK生成器426和相应的SK的周期性重新协商,而是通过从密钥表422中周期性地删除CK来强制重新评估AC。然而,在进一步的实施例中,连同SK重新协商的使用SK的密钥保护与从密钥表422中的CK的删除相结合,并且两者的发生都是为了执行对AC的周期性的重新评估。
[0194] 具体地,转到图6,其中各个模块保留了参考图4在上面描述的实施例中使用的附图标记,密钥表422的功能已经改变,因为它以明文接收和存储CK和SSB。解扰器408的功能已经改变,因为它直接读取CK和SSB到寄存器428中,并且响应于此,触发在密钥表422中删除CK。在一些实施例中,在用于增加对抗攻击的安全性和恢复性的专用的硬件中实施删除和/或其触发,以规避AC的周期性重新评估。模块420、424和426未呈现。
[0195] 参见图7,现描述使用刚刚参照图6描述的具体实施例实现的过程。该过程类似于上述参照图5所描述的过程,并且相似的附图标记用于表示相似的过程步骤。省略了步骤506,并且步骤510至514被修改,并分别称为步骤710至714。具体地,这些步骤在根据从密钥表422中删除明文CK替换SK的重新协商改变的。然后描述图7中的差异,在步骤710中,CK以明文形式存储在密钥表422中,并在步骤712中读入寄存器426。在步骤714中,响应于已被读入寄存器426中的CK,将CK从密钥表422中删除。可以理解,在结合两种方法的实施例中,上面参考图5描述的过程被修改,因为除了图5所描述的那个过程的步骤之外,在该过程中的某个点处发生执行从密钥表422中删除CK。
[0196] 可以理解,以上参照图4至图7描述的具体实施例适用于其中应当执行AC的周期性重新评估的任何情况,特别是如果相应的CK具有延长的有效期并且被永久地存储在客户端设备中,如在OTT应用中的情况那样。如上所述,AC的重新评估可以基于客户端设备106本地的条件和/或可以依赖于来自条件访问服务器102的令牌的接收。在一些实施例中,AC是这样的:在初始步骤中,除了令牌条件的接收之外,其他都仅评估一次,并且随后的评估仅需要对令牌的接收和认证进行评估。在一些实施例中,条件访问完全在服务器102的控制下,并且,在客户端处的AC仅需要在客户端设备处继续存在经认证的和最新的令牌,以向解扰器提供对CK的继续的访问。
[0197] 本领域技术人员将想到在所附权利要求的范围内对上述特征的各种修改、组合和并置。举几个例子,在一些实施例中,可以独立地和/或与AC分离地接收和/或存储SSB,在这种情况下AC不存储在密钥表中。解码器可以在TEE或REE中完全实现,而不是跨越两者。实际上,取决于所需的安全级别,所有描述的模块都可以在TEE或REE中实现。在AC保持与SSB关联的情况下,在相关实施例中,可以将其加密或以明文形式存储在第二密钥保护模块中,或者其可以被丢弃,而仅有SSB存储在第二密钥保护模块中。实际上,AC和/或SSB可以存储在第二密钥保护模块可访问的其他地方。更一般地说,在一些实施例中,特定数量的存储的位置在上面提及,但这应理解为可访问性的逻辑连接而不是物理位置。
[0198] 类似地,上面已经描述了协调密钥保护模块与SK生成器之间的SK协商的具体方式,可以理解,实现这一点有很多可能,包括除了或代替与SK生成器通信之外的这些模块之间的直接通信。此外,在上述的实施例中,周期性地清除持有CK的解扰器的寄存器。这通过相应地设置周期,提供了执行AC的重新评估和/或令牌的接收的任意粒度。在可替代的实施例中,对执行AC的重新评估和/或令牌的接收的粒度提供较少的控制,当待解扰的内容改变或设备断电时,寄存器内容仅被重写/改变,在这种情况下,只有在设备启动或开始解扰新内容时,才能保证对AC的重新评估。
[0199] 通常,可以理解,当所描述的实施例以不同的分组和模块公开,一些实施例在物理实现方面反映所描述的分组,其可能在某些或所有分组和模块的专用硬件中实现,而其他实施例将所描述的功能重新组合在不同的物理布置中,并且所描述的模块和组理解为逻辑组,为了清楚地解释相关联的功能目的,而不是为了限制的目的。因此,所描述的功能可以在逻辑或物理分组中进行不同的分组。不论是关于REE还是TEE,根据各种实施例,所描述的功能都可以在软件、固件、中间件或硬件中的一个或多个中实现。
[0200] 应当理解,上述描述为了解释各种实施例和所公开的技术的目的,而不是为了限制所附权利要求的范围。