CN103748890B - 接收机软件保护 - Google Patents

接收机软件保护 Download PDF

Info

Publication number
CN103748890B
CN103748890B CN201280040824.0A CN201280040824A CN103748890B CN 103748890 B CN103748890 B CN 103748890B CN 201280040824 A CN201280040824 A CN 201280040824A CN 103748890 B CN103748890 B CN 103748890B
Authority
CN
China
Prior art keywords
key
provider
authentication secret
descrambling information
receiver
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.)
Active
Application number
CN201280040824.0A
Other languages
English (en)
Other versions
CN103748890A (zh
Inventor
P.罗埃尔塞
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.)
Ai Dide Technology Co Ltd
Original Assignee
Ai Dide Technology Co Ltd
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 Ai Dide Technology Co Ltd filed Critical Ai Dide Technology Co Ltd
Publication of CN103748890A publication Critical patent/CN103748890A/zh
Application granted granted Critical
Publication of CN103748890B publication Critical patent/CN103748890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64715Protecting content from unauthorized alteration within the network
    • 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]
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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

接收机软件保护
技术领域
本发明涉及用于在接收机处获得解扰信息的方法和设备。本发明还涉及用于使得接收机能够获得解扰信息的方法和设备。
背景技术
用于数字视频广播(DVB)传输的条件访问/数字权限管理(CA/DRM)系统是众所周知的,并且与付费电视(TV)服务相结合地广泛使用。此类系统向例如包含在机顶盒中的数字接收机或支持广播服务的移动终端提供包括一个或多个服务的广播流的安全传输。为了保护广播服务免受未授权观看,在发射机侧用一般称为控制字的加密密钥将数据分组加扰(加密)。CA/DRM系统实现控制字仅到已授权接收机的选择性分发。通过周期性地改变控制字、因此其仅在某个时段内有效来提供进一步安全性。通常使用所谓的授权控制消息(ECM)将控制字以加密形式发射到接收机。
在接收机中,将ECM从传输流滤出并发送到安全的计算环境,称为CA/DRM客户端(例如,CA/DRM客户端可以是具有嵌入式软件的智能卡,或者其可以是在接收机内部执行的(可能混淆的)软件模块)。CA/DRM客户端随后使用较高级密钥将ECM解密,其是被授权访问与包括在ECM中的控制字相关联的TV频道的所有CA/DRM客户端所共用的。控制字被返回至接收机,其将控制字加载到解扰器以便将数据解扰。
控制字剽窃是数字视频广播(DVB)系统中的显著问题。常见的攻击使用这样的事实,即控制字是将所有接收机上的内容解锁的共享密钥。敌方能够破解密钥输送基础设施的一部分以获得控制字并将控制字重新分发给未授权接收机。例如,有时敌方能够拦截从CA/DRM客户端发射到接收机中的解扰器的控制字并通过本地网络或通过因特网将其重新分发。重新分发的控制字然后被用来在没有合法已授权CA/DRM客户端的情况下将已加扰服务解扰。因此,安全要求是应保护控制字的机密性和真实性。
在某些情况下,芯片组支持密钥分级结构以基于在制造过程期间安装的秘密密钥来保证控制字输送的安全。附图的图1示出了用以加载密钥以将内容解扰的接收机的芯片组102的现有技术示例。解密模块114、116和118使用已加密输入数据和输入密钥来获得已解密输出数据。芯片制造商用用于对称芯片组唯一密钥CSUK的伪随机秘密值将芯片组个性化,并向该芯片组分配非秘密芯片组序列号CSSN以用于未来识别。元件104和106是只读存储器位置,分别用于存储CSSN和CSUK。元件108和110是用于临时存储已解密输出数据的读和写存储器位置。如所示,内容解码器112将已解扰内容解码。用箭头来指示元件之间的数据流。沿着箭头的标签识别数据流。
如图1中所示,在芯片组102中接收到用控制字CW加扰的内容流,用 {Content}CW来表示。为了提供将内容解扰所需的控制字,芯片组102使用输入{CW}CSLK来支持关联CW的安全加载,其表示用对称芯片组加载密钥CSLK加密的CW。在芯片组102处接收用由输入{CSLK}CSUK所表示的对称芯片组唯一密钥CSUK加密的所述CSLK。为了将 {CSLK}CSUK解密,需要CSUK。CSUK和与特定芯片组相关联的芯片组序列号CSSN通常被预先安装在芯片组上的存储器位置(分别地,元件104和元件106)上且不能改变。在操作中,从芯片组102中的安全储存器(即,元件106)检索CSUK,并用来使用解密模块114将来自{CSLK}CSUK的CSLK解密。一旦被解密,CSLK被存储在存储器(即,元件108)中,并且能够用来使用解密模块116将{CW}CSLK解密。最后,存储在存储器(即,元件110)中的清除控制字被解密模块118用来将进入的已加扰内容{Content}CW解扰,使得可由芯片组使用内容解码器112来将内容解码。内容解码器112能够在芯片组102外部且通常是接收机的一部分。
通常,对于纵向市场接收机而言,芯片制造商向CA/DRM供应商供应(CSSN、CSUK)对的列表,使得能够使用图1中所描述的方法将用于芯片组加载密钥CSLK的值加载到芯片组中。通过从头端系统向CA/DRM客户端发送授权管理消息(EMM)和ECM,已知条件访问系统使用诸如图1中所示的密钥加载机制。对于图1中的示例而言,EMM包括CSLK(意图用于CA/DRAM客户端,并使用由CD/DRAM系统提供的机密且真实的信道来保护)及其加密版本{CSLK}CSUK(意图用于芯片组102)。ECM包括加密CW。CA/DRM客户端向芯片组提供{CSLK}CSUK,并且可使用CSLK作为用于加载控制字序列的CSLK。也就是说,CA/DRM客户端可使用CSLK来对包括在ECM中的CW进行重新加密,导致发送给芯片组102的消息{CW}CSLK。通常,CSLK是CA/DRM客户端和芯片组的特定组合所特有的,并且因此,只有该芯片组能够将从CA/DRM客户端接收到的{CW}CSLK解密(因此共享CW加载消息{CW}CSLK是不可能的)。
对于横向市场接收机而言,CA/DRM系统运营商(纵贯本文也称为提供商或运营商)应能够对CA/DRM系统进行交换。在用于纵向市场接收机的上述解决方案中,与接收机相关联的秘密万能密钥(亦即密钥CSUK)为CA/DRM供应商所知。从安全角度触发,此性质对于水平市场接收机而言是不期望的。其原因是当前CA/DRM供应商可在CA/DRM系统已被交换之后公开秘密万能密钥CSUK,损害接收机的安全性。用于横向接收机的安全要求因此是方案不应要求为CA/DRM供应商所知的接收机的任何秘密需要为任何其他CA/DRM供应商所知。在上述方案中未满足此要求。
虽然图1中的示例描述了使用对称密码算法的方法,但还可能使用非对称或公共密钥密码术,诸如附图的图2中所示。
图2示出了使用非对称密码算法来保护控制字的机密性的实现控制字加载的典型芯片组。与芯片组序列号CSSN相关联的芯片组202包括元件204(只读存储器存储位置)、用于存储密钥对的元件208和元件210(读和写存储器存储位置)以及用于临时存储清楚控制字的元件212(读和写存储器位置)。为了保护密钥对的真实性,优选地元件208和元件210是一次写入存储器位置。
作为制造期间加载一对(CSSN、CSUK)并将各对发送到CA/DRM供应商及其运营商(如图1中所示的示例中执行的)的替代,图2中所示的芯片组202的芯片制造商通过激活生成随机密钥对的密钥对个性化模块206来将芯片组202个性化,所述随机密钥对由芯片组公共密钥CSPK和芯片组秘密密钥CSSK组成。CSPK和CSSK分别被存储在元件208和210中。替换地,可在芯片组202外面(例如,在对于芯片组制造商可得的芯片组个性化系统中)实现密钥对个性化模块206,并且制造商可在芯片组202的个性化期间将CSSK加载到其中。此后,制造商能够从其一个或多个系统删除CSSK。
制造商保持各对号码,每对包括芯片组序列号CSSN及其关联芯片组公共密钥CSPK。能够使得(CSSN、CSPK)的列表可对于所有CA/DRM供应商可得。注意到,仅需要保护这些对的真实性,因为号码CSSN和CSPK并不是秘密的。CSPK被用来将只有具有相应CSSK的接收机能够解密的CW加密(使用解密模块216)。也就是说,已加密控制字{CW}CSPK是唯一数据模式,因为没有其他接收机将生成相同的随机密钥对(CSPK、CSSK),因此共享CW加载消息{CW}CSPK是不可能的。临时存储在元件212中的已解密CW然后被用来由解密模块218将{Content}CW解密以产生解扰内容。该解扰内容然后紧接着通过使用内容解码器214被解码。
如在图2中描述的公共密钥解决方案的益处是芯片组秘密密钥CSSK不需要为任何CA/DRM供应商所知。然而,由于CSPK是公共密钥,所以其也对于敌方可得。特别地,敌方能够使用CSPK来向与该CSPK相关联的接收机分发给定控制字CW,例如CW被从另一接收机泄密之后。也就是说,这种方法并不保护CW加载消息的真实性。
可将用于保护CW加载消息的真实性的第二、独立机制添加到图2中所描述的公共密钥解决方案。例如,能够使用消息认证码(MAC)来保护CW加载消息{CW}CSPK的真实性。基于在CA/DRM客户端与芯片组之间共享的秘密密钥KMAC,MAC是对称密码技术。特别地,CA/DRM客户端使用KMAC作为密钥来生成CW加载消息{CW}CSPK的MAC值。计算的MAC值能够被附加于消息。在接收到该消息和MAC值之后,芯片组使用KMAC来验证MAC值。替换地,能够将基于公共密钥密码术(即,非对称数字签名)的方法用于保护CW加载消息{CW}CSPK的真实性。在此类解决方案中,制造商在个性化阶段期间将与数字签名方案相关联的公共密钥加载到接收机。此公共密钥能够用作真实性机制的根密钥。接收机能够使用真实性机制来验证CW加载消息{CW}CSPK的真实性。
然而,对于两个真实性方案(对称和非对称)而言,用于对消息进行签名的万能密钥是秘密密钥。这意味着如果此万能密钥被分发给CA/DRM供应商,则不满足方案不应要求为CA/DRM供应商所知的接收机的任何秘密需要为任何其他CA/DRM供应商所知的要求。
为了满足此要求并保护控制字的机密性和真实性,能够扩展作为可信方的芯片制造商的作用(或者能够使用附加可信方)。例如,能够在两个方案中引入附加密钥层,并且可信方能够管理此类方案的根密钥。然而,这意味着可信方需要在完成接收机的个性化之后管理与接收机相关联的(至少)一个密钥。由于责任的原因,可信方的此作用对于芯片组制造商而言是不期望的。这意味着将需要附加可信方。
需要一种解决上述问题的用于将控制字加载到芯片组上的改善解决方案。也就是说,需要一种具有以下性质的方案:(i)保护CW的机密性和真实性,(ii)CA/DRM系统能够在不需要共享秘密密钥的情况下独立地使用该方案,以及(ii)在接收机的个性化之后,可信方不再需要管理与接收机(芯片组)相关联的任何秘密密钥。
在EP10193312.5中,公开了用于具有可交换CA/DRM客户端的横向市场接收机的新方案。EP10193312中的方案满足上文列出的三个性质。
如所述,在付费TV系统中,在接收机内部(或者作为被耦合到接收机的模块/设备)实现CA/DRM客户端。CA/DRM客户端处理EMM和ECM,从而控制对数字内容的访问。能够在可拆卸安全模块(诸如智能卡集成电路)内部实现CA/DRM客户端,或者其能够用(可能混淆的)软件来实现且可在接收机中的芯片上执行。如果CA/DRM客户端是用软件实现且可在接收机中的芯片上执行,则通常将CA/DRM客户端包括在接收机软件图像中。通常不在接收机的芯片组上但不在集成在接收机中的单独芯片或电路上执行接收机软件图像。
在实践中,能够更新接收机软件图像。用于更新接收机软件图像的动机是(1)增强接收机的功能,(2)修正安全漏洞(例如,通过将已更新CA/DRM客户端软件包括在已更新软件图像中),(3)对CA/DRM系统进行交换(假设CA/DRM客户端是用软件实现并包括在接收机软件图像中)或(4)如果接收机将在新提供商的操作中使用,则将新提供商(即,新CA/DRM系统运营商)的接收机软件图像下载到横向市场接收机中。用于软件下载的常见安全要求(可能包括已更新或新CA/DRM客户端)是应保护软件图像的真实性或单源真实性。注意到,此类安全措施防止依从接收机接受非法软件图像,可能包括已修改CA/DRM客户端。特别地,可使用已修改CA/DRM客户端来非法地访问内容,例如通过规避内容使用规则(诸如规避否则将限制对内容的访问达特定时间量的内容使用规则)或通过从未授权源获得已泄密密钥(诸如控制字)。
用于保护软件图像的真实性或单源真实性的众所周知的技术是分别地使用对称MAC或非对称数字签名。更确切地,如果使用此类技术,则生成用于软件图像的MAC值或数字签名(或其密码哈希值),并且将生成的MAC值或数字签名附加于软件图像。接下来,在下载软件图像和MAC值或数字签名之后,接收机能够使用验证密钥和关联验证算法来验证软件图像的真实性或单源真实性。下面,还将用来保护软件图像的真实性的机制称为软件真实性机制。
通常,对于纵向市场接收机而言,用与数字签名方案相关联的公共密钥来将芯片组个性化以保护接收机软件图像的真实性。相应的秘密密钥为CA/DRM供应商所知,并且CA/DRM供应商将此密钥用于对接收机软件图像进行签名。如果将在横向市场接收机中实现这种解决方案,则CA/DRM供应商可在CA/DRM系统已被交换之后公开与软件真实性机制相关联的秘密密钥,损害了软件真实性机制的安全性。
用于横向市场接收机的替换解决方案是扩展芯片组制造商作为可信方的作用(或使用附加可信方)。例如,可信方能够管理软件真实性机制的秘密万能密钥。可信方可使用此秘密万能密钥来对接收机软件图像进行签名,或者可信方可使用此秘密万能密钥来对与CA/DRM供应商或CA/DRM系统运营商相关联的公共密钥进行签名,其能够将其关联秘密密钥用于对接收机软件图像进行签名。然而,注意到,这意味着可信方需要在完成接收机的个性化之后管理与接收机相关联的秘密。由于责任的原因,可信方的此作用对于芯片组制造商而言是不期望的。这意味着在此类解决方案中将需要附加可信方。
需要一种用于保护用于横向市场接收机的接收机软件图像的真实性或单源真实性的改进解决方案。特别地,需要具有以下性质的软件真实性机制:(i)保护接收机软件图像的真实性或单源真实性,(ii)CA/DRM系统能够在不需要共享秘密密钥的情况下独立地使用软件真实性机制,以及(iii)在接收机的个性化之后,可信方不再需要管理与接收机相关联的任何秘密密钥。
发明内容
根据本发明的第一方面,提供了一种在接收机处获得解扰信息的方法,该解扰信息用于使得能够对已加扰内容进行解扰,该方法包括:使用提供商验证密钥来访问软件图像,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全;接收解扰信息的安全版本;使用被访问软件图像来从解扰信息的安全版本获得虚拟解扰信息;将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数,以产生包括所述解扰信息的给定输出,其中,密码函数具有这样的性质,即以下是不可行的:确定包括签名密钥和与该签名密钥相关联的验证密钥的密钥对,以及另一虚拟解扰信息,使得所确定验证密钥和另一虚拟解扰信息映射到密码函数的给定输出。
在某些实施例中,访问软件图像包括对所述软件图像进行验证和/或认证。
在某些实施例中,对软件图像进行加密,并且访问软件图像包括:对解密密钥进行验证和/或认证以便将已加密软件图像解密;以及使用经验证和/或认证解密密钥来将软件图像解密。
在某些实施例中,解扰信息的安全版本是通过提供商使用第二提供商签名密钥来保证其安全的解扰信息;使用软件图像来从解扰信息的安全版本获得虚拟解扰信息包括使用对应于第二提供商签名密钥的第二提供商验证密钥来访问解扰信息的安全版本;以及所述提供包括提供虚拟解扰信息、所述提供商验证密钥和所述第二提供商验证密钥作为到密码函数的输入以产生包括所述解扰信息的给定输出,其中,密码函数包括这样的性质,即以下是不可行的:确定第一签名密钥和与第一签名密钥相关联的第一认证密钥的第一密钥对、包括第二签名密钥和第二验证密钥的第二密钥对和另一虚拟解扰信息,使得所确定第一验证密钥、所确定第二验证密钥和所述另一虚拟解扰信息映射到密码函数的给定输出。在这种情况下,第二提供商验证密钥可等于提供商验证密钥。
在某些实施例中,提供商验证密钥和提供商签名密钥分别地是用于数字签名方案的公钥和私钥。替换地,在某些实施例中,提供商验证密钥和提供商签名密钥是用于对称消息认证方案的密钥。
根据本发明的第二方面,提供了一种使得接收机能够获得解扰信息的方法,该解扰信息用于使得能够对已加扰内容进行解扰,该方法包括:向接收机提供提供商验证密钥和软件图像,所述软件图像通过提供商使用对应于提供商认密钥的提供商签名密钥来保证其安全,所述提供商验证密钥用于访问所述软件图像;向接收机提供解扰信息的安全版本,其中,所述软件图像被布置成从解扰信息的安全版本获得虚拟解扰信息,其中,所述接收机被布置成执行密码函数,其中,将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数产生了包括所述解扰信息的给定输出,其中,密码函数具有这样的性质,即以下是不可行的:确定包括签名密钥和与签名密钥相关联的认证密钥的密钥对以及另一虚拟解扰信息、使得所确定认证密钥和所述另一虚拟解扰信息映射到密码函数的给定输出。
根据本发明的第三方面,提供了被布置成执行上述方法中的任何一个的设备。
当被配置成执行根据本发明的第一方面的方法时,所述设备可以是智能卡或接收机的芯片组。
当被配置成执行根据本发明的第二方面的方法时,所述设备可以是内容输送网络的头端系统。
根据本发明的第四方面,提供了一种计算机程序,其在被处理器执行时使处理器执行上述方法中的任何一个。
与EP10193312.5中描述的技术一样,在本文中定义的方案使用函数来导出内容加密/解密密钥,也称为控制字(CW)。更确切地,在EP10193312.5中公开的方案被扩展,因为软件真实性机制的(根)认证密钥是到函数的输入中的一个。认证密钥可以等于EP10193312.5中的用来验证密钥加载消息的真实性的签名验证密钥,或者其可以是到函数的附加输入。函数的输出包括CW和将在内容(解)加扰机制中使用的可能更多值。该函数是以这样的方式选择的,即保护软件真实性机制的认证密钥的真实性,因为如果验证密钥不是真实的,内容解扰将失败。相应的签名密钥被用作用于保护接收机软件图像的真实性或单源真实性的机制中的根密钥。
附图说明
现在将仅以示例的方式并参考附图来描述本发明的实施例,在所述附图中:
图1示意性地图示出使用对称密码术的现有技术芯片组;
图2示意性地图示出使用非对称密码术的另一现有技术芯片组;
图3示意性地图示出根据本发明的实施例的示例性系统;
图4示意性地图示出使用芯片组的示例性方法;
图5示意性地图示出供在内容输送网络的头端系统中使用的方法;
图6—8示意性地图示出供在利用DVB SimulCrypt的内容输送网络的头端系统中使用的方法;
图9示意性地图示出使用芯片组的示例性方法;
图10—12示意性地图示出分别在图7—9中图示出的系统和方法的修改版本;
图13示意性地图示出图12的芯片组的变体;
图14—18分别地对应于图6、7、8、10和11,并包括一个或多个传统ECM发生器和一个或多个传统EMM发生器;
图19是描述根据本发明的实施例的可下载接收机软件图像的示意图;
图20是描述根据本发明的另一实施例的可下载接收机软件图像的示意图;
图21示意性地图示出根据本发明的实施例的与可下载接收机软件图像一起使用芯片组的示例性方法;以及
图22示意性地图示出根据本发明的实施例的与可上传接收机软件图像一起供在内容输送网络的头端系统使用的方法。
具体实施方式
在随后的描述中和附图中,描述了本发明的某些实施例。然而,将认识到的是本发明不限于所述的实施例,并且某些实施例可并不包括下面描述的所有特征。然而,将显而易见的是在不脱离如在所附权利要求中阐述的本发明的更宽泛精神和范围的情况下可在本文中进行各种修改和变更。
图3示意性地图示出根据本发明的实施例的示例性系统7。系统7包括被布置成经由分发网络6与一个或多个接收机2通信的头端系统4。
头端系统4经由分发网络6向接收机2发射(或发送或传送)使用一个或多个控制字(即{Content}CW)加扰的内容流。头端系统4可经由分发网络6向接收机2发射一个或多个ECM和EMM,使得接收机2能够访问一个或多个控制字并从而将已加扰内容流解扰。然而,将认识到的是虽然将参考ECM和EMM来描述本发明的实施例,但本发明的实施例不限于利用ECM和EMM。头端系统4可使用相对于图5—8、10、11和14—18描述的任何方法和系统来将内容加扰并向接收机2提供解扰信息(例如ECM和EMM)。
分发网络6可以是能够向接收机2传送或广播解扰信息(例如ECM、EMM)和已加扰内容流的任何网络。例如,分发网络6可包括电缆网络、卫星通信网络、陆地广播网络、因特网等中的一个或多个。
(已加扰)内容流可包括任何种类的内容数据,诸如视频数据、音频数据、图像数据、文本数据、应用程序/软件数据、程序引导数据等中的一个或多个。
接收机2可以是用于接收ECM、EMM和已加扰内容流的任何类型的接收机(或客户端设备)。例如,接收机2可以是机顶盒、集成到内容输出设备(诸如电视或无线电)中的接收机、支持广播服务的移动终端、个人计算机等。接收机2可包括或被通信耦合到用于向用户输出或再现已解扰且已解码内容的设备(诸如屏幕/监视器和/或多个扬声器)。
接收机2包括用于将已加扰和/或已编码内容解扰和/或解码的芯片组1。芯片组1可通信连接到CA/DRM客户端3。一般地,接收机2接收ECM和EMM、对其进行滤波并将其转送至CA/DRM客户端3以用于进一步处理。CA/DRM客户端3从接收到的ECM和EMM访问条件访问(CA)数据,并且然后能够使用如相对于图4、9、12和13所述的任何方法和系统将控制字加载到芯片组1上。CA/DRM客户端3可以是可从接收机2去除的安全设备,诸如智能卡(并且其因此可包括处理器和存储器以便执行下面将描述的CA/DRM客户端功能)。另外或替换地,CA/DRM客户端3可与接收机2成一整体且可实现为接收机2的硬件部件和/或在接收机2的安全环境中运行的软件中和/或用在接收机2中运行的混淆软件中实现。
使用下文所述方法和系统来发射条件访问消息(EMM和/或ECM)所需的带宽与用以将控制字安全地加载到芯片组上所需的带宽相当。这是重要的,因为带宽是宝贵的资源,并且下面描述的解决方案不应降低系统7的总体性能。下面描述的方法和系统提供了用于保护控制字的机密性和真实性的解决方案,其允许每个CA/DRM系统和CA/DRM系统运营商独立地、亦即在不需要在CA/DRM系统之间共享任何秘密的情况下(具有在SimulCrypt操作中共享控制字的明显例外,因为根据定义,控制字在SimulCrypt操作中被共享)建立密钥加载机制。另外,不需要该方案中的可信方在完成接收机(芯片组)的个性化之后管理与该接收机(芯片组)相关联的任何秘密。这意味着可信方的作用与当前可得的纵向市场接收机解决方案中的芯片组制造商的作用相当。另外,所述新方法和系统能够从其中控制字真实性机制的根密钥对被泄密的安全漏洞恢复,现有解决方案未提供的安全特征。
图4示意性地图示出使用芯片组的示例性方法。以图示的方式,该方法是使用芯片组402和CA/DRM客户端404实现的。(例如头端系统4的)内容输送模块406可向接收机2的芯片组402提供条件访问数据(诸如ECM和EMM)和已加扰内容流。芯片组402可将条件访问数据传递至CA/DRM客户端404以用于进一步处理。
在制造时,可用密钥对将芯片组402个性化。在个性化阶段期间,此密钥对与芯片组序号CSSN相关联。可将CSSN存储在芯片组402的存储器元件410中。该密钥对包括芯片组公共密钥CSPK(其被存储在芯片组402的存储器元件414中)和相应的芯片组秘密(私用)密钥CSSK(其被存储在芯片组402的存储器元件415中)。优选地,在芯片组402中生成该密钥对(例如,使用密钥对个性化模块412)。替换地,可在芯片组402外面(例如,在对于芯片组制造商可得的芯片组个性化系统中)实现密钥对个性化模块412,并且制造商可在芯片组402的个性化期间将CSSK和CSPK加载到芯片组402中。此后,制造商能够从其一个或多个系统删除CSSK。如将变得显而易见的,关联的公共密钥密码系统被用来保护由芯片组402接收到的已加扰内容解扰所需的控制字的机密性。公共密钥密码术的使用允许芯片制造商公开用于生产的每个芯片组的CSSN和CSPK两者。芯片组402的制造商保持号码对,每对包括芯片组序号CSSN及其关联芯片组公共密钥CSPK。能够使得(CSSN、CSPK)对的列表对于所有CA/DRM系统可用。在分发到CA/DRM系统期间,优选地应仅保护此信息的真实性。
为了防止敌方也是用CSPK来成功地生成并在芯片组中使用CW加载消息,下面描述的系统和方法具有要求芯片组402验证CW加载消息的真实性的附加机制。此机制防止敌方甚至与芯片组的公开CSPK的知识一起向芯片组402发布控制字。
下面描述的系统和方法通过使用与AC/DRM系统相关联的另一非对称密钥对来实现这一点,所述CA/DRM系统与头端系统4相关联。此密钥对包括(公共)签名验证密钥SVK和与CA/DRM系统相关联的相应(秘密/私用)签名密钥SK。此密钥对供在非对称密码方案中使用,其由签名生成算法和相应的签名验证算法组成。该密钥对(SK、SVK)优选地由与头端系统4相关联的CA/DRM系统生成,并且其秘密密钥SK不需要为任何CA/DRM供应商所知。
CA/DRM客户端404可包括用于接收ECM和/或EMM和/或由芯片组402和/或接收机2转送的其他条件访问信息的通信模块。此通信模块可在CA/DRM客户端404的密钥控制模块408内实现。密钥控制模块408可从其经由芯片组402从内容输送模块406接收到的条件访问数据获得SVK。SVK可被头端系统4提供给CA/DRM客户端404。
签名验证密钥SVK被存储在CA/DRM客户端404的存储器元件420中。CA/DRM客户端404可将签名验证密钥SVK发送到芯片组402,使得芯片组402可将SVK存储在芯片组402的存储器元件424中。
如根据以下讨论将变得显而易见的,与头端系统4相关联的CA/DRM系统生成随机值CW*(或者可互换地称为“虚拟控制字”)。该虚拟控制字CW*未被直接用于将内容(解)加扰。替代地,可从CW*和SVK、即控制字CW导出的值是被用于将内容(解)加扰的密钥。头端系统4使用ECM将虚拟控制字CW*发送到接收机2的芯片组402。芯片组402对接收到的ECM进行滤波并作为被转送至CA/DRM客户端404的条件访问数据的一部分转送至CA/DRM客户端404。密钥控制模块408从其已接收到的ECM获得虚拟控制字CW*。
芯片组402包括用于将已加扰内容解扰的解扰器434。如所述,芯片组402并未直接在解扰器434中使用CW*,而是使用由芯片402的H模块432实现的散列函数H从CW*和SVK(存储在存储器元件424中)导出CW。H模块432可在将散列函数应用于合并输入以产生输出CW之前将两个输入(CW*和SVK)合并。H模块432可在芯片组402的密码/安全模块内实现。函数H还可以是任何其他适当的密码函数(即其不必一定是散列函数)。函数H的可能实施方式优选地具有以下性质:给定输出CW,难以(例如、困难、在计算上困难、不可行或在计算上不可行)找到密钥对(SK*、SVK*)和虚拟控制字CW**,使得SVK*和CW**映射到CW(即,使得将SVK*和CW**作为输入提供给函数H,或者作为输入提供给H模块432,将导致输出控制字CW)。在某些实施例中,“难以”可意味着敌方可能不能导出密钥对(SK *、SVK*)和虚拟控制字CW**,使得SVK*和CW**在多项式时间和空间方面映射到CW。在其他实施例中,“难以”可通过指定关于要找到此类值所需的操纵数目或存储器尺寸的下界来定义。作为第三示例,一个人可通过指定关于该性质未被满足的概率的上界来定义“难以”。
具有此性质的函数H的示例是以下各项:(1)将输入CW*和SVK合并以产生中间结果X,例如通过将SVK的值附加于CW*的值,(2)将抗第2原像散列函数应用于输入X以产生输出CW。为了看到优选性质适用于本示例,观察到,给定控制字CW和公共密钥SVK,将使敌方难以确定不等于SVK的SVK*和虚拟控制字CW**,使得SVK*和CW**映射到CW。为了看到这一点,假设使敌方生成此类SVK*和此类CW**是可行的。然后,给定输出CW和输入SVK和CW*,能够应用相同的方法来生成到散列函数的包括SVK*和CW**的第2原像,因为SVK*不等于SVK。这意味着散列函数并不是抗第2原像的,与假设矛盾。结果,用于敌方的仅有选择是确定与CA/DRM系统的公共密钥相关联的签名密钥(即SVK),该CA/DRM系统与头端系统4相关联,其根据定义对于非对称方案而言是不可行的。另外,注意到,函数H在虚拟控制字CW*已知的情况下(即,在到抗第2原像散列函数的两个输入都已知的情况下)也满足期望性质。能够如下看到这一点:给定输出CW和到抗第2原像散列函数的指定输入,根据定义,确定到映射到给定输出CW的抗第2原像散列函数的第二、不同组的输入是不可行的。这意味着敌方不能确定不同于映射到CW的SVK的签名验证密钥。用于敌方的仅有选择是确定与SVK相关联的签名密钥,其根据定义对于非对称密码方案而言是不可行的。
在应用函数H之后,H模块432将输出CW存储在芯片组402的存储器元件438中。使用来自存储器元件438的CW,解扰模块434可将由内容输送模块406提供的内容解扰并将已解扰内容发射到芯片组402的内容解码器440以用于进一步处理(例如视频或音频解压缩)。可在接收机2中将内容解码器440实现为与芯片组402分离(或在其外部)的模块。
使用对称加密来保护虚拟控制字CW*的机密性和真实性。特别地,对称芯片组加载密钥CSLK是由与头端系统4相关联的CA/DRM系统针对芯片组402生成的(并优选地为该芯片组402所独有)。CSLK(意图用于CA/DRM客户端404,并使用由CA/DRM系统提供的机密且真实的信道来保护)连同初始化模式CSLK-init(意图用于芯片组402)一起被发射到连接至芯片组402的CA/DRM客户端404。初始化模式CSLK-init包括CSLK的已加密版本(使用芯片组402的CSPK来加密),以及(如稍后将描述的)CSLK的已加密版本的签名(其中,该签名是使用签名密钥SK生成的)。因此,将CSLK加密以便以能够在芯片组402中处理CSLK-init以产生CSLK值的方式来产生CSLK-init。
在某些实施例中,使用一个或多个EMM将CSLK(意图用于CA/DRM客户端404,并且使用由CA/DRM系统提供的机密和真实的信道来保护)和初始化模式CSLK-init(意图用于芯片组402)从头端系统4发射到芯片组402,并且芯片组402可滤出一个或多个EMM并将其转送至CA/DRM客户端404中的密钥控制模块408。(如果CA/DRM客户端404与芯片组402之间的唯一配对在头端系统4内并非是已知的,则优选地将单独的EMM用于将CSLK和初始化模式CSLK-init封装并发射。) 密钥控制模块408然后可从一个或多个EMM提取CSLK和CSLK-init以供CA/DRM客户端404和芯片组402使用。可将CSLK存储在CA/DRM客户端404的存储器元件418中,并且可将CSLK-init存储在CA/DRM客户端404的存储器元件422中。CA/DRM客户端404随后可将初始化模式CSLK-init转送至芯片组402。
CA/DRM客户端404用CSLK(存储在存储器元件418中)将CW*(控制模块408已从已被转送至密钥控制模块408的ECM提取其密钥)加密以使用CA/DRM客户端404的对称加密模块444来产生{CW*}CSLK。可在CA/DRM客户端404中的任何适当安全模块中执行用CSLK进行的CW*的加密。CW*的已加密版本、{CW*}CSLK然后被发射到芯片组402,其中,将使用芯片组402的对称解密模块442(对应于对称加密模块444)将{CW*}CSLK解密。解密模块442使用存储在芯片组402的存储器元件430中的CSLK值来获得CW*。
可使用与芯片组402通信相连的CA/DRM客户端404中的任何适当传输模块将初始化模式CLSK-init和/或CW*的已加密版本从CA/DRM客户端发射到芯片组402。可使用芯片组402中的又另一通信模块在芯片组402处接收CW*的已加密版本和/或初始化模式CSLK-init。
为了获得存储在存储器元件430中的CSLK值以便将{CW*}CSLK解密,芯片组402包括两个密码操作,实现为签名验证模块426和解密模块428。可在芯片组402内的任何适当密码模块中实现签名验证模块426和解密模块428。芯片组402使用与头端系统4相关联的CA/DRM系统的签名验证模块426和SVK(存储在芯片组402的存储器元件424中)来验证CSLK-init的真实性。如果签名验证模块426确定CSLK-init并不是真实的(即如果未使用与SVK相关联的SK生成签名),则芯片组402可采取任何适当的后续行动以确保接收机2的用户不获得对已解密内容的访问,诸如不执行任何内容解密直至已接收到新的CSLK-init消息和/或新的SVK,使得能够对新CSLK-init消息进行验证。替换地,只有当验证成功时、即只有当已使用对应于存储在存储器元件424中的SVK的SK对CSLK-init进行签名时,签名验证模块426才可输出解密模块428将能够从其获得CSLK的值;否则,如果验证不是成功的,即如果未使用对应于存储在存储器元件424中的SVK的SK对CSLK-init进行签名,则签名验证模块426可输出解密模块428将不能从其获得CSLK的值。例如,可使用具有消息恢复的签名机制。
在CSLK-init的真实性验证之后,使用芯片组402的CSSK(存储在存储器元件416中)将CSLK-init中的已加密CSLK解密。由于CSLK已被芯片组402的CSPK加密,只有具有相应CSSK的芯片组可正确地从CSLK-init消息将CSLK解密。
一旦芯片组402获得CSLK,则可由解密模块442将{CW*}CSLK解密以使用所获得的CSLK来获得CW*。保护CW*的真实性,因为如果保护了SVK的真实性和CSLK-init消息的真实性,则敌方不能构造将在芯片组402中产生CW*的用于给定CW*的已加密CW*消息。通过SK对CSLK-init消息进行签名来保护其真实性。使用H模块432和存储在存储器元件424中的SVK值,可将SVK和CW*合并并进行处理以产生CW。H模块保护签名验证密钥SVK的真实性,因为如果SVK不是真实的,则内容解扰将失败。也就是说,如果将由不知道签名密钥SK的敌方确定的密钥对(SK*、SVK*)的签名验证密钥作为输入提供给芯片组(例如,以加载由敌方选择的CSLK并使用此CSLK来加载给定CW*),则H模块432将输出正确的CW,并且因此内容解扰将失败。
使用对称芯片组加载密钥CSLK来将用对称加密算法和密钥CSLK加密的CW*值解密。H模块432适当地从CW*和SVK导出CW,使得可将CW加载到解扰模块434中以将内容解扰。这种实施方式具有益处,即芯片组402只需要在处理CSLK-init消息以最初获得CSLK时执行一个或多个公共密钥密码操作。在正常操作期间,能够将CSLK和SVK存储在芯片组内部,并且CW处理开销类似于现有系统的。与H模块432相关联的计算步骤与正常对称加密(或解密)步骤的相当。
为了与相对于图4所述的CA/DRM客户端/芯片组配置一起工作,头端系统4被配置成产生用于每个芯片组402的芯片组加载密钥初始化模式(CSLK-init)。图5示意性地图示出供在内容输送网络的此类头端系统4中使用的方法。
具体地,头端系统4的EMM发生器518生成用于目标芯片组402的随机芯片组加载密钥CSLK(例如,使用EMM发生器518的芯片组加载密钥发生器508)。可使用任何伪随机数发生器来生成CSLK。优选地,EMM发生器518使用芯片组加载密钥发生器508来生成为芯片组402群体中的每个芯片组402所独有的CSLK—即正在由头端系统4处的CA/DRM系统提供服务的每个接收机2具有不同于其他接收机2的其自己的CSLK。这防止消息{CW*}CSLK的(未授权)共享。
EMM发生器518使用目标芯片组402的CSPK(例如,使用EMM发生器518的加密模块510)将生成的CSLK加密。
EMM发生器518可包括CSPK存储器504,其存储正在由此CA/DRM系统提供服务的芯片组402的CSPK。加密模块510执行对应于由芯片组402的解密模块428执行的解密过程的加密过程。
EMM发生器518使用SK(如存储在EMM发生器518的存储器元件502中)以对已加密CSLK进行签名以产生芯片组加载密钥初始化模式CSLK-init(例如,使用EMM发生器518的签名模块512)。EMM发生器518然后将生成的CSLK-init连同CSLK(意图用于CA/DRM客户端404,并使用由CA/DRM系统提供的机密和真实信道来保护)一起封装以形成EMM。此EMM以连接到具有相应CSPK或CSSN的芯片组402的CA/DRM客户端404处为目标。如果CA/DRM客户端404与芯片组402之间的唯一配对在头端系统4并非是已知的,则优选地生成单独的EMM并用于将CSLK和CSLK-init封装和发射。
头端系统4包括生成用于CW*的随机值的CW发生器506。CW发生器506可使用任何伪随机数发生器来生成用于CW*的随机值。
头端系统4包括ECM发生器516,其接收由CW发生器506生成的CW*并生成包含接收到的CW*的ECM。
头端系统4包括复用器524。复用器524选择要发射到CA/DRM模块(或加扰模块)526的适当数据,选择以下各项中的至少一个:从ECM发生器516输出的ECM、从EMM发生器518输出的EMM以及内容。可将ECM和EMM从复用器524传递至内容输送模块528以便传输到芯片组402。从复用器524传递的内容被CA/DRM模块526使用CW加扰。这可涉及到对应于内容解扰模块434能够执行的内容解扰的任何形式的内容解扰技术。随后,已加扰内容被提供给内容输送模块528,其将已加扰内容发射到接收机2。
头端系统包括H模块520以产生用于将CA/DRM模块526中的内容加扰的控制字。可在密码模块中实现H模块520。为了产生CW,H模块520实现对应于图4的H模块432的函数H。特别地,H模块从由CW发生器506生成且在由ECM发生器516提供给定ECM中发射的CW*值导出CW。H模块520将存储在存储器元件514中的签名验证密钥SVK与由CW发生器506生成的CW*组合并将函数H(例如散列函数)应用于将CW*值转换成CW—芯片组402的H模块432和函数H的以上描述(和要求)适用于H模块520及其函数H。芯片组402的H模块432在其被提供相同的输入(SVK和CW*)时产生与头端系统4的H模块520相同的输出CW。
上述方法和系统可在诸如在DVB SimulCrypt规范(DVB=数字视频广播)中描述的头端系统之类的系统中使用—参见ETSI TS 103 197。DVB SimulCrypt规范允许两个或更多CA/DRM系统将控制字CW作为共用密钥来共享。在DVB SimulCrypt规范中描述了用于促进在将数字TV内容流加扰时使用的CW流的共享的公共头端系统协议。
图6因此示意性地图示出供在利用DVB SimulCrypt的内容输送网络的此类头端系统4中使用的方法。特别地,在图6中,头端系统4包括具有各自EMM发生器518(EMMG1和EMMG2)和ECM发生器516(ECMG1和ECMG2)的两个CA/DRM系统。如已知的,使用SimulCrypt同步器530来协调多个ECM发生器516(例如,通过获得由CW发生器506输出的CW*、将CW*连同任何CA/DRM特定参数一起提供给ECM发生器516、从ECM发生器516获取ECM、使ECM的时序与其到复用器524的提供同步)。在如在ETSI TS 103 197中阐述的正常DVB系统中,SimulCrypt同步器530将把控制字传递至加扰模块526—然而,如上文所讨论的,生成被用于内容加扰的实际控制字CW并将那些生成的控制字CW传递至加扰模块526的是H模块520(因为ECM并未利用CW而是替代地利用CW*)—因此,在图6中,将SimulCrypt同步器530示为向H模块520提供CW*。因此,可使用标准SimulCrypt同步器530,仅有的差别是其“控制字输出”被连接到H模块520而不是直接到加扰模块526。
图6中的两个CA/DRM系统潜在地由不同的CA/DRM系统运营商(即提供商)运行或操作。将认识到的是,可使任何数目的CA/DRM系统与头端系统4相关联,并且本发明的实施例不限于仅仅两个CA/DRM系统。
在图6中所示的系统中,参与的AC/DRM系统共享(SK、SVK)对。特别地,第一EMM发生器518(EMMG1)和第二EMM发生器518(EMMG2)两者都具有相同SK和SVK的知识并利用该相同SK和SVK。特别地,两者都基于公共SK和SVK生成用于如上所述与其各自CA/DRM系统相关联的接收机2的EMM。
上文阐述的公共SK和SVK的共享具有许多缺点。特别是:
• 要求各种CA/DRM系统之间的机密信道来传输并共享秘密密钥SK。然而,不同CA/DRM系统之间的机密电子接口可能不存在(尤其是如果CA/DRM系统与不同的CA/DRM供应商相关联的话)。因此,将期望让每个CA/DRM系统生成的其自己的一个或多个SK并仅共享一个或多个关联(公共)签名验证密钥SVK。例如,可以在头端系统4的CA/DRM系统的硬件安全模块内部生成此类SK,并且其不需要在任何时间点都未受保护地可用。
• 例如在秘密签名密钥SK已被泄密之后的对(SK、SVK)的更新对参与SimulCrypt操作并利用SK的所有CA/DRM系统而言具有类似的操作影响。特别地,必须针对每个参与CA/DRM系统及其正在提供服务的所有接收机2生成并分发用新的签名密钥进行签名的新CSLK-init EMM。限制对(SK、SVK)的更新的操作影响将是有益的。
本发明的实施例旨在解决这些问题。图7因此示意性地图示出供在利用DVDSimulCrypt的内容输送网络的头端系统4中使用的方法。特别地,在图7中,头端系统4包括具有各自EMM发生器718(EMMG1和EMM2)和ECM发生器516(ECMG1和ECMG2)的两个CA/DRM系统。这是与图6中所示的相同的架构,只是EMM发生器718(EMMG1和EMMG2)包括并利用各签名密钥SK1、SK2和相应的各签名验证密钥SVK1、SVK2。特别地,第一CA/DRM系统具有其自己的签名密钥SK1及其自己的相应签名验证密钥SVK1,同时第二CA/DRM系统具有其自己的(不同)签名密钥SK2及其自己的相应签名验证密钥SVK2。每个CA/DRM系统独立地生成其自己的对(SKi、SVKi),并且能够针对所有其他CA/DRM系统将其签名密钥SKi保密—其只需要公布签名验证密钥SVKi。回想到这是公共密钥,因此不需要保护其机密性。这意味着在SimulCrypt操作中不再存在对CA/DRM系统之间的机密信道(或受保护接口)的需要。
如图6的情况一样,图7中的两个CA/DRM系统潜在地由不同的CA/DRM系统运营商(即提供商)运行或操作。将认识到的是,在图7中所示的系统中,可使任何数目的CA/DRM系统与头端系统4相关联,并且本发明的实施例不限于仅仅两个条件访问末端系统。因此,一般地,可存在n个CA/DRM系统和因此的n个不同的各对(SKi、SVKi)。
在图7中所示的系统中用H模块720来替换图6的H模块520。特别地,由于每个CA/DRM系统现在具有其自己的签名验证密钥SVKi,所以H模块720被布置成接收签名验证密钥组SVK1、...、SVKn和从CW发生器506输出的CW*。H模块720实现与H模块520类似的功能H,只是安全要求被修改以迎合这样的事实,即H模块720对一组(或多个)签名验证密钥SVK1、...、SVKn进行操作。特别地,H模块720可将输入CW*、SVK1、...、SVKn合并,并且然后可将散列函数应用于合并输入以产生输出CW。函数H还可以是任何其他适当的密码函数(即其不必一定是散列函数)。函数H的可能实施方式优选地具有以下性质:给定CW,难以(例如,困难、在计算上困难、不可行或在计算上不可行)找到或计算或确定密钥对(SK*、SVK*)和到函数H的输入,使得所确定签名验证密钥SVK*是到H的所确定输入中的签名验证密钥,并且使得CW是用于此输入的H的输出(即,使得将该输入提供给函数H或者作为到H模块720的输入将导致输出控制字CW)。在某些实施例中,“难以”可意指敌方可能不能在多项式时间或空间中导出此类输入。在其他实施例中,“难以”可通过指定关于要找到此类输入所需的操纵数目或存储器尺寸的下界来定义。作为第三示例,一个人可通过指定关于该性质未被满足的概率的上界来定义“难以”。
具有此性质的函数H的示例是以下各项:(1)将输入CW*和SVK1、...、SVKn合并以产生中间结果X,例如通过将这些值级联,(2)将抗第2原像散列函数应用于输入X以产生输出CW。上文在讨论仅接受单个SVK的函数H时提供的分析类似地适用于接受一组签名验证密钥的此修改函数H。
图8示意性地图示出供在利用DVB SimulCrypt的内容输送网络的头端系统4中使用的另一方法。图8中所示的系统和方法与图7中所示的那些相同,只是CA/DRM系统中的一个具有多个对(SKi,j、SVKi,j)。特别地,在图8中,第二CA/DRM系统具有第一对(SK2,1、SVK2,1)和第二对(SK2,2、SVK2,2)。然而,将认识到的是CA/DRM系统可具有的签名密钥和相应的签名验证密钥的任何数目的对(SKi,j、SVKi,j)。用于第二CA/DRM系统的EMM发生器(EMMG2)可包括用于选择特定SK2,j(来自签名密钥:SK2,1和SK2,2,与该CA/DRM系统相关联)以在执行签名过程以生成CSLK-init EMM时使用的交换机800(或某种其他确定装置)。
将认识到的是,与头端系统4相关联的任何数目的CA/DRM系统可具有签名密钥和相应签名验证密钥的多个关联对(SKi,j、SVKi,j)。因此,一般地,如果存在与头端系统4相关联的m(m≥1)个CA/DRM系统,并且如果第i(i=1、...、m)CA/DRM系统具有签名密钥和相应签名验证密钥的n(ni≥1)个关联对(SKi,j、SVKi,j),则存在签名密钥和相应签名验证密钥的个对(SKi,j、SVKi,j)。H模块720从CA/DRM系统接收n个签名验证密钥SVKi,j,连同生成的虚拟控制字CW*一起,作为其输入,并生成如上文针对图7所述的控制字CW。
由于图7和8的每个CA/DRM系统使用该CA/DRM系统所特定的签名密钥(和关联签名验证密钥)(即两个CA/DRM系统不使用同一签名密钥),所以CA/DRM系统运营商(即提供商)能够在没有对其他CA/DRM系统(可能由另一CA/DRM系统运营商操作)的显著影响的情况下改变一个CA/DRM系统的密钥对。更确切地,当CA/DRM系统用对(SK、SVK)来更新对(SKi,j、SVKi,j)时,则:(a)该CA/DRM系统的EMM发生器需要生成并分发用于与此CA/DRM系统相关联的接收机2的新CSLK-init EMM(包含CSLK值以及基于已更新签名密钥SK的签名);(b)应使得其他CA/DRM系统知道新的签名验证密钥SVK;(c)所有CA/DRM系统应将该新签名验证密钥SVK分发给所有其关联接收机(如下面将描述的,因为接收机将需要访问新签名验证密钥)。在广播网络中,此分发一般地是非常带宽高效的,因为包含新签名验证密钥SVK的消息能够对所有接收机而言都是相同的。
因此,如果一个CA/DRM系统用已更新(SK、SVK)对来更新/刷新密钥对(SKi,j、SVKi,j)(例如,在签名密钥SKi,j被泄密之后),则在SimulCrypt操作中对CA/DRM系统的影响是最小的。此外,如果签名密钥SKi,j被泄密,则并未损害其他CA/DRM系统的头端安全性,因为其自己的签名密钥并不与泄密的签名密钥相同。仅仅需要使得这些其他CA/DRM系统知道新的已更新签名验证密钥SVK,并且这些其他CA/DRM系统需要使得其服务于的接收机2也知道新的已更新签名验证密钥SVK,其对于这些其他CA/DRM系统而言是简单直接的操作。如果签名密钥SKi,j被泄密,则一旦已更新签名验证密钥SVK被用作到H模块的输入(作为使用SVKi,j的替代),撤消已泄密签名密钥SKi,j,则在SimulCrypt操作中针对所有CA/DRM系统恢复接收机安全性。
如果CA/DRM系统运营商想用新密钥对(SK、SVK)来更新密钥对(SKi,j、SVKi,j),则切换到新密钥对针对运营商的接收机2群体中的所有接收机2同时地发生(因为为了将内容加扰而生成的控制字将基于已更新SVK,经由H模块720,在到新密钥对的切换点处)。从操作观点出发,存在这样的风险,即当提供商开始使用新密钥对时,并不是所有这些接收机2都已接收到所有所需信息(经由EMM)(更确切地:当新SVK被用来生成控制字时,新SVK、用新SK进行签名的接收机的唯一CSLK-init模式或意图用于CA/DRM系统的CSLK可能尚未经由EMM被发射到接收机2或在接收机2处接收到)。这能够潜在地使许多接收机暂时“中断”,因为其将不能成功地将内容解扰(因为其将不能使用已更新CSLK消息或已更新SVK)。然而,具有多个关联(SKi,j、SVKi,j)对的CA/DRM系统具有以下优点。第一(当前)密钥对(SKi,j、SVKi,j)能够用来生成CSLK-init模式消息,亦即使用签名密钥SKi,j来对CSLK-init模式进行签名。第二密钥对(SKi,k、SVKi,k)的签名密钥SKi,j被预留供未来使用(安全地存储密钥SKi,k)。第一和第二对(亦即SVKi,j和SVKi,k)两者的签名验证密钥被H模块720用来生成用于将内容加扰的控制字CW。假设运营商希望撤消第一密钥对(SKi,j、SVKi,j)(例如,在签名密钥SKi,j被泄密的情况下)。首先,CA/DRM系统从安全储存器检索SKi,k。接下来,CA/DRM系统生成新的CSLK-initEMM,使用SKi,k作为签名密钥(如果CSLK也被更新,则还需要生成包含用于CA/DRM客户端的新CSLK值的EMM)。CA/DRM系统将EMM分发给接收机2。CA/DRM系统还生成第三密钥对(SKi,w、SVKi,w),并在SimulCrypt操作中将公共签名验证密钥SVKi,w分发给所有CA/DRM系统。所有CA/DRM系统向其接收机分发SVKi,w(例如,使用EMM)。只要SVKi,j和SVKi,k被H模块720用来生成用于将内容加扰的控制字CW,接收机2将接受用签名密钥SKi,j或SKi,k签名的CSLK-init消息(或继续正确地操作并用其执行正确解扰)。也就是说,在此时间期间,芯片组402能够独立地切换至使用用SKi,k签名的新/已更新CSLK-init消息,作为迫使所有芯片组402同时地进行切换的替代。例如,CA/DRM系统能够每次请求一组CA/DRM客户端404以开始使用新CSLKEMM(新CSLK-init模式被用SKi,k签名)。这限制了能够同时中断的接收机2的数目。在CA/DRM系统已请求所有接收机2使用新CSLK(EMM)之后,然后通过使用SVKi,w作为到H模块720的输入而不是SVKi,j来恢复接收机安全性。此后,用第二密钥对(SKi,j、SVKi,j)来更新第一密钥对(SKi,k、SVKi,k),并且针对用使用SVKi,w导出的控制字加密的内容来恢复接收机安全性,因为芯片组将不会接受用(已泄密)SKi,j签名的CSLK-init消息。注意到,此过程能够迭代地应用;下一迭代中的密钥对是(SKi,k、SVKi,k)和(SKi,w、SVKi,w)。
图9示意性地图示出使用芯片组的示例性方法。这与在图4中所示的相同(并且因此下面应仅描述两个图之间的差异)。图9中所示的系统和方法可与图7和8中所示的系统兼容。
特别地,作为为CA/DRM客户端404提供单个签名验证密钥SVK并将其提供给芯片组402的替代,CA/DRM客户端404接收一组n个签名验证密钥SVK1、...、SVKn并将这n个签名验证密钥SVK1、...、SVKn提供给芯片组402(在不失一般性的情况下,使用单个下标来区别不同的签名验证密钥;可使此组中的超过一个密钥与单个CA/DRM系统相关联)。CA/DRM客户端404可将每个签名验证密钥SVKi存储在CA/DRM客户端404的相应存储器元件420(i)中;芯片组402可将每个签名验证密钥SVKi存储在芯片组402的相应存储器元件424(i)中。
CA/DRM客户端404被正服务于CA/DRM客户端404的接收机2的CA/DRM系统(与头端系统4相关联)告知该组签名验证密钥SVK1、...、SVKn,如上文已阐述的。
另外,在图9中已经用H模块900来替换图4的H模块432。H模块900以与图7和8中所示的系统的H模块720相同的方式操作。因此,假设芯片组402已被提供有合法/当前签名验证密钥SVK1、...、SVKn,并且假设其已设法成功地获得正确的虚拟控制字CW*,然后H模块900的输出将是与由头端系统提供4中的H模块720所输出的控制字相同的控制字CW,并且因此芯片组402将能够成功地将已加扰内容流解扰。
优选地,用于芯片组实现的安全要求是如果用该组签名验证密钥SVK1、...、SVKn中的密钥中第一个对与已加密CW*相关联的CSLK-init消息的真实性进行验证且如果发现CSLK-init消息是真实的,可仅将CW*和一组签名验证密钥SVK1、...、SVKn提供给H模块900以导出CW(或者此类导出CW可仅用于内容解扰)。
由于芯片组402具有对其可用的多个签名验证密钥SVK1、...、SVKn,所以签名验证模块426被布置成选择与其从CA/DRM客户端404接收到的CSLK-init模式相对应的签名验证密钥SVKi。例如,头端系统4可向SVKi分配唯一密钥标识符IDi,并且可将IDi附加于SVK以及用相应的签名密钥SKi签名的CSLK模式。这使得签名验证模块426能够从接收到的一组签名验证密钥SVK1、...、SVKn中选择关联的签名验证密钥SVKi。将认识到的是,可使用其他机制来允许签名验证模块426选择正确的签名验证密钥SVKi。例如,签名验证模块426可被布置成尝试每个签名验证密钥SVK1、...、SVKn直至其中的一个成功地验证CSLK-init模式的签名—如果其中没有一个成功地验证此签名,则签名验证过程已失败。
在某些实施例中,将该组签名验证密钥SVK1、...、SVKn和CSLK-init消息与每个已加密CW*一起提供给芯片组402。在此类实施例中,该组签名验证密钥不需要在芯片组402内部存储以供未来使用。
在实践中,CA/DRM客户端404和芯片组402将使用密钥CSLK来保护多个虚拟控制字CW*从CA/DRM客户端404到芯片组402的传输。为了避免用于导出每个CW*的耗时的公共密钥操作(也就是说,由解密模块428使用芯片组402的CSSK执行的公共密钥解密以及由签名验证模块426使用SVK执行的签名验证),在某些实施例中,在已获得密钥CSLK之后将其存储(并保持)在芯片组402内部(例如在存储器模块430中)。因此,当芯片组402从CA/DRM客户端404接收到新的CSLK-init模式时,只须执行签名验证模块426和解密模块428的公共密钥操作。
在某些实施例中,将被用作到H模块900的输入的该组签名验证密钥SVK1、...、SVKn连同来自CA/DRM客户端404的每个已加密CW*一起被提供给芯片组402。在此类实施例中,该组签名验证密钥不需要在芯片组402内部存储以供未来使用。如果该组SVK1、...、SVKn与来自CA/DRM客户端404的已加密CW消息一起被提供,则在使用所存储的CSLK来将已加密CW*解密之前,本发明的某些实施例被布置成用于芯片组402使用接收到的组SVK1、...、SVKn中的密钥中的一个来验证是否已加载/获得CSLK(存储在存储器模块430中)(即用于最初获得并存储CSLK的过程是否涉及到签名验证模块426使用接收到的签名验证密钥SVK1、...、SVKn中的一个来对接收到的CSLK-init模式执行签名验证过程)。实现这一点的一个方式如下:在处理CSLK-init消息(与关联签名验证密钥SVK一起接收)之后,芯片组402计算签名验证密钥SVKi的密码哈希值(其用来验证CSLK-init模式的真实性),并且芯片组402将此哈希值连同CSLK一起存储。针对接收到的该组签名验证密钥(与已加密CW*一起接收)中的每个签名验证密钥,芯片组402能够计算其哈希值并能够将计算的哈希值和与将已加密CW*解密所需的CSLK一起存储的哈希值相比较—如果此检查显示已使用有效签名验证密钥加载了存储CSLK,则存储的CSLK可被解密模块434用来将已加密CW*解密。注意到,在此类实施例中,只需要为CSLK-init消息提供关联签名验证密钥SVKi(而不是该组签名验证密钥)。也就是说,在此类实施例中,签名验证模块426不需要被布置成从一组中选择签名验证密钥SVKi
在某些实施例中,可将该组密钥SVK1、...、SVKn(及其密钥标识符ID1、...、IDn)存储在芯片组402内部以供未来使用。也就是说,使用存储的密钥组(及其密钥标识符)来处理CSLK-init消息和从CA/DRM客户端404提供给芯片组402的已加密CW*消息。在此类实施例中,能够将一个或多个CSLK-init模式和一个或多个已加密CW*提供给芯片组402。芯片组402能够使用存储的密钥组SVK1、...、SVKn和存储的密钥标识符组(被签名验证模块426用来从存储的组中选择正确密钥)从CSLK-init消息导出CSLK。芯片组402可存储CSLK以供未来使用。芯片组402使用导出的CSLK来从已加密CW*获得CW*。接下来,芯片组402能够将CW*和存储的密钥组SVK1、...、SVKn作为输入提供给H模块900以产生输出CW。这样,降低了CA/DRM客户端404与芯片组402之间的通信成本,并且可改善总体系统性能。
在某些实施例中,在已经获得多个CSLK密钥之后将其存储(并保持)在芯片组402中(如上文所阐述的)。存储多个CSLK密钥能够避免当从当前存储的CSLK切换至另一存储的CSLK时必须执行公共密钥操作。如果芯片组402支持多个CA/DRM客户端404的同时使用,这是特别有用的,所述多个CA/DRM客户端404中的每一个可使用不同的CSLK(和可能不同组的签名验证密钥),因为芯片组402然后能够按照期望/需要且在期望/需要时在CSLK之间执行(快速的)切换。
如果该组密钥SVK1、...、SVKn(及其密钥标识符ID1、...、IDn或密钥SVK1、...、SVKn的密码哈希值)被存储在芯片组402内部以供未来使用,并且如果将新的一组签名验证密钥提供给芯片组402(以存储在芯片组402内部来代替该组密钥SVK1、...、SVKn),则可将芯片组402布置成确定是否使用在新接收的签名验证密钥组中不存在的密钥加载了存储CSLK中的一个或多个。例如,可将用来验证CSLK-init消息的真实性的签名验证密钥SVKi的密钥标识符IDi(或密码哈希值)与CSLK一起存储。新接收到的签名验证密钥组、存储的签名验证密钥组SVK1、...、SVKn(及其密钥标识符或其密码哈希值)和与一个或多个CSLK一起存储的密钥标识符(或密码哈希值)能够用来确定是否使用在新接收到的签名验证密钥组中不存在的密钥加载了所存储的CSLK中的一个或多个。如果存在任何此类的一个或多个CSLK,则可将芯片组402布置成不使用此类CSLK来导出CW*(例如,能够将此类CSLK去激活或简单地从存储器模块430删除)。替换地,每当加载新的一组验证密钥并存储在芯片组402内部时可从存储器模块430删除所有存储的CSLK。此外,如果存储的一个或多个CSLK被去激活,则可将芯片组402布置成如果新的一组签名验证密钥被提供给芯片组402且如果使用此新组中的密钥中的一个对关联的CSLK-init模式进行验证、则(重新)激活CSLK。例如,如果芯片组402支持多个CA/DRM客户端404的同时使用,其每一个可使用不同的CSLK和不同的一组签名验证密钥,则(重新)激活可能是有用的,因为芯片组402然后能够根据期望/需要且在期望/需要时在CSLK之间执行(快速)切换。
图10—12示意性地图示出分别在图7—9中图示出的系统和方法的修改版本。差别是所图示的头端系统4和芯片组402包括h模块1000。h模块1000被布置成在其输入端处接收签名验证密钥组SVK1、...、SVKn作为将此组签名验证密钥提供给各H模块720、900的替代。h模块1000使用此输入来产生中间值Z(芯片组402可将其存储在芯片组402的存储器模块1010中以供未来使用)。H模块720、900然后接收中间值Z(即从该组签名验证密钥SVK1、...、SVKn导出的值)和虚拟控制字CW*作为输入并相应地输出控制字CW—在此意义上,其以与图4的H模块432(其具有两个输入,一个是CW*且另一个是第二值)类似的方式操作。h模块1000可精确地与H模块720、900相同的方式操作,只是其并未接收虚拟控制字CW*作为其输入。例如,h模块720可将输入SVK1、...、SVKn合并,并且然后可对合并输入应用密码散列函数h以产生输出Z。函数h还可以是任何其他适当的密码函数(即其不必一定是散列函数)。函数h的可能实施方式优选地具有以下性质:给定Z,难以(例如,困难、在计算上困难、不可行或在计算上不可行)找到或计算或确定密钥对(SK*、SVK*)和到h的输入,使得所确定签名验证密钥SVK*是到h的所确定输入中的签名验证密钥,并且使得Z是用于此输入的h的输出(即,使得将该输入提供给h或者作为到h模块1000的输入将导致输出值Z)。在某些实施例中,“难以”可意指敌方可能不能在多项式时间或空间中导出此类输入。在其他实施例中,“难以”可通过指定关于要找到此类输入所需的操纵数目或存储器尺寸的下界来定义。作为第三示例,一个人可通过指定关于该性质未被满足的概率的上界来定义“难以”。实现函数h的可能方式包括实现函数H的各种方式(如上文阐述的)。
但是,一般地,对于这些实施例(利用h模块1000)而言,函数H和函数h的联合实现优选地具有以下性质:给定CW,难以(例如,困难、在计算上困难、不可行或在计算上不可行)找到或计算或确定密钥对(SK*、SVK*)和到函数H和函数h的联合实现的输入,使得所确定的签名验证密钥SVK*是所确定的输入中的签名验证密钥,并且使得CW是用于此输入的函数H和函数h的联合实现的输出。在某些实施例中,“难以”可意指敌方可能不能在多项式时间或空间中导出此类输入。在其他实施例中,“难以”可通过指定关于要找到此类输入所需的操纵数目或存储器尺寸的下界来定义。作为第三示例,一个人可通过指定关于该性质未被满足的概率的上界来定义“难以”。
图13示意性地图示出图12的芯片组402的变体,其中芯片组402未被布置成存储该组签名验证密钥SVK1、...、SVKn以供未来使用。替代地,芯片组402可简单地存储h模块1000的输出,即中间值Z,并且使用此中间值Z作为到H模块900的输入。这样,能够降低芯片组402的存储要求,因为存储中间值Z一般地将要求比存储该组签名验证密钥SVK1、...、SVKn少得多的存储器。另外,可改善用于从CW*和Z导出CW的性能。
在某些实施例中,在处理CSLK-init消息(与关联签名验证密钥SVKi一起接收)之后,芯片组402计算签名验证密钥SVKi的密码哈希值(其被用来验证CSLK-init模式的真实性),并且芯片组402将此哈希值与CSLK一起存储。如果将一组签名验证密钥提供给芯片组402(用作到h模块1000的输入,产生将被存储在芯片组402内部以便导出控制字的值Z),则芯片组402可计算该组中的每个签名验证密钥的哈希值,并且使用计算哈希值和存储哈希值(具有每个存储CSLK的一个存储哈希值)来确定是否使用存在于该组接收签名验证密钥中的密钥加载了存储CSLK中的一个或多个。如前所述,此类机制能够用来基于接收到的该组签名验证密钥将一个或多个CSLK激活、去激活或删除。
在某些实施例中,在芯片组402接收到一组签名验证密钥SVK1、...、SVKn之后,其计算用于这些密钥中的每一个的密码哈希值,并将这些值与Z的值一起存储以供未来使用。例如,如果与关联的签名验证密钥SVKi一起接收到CSLK-init消息,则芯片组402能够计算签名验证密钥SVKi的密码哈希值。接下来,芯片组将计算的哈希值与存储哈希值相比较,并且只有当存储哈希值中的(至少)一个等于计算哈希值时,才处理CSLK-init消息。这样,只有当SVKi是用来产生所存储Z的该组签名验证密钥SVK1、...、SVKn的元素时才处理CSLK-init消息。
在某些实施例中,将一组密码哈希值(对于该组签名验证密钥SVK1、...、SVKn中的每个密钥而言,包括从该签名验证密钥导出的相应密码哈希值)提供给函数H(或者函数h,如果存在的话)而不是该组签名验证密钥SVK1、...、SVKn。在此类实施例中,芯片组402不需要接收(或存储)该组签名验证密钥;芯片组402只须接收密码哈希值组和与CSLK-init消息相关联的签名验证密钥。芯片组402能够计算接收的签名验证密钥(与CSLK-init消息一起接收)的密码哈希值,并将此哈希值与接收(或存储)的密码哈希值组相比较以确定被提供有CSLK-init消息的签名验证密钥是否与该组SVK1、...、SVKn中的签名验证密钥中的一个相关联。在一个实施例中,CA/DRM(头端)系统能够计算该组密码哈希值。接下来,CA/DRM(头端)系统能够将该组密码哈希值发送到其CA/DRM客户端。在此类实施例中,CA/DRM系统只需要将与该CA/DRM系统相关联的一个或多个签名验证密钥提供给与该CA/DRM系统相关联的CA/DRM客户端(以处理与该CA/DRM系统相关联的CSLK-init消息)。在此类实施例中可降低通信成本、存储成本和计算成本。替换地,其可以是计算密码散列函数组(已接收到签名验证密钥组SVK1、...、SVKn)的CA/DRM客户端。
图14—18分别地对应于图6、7、8、10和11。然而,在图14—18中所示的系统中,存在一个或多个传统ECM发生器1500和一个或多个传统EMM发生器1550。传统ECM发生器1500和传统EMM发生器1550对应于与头端系统4相关联的并未利用上述方法以便保护控制字的机密性和真实性的一个或多个CA/DRM系统(亦即,这些CA/DRM系统并未利用CW*)。因此,传统ECM发生器1500被布置成接收由H模块900生成的CW并基于该CW来生成ECM—这与基于虚拟控制字CW*来生成ECM的ECM发生器516大不相同。在图14—18中所示的系统中,传统ECM发生器1500被布置成经由SimulCrypt同步器530来接收CW,但是将认识到的是,这并不是必不可少的。类似地,传统EMM发生器1550生成EMM并将那些EMM提供给复用器524—其并未向H模块900或h模块1000提供输入。
在某些实施例中,函数H的输出可包括将在内容(解)加扰机制中使用的超过一个值。例如,H模块的输出能够由虚拟控制字CW*及从CW*和密钥组SVK1、...、SVKn(或者值Z,如果使用h模块1000的话)导出的第二密钥组成。然后能够在超加扰解决方案中使用这两个导出密钥,其中,在第一加扰步骤中使用一个密钥,并且在头端系统4处的第二加扰步骤中使用另一密钥。可修改芯片组402以执行两个相应的解扰步骤而不是一个。一般地,H模块的输出可包括能够在由多个内容(解)加扰步骤组成的超加扰解决方案中使用的多内容(解)加扰密钥。函数H的输出还可包括超过一个控制字。这些控制字中的每一个能够用于将关联内容片(解)加扰。例如,H模块的输出能够由两个控制字组成。第一控制字能够用于第一内容片的(解)加扰,并且第二控制字能够用于第二内容片的(解扰)。在函数H的输出包括将在内容(解)加扰机制中使用的超过一个值的实施例中,函数H的可能实现优选地具有以下性质:给定输出Y,难以(例如,困难、在计算上困难、不可行或在计算上不可行)找到或计算或确定密钥对(SK*、SVK*)和到H的输入,使得所确定签名验证密钥SVK*是到H的所确定输入中的签名验证密钥,并且使得Y是用于此输入的H的输出。(如果使用h模块1000,则能够如上所述地修改优选性质。) 另外,一个人可要求函数H的优选性质独立于适合于输出的各部分而言,例如适合于与一个内容片相关联的所有密钥。注意到,这是有用但并非严格地必需的较强大的性质,因为较弱性质(即,输出Y上的上述性质)已经意味着与H的输出相关联的内容片中的至少一个的解扰将失败。
在某些实施例中,将该组签名验证密钥SVK1、...、SVKn(或其哈希值)的第一子集提供给函数h,并且函数H的输入包括函数h的输出和该组签名验证密钥SVK1、...、SVKn(或其哈希值)的第二子集。这两个子集均可包括签名验证密钥SVK1、...、SVKn中的一个或多个(或全部)。这两个子集的联合是整组的签名验证密钥SVK1、...、SVKn。这两个子集可重叠也可不重叠。
在某些实施例中,虚拟CW*的(位)长度可大于CW的(位)长度,例如如果H模块的输出包括超过一个控制字。
在某些实施例中,函数H和/或函数h可接收一个或多个附加输入并基于那一个或多个附加输入而生成其各自的输出。
虽然在本发明的上述实施例中已描述并使用一般公共密钥密码术模块,但将认识到的是,可使用任何其他适当的密码操作和基础设施,只要提供了CW加载消息的真实性和机密性即可。作为示例,真实性机制可使用其中SK和SVK两者都是秘密密钥的对称方案。此类系统的众所周知的示例是具有随机选择加密(或解密)指数的RSA,其两者都是保密的。如果使用其中SVK是秘密密钥的真实性机制,则优选地将SVK以已加密形式发射到芯片组402,例如使用关联芯片组402的芯片组秘密密钥CSSK作为加密密钥。然而,注意到,如果使用对称真实性机制,则在本公开中描述的某些优点并不适用。还可能向上述方法和系统中插入附加密钥层,或者去除上述方法和系统中的密钥层。
图19是描述根据本发明的实施例的可下载接收机软件(SW)图像的示意图。在图19中描述的示例中,假设不是在芯片组上而是在集成于接收机中的单独芯片或电路上执行软件图像。
在图19中,假设还使用CW作为内容解密密钥在接收机芯片组内部执行内容解扰(图19中未示出)。可能已实现物理安全措施以使得芯片组是防读取且防篡改的。
可保护CA/DRM客户端与接收机芯片组之间的信道,如在欧洲专利申请EP10193312.5中的详述的,其全部内容被通过引用结合到本文中。然而,在本实施例中,函数H具有附加输入。此附加输入是与用来保护接收机软件图像的真实性的机制相关联的提供商验证密钥PVK。在图19中,在不失一般性的情况下假设此密钥是与(非对称)数字签名方案相关联的公共密钥。接收机软件图像可对于与提供商相关联的所有接收机而言是相同的。替换地,可存在少量的不同版本。一个示例是如果在提供商的操作中部署了不同类型的接收机,则每个类型要求不同的软件图像。另一示例是使用功能上等效的少量不同CA/DRM客户端实现(也称为客户端多样化)。多样化是旨在限制某些安全漏洞的影响的众所周知的技术。被关联到提供商公共密钥PVK的是提供商签名密钥PSK,其被提供商用来对接收机软件图像进行签名(即生成软件图像的签名并在将其分发给接收机之前将其附加于软件图像)。为了限制分发接收机软件图像所需的带宽的量(即限制供应商的接收机群体中的不同接收机软件图像的数目),可使用EMM信道来执行混淆CA/DRM客户端的个性化。
提供商能够生成密钥对(PSK、PVK)并可在系统的操作阶段期间、例如在提供商秘密密钥PSK已被泄密之后更新此密钥对。例如,密钥对(PSK、PVK)可由提供商的头端系统中的CA/DRM系统生成。替换地,提供商可使用另一系统来生成此密钥对。在图19中,在不失一般性的情况下假设密钥对(PSK、PVK)与(非对称)数字签名方案相关联。秘密密钥PSK不需要为任何CA/DRM系统供应商所知。
在验证附加于接收机软件图像的签名之后,接收机可执行软件。V模块的输出用信号发送有效或无效的接收机软件图像。如将认识到的,应采取适当的行动以防止非真实软件图像是有效的。这可以在接收机芯片组的外部,或者可以在接收机芯片组内部处理(例如通过阻止PVK的加载)。
特别地,在某些实施例中,提供商使用提供商签名密钥PSK(和关联签名生成算法)对接收机软件图像进行签名,并且提供商将软件图像、签名以及相应的PVK分发给接收机。在接收到这三个消息之后,接收机使用该消息作为到签名验证模块V的输入以验证接收到的签名。签名验证模块V的输出用信号发送有效或无效接收机软件图像。如果输出用信号发送无效接收机软件图像,则接收机不应执行该软件图像。另外,芯片组可采取另外的行动,诸如不将PVK作为输入提供给函数H。如果输出用信号发送有效签名,则接收机可执行软件图像。
通常,每当接收机被接通之后执行此验证过程。
除使用PVK作为签名验证密钥之外,芯片组将PVK作为输入提供给函数H。函数H保护PVK的真实性,因为如果PVK不是真实的,则内容解扰将失败。也就是说,如果由不知道提供商签名密钥PSK的敌方确定的密钥对(PSK*、PVK*)的验证密钥PVK*被作为输入提供给芯片组(例如以执行非法接收机软件图像并将内容解扰),则函数H将不输出正确的CW,并且因此内容解扰将失败。
虽然在图19中描述了包括CA/DRM客户端的软件图像,但软件能够是在接收机内部执行的软件的任何部分且不一定包括CA/DRM客户端(例如可使用可拆卸智能卡来实现CA/DRM客户端)。如果在接收机软件图像中包括CA/DRM客户端,则优选地使用软件混淆技术来使得客户端是防读取和防篡改的。在图19中所示的方案中,可使用EMM信道来执行CA/DRM客户端的个性化(以限制带宽使用)。
在图19中,在接收机芯片组内部执行软件真实性的验证。存在此方案的不同变体。作为示例,接收机芯片组可实现用以验证接收机启动加载程序软件的真实性的机制。在验证之后,能够使用集成于接收机中的另一芯片或电路来执行启动加载程序软件。启动加载程序软件使用PVK来验证接收机软件的真实性并将PVK提供给芯片组。接下来,接收机芯片组使用PVK来导出CW。还可能添加用于保护软件图像的真实性的更多密钥层。
在某些实施例中,PVK可等于SVK。在那些实施例中,还可能将此密钥的仅一个实例作为输入提供给H(如在EP10193312.5中)。使用两个不同密钥(即密钥对)的优点如下。存储和使用关联秘密密钥(即SK和PSK)的系统可不同。如果情况如此且如果这些系统中的仅一个被泄密,则秘密密钥中的仅一个将被泄密,限制了安全漏洞的影响。一般地,使用不同的密钥意味着能够使用不同的密钥生命周期。例如,如果提供商更新密钥对(SK、SVK)以撤消已泄密密钥或已泄密接收机芯片组,则这在使用了独立密钥对(PSK、PVK)来保护其真实性的情况下对接收机软件图像的保护和/或分发没有影响。如果密钥对(SK、SVK)的密钥SK被泄密,则这对接收机软件图像的真实性保护没有影响,如果将独立密钥对(PSK、PVK)用于此目的的话。
如果使用对称方案(例如MAC)来保护接收机软件图像的真实性,则密钥对(PSK、PVK)中的两个密钥都是秘密的,并且该对中的一个密钥能够容易地从该对中的另一密钥导出。注意到,提供商能够通过使用CSPK将PVK加密并通过将得到的密码电文分发给接收机芯片组来保护PVK的机密性。
图20描述了本发明的另一实施例。在本实施例中,将CA/DRM客户端下载到接收机芯片组中并在接收机芯片组内部执行。
在图20中所述的实施例中,假设芯片组秘密密钥CSSK1和CSSK2与公共密钥加密/解密方案相关联并分别地对应于芯片组公共密钥CSPK1和CSPK2。芯片组制造商可使得这些公共密钥的真实拷贝对于所有提供商可用。密钥CSSK1和CSSK2被在接收机芯片组个性化阶段期间被加载到接收机芯片组中(例如由接收机芯片组的制造商)。在某些实施例中,CSSK1和CSSK2可以是相关的。例如,两个密钥对(CSSK1、CSPK1)和(CSSK2, CSPK2)可以是相等的。
提供商生成真实性密钥对(PSK、PVK)和(SK、SVK),每对由提供商签名密钥和提供商验证密钥组成。例如,此类密钥对可由提供商的头端系统中的CA/DRM系统生成。替换地,提供商可使用另一系统来生成此类密钥对。在图20中,在不失一般性的情况下假设PVK和SVK是与一个或两个(非对称)数字签名方案相关联的公共密钥。这些密钥对的秘密密钥不需要为任何CA/DRM系统供应商所知。
为了保护验证密钥PVK和SVK的真实性,这些密钥被作为输入提供给函数H。在某些实施例中,密钥对(SK、SVK)和(PSK、PVK)是相等的。在那些实施例中,验证密钥中的仅一个实例被作为输入提供给H。如果验证密钥是秘密密钥(亦即,如果使用MAC),则提供商能够通过用公共密钥CSPK1或CSPK2将其加密并将得到的密码电文分发给接收机芯片组来保护其机密性。在图20中,在不失一般性的情况下假设SVK和PVK是与一个或两个(非对称)数字签名方案相关联的公共密钥。
在图20中所示的实施例中,使用对称加密算法和对称密钥K将CA/DRM客户端软件加密。提供商执行K的生成和CA/DRM客户端软件的加密。在图20中用{CA/DRM客户端SW}K来表示得到的密码电文。接下来,提供商将已加密CA/DRM客户端软件分发给接收机。在实践中,对于一个提供商而言可存在CA/DRM客户端软件的许多不同版本(例如如果在提供商的操作中使用不同类型的芯片组,每个类型要求不同的CA/DRM客户端软件图像)。通常,将使用唯一地生成的对称密钥K将这些版本中的每一个加密。能够使用在EP10193312.5或EP11160417.9中详述的技术将密钥K加载到接收机芯片组中,其全部公开被通过引用结合到本文中(并在图20中示出)。将K加载到接收机中所需的消息被称为K-init;此消息由提供商生成,并且对于每个接收机芯片组而言是唯一的(因为CSSK2对于每个芯片组而言是唯一地生成的)。更确切地,为了生成K-init,提供商可使用CSPK2和关联公共密钥加密算法将密钥K加密,并且提供商可使用PSK2和关联的签名生成算法对得到的密码电文进行签名,产生K-init。虽然还可以直接地通过用CSPK2对CA/DRM客户端软件图像进行加密来并用PSK2对其进行签名来对其进行保护(观察到此类变体解决方案不要求密钥K或K-init消息),但如图20中的双密钥层架构使用较少的带宽且具有更好的解密性能。为了看到这一点,注意到,K-init消息(其为用于每个接收机的唯一消息)的尺寸与CA/DRM客户端软件图像的尺寸相比是小的,并且在双层架构中,对于与提供商相关联的接收机群体而言仅存在已加密CA/DRM客户端软件图像的几个实例(即{CA/DRM 客户端SW}K)(而不是在使用CSPK2来将软件图像加密的情况下用于每个接收机的唯一加密CA/DRM客户端软件图像)。此外,一般地,对称加密/解密原语具有比非对称原语更好的性能。
在某些实施例中,仅保护CA/DRM客户端软件图像的真实性。在那些实施例中,能够使用与图19中描述的软件验证机制类似的软件验证机制;差别是现在CA/DRM客户端软件在验证其真实性之后在接收机芯片组内部被存储和执行。
CA/DRM客户端个性化数据包含CA/DRM客户端的(一个或多个)万能密钥,并且在图20中用“CA/DRM客户端perso数据”来表示。个性化数据的尺寸与CA/DRM客户端软件图像的尺寸相比是小的,并且此数据对于每个接收机而言是唯一的。由于这些原因,能够将单层密钥架构用于保护此数据的(单源)真实性和机密性,如在图20中所述的。例如,提供商可使用CSPK1和关联的公共密钥加密算法来将“CA/DRM客户端perso数据”加密,并且提供商可使用PSK1和关联的签名生成算法对得到的密码电文进行签名,产生“CA/DRM客户端perso init”消息。
接下来,提供商将{CA/DRM客户端SW}K、K-init、“CA客户端perso init”、PVK1和PVK2分发给接收机(芯片组)。
在接收到这些消息之后,接收机芯片组可使用PVK2来验证K-init的真实性。如果K-init是真实的,则接收机芯片组可从K-init导出密钥K(使用CSSK2作为解密密钥)。接收机芯片组可执行类似过程以从接收到的消息“CA/DRM客户端perso init”和PVK1导出CA/DRM客户端个性化数据(使用CSSK1作为解密密钥)。在EP10193312.5或EP11160417.9(其全部公开被通过引用结合到本文中)中详述了这些过程并在图20中示出。接下来,接收机芯片组可使用密钥K来将{CA/DRM客户端SW}K解密,产生CA/DRM客户端软件。
在将CA/DRM客户端软件和CA/DRM客户端个性化数据解密并合并之后,能够在接收机芯片组内部执行CA/DRM客户端,处理ECM和EMM。
CA/DRM客户端可输出被作为输入提供给函数H的CW*。接收机芯片组还将提供商验证密钥PVK1和PVK2作为输入提供给函数H以保护其真实性。函数H的输出是CW,其被用于将内容解扰。
在某些实施例中,密钥对(PSK1、PVK1)和(PSK2、PVK2)是相等的。在那些实施例中,验证密钥中的仅一个实例被作为输入提供给H。
可使用软件混淆技术来进一步保护CA/DRM客户端软件和CA/DRM客户端个性化数据的实现。此类技术还可用来保护在接收机芯片组内部实现的其他原语中的一个或多个的实现。可以添加更多密钥层以便保护CA/DRM客户端软件和/或CA/DRM客户端个性化数据的真实性和机密性。
如果提供商验证密钥是秘密密钥(亦即,如果使用MAC),则提供商能够通过用公共密钥CSPK1或CSPK2将其加密且通过将得到的密码电文分发给接收机芯片组来保护其机密性。
上文参考图19所述的原理的应用在图21和22中图示出。特别地,图21图示出与如图4中所示的相同的布置,只是在图21中提供了接收机软件图像(包括CA/DRM客户端)认证;并且图22图示出与图5中所示的相同的布置,只是在图22中提供了接收机软件图像认证(在图22中未示出对接收机软件图像进行签名的过程)。将认识到的是,能够将上文参考图20所述的原理的应用类似地应用于图21和22,并且因此在本文中不应详细地对其进行描述(虽然将实现下面所阐述的对H函数的相同修改)。
在实施例中,软件图像是CA/DRM客户端(由CA/DRM客户端软件和CA/DRM客户端个性化数据组成)。
在图21中,假设接收机软件图像(包括CA/DRM客户端软件404)不在芯片组上而是在集成于接收机中的单独芯片或电路上执行—然而,将认识到的是,对于其他实施例而言情况不需要如此。
在图21中,芯片组402还包括验证模块2100。验证模块2100被布置成接收如由提供商分发给接收机的提供商验证密钥(例如,PVK可能已与软件图像2102和/或数字签名2104一起被分发,或者可作为单独CA数据而提供)。验证模块2100还被布置成接收软件图像2102(其包括CA/DRM客户端软件404)和软件图像2102的数字签名2104。如上所述,软件图像2102的数字签名2104由提供商使用对应于提供商验证密钥PVK的提供商签名密钥PSK生成。验证模块2100被布置成使用接收到的提供商验证密钥PVK来针对其作为输入接收到的软件图像2102而验证其作为输入接收到的数字签名2104(使用技术人员众所周知的签名认证技术)。
如果验证模块2100确定其作为输入接收到的签名并不对应于其作为输入接收到的软件图像(该验证基于接收到的提供商验证密钥PVK),则软件图像2102的认证的第一阶段已失败。在这种情况下,接收机或芯片组402可遵循许多选项,诸如未完成启动或不再执行任何内容解扰或解码。
如果验证模块2100确定其作为输入接收到的签名确实对应于其作为输入接收到的软件图像(该验证基于接收到的提供商验证密钥PVK),则软件图像2102的认证的第一阶段已通过。如果这发生,则接收机可访问(或执行)软件图像(包括CA/DRM客户端软件404),使得然后能够利用CA/DRM客户端功能(如上文所阐述的以获得虚拟解扰信息,即CW*和SVK)。然而,软件图像2102的认证的所述第一阶段并不是软件图像2102的源(或单源)的完整验证,如下面阐述的。
特别地,图21中所示的芯片组402包括H模块2132来代替图4的H模块432。H模块2132与图4的H模块432相同,只是其还被提供有(即接收)提供商验证密钥PVK作为输入(即除CW*和SVK的虚拟解扰信息之外)。因此,提供商验证密钥PVK被用于验证软件图像2102的数字签名2104(或单源真实性)并用作为到H模块2132的输入以生成控制字438。
在类似情况下,图22中所示的系统利用H模块2220来代替图5的H模块520。H模块2220与图5的H模块520相同,只是其被布置成接收提供商的验证密钥PVK作为输入。因此,如果图21中的H模块2132也接收到与H模块2220所使用的相同的提供商验证密钥PVK,则由图22中的H模块2220生成且被用来将内容加扰的控制字CW将仅可被图21中的芯片组402再现。
如上文所讨论的,H模块432和520(且因此还有H模块2132和2220)利用函数H。H模块2132和2220可在将散列函数应用于合并输入以产生输出CW之前将其三个输入(PVK、CW*和SVK)合并。函数H还可以是任何其他适当的密码函数(即其不必一定是散列函数)。函数H的可能实现优选地具有以下性质:给定输出CW,难以(例如、困难、在计算上困难、不可行或在计算上不可行)找到密钥对(PSK*、PVK*)和解扰信息(诸如密钥对(SK*、SVK*)的SVK*和虚拟控制字CW**),使得PVK*和解扰信息映射到CW。如果满足此性质,则敌方不能使用非法(或未授权或违法)软件图像将内容解扰,即使SVK*是密钥对(SK*、SVK*)的密钥且SK*为敌方所知。在某些实施例中,“难以”可意指敌方可能不能在多项式时间或空间中导出以上信息。在其他实施例中,“难以”可通过指定关于要找到此类值所需的操纵数目或存储器尺寸的下界来定义。作为第三示例,一个人可通过指定关于该性质未被满足的概率的上界来定义“难以”。
具有此性质的函数H的示例是以下各项:(1)将输入CW*、SVK和PVK合并以产生中间结果X,例如通过将这些值级联,(2)将抗第2原像散列函数应用于输入X以产生输出CW。上文在讨论仅接受单个SVK的函数H时提供的分析类似地适用于接受较大的一组签名验证密钥的此修改的函数H。
将认识到的是,可类似地修改上文参考图16—18所述的系统,使得其各自H模块也接收提供商验证密钥PVK作为输入,并根据该提供商验证密钥PVK来生成控制字。这可作为到H模块的直接输入或者经由中间h模块(如在图10—13、17和8的系统中使用的)。同样地,将认识到的是,上文参考图19—22所述的H模块不必一定被布置成接收SVK作为输入(使得控制字真实性未得到验证,但软件图像真实性得到验证)。
在某些实施例中,提供商验证密钥PVK可等于SVK。
在某些实施例中,提供商计算其所服务的接收机群体中的每个不同类型的接收机软件图像的(密码)哈希值,并将该组计算哈希值作为输入提供给H模块2220(而不是将提供商验证密钥PVK作为输入提供给H模块2220)。接下来,提供商将接收机软件图像和该组哈希值分发给其所服务的接收机。每个接收机将其接收机软件图像和其他接收机软件图像的哈希值作为输入提供给其芯片组。芯片组计算其接收机软件图像的哈希值并将该组哈希值(包括其他接收机软件图像的计算哈希值和接收哈希值)作为输入提供给H模块2132。H模块保护哈希值的真实性,因为如果被作为输入提供给H模块2220和2132的该组哈希值是不同的,则解扰将失败。观察到,在此类实施例中,不要求密钥对(PSK、PVK)。
用于保护接收机软件图像的真实性的所述方法具有期望性质。特别地,提供商签名密钥并不为任何AC/DRM供应商所知,并且不需要在接收机的个性化之后由可信方来管理与接收机相关联的秘密密钥(因为能够在芯片组被个性化之后将芯片组秘密密钥删除)。
另外,用于保护接收机软件图像的真实性的新方法能够从其中软件真实性机制的根密钥对被泄密的安全漏洞恢复,现有解决方案并未提供安全特征。
上述各种对称和非对称加密/解密模块和方案可利用当前已知或将来想出的任何对称或非对称加密/解密算法。类似地,上述各种签名生成和验证模块和方案可利用当前已知或在将来相出的任何签名生成和验证算法。
将认识到的是,可使用各种不同的信息处理系统来实现本发明的实施例。特别地,虽然附图及其讨论提供了示例性架构,但这些仅仅是为了在讨论本发明的各种方面时提供有用参考而提出的。当然,已出于讨论的目的简化了架构的描述,并且其仅仅是可用于本发明的实施例的许多不同类型的架构中的一个。将认识到的是逻辑块之间的边界仅仅是说明性的,并且替换实施例可将逻辑块或元素合并,或者可对各种逻辑块或元素施加功能的替换分解。
将认识到的是,由于本发明的实施例是由计算机程序实现的,则承载计算机程序的存储介质和传输介质形成本发明的各方面。计算机程序可具有一个或多个程序指令或程序代码,其在被计算机执行时执行本发明的实施例。本文所使用的术语“程序”可以是被设计成用于在计算机系统上执行的指令序列,并且可包括子例程、函数、程序、对象方法、对象实现、可执行应用程序、小程序、小服务程序、源代码、对象代码、共享库、动态链接库和/或被设计成用于在计算机系统上执行的其他指令序列。存储介质可以是磁盘(诸如硬盘驱动器或软盘)、光盘(诸如CD-ROM、DVD-ROM或BluRay盘)或存储器(诸如ROM、RAM、EEPROM、EPROM、闪速存储器或便携式/可移动存储器件)等。传输介质可以是通信信号、数据广播、两个或更多计算机之间的通信链路等。

