行业新闻

一种比电磁能量分析还要远的侧信道分析方法

一种比电磁能量分析还要远的侧信道分析方法

基于VITI的远程能量分析

撰文 | 刘 铮

编辑 | 刘梦迪

背景介绍

FPGA(Field Programmable Gate Array),即现场可编程门阵列,可以根据用户要求组合硬件资源以实现功能。随着FPGA上可使用的资源越来越丰富,在一个FPGA上可以实现多个互相独立的系统,这就为FPGA的安全性埋下了隐患,用户可以在FPGA上实现恶意电路以监测FPGA的状态,从而获取在FPGA上运行的其它电路的信息。

2022年,CHES会议上Brian Udugama等人提出了一种名为VITI的FPGA片上传感器,可以用于监测FPGA的能量变化,从而获取同一FPGA上其它电路的侧信息,以实现远程能量攻击。相比于已有的两种片上传感器,ring oscillators(ROs)和time to digital converters(TDCs),VITI具有消耗资源更少的特点。除此之外,他们还提出了一个全自动的自校准算法以及其轻量级电路实现,同时研究了参数对传感器功效的影响[1]。

研究内容与方法

Remote Power Analysis(RPA),即远程能量分析,指攻击者通过在共享FPGA上实现自己的攻击电路,来监听目标电路的能量信息,从而窃取其密钥信息的攻击方法。其攻击的原理图如图1所示。

图1 RPA攻击原理图,攻击者通过在共享FPGA上实现一个用于监测FPGA能量变化的攻击电路,从而达到获取目标电路能耗变化的目的

图2是VITI的原理图,其中IDELAYGIDELAYC是两个动态延时电路,其中IDELAYG的延时大小由CALIBRATION-FSM模块调节,IDELAYC的延时大小固定。EN信号默认为1。电路通过每个时钟周期采集A1A2A3...An的值作为FPGA的能量迹。

图2 VITI原理图,通过与门的延时变化来获得FPGA的能耗变化

图3是一个4比特VITI传感器的时序图,其中图(a)是FPGA能量较高时的时序图,图(b)是FPGA能量较低时的时序图,由于FPGA能量较高时与门的延时较低,FPGA能量较低时与门的延时较高,因此可以看到图(a)中A1A2A3A4四个比特的值为1110,图(b)中四个比特的值为1100,通过A3比特值的变化可以区分此时FPGA的能耗高低。

那么自然可以注意到,IDELAYG的延时大小是决定VITI是否有效的关键,为了确定IDELAYG的大小,论文提出了一个自适应算法,并实现为了CALIBRATION-FSM模块,该算法可以简述为:从小到大逐渐增大IDELAYG的延时大小,并反复进行实验,直到某次实验中A1A2A3A4发生变化为止,即可确定合适的IDELAYG延时大小。

图3 4比特VITI时序图,当FPGA能量较高时,与门的延时较低,反之与门的延时较高,与门延时的变化导致了两种情况下A3比特值的变化

实验结果与分析

论文进行了8个实验以验证VITI的效果并研究相关参数选择的影响。其中实验1到实验6都是在SAKURA-G开发板上进行的实验。SAKURA-G开发板上运行了一个128比特的AES。使用CPA攻击第10轮的S盒。

  • VITI对比TDCs与ROs

图4为VITI、TDC和RO采集到的能量迹,图5为其对应的正确密钥排名图。可以看到,虽然VITI的精度是最低的,但VITI的攻击效果却是最好的,这说明VITI对泄露位置的判断非常准确,噪声较小。表1是VITI,TDC和RO的资源消耗表,可以看到,TDC的资源消耗是最小的。

图4 VITI,TDCs和ROs采集的能量迹图

图5 VITI,TDC和RO的正确密钥排名图,其中横坐标为攻击使用的能量迹数量,纵坐标为正确密钥排名对2取对数后的结果

表1 VITI、TDC及RO的资源消耗表

  • VITI位置对实验的影响

图6(a)为VITI的位置分布,图(b)为5个具有代表性的位置的正确密钥排名图。可以看到相似位置的VITI的效果也是相似的。论文由此得出结论,FPGA上的PDN分布并不均匀。

图6 VITI位置分布图,其中(a)为VITI的位置分布,(b)为5个具有代表性的位置的正确密钥排名图

  • AES位置对实验的影响

图7为AES的位置分布图,图8为对应的正确密钥排名图。图7中左下角为FPGA的时钟输入接口,可以看到当AES位于位置5和6时,时钟信号会穿过AES模块到达VITI,但是位置5和6的效果却相差甚远,由此可以看出,RPA攻击能否成功与VITI的时钟信号是否穿过AES模块无关。同时论文得出结论,VITI和AES模块的时钟信号的布线与RPA攻击的成功率无关,能量曲线上的波动不是来自于电线之间的相互影响,而是来自于FPGA自身的能量变化。

图7 AES位置分布图,其中左下角为FPGA的IO接口

图8 不同AES位置的正确密钥排名图

  • AES频率对实验的影响

图9为AES频率变化实验结果图,其中VITI始终使用的是96MHz的频率,通过修改AES的频率来研究VITI频率与AES频率比值造成的影响。可以看到,除了12MHz以外,其它频率使用RPA都成功了。论文猜测在12MHz下的电路执行了额外的优化导致攻击不成功。即使VITI采样频率与AES频率相同,RPA也能成功。说明SAKURA-G开发板的信噪比较高,一个点包含的信息量就足以成功进行攻击。

图9 AES频率变化实验结果图

  • VITI频率、信噪比较高或较低对实验结果的影响

论文在SAKURA-G上还做了三个实验,由于实验内容较为简单在此简述。第一个实验固定AES频率为6MHz,在6MHz到120MHz之间遍历VITI的采样频率。实验结果与实验4相似,不做赘述。第二个实验在FPGA上实现多个进行相同加密的AES模块,用以模拟高信噪比的场景。第三个实验在FPGA上实现多个执行不同加密的AES模块,用以模拟噪声较大的场景。不出意外地高信噪比成功执行CPA攻击所需的能量迹条数更少,低信噪比所需的能量迹条数更多。

  • 验证VITI的可移植性

为了验证VITI的可移植性,论文还进行了两个实验。第一个实验使用了两个Xilinx ML605开发板,每个开发板上都包含一个Xilinx Virtex-6 XC6VLX240T-1FFG1156 FPGA,两个开发板烧录进完全一样的VITI电路。用以模拟在同一种芯片上同一种设计的可移植性。

第二个实验将一个VITI和两个AES上传部署到了亚马逊的Services Elastic Compute Cloud (AWS EC2) F1 instance上,尽管实验只是用了FPGA上不到1%的资源,还是成功采集到100000条能量迹并执行了CPA攻击。

总结与展望

这篇论文提出了一种相当轻量级的FPGA片上传感器的设计与实现,并进行实验验证了设计的可行性与效率,相比于已有的片上传感器,这篇论文提出的设计方案消耗的资源更少,采集到的能量迹执行CPA攻击的效率更高。

参考资料

[1] Udugama, B., Jayasinghe, D., Saadat, H., Ignjatović, A., & Parameswaran, S. (2022). VITI: A Tiny Self-Calibrating Sensor for Power-Variation Measurement in FPGAs. IACR Trans. Cryptogr. Hardw. Embed. Syst., 2022, 657-678.

关闭