CN102238430B - 个性化白箱解扰器 - Google Patents

个性化白箱解扰器 Download PDF

Info

Publication number
CN102238430B
CN102238430B CN201110121436.2A CN201110121436A CN102238430B CN 102238430 B CN102238430 B CN 102238430B CN 201110121436 A CN201110121436 A CN 201110121436A CN 102238430 B CN102238430 B CN 102238430B
Authority
CN
China
Prior art keywords
module
personalized
descrambler
control word
input
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
CN201110121436.2A
Other languages
English (en)
Other versions
CN102238430A (zh
Inventor
J·M·多曼
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.)
Irdeto BV
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 CN102238430A publication Critical patent/CN102238430A/zh
Application granted granted Critical
Publication of CN102238430B publication Critical patent/CN102238430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4182External card to be used in combination with the client device, e.g. for conditional access for identification purposes, e.g. storing user identification data, preferences, personal settings or data
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47211End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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/16Obfuscation or hiding, e.g. involving white box
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Abstract

本发明涉及个性化白箱解扰器,可防止被拦截的密钥被用于非授权白箱解扰器模块中来解密密文。本文提出了一种具有个性化白箱解扰器的接收机,由此,个性化解扰器的一部分解扰运算在解扰器外部的预处理模块中执行。

Description