Claims (20)

1.一种在接收机处获得解扰信息的方法,该解扰信息用于使得能够对已加扰内容进行解扰,该方法包括:
使用提供商验证密钥来访问软件图像,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全;
接收虚拟解扰信息的安全版本;
使用被访问软件图像来从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息;
将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数以产生包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
2.权利要求1的方法,其中,访问软件图像包括对所述软件图像进行验证和/或认证。
3.权利要求1的方法,其中,所述软件图像被加密且其中访问软件图像包括:
对用于对已加密软件图像进行解密的解密密钥进行验证和/或认证;以及
使用已验证和/或已认证解密密钥来将软件图像解密。
4.权利要求1-3中的任一项的方法,其中:
所述虚拟解扰信息的安全版本是通过提供商使用第二提供商签名密钥来保证其安全的所述虚拟解扰信息;
使用软件图像来从所述虚拟解扰信息的安全版本获得虚拟解扰信息包括使用对应于第二提供商签名密钥的第二提供商验证密钥来访问所述虚拟解扰信息的安全版本;以及
所述提供包括将虚拟解扰信息、所述提供商验证密钥和所述第二提供商验证密钥作为输入提供给密码函数以产生包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括第一签名密钥和与第一签名密钥相关联的第一验证密钥的第一密钥对、包括第二签名密钥和第二验证密钥的第二密钥对,和包括所确定的第一验证密钥、所确定的第二验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
5.权利要求4的方法,其中,所述第二提供商验证密钥等于提供商验证密钥。
6.权利要求1-3中的任一项的方法,其中,提供商验证密钥和提供商签名密钥分别地是用于数字签名方案的公共密钥和私用密钥。
7.权利要求1至3中的任一项所述的方法,其中,提供商验证密钥和提供商签名密钥是用于对称消息认证方案的密钥。
8.一种用于使得接收机能够获得解扰信息的方法,该解扰信息用于使得能够对已加扰内容进行解扰,该方法包括:
向接收机提供提供商验证密钥和软件图像,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全,所述提供商验证密钥用于访问所述软件图像;
向接收机提供虚拟解扰信息的安全版本,其中,所述软件图像被布置成从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息,
其中,所述接收机被布置成执行密码函数,其中,将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数产生了包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
9.一种在接收机处获得解扰信息的装置,该解扰信息用于使得能够对已加扰内容进行解扰,该装置包括处理器,布置成:
使用提供商验证密钥来访问软件图像,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全;
接收虚拟解扰信息的安全版本;
使用被访问软件图像来从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息;
将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数以产生包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
10.根据权利要求9所述的装置,其中,所述装置是智能卡或接收机的芯片组。
11.一种用于使得接收机能够获得解扰信息的装置,该解扰信息用于使得能够对已加扰内容进行解扰,该装置包括处理器,布置成:
向接收机提供提供商验证密钥和软件图像,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全,所述提供商验证密钥用于访问所述软件图像;
向接收机提供虚拟解扰信息的安全版本,其中,所述软件图像被布置成从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息,
其中,所述接收机被布置成执行密码函数,其中,将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数产生了包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
12.根据权利要求11所述的装置,其中,所述装置是内容输送网络的头端系统。
13.一种在接收机处获得解扰信息的装置,该解扰信息用于使得能够对已加扰内容进行解扰,该装置包括:
用于使用提供商验证密钥来访问软件图像的部件,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全;
用于接收虚拟解扰信息的安全版本的部件;
用于使用被访问软件图像来从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息的部件;
用于将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数以产生包括所述解扰信息的给定输出的部件,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
14.权利要求13的装置,其中,用于访问软件图像的部件包括用于对所述软件图像进行验证和/或认证的部件。
15.权利要求13的装置,其中,所述软件图像被加密且其中用于访问软件图像的部件包括:
用于对已加密软件图像进行解密的解密密钥进行验证和/或认证的部件;以及
用于使用已验证和/或已认证解密密钥来将软件图像解密的部件。
16.权利要求13-15中的任一项的装置,其中:
所述虚拟解扰信息的安全版本是通过提供商使用第二提供商签名密钥来保证其安全的所述虚拟解扰信息;
用于使用软件图像来从所述虚拟解扰信息的安全版本获得虚拟解扰信息的部件包括用于使用对应于第二提供商签名密钥的第二提供商验证密钥来访问所述虚拟解扰信息的安全版本的部件;以及
所述用于提供的部件包括用于将虚拟解扰信息、所述提供商验证密钥和所述第二提供商验证密钥作为输入提供给密码函数以产生包括所述解扰信息的给定输出的部件,其中,所述密码函数具有这样的性质:确定包括第一签名密钥和与第一签名密钥相关联的第一验证密钥的第一密钥对、包括第二签名密钥和第二验证密钥的第二密钥对,和包括所确定的第一验证密钥、所确定的第二验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
17.权利要求16的装置,其中,所述第二提供商验证密钥等于提供商验证密钥。
18.权利要求13-15中的任一项的装置,其中,提供商验证密钥和提供商签名密钥分别地是用于数字签名方案的公共密钥和私用密钥。
19.权利要求13至15中的任一项所述的装置,其中,提供商验证密钥和提供商签名密钥是用于对称消息认证方案的密钥。
20.一种用于使得接收机能够获得解扰信息的装置,该解扰信息用于使得能够对已加扰内容进行解扰,该装置包括:
用于向接收机提供提供商验证密钥和软件图像的部件,所述软件图像已通过提供商使用对应于提供商验证密钥的提供商签名密钥来保证其安全,所述提供商验证密钥用于访问所述软件图像;
用于向接收机提供虚拟解扰信息的安全版本的部件,其中,所述软件图像被布置成从所述虚拟解扰信息的安全版本获得所述虚拟解扰信息,
其中,所述接收机被布置成执行密码函数,其中,将虚拟解扰信息和所述提供商验证密钥作为输入提供给密码函数产生了包括所述解扰信息的给定输出,其中,所述密码函数具有这样的性质:确定包括签名密钥和与签名密钥相关联的验证密钥的密钥对和包括所确定的验证密钥和另一虚拟解扰信息的用于密码函数的输入是不可行的,使得所述密码函数从所确定的输入产生所述给定输出。
CN201280040824.0A 2011-06-21 2012-06-21 接收机软件保护 Active CN103748890B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1110492.4 2011-06-21
GBGB1110492.4A GB201110492D0 (en) 2011-06-21 2011-06-21 Receiver software protection
PCT/EP2012/061946 WO2012175600A1 (en) 2011-06-21 2012-06-21 Receiver software protection

