[论文解读] An End-to-End Analysis of EMFI on Bit-sliced Post-Quantum Implementations
本文提出一种针对 Dilithium 中数论变换(NTT)的位切片冗余设计,以检测电磁故障注入(EMFI)攻击。通过将每位视为具有指令内冗余的并行数据通路,该方法在 EMFI 过程中检测到 81.3% 的潜在可利用故障,显著降低了成功故障注入的可能性,即使控制流未受保护。
Bit-slicing is a software implementation technique that treats an N-bit processor datapath as N parallel single-bit datapaths. The natural spatial redundancy of bit-sliced software can be used to build countermeasures against implementation attacks. While the merits of bit-slicing for side-channel countermeasures have been studied before, their application for protection of post-quantum algorithms against fault injection is still unexplored. We present an end-to-end analysis of the efficacy of bit-slicing to detect and thwart electromagnetic fault injection (EMFI) attacks on post-quantum cryptography (PQC). We study Dilithium, a digital signature finalist of the NIST PQC competition. We present a bit-slice-redundant design for the Number-Theoretic Transform (NTT), the most complex and compute-intensive component in Dilithium. We show a data-redundant countermeasure for NTT which offers two concurrent bits for every single bit in the original implementation. We then implement a full Dilithium signature sequence on a 667 MHz ARM Cortex-A9 processor integrated in a Xilinx Zynq SoC. We perform a detailed EM fault-injection parameter search to optimize the location, intensity and timing of injected EM pulses. We demonstrate that, under optimized fault injection parameters, about 10% of the injected faults become potentially exploitable. However, the bit-sliced NTT design is able to catch the majority of these potentially exploitable faults, even when the remainder of the Dilithium algorithm as well as the control flow is left unprotected. To our knowledge, this is the first demonstration of a bitslice-redundant design of Dilithium that offers distributed fault detection throughout the execution of the algorithm.
研究动机与目标
- 解决后量子格密码学,特别是 Dilithium,对电磁故障注入(EMFI)攻击的脆弱性。
- 探索位切片作为一种新型基于软件的对策,为密码实现中的故障检测提供空间冗余。
- 评估位切片冗余 NTT 在 ARM Cortex-A9 上真实故障注入实验中检测 EMFI 故障的有效性。
- 量化位切片设计检测到的可利用故障比例,特别是在控制流未受保护的情况下。
提出的方法
- 设计一种位切片冗余的数论变换(NTT)实现,作为 Dilithium 中最计算密集的组件,利用指令内冗余(IIR)实现每个原始位的两个并发位。
- 在 667 MHz 的 ARM Cortex-A9 处理器上,于 Xilinx Zynq SoC 内实现完整的 Dilithium 签名生成序列。
- 对脉冲延迟(0–5M ns)、脉冲功率(80–90%)和固定探针位置进行端到端的 EMFI 参数扫描,以识别故障注入热点。
- 将故障结果分类为:无影响、崩溃、未检测到的故障和检测到的故障,并进一步划分为潜在可利用和不可利用的故障。
- 分析故障响应模式,将可利用故障位置与易崩溃区域及可检测故障簇相关联。
- 使用统计分析估算影响数据路径与控制流或内存的可利用故障所占比例。
实验结果
研究问题
- RQ1在 Dilithium 的 NTT 组件中,位切片结合指令内冗余在多大程度上减少了可检测的 EMFI 故障数量?
- RQ2ARM Cortex-A9 上 EMFI 最脆弱的区域在哪里?故障注入参数(延迟和功率)如何影响可利用性?
- RQ3位切片 NTT 设计捕获了多少比例的潜在可利用故障?与未受保护的实现相比如何?
- RQ4可利用故障的分布与易崩溃区域及可检测故障簇之间有何关联?
- RQ5是否存在一种数据冗余的位切片设计,能够有效保护 Dilithium 中计算最密集的部分,而无需时间冗余?
主要发现
- 在实验 2 中,位切片 NTT 设计检测到 127 个潜在可利用故障中的 81 个(63.77%),显示出强大的故障检测能力。
- 在实验 3 中,潜在可利用故障数量增加至 382 个,其中 236 个被检测到,表明对数据路径故障的检测率达到 61.7%。
- 观察到高崩溃概率区域与潜在可利用故障发生区域之间存在高度相关性,表明存在稳定的故障注入热点。
- 该方法成功检测到 NTT 组件中所有潜在可利用故障的 81.3%,尽管未采用时间冗余,但显著降低了有效攻击面。
- 研究结果证实,位切片结合指令内冗余在后量子实现中对检测数据路径故障有效,即使控制流未受保护。
- 结果表明,所提出的对策通过将故障检测集中在最关键计算组件中,显著降低了成功故障注入攻击的概率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。