硬件木马电路功耗的检测方法
赵志勋1, 倪林2, 李少青1    
1. 国防科学技术大学 计算机学院, 长沙 410073;
2. 西安通信学院, 西安 710106
摘要

在建立芯片功耗模型的基础上, 提出了根据工艺偏差和木马电路功耗数据特征不同来对功耗数据进行特征抽取的方法, 从而减弱工艺偏差对检测的影响.建立了基于重叠率检验的数理统计检测模型.基于功耗特征抽取和重叠率检验模型, 在对高级加密标准算法S-box电路上的功耗进行了仿真实验分析, 结果表明, 所提检测模型可较好地对硬件木马进行检测.

关键词: 硬件木马     特征抽取     重叠率检验    
中图分类号:TN911.22 文献标志码:A 文章编号:1007-5321(2015)04-0128-05 DOI:10.13190/j.jbupt.2015.04.026
Detection Method of Hardware Trojans Power Consumption
ZHAO Zhi-xun1, NI Lin2, LI Shao-qing1    
1. College of Computer, National University of Defense Technology, Changsha 410073, China;
2. Xi'an Communications College, Xi'an 710106, China
Abstract

A new chip power consume model was built. The model presents an effective way to reduce the influence of process variation. The power contrast model between under test circuit (UTC) and GOLDEN was given. The approach on S-box circuit in advanced encryption standard(AES) algorithm was evaluated. It is shown that the proposed scheme can highly eliminate noise and detect hardware Trojans.

Key words: hardware Trojan     feature extraction     overlapping examine    

目前各种不同类型的硬件木马相继出现,很多新型硬件木马具有规模小、针对性强、难以被检测的特点.传统的基于测试方法、芯片反向解剖等方法,随着芯片规模的增大难以有效检测出硬件木马或会对芯片造成不可恢复的物理毁坏.在现有的硬件木马的检测方法中,旁路信息分析的检测方法是一种较为有效的检测方法[1-3].

首先建立芯片硬件木马的功耗噪声模型,之后提出基于特征抽取的功耗数据分析方法,最后建立基于统计学的功耗曲线对比模型.实验证明,该方法对硬件木马电路可进行有效检测.

1 硬件木马及其功耗模型

所谓硬件木马是指在集成电路设计和制造过程中利用芯片内部冗余,对原始电路进行恶意修改,以达到在无条件或在特定的触发条件下改变系统功能、泄露机密情报或摧毁系统的恶意电路[2-4].在实际应用中的硬件木马有多样的工作机制,设计方法灵活.一般情况下,在单个芯片中硬件木马的实现主要由2大功能单元构成:触发逻辑单元和功能逻辑单元,结构如图 1所示.

图 1 硬件木马结构示意图

对含有硬件木马逻辑的电路,木马在工作过程中会产生额外功耗,在检测过程中可将木马功耗相对电路总功耗的影响作类似噪声的处理.对全局电流IDD的贡献用IHT(C, K)(C, K, T)表示为

其中:IGolden(C, K)(C, K, t)为原始电路工作全局电流,IHT(C, K)(C, K, t)为硬件木马工作产生的漏电流,ΔIDD(C, K)(C, K, M, t)为漏电流噪声.基于旁路信息硬件木马检测的关键在于如何减小噪声对检测数据的影响,将木马电路的功耗轨迹IHT(C, K)(C, K, t)从整个电路功耗轨迹中区分出来,以达到检测硬件木马存在的目的[3].

2 硬件木马动态功耗检测方法

在基于功耗的硬件木马检测中,通常存在大量噪声,其中系统误差和随机误差可通过采样均值的方法消除.工艺偏差噪声难以消除,是功耗中淹没木马功耗的主要因素,在木马检测过程中将木马特征信息在功耗函数中尽可能显化成为木马检测的重要手段[3-4].笔者提出一种功耗数据特征抽取的方法,通过对待测芯片功耗样本的矩阵化并通过矩阵特征抽取,可有效检测硬件木马.

2.1 样本数据的获得及预处理

m个待测芯片,对每个待测芯片的功耗样本采样s次得到s条含有采样点数为n的功耗曲线,记为R1R2,…,Rs,其中Ri=(Pi1Pi2,…,Pin);对s条曲线每个采样点依次计算平均值得到每个待测芯片的功耗平均曲线为