Publications (2)

Publication Number Publication Date
CN103748890A CN103748890A (zh) 2014-04-23
CN103748890B true CN103748890B (zh) 2018-04-24

Family

ID=44454409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280040824.0A Active CN103748890B (zh) 2011-06-21 2012-06-21 接收机软件保护

Country Status (6)

Country Link
US (1) US9402108B2 (zh)
EP (1) EP2724546B1 (zh)
JP (1) JP5933705B2 (zh)
CN (1) CN103748890B (zh)
GB (1) GB201110492D0 (zh)
WO (1) WO2012175600A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3019416A1 (fr) * 2014-03-28 2015-10-02 Orange Procede de traitement de donnees
EP2963576B1 (en) * 2014-07-04 2022-03-23 Vodafone GmbH Secure installation of software in a device for accessing protected content
US9473463B2 (en) * 2014-07-29 2016-10-18 Combined Conditional Access Development & Support, LLC Control word and associated entitlement control message caching and reuse
US10782990B1 (en) * 2015-11-24 2020-09-22 Amazon Technologies, Inc. Container telemetry
EP3391584B1 (en) * 2015-12-16 2020-11-04 Cryptography Research, Inc. Cryptographic management of lifecycle states
US10411900B2 (en) * 2016-07-12 2019-09-10 Electronics And Telecommunications Research Institute Control word protection method for conditional access system
CN108073818B (zh) * 2016-11-14 2021-07-09 华为技术有限公司 芯片的数据保护电路、芯片和电子设备
US10387687B2 (en) * 2017-04-07 2019-08-20 Nxp B.V. Method for symbolic execution on constrained devices
US11140455B1 (en) 2017-06-09 2021-10-05 Amazon Technologies, Inc. Video encoder network sandboxing
GB2581161A (en) * 2019-02-05 2020-08-12 Trustonic Ltd Software encryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010001014A1 (en) * 1995-04-03 2001-05-10 Akins Glendon L. Source authentication of download information in a conditional access system
US6252964B1 (en) * 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
GB2417652A (en) * 2004-08-25 2006-03-01 Gen Instrument Corp Generating a content decryption key using a nonce and channel key data in an endpoint device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2592462B2 (ja) * 1987-08-20 1997-03-19 日本放送協会 放送用受信機
US6107809A (en) 1995-07-18 2000-08-22 Malcam Ltd. Device and method for determining the moisture content of tobacco
FR2767523B1 (fr) 1997-08-25 1999-10-15 Sarl Drive Station d'epuration a structure modulaire autoporteuse
US7099479B1 (en) * 1999-08-27 2006-08-29 Sony Corporation Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method
US20020025045A1 (en) * 2000-07-26 2002-02-28 Raike William Michael Encryption processing for streaming media
JP2002141895A (ja) * 2000-11-01 2002-05-17 Sony Corp コンテンツ配信システムおよびコンテンツ配信方法
EP1271951A1 (en) * 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
US7564345B2 (en) * 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
DE602005022194D1 (de) * 2005-07-29 2010-08-19 St Microelectronics Res & Dev Verfahren gegen unbefugten Zugang zu Entschlüsselungsschlüsseln mit Hilfe einer verschlüsselten digitalen Unterschrift
JP5098292B2 (ja) * 2006-10-30 2012-12-12 株式会社日立製作所 コンテンツ復号鍵抽出方法およびコンテンツ受信装置
JP5049862B2 (ja) * 2008-04-23 2012-10-17 日本放送協会 送信装置及び限定受信装置
EP2461534A1 (en) 2010-12-01 2012-06-06 Irdeto B.V. Control word protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010001014A1 (en) * 1995-04-03 2001-05-10 Akins Glendon L. Source authentication of download information in a conditional access system
US6252964B1 (en) * 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
GB2417652A (en) * 2004-08-25 2006-03-01 Gen Instrument Corp Generating a content decryption key using a nonce and channel key data in an endpoint device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ENCIPHERMENT AND CONDITIONAL ACCESS;GUILLOU L C ET AL;《SMPTE - MOTION IMAGING JOURNAL, SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS, WHITE PLAINS, NY, US》;19940601;第103卷(第6期);398-406 *
Over the air download for digital television receivers upgrade;COSTA L C P ETAL;《IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, IEEE SERVICE CENTER, NEW YORK, NY, US》;20100201;第53卷(第1期);261-268 *

