当前位置: 首页 > 专利查询>苹果公司专利>正文

用于不安全环境中的块密码处理的装置和方法制造方法及图纸

技术编号:8723465 阅读:182 留言:0更新日期:2013-05-22 18:00
提供通过使用诸如在例如具有在编译时已知或未知的密码密钥的“白盒”模型中实现的AES的块型密码增加诸如解密、加密或数字签名的密码算法的安全性的方法和装置。该方法可安全地用于受信任的环境中,特别是用于使密码密钥安全。这里,通过使得所有这些表具有相同尺寸并且不可区分,并进一步通过掩蔽这些表的输出值,针对攻击保护这种算法的查找表特性,一般地,这里,表实施置换功能或逻辑异或运算。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据安全和加密,更特别地,涉及提高计算机实现的密码处理和算法的安全性。
技术介绍
密码算法广泛用于消息的加密、鉴别、加密签名和识别。公知的DES (数据加密标准)已被长时间使用,并被Triple-DES更新,该Triple-DES已在许多应用中被AES (高级加密标准)替代。DES,Triple-DES和AES是示例性的对称块密码。块密码在通常为64或128位但有时更长的明码文和密码文的块上操作。流密码是其它主要类型的密码,并且,一次I位或字节(有时是一个词)地在明码文和密码文的流上操作。通过块密码,特定的明码文块将总是通过使用相同的密钥被加密成相同的密码文块。但是,与流密码相反,相同的明码文位或字节将在每次被加密时被加密到不同的位或字节。由此,在用于块密码的ECB (电子代码书)模式中,各明码文块被独立地加密。AES被美国政府批准为加密标准。与DES不同,它是替代置换网络。AES能够迅速地在计算机软件和硬件实现两者中执行、实现起来相对容易并且需要很少的存储器。AES具有128位的固定的块尺寸和为128、192或256位的密钥尺寸。由于128位的固定的块尺寸,因此AES在4X4阵列的字节上操作。它使用密钥扩展等,并且与大多数块密码类似,使用一组加密和解密轮次(迭代)。每轮次包含相同的处理。使用多个轮次能够提高安全性。这种类型的块密码在各轮次中使用替代盒或s盒。该操作在密码中提供非线性,并明显地提高安全性。注意,这些块密码是对称的密码,从而意味着,除了通常用于密钥调度的较小差异以外,对于加密和解密使用相同的算法和密钥。大多数现在的密码的典型的情况是,安全性取决于(秘密)密钥而不是算法。s盒或替代盒被引入DES中,并且接收η位输入并提供m位输出。m和η的值随密码改变。输入位以本领域公知的特定方式规定s盒中的条目。为了实现AES (具有128位的块和10轮次),在运算上包含以下运算:(I) 11个AddRoundKey 运算(I 个在 10 轮次之前);(2) 10 个 Sub-Byte 运算;(3) 10 个 ShiftRow 运算和(4) 9个Mix-Column运算。第I 9轮次中的每轮次包含运算(I) (4),这里,来自一个运算的输出被输入到下一运算,并且,来自运算(4)的输出被输入到运算(I )。轮次10包含运算(I) (3),这里,来自运算(3)的输出是使用的输出。如果攻击人员具有访问实现密码的系统的特权,那么AES的运算实现对于恢复密钥的攻击人员不能提供更多的安全性。许多加密算法主要与产生抵抗攻击人员的解码的加密数据有关,该攻击人员只能与仅作为“黑盒”(输入输出)模型的加密算法交互作用,并且,由于缺少系统访问等,不能看到算法或存储器内容的内部工作。黑盒模型适于受信任方对于编码和解码加密材料均控制计算系统的应用。但是,加密的许多应用不允许攻击人员不能访问算法的内部工作的假定。例如,力口密的数字媒体常常需要在完全由对手(攻击人员)控制的计算系统上被解密。存在许多可松弛黑盒模型的程度。极端的松弛被称为“白盒”模型。在白盒模型中,假定攻击人员完全能够访问执行加密的系统,包括能够直接看到存储器的状态和程序执行等。在这种模型中,可在存储器中看到或者从中提取加密密钥,因此,隐藏指示密钥的运算的方式是十分重要的。公开 “White-Box Cryptography in an AES implementation” Lecture Notesin Computer Science Vol.2595, Revised Papers from the 9th Annual InternationalWorkshop on Selected Areas in Cryptography pp.250-270 (2002) by Chow et al.公开了如下的AES的实现,即通过使用表格查找以掩盖在AES中执行的运算,从而掩盖查找表格内的密钥,并且掩盖另外可用于AES的运算实现的中间状态信息。Chow et al.(对于他的在计算机代码编译时间已知密钥的“白盒”实现)使用160个单独的表格以实现11个AddRoundKey运算和10个SubByte运算(10轮次,每轮次16个表,这里,每个表用于16字节长-128比特-AES块的I字节)。这160个表嵌入特定的AES密钥,使得来自包含这些表的查找的输出嵌入一般源自AES算法的AddRoundKey和SubByte运算的数据,除了该数据包含使得更加难以确定这些表的哪些部分代表从AES密钥导出的轮次密钥信息的输入/输出置换以外。Chow et al.使用1008个单独的表以实现9个MixColumn运算(在AES的第10轮次中不存在MixColumn运算)。一种类型的这些表实现一个字节与AES MixColumn多项式(按规范)的乘法,并且,另一类型实现MixColumn的逻辑XOR (异或)部分。各表在9个轮次中被使用一次。Chow et al.方案是更加聪明的,但已受到几次攻击。Chow et al.的给定块密码加密处理的白盒实现将块密码(以及其密钥)分解成一组表查找。然后通过使用置换功能掩蔽表查找。(这里使用的置换指的是以预定的方式改变数据字节或词中的位的次序的双射运算)。这一点在Chow et al.中被解释,并且,该方法可扩展到任何块密码。Olivier Billet et a 1.“Cryptanalysis of a White Box AESImplementation” in SAC2004, LNCS3357pp.227-240,2005 公开了最近和最有力的这些扩展。要进行攻击必需处理的基本运算的细节。这意味着攻击人员必须区分一组运算以提取每轮次的运算、MixColumn运算等。
技术实现思路
意图是阻止这种攻击的本方法及其相关的装置包括构建AES (或包含任何块密码算法的其它加密算法)实现作为各自不可相互区分并被掩蔽的一组基本表运算。由此,攻击人员迷失于或者受困于体现密码的计算机代码(对于被动攻击)和/或计算机代码执行路径(对于主动攻击)。也可在被设计为实施密码处理的硬件(基于电路)装置中实现该方法。以上提到的Billet等攻击是分解成一组基本问题以逐步获得关于被用于隐藏密码运算和密钥的掩蔽的信息的处理。当掩蔽已知时,则很容易恢复密码密钥本身。只要攻击人员能够将构成AES算法的轮次的表重新分组,Billet等攻击使得攻击人员能够恢复输出变换的非线性部分。例如,Billet等表示如何从Billet等恢复在诸如图1所示的MixColumn “盒”10中使用的函数Q的非线性部分,并且表示四个输入字节和四个输出字节之间的盒10中的四个映射中的一个。输入字节是X(!、X1^ X2和X3,输出字节是1q、 每个这种盒由具有各输出置换Q的四个8位到8位置换构成。因此,在第一阶段中,为了能够计算包含于一个AES轮次中的表,恢复在存储器中出现的表中的每一个的角色,以构建一个轮次的运算的以下组合。本密码处理的目的是使得该任务更难。事实上,在AES的当前已知的版本中,一些表比其它的表大,并且,一些运算不是“白盒”。图1中的MixColumn表具有本文档来自技高网
...

【技术保护点】
一种方法,包括以下动作:接收输入数据;在第一计算机可读存储器中存储接收的数据;在处理器中向存储的数据应用块密码处理,该处理器完成以下操作:向数据应用各自包含相同尺寸的查找表的多个置换运算;应用各自包含尺寸与置换查找表相同的查找表并进一步具有掩蔽的输出的多个异或运算,和在第二计算机可读存储器中存储从块密码处理得到的数据。

【技术特征摘要】
【国外来华专利技术】2010.08.20 US 12/806,7681.一种方法,包括以下动作: 接收输入数据; 在第一计算机可读存储器中存储接收的数据; 在处理器中向存储的数据应用块密码处理,该处理器完成以下操作: 向数据应用各自包含相同尺寸的查找表的多个置换运算; 应用各自包含尺寸与置换查找表相同的查找表并进一步具有掩蔽的输出的多个异或运算,和 在第二计算机可读存储器中存储从块密码处理得到的数据。2.根据权利要求1的方法,其中,各查找表接收一个数据字节作为输入并且输出数据字节的一半。3.根据权利要求1的方法,其中,各查找表的尺寸为8位输入和4位输出。4.根据权利要求3的方法,其中,各查找表的尺寸为16位输入和8位输出。5.根据权利要求1的方法,其中,各查找表的尺寸为32位输入和16位输出。6.根据权利要求1的方法,其中,块密码处理符合高级加密标准。7.根据权利要求1的方法,其中,处理掩盖包含密码处理的密钥的数据。8.根据权利要求1的方法,其中,密码处理是加密、解密或计算数字签名中的一种。9.根据权利要求1的方法,其中,向异或运算查找表的输入也被掩蔽。10.根据权利要求1的方法,其中,置换和异或运算各自在逐位的基础上被执行。11.根据权利要求1的方法,还包括以下动作: 对于异或运算查找表中的至少一个提供相应的孪生查找表; 提供多个轮次的密码处理;和 在轮次中的至少一个中使用孪生查找表。12.根据权利要求11的方法,其中,包含孪生查找表的特定的轮次包含比其它轮次多的运算。13.根据权利要求11的方法,其中,对于数据的各字节,轮次的长度不同。14.根据权利要求1的方法,其中,对于各异或查找表,数据通过置换被掩蔽。15.根据权利要求14的方法,其中,数据通过作为第一置换和异或运算的计算的第二置换被掩蔽。16.根据权利要求14的方法,其中,置换包含两个4要素X4要素置换。17.根据权利要求14的方法,其中,置换包含8要素X8要素置换。18.根据权利要求1的方法,其中,用于密码处理的密钥在处理的运行时是已知的。19.根据权利要求1的方法,其中,密码处理的密钥在处理的代码编译时间是已知的。20.一种非暂时性计算机可读介质,其存储用于执行权利要求1的方法的计算...

【专利技术属性】
技术研发人员:A·J·法鲁戈雅T·艾卡特M·赛特
申请(专利权)人:苹果公司
类型:发明
国别省市:美国;US

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

1