距离一站式防护侧信道与
故障攻击还有多远?
撰文 | 刘 铮
编辑 | 刘梦迪
一、背景介绍
在2024年的CHES会议上,来自日本电气通信大学的Haruka Hirata(平田遼)等人提出了一种针对M&M防护的故障攻击方法,该方法利用了硬件实现的塔域AES流水线S盒中,不同信号路径传播延迟不同的特点,通过时钟毛刺注入故障。当S盒输入为0时,故障无效,当S盒输入非0时,故障有效。基于此识别S盒的输入是否为0,从而恢复AES算法密钥。实现攻击后,Haruka Hirata等人提出了一种更高细粒度的detection防护,成功防护了该攻击方法[1]。
M&M(Masks and Macs)是一种可以同时防护侧信道分析与差分故障分析的方法,由Lauren De Meyer等人在2019年的CHES会议上提出[2]。该方法的主要创新是将传统的基于二次加密的故障防护方法,转变成了基于明文MAC tag二次加密的故障防护方法(此处的MAC是在GF(2^k)上乘以α,MAC(p)=α*p,其中α固定未知,感兴趣的读者可以查看原论文),避免了通过注入两次相同故障从而破解二次加密防护的问题,具体如下图所示。
左图为传统故障防护方法,右图为基于MAC的故障防护方法。左图通过注入两次相同的故障可绕过防护,右图无法实现,MAC(p)变换中包含未知变量
需要特别说明的是图中的加密是可以带掩码的,因此该防护可以同时防御侧信道和差分故障分析。
二、攻击原理
Haruka Hirata等人针对AES算法进行了攻击。攻击原理并不复杂,AES的S盒包含求逆以及仿射变换两步,其中0的逆元还是0。在AES加密的最后一轮S盒计算时注入故障,收集不会发生故障的密文,然后猜测密钥反推S盒输入分布。如果猜测密钥正确,那么S盒输入分布中,输入0的概率应该是最高的,攻击算法如下图所示。
故障攻击流程,先收集无效故障密文,然后猜测密钥,反推S盒输入分布,根据S盒输入分布中0是否是概率最高判断猜测密钥是否正确
接下来说明为什么S盒输入为0时故障会无效:
如下图所示为论文攻击的S盒实现,其中在stage2、stage3和stage4中,红色路径的延迟要远远小于黑色部分,注入合适的时钟毛刺可以保证红线部分不发生故障,黑色部分发生故障。当输入为0时,红线部分的值也为0,只要注入的时钟毛刺不影响红线部分,无论黑色部分如何发生故障,都会在stage5被消除。反之,当输入不为0时,由于红线部分的值不为0,stage5无法消除黑色部分故障的影响,最终S盒输出会发生故障。
论文攻击的S盒实现为塔域流水线硬件实现,其中红线路径的传播延迟远远小于黑色部分,通过注入合适的时钟毛刺,可以使得红线部分不发生故障,黑色部分发生故障
三、实验结果
作者在ASIC上进行了论文中提出的带二阶M&M防护的AES算法的硬件实现。该实现进行一次AES加密需要239个时钟周期。芯片的图片以及设计信息如下图所示。
芯片布局,更清晰的图片查看原论文
芯片设计信息
实验原理与环境如下图所示:
实验环境原理图,利用触发进行故障注入
实验环境图
对故障原理的验证结果如下所示,可以看到在stage2和stage4,当输入为0时,故障率为0。
实验原理验证,在stage2和stage4,当输入为0时故障率明显较低
实验结果如下图所示,约500条无效密文可恢复密钥。
故障注入实验结果图汇总
四、防护改进
针对前文的攻击,Haruka Hirata等人提出了针对M&M防护改进方法,主要思路是在S盒流水线的每一阶段都校验输出是否正确,提高detection粒度,具体如下图所示。
S盒细粒度detection实现
Haruka Hirata等人在FPGA上验证了该防护的有效性。该防护的开销以及攻击结果如下图所示。
改进的M&M防护开销
改进的M&M防护实验结果,可以看到没有输入的故障率有明显不同
总结
Haruka Hirata等人针对M&M防护提出了一种故障攻击方法,并针对该攻击提出了一种更高细粒度的M&M防护手段。但小编认为,论文有个问题没有讲清楚(也可能是小编没有读懂):论文提到待攻击的AES为带有二阶M&M防护的,也就是说S盒输入是带掩码的。在带掩码的场景下论文提出的攻击就没那么简单,直觉上看只有掩码和被掩值都为0的情况下才会发生无效故障,但此时的攻击效率会显著降低。
参考资料
[1] Hirata H, Miyahara D, Arribas V, et al. All You Need Is Fault: Zero-Value Attacks on AES and a New λ-Detection M&M[J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2024, 2024(1): 133-156.
[2] De Meyer L, Arribas V, Nikova S, et al. M&M: Masks and macs against physical attacks[J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2019: 25-50.
往期精彩文章推荐
原文始发于微信公众号(数缘信安社区):针对M&M防护的零值故障攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论