个性化白箱解扰器
技术领域
本发明涉及白箱解扰器,具体地,本发明涉及传统接入系统的接收机中的白箱解扰器。
背景技术
在付费TV应用中,加密(加扰)广播流形成密文“C”,其在广播接收机中被解密(解扰)从而获得解扰的广播流“M”。典型地,多个广播接收机接收相同的广播流,并使用相同的密钥(控制字)“CW”解密该广播流。该CW的值定期更新,并在授权控制消息“ECM”中以加密形式传送到接收机,该“ECM”能够由授权的订户解密。
ECM处理可以以多种方式实现。图1a描述了一个示例,其中ECM处理在智能卡中实现,该智能卡使用硬件防篡改技术提供安全的执行环境。广播流C的解密在接收机101的芯片的硬件电路301中实现从而获得解扰的广播流,用″M″表示。安全客户端201利用该智能卡的硬件实现以从ECM获得CW。硬件防篡改技术确保抵御攻击的实现。
图1b描述了一个可替换的示例,其中ECM处理基于软件技术。软件运行为接收机102中的软件安全客户端202,并基于下载至解扰器芯片的密钥层级结构以加密形式下载密钥(CW)至接收机102的硬件解扰器301中。
图1c描述了另一个可替换的示例,其中接收机103的安全客户端202和解扰功能302均以软件实现。该软件实现的接收机103中缺少硬件钩,例如,存储在芯片集的只读存储器中的芯片集唯一密钥“CSUK”或者芯片集序列号“CSSN”。结果,解扰功能302不能基于这样的硬件钩被限制于特定接收机,这会使软件实现的接收机302更容易遭受黑客攻击。
图2a描述了解扰器模块的一个示例。在解扰器模块303中使用固定密钥K将密文C解密为明文M。该密钥K被嵌入或者预下载至解扰器模块303中。
图2b描述了可替换的解扰器模块,其中解扰器模块304的几个实例可以通过从外部源下载K值来实现。
许多现有的广播解扰算法,例如DVB(数字视频广播)、DES(数据加密标准)以及AES(高级加密标准)是基于块密码(b1ockcipher)的。块密码通过把输入密文流分割成固定尺寸的多个块来工作。通过重复地应用相对简单的函数来处理每个块。这种方法称为迭代块密码。每个迭代称为一轮,重复的函数被称为轮函数,典型的块密码具有4至32轮。
图3描述了现有技术中迭代块密码机305的典型内部工作,其可作为图2b中的解扰模块304来使用。密文C被接收并分割为多个块。密文C的每个块经n轮处理后成为明文消息“M”。每轮“r”接收其自己的轮密钥“RKr”作为输入,该轮密钥在密钥调度模块501中从原始密钥“K”计算得出。在白箱密码学中,每个块密码轮模块4011、4012典型地使用隐藏有密钥“K”值以及轮密钥RKr值的表查询操作序列来实现。
可选地,使用图2a所示的解扰模块303的固定密钥变换可以用于迭代块密码机305中。然后,由将固定输入“RKr”嵌入至每一轮的模块替换图3所示的密钥调度模块501。
如图3所示的块密码轮模块4011、4012在图4中进行了更详细的描述。块密码轮函数401包括两个顺序操作的模块。扩散模块601随机修改输入Cr-1。这样获得的C′r-1被输入到扰乱模块701。该扰乱模块701的目的是将轮密钥RKr与密文C′r-1混合,使得其强制提供相关的轮密钥RKr从而为下一个解密轮产生输出Cr
块密码轮模块可以因具有唯一函数而个性化,在白箱密码学中一般使用表驱动查找实现,其执行扰乱功能。现有技术中的表驱动查找实现的例子在图7中将详细描述。
使用AES加密的白箱迭代块密码由2002年8月,由S.Chow,P.Eisen,H.johnson,P.C.vanOorschot在第九次密码学选择领域年度讨论会上发表的“White-BoxCryptographyandanAESImplementation”而已知。在AES的白箱实现中每个块密码轮包括四个部分:SubBytes、ShiftRows、MixColumns以及AddRoundKey。前三个部分对应扩散模块中的操作,而AddRoundKey部分相当于扰乱模块。
为了防止从一个模块传递到下一个模块的中间值被拦截,白箱迭代块密码实现一般对查询表(也参见图7)的输出应用随机排列,并且对下一个查询表的输入应用上述排列的逆。
图5描述了在块密码轮模块4021和4022中采用由两轮组成的随机排列,且块和密钥大小为2比特的简化块密码机306。在图6中详细描述了块密码轮模块402。在图5中,每个箭头表示两比特的数据流。在图6中,每个箭头代表单比特的数据流。扩散模块602交换输入Cr-1的两个比特,并使用它们的二进制和(XOR)替换第二个比特。这样得到的C′r-1输入到扰乱模块702。扰乱模块702将C′r-1的两个输入比特与轮密钥RKr的相关比特执行二进制加(XOR)。参考图5,密钥调度模块502接收密钥K,并产生两个轮密钥“RK1=K”和其中“10”表示二进制向量,表示XOR运算。
图7中描述了图5、图6中的简化块密码机306的白箱查找表驱动实现307的简化示例。在图7的例子中,密钥调度模块503接收二进制密钥“K=11”,并使用表查找将该密钥K扩展为两个轮密钥:“RK1=11”和“RK2=01”。通过特定密钥输入之后的预定义的路径而使该表查找可视化。跟随密钥输入K=11的箭头,找到两个轮密钥11和01。对于输入的密文,在具有二进制值“C=11”的本例中,第一块密码轮模块4031使用在扩散模块603中的表查找来产生中间输出“C’0=10”,其被输入到扰乱模块703。扰乱模块703使其与轮密钥RK1相加,从而产生输入到第二块密码轮模块4032中的输入“C1=01”。在第二块密码轮模块4032中,以类似的方式,扩散模块603获取“C’1=11”,扰乱模块获取“C2=10”。第二块密码轮模块4032产生明文消息“M”作为块密码解密运算的输出:“M=C2=10”。
作为广播解扰算法的使用块密码的替换形式,流密码和公共密钥密码系统被熟知。
图17描述了现有技术中可被用作替换图2b中的解扰模块304的流密码机308的典型内部工作。设置模块5041以自身已知的方式初始化密码的内部状态。典型地,初始化涉及初始向量(IV),初始向量加载到密码的加密内部秘密状态,在此之后在输入密钥K上执行多个密码轮,接着释放初始化密钥到下一个模块。密钥扩展模块5042从所述初始化密钥产生扩展密钥EK以匹配密文C的大小。扩展密钥EK被提供至XOR模块404,在那里使用与扩展密钥EK间的XOR运算来解扰输入密文C。
图20描述了现有技术中可能用作图2b的另一个可替换解扰模块304的公共密钥密码机309的典型内部工作。典型地,通过应用模幂,例如“EK=GKmodN”,求幂模块505处理输入密钥K。这样获得的扩展密钥EK被输入至解密模块4052以解密输入密文C。作为密文C解密的一部分,密文C可在被输入至解密模块4052之前,在修改模块5041中被修改为中间密文C1
付费TV应用中的一个已知问题是:使用宽带通信基础设施,例如因特网来重新分发CW密钥值。黑客拦截CW值,并将所述CW值插入到重新分发基础设施,例如使用点对点网络。未授权的接收机从重新分发基础设施获得适当的CW密钥值,使用这样获取的CW值来解密广播流。更具体地,拦截的密钥在未授权的白箱解扰模块中被用于解密密文。
发明内容
本发明的目的是阻止拦截的密钥在未授权的白箱解扰器模块中被用于解密密文。
依据本发明的一个方面,提出了一种白箱解扰器用于解扰密文以获得明文消息。该解扰器被配置为接收来自外部预处理模块的个性化变换密钥。该解扰器还被配置为接收输入的密文。该解扰器还被配置为,使用个性化变换密钥作为解扰运算的第二部分的输入,通过将解扰运算的第二部分应用于输入的密文来产生输出数据。所述解扰器还被配置为在产生输出数据之前,对个性化变换密钥应用逆变换。该个性化变换密钥包括在外部预处理模块中应用解扰运算的第一部分而产生的预处理数据。
依据本发明的一个方面,提出了一种方法,在解扰密文来获得明文消息的白箱解扰器中使用。所述方法包括接收来自外部预处理模块的个性化变换密钥。该方法还包括接收输入的密文。该方法还包括使用个性化变换密钥作为解扰运算第二部分的输入,通过对输入的密文应用解扰运算的第二部分来产生输出数据。该方法还包括在产生该输出数据之前,对个性化变换密钥应用逆变换。个性化变换密钥包括在外部预处理模块中应用解扰运算的第一部分而产生的预处理数据。
所述逆变换可作为独立的可区分的步骤执行,或者集成在解扰运算的第二部分中来执行。如果逆变换集成在解扰运算的第二部分中,则单次数学运算可以执行逆变换和解扰运算两个运算。
在外部预处理模块中,通过对解密密钥应用解状运算的第一部分而产生预处理数据。在条件接入系统中,该密钥还被称为控制字。
通过在解扰器外部执行解扰运算的第一部分,并且进一步通过变换结果来个性化所得到的修改密钥,使得只有特定的(例如,授权的)解扰器可以逆变换,有利地使得截取个性化的变换密钥重分发给另外的接收机变得无用。其他接收机必须逆变换并知晓解扰运算的第二部分,如同在特定的授权接收机中实现的一样,这基本上是不可能的。
权利要求2和12的实施例能够使用基于迭代块密码的解扰器。有利地,用于基于授权的迭代块密码的解码器的拦截密钥不可用于基于非授权的迭代块密码的解扰器。
有利地,权利要求3-6以及权利要求13-15的实施例能够实现基于迭代块密码的解扰器的各种可替换的实施方式。
权利要求7的实施例能够使用基于流密码的解扰器和基于公共密钥的解扰器。有利地,所拦截的用于基于授权流密码的解扰器或者基于授权公共密钥的解扰器的密钥不能用于基于非授权流密码的解扰器或者基于非授权公共密钥的解扰器。
依据本发明的一个方面,提出了一种在条件接入系统中使用的接收机。该接收机包括具有一个或多个上述技术特征的解扰器。
因此,有利地,该解扰器可以被集成到接收机中,使得解扰器可用于条件接入系统中。
依据本发明的一个方面,提出了一种在条件接入系统中使用的安全客户端。该安全客户端包括:输入端,用于以接收机为中介从头端系统接收加密的控制字。安全客户端还包括配置用于存储产品密钥的存储器。安全客户端还包括解密模块,其配置为使用产品密钥来解密加密的控制字以获得控制字。安全客户端还包括预处理模块,其配置为将解扰运算的第一部分应用于控制字以获得修改的控制字,并变换该修改的控制字以获得个性化变换的控制字。安全客户端还包括输出端,用于向接收机提供该个性化变换的控制字。
依据本发明的一个方面,提出了一种在条件接入系统的安全客户端中使用的方法。该方法包括以接收机为中介从头端系统接收加密的控制字。该方法还包括使用来自存储器的产品密钥解密该加密的控制字以获得控制字。该方法还包括将解扰运算的第一部分应用于控制字以获得修改的控制字。该方法还包括变换该修改的控制字以获得个性化变换的控制字。该方法还包括向接收机提供该个性化变换的控制字。
在预处理模块中,产生预处理的数据以在接收机的解扰器模块中用于解扰运算的第二部分。解扰运算的第一部分一般应用于解密密钥。在条件接入系统中,该密钥被称为控制字。
通过在解扰器外部执行解扰运算的第一部分,此外通过变换结果来个性化产生的修改密钥,从而仅特定的(例如,授权的)解扰器可以逆变换,有利地使拦截个性化变换密钥以重新分发给另一个接收机变得无用。其他的接收机将必须逆变换并知晓解扰运算的第二部分,如在特定授权的接收机中实现的一样,这基本上是不可能的。
依据本发明的一个方面,提出了一种用于条件接入系统的头端系统。该头端系统包括预处理模块,其配置为将解扰运算的第一部分应用于控制字来获得修改的控制字,以及变换该修改的控制字以获得个性化变换的控制字。该头端系统还包括输出端,用于向依据一个或多个上述特征的接收机提供个性化变换的控制字及密文。
在预处理模块中,产生预处理的数据以在接收机的解扰器模块中用于解扰运算的第二部分。典型地,该解扰运算的第一部分应用于解密密钥。在条件接入系统中,该密钥被称为控制字。
通过在解扰器外部执行解扰运算的第一部分,此外,通过变换结果以个性化产生的修改密钥,从而仅特定的(例如,授权的)解扰器可以逆变换,有利地,拦截个性化变换密钥以重新分发给其他接收机变得无用。其他接收机将必须逆变换并知晓解扰运算的第二部分,如在特定授权的接收机中实现的一样,这基本上是不可能的。
依据本发明的一个方面,提供了一种计算机程序元件。该计算机程序元件在由处理器执行时,用于执行具有一个或多个上述特征的白箱解扰器中使用的方法。
这有利地使得解扰器可用软件实现。
下文中,将进一步详细描述本发明的实施例。但是,值得注意的是,这些实施例不解释为限制本发明的保护范围。
附图说明
将参考附图中描述的示例性实施例更详细地描述本发明的多方面,其中:
图1a描述了现有技术中的接收机和安全客户端;
图1b描述了另一种现有技术中的接收机和安全客户端;
图1c描述了另一种现有技术中的接收机和安全客户端;
图2a描述了现有技术的解扰器的框图;
图2b描述了另一种现有技术的解扰器的框图;
图3更详细描述了现有技术的解扰器。
图4描述了现有技术的块密码轮模块;
图5更详细描述了现有技术的另一种解扰器;
图6描述了现有技术的另一种块密码轮模块;
图7描述了现有技术的基于块密码的解扰器;
图8描述了以一般形式阐明变换函数和加密的图;
图9描述了本发明示例性实施例的接收机和安全客户端;
图10a描述了本发明示例性实施例的解扰器的框图;
图10b描述了本发明的另一个示例性实施例的解扰器的框图;
图11描述了本发明的另一个示例性实施例的接收机和安全客户端;
图12描述了本发明示例性实施例的解扰器;
图13描述了本发明示例性实施例的块密码轮模块;
图14描述了本发明示例性实施例的基于白箱迭代块密码的解扰器;
图15描述了本发明的另一个示例性实施例的基于白箱迭代块密码的解扰器;
图16描述了本发明的另一个示例性实施例的基于白箱迭代块密码的解扰器;
图17描述了现有技术的基于流密码的解扰器;
图18描述了本发明示例性实施例的基于白箱流密码的解扰器;
图19描述了本发明另一个示例性实施例的基于白箱流密码的解扰器;
图20描述了现有技术的基于公共密钥的解扰器;
图21描述了本发明示例性实施例的基于白箱公共密钥的解扰器;
图22描述了本发明示例性实施例的条件接入系统;
图23描述了本发明示例性实施例的白箱解扰器中的方法;
图24描述了本发明另一个示例性实施例的白箱解扰器中的方法;以及
图25描述了本发明示例性实施例的安全客户端中的方法。
具体实施方式
本发明防止被拦截的密钥被用于未授权的白箱解扰器模块来解密密文。这里提出了具有个性化白箱解扰器的接收器,例如,图9中所示,个性化解扰器解扰运算的一部分在解扰器外部的预处理模块内执行。
参考图9,典型地该个性化解扰器311被实现为接收机111中的扰乱软件模块。可选地,该个性化解扰器可以用可编程硬件实现。典型地,在条件接入网络的每个接收机中具有唯一的个性化解扰器311。典型地,安全客户端211通信式连接至接收机111以向个性化解扰器311提供解扰器特定密钥相关数据以实现通常的解扰功能。此处,安全客户端211被实现,使得个性化解扰器311的解扰运算的一部分在安全客户端211的预处理模块811中实现。典型地,安全客户端211在智脂卡的硬件中实现。预处理模块811可被实现为安全客户端211中运行的扰乱软件模块。
可选地,解扰器特定密钥相关数据从头端系统提供至接收机,可能中间有智能卡的介入。预处理模块811是头端系统的一部分。
本发明中的个性化白箱解扰器使用解扰器特定预处理密钥相关数据作为输入。
在条件接入系统中,术语“CW”或者“控制字”是“密钥”的同义词。
软件扰乱技术使用变换函数来扰乱中间结果。通过参考图8进行一般性的阐述,变换函数的概念不同于加密。
假设在非变换数据空间中存在具有多个数据元素的输入域ID。定义使用某一密钥的加密函数E,其被配置为接受输入域ID的数据元素作为输入以将相应的加密数据元素传送到输出域OD中。通过应用解密函数D,可以通过向输出域OD的数据元素应用解密函数D而获得输入域ID的原始数据元素。在非安全环境中(典型地称为“白箱”),假设对手知晓输入和输出数据元素及加密函数E,从而可以导出密钥。
通过对输入域ID和输出域OD应用变换函数,即,变换函数是输入和输出操作,可以在非安全环境中获得额外的安全。变换函数T1将数据元素从输入域ID映射成变换数据空间的变换输入域ID’的变换数据元素。类似地,变换函数T2将数据元素从输出域OD映射到变换输出域OD′。现在可以使用变换密钥在ID′和OD′之间定义变换加密和解密函数E′和D′。T1和T2是双向单射。
使用变换函数T1、T2以及加密技术表明,通过使用变换函数T1,域ID′的变换数据元素被输入至变换加密函数E’,而不是将输入域ID的数据元素输入至加密函数E以获取输出域OD的加密数据元素。变换加密函数E′在加密运算中组合逆变换函数T1 -1和/或T2 -1来保护机密信息,例如密钥。然后获得了域OD′的经变换的加密数据元素。通过在保证安全的部分执行T1和/或T2,当在变换数据空间中分析输入数据和输出数据时,用于加密函数E或解密函数D的密钥不能被取得。
变换函数T1,T2之一应当是非平凡函数。假使T1是平凡函数,则输入域ID和ID′是相同的域。如果T2是平凡函数,则输出域是相同的域。
在白箱密码学中,假使该过程完全在敌对环境中执行,其中,黑客可获取ID、OD中的数据元素以及函数E和D。白箱密码术通过保护用于函数E和D的密钥(的若干部分)而提供安全性。通过在接收机的安全部分或智能卡的至少之一中应用变换函数T1和T2,应用于白箱技术的查找表Ln不能在变换空间中求解。
安全客户端和解扰器的软件实现使用软件变换来确保软件应用的安全。典型地,变换使用在白箱加密中,其中解密密钥与算法的解密步骤结合来获得可以解密密文C的软件程序。
图10a描述了图2b中的白箱实现,其中密钥以变换格式被提供给解密模块3111。该变换密钥T(K)被加载至解密模块3111的白箱实现中。在使用密钥K应用解扰运算之前,解密模块3111变换T(K)以获得密钥K。解密模块3111的实现确保知晓解密模块3111和T(K)值的攻击者不能恢复K。在该方案的变形中,密文输入C和/或解密输出M也可被变换。
图10b描述了个性化白箱解扰器3112,其使用解扰器特定密钥相关数据Ti(K),该数据已经在输入至白箱解扰器3112之前经过预处理。索引″i″用于指示特定的解扰器3112。预处理后的密钥相关数据Ti(K)被解释为其仅可用于对应的个性化白箱解扰器3112。此处,每个接收机使用密钥的个性化变换Ti
该变换密钥Ti(K)被加载至解扰器3112的白箱实现以解密该广播流C。该解扰器3112的实现确保知晓该实现以及Ti(K)值的攻击者不能恢复该密钥K。另外攻击者将不能产生用于另一个接收机(用“j”表示)的密钥相关数据Tj(K),该另一个接收机具有使用个性化变换Tj的个性化白箱解扰器。
采用已知解扰器,例如图5、图17和图20中所示的,输入密钥K不能被拦截以及重新分发至其他接收机用于解扰广播流C。因为密钥相关数据Ti(K)对接收机是唯一的,所以密钥相关数据Ti(K)对于其他接收机是无用的。因此拦截输入的密钥相关数据Ti(K)并重新分发至其他接收机有利地不再有用。
图11描述了具有本发明示例性实施例的个性化白箱解扰器311的接收机111的更详细示例。在图11的示例中,通过在智能卡的安全客户端211中预处理CW来产生个性化密钥数据Ti(CW)。更具体地,预处理模块811被用于安全客户端211中,以在接收机111的解扰器311之外预处理CW。随之,在预处理模块811中执行个性化解扰器311的解扰运算的一部分。在提供个性化密钥数据Ti(CW)至解扰器311之前,预处理模块811执行变换功能。可选地,可以在头端系统的预处理模块中预处理CW并将其从头端系统发送到接收机,可能以智能卡为中介。
该接收机111以自身已知的方式从广播网络接收输入流“input”。在条件接入系统中,典型地,输入流是MPEG-2或DVB传输流,并包含多个TV信道(即,节目流)以及含有解扰节目流所需要的密钥的加密信息。对于节目流的解扰,密钥经常称为控制字或CW。接收机111中的解复用/滤波器模块901转发对应于用户选择的节目流″C″(也就是密文)的传输流的一部分至解扰器311。解复用/滤波器模块901还从加密信息中提取出节目流C相关信息,例如授权管理消息(EMM)和授权控制消息(ECM),并发送该信息至安全客户端211。ECM包括用产品密钥PK加密的CW,其在图11中表示为EPK(CW)。安全客户端211接收该ECM并在解密模块902中使用从安全密钥存储模块903中读取的预存储的PK值对其进行解密。预处理模块811将该CW处理为解扰器特定变换形式Ti(CW)。利用对接收机标识“i”的知晓,安全客户端211中的解扰器特定CW变换被链接至接收机111中的个性化解扰器311,该标识″i″可以从解扰器311被传输至预处理模块811。个性化解扰器311的解扰运算的一部分在预处理模块811中执行。
在个性化解扰器311中使用变换密钥Ti(CW)需要是安全的。这意味着应该难于从变换密钥Ti(CW)以及个性化解扰器311获得CW。另外,应该难于为不同的特定个性化解扰器111计算有效的变换密钥。
下面的示例性实旋例描述了基于块密码使用个性化白箱解扰器,个性化解扰器如何是安全的。
在图12的示例性实施例中,个性化解扰器是个性化块密码机312。类似于图3中所示的块密码机305,使用块密码轮模块4111、4112,密文C的块经过“n”轮处理为明文消息M。在个性化块密码机312中,每轮“r”接收其自己的个性化轮密钥“PRKi r”作为输入,该PRKi r是在密钥分割模块511中从接收的个性化密钥数据Ti(K)中得到的。
图13显示了可以用作图12所示的块密码轮模块4111、4112的个性化块密码轮模块411。块密码轮模块411具有扩散模块611,它的操作类似于图4中所示的扩散模块601。个性化轮密钥“PRKi r”被输入至个性化扰乱模块711。通过对于轮“r”以及个性化解扰器“i”与唯一密钥UKi r间应用逐位的XOR计算出个性化轮密钥。在个性化扰乱模块中与相同的唯一密钥之间的重复XOR运算消除了个性化轮密钥的变换。
图12中的个性化块密码机312的白箱查找表驱动实现313的简化示例在图14中示出。在图14的例子中,经变换的二进制密钥“Ti(K)=1011”是图7中现有技术示例中的通常密钥″K=11″的个性化版本。另外,该个性化密钥Ti(K)已经在外部预处理模块811中从2比特值扩展为4比特值。块密码轮模块4121、4122与图7中块密码轮模块4031、4032类似的方式操作。图14中本发明的示例性实施例与图7中的不同在于个性化解扰器313基于个性化输入密钥Ti(K)操作。
在图14的例子中,密钥分割模块5121从包含在变换密钥中的个性化轮密钥串中选择两比特的个性化轮密钥“PRKi r”。变换密钥“Ti(K)=1011”是“PRKi 1=10”和“PRKi 2=11”的级联。个性化模块5122使用与预编程的唯一密钥“UKi r”间的XOR运算来变换每个“PRKi r”。唯一密钥“UKi 1=11”以及“UKi 2=01”用于将个性化轮密钥转化为在该块密码轮模块4121、4122中使用的通常的轮密钥。
在图14中,密文“C=11”被输入至第一块密码轮模块4121。扩散模块611使用查找表来将输入值“C=11”改变为“10”。使用第一通常轮密钥值“11”来选择该查找表的恰当列,扰乱模块711使用查找表来将该值“10”转变为“01”。中间结果“C1=01”被输入至第二块密码轮模块4122。扩散模块611使用查找表来将输入值“C1=01”改变为“11”。通过使用第二通常轮密钥值“01”来选择查找表的恰当列,扰乱模块711使用查找表来将该二进制值“11”转变为“10”。
如示出的用于个性化模块5122的该XOR运算可以集成在块密码轮模块4121、4122中。这在图15中示出,其中当从变换密钥“Ti(K)=1011”中提取出“PRKi r”值时,个性化扰乱模块712处理“PRKi r”值。通过改变扰乱模块712中查找表的列顺序,该扰乱模块712被个性化。密钥分割模块5121接收变换后的二进制密钥“Ti(K)=1011”并将其分割为两个个性化轮密钥“PRKi 1=10”和“PRKi 2=11”。扰乱模块712已经通过列顺序的特定排列而个性化,从而将个性化轮密钥“PRK”处理为正确的输出。另一个接收机将具有以不同方式个性化的扰乱模块并且不能使用接收机“i”的变换密钥来解密密文。
图15中,密文“C=11”被输入至第一块密码轮模块4131。扩散模块611使用查找表将输入值“C=11”改变为“10”。通过使用第一私人轮密钥值“10”来选择查找表的恰当列,个性化扰乱模块712使用查找表来将该值“10”转变为“01”。中间结果“C1=01”被输入至第二块密码轮模块4122。扩散模块611使用查找表将输入值“C=01”改变为“11”。通过使用第二私人轮密钥值“11”来选择查找表的恰当列,个性化扰乱模块712使用查找表将该二进制值“11”转变为“10”。最终结果“M=10”是解扰的消息。
作为个性化解扰模块的块密码机的替换实施例在图16中示出,其中使用一组变换表对每个块密码轮函数4141、4142中的扰乱功能进行预编程。依赖于输入至块密码轮4141、4142的个性化轮密钥“PRKi r”,每个变换表应用数据变换。在图16的示例中,变换的输入二进制密钥“Ti(K)=0100”在密钥分割模块5121中被分割为两个个性化轮密钥“PRKi 1=01”和“PRKi 2=10”。在个性化扰乱模块713中,个性化轮密钥″PRK″的每个比特表示是否应使用对应的表。这样,个性化扰乱模块713生成正确的输出。
在图16中,两比特的密文“C=11”被输入至第一块密码轮模块4141。扩散模块611将该密文变换为二进制值“10”,期被输入至个性化扰乱模块713。个性化轮密钥“PRKi 1=01”被第一块密码轮模块4141的个性化扰乱模块713用来确定哪个变换表被用于二进制输入“10”。该PRKi 1的第一个比特等于“0”,这表示不使用第一变换表。PRKi 1的第二个比特等于“1”,这表示按照第二变换表将输入“10”变换为“01”。二进制值“01”被提供至第二块密码轮模块4142,在这里,扩散模块611首先将该数据从“01”变换为“11”。该数据被输入至第二块密码轮模块4142的个性化扰乱模块713。“PRKi 2”的第一个比特等于“1”,这表示按照第一变换表,将输入“11”变为“10”。“PRKi 2”的第二个比特等于“0”,这表示在第一变换表之后,不对结果使用第二变换表。第二块密码轮模块4142的输出是个性化解扰器315的最终结果,因此解扰消息等于“M=10”。
图16中所示的采用块密码的不同接收机一般使用不同的个性化扰乱模块(即,个性化扰乱模块中的不同组变换表)被预编程,因此将有利地不能使用其他接收机的拦截的变换输入二进制密钥“Ti(K)”来解密输入的密文C。
可以理解,本发明并不仅限于如各种示例中所示的使用两个块密码轮的两比特数据操作。例如,AES块密码一般使用128比特的密码块尺寸以及10、12或14个块密码轮中的128、192或256比特的密钥尺寸。例如,DES块密码一般使用64比特的密码块尺寸,以及16个块密码轮中的56比特密钥尺寸。
下面示例性实施例描述了使用基于流密码的个性化白箱解扰器,如何可保证个性化解扰器的安全。
图18描述了个性化白箱流密码模块316的示例。预处理后的密钥相关数据Ti(K)被输入至个性化流密码模块316。Ti(K)包含预处理过的密钥K,其已经被个性化流密码模块316外部的预处理模块811中的设置函数和密钥扩展函数预处理过。另外,预处理过的密钥K被变换。Ti(K)被输入至XOR模块415以解扰密文C。类似于块密码实施例的个性化扰乱模块中的表的工作,该XOR模块中的XOR表被个性化以对变换取逆。
图19描述了可替换的个性化白箱流密码模块317的示例。预处理后的密钥相关数据Ti(K)被输入至个性化流密码模块317。Ti(K)包含已经被个性化流密码模块317外部的预处理模块811中的设置函数预处理过的预处理密钥K。另外,该预处理密钥K被变换。Ti(K)被输入至密钥扩展模块513以获取个性化扩展密钥PEK。该PEK被输入至XOR模块416以解扰密文C。类似于块密码实施例的个性化扰乱模块中的表操作,该XOR模块中的XOR表可以被个性化以对变换取逆。可替换地,密钥扩展模块513执行逆变换。
下面的示例性实施例描述了使用基于公共密钥密码的个性化白箱解扰器,如何可保证个性化解扰器的安全。
图21描述了个性化公共密钥密码模块318的示例。通过在外部预处理模块811中设置Ti(K)={K-K1}而隐藏密钥K的值。个性化求幂模块514使用输入的Ti(K)计算个性化扩展密钥“PEK=G(K+K1)modN”。这样通过改变“K1”的值,产生公共密钥算法的个性化版本。获得的扩展个性化密钥PEK被输入至个性化解密模块417以解密输入的密文C。作为密文C的解密的一部分,在被输入至个性化解密模块417之前,密文C可以在修改模块4051中被修改为中间密文C1
图22描述了本发明示例性实施例的条件接入系统260。经由分发网络270,头端系统250向一个或多个接收机111传输ECM、EMM以及使用CW加扰的内容流(也就是密文)。ECM一般包含一个或多个加密的CW。该ECM由可通信地连接至接收机111的安全装置280处理。该接收机包括个性化解扰器311、312、313、314、315、316、317或318。安全装置280例如是智能卡,一般包含如图11描述的安全客户端211。CW由头端系统250中的预处理模块811预处理或可替换地在安全客户端211中的预处理模块811中预处理。
可以理解的是,涉及任何实施例中描述的任何特征可以被单独使用,或与其他描述的特征联合,并也可以与任何其他实施例、或任何其他实施例的任意组合的一个或多个特征组合。本发明的一个实施例可被实现为与计算机系统一起使用的程序产品。该程序产品的程序定义了实施例(包括本文描述的方法)的功能并可以被包含在各种计算机可读存储介质中。说明性的计算机可读存储介质包括但并不限于:(i)非可写存储介质(例如,计算机中的只读存储装置,例如CD-ROM驱动器可读的CD-ROM盘、ROM芯片或任何类型的固态非易失半导体存储器),在其上信息被永久地存储;以及(ii)可写存储媒介(例如,磁盘驱动器或硬盘驱动器中的软盘或任何类型固态随机访问半导体存储器或闪存),其上可变信息被存储。另外,本发明并不限于上述实施例,其可以在随附权利要求的范围内改变。

