白盒实现的制作方法

文档序号:6408294阅读:829来源:国知局
专利名称:白盒实现的制作方法
技术领域
本发明涉及使得实体能够计算求幂的结果的方法。
背景技术
因特网为用户提供方便的对数字内容的访问。由于通过因特网向消费者提供内容 的灵活性,当前趋势是为消费电子(CE)产品配备访问因特网以获取要呈现的媒体内容的 能力。这样的CE产品包括,但不限于,数字机顶盒、数字TV、游戏控制台、PC,以及,越来越 多地,诸如PDA、移动电话之类的手持式设备以及诸如便携式MP3播放器之类的移动存储器 和呈现设备。因特网不是用于分发数字内容的唯一媒体。还广泛地使用其他数字内容分发 渠道,例如,使用通过卫星、陆地经空(terrestrial air)、和/或有线电视网的数字视频广 播(DVB)和数字音频广播(DAB)。因特网及其他数字分发媒体对于享有版权的内容的使用 产生了对保护内容提供商的利益的安全的挑战。尤其是,期望具有可以用来保证(warrant) 内容提供商的版权和商业模式的技术手段。越来越多地使用被加载了合适的软件的处理器 来操作CE平台。这样的软件可以包括用于呈现(回放)诸如音频和/或视频之类的数字 内容的功能的主要部分。对回放软件的控制是实施内容拥有者的利益的一种方式,包括可 以使用内容的条款及条件。传统上,许多CE平台(除PC和PDA外)是封闭的,现今越来越 多的平台至少部分地是开放的,允许计算机程序员检查软件以及对软件进行修改。在这样 的开放系统(包括个人计算机)中,可以假设某些用户具有对提供对内容的访问的硬件和 软件的完全控制。此外,某些用户可以具有大量的时间和资源来攻击并绕过任何内容保护 机制。结果,内容提供商必须跨其中不是所有的用户或设备都能够被信任的团体的怀恶意 的网络来将内容递送给合法用户。通常,数字权限管理(digital rights management)系统使用基于根据密钥来处 理数据流的块密码(block cipher)的加密技术。可以由接收器使用同一个密钥或者另一 密钥来解密这样的内容。可以使这样的密码在消费电子产品中的实现模糊,以使得攻击者 更难以找到密钥的值。通常用于许多不同种类的应用中的密码的示例有DES、AES、RSA,以 及TO9967918中所公开的方法。被设计为使得特定关键的数据对这样的用户隐藏的软件应用被称作“白盒实现”。 具体而言,白盒实现可以被以这样的方式设计,即,使攻击者更加难以了解软件应用中所使 用的密码密钥的值。通常,白盒实现也试图对具有对执行环境的完全控制(例如,通过使用 调试器)的用户隐藏诸如密码密钥之类的数据。关于密钥处理,为进行回放,媒体播放器必须从许可证(license)数据库取得解 密密钥。然后,它必须将此解密密钥存储在存储器中某处,以用于解密被加密的内容。这给 攻击者留下攻击密钥的两个选择。首先,对许可证数据库访问功能的反向工程可能导致黑 盒软件(即,攻击者不必理解软件功能的内部工作),允许攻击者从所有许可证数据库取得 资产密钥(asset key)。其次,通过观察在内容解密过程中对存储器的访问,可以取得该资 产密钥。在两种情况下,密钥都被视为被泄密。
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), 以 及 Stanley Chow、 Phil Eisen、 HaroldJohnson \)J,R Paul C. van Oorschot )^“A White-Box DESImplementation for DRM Applications" (Digital Rights Management :ACM CCS-9 Workshop, DRM 2002, Washington, DC, USA, November 18,2002)(下面,这两个出版物将统称为 “Chow”),公开了 这样的方法,其意图通过以下的组合来隐藏密钥利用表示构成(composition)而非各单 个步骤的随机双射来对其表进行编码,以及通过将密码边界进一步推到包含应用程序中来 扩展密码边界。Chow中所公开的技术使得能够在软件中执行密码操作而不将密码密钥暴露给能 够完全调试软件的人。在Chow的方法中,通过使用查询表而不是数学运算,来隐藏密码密 钥,结果,不必象那样存储数学运算的操作数。可以使用随机双射来将这些表编码,以进一 步使它们模糊。对一个表的编码可以通过对另一表的编码来撤消,或者也可以在程序中的 别处撤消。然而,并非所有的运算都容易通过查询表来表示。

