快速产生电磁侧信道时域仿真波形的方法技术领域
本发明涉及集成电路、信息安全,具体讲,涉及快速产生电磁侧信道时域仿真波形
的方法。
背景技术
专用集成电路(ASIC)是将晶体管、电阻、电容等元件互连集成在一块硅片上实现
某种特定功能的电路芯片。目前集成电路产品在人们的生活中得到了广泛的应用,从银行
卡、智能卡到航空航天、军事国防等都能看到集成电路芯片的身影。正因为如此,集成电路
芯片的安全问题至关重要。然而近年来出现的硬件木马以及侧信道攻击等手段,可以获取
芯片内部私密信息或者破坏原有芯片功能[1],对信息安全造成了极大的威胁。
侧信道攻击是通过采集芯片运行时的功耗、电磁辐射、路径延时等信息进行分析
以获取电路内部运行状况或者私密信息的攻击手段[2]。由于这种攻击方式成本低、易于操
作、攻击成功率高,是威胁集成电路芯片信息安全的一个重要因素。因此在芯片设计阶段,
提前获取其侧信道信息,进而判断芯片是否存在信息泄漏问题并进行修正显得十分重要。
信息安全面临的另一大威胁是硬件木马问题。硬件木马是攻击者恶意植入原始电
路中的额外电路结构,目的是窃取芯片内部秘密信息或者改变芯片功能[3]。基于侧信道的
硬件木马检测方法通过比较不含木马的母本电路与待测电路的侧信道信息差异,来判断芯
片中是否含有硬件木马[4]。然而实际应用中,可信母本电路的获取十分困难,因此芯片设计
者如何利用设计数据快速仿真获取其侧信道时域波形尤为重要。
在侧信道信息仿真方面,功耗以及路径延时都有成熟的EDA工具和仿真方法可以
利用[5]。在电磁仿真方面,目前已有的ANSYS等有限元仿真软件并不适用于大规模数字专
用集成电路的电磁侧信道时域波形仿真,另外经过相关文献和专利的检索,目前尚未有相
关成熟的电磁侧信道仿真方法发表。本发明提出的数字专用集成电路快速产生电磁侧信道
时域仿真波形的方法可以在芯片设计阶段获取仿真波形,对保护芯片的信息安全具有重要
意义。
参考文献
1、Rostami M,Koushanfar F,Karri R.A primer on hardware security:
Models,methods,and metrics[J].Proceedings of the IEEE,2014,102(8):1283-1295。
2、Zhou Y B,Feng D G,Zhou Y B,et al.Side-Channel Attacks:Ten Years
After Its Publication and the Impacts on Cryptographic Module Security
Testing.[J].Cryptology Eprint Archive,2005,2005。
3、Bhunia S,Hsiao M S,Banga M,et al.Hardware Trojan attacks:threat
analysis and countermeasures[J].Proceedings of the IEEE,2014,102(8):1229-
1247。
4、Xiao K,Forte D,Jin Y,et al.Hardware Trojans:Lessons Learned after
One Decade of Research[J].ACM Transactions on Design Automation of Electronic
Systems(TODAES),2016,22(1):6。
5、倪林,李少青,赵志勋,等.工艺偏差下基于功耗与延时的硬件木马检测有效性
分析[J].数字通信,2014,41(5):36-41。
发明内容
为克服现有技术的不足,本发明旨在利用芯片的设计数据快速仿真获取其电磁侧
信道时域波形,一方面可以使芯片设计者在芯片设计阶段就发现是否存在信息泄漏问题,
可以提前进行安全加固;另一方面可以解决侧信道硬件木马检测中可信母本获取困难的问
题,扩展了原有木马检测方法的应用范围。本发明采用的技术方案是,快速产生电磁侧信道
时域仿真波形的方法,步骤如下:
(a)利用选定的工艺库对RTL代码进行综合Synthesis、布局布线Place&Route,得
到芯片版图,并抽取最终的电路网表;(b)编写脚本统计该电路网表中所有的组合逻辑标准
单元和时序逻辑标准单元类别和实例化名称;(c)根据工艺库中lib文件的信息,统计每个
标准单元的扇出大小;(d)根据测试激励编写仿真testbench文件,仿真时统计所有标准单
元输出的翻转数目,并以该单元的扇出为权值对所有的翻转数目进行加权求和;(e)根据所
需要的仿真点数,以上一步骤所得的加权求和值为纵轴,以仿真点数为横轴进行描点、连线
绘图,即得到该电路的电磁侧信道时域仿真波形。
在与仿真testbench文件同样的测试激励下,对待测芯片进行电磁侧信道的测试,
利用统计学方法分析两者之间是否存在差异,可以进而确定芯片中是否含有硬件木马。
假定在电路运行的某一时刻t,电路中有一部分标准单元的输出发生变化,假定第
i个组合逻辑标准单元输出端的初始值为Ai,当前值为Bi,该标准单元的扇出大小为Fi;假定
第j个时序逻辑标准单元输出端的初始值为Cj,当前值为Dj,该标准单元的扇出大小为Fj,在
该时刻,电路整体产生的电磁侧信道辐射表示为:
![]()
其中D(t)表示在时刻t电路产生的电磁侧信道辐射的相对幅值大小,单位为无量
纲,
表示异或运算;根据所需要的仿真点数和采样率的设置,对每一点所对应的时刻都按
上述方法计算出电磁侧信道辐射的相对幅值,然后进行描点、连线绘图即可得到电磁侧信
道时域仿真波形。
需要快速评估安全性,即是否存在侧信道信息泄露的问题,可以省略步骤(a)中布
局布线的步骤,利用综合后得到的电路网表进行后续仿真步骤;假定不需要高的仿真精度,
可以省略步骤(b)和(c)中对组合逻辑标准单元的统计,只利用时序逻辑标准单元的信息仿
真得到电磁侧信道曲线的峰值点;假定只进行了RTL代码的设计与综合,也可以在步骤(a)
中直接利用综合后得到的电路网表进行后续仿真步骤。
本发明的特点及有益效果是:
能够快速地进行数字专用集成电路电磁侧信道时域仿真并获取仿真波形,该方法
简单易用,而且精度可调,可以实现在芯片设计初期获取其电磁侧信道辐射信息,也可以用
于侧信道硬件木马检测中获取母本信息。
附图说明:
图1数字专用集成电路快速产生电磁侧信道时域仿真波形的方法步骤图。
图2反相器产生电磁辐射示意图。
具体实施方式
本发明针对数字专用集成电路提出了一种快速仿真获得其电磁侧信道时域波形
的方法,可以用于在设计的早期阶段对数字集成电路产品的侧信道安全性进行评估,以及
硬件木马检测中在无可信母本芯片的情况下用于仿真获取母本芯片的电磁侧信道信息。
1.本发明提出的数字专用集成电路快速产生电磁侧信道时域仿真波形的方法,以
芯片设计数据(RTL代码、工艺库)、测试激励和所需仿真点数为输入,输出时域仿真波形。仿
真波形的形式为一条曲线,其中横轴代表仿真点数,单位是个,纵轴代表各个仿真点的电磁
侧信道辐射相对幅值大小,单位为无量纲。
如图1所示,是数字专用集成电路快速产生电磁侧信道时域仿真波形的方法步骤
图,该方法包括以下步骤:(a)利用选定的工艺库对RTL代码进行综合(Synthesis)、布局布
线(Place&Route),得到芯片版图,并抽取最终的电路网表;(b)编写脚本统计该电路网表中
所有的组合逻辑标准单元和时序逻辑标准单元类别和实例化名称;(c)根据工艺库中lib文
件的信息,统计每个标准单元的扇出大小;(d)根据测试激励编写仿真testbench文件,仿真
时统计所有标准单元输出的翻转数目,并以该单元的扇出为权值对所有的翻转数目进行加
权求和;(e)根据所需要的仿真点数,以上一步骤所得的加权求和值为纵轴,以仿真点数为
横轴进行描点、连线绘图,即可得到该电路的电磁侧信道时域仿真波形。
2.数字专用集成电路产生电磁侧信道辐射的原理
数字专用集成电路产生的侧信道电磁辐射是由芯片内部的电流变化导致的。对于
一小段电流元,磁感应强度与电流的关系可以根据毕奥萨伐尔定律得到,电流元上任取一
点Q,电流密度为
(单位A/m2),则空间任意一点P的磁场:
![]()
其中
为磁感应强度(单位T),μ0为真空磁导率,其值为4π×10-7H/m,dUQ为线圈在Q
点处的微分。电流元在空间某点P处产生的磁感应强度的大小与电流元的大小成正比,与电
流元所在处到P点的位置矢量和电流元之间的夹角的正弦成正比,而与电流元到P点的距离
的平方成反比。
将上述电磁辐射的原理应用到集成电路芯片进行分析,以一个数字专用集成电路
中常见的反相器结构为例,如图2所示,反相器输出的负载电容用CL表示,当反相器的输出
发生高低电平之间的翻转时,会导致负载电容CL的充放电。由于数字电路的开关特性,工作
电流通常是瞬态脉冲电流,电路工作时,在这些充放电电流的作用下,金属导体不断产生电
磁辐射。
对于一般专用集成电路芯片而言,其电磁辐射原理表现为:时钟沿触发电路动作,
会发生状态的转换,下一个时钟沿到来之前,状态达到稳定,状态转换时各个标准单元输出
发生变化,输出端负载的充放电电流会导致电磁辐射。芯片在某一时刻的电磁侧信道辐射
表现为该时刻所有标准单元产生的辐射的叠加。
3.电磁侧信道攻击和基于侧信道的硬件木马检测的原理
电磁侧信道攻击和基于侧信道的硬件木马检测都需要采集集成电路芯片运行时
的电磁侧信道辐射,所用的设备一般是电磁线圈。其原理是通过闭合导体回路的磁通量发
生变化而产生感生电动势。当将电磁探头置于芯片表面进行电磁侧信道信息的采集时,磁
通量的变化导致电磁探头线圈的感生电动势产生变化,这一变化可以利用数字示波器采
集。
由于集成电路芯片在某一时刻的电磁侧信道辐射与当时芯片内部所有标准单元
的输出电平翻转情况有关,攻击者通过简单电磁侧信道分析(SEMA)或者差分电磁侧信道分
析(DEMA),可以利用采集的电磁侧信道曲线反推芯片内部的运算情况,进而获知存储于芯
片内部的秘密信息。
基于电磁侧信道的硬件木马检测原理在于:母本电路中额外引入的硬件木马,会
引起电路中电流的变化,产生电磁辐射信号的变化。如果能预先获得不含硬件木马的母本
电路的电磁侧信道曲线,然后在同样的测试激励下,对待测芯片进行电磁侧信道的测试,利
用统计学方法分析两者之间是否存在差异,可以进而确定芯片中是否含有硬件木马。
4.数字专用集成电路电磁侧信道时域仿真的原理
数字专用集成电路中的标准单元可以分为组合逻辑标准单元和时序逻辑标准单
元,为表述方便假定一共有m个组合逻辑标准单元和n个时序逻辑标准单元。时序逻辑标准
单元的输出是否发生变化受时钟沿的驱动,即只有当时钟沿到来时,其输出才会发生变化;
而组合逻辑标准单元的输出是否发生变化只与该单元的输入有关,从输入发生变化到输出
发生变化的时延由标准单元本身的结构决定。
根据数字专用集成电路产生电磁侧信道辐射的原理,只有当标准单元输出端电平
发生翻转,引起负载电容充放电,产生充放电电流才会进一步产生电磁侧信道辐射;如果输
出端电平不发生变化,不产生充放电电流,就不会有电磁侧信道辐射。由于时序逻辑标准单
元的输出是否发生变化是在时钟沿到来时,因此在某个时钟沿的时刻,电路中所有输出会
发生变化的时序逻辑标准单元会在同一时刻发生变化,产生较强的电磁侧信道辐射,表现
为电磁侧信道曲线上的峰值点。每一个时序逻辑标准单元产生的电磁侧信道辐射的强弱与
该标准单元的输出负载有关,输出负载越大,所产生的充放电电流越大,产生的电磁侧信道
辐射也越强;反之也成立。类似的,对于组合逻辑标准单元而言,其输出端电平的翻转不与
时钟沿同步,产生电磁侧信道辐射的时刻也不与时序逻辑标准单元的时刻相同,表现为电
磁侧信道曲线上峰值点之间的采样点。同样的,每一个组合逻辑标准单元产生的电磁侧信
道辐射的强弱与该标准单元的输出负载的大小也是正相关的。
假定在电路运行的某一时刻t,电路中有一部分标准单元的输出发生变化,假定第
i个组合逻辑标准单元输出端的初始值为Ai,当前值为Bi,该标准单元的扇出大小为Fi;假定
第j个时序逻辑标准单元输出端的初始值为Cj,当前值为Dj,该标准单元的扇出大小为Fj。根
据上述分析,在该时刻,电路整体产生的电磁侧信道辐射可以表示为:
![]()
其中D(t)表示在时刻t电路产生的电磁侧信道辐射的相对幅值大小,单位为无量
纲。
表示异或运算。
根据所需要的仿真点数和采样率的设置,对每一点所对应的时刻都按上述方法计
算出电磁侧信道辐射的相对幅值,然后进行描点、连线绘图即可得到电磁侧信道时域仿真
波形。
5.仿真方法在实际使用中的灵活性
根据实际使用环境的不同,本发明提出的仿真方法也可以进行变动。假定在芯片
的设计初期,芯片设计人员需要快速评估该设计的安全性,即是否存在侧信道信息泄露的
问题,可以省略步骤(a)中布局布线的步骤,利用综合后得到的电路网表进行后续仿真步
骤。假定本仿真方法使用者不需要高的仿真精度,可以省略步骤(b)和(c)中对组合逻辑标
准单元的统计,只利用时序逻辑标准单元的信息仿真得到电磁侧信道曲线的峰值点。再假
定芯片设计人员只进行了RTL代码的设计与综合,而将芯片的后端设计交付第三方设计者
进行,导致后端数据不可信,利用本仿真方法时,也可以在步骤(a)中直接利用综合后得到
的电路网表进行后续仿真步骤。
使用前先根据待仿真数字专用集成电路的应用场景,确定仿真所用测试激励,然
后根据仿真的目的(预估芯片电磁侧信道辐射还是获取母本侧信道信息用于硬件木马检
测)确定仿真点数,最后按照方法步骤图2操作即可。本发明的保护范围并不以上述实施方
式为限,本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入保
护范围。