激光激活异步累加器硬件木马研究*

2022-05-09 07:49袁润杰朱翔韩建伟李悦马英起上官士鹏王添
密码学报 2022年2期
关键词:木马加密激光

袁润杰, 朱翔, 韩建伟, 李悦, 马英起, 上官士鹏, 王添

1. 中国科学院国家空间科学中心, 北京 100190

2. 中国科学院大学, 北京 100049

1 引言

随着集成电路设计制造过程全球化的发展, 硬件木马造成的安全问题日益突出. 硬件木马是设计者在芯片或者电子系统中故意植入的特殊模块或缺陷模块, 在被某些特殊条件触发后能够实现对芯片的功能破坏或者信息泄露. 硬件木马普遍具有隐藏性高、难以触发、设计灵活、易于植入等特性, 这导致针对芯片安全的研究与防护具有很高难度[1,2].

目前主要的硬件木马检测方法有失效分析检测方法、逻辑测试检测方法、侧信道检测方法及软件检测方法等. 失效分析属于破坏性检测, 需对被测电路逐层扫描后进行逆向分析, 从而检测木马功能及位置[3].这将严重破坏芯片, 具有检测难度大、成本高等缺点. 逻辑测试检测方法通过生成测试向量, 检测芯片输入、输出及寄存器信息等电路状态, 从而分析木马电路的功能[4–7]. 该检测方法成本低, 但是针对不同功能、触发概率的硬件木马, 检测难度大、消耗时间长. 侧信道检测方法基于对芯片功耗、瞬间信号、泄露电流、电磁辐射等的分析判断硬件木马功能与位置, 但受电路工艺偏差影响严重[8–14]. 软件检测方法可以利用机器学习对门级、寄存器级等网表硬件电路进行检测, 针对特定特征的硬件木马甄别程度高[15–17]. 但是需要获取电路的网表级代码, 应用场景受限.

激光注入技术具有较高的时间和空间分辨性, 是高效的故障注入手段之一[18,19]. 本文创新点在于首次提出将激光注入技术应用于硬件木马检测的方法, 可以弥补现阶段检测方法的不足, 以形成更为高效、精准的检测方法. 基于激光注入技术的硬件木马检测方法具有直接性强、应用场景广泛的特点. 通过激光快速扫描主动激活芯片中的硬件木马, 可以达到快速识别的功能. 相比于逻辑测试通过生成测试向量激活硬件木马的方法更为直接; 相比于侧信道检测方法, 基本不受电路工艺偏差影响. 这是一种器材经济性出色、实施方便、可控性高的非破坏性检测方法. 由于激光作用于木马触发结构的输出信号存储节点, 只有含有逻辑触发结构的硬件木马可以被此检测方法激活.

本文以基于Xilinx 公司XC7K325T 芯片为载体的异步累加器硬件木马作为研究对象, 使用激光注入技术成功激活不同触发条件的异步累加器硬件木马, 详细阐述了该实验的流程和方法, 分析了不同组合逻辑硬件木马触发结构对其激活概率的影响, 具体通过以下几个部分展开: (1) 异步累加器硬件木马的特征及FPGA 实现; (2) 激光故障注入实验原理及装置; (3) 激光注入激活硬件木马实验过程及结果; (4) 上述实验结果的总结与展望.

2 异步累加器硬件木马的特征及FPGA 实现

硬件木马主要由触发结构和负载结构组成, 其中负载结构的功能为实现攻击行为, 触发结构的功能为控制木马攻击时机[2]. 密码芯片是实现信息保密性、安全性的核心硬件载体, 易成为硬件木马的攻击对象.本文以基于FPGA 实现的AES 加密电路为研究对象, 植入设计的异步累加器硬件木马, 开展激光故障注入激活硬件木马的研究.

2.1 累加器硬件木马的特征

