利用乘法指令泄漏攻击Cortex-M4栈优化Kyber实现

本文针对Cortex-M4平台的栈优化Kyber实现,通过分析乘法指令的周期级功耗泄漏,提出了基于线性回归的性能分析攻击方法,成功以超过95%的成功率恢复所有秘密系数。

MulLeak:利用乘法指令泄漏攻击Cortex-M4栈优化Kyber实现

摘要

作为NIST后量子密码标准化方案之一,CRYSTALS-Kyber的侧信道安全性近年来受到研究者的广泛关注。先前研究已探索了多个攻击目标,但由于缺乏内存访问操作导致攻击难度增加,针对Cortex-M4平台栈优化实现中秘密信息提取的研究仍然匮乏。

本文将关注点转向乘法指令的泄漏,并提出了一种新颖的基于周期级回归的泄漏模型用于后续攻击。我们针对Cortex-M4栈优化实现解密过程中的多项式乘法运算,提出了两种基于回归的性能分析攻击方法:利用已知密文和选择密文策略分别恢复秘密系数,后者还可扩展到受保护的实现。

我们在pqm4库的栈优化Kyber-768实现上进行了实际评估,证明了所提攻击方法的有效性。通过重点关注配对点乘运算(特别是宏doublebasemul_frombytes_asm)的泄漏,每次攻击仅需少量轨迹即可成功恢复所有秘密系数,成功率超过95%。这项研究揭示了后量子密码实现对抗侧信道攻击的潜在漏洞,为密码算法物理安全性的持续讨论提供了重要参考。

关键词:后量子密码学,Kyber,线性回归,性能分析攻击,周期级功耗泄漏

实施细节

研究针对Cortex-M4平台的栈优化实现,重点关注多项式乘法运算的解密过程。通过分析乘法指令的周期级功耗特征,建立了回归泄漏模型。攻击方法采用已知密文和选择密文两种策略,能够有效恢复秘密系数。

实验结果

在实际的Kyber-768栈优化实现测试中,通过分析配对点乘运算的泄漏模式,使用少量攻击轨迹即可实现超过95%的秘密系数恢复成功率。该方法对受保护的实现同样具有扩展性。

结论

本研究证明了即使在没有明显内存访问操作的栈优化实现中,乘法指令的周期级功耗泄漏仍可能构成严重安全威胁。研究成果为后量子密码实现的侧信道安全性评估提供了新的技术视角和方法支撑。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计