The present invention relates to a method for countering second-order and higher-order DCA attacks. The second-order and higher-order DCA attacks are applied to the implementation of encoding-based tables (TCabi, j) for block ciphers of cryptographic algorithms. The block ciphers of the cryptographic algorithms are applied to messages (m). The method includes the following steps: (1) The block ciphers of cryptographic algorithms to be applied to messages (m) are converted into a series of lookups. Tables (Tabi, j), Secret reversible encoding is applied to obtain a series of lookup tables (TCi, j), calculation of message-dependent masking values, including: calculation of at least two masking values (mmask1, mmask2) for input to table networks based on at least two different message export functions (F1, F2), use of computed message-dependent masking values (mmask1, mmask2) to re-randomize the tables (TCi, j) Network computing based on randomized tables (TCi, j) is applied to message (m) recycling.
【技术实现步骤摘要】
【国外来华专利技术】对抗对基于表的实现的2阶和更高阶DCA攻击的方法
本专利技术涉及一种用于对抗对分组密码的基于编码的表的实现应用的2阶和更高阶DCA攻击的方法。更具体地,本专利技术涉及在“白盒”术语下已知的加密分组密码(如DES和AES)的软件实现。本专利技术还涉及实现所述方法的设备。
技术介绍
白盒实现背后的构思是将密钥嵌入加密操作的实现中,使得攻击者难以提取关于该密钥的信息。白盒密码术的学术研究始于2002年在Chow、Eisen、Johnson和vanOorschot的开创性工作中。他们提出了一些通用技术,这些通用技术可用于帮助创建抵抗密钥提取的加密实现。他们应用这些技术来产生分组密码AES和DES的示例实现。目前,所有学术白盒技术在理论上都已被使用密码分析技术打破。然而,市场上可获得基于白盒密码术的商业解决方案。差分计算分析(DCA)是最近为评估白盒实现的安全性而引入的攻击。它是差分功率分析(DPA)攻击的软件对应物。与针对DPA所做的工作类似,攻击者必须在执行加密实现期间收集软件痕迹。DCA论文的作者开发了插件用于产生软件执行痕迹,软件执行痕迹包含有关正被访问的存储器地址的信息。通过使用这些痕迹,作者展示了DCA如何能够从所有公开可获得的实现标准化密码术的白盒程序(包括非商业化白盒程序)中提取密钥。该攻击既不需要关于查找表使用的知识,也不需要显著的逆向工程努力。阻止一阶DPA的通常建议的方式是随机掩蔽,随机掩蔽可以应用于对抗DCA攻击。智能卡情境和白盒情境之间的重要差别是,虽然智能卡通常提供可靠的熵源,但在白盒环境中并非如此。然后,随机掩蔽对抗措施必须适应于白盒环 ...
【技术保护点】
1.用于对抗2阶和更高阶DCA攻击的方法,所述2阶和更高阶DCA攻击应用于加密算法的分组密码的基于编码的表(TCi,j)的实现,所述加密算法的分组密码要应用于消息(m),所述方法包括以下步骤:‑ 将要应用于消息(m)的加密算法分组密码转换为一系列查找表(Tabi,j),‑ 应用秘密可逆编码以得到一系列查找表(TCi,j),‑ 计算依赖于消息的掩蔽值,包括:基于至少两个不同的消息导出函数(F1,F2)计算针对表网络的输入的至少两份掩蔽值 (mmask1,mmask2),‑ 使用计算的依赖于消息的掩蔽值(mmask1,mmask2)重新随机化所述表(TCi,j),‑ 基于随机化的表(TCi,j)的网络计算要应用于消息(m)的轮回。
【技术特征摘要】
【国外来华专利技术】2016.09.27 EP 16306234.21.用于对抗2阶和更高阶DCA攻击的方法,所述2阶和更高阶DCA攻击应用于加密算法的分组密码的基于编码的表(TCi,j)的实现,所述加密算法的分组密码要应用于消息(m),所述方法包括以下步骤:-将要应用于消息(m)的加密算法分组密码转换为一系列查找表(Tabi,j),-应用秘密可逆编码以得到一系列查找表(TCi,j),-计算依赖于消息的掩蔽值,包括:基于至少两个不同的消息导出函数(F1,F2)计算针对表网络的输入的至少两份掩蔽值(mmask1,mmask2),-使用计算的依赖于消息的掩蔽值(mmask1,mmask2)重新随机化所述表(TCi,j),-基于随机化的表(TCi,j)的网络计算要应用于消息(m)的轮回。2.根据权利要求1所述的方法,其中,针对所述表(TCi,j)网络的输入的至少两份掩蔽值(mmask1,mmask2)的计算还基于使用混淆技术在代码中混淆的至少两个秘密恒定值(emask1,emask2)。3.根据权利要求2所述的方法,其中,所述至少两份掩蔽值(mmask1,mmask2)如下那样获得,其中n是取决于所涉及的加密算法分组密码的整数:h1=F1(m)(或者h1=F1(M))h2=F2(m)(或者h2=F2(M))。4.根据权利要求3所述的方法,其中,所述加密算法分组密码是DES算法的一部分,n=96。5.根据权利要求3所述的方法,其中,所述加密算法分组密码是AES算法的一部分,n=128。6.根据权利要求2至5之一所述的方法,其中,随机秘密函数(G)还用于导出所有掩蔽值,所述随机秘密函数被应用于几层表。7.根据权利要求6所述的方法,其中,所述随机秘密函数(G)累积地应用于连续层的表。8.根据权利要求7所述的方法,其中,所述随机秘密函数(G)的累积应用如下,i是所述层中的表的索引,对于第一层的表(T),计算:对于所有X,并且对于所有x,。9.根据权利要求7所述的方法,其中,所述随机秘密函数(G)的累积应用如下,i是所述层中的表的索引:对于第一层的表,对于所有x,计算:。10.根据权利要求8或9之一所述的方法,其中随机秘密函数(G)的累积应...
【专利技术属性】
技术研发人员:A古热,
申请(专利权)人:格马尔托股份有限公司,
类型:发明
国别省市:法国,FR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。