目录
- 摘要
- 引言
- 针对组合攻击的对策
- 相关工作
Combined Private Circuits - Combined Security Refurbished.
CCS 2023
摘要
物理攻击是众所周知的对加密实现的威胁。虽然针对被动侧通道分析(SCA)和主动故障注入分析(FIA)的对策是单独存在的,但保护它们的组合仍然是一个重大挑战。最近,CCS 2022以CINI-MINIS的名义发布了一项旨在实现联合安全的尝试。作者介绍了相关的安全概念,并旨在构建任意顺序的小工具,这些小工具在有联合对手的情况下仍然可以轻松组合。然而,我们表明,由于压缩中缺乏纠错模块,任何顺序的所有CINI-MINIS小工具都容易受到破坏性攻击,只有一个故障和探测。我们解释了攻击的细节,指出了结构中的潜在问题,提出了额外的设计原则,并为任意顺序提供了新的(固定的)可证明安全和可组合的小工具。幸运的是,压缩阶段的变化有助于我们将校正模块和寄存器保存到其他地方,使最终的组合专用电路(CPC)比原始电路更安全、更高效。我们还解释了为什么相关的正式验证工具VERICA(TCHES 2022)遗漏了发现的缺陷,并提出了消除其盲点的修复方案。最后,我们探索了修复压缩阶段的替代途径,而无需基于非完整性进行额外的校正,即构建一个从不重组任何秘密的压缩。然而,尽管这种方法可能对低阶小工具有好处,但目前很难推广,而且难以向更高阶扩展。我们的结论是,我们翻新的任意订单CINI小工具为进一步研究提供了坚实的基础。
引言
关于密码原语的标准黑匣子假设在实践中往往无法成立,因为对手可以通过观察或操纵其物理特性来提取关于密码设备的内部计算的信息。一方面,被动对手利用了这样一个事实,即设备的物理效应,如定时[26]、功耗[27]或电磁(EM)辐射[20]与正在处理的数据相关。另一方面,主动对手故意干扰设备的操作条件(例如,通过时钟/电压毛刺[4,42]或EM/激光脉冲[31,41]),以产生计算故障,并通过故障系统行为提取信息[8,9]。
多年来,已经提出了几种对策来对抗这种被动侧通道分析(SCA)和主动故障注入分析(FIA)。对于SCA,引入了掩蔽[13],它提供了可量化的安全保证。掩蔽背后的主要思想是将每个变量划分为多个独立的随机份额(参见第3.1.4节),这样对手就必须执行具有份额数量指数数据复杂性的高阶/多变量统计分析,以恢复实际中间值(在噪声和独立性的一些假设下[16,17])。一种经过充分研究的规避FIA的策略是在空间、时间或信息中加入计算冗余[24],以检测/纠正发生的故障(参见第3.2.4节)。除了攻击和对策外,研究界还开发了理论模型来正式讨论安全性。SCA的形式模型考虑在没有噪声或有噪声的情况下访问内部值[16,23,32]。同样,FIA是通过允许电路操作的有限能力来建模的[22,35]。
针对组合攻击的对策
虽然SCA和FIA在理论和实践上都得到了很好的分离探索,但针对能够同时安装SCA和FIA̧的攻击者的安全性是一个新的研究领域。事实上,直到最近才表明,这种组合分析(CA)在实践中是可行的,即使使用低端注射和测量装置[2,14,36,37,39,40]。此外,无论是在理论模型[15,34]中还是在实际实施中[36,37,40]中,针对SCA和FIA的对抗措施的纯粹组合都不足以预防CA。因此,需要在具有可证明和形式可验证的安全声明的CA的背景下采取对策。
相关工作
只有少数工作解决了构建联合对策的问题。这方面的初步努力是基于多方计算(MPC)的原则[29,33]。然而,在这种基于MPC的方案中证明安全性是非常复杂的。最近,SCA研究界专注于设计小型、安全的小工具,即专用于某些特定功能的小型子电路,即使与更大的电路(组成)相结合,也可以证明其安全性[6]。简而言之,这种可组合性概念通过隔离和重新随机化来限制泄漏在不同小工具之间的传播。这方面最早的概念是无干扰(NI)[5]和强无干扰(SNI)[6]。后来,探针隔离无干扰(PINI)[12]被认为是通过隔离所谓的共享域来实现组合的一种优雅方式(参见第3.1.5节)。总的来说,基于小工具的可组合结构是构建抵御物理攻击的安全实现的一种方便方式。
与NI和SNI类似,FIA和CA也提出了可组合性概念[15,19,34]。对于CA,组合的概念有两种:(i)基于SCA的安全顺序(即对手可以进行的观察次数)取决于注入的故障数量,(ii)SCA和FIA中的安全保证相互独立。这方面的最新工作是组合隔离无干扰(CINI)[19],其中PINI中共享域隔离的概念被扩展到CA的上下文中。更准确地说,引入了共享冗余域(SRD)的概念,即共享和冗余的交集。然后,探针的泄漏在共享域内被隔离,而故障的泄漏在SRD内被隔离(参见第3.3.4节)。作者还对CA的验证工具VERICA[34]进行了调整,以支持这种可组合性概念,用于小型设备的自动验证。最后,作者提出了几种小工具构造(CINI-MINIS),据我们所知,这些构造是迄今为止唯一一种基于布尔掩码和冗余的CA硬件小工具没有表现出不安全。在这项工作中,我们证明了这些结构也需要改进,因为它们缺少一个关键的设计原则。
贡献:在这项工作中,我们首先将探测和故障传播的既定概念扩展到组合环境中的传播框架中(第3.3.3节)。在此基础上,我们表明Feldtkeller等人提出的小工具[19]在组合时容易受到简单而有效的组合攻击(第4节)。更准确地说,对手可以观察到与秘密相关的故障传播,只需一个探测器和故障就可以破坏安全性。更糟糕的是,VERICA在验证CINI时没有检测到此攻击。这一事实凸显了CA设计的复杂性。为了解决这种复杂性,设计指南和原则是必不可少的组成部分。考虑到我们的攻击,我们确定了确切的漏洞,并扩展了构建CINI小工具的设计原则,最终有助于对CA安全构建的一般理解。引入的原理指导了两种新的可证明安全的CINI小工具(称为组合专用电路(CPC))的构建和对VERICA的修复(第5节)。第一个小工具在部分乘积的计算和压缩之间添加了额外的校正模块,然而,它使我们能够在其他位置保存一些校正和寄存器(第6节)。总的来说,这在修复安全性的同时带来了面积方面的净效益。此外,我们还探讨了基于阈值实现(TI)[30](第7节)中的非完整性属性的小工具。虽然这种方法可能对低阶小工具有好处,但目前很难推广,而且很难扩展到更高阶。对于我们所有的小工具,我们评估性能并提供基于工具的验证(第8节)。