Claims (16)

1.一种解扰密文(C)以获取明文消息(M)的白箱解扰器(311),其中该解扰器(311)被配置为:
从外部预处理模块(811)接收个性化变换密钥(Ti(K)),所述个性化变换密钥(Ti(K))特定于所述解扰器(311);
接收输入的密文(C);
使用所述个性化变换密钥(Ti(K))作为解扰运算的第二部分的输入,通过对所述输入的密文(C)应用解扰运算的第二部分,产生输出数据;以及
在产生该输出数据之前,对所述个性化变换密钥(Ti(K))应用逆变换,其中所述个性化变换密钥(Ti(K))包括在所述外部预处理模块(811)中应用解扰运算的第一部分而产生的预处理数据。
2.如权利要求1所述的解扰器(311),其中该解扰器(311)是基于白箱迭代块密码的解扰器(312),该解扰器(312)包括:
密钥分割模块(511),其被配置为将所述个性化变换密钥(Ti(K))分割为预定数量的等比特长度的变换密钥部分(PRKi n);以及
对于每个变换密钥部分:块密码轮模块(4111,4112)被配置为接收输入密文数据,以及通过从预配置的查找表中选择由该输入密文数据的第一比特图案和基于所述变换密钥部分的第二比特图案所指示的位置上的输出密文数据来产生输出数据,
其中第一块密码轮模块(4111)被配置为使用密文(C)的预定义比特长度的一部分作为输入密文数据,并且其中后面的块密码轮模块(4112)被配置为使用前一块密码轮模块的输出数据作为输入密文数据。
3.如权利要求2所述的解扰器(312),其中所述块密码轮模块(411)包括扩散模块(611)和扰乱模块(711),其中所述查找表是扰乱模块(711)的一部分,其中所述扩散模块(611)被配置为在输入密文数据被输入至所述扰乱模块(711)之前修改该输入密文数据。
4.如权利要求3所述的解扰器(313),还包括个性化模块(512),其配置为对变换密钥部分应用逆变换从而获得所述第二比特图案。
5.如权利要求3所述的解扰器(314),其中第二比特图案是所述变换密钥部分,并且其中在查找表中由所述输入密文数据的第一比特图案和所述变换密钥部分的第二比特图案所指示的位置上的输出数据具有与所述变换密钥部分的逆变换相对应的预配置值。
6.如权利要求5所述的解扰器(315),其中所述扰乱模块(713)包括用于第二比特图案的每个比特的查找表,其中所述扰乱模块(713)被配置为依据第二比特图案的比特的值来跳过或使用查找表。
7.如权利要求1所述的解扰器(311),其中该解扰器(311)是基于白箱流密码的解扰器(316,317)或是基于白箱公共密钥的解扰器(318)。
8.用于条件接入系统的接收机(111),包括如权利要求1-7任一所述的解扰器(311,312,313,314,315,316,317,318)。
9.一种用于条件接入系统(260)的安全客户端(211),包括:
输入端,用于以接收机(111)为中介从头端系统接收加密的控制字;
存储器(903),被配置为存储产品密钥;
解密模块(902),被配置为使用该产品密钥解密所述加密的控制字以获得该控制字;
预处理模块(811),被配置为对该控制字应用解扰运算的第一部分以获得修改的控制字,以及变换该修改的控制字以获得个性化变换的控制字,所述个性化变换的控制字特定于所述接收机(111);以及
输出端,用于向所述接收机(111)提供该个性化变换的控制字。
10.一种在条件接入系统(260)中使用的头端系统(250),包括:
预处理模块(811),被配置为对控制字应用解扰运算的第一部分以获得修改的控制字,以及变换该修改的控制字以获得个性化变换的控制字;以及
输出端,用于向如权利要求8所述的接收机(111)提拱该个性化变换的控制字及密文,所述个性化变换的控制字特定于所述接收机(111)。
11.一种在解扰密文(C)以获得明文消息(M)的白箱解扰器中使用的方法,该方法包括:
从外部预处理模块接收(1)个性化变换密钥(Ti(K)),所述个性化变换密钥(Ti(K))特定于所述解扰器(311);
接收(2)输入的密文(C);
使用所述个性化变换密钥(Ti(K))作为解扰运算的第二部分的输入,通过对所述输入的密文(C)应用解扰运算的第二部分来产生(3)输出数据;以及
在产生该输出数据之前,对所述个性化变换密钥(Ti(K))应用(4)逆变换,
其中所述个性化变换密钥(Ti(K))包括在所述外部预处理模块中应用解扰运算的第一部分而产生的预处理数据。
12.如权利要求11所述的方法,还包括:
将所述个性化变换密钥(Ti(K))分割(5)为预定义数量的等比特长度的变换密钥部分;以及
对于每个变换密钥部分:在块密码轮模块中接收(6)输入密文数据,并通过从预配置的查找表中选择由该输入密文数据的第一比特图案和基于所述变换密钥部分的第二比特图案所指示的位置上的输出数据来产生(7)输出数据,
其中第一块密码轮模抉使用该密文(C)的预定义比特长度的一部分作为输入密文数据,并且其中后面的块密码轮模块使用前一块密码轮模块的输出数据作为输入密文数据。
13.如权利要求12所述的方法,包括对所述变换密钥部分应用逆变换从而获得第二比特图案。
14.如权利要求12所述的方法,其中第二比特图案是所述变换密钥部分,其中在查找表中由所述输入密文数据的第一比特图案和所述变换密钥部分的第二比特图案所指示的位置上的输出数据具有与所述变换密钥部分的逆变换相对应的预配置值。
15.如权利要求14所述的方法,其中产生输出数据包括依据第二比特图案的比特的值,使用第二比特图案的每个比特相应的查找表。
16.一种在条件接入系统的安全客户端中使用的方法,包括:
以接收机为中介从头端系统接收(11)加密的控制字;
使用来自存储器的产品密钥来解密(12)该加密的控制字,以获得该控制字;
对该控制字应用(13)解扰运算的第一部分以获得修改的控制字;
变换(14)该修改的控制字以获得个性化变换的控制字,所述个性化变换的控制字特定于所述接收机(111);以及
将该个性化变换的控制字提供(15)给所述接收机(111)。
CN201110121436.2A 2010-03-26 2011-03-25 个性化白箱解扰器 Active CN102238430B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10157952.2A EP2369778B1 (en) 2010-03-26 2010-03-26 Personalized whitebox descramblers
EP10157952.2 2010-03-26