通过样本的平均化消除功耗曲线测量过程中由于温度、电压等引起的噪声.样本芯片的功耗样本为

对所有功耗曲线中相同的采样点求均值可得m个样本功耗的均值曲线为

2.2 特征抽取方法

在矩阵降低维度的方法中,主成分分析法[5](PCA,principal component analysis)作为一种经典的样本抽取算法在降低矩阵计算维度的同时增加矩阵的特征信息的显化度.

在硬件木马的检测流程中,通过对芯片功耗的特征投影达到显化功耗中木马功耗的作用.在完成功耗样本数据的预处理后,采用数据投影算法对样本功耗进行处理.

下面为功耗数据投影算法.

步骤1  计算功耗中心化矩阵S

步骤2  求矩阵S的协方差矩阵P

步骤3  计算P矩阵的特征值λi和对应的特征向量;

步骤4  将P的特征值排序;

步骤5  根据式选取使权重达到85%的前k个特征值;

步骤6  由这些特征值对应的特征向量构成投影矩阵K

步骤7  矩阵投影变换;

步骤8  完成投影空间的特征投影.

其中:STS在通过协方差矩阵得到的映射矩阵,在变换中矩阵维数由m维减少到k维,ST的主要特征信息同样得以保留,其中各维度之间相互独立更能反映出功耗数据的真实特性,优化了工艺偏差的背景噪声.同时对参考芯片(GOLDEN)作相同的功耗数据处理,得到待测木马功耗矢量SG.

2.3 重叠率检测模型

SGST每一维度上的数据都是通过协方差矩阵投影到k维空间上的值,要判定电路中是否含有硬件木马,即判定SGST之间的关系.在统计学中描述一个随机独立变量通常使用正态分布,用均值μ和方差δ来给出变量的分布情况,根据概率密度函数,有分布函数为

由上式,有

正态分布下x有99.7%的概率在(μ-3σμ+3σ)区间中,即统计学中的3δ原则.统计学中根据3δ原则判定样本点是否服从正态分布. SGST中每个维度是不同周期同一时间点功耗采样值的投影数据,若待测芯片无木马,ST各维数据服从SG确定的正态分布,即ST中每一维数据在SG对应维数据所确定的(μ-3σμ+3σ)中,定义ST中数据在(μ-3σμ+3σ)区间中的比例为样本重合率DD=m0/m(m0为落在区间中的点数,m为样本总数).根据D可判断功耗矩阵的相似度,确定是否有木马存在.

在2.2节中得到的功耗数据矩阵SGST是2个m×3矩阵,以每一行作为3维空间中的坐标画出SGST的空间分布,SGST分别乘以中心点离散分布的点,以每个点距原点的距离x为变量,X=(x1, x2, …, xm),可得和σ(X),得到和XT分布.

由3δ原则,XG有99.7%分布在以中心点为圆心以3σ(XG)为半径的球形区域中,XT基本分布在以中心点为圆心以3σ(XT)为半径的球形区域中,定义空间重叠率D描述特征数据在空间的重合情况为

其中:Vco为2个球形区域重合部分的体积,VS1VS2为2个球形分布的体积.通过对D的计算得到2个功耗矩阵的重叠情况,确定是否有木马存在.

3 AES电路实验3.1 实验电路设计

实验电路选择高级加密标准(AES,advanced encryption standard)的加密部件S-box,具有较高的实际攻击价值[3].在40nm工艺下设计如图 2所示的组合型硬件木马,大小约为原始电路的1.2%[6].

图 2 插入硬件木马的S-box电路结构
3.2 工艺偏差下的功耗数据模拟

由于实际检测中工艺偏差难以消除,因此在模拟过程中需要模拟工艺偏差对检测的影响.工艺偏差引起的电路功耗总是朝着偏大或偏小的方向变化,称为同向性.

实验功耗数据利用HSPICE工具对AES算法第1轮S-box的逻辑电路进行仿真模拟,在不同的工艺下进行电路模拟功耗数据,模拟工艺偏差主要采用芯片功耗加随机数的方法得到.

3.3 功耗数据特征抽取和硬件木马检测

在模拟过程中考虑工艺偏差的影响,模拟过程中分别加入不同程度的工艺偏差,将模拟的木马电路数据与干净样本进行比对.图 5~图 7为对采集的功耗数据进行特征投影算法处理后的检测结果.