Also Published As

Publication number Publication date
US9402108B2 (en) 2016-07-26
EP2724546A1 (en) 2014-04-30
EP2724546B1 (en) 2020-06-03
GB201110492D0 (en) 2011-08-03
JP2014517649A (ja) 2014-07-17
JP5933705B2 (ja) 2016-06-15
WO2012175600A1 (en) 2012-12-27
CN103748890A (zh) 2014-04-23
US20150010151A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
CN103748890B (zh) 接收机软件保护
CN103354998B (zh) 控制字保护
CN102160325B (zh) 利用散列密钥的simulcrypt密钥共享
US7721088B2 (en) Terminal device, server device, and content distribution system
CN102761790B (zh) 基于数字水印的iptv终端的数字版权管理方法及装置
CN106464485A (zh) 用于保护在清单文件中输送的内容密钥的系统和方法
KR101406350B1 (ko) 클라이언트 도메인 내에서의 디지털 콘텐츠의 이용을관리하기 위한 방법 및 이 방법을 실행하는 디바이스
MXPA01010347A (es) Metodo de y aparato para proporcionar la comunicacion segura de datos digitales entre dispositivos.
US20130275755A1 (en) Systems, methods and apparatuses for the secure transmission of media content
CN102724568A (zh) 认证凭证
JP4691244B2 (ja) 限定受信システムの限定受信装置及びセキュリティモジュール、限定受信システム、限定受信装置認証方法及び暗号通信方法
CN110268719A (zh) 保护媒体内容
CN106803980B (zh) 加密控制字的保护方法、硬件安全模块、主芯片和终端
JP2008054308A (ja) 端末装置、サーバ装置及びコンテンツ配信システム
JP5033090B2 (ja) 認証情報生成装置、コンテンツ配信装置、受信装置およびセキュリティモジュール
CN100588244C (zh) 一种实现广播网络条件接收的方法和系统
JP5342680B2 (ja) 受信装置
KR100950596B1 (ko) Dcas 기반 방송 수신 장치 및 이의 보안 강화 방법
JP2004215190A (ja) 情報処理装置および方法、記録媒体、プログラム、並びに情報提供システムおよび情報提供方法
JP2007036380A (ja) 受信装置、casモジュール、配信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Holland Hoofddorp

Applicant after: Ai Dide Technology Co., Ltd.

Address before: Holland Hoofddorp

Applicant before: Irdeto B.V.

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM:

Free format text: CORRECT: APPLICANT; FROM: IRDETO B.V. TO: IRDETO B. V.

GR01 Patent grant
GR01 Patent grant