累加器型硬件木马通常具有一定激活时间, 属于延时激活硬件木马. 累加器型硬件木马可以分为同步累加器和异步累加器硬件木马. 其中异步累加器硬件木马属于组合型硬件木马, 木马触发条件与内部信号组合逻辑相关, 属于内部激活型硬件木马. 异步累加器硬件木马结构如图1 所示, 其触发结构仅由多位比较器与计数器组成, 通过设计组合逻辑可控制木马激活时机, 具有结构简单、触发概率低等特点.

图1 异步累加器型硬件木马Figure 1 Asynchronous accumulator hardware Trojan

2.2 AES 基本结构

AES 高级加密算法属于对称加密算法, 算法加解密使用同一密钥, 流程如图2 所示. 明文与密钥进入AES 加密核心后生成密文, 再与密钥输入AES 解密核心输出明文. AES 是基于有限域运算的SPN 结构迭代分组密码, 本文所使用AES 算法分组长度为128 位, 加密轮数为10 轮. 首先将明文与初始密钥执行异或运算, 再进行10 轮运算后输出密文. 每轮的具体操作依次为: 字节变换、行移位、列混淆以及轮密钥加运算, 其中第10 轮不执行列混合运算.

图2 AES 高级加密算法加解密流程Figure 2 Encrypt and decrypt process of AES

2.3 实验芯片

本文使用Xilinx 公司XC7K325T 芯片作为实验对象, 该芯片使用28 nm 工艺, 含有326 080 个可配置逻辑块(configurable logic block, CLB), 基本CLB 的逻辑资源如表1 所示.

表1 单CLB 逻辑资源Table 1 Resources of single CLB

在FPGA 的逻辑单元中, “或”、“与” 的逻辑功能由LUT 实现, 其功能如图3 所示. 在芯片初始化阶段, LUT 将写入不同地址对应的1 bit 输出数据, 并存储在16 bit 的SRAM 中. 电路运行阶段, LUT 根据不同的地址输入, 输出1 bit 信号控制硬件木马负载结构的状态. 对于“与” 的状态, 只有地址线“dcba”为“0xFF” 时, 输出线输出高电平, 其余情况输出低电平; 对于“或” 的状态, 地址线“dcba” 中含有大于等于一位为高电平时, 输出线则输出高电平, 否则输出低电平.

图3 LUT 原理图Figure 3 Principle of LUT

2.4 异步累加器硬件木马FPGA 实现

本文基于FPGA 实现原型硬件木马用于激光注入实验, 硬件木马FPGA 实现方法如图4 所示.FPGA 的主要功能是将上位机输入的明文与密钥在AES 加密核心中加密, 将密文返回上位机. 其中“加密控制模块” 的功能为解析上位机命令, 将128 位明文、密钥输入至“AES 加密核心模块”; “AES 加密核心模块” 进行加密操作. 所设计的异步累加器硬件木马植入于两个模块之间, 所传输的明文“Data”被硬件木马触发结构采集, 当其与木马触发模块的组合逻辑比较器预设值相同时, 触发结构产生一个触发信号输入至负载结构; 负载结构篡改所传输数据, 并将错误数据传入“AES 加密核心模块”, 完成篡改数据的功能.

图4 硬件木马功能示意图Figure 4 Function of hardware Trojan

通过改变硬件木马触发结构的组合逻辑, 可以实现不同功能. 本文以探究激光注入激活硬件木马的机理作为实验目的, 将以基础的“或门”、“与门” 组合逻辑硬件木马作为实验对象. 在两模块数据传输时, 所传输数据“Data” 中(除最低位) 任意选择9、4、2 位数据与木马比较器预设值进行异或运算, 再将所有异或运算结果进行“与”、“或” 运算, 如图5 所示. 逻辑门输出的信号作为硬件木马的触发信号, 直接影响硬件木马的状态.

图5 硬件木马触发结构功能Figure 5 Trigger mechanism of hardware Trojan

AES 电路总计占用1769 个LUT, 其中硬件木马电路占用2 至14 个LUT, 硬件木马规模占整体电路的比重为0.11% 至0.79%, 具有较低的资源占用率. 在输入数据不满足木马触发条件下, 硬件木马将不对电路产生影响.

