【技术实现步骤摘要】
芯片版图级隐化硬件木马测试集生成方法
[0001]本专利技术涉及芯片版图级安全领域,具体涉及一种芯片版图级隐化硬件木马测试集生成方法。
技术介绍
[0002]2007年,伍斯特理工学院与IBM沃森研究中心联合发表文章,首次提出芯片硬件木马的概念(参见文献“Trojan Detection using IC Fingerprinting,”D.Agrawal,S.Baktir and D.K arakoyunlu,Proceedings of IEEE Symposium on Security and Privacy(SSP
’
07),pp.296
‑
310,2007)。硬件木马是对硬件底层电路的恶意修改或增加,以实现修改电路逻辑、窃取用户信息、破坏电路功能目的,具有极大的破坏力(参见文献“Hardware Trojan:Threats and emer ging solutions,”R.S.Chakraborty,N.Seetharam and B.Swarup,Proceedings of the 14th I EEE International High Level Design Validation and Test Workshop,pp.166
‑
171,2009),且插入方式灵活、位置隐蔽,能够严重影响芯片功能,很快吸引了大批研究人员投入到硬件木马检测与设计领域。
[0003]2008年,美国伊利诺伊大学Turek等人在处理器中插入影子逻辑 ...
【技术保护点】
【技术特征摘要】
1.一种芯片版图级隐化硬件木马测试集生成方法,其特征在于,该方法包括以下步骤:S1)版图信息提取获取一个电路的寄存器传输级RTL代码,利用电子设计自动化EDA工具完成寄存器传输级RTL电路的逻辑设计与物理设计,得到芯片版图布局结果,分析该芯片版图布局结果,编写辅助脚本,获取芯片版图信息点集合N={n1,n2,
…
,n
l
×
r
},其中,芯片版图信息点n
i
对应着第i个芯片版图区域,i=1,2,...,l
×
r;l、r分别表示芯片版图横向和纵向划分的单元数;分别计算任意一个芯片版图信息点n
i
的稳态信息,即稳态温度和稳态到达时间将每个芯片版图信息点的稳态信息总结为稳态特征向量:其中,表示将稳态温度和稳态到达时间拼接构成芯片版图信息点n
i
的稳态特征向量;在完成对每个芯片版图信息点的稳态特征向量提取后,即可进行芯片版图的脆弱性分析;S2)版图脆弱性分析依据芯片版图布局布线原理,EDA工具利用逻辑网表和标准单元库信息,进行芯片物理版图设计,EDA工具首先将标准单元库中的单元成行摆放,在之后的布线环节中,再通过金属层上的布线通道实现器件互联;分析步骤S1)得到的芯片版图布局结果中的空白布局空间和布线完成后的未使用布线空间,记当前工艺库中最小标准单元面积为s
min
,芯片版图区域n
i
的空白布局空间为空白布线通道总数则芯片版图区域n
i
会被硬件木马插入的脆弱性指数的计算公式为:对每个芯片版图信息点均进行如上分析计算,即可得到芯片版图脆弱性矩阵CV:矩阵CV描述了各芯片版图信息点在被硬件木马植入时的脆弱性指数,当越小,芯片版图资源越少,硬件木马插入越困难,芯片版图区域n
i
的脆弱性越高,但紧凑的布局资源也会增大n
i
的物理场参数,使硬件木马检测变得更加困难;在完成整个芯片版图的脆弱性分析之后,即可开始进行测试集生成;S3)测试集生成将芯片版图脆弱性矩阵CV中各芯片版图信息点在被硬件木马植入时的脆弱性指数升序排列,选取其中前q个脆弱性指数对应的芯片版图信息点作为低脆弱性点,进行硬件木马植入,其中q≤l
×
r且q为正整数;由这q个低脆弱性点组成芯片版图信息点集合N1,将N1作为目标植入区域,设硬件木马器件集合为T,集合T的大小为c3,将硬件木马器件集合T植入N1的步骤包括:S31)提取版图拓扑结构
利用EDA工具提取N1上原始器件集合A,集合A的大小设为c1,并记录集合A中每个标准器件c的邻接器件、坐标p、宽度w信息,由此提取出芯片版图拓扑结构,芯片版图拓扑结构提取完成后,得到任意两个邻接器件之间的空白布局空间,采用坐标和宽度组成一个s元素,唯一对应该空白布局空间,将该s元素加入到集合S中,集合S的大小c0,记录集合S中任一s元素的坐标、宽度;S32)顺序植入利用顺序植入法进行硬件木马器件的植入,具体步骤包括:S321)分别将集合S和集合T中各元素依宽度递减排序,得到有序队列S321)分别将集合S和集合T中各元素依宽度递减排序,得到有序队列其中s
j
表示有序队列Q
S
中宽度从大到小排序序号为j的元素,t
j
′
表示有序队列Q
T
中宽度从大到小排序序号为j
′
的元素,j=1,2,...,c0,j
′
=1,2,...,c3,然后跳转至步骤S322);S322)若Q
T
为空,则跳转至步骤S323);若Q
T
不为空但Q
S
为空,则顺序植入法直接结束;当Q
T
、Q
S
均不为空时,分别取Q
S
、Q
T
队首元素,分别记做s0、t0,其中s0宽度为坐标为t0宽度为坐标为若则将s0、t0出队,并令更新集合T中队首元素的坐标;更新Q
S
、Q
T
队首元素,重复步骤S322);若则判定存在宽度过大无法植入的硬件木马器件,顺序植入法直接结束;S323)依据集合T中各元素更新后的坐标信息,输出坐标更新脚本,在EDA工具中运行该脚本更新芯片版图布局,得到隐化硬件木马的芯片版图,即芯片版图级隐化硬件木马测试集生成完成;若顺序植入法无法完成对硬件木马器件集合T的完整布局从而得到芯片版图级隐化硬件木马测试集,则需要对步骤S1)得到的芯片版图布局结果中器件的位置进行适当的更改,再尝试进行硬件木马植入,具体步骤如S33)和S34)所示;S33)有效解搜索首先提出有效布局位置的概念,一个器件在芯片版图上的有效布局位置指的是该器件在当前位置未与其他器件互相重叠而造成布局冲突,即该器件能够完成芯片版图的设计流程;另外,集合A和集合T中的所有元素均处在有效布局位置时的各个器件的坐标值集合称为有效布局解;采用顺序植入法在不更改N1原始器件集合A中原始器件的位置的情况下无法完成芯片版图布局时,将采用全局搜索的方法进行布局解搜索:将集合A中原始器件从所属区域N1中全部剔除,只保留tapfiller器件,其中,tapfiller器件是在EDA工具生成版图过程中植入的一种特殊的非逻辑器件,用于消除芯片的闩锁效应,因此在对芯片版图进行布局更改时,不对tap filler器件的坐标位置进行更改,此时区域N1的布局空间余量由tapfiller器件与N1边缘划分;有效解搜索的目的是要判定是否存在至少一个有效布局解,过程如下:S331)针对去除所有原始器件,只保留tapfiller器件的区域N1,更新集合S得到集合S
′
,设当前集合S
′
中共c2个元素,并将集合S
′
中各元素依宽度递减排序,得到有序队列其中s
′
j
″
有序队列表示Q
S
′
中宽度从大到小排序序号为j
″
的元素,j
″
=1,
2,...,c2,将集合A和集合T中元素均视为待布局器件a
i
′
,i
′
=1,2...,c1+c3,将各待布局器件a
i
′
依照宽度递减排序,得到有序队列S332)若Q
A
为空,则跳转至步骤S334);若Q
A
不为空但Q
S
′
为空,则判定不存在有效布局解,需要跳转至步骤S35),重新分析芯片版图布局结果;若Q
A
、Q
S
′
均不为空,则分别取Q
A
、Q
S
′
队首元素,分别记为a0、s
′0,a0宽度为坐标为s
′0宽度为坐标为若则跳转至步骤S333);若判定当前芯片版图布局结果中对芯片版图划分过细,无法完成硬件木马器件植入,需要增大芯片版图划分间隔,重新分析芯片版图布局结果以获取芯片版图信息点集合,即跳转至步骤S35);S333)初始化有效解搜索算法深度H=1,并执行步骤S3331);S3331)设i
″
=0,其中i
″
是有效解搜索算法层内变量,而非全局变量,另外由于有效解搜索算法行进过程中会对Q
S
′
进行更新,所以有序队列Q
S
′
的尺寸c2也是层内变量,然后跳转至步骤S3332);S3332)若当前Q
A
为空,则跳转至步骤S334),否则,若i
″
>c2,则判定无有效解,跳转至步骤S35);若i
″
≤c2,则选取Q
S
′
中元素s
′
i
″
和Q
A
的队首元素a0,其中s
′
i
″
宽度为坐标为并尝试将a0植入到s
′
i
″
中...
【专利技术属性】
技术研发人员:王坚,李坤,顾旭辉,李桓,陈哲,郭世泽,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。