发明内容
能够为较宽的范围的算法创建白盒实现是有利的。为更好地解决此问题,在本发 明的第一方面,呈现了用于使得设备能够计算具有底C和指数χ的求幂Cx的结果的方法, 该方法包括建立(102)该求幂的底C和该求幂的指数χ ;建立(104)多个值λi = 1,2,...,r,其中r是整数且r≥2 ;建立(106)满足ωi=cλi的多个值ω i = 1,2,···,r;建立(108)满足
权利要求
1.一种使得设备能够计算具有底C和指数χ的求幂Cx的结果的方法,所述方法包括 建立(10 所述求幂的底C和所述求幂的指数X ;建立(104)多个值X^i = 1,2,...,1~,其中1~是整数且1~彡2; 建立(106)满足螂=C"'的多个值Coi, i = 1,2,···,r ;r建立(108)满足X = Σ為钓的多个值i = 1,2,...,r ; >=ifPi,给所述设备提供(110)表示所述多个值Oi的信息;给所述设备提供(11 表示所述多个值识/的信息;通过所述设备计算(114) P = ‘。i=\
2.根据权利要求1所述的方法,其中,建立多个值Xi的步骤包括建立要用作指数χ的值的集合V,以及建立值的多个r (=1其中,建立所述多个值妁的步骤包括选择值钓,以使得灼e w-vi = 1,2,...,r; 其中,所述方法包括执行以下步骤建立所述多个值识ι·,给设备提供表示所述多个值识/ 的信息,以及,通过设备就多个不同的值χ e V进行计算的步骤。
3.根据权利要求2所述的方法,其中,Wi= {0,l},i = 1,2,···,!·。
4.根据权利要求1所述的方法,还包括建立密码的密钥,其中,所述密钥被所述设备用来执行密码操作;以及 根据所述密钥,建立底C。
5.根据权利要求1所述的方法,还包括选择要就不同的设备使用的不同的多个值λ i和/或不同的值r ; 就不同的设备,对于底C和指数χ使用相同的值,并使用不同的多个值λ i和/或不 同的值r,执行以下步骤建立所述多个值Qi,建立所述多个值炉,·,给所述设备提供表示所 述多个值Qi的信息,给所述设备提供表示所述多个值钓的信息,以及通过所述设备计算户的步骤。 i=l
6.一种用于计算具有底C和指数χ的求幂Cx的结果的设备Ο50),所述设备包括 用于存储多个值Qi的存储器,用于接收表示多个值灼的信息的输入端;用于计算P = ’的计算单元052); /=1其中,所述设备被布置用于使用P作为所述求幂Cx的结果。
7.根据权利要求6所述的设备,其中,所述输入端用于进一步接收表示所述多个值Coi 中的至少一部分的信息。
8.根据权利要求6所述的设备,还包括用于根据下列各项中的至少一个确定所述多个 值Qi中的至少一部分的装置设备的硬件标识符、生物特征度量、以及密码。
9.根据权利要求6所述的设备,还包括用于根据非对称密码执行密码操作的密码单元,其中,所述密码操作涉及所述求幂Cx,其中,所述用于执行所述密码操作的装置被布置 用于使用P作为所述求幂Cx的结果。
10.根据权利要求6所述的设备,其中,所述输入端被布置用于接收表示所述多个值 Wi中的至少一部分和/或所述多个值识/中的至少一部分的加密的信息,并且其中,所述设 备还包括密码单元,用于解密所述加密的信息,以分别获得所述多个值Qi中的至少一部分 和/或所述多个值识 中的至少一部分。
11.根据权利要求6所述的设备,其中,所述设备包括计算机、PDA、个人视频记录器、机 顶盒、或游戏控制台。
12.根据权利要求9所述的设备,还包括用于使用所述密码单元解密音频和/或视频内 容的装置。
13.一种使得设备能够计算具有底C和指数χ的求幂Cx的结果的系统000),所述系 统包括用于临时存储所述求幂的底C和所述求幂的指数χ的存储器;用于存储多个值Xi的存储器,i = 1,2,...,1~,其中1~是整数且1~彡2;用于建立满足螂=Ca'的多个值Coi的计算单元(202),i = 1,2,. . .,r ;用于建立满足^ = 腐的多个值ω.的计算单元004),i = l,2,...,r;以及 ,=1ψι输出端,用于给设备提供表示所述多个值Oi的信息和表示所述多个值灼的信息。
14.一种使得设备能够计算具有底C和指数χ的求幂Cx的结果的计算机程序产品,所 述计算机程序产品包括用于使机器执行下列步骤的指令建立(10 所述求幂的底C ;建立(104)多个值X^i = 1,2,...,1~,其中1~是整数且1~彡2;r建立(108)满足χ = 的多个值《 i = 1,2,...,r ; ,=1Ψ"给所述设备提供(11 表示所述多个值识i的信息。
15.一种使得设备能够计算具有底C和指数χ的求幂Cx的结果的计算机程序产品,所 述计算机程序产品包括用于使机器执行下列步骤的指令建立(10 所述求幂的指数χ;建立(104)多个值X^i = 1,2,...,1~,其中1~是整数且1~彡2;建立(106)满足ω, =C+的多个值 Coi, i = 1,2,···,r ;给所述设备提供(11 表示所述多个值Qi的信息。
16.一种用于计算具有底C和指数χ的求幂Cx的结果的计算机程序产品,所述计算机 程序产品包括用于使机器执行下列步骤的指令访问多个值Qi ;接收表示多个值钓的信息;计算(114) P = IiK ;以及 /=1使用P作为所述求幂Cx的结果。
全文摘要
一种使得设备能够计算具有底C和/或指数x的求幂Cx的结果的系统(200),该系统包括用于建立多个值λi的装置;用于建立满足的多个值ωi的装置(202),用于建立满足值的和等于x的多个值的装置(204);以及用于给设备提供所述多个值的输出端。设备(250)计算求幂Cx的结果。该设备包括用于计算值ωi的幂的乘积的装置(252)。该设备使用该乘积作为求幂Cx的结果。
文档编号G06F7/72GK102067080SQ200980114984
公开日2011年5月18日 申请日期2009年2月27日 优先权日2008年3月5日
发明者P·M·H·M·A·戈里森, W·P·A·J·米基尔斯 申请人:耶德托公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1