混淆轮边界的白盒密码系统和方法技术方案

技术编号:12403119 阅读:125 留言:0更新日期:2015-11-28 17:33
本发明专利技术涉及一种用于执行诸如AES等分组密码算法的白盒密码系统,以及一种增加白盒密码安全性的方法。在给定密钥的情况下,利用共同执行密码操作的多个查找表的网络来完成加密或解密;该查找表网络可被划分为串行执行的若干结构相似的查找表组,这些查找表组中,有的与密钥相关,有的与密钥无关,查找表组的总数量是随机的;通过添加随机数量的混淆查找表组,增加攻击者确定白盒实现中每一轮界限的难度。面对该查找表网络,攻击者难以确定原分组密码的轮边界,这使得利用单轮的输入输出进行攻击的方法变得困难。

【技术实现步骤摘要】

本专利技术属于信息
,涉及一种在给定密钥的情况下,利用共同执行密码操 作的多个查找表网络,来进行加密或解密的白盒密码系统。本专利技术还涉及一种增加白盒密 码安全性的方法。
技术介绍
随着信息技术的发展,越来越多的消费电子产品(CE)被设计为直接访问互联网 (或者以PC平台为代理间接访问互联网),以便随时随地获取通过互联网分发的数字内容。 这些CE产品包括但不限于数字机顶盒、IPTV、PC以及日益增多的手持装置,例如移动电话、 平板电脑。安装在这些CE产品中的软件应用可以对数字内容进行解析、播放等操作。由于 互联网的不安全性以及CE产品的系统平台越来越开放,如何经过恶意网络把数字内容传 送给合法用户,并能够且仅能够由合法用户进行正确解析和播放等操作,是内容提供商面 临的极大挑战。 通常,数字权利管理系统使用一系列加密/解密步骤来处理数字内容,控制数字 内容向合法用户分发,对内容提供商的利益提供保护。在分发前,通过DES(数据加密标 准)、AES(高级加密标准)等加密算法,数字内容被加密。为了正确操作通过互联网获取的 数字内容,CE产品中安装的软件应用必须从许可证数据库获得解密密钥,并放置在存储器 中,以便用来对内容进行解密。如果这个解密密钥被泄露,数字内容就会比较容易地在互联 网上肆意传播。 攻击者可以通过动态和静态的两种方法攻击CE产品中的解密密钥:1.观察软件 应用在解密过程中对存储器的访问,可以获得解密密钥;2.利用逆向工程的方法攻击包含 解密密钥的软件模块,从代码中分析出解密密钥。这两种攻击都要求攻击者对操作环境拥 有某种形式的控制,除了分析解密模块的输入/输出以外,还能够深入模块的内部进行分 析。这样的攻击被称为白盒攻击。随着技术手段的进步,白盒攻击越来越常见。 白盒密码是为了抵抗白盒攻击而提出的一项技术。目前的研究集中在密码算法的 白盒实现,即把密码算法的某些或全部操作用模糊技术加以隐藏,尤其是隐藏与密钥有关 的操作。攻击者难于提取被隐藏在解密模块整体中的密钥。目前,用于创建白盒实现的常 用技术是将密码算法的操作用包含密钥的查找表网络实现,用随机双射对查找表进行编码 保护,并通过把密码边界推到包含解密模块的应用中来进一步保护密钥。 在 9th Annual Workshop on Selected Areas in Cryptography(SAC 2002,St. John' s,Newfoundland,Canada, August 15-16,2002)中由 Stanley Chow,Phi I Eisen, Harold Johnson 以及 Paul C. Van Oorschot 所著的"White-box Cryptography and an AES Implementation"(以下称为" Chow 1")和在 ACM CCS_9Workshop on Digital Rights Management(DRM 2002,Washington, DC, USA, November 18,2002)中由 Stanley Chow, Phil Eisen, Harold Johnson 以及 Paul C. Van Oorschot 所著的" A White-box DES Implementation for DRM Applications"(以下称为"Chow 2")公开了:创建密码算法的 白盒实现的方法,并详述了 AES和DES的白盒实现。Chow的方法适用于其他基于代换和线 性变换的密码算法的白盒实现。 在 15th Annual Workshop on Selected Areas in Cryptography (SAC 2008,Sackville,New Brunswick,Canada,2008)中由 W. Michiels,P.Gorissen 以 及 H. D. L. Hollmann 所著的''Cryptanalysis of a Generic Class of White-Box Implementations"(以下称为"Michiels 1")指出了 Chow的创建密码算法的白盒实现的 方法的一个弱点,即白盒实现中每一轮的线性扩散操作是难以用非线性编码隐藏的。该弱 点可被攻击者利用来获得隐藏在白盒实现中的密钥。细节请参考"Michiels 1"。 除了"Michiels 1"这种针对一类白盒实现的攻击方法外,还有一些针对具体某 种密码算法的白盒实现的攻击,例如:针对" Chow 1"中的白盒AES的BGE攻击。我们注意 到,这些攻击都是在已知白盒实现中每一轮的界限的前提下,利用每一轮的输入和输出进 行的。
技术实现思路
本专利技术涉及的白盒密码系统对上述Chow的创建密码算法的白盒实现的方法进行 改进,将查找表网络划分为结构相似的查找表组,并添加随机数量的混淆查找表组,增加攻 击者确定白盒实现中每一轮界限的难度。 本专利技术采用的技术方案如下: -种白盒密码系统,用于在给定密钥的情况下执行将输入消息映射到输出消息的 密码操作,所述系统包括:由若干结构相似的查找表组构成的查找表网络,其中至少一个查 找表组是随机添加的,用来混淆原分组密码的轮边界。 进一步地,所述查找表网络被划分为串行执行的若干结构相似的查找表组,并且 查找表组的总数量是随机的。 进一步地,随机添加的用于混淆轮边界的查找表组的数量被设置为安全参数,根 据该安全参数控制白盒实现的规模和复杂程度。 -种增加白盒密码安全性的方法,用于在给定密钥的情况下执行将输入消息映射 到输出消息的密码操作,所述方法包括:在给定密钥的情况下,生成由若干结构相似的查找 表组构成的查找表网络,用随机增加查找表组的方法进行轮边界混淆,利用查找表组完成 密码算法。 与现有技术相比,本专利技术的有益效果如下: 1.本专利技术提供了一种保护密码算法白盒实现中查找表的机制,特点是如图12所 示的白盒密码系统,其中查找表网络由结构相似并且数量随机的查找表组构成,系统对每 一个查找表组的操作指令都完全相同。这样的机制使得白盒实现中隐藏了密钥的查找表网 络更加整体化,攻击者难于利用部分查找表来提取密钥信息。 2.经过对查找表组的适当调整,本专利技术可应用于常见的基于代换和线性变换的密 码算法的白盒实现中,例如AES、DES和Serpent。与Chow的白盒实现方法相比,本专利技术不 但增加了攻击者提取密钥信息的难度,还提供了一种按照安全参数建立查找表网络总体长 度和系统复杂程度可控的白盒应用的方法。本专利技术设计的白盒密码系统可实现为硬件,例 如计算机芯片、PLC、PLD/FPGA,也可以实现为在通用计算机芯片上运行的软件。 3.目前公布的白盒密码都是针对已有密码算法的白盒实现,本专利技术的方法也可以 用在初始设计就考虑在白盒攻击环境中运行的白盒密码上。【附图说明】 图1示出了 AES中一轮的操作; 图2示出了将查找表用编码进行混淆的例子; 图3示出了混淆轮边界的白盒AES中一轮的查找表网络; 图4示出了 Type Ia查找表的结构; 图5示出了 Type IV查找表的结构; 图6示出了 Type Ib查找表的结构; 图7示本文档来自技高网
...

【技术保护点】
一种白盒密码系统,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,其特征在于,所述系统包括:由若干结构相似的查找表组构成的查找表网络,其中至少一个查找表组是随机添加的,用来混淆原分组密码的轮边界。

【技术特征摘要】

【专利技术属性】
技术研发人员:武传坤许涛
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1