2.4.1 “或” 组合逻辑硬件木马设计

本文设计的累加器硬件木马触发条件为9 位相或、4 位相或、2 位相或, 其分别占用14 个、5 个、1个查找表(look-up-table, LUT) 以及若干触发器, 触发结构等效门数量分别为21、9、3. 其中4 位相或硬件木马结构图如图6 所示, 以此为例进行讨论.

图6 4 位触发结构硬件木马逻辑图Figure 6 Diagram of 4-bit trigger mechanism of hardware Trojan

4 位相或触发结构逻辑单元“CLB 1” 至“CLB 4” 分别占用一个查找表, 功能为分别判断4 位二进制数据“Data 1” 至“Data 4” 是否与木马设定值相同, 分别输出相应信号至“CLB load” 中. 逻辑单元“CLB load” 负责判断是否激活木马功能, 并输出负载信号. 其中“或门” 的实现取决于“LUT load”SRAM 中存储的数据, 该LUT 通过多路选择器控制是否激活硬件木马. 若激活硬件木马, MUX 线路选择输入信号“LUT Load” 翻转, 并输出“Data 0” 的反值, 将错误数据传输至后续模块. 其余9 位相或、2位相或电路结构与上述类似.

2.4.2 “与” 组合逻辑硬件木马设计

将触发条件为9 位相与、4 位相与、2 位相与运算的3 组异步累加器硬件木马作为实验对象, 其分别占用14 个、5 个、1 个查找表以及若干触发器, 触发结构等效门数量分别为22、6、2, 其中4 位相与硬件木马结构如图6 所示.

4 位相与触发结构逻辑单元“CLB 1” 至“CLB 4” 分别占用一个查找表, 功能为分别判断4 位二进制数据“Data 1” 至“Data 4” 是否与木马设定值相同, 分别输出相应信号至“CLB load” 中. 逻辑单元“CLB load” 负责判断是否激活木马功能, 并输出负载信号. 其中“与门” 的实现取决于“LUT load”SRAM 中存储的数据, 该LUT 通过多路选择器控制是否激活硬件木马. 若激活硬件木马, MUX 线路选择输入信号翻转, 并输出“Data 0” 的反, 将错误数据传输至后续模块. 其余9 位相与、2 位相与电路结构与上述类似.

图6 所示的反相器和多路选择器构成硬件木马的负载结构, 其功能是在收到触发信号后将“Data 0”取反并取代原始数据.

2.5 硬件木马位置约束

为防止激光注入对AES 加密功能产生影响, 本研究使用PlanAhead 分别约束硬件木马电路与AES加密电路至芯片不同位置. 由于该系列FPGA 背部衬底方向向上, 实际情况中硬件木马位置与所约束位置左右相对, 如图7 所示. 通过控制激光扫描区域以避免激光对其他模块产生影响.

图7 硬件木马约束位置Figure 7 Position of hardware Trojan

3 激光故障注入实验原理及装置

3.1 激光故障注入原理

CMOS 工艺的硅基静态存储器(SRAM) 使用触发器的状态, 即截止和饱和来表示“0” 或“1”. 正常情况下, 只有片选和写信号线共同有效并且地址被选中, 才能改变触发器的状态, 进而改写所存储的内容.但激光注入产生的瞬态脉冲信号不受这些限制[20–22], 当辐照光子能量大于1.14 eV 时可产生额外电子空穴对, 截止的PN 结将收集积累的大量电荷而导通. 本文使用的FPGA 中LUT 主要结构由SRAM 组成.SRAM 由两个交叉耦合的反相器组成, 如图8 所示, 含有2 个PMOS 晶体管M2 与M4、与2 个NMOS晶体管M1 与M3. 若假设Q点高电平,Q′低电平, 即存储数据“1”; M1、M3 为截止状态, M2、M4 为导通状态; 此时激光注入之MOS 管M3, M3 将变为导通状态, 使得Q为低电平, 将M1 与M2 组成的反相器输出信号变为高电平; 最终导致该SRAM 存储数据发生翻转.