Publications (2)

Publication Number Publication Date
CN102238430A CN102238430A (zh) 2011-11-09
CN102238430B true CN102238430B (zh) 2016-07-06

Family

ID=42232651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110121436.2A Active CN102238430B (zh) 2010-03-26 2011-03-25 个性化白箱解扰器

Country Status (6)

Country Link
US (3) US8594330B2 (zh)
EP (1) EP2369778B1 (zh)
JP (1) JP5901884B2 (zh)
KR (1) KR20110108322A (zh)
CN (1) CN102238430B (zh)
CA (1) CA2735080C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2227014B1 (en) * 2009-03-02 2019-10-02 Irdeto B.V. Securely providing secret data from a sender to a receiver
EP2829010B1 (en) * 2012-03-20 2020-11-04 Irdeto B.V. Updating key information
GB201305734D0 (en) 2013-03-28 2013-05-15 Irdeto Bv Enabling a content receiver to access encrypted content
KR101527329B1 (ko) * 2014-09-12 2015-06-09 삼성에스디에스 주식회사 데이터 암호화 장치 및 방법
GB201418815D0 (en) 2014-10-22 2014-12-03 Irdeto Bv Providing access to content
DE102014016548A1 (de) * 2014-11-10 2016-05-12 Giesecke & Devrient Gmbh Verfahren zum Testen und zum Härten von Softwareapplikationen
JP6187624B1 (ja) * 2016-03-17 2017-08-30 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
KR102602696B1 (ko) * 2017-10-13 2023-11-16 삼성전자주식회사 암호화 장치 및 복호화 장치, 이들의 동작방법
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578813A (zh) * 2007-01-11 2009-11-11 皇家飞利浦电子股份有限公司 跟踪实现的拷贝

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3115350B2 (ja) * 1991-06-10 2000-12-04 富士通株式会社 暗号化方式
JPH06303230A (ja) * 1993-04-19 1994-10-28 Toshiba Corp スクランブルデータ伝送装置
JP4491069B2 (ja) * 1995-10-31 2010-06-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 時間シフト限定アクセス
RU2000111530A (ru) * 1997-10-02 2002-05-27 Каналь+Сосьетэ Аноним Способ и устройство для шифрованной трансляции потока данных
US6697489B1 (en) * 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
WO2005062919A2 (en) * 2003-12-22 2005-07-14 Wachovia Corporation Public key encryption for groups
WO2007116390A2 (en) * 2006-04-11 2007-10-18 Nds Limited Fingerprinting descrambling keys
JP4909668B2 (ja) * 2006-07-24 2012-04-04 Kddi株式会社 ハイブリッド暗号化装置およびハイブリッド暗号化方法
JP5355554B2 (ja) * 2007-05-22 2013-11-27 イルデト・コーポレート・ビー・ヴイ 暗号用鍵データの更新
KR101597251B1 (ko) * 2008-05-23 2016-02-24 이르데토 비.브이. 소프트웨어 애플리케이션들의 화이트­박스 구현들을 생성하는 시스템 및 방법
US8121294B2 (en) * 2008-10-21 2012-02-21 Apple Inc. System and method for a derivation function for key per page
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578813A (zh) * 2007-01-11 2009-11-11 皇家飞利浦电子股份有限公司 跟踪实现的拷贝

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Stanley Chow etal.White-Box Cryptography an AES implementation.《selected Areas in Cryptography 2003》.2003, *

