论文标题
emfi的端到端分析,对位量子后实现
An End-to-End Analysis of EMFI on Bit-sliced Post-Quantum Implementations
论文作者
论文摘要
位切片是一种软件实现技术,将n位处理器数据处理视为n并行单位数据索。位小软件的自然空间冗余可用于建立反对实施攻击的对策。虽然以前已经对侧通道对策进行了比较的优点,但仍未探索它们保护后量词后算法免受断层注射的申请。我们介绍了对位于量化后密码学(PQC)检测和阻止电磁断层注射(EMFI)攻击的效果的端到端分析。我们研究NIST PQC竞赛的数字签名决赛选手Dilithium。我们为数字理论变换(NTT)提供了一个位杂物的设计,这是Dilithium中最复杂,最密集的组件。我们显示了NTT的数据冗余对策,该量为原始实现中的每个位提供了两个并发位。然后,我们在集成在Xilinx Zynq Soc中的667 MHz ARM Cortex-A9处理器上实现了完整的宽岩签名序列。我们执行详细的EM故障注射参数搜索,以优化注射EM脉冲的位置,强度和时机。我们证明,在优化的断层注入参数下,大约10%的注射断层可能会被利用。但是,即使在二锂算法的其余部分以及对照流程不受保护的情况下,位固定的NTT设计也能够捕获这些潜在可剥削的故障的大多数。据我们所知,这是二硫思原的比特利斯冗余设计的首次演示,该设计在整个算法执行过程中提供了分布式故障检测。
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.