图8 SRAM 结构图Figure 8 Structure of SRAM

3.2 激光激活硬件木马原理

硬件木马的激活是由于负载结构MUX 线路选择信号发生翻转,从而输出错误数据,如图6 所示. AES电路处于正常工作状态下, 当触发信号满足触发条件, 负载结构输入端信号翻转将激活木马. 复杂的触发条件会显著降低硬件木马的触发率, 提高检测难度. 而激光注入检测方法不仅可以通过激活触发条件触发硬件木马, 也可通过直接翻转硬件木马负载结构输入端信号触发硬件木马. 可以避免复杂触发条件对激活时间的影响, 达到快速激活木马的目的.

对于多位触发条件的硬件木马, 其存在判定结构电路决定激活负载功能的时机, 该判定电路为激光故障注入的主要攻击目标. LUT 作为FPGA 实现逻辑功能的主要载体, 具有实现判定电路的功能, 而LUT中的SRAM 为激光注入的敏感区域, 其数据翻转将导致LUT 输出信号的变化, 从而影响判定电路的输出结果. 而判定电路的输出直接影响硬件木马负载结构的激活状态. 本文中所涉及的“与逻辑” 硬件木马为模拟激光激活“多触发条件硬件木马” 的手段, 实验结果表明激光扫描可以有效的激活该类多触发条件的硬件木马.

3.3 激光故障注入实验装置

激光故障注入系统如图9 所示, 主要分为六个部分: 1064 nm 皮秒脉冲激光器、聚焦透镜及成像系统、微米级精密三维电动平移台、FPGA 被测电路、上位机和同步控制计算机. 上位机与被测器件通过串口进行实时通讯, 每相隔固定时间进行一次AES 加密运算, 上位机记录所有的通信数据; 激光器使用内部触发信号, 频率1000 Hz; 同步控制计算机实现对激光器和移动台的同步控制, 利用三维电动平移台x-y 方向的移动自动完成扫描. 并将每个辐照位置的激光脉冲能量、激光注入的物理坐标输入至同步控制计算机.

图9 激光注入平台Figure 9 Platform of laser injection

4 实验建立及结果

激光故障注入激活硬件木马功能的实验流程如图10 所示, 将被测器件按照图9 所示位置摆放. 按照硬件木马被约束的位置设置激光扫描的范围. 初始化芯片, 并于测试器件中写入程序、设置激光器参数、聚焦激光, 其中光斑直径约为1.8 um. 通过CCD 相机的实时图像, 将激光焦点定位在测试原点. 设置激光单脉冲能量于670 pJ 至700 pJ 之间, 该能量范围可以使本实验所用FPGA 芯片SRAM 发生翻转, 同时不会损伤电路. 由于需要控制变量、易于实验, 使用激光器原厂1000 Hz 内触发信号. 同时设置扫描起点A、折点B及扫描终点N, 使激光扫描区域可以完全覆盖木马电路区域, 如图11 所示. 随后由控制计算机控制三维平移台按照设定进行扫描, 设置步距为1 um. 为易于甄别硬件木马触发状态、赋予串口足够的缓冲时间, 上位机将128 位明文以500 ms 的间隔通过串口发送至被测电路, 并接收返回密文. 由于木马设定, 其在无激光注入时不会触发. 直至上位机接收明文最低位取反, 记录光斑相对位置, 并初始化电路继续扫描. 此时激光成功激活硬件木马, 所记录光斑位置为硬件木马敏感区域. 由于激光光斑相对于芯片位置可知, 所以可以根据该光斑位置确定木马于芯片中的位置.

图10 实验流程图Figure 10 Diagram experiment

图11 激光扫描路径示意图Figure 11 Path of laser

为防止测试向量激活硬件木马影响实验结果, 根据2.4 节所示硬件木马触发条件筛选相应的测试向量.对于4 位“与逻辑” 硬件木马, 若其激活负载功能的条件为第2/3/4/5 位分别为1/0/0/1, 则128 位测试向量“xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxx1 001x” 将激活硬件木马,所以该测试向量将被过滤.

