FPGA侧信道分析实验套件

  侧信道分析理论与技术是密码工程学的重要知识点与科研方向,未来具有广阔的应用前景,目前高校、研究所、以及相关企事业单位对该研究领域广泛关注。北京数缘科技有限公司于2016年获得日本TROCHE有限责任公司授权,代理SAKURA-G硬件侧信道分析实验板。随后本公司在该实验板的基础上配备了FPGA下载器、滤波器、探头等必备硬件,以及明文发送、能量分析等必备的中文版软件,构成了FPGA侧信道分析实验套件,型号为 MMSCASet-04。 套件可以任意方式实现任意密码算法的硬件电路,并对其进行计时分析、能量分析、电磁分析等实验,同时还提供了针对AES算法的中间值泄露分析、相关能量分析的示例源代码。该套件的主要部件如下:
  (1)日本原厂提供的部件
  •  SAKURA-G开发板1块
  •  USB-B数据线1根
  •  外接电源线1根、螺丝螺母若干
  (2)数缘科技提供的部件
  •  FPGA侧信道分析实验软件,型号 MMSCA-411
  •  英国原装进口示波器 PicoScope 3403D 1 台
  •  美国原装进口 Mini-Circuits 低通滤波器 1 个
  •  国产 Xilinx 下载器 1 套(含下载器 1 个、排线转接头 1 个、排线 2 根、 USB-B 数据线 1 根)
  •  国产高阻探头 1 个
  •  国产 SMA 转 BNC 线 1 根
  •  配套资料 U 盘 1 个

图1 SAKURA-G开发板功能图


图2 SAKURA-G硬件侧信道分析实验套件实物图

   SAKURA-G 官方网站提供了一例 AES 算法硬件实现电路,共采用 10 个时钟完成 AES 算法的 10 轮加密迭代运算,同时还提供了控制 USB 接口为该 AES 电路发送明文、密钥,并返回密文的上位机程序。数缘科技在该程序基础上进行功能扩展,集成了 PicoScope 示波器采波功能、以及泄露分析与相关能量分析程序,形成了一套完整的针对于 AES 算法的侧信道分析软件。本软件操作简单,只需要依次点击打开示波器,开始采波,就可以采集到包含 11 组尖峰的波形,分别对应第 0 轮(异或白密钥)到第 10 轮的轮运算。同时,用户也可以改变采波参数来精确采集指定位置的波形。

图3  上位机控制软件与 AES 硬件的能量波形

  波形采集完成之后,可将波形读入软件,从而进行波形显示、泄露分析、相关能量分析等操作。实验表明,在FPGA侧信道分析实验套件的实现环境下,只需要采集 2000 条能量波形,就可以很高的概率恢复出正确密钥。

图 4 针对 AES 算法白化密钥结果进行泄露分析的实验图

图 5 针对 AES 算法第二个字节密钥进行能量分析的结果

图 6 AES 算法相关能量分析的效率分析实验图


  FPGA侧信道分析实验套件的主要指标如下:
  •  支持侧信道:计时分析、能量分析、电磁分析、时钟故障分析
  •  支持稳压电源外部供电
  •  FPGA 芯片2个,32Mbit ROM,晶振48MHz,支持接口USB、SMA、GPIO
  •  支持滤波降噪,带宽DC至48 MHz,阻抗50Ω
  •  高阻探头带宽大于50MHz ,放大倍数10:1