Skip to main content
QUICK REVIEW

[论文解读] Rosita: Towards Automatic Elimination of Power-Analysis Leakage in Ciphers

Madura A. Shelton, Niels Samwel|IACR Cryptology ePrint Archive|Dec 11, 2019
Cryptographic Implementations and Security被引用 10
一句话总结

Rosita 是一种自动代码重写引擎,利用增强型泄漏模拟器(Elmo*)检测并消除掩码密码实现中的功耗分析泄漏。它在几乎不增加性能开销的情况下,成功消除了 AES 和 Xoodoo 中的几乎所有泄漏,而在 ChaCha 中实现了超过 99% 的泄漏消除,性能损失为 64%,证明了其在保护嵌入式密码算法方面的实际适用性。

ABSTRACT

Since their introduction over two decades ago, side-channel attacks have presented a serious security threat. While many ciphers' implementations employ masking techniques to protect against such attacks, they often leak secret information due to unintended interactions in the hardware. We present Rosita, a code rewrite engine that uses a leakage emulator which we amend to correctly emulate the micro-architecture of a target system. We use Rosita to automatically protect masked implementations of AES, ChaCha, and Xoodoo. For AES and Xoodoo, we show the absence of observable leakage at 1,000,000 traces with less than 21% penalty to the performance. For ChaCha, which has significantly more leakage, Rosita eliminates over 99% of the leakage, at a performance cost of 64%.

研究动机与目标

  • 解决掩码密码实现中因非预期微架构交互导致的功耗分析泄漏这一关键挑战。
  • 自动化手动且易出错的掩码密码泄漏修复过程,减少对专家主导的试错依赖。
  • 开发一个集成泄漏模拟与自动代码重写功能的工具链,以符合 ISO/IEC 17825 等标准。
  • 通过在真实硬件上使用 AES、ChaCha 和 Xoodoo 的掩码实现,评估自动化泄漏缓解的有效性。
  • 证明自动化工具可显著降低实现嵌入式密码系统侧信道抗性所需的工作量。

提出的方法

  • Rosita 使用基于规则的代码重写引擎,在识别出的泄漏点应用变换以消除泄漏。
  • 它与 Elmo* 集成,Elmo* 是一种经过修改的泄漏模拟器,可建模微架构存储元件(如寄存器和锁存器),以检测来自操作数交互和值依赖性的泄漏。
  • Elmo* 已增强以检测非连续指令泄漏,并识别泄漏的根本原因,包括涉及的具体存储组件。
  • 系统通过在线统计分析模拟跟踪结果来检测泄漏,使用标准的侧信道测试方法(如 t 检验)。
  • 工作流迭代运行 Elmo* 以检测泄漏,应用 Rosita 的重写规则,并在真实硬件上验证修复后的代码。
  • 该方法针对一阶侧信道泄漏设计,适用于有序执行、无缓存的微控制器(如 Cortex-M0 和 AVR 处理器)。

实验结果

研究问题

  • RQ1泄漏模拟器是否不仅能用于检测,还能用于软件实现中侧信道泄漏的自动缓解?
  • RQ2自动化代码重写在多大程度上能够消除掩码密码中由微架构交互引起的泄漏?
  • RQ3Rosita 工具链在不同复杂度的密码设计中减少泄漏的效率如何?
  • RQ4自动化泄漏缓解引入的性能开销是多少,且在不同密码算法中如何变化?
  • RQ5增强模拟与基于规则的重写相结合,是否能够实现对 ISO/IEC 17825 等侧信道安全标准的合规?

主要发现

  • 在 1,000,000 次采样后,Rosita 在掩码 AES-128 和 Xoodoo 实现中成功消除了所有可观察到的泄漏,实现零剩余泄漏点。
  • 对于 ChaCha,Rosita 将泄漏点减少至原始 238 个中的 1 个,实现超过 99% 的泄漏缓解,性能损失为 64%。
  • 性能开销在 ChaCha 上最高,原因在于其复杂的轮函数和更高的掩码复杂度,但对实际部署而言仍可接受。
  • 该工具链在 AES 和 Xoodoo 上实现了与 ISO/IEC 17825 的完全合规,真实硬件上未检测到可利用的泄漏。
  • Elmo* 已成功扩展以建模非连续指令泄漏并识别根本原因,从而实现对重写规则的精准定位。
  • 结果表明,自动化泄漏缓解在资源受限的微控制器(常用于嵌入式系统)中是可行且有效的。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。