CN101681408A - 数据安全性 - Google Patents

数据安全性 Download PDF

Info

Publication number
CN101681408A
CN101681408A CN200880017068A CN200880017068A CN101681408A CN 101681408 A CN101681408 A CN 101681408A CN 200880017068 A CN200880017068 A CN 200880017068A CN 200880017068 A CN200880017068 A CN 200880017068A CN 101681408 A CN101681408 A CN 101681408A
Authority
CN
China
Prior art keywords
data
content
key
relevant block
predetermined system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880017068A
Other languages
English (en)
Other versions
CN101681408B (zh
Inventor
W·P·A·J·米歇尔斯
P·M·H·M·A·戈里森
B·斯科里克
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
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101681408A publication Critical patent/CN101681408A/zh
Application granted granted Critical
Publication of CN101681408B publication Critical patent/CN101681408B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • 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/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于增加数据安全性的系统100包括要保护的预定系统数据104。密码单元108用于根据相应密钥对内容数据的相应块进行密码处理。密钥提供器106用于根据预定系统数据104的相应部分112确定用于内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中为内容数据的相应块选择预定系统数据的不同相应部分。一种用于增加数据安全性的服务器系统200包括用于将处理过的内容数据110提供给客户端系统100的输出202,客户端系统包括要保护的预定系统数据104。服务器系统200还包括密码单元208和密钥提供器206。

Description

数据安全性
技术领域
本发明涉及增加数据安全性。
背景技术
因特网作为有版权保护内容的分发介质的使用已经带来了对确保内容提供者的权益的挑战。具体地,需要保证内容提供者的版权和商业模式。越来越多地,消费者电子平台使用加载有软件的处理器进行操作。这样的软件可提供用于呈现(回放)数字内容(如音频和/或视频)的功能性的大部分。一种包括可使用内容的条款和条件的强制内容所有者权益的方式是通过具有对回放软件的控制。传统上在例如电视机或DVD播放器中实现的许多消费者电子平台是封闭使用的,但现在越来越多的平台是至少部分开放的。这尤其在PC平台上更是如此,因为一些用户可能具有对提供内容访问的PC硬件和软件的完全控制。而且,用户可能具有大量的时间和资源来攻击和绕过任何内容保护机制。因此,内容提供者必须通过不安全的网络向合法用户传输内容,以及向不是所有用户或装置都能信任的团体传输内容。
数字权利管理系统常常使用加密方法来防止对内容的未授权使用,和/或数字签名方法以使得能够追踪非法分发内容的来源。数字权利管理中产生的一个问题是,强制执行据此使用内容的条款和条件的软件代码必须不能被篡改。
依赖于加密的数字权利管理的弱点的两个区域是强制执行据此使用内容的条款和条件的软件组件、以及密钥分发和处理(handling)。想要消除条款和条件的强制执行的攻击者可能尝试通过篡改软件组件中包括的程序代码来实现这一点。对于密钥处理,为了进行回放,媒体播放器必须从许可数据库取得解密密钥。然后必须在存储器中某些地方存储该解密密钥,以对加密内容进行解密。这给攻击者提供了对密钥进行攻击的两种选择。第一,对许可数据库访问功能的逆向工程可能导致黑盒软件(即,攻击者不必理解软件功能的内部工作),这允许攻击者从所有许可数据库取得资产密钥(asset key)。第二,通过在内容解密期间观察对存储器的访问,有可能取得资产密钥。在两种情况下,都认为密钥是受威胁的。
防篡改软件是指具有用来使得直接目标篡改复杂化的特殊特征的软件。存在各种增加软件应用的防篡改能力的技术。这些技术中的绝大部分基于通过增加软件应用的控制和数据路径这两者中的随机性遮蔽和复杂度来隐藏应用的嵌入知识。隐藏在这之后的想法是,变得更加难以仅仅通过代码探查来提取信息。因而,更加难以找到例如处理对应用的访问和许可控制的代码,从而更加难以改变它。然而,这些增加软件应用的防篡改能力的技术并不总是令人满意。
发明内容
具有用于增加数据安全性的改进系统是有利的。为更好的解决此问题,在本发明的第一方面中,提出了一种系统,其包括:
输入,用于接收待处理的内容数据;
要保护的预定系统数据;
密码单元,用于根据相应密钥对内容数据的相应块进行密码处理;
密钥提供器,用于根据预定系统数据的相应部分确定用于该内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中为内容数据的相应块选择预定系统数据的不同相应部分。
因为密钥依赖于系统数据的所选部分,所以恶意用户对该系统数据的所选部分的改变将也改变该密钥,并由此阻碍了对相应内容块的密码处理的成功执行。以此方式,保护所选部分免受篡改。因为不同的相应部分用于相应内容块,所以保护相对大量的数据位免受篡改。另一优点是,该系统使得能够创建系统数据特定的密文(ciphertext);密码处理仅仅在系统可获得相同系统数据的情况下才会成功,这是因为密钥依赖于系统数据。这增强了安全性,因为通常,未被授权处理内容数据的系统中至少一些不能获得该系统数据。
在一个实施例中,预定系统数据包括软件代码,该软件代码包括计算机可执行指令。在此情况下,保护软件代码免受未授权的修改,这是因为无论何时密钥都依赖于软件代码的改变部分,改变软件代码意味着处理被扰乱。例如,要保护的软件代码包括与强制执行数字权利管理有关的指令。
在一个实施例中,密钥提供器被布置为根据内容数据的相应块之外的内容数据来选择预定系统数据中的部分。这是在传送侧和接收侧两者上都选择预定系统数据的相同部分的非常有效的方式。这在所选部分中带入了随机性,这是因为内容数据通常具有一定的随机性。
在一个实施例中,密钥提供器被布置为基于内容数据的密文来选择该部分。因为密文具有比明文(plaintext)更好的随机性,所以在此情况下对软件代码中的部分的选择也具有更好的随机性。
在一个实施例中,密钥提供器被布置为基于之前处理的数据块的密文来选择该部分。在需要所选部分以便处理当前数据块时,先前处理过的数据块的密文容易获得。这在接收端和传送端皆是如此。
在一个实施例中,密钥提供器被布置为计算所选择部分的伪随机函数以获得密码密钥。伪随机特性使得更加难以破解加密方案。在另一实施例中,伪随机函数是散列(hash)函数。
在一个实施例中,密码单元被布置为施加关于所述相应密钥的至少一部分和所述内容数据中的相应块的至少一部分的异或(XOR)运算。异或函数对于执行特别有效并且仍然不容易被破解。
一个实施例包括存储装置,用于存储对应于内容数据的密文,其中该密码单元被布置为解密所存储的内容数据。存储装置允许在需要时存储和取得内容数据。因为密文依赖于预定系统数据,所以不具有该系统数据的其他系统不能使用所存储的内容数据。因而,存储装置是相对安全的。
在一个实施例中,密码单元包括
加密器,用于根据相应密钥对从输入接收的内容数据中的相应块进行加密,并用于使用存储装置存储该加密的内容数据;以及
解密器,用于根据相应密钥,对使用存储装置存储的加密的内容数据中的相应块进行解密。
因为密钥是系统特定的(即,依赖于预定系统数据),所以加密和解密可有利地在相同系统上执行。一种合适的应用是如下情况:在系统中本地加密和存储内容,并且以后由同一系统解密和使用。
在一个实施例中,密码单元被布置为根据相应密钥向该内容数据施加数字水印。因为数字水印依赖于密钥数据,所以其依赖于预定系统数据。因而,可使用数字水印来标识用于对内容数据加水印的系统数据。
一个实施例包括用于增加数据安全性的服务器系统,其包括
输入,用于接收待处理的内容数据;
输出,用于将处理过的内容数据提供给客户端系统,该客户端系统包括要保护的预定系统数据;
密码单元,用于根据相应密钥对内容数据中的相应块进行密码处理;
密钥提供器,用于根据预定系统数据中的相应部分确定用于所述内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中为该内容数据的相应块选择所述预定系统数据的不同相应部分。
一个实施例包括包含客户端系统和服务器系统的系统,其中
服务器系统的输出被布置为将由服务器系统的密码单元处理过的内容数据提供给客户端系统的输入;以及
服务器系统的密钥提供器和客户端系统的密钥提供器被布置为分别响应于在服务器系统的输入处接收到内容数据以及响应于在客户端系统的输入处接收到对应内容数据,来使用软件代码的相同部分。
一个实施例包括增加数据安全性的方法,其包括
接收待处理的内容数据;
根据相应密钥对内容数据的相应块进行密码处理;
根据要保护的预定系统数据的相应部分确定用于内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中为内容数据的相应块选择预定系统数据的不同相应部分。
一个实施例包括增加数据安全性的方法,其包括
接收待处理的内容数据;
将处理过的内容数据提供给客户端系统,客户端系统包括要保护的预定系统数据;
根据相应密钥对内容数据的相应块进行密码处理;
根据所述预定系统数据的相应部分确定用于该内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中为所述内容数据的相应块选择所述预定系统数据的不同相应部分。
一个实施例包括用于使得处理器执行至少一个上述方法的计算机可执行指令的计算机程序产品。
Stanley Chow、Philip Eisen、Harold Johnson和Paul C.VanOorschot  等人的“White-Box  Cryptography and an AESImplementation”Selected Areas in Cryptography:9th AnnualInternational Workshop,SAC 2002,St.John′s,Newfoundland,Canada,August 15-16,2002(下文中称为“Chow 1”),以及StanleyChow、Phil Eisen、Harold Johnson和Paul C.van Oorschot等人的“A White-Box DES Implementation for DRM Applications”:Digital Rights Management:ACM CCS-9 Workshop,DRM 2002,Washington,DC,USA,November 18,2002(下文中称为“Chow 2”)中公开了想要通过以下组合隐藏密钥的方法:用表示构成而非单独步骤的随机双射来编码其表格,以及通过将其进一步推出到包含应用中来扩展密码边界。
在国际申请号为PCT/IB2007/050640(代理人文档PH005600)的申请中公开了一种保护数据处理系统的完整性的方法。该方法包括确定要保护的数据串,数据串的完整性是数据处理系统的完整性的指示。计算代表预定数据处理功能的一组参数,使用该组参数中的冗余度将数据串合并到该组参数的位表示中。该系统能够根据该组参数来处理数据。该组参数代表包括密码密钥的密码算法的至少一部分。该组参数还代表查找表的网络。查找表的网络包括数据处理算法的白盒实现方式中的多个查找表。数据处理算法包括密码算法。
附图说明
参考附图将进一步理解和描述本发明的这些和其他方面。
图1是说明加密方案的图示;
图2是说明解密方案的图示;
图3是说明加密方案的图示;
图4是说明解密方案的图示;
图5是说明实施例的图示;
图6是说明实施例的图示。
具体实施方式
防篡改软件是其中难以进行针对性篡改的软件。软件防篡改能力在许多应用中极其重要,这些应用例如为数字权利管理(DRM)客户端、支付系统和条件访问系统。一个威胁是攻击者尝试修改如公钥或者软件的关键动作(如访问判定)之类的关键安全数据。要注意的是,可通过扰乱程序流并由此隐藏程序的关键部分,来实现此上下文中的代码硬化(hardening)。也可通过将障碍物放到攻击者的路径(即使攻击者具有关于关键部分的位置的完整信息)上来实现代码硬化。一种实现代码硬化的方式是交织程序的许多部分,以便强迫攻击者修改代码的显著部分,而不是仅仅他想要改变的片段。
一种代码硬化方法是验证程序代码的散列(hash)。散列方法作用于相邻的存储器地址。攻击者可能相对容易识别代码的哪些部分被散列了。如果需要硬化大代码块以免受篡改,则散列方法可能需要大量工作。将期望具有对更大程序更有效的方法。还将期望具有其中加密内容(密文)依赖于程序代码的方法,即其中程序代码扮演关键性角色的系统。更一般地,将期望防护相对大量的数据免受篡改,其中数据优选地是系统上可获得的数据,如硬件标识符数据、BIOS数据、注册表条目或内容数据段。
尽管在此说明书中,重点放在软件代码的保护上,但该概念可扩展到保护任何类型的数据。有效的是,所述实施例将允许使用相对大的数据体,以用作针对密码算法的密钥数据。与例如密码系统中经常使用的相对小的密钥相比,这样的大数据体不容易被恶意实体分发。要保护的预定系统数据的例子包括系统上存在的任何数据、硬件标识符、BIOS、内容、文档、注册表设置、操作系统单元等。
在一个实施例中,使得在某个设备上运行的程序代码防篡改。该方法使用密码算法,并且基于对代码的篡改导致用户的功能性(部分)损失这个思想。假设已经在该设备上实现了解密算法。在一个实施例中,解密算法依赖于密钥和程序代码。对程序代码的修改暗示着解密算法不再正确地进行解密。因此,程序代码是相对防篡改的。
一种实现解密算法和程序代码之间的依赖性的方法是将密钥定义为代码段。为说明这一点,假设采用AES块密码。此块密码包含10个循环(round),每个循环用128位循环密钥参数化。如果每个循环密钥被定义为计算机程序的128位的片段,则这产生在循环密钥中使用的程序的总共10×128=1280个位。因此,使得计算机程序代码的这1280个位防篡改,这是因为计算机程序代码中的这些位的改变暗示着密钥的改变,而密钥需要是无改变形式以获得期望的程序行为。
在一个实施例中,可使得任意大小的程序防篡改。使用块大小为n位的块密码作为例子。当对可能由超过n个位构成的内容进行加密/解密时,需要为内容的多个块进行多次加密/解密。已经开发出指定如何配合加密/解密的块密码模式。设pi是第i个明文块,以及设ci是对应的第i个密文块。密文块ci依赖于代码段fi。换言之,pi的加密和ci的解密均依赖于代码段fi。ci所依赖的代码段从作为ci之前的密文块的值ci-1得到。因为密码的一个属性是连续密文块形成伪随机序列,所以ci所依赖的代码段从伪随机值得到;并因此伪随机地选择代码段。
在加密/解密依赖于代码段f的情况下,对代码段f中的位的修改导致不正确的加密/解密。另外,以伪随机方式选择加密/解密所依赖的代码段。由此,提供了使得大软件程序防篡改的有效方法。
块密码通常加密/解密恒定大小(如n位)的块。对于超过n位的内容应用块密码的方式被称为块密码模式。NIST已经标准化了数种块密码模式。这些模式中最常用的是CBC(密码块链接)模式。可没有限制地使用该模式和其他块密码模式。CBC模式如下工作;也参见图1和图2。
假设明文和密文被分为n位的块。第i个明文块用pi表示,以及第i个密文块用ci表示。另外,EK(pi)表示用密钥K对pi的加密,DK(ci)表示用密钥K对ci的解密。根据CBC的明文和密文之间的关系由
Figure A20088001706800112
给出,其中c0被定义为某一初值IV,并且表示异或(XOR)运算。这个块密码模式背后的思想是通过向其增加密文块i-1来随机化明文块i。
在一个实施例中,使用了CBC模式。也可使用其他块密码模式。为实现程序代码和加密/解密之间的依赖性,出现两个问题。第一,出现使得代码段依赖于第i次加密/解密的问题。第二,出现如何实现该依赖性的问题。
如下回答第一问题。假设密文块i-1确定依赖于第i次加密/解密的代码段。例如,这可如下实现。假设需要防篡改的软件代码存储在存储器中地址0、1、...28-1。然而,这仅仅是例子。可按直接明了的方式使用更多数目的地址。每个地址包含程序的一个字。另外,假设使得块密码模式中的每次加密/解密依赖于由m个字构成的代码段。这样,使得加密/解密i+1依赖于地址ci-1 mod 28,(ci-1+1)mod 28,...,(ci-1+m)mod 28处的软件代码段。
因为密文块的序列可被看作伪随机位流,所以此策略具有如下属性:在每次加密/解密中,检查(伪)随机代码段的完整性。这暗示着可使得相对大的程序防篡改,这是因为程序中的每次改变都最终导致不正确的加密/解密。
出现的第二个问题是如何实现块加密/解密和代码段之间的依赖性。在CBC模式下,使得第i次加密/解密依赖于第i-1个密码块。按照建立此依赖性的相同方式,可建立对代码段的依赖性。这意味着如果第i次加密/解密依赖于由n位(其中,n位是块大小)构成的代码段f(ci-1),则由
Figure A20088001706800121
Figure A20088001706800122
分别给出密文块ci和明文块pi。在图3和图4中示出了这一点。
图5例示了本发明的一个实施例。该图示出了用于处理数据的系统100。该系统可以是客户端系统。该图还示出了用于处理数据的服务器系统200。例如,服务器200准备处理过的数据110,其中该数据110例如通过经由诸如因特网的数据网络的传输或者借助于诸如CD-ROM盘的可移除存储介质提供给客户端100。数据还可来源于内部存储介质116。
该图示出了输入102。输入102接收需要被处理的数据。例如,其从服务器200接收数据。还可从本地数据存储装置116接收数据。还可从本地运行的另一应用或从用户输入接收数据。数据可包括例如数据文件、图像、音频文件、电影或流媒体内容(如流视频或流音频)。数据可被加密,并且处理可以是对加密数据的解密。处理还可涉及对数据的签名或加水印,或者验证数据的签名或水印。该数据被转发给选择器106。
密钥提供器106选择要在处理所接收的内容时使用的软件代码中的部分112。优选地,这样实现选择器106,以使得其有规律地选择代码中的不同部分,以实现按时间选择全部软件代码104。密钥提供器106根据所选部分112提供密码密钥。所选部分112可直接表示密码密钥,或者可从该部分112得到的密码密钥。例如,可将密钥计算为该代码部分的内容的散列函数。优选地,密钥提供器106被布置为基于密文选择该部分。如果使用了块密码,则可使用先前处理的数据块。
密码单元108根据由密钥提供器106提供的密钥,对经由输入102取得的数据进行密码处理。该密码处理可包括使用所提供的密钥对内容进行解密。密码单元还可直接使用所选部分的位表示作为密钥,例如,这通过对所选部分的位与明文或密文进行异或运算来进行。可使用涉及所选部分112和内容110的任何线性或非线性运算来建立两者之间的依赖性。密码处理还可涉及加密和/或数字签名和/或数字水印。然而,这些是密钥处理的非限制性例子。
密钥单元108的输出是密码处理过的数据114。输出该数据用于存储装置116或用于传输或用于进一步的处理和/或呈现。例如,输出的数据114可包括用于在电视上呈现的视频信号。
系统100可用于数据在本地或远程存储介质116上的安全存储。存储装置116用于存储对应于内容数据的密文。每当需要解密数据时,将存储装置116中存储的加密数据经由输入102馈送到密码单元108和密钥提供器106。
可从外部源接收在存储装置116上存储的加密数据。然而,该数据还可由系统自身生成;例如,可按加密形式安全地存储用户简档或用户文档或音频/视频内容。为此,优选地,密码单元包括加密器和解密器两者。首先使用密钥提供器106和密码单元108对从输入102接收的未加密数据进行加密,然后将加密数据114存储在存储装置116中,然后每当在需要时,将所存储的加密数据从存储装置116馈送到输入102并从那儿馈送到密钥提供器106和密码单元108以获得输出114处的解密数据。
可替换地,密码单元根据软件代码104的所选部分112来向内容数据施加数字水印。
一个实施例包括服务器系统200。该服务器系统200用于在把内容数据提供给客户端100的输入112之前准备该内容数据。服务器200和客户端100可在不同计算机上运行。服务器200和客户端100还可由在单个机器上运行的不同进程构成。服务器200具有在客户端100上使用的软件代码的知识。该知识至少足以产生能在客户端100上根据软件代码104的所选部分112正确处理的内容数据。例如,服务器具有与可由密钥提供器106选择的代码的不同部分112相对应的预先计算的密码密钥的列表。可替换地,密钥提供器206具有软件代码104的本地副本。可替换地,作为例子,服务器200的选择器206访问客户端1O 0中存储的实际代码104。服务器系统200包括输出202、密钥提供器206、密码单元208和输入210。内容数据214由输入210接收并被转发到密钥提供器206和密码单元208。密钥提供器206选择软件代码104中的部分112,并根据所选部分112将密钥提供给密码单元208。密码单元208使用该密钥对输入的内容数据进行密码处理。经由输出202将处理过的内容数据110提供给客户端系统100的输入102。
一个实施例包括增加数据安全性的方法,该方法包括接收待处理的内容数据(110);根据相应密钥对内容数据的相应块进行密码处理;根据要保护的预定系统数据(104)的相应部分(112)确定用于内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中根据预定方案为内容数据的相应块选择预定系统数据的不同相应部分。
一个实施例包括增加数据安全性的方法,包括接收待处理的内容数据(214);将处理过的内容数据(110)提供给客户端系统(100),所述客户端系统包括要保护的预定系统数据(104);根据相应密钥对内容数据的相应块进行密码处理;根据预定系统数据(104)的相应部分(112)确定用于内容数据的相应块处理的相应密钥,该部分不包括所有的预定系统数据,其中根据预定方案为内容数据的相应块选择预定系统数据的不同相应部分。
一个实施例包括计算机程序产品,该计算机程序产品包括用于使得处理器执行任何上述方法的计算机可执行指令。
图6说明了适合于实现所述系统和方法的示例硬件体系。例如,可在个人计算机、机顶盒、电视机或数字视频播放器/记录器中实现该硬件体系。例如,可在服务器计算机中实现服务器系统200。该图示出了用于控制存储器91、显示器93(或用于显示器的连接器)、输入94(例如,键盘、鼠标、遥控器)、通信端口95(例如,以太网、无线网络、天线线缆输入)和存储介质96(例如,诸如紧致盘、CD-ROM、DVD、外部闪存的可移除存储介质,或诸如硬盘的内部非易失性存储介质)的处理器92。存储器91包括用于使得处理器执行上述一个或多个方法的计算机指令。这些计算机指令可从存储介质96或经由通信端口95从因特网加载到存储器91中。输入94用于使得用户能与系统交互。显示器用于与用户交互,并且可选地用于呈现视频或静态图像。还可提供扬声器(未示出),用于用户交互和/或呈现音频内容。服务器系统和客户端系统两者均可实现为图6的同一硬件系统上的软件应用,并且他们可同时运行并经由进程间通信彼此通信。可替换地,客户端和服务器可在均具有类似于图6的体系的分离的硬件系统上运行。例如,服务器位于且由内容提供者拥有,而客户端由消费者拥有并位于消费者家中。
将理解,本发明还可扩展至适用于将本发明带入实践的计算机程序,特别是载体上或中的计算机程序。程序可以具有源代码、对象代码、代码中间源和诸如部分编译形式的对象代码的形式,或者适合用于实现根据本发明的方法的任何其他形式。载体可以是能够携带程序的任何实体或设备。例如,载体可包括存储介质,如ROM(例如CD ROM或半导体ROM)或者磁记录介质(例如软盘或硬盘)。另外,载体可以是可传输载体,如可经由电缆或光缆或通过无线电或其他手段传递的电或光信号。当以这样的信号实现程序时,载体可由这样的光缆或其他设备或手段构成载体。可替换地,载体可以是其中嵌入程序的集成电路,该集成电路适用于执行相关方法,或适合于在执行相关方法时使用。
应注意,上述实施例例示而不是限制本发明,本领域技术人员将能够设计许多替代实施例,而不会脱离所附权利要求的范围。在权利要求中,放在括号之间的任何参考符号不应理解为限制权利要求。动词“包括”及其变形的使用不排除存在除了权利要求中描述的之外的元件或步骤。元件前面的冠词“一”或“一个”不排除存在多个这样的元件。本发明可借助于包括数个不同元件的硬件,或借助于适当编程的计算机来实现。在枚举了数个部件的设备权利要求中,这些部件中的一些可以实现为一个,并且由硬件的相同项目实现。在相互不同的从属权利要求中引用特定措施的简单事实不表示不能有利地使用这些措施的组合。

Claims (15)

1、一种用于增加数据安全性的系统(100),包括
输入(102),用于接收待处理的内容数据(110);
要保护的预定系统数据(104);
密码单元(108),用于根据相应密钥对所述内容数据的相应块进行密码处理;
密钥提供器(106),用于根据所述预定系统数据(104)的相应部分(112)确定用于所述内容数据的相应块处理的相应密钥,所述部分不包括所有的预定系统数据,其中为所述内容数据的相应块选择所述预定系统数据的不同相应部分。
2、根据权利要求1的系统,其中,所述预定系统数据包括软件代码,该软件代码包括计算机可执行指令。
3、根据权利要求1的系统,其中,所述密钥提供器被布置为根据所述内容数据的相应块之外的内容数据来选择所述预定系统数据中的部分。
4、根据权利要求3的系统,其中,所述密钥提供器被布置为基于内容数据的密文来选择所述部分。
5、根据权利要求4的系统,其中,所述密钥提供器被布置为基于之前处理的数据块的密文来选择所述部分。
6、根据权利要求1的系统,其中,所述密钥提供器被布置为计算所选择部分的伪随机函数以获得所述密码密钥。
7、根据权利要求1的系统,其中,所述密码单元被布置为施加关于所述相应密钥的至少一部分和所述内容数据的相应块的至少一部分的异或运算。
8、根据权利要求1的系统,还包括存储装置(116),用于存储对应于所述内容数据的密文,其中所述密码单元被布置为解密所存储的内容数据。
9、根据权利要求8的系统,其中,所述密码单元包括
加密器,用于根据相应密钥对从所述输入接收的内容数据的相应块进行加密,并用于使用所述存储装置存储所加密的内容数据;以及
解密器,用于根据相应密钥,对使用所述存储装置存储的所加密的内容数据的相应块进行解密。
10、根据权利要求1的系统,其中,所述密码单元被布置为根据相应密钥向所述内容数据施加数字水印。
11、一种用于增加数据安全性的服务器系统(200),包括
输入(210),用于接收待处理的内容数据(214);
输出(202),用于将处理过的内容数据(110)提供给客户端系统(100),所述客户端系统包括要保护的预定系统数据(104);
密码单元(208),用于根据相应密钥对所述内容数据的相应块进行密码处理;
密钥提供器(206),用于根据预定系统数据(104)的相应部分(112)确定用于所述内容数据的相应块处理的相应密钥,所述部分不包括所有的预定系统数据,其中为所述内容数据的相应块选择所述预定系统数据的不同相应部分。
12、一种包括根据权利要求1的客户端系统(100)和根据权利要求11的服务器系统(200)的系统,其中
服务器系统(200)的输出(202)被布置为将由所述服务器系统(200)的密码单元(208)处理过的内容数据(110)提供给所述客户端系统(100)的输入(102);以及
所述服务器系统的密钥提供器(206)和所述客户端系统的密钥提供器(106)被布置为分别响应于在所述服务器系统(200)的输入(210)处接收到内容数据(214)以及响应于在所述客户端系统(100)的输入(102)处接收到对应内容数据(110),使用软件代码(104)的相同部分(112)。
13、一种增加数据安全性的方法,包括
接收待处理的内容数据(110);
根据相应密钥对所述内容数据的相应块进行密码处理;
根据要保护的预定系统数据(104)的相应部分(112)确定用于所述内容数据的相应块处理的相应密钥,所述部分不包括所有的预定系统数据,其中为所述内容数据的相应块选择所述预定系统数据的不同相应部分。
14、一种增加数据安全性的方法,包括
接收待处理的内容数据(214);
将处理过的内容数据(110)提供给客户端系统(100),所述客户端系统包括要保护的预定系统数据(104);
根据相应密钥对所述内容数据的相应块进行密码处理;
根据所述预定系统数据(104)的相应部分(112)确定用于所述内容数据的相应块处理的相应密钥,所述部分不包括所有的预定系统数据,其中为所述内容数据的相应块选择所述预定系统数据的不同相应部分。
15、一种计算机程序产品,包括用于使得处理器执行根据权利要求13或14的方法的计算机可执行指令。
CN2008800170683A 2007-05-22 2008-05-19 数据安全性 Expired - Fee Related CN101681408B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07108580.7 2007-05-22
EP07108580 2007-05-22
PCT/IB2008/051960 WO2008142633A1 (en) 2007-05-22 2008-05-19 Data security

Publications (2)

Publication Number Publication Date
CN101681408A true CN101681408A (zh) 2010-03-24
CN101681408B CN101681408B (zh) 2013-09-18

Family

ID=39846640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800170683A Expired - Fee Related CN101681408B (zh) 2007-05-22 2008-05-19 数据安全性

Country Status (7)

Country Link
US (1) US9025765B2 (zh)
EP (1) EP2153365A1 (zh)
JP (1) JP5496880B2 (zh)
KR (1) KR20100031106A (zh)
CN (1) CN101681408B (zh)
TW (1) TW200903296A (zh)
WO (1) WO2008142633A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118631A (zh) * 2010-01-05 2011-07-06 耶德托公司 在条件接入系统中广播数字信号的变体
CN105637801A (zh) * 2013-10-18 2016-06-01 国际商业机器公司 多形态加密密钥矩阵

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112011105393T5 (de) * 2011-06-30 2014-05-22 Intel Corp. Systen und Verfahren zum Steuern des Zugriffs auf geschützte Inhalte
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
JP6908914B2 (ja) * 2017-02-24 2021-07-28 株式会社国際電気通信基礎技術研究所 データ送信装置、データ受信装置、通信システム、および、プログラム
KR102663589B1 (ko) * 2018-10-26 2024-05-09 삼성전자주식회사 서버 및 서버의 제어 방법
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3580333B2 (ja) 1996-04-10 2004-10-20 日本電信電話株式会社 暗号認証機能の装備方法
WO1998042098A1 (en) * 1997-03-14 1998-09-24 Cryptoworks, Inc. Digital product rights management technique
JPH1139156A (ja) * 1997-07-22 1999-02-12 Fuji Xerox Co Ltd 暗号化データ復号装置
US6334189B1 (en) * 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
JP3481470B2 (ja) 1998-10-19 2003-12-22 日本電気株式会社 データ等の不正改竄防止システム及びそれと併用される暗号化装置
US20020023209A1 (en) * 2000-02-14 2002-02-21 Lateca Computer Inc. N.V.United Encryption and decryption of digital messages in packet transmitting networks
GB0031663D0 (en) 2000-12-27 2001-02-07 Internet Extra Ltd Method and apparatus for controlling access to multimedia files design and implementation
US7987510B2 (en) * 2001-03-28 2011-07-26 Rovi Solutions Corporation Self-protecting digital content
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
EP1712032B1 (en) * 2003-12-11 2011-05-11 Irdeto B.V. Block ciphering system, using permutations to hide the core ciphering function of each encryption round
FR2881254A1 (fr) * 2005-01-21 2006-07-28 O Soc Par Actions Simplifiee Procede de restitution d'un flux numerique par un fichier executable
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption
JP2006238154A (ja) * 2005-02-25 2006-09-07 Sony Corp データ処理方法
WO2007105126A2 (en) * 2006-03-10 2007-09-20 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118631A (zh) * 2010-01-05 2011-07-06 耶德托公司 在条件接入系统中广播数字信号的变体
CN102118631B (zh) * 2010-01-05 2016-01-20 爱迪德技术有限公司 在条件接入系统中广播数字信号的变体
US9532006B2 (en) 2010-01-05 2016-12-27 Irdeto B.V. Broadcasting variants of digital signals in a conditional access system
CN105637801A (zh) * 2013-10-18 2016-06-01 国际商业机器公司 多形态加密密钥矩阵
CN105637801B (zh) * 2013-10-18 2018-09-25 国际商业机器公司 多形态加密密钥矩阵
US10476669B2 (en) 2013-10-18 2019-11-12 International Business Machines Corporation Polymorphic encryption key matrices

Also Published As

Publication number Publication date
WO2008142633A1 (en) 2008-11-27
TW200903296A (en) 2009-01-16
CN101681408B (zh) 2013-09-18
KR20100031106A (ko) 2010-03-19
EP2153365A1 (en) 2010-02-17
US9025765B2 (en) 2015-05-05
JP2010529718A (ja) 2010-08-26
JP5496880B2 (ja) 2014-05-21
US20100215173A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
EP2044724B1 (en) Tamper resistance of a digital data processing unit
JP5249053B2 (ja) データ処理システムの完全性
CN101491000B (zh) 用于混淆密码函数的方法和系统
KR101580879B1 (ko) 암호 키 데이터를 갱신하는 시스템 및 방법, 서버 시스템, 암호 키 갱신들을 제공하는 방법 및 컴퓨터 판독가능 기록매체
CN101681408B (zh) 数据安全性
EP3035585B1 (en) S-box selection in white-box cryptographic implementation
CN101536398A (zh) 用于白盒实现的加密方法
CN107273724B (zh) 为白盒实施方案的输入和输出加水印
EP2922235B1 (en) Security module for secure function execution on untrusted platform
JP2011520150A (ja) 指数難読化
Plasmans White-box cryptography for digital content protection
Kim et al. POSTER: Stopping Run-Time Countermeasures in Cryptographic Primitives
Lungu et al. Designing software locking mechanisms against reverse engineering, using artificial neural networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: YEDETO CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20100402

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: EINDHOVEN, NETHERLANDS TO: HOOFDDORP, NETHERLAND

TA01 Transfer of patent application right

Effective date of registration: 20100402

Address after: Holland Hoofddorp

Applicant after: Irdeto B.V.

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

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: Irdeto Corporate B. V.

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 BV

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: IRDETO B.V.

Free format text: FORMER OWNER: IRDETO BV

Effective date: 20150114

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

Effective date of registration: 20150114

Address after: Holland Hoofddorp

Patentee after: Irdeto B.V.

Address before: Holland Hoofddorp

Patentee before: Irdeto Corporate B. V.

C56 Change in the name or address of the patentee

Owner name: IRDETO B. V.

Free format text: FORMER NAME: IRDETO B.V.

CP01 Change in the name or title of a patent holder

Address after: Holland Hoofddorp

Patentee after: Ai Dide Technology Co., Ltd.

Address before: Holland Hoofddorp

Patentee before: Irdeto B.V.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130918

Termination date: 20150519

EXPY Termination of patent right or utility model