单次电磁故障注入攻击及对策

肖平安

652901198201164015

摘要: 摘要:本文提出了一种针对不平衡油醋签名方案UOV的故障注入攻击,能够通过一次故障执行就能恢复秘密的结构信息。通过在签名生成过程中应用故障注入来破坏醋和油成分的混合,可以直接从错误签名中恢复秘密密钥。实验表明,单次攻击执行的成功率超过 85%,能有效降...
关键词:

单故障攻击,UOV

  • DOI:

    10.13738/j.cnki.acc.qklw60536

  • 专辑:

    科学Ⅰ辑;信息科技

  • 专题:

    信息、科学;综合科技

  • 分类号:

    G90;N92

摘要:本文提出了一种针对不平衡油醋签名方案UOV的故障注入攻击,能够通过一次故障执行就能恢复秘密的结构信息。通过在签名生成过程中应用故障注入来破坏醋和油成分的混合,可以直接从错误签名中恢复秘密密钥。实验表明,单次攻击执行的成功率超过 85%,能有效降低成本。还探讨针对此类物理攻击保护基于UOV的方案的可能对策。

关键词:单故障攻击,UOV

1.简介

虽然后量子密码学已达到实用成熟阶段。但对于不同密钥大小、签名长度和计算效率权衡的替代方案,标准化工作仍在继续。由于其紧凑的签名和快速验证特性,多元签名方案的特性正是明确寻求的,但因遭受强大攻击而被淘汰[1]。这一攻击重新激发了对不平衡油醋(UOV)方案的关注[2]。尽管优化提高了效率,但也引入了UOV所避免的漏洞。UOV 更简单的结构在二十多年里经受住了各种攻击。由于这些方案MAYO[3]、QR-UOV[4]、SNOVA[5]和UOV[6]将部署在嵌入式和受限平台上,对基于UOV的签名的物理安全性给予极大重视,以确保在实际环境中能够抵御侧信道和故障攻击。

UOV签名方案[6]属于多元方案家族,其安全性依赖于在有限域上求解非线性多项式方程组的计算难度。侧信道攻击(尤其是故障注入攻击)能够破坏后量子方案的实现,这凸显了理论抗攻击能力与实际部署中的安全性之间存在的持续差距。重点研究了[7,8,9, 10],考虑了不同的攻击模型和故障场景,并分析在签名过程中产生的干扰如何导致机密信息的泄露。

研究了UOV签名方案中的一种故障注入攻击,在签名过程中对内部变量的干扰会产生额外的代数关系。该攻击无需任何正确的参考签名即可恢复秘密油子空间,且所注入的故障并非指令跳过或循环中止故障。实现了对UOV的跳加法攻击[11],攻击分为两个阶段进行。首先,在签名生成过程中注入的单个故障能够恢复一个油空间向量。其次,根据[11]的方法,调整以恢复第二个油空间向量。与[12]不同,后者在简化参数集上评估攻击,攻击直接适用于UOV参数集。对于UOV,这两个向量足以通过仅基于求解线性方程组的高效协调技术重建整个油空间,相当于完整的密钥。

2.不平衡油醋方案(UOV)

单次电磁故障注入攻击及对策(图1)

单次电磁故障注入攻击及对策(图2)

3.单故障跳加线性攻击

单次电磁故障注入攻击及对策(图3)

单次电磁故障注入攻击及对策(图4)

4.实验结果

结果表明,UOV 签名生成的执行时间就是确定的。通过在调用之前放置特定触发器,确定一个有效的偏移量窗口(353,547,355 - 353,547,325 纳秒)。在偏移量为 35,3,547,390 纳秒时,攻击在 400 次故障注入中成功率达到超过85%。故障结果分布如表 1。

表1 400 起攻击的故障类型分布情况

故障类型

次数

百分比

无故障

0

0%

未响应目标

1

3.8%

无效签名

40

11.2%

签名中油

359

85%

总计

400

100%

 

5.对策

5.1签名验证

对方案每个生成的签名进行验证,以确认其真实性。如生成的签名单次电磁故障注入攻击及对策(图5)与预期的输出相匹配单次电磁故障注入攻击及对策(图6),则返回该签名;否则单次电磁故障注入攻击及对策(图7),则输出独立的随机值。虽然方法有效,但增加了额外的验证步骤,会带来额外的计算开销。

5.2变量随机初始化

在向签名缓冲区中添加油之前,其内容是可预测的。使攻击者能够逆向执行操作并提取油。在每次生成签名之前立即对签名缓冲区进行随机化处理。通过用加密安全的随机数据填充签名内存区域,攻击者将无法通过与之前签名的按位异或操作来提取油向量。

5.3代码重组

提议将签名缓冲区与混合过程分离,以确保不会包含孤立的油或醋成分。通过仅使用局部变量作为操作数,任何跳过的赋值都会迫使操作使用程序栈中的陈旧数据。与持久签名缓冲区不同,栈上的数据本质上是易变的,更难以预测。

5.4其他对策

除了在签名生成阶段因拒绝抽样而引入的启发式时间抖动之外,还可以实施一个恒定的随机抖动,以增加在故障注入验证阶段识别适当频率参数所需的努力。另一种方法是通过一个单独的函数防止所有醋值一次性添加到油向量中。以MAYO参考实现为指导,可以解决该系统,并使用循环结构逐块地将油值和醋值添加进来。

6.结论

本文提出了一种针对基于UOV电磁故障注入跳加线性攻击法,能够通过破坏单个签名来实现完整密钥的恢复。跳过单个操作会导致油变量泄露到签名中,通过一个明确且可公开评估的线性算子对这个错误的映射而获得的。与针对确定性变体的故障攻击或需要多次注入的方法不同,跳加法攻击基于利用内存重复使用漏洞,成功对抗当前的非确定性实现。通过验证,在较短时间内成功率达到超过85%。并提出应对措施,包括签名验证、代码重组以及初始化/屏蔽与故障检测相结合等。

参考文献

单次电磁故障注入攻击及对策(图8) 



更多
引文网络
  • 参考文献
  • 引证文献
  • 共引文献
  • 同被引文献
  • 二级参考文献
  • 二级引证文献