图 3 不同仿真工艺下功耗的模拟

图 4 加入模拟工艺偏差的功耗数据

图 5 加入2%工艺偏差后硬件木马检测结果

图 6 加入5%工艺偏差后硬件木马检测结果

图 7 加入7.5%工艺偏差后硬件木马检测结果

图 5~图 7的检测结果可以看出,电路模拟过程中加入2%和5%的工艺偏差后,发现含有木马电路的测试电路和正常电路的投影数据分别聚集在一起且分布在不同的区域,它们的投影特性并不相同.

图 8~图 10为按照检测结果建立的工艺偏差后的检测模型.

图 8 加入2%工艺偏差后硬件木马检测模型

图 9 加入5%工艺偏差后硬件木马检测模型

图 10 加入7.5%工艺偏差后硬件木马检测模型

随着工艺偏差从2%增大到7.5%,可从图 8~图 10中明显看出,硬件木马的检测精度和可靠性有所下降.表 1列出根据检测模型得到的功耗数据重合率.当工艺偏差为5%时,特征抽取算法的分析仍可有效识别硬件木马电路的存在,但同工艺偏差为2%的相比,其分布区域靠得更近,投影特性的异常程度并不是特别明显.最后工艺偏差加大到7.5%时,可看到植入木马电路和原始电路投影后的数据变得离散,其分布区域也出现一定程度的重叠,使检测精度受到影响.表 1为特征空间功耗数据重叠率.

表 1 特征空间功耗数据重叠率
4 结束语

在现有的硬件木马检测方法中,旁路信息分析检测仍比较有效.提出的基于动态电流的检测实际上是属于功耗旁路信息检测的手段之一.提出的基于主成分分析的功耗数据特征抽取方法是一种针对工艺偏差影响的较为有效的方法,之后在数理统计理论下建立重合率检验模型,通过对投影数据的检验达到检测功耗数据中硬件木马电路功耗的目的.实验结果表明,该方法和检测模型是可行且有效的.

在后续研究中,将实验平台从软件模拟转移到实测电路,并建立更为有效的工艺偏差模型,将成为重要的方向.同时,消除旁路信号中其他工艺偏差、电压、温度噪声和测量噪声的影响也是能否成功完成硬件木马检测的关键.

参考文献
[1] 倪林, 李少青, 马瑞聪, 等. 硬件木马检测与防护[J]. 数字通信, 2014, 41(1): 59–63.
Ni Lin, Li Shaoqing, Ma Ruicong, et al. Hardware Trojan detection and protection[J].Digital Communication, 2014, 41(1): 59–63.
[2] Agrawal D, Baktir S, Karakoyunlu D, et al. Trojan detection using IC fingerprinting[C]//Proceeding of the 2007 IEEE Symposium Security and Privacy. Oakland, CA, USA:[s.n.], 2007: 296-310.
[3] Ni Lin, Li Shaoqing, Chen Jihua, et al. The influence on sensitivity of hardware Trojans detection by test vector[C]//Proceeding of 2014 Communications Security Conference(CSC2014). Beijing:[s.n.], 2014: 46-51.
[4] Chakraborty R S, Narasimhan S, Bhunia S. Hardware Trojan: threats and emerging solutions[C]//Proceedings of High Level Design Validation and Test Workshop (HLDVT2010), 2010: 166-171.
[5] 刘长龙, 赵毅强, 史亚峰, 等. 基于侧信道分析的硬件木马建模与优化[J]. 华中科技大学学报:自然科学版, 2013, 41(2): 53–67.
Liu Changlong, Zhao Yiqiang, Shi Yafeng, et al. Side channel analysis-based modeling and optimizing of hardware Trojan[J].Journal of Huazhong University of Science and Technology: Natural Science Edition, 2013, 41(2): 53–67.
[6] 石磊, 倪林, 李少青, 等. 采样频率对硬件木马检测的影响[C]//第十八届半导体集成电路、硅材料学术会议, 2014: 448-453.
Shi Lei, Ni Lin, Li Shaoqing, et al. The influence of sample frequency on the hardware Trojan detection[C]//The 18th National Conference on Semiconductor IC and Silicon Materials, 2014: 448-453.