Also Published As

Publication number Publication date
CA2735080A1 (en) 2011-09-26
JP5901884B2 (ja) 2016-04-13
JP2011211708A (ja) 2011-10-20
EP2369778B1 (en) 2018-08-15
CN102238430A (zh) 2011-11-09
EP2369778A1 (en) 2011-09-28
US20110235803A1 (en) 2011-09-29
US20140086409A1 (en) 2014-03-27
US8594330B2 (en) 2013-11-26
CA2735080C (en) 2019-04-16
US20170111167A1 (en) 2017-04-20
KR20110108322A (ko) 2011-10-05

Similar Documents

Publication Publication Date Title
CN102238430B (zh) 个性化白箱解扰器
CN101753292B (zh) 用于链接式加密模式的方法和设备
EP2491510B1 (en) Distribution system and method for distributing digital information
CN103608820B (zh) 用于使得软件应用能够在硬件设备上执行的计算机实现方法和硬件
CN102160325B (zh) 利用散列密钥的simulcrypt密钥共享
US20120042170A1 (en) Device and method for establishing secure trust key
EP2461534A1 (en) Control word protection
EP2829010B1 (en) Updating key information
JP5933705B2 (ja) 受信機ソフトウェアの保護
CN104221023A (zh) 数字权利管理
US20190268145A1 (en) Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key
US9363244B2 (en) Realizing authorization via incorrect functional behavior of a white-box implementation
KR20120092068A (ko) 제어 워드들을 생성하는 방법 및 장치
US9219606B2 (en) Method and device for digital data blocks encryption and decryption
US8130949B2 (en) Partially reversible key obfuscation
WO2007031894A2 (en) Improved cryptographic method and system
EP2940919B1 (en) Realizing authorization via incorrect functional behavior of a white-box implementation
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: IRDETO B.V.

Free format text: FORMER OWNER: IRDETO BV

Effective date: 20150127

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150127

Address after: Holland Hoofddorp

Applicant after: Irdeto B.V.

Address before: Holland Hoofddorp

Applicant before: Irdeto Corporate B. V.

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: APPLICANT; FROM: IRDETO B.V. TO: IRDETO B. V.

Free format text: CORRECT: ADDRESS; FROM:

C14 Grant of patent or utility model
GR01 Patent grant