4.1 “或逻辑” 硬件木马激光激活实验结果与分析

实验结果如表2 所示. 若激光注入至硬件木马触发结构输出信号所在SRAM, 有几率将静默信号翻转为触发信号, 从而激活其负载结构的相关功能. 本实验通过FPGA 传输至上位机的明文最低位是否发生翻转为判断依据, 统计若干次实验中硬件木马的激活次数, 计算激活概率. 为了排除木马自动激活的情况,所有输入测试向量均避免了激活木马的可能性.

表2 “或逻辑” 异步累加器硬件木马激活概率表Table 2 Activity ratio of “OR” hardware Trojan

由实验结果可知, 使用激光激活“或逻辑” 触发条件硬件木马的概率均高于60%, 验证了基于激光故障注入的方法激活异步累加器硬件木马的可行性. 该木马分别含有14 个、4 个、1 个LUT, 每个LUT被激光注入故障后, 均有概率直接激活硬件木马. 不同位数“或逻辑” 硬件木马激活概率存在差异, 是由于激光注入其不同触发结构或负载结构输入端造成的. 由实验原理可知, 仅含有1 个LUT 的硬件木马, 为FPGA 可以实现硬件木马功能的最小单元. 这表明激光在1 um 的扫描步距下, 能否激活“或逻辑” 硬件木马与其触发条件位数与LUT 数量无关.

4.2 “与逻辑” 硬件木马激光激活结果与分析

实验结果如表3 所示, 使用激光激活“与逻辑” 触发条件硬件木马的概率约为60%, 与实验1 结果接近. 这表明激光在1 um 的步距条件下, 能否激活“与逻辑” 硬件木马与其触发条件或LUT 数量无关.

表3 “与逻辑” 异步累加器硬件木马激活概率表Table 3 Activity ratio of “AND” Hardware Trojan

根据3.2 节所阐述的实验原理, “与逻辑” 触发条件硬件木马的激活是由于激光注入其负载结构输入端, 导致激活信号翻转造成的. 这表明激光注入激活“与逻辑” 硬件木马的检测方法基本不受其低触发概率特性的影响. 实验结果表明对于具有逻辑触发结构的硬件木马, 激光注入方法与硬件木马的触发条件无关.

5 结论

本文以基于FPGA 的AES 加密电路异步累加器型硬件木马作为实验对象, 使用1 um 步距激光故障注入的方法, 成功激活处于静默状态下的硬件木马. 实验表明, 使用激光注入检测方法, 具有较高概率主动激活常见异步累加器硬件木马, 并且激活概率受木马低触发概率特性的影响低, 不会破坏电路功能, 器材经济性出色. 同时激光单次扫描的时间短, 不同扫描次数下激活概率相近, 从而可以通过优化扫描路线、扫描次数的方法进一步减少检测时间. 激光故障注入适用于含有逻辑触发结构的硬件木马, 其不足在于实际情况下硬件木马位置存在不确定性. 激光注入激活硬件木马的情况外, 也会使AES 加密电路本身发生故障. 但由于激光故障注入具有注入位置可知的优势, 当激光注入AES 加密电路时, 由于加密信息的随机性导致产生随时间无规律变化的故障, 同时AES 加密过程中的错误可以通过密码分析排除故障源[19]. 而注入于硬件木马电路后其故障表现规律是固定的, 在特定情况下可以作为激活硬件木马的依据. 为了有效甄别硬件木马引发的故障, 需要研究相应的统计规律, 这是下一步研究的重点. 综上所述, 基于激光注入的硬件木马检测方法具有激活概率高、可实现木马定位等特点, 具有重要研究意义和广泛应用前景.

猜你喜欢
木马加密激光
准分子激光治疗仪联合CO2点阵激光治疗仪对白癜风治疗效果及不良反应
骑木马
保护数据按需创建多种加密磁盘
消灭木马等
谷歌禁止加密货币应用程序
加密与解密
激光3D长绳
神奇的激光
小木马
骑着激光炸敌人