电子科技大学王坚获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉电子科技大学申请的专利芯片版图级隐化硬件木马测试集生成方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN114996062B 。
龙图腾网通过国家知识产权局官网在2025-06-27发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202210505611.6,技术领域涉及:G06F11/22;该发明授权芯片版图级隐化硬件木马测试集生成方法是由王坚;李坤;顾旭辉;李桓;陈哲;郭世泽设计研发完成,并于2022-05-10向国家知识产权局提交的专利申请。
本芯片版图级隐化硬件木马测试集生成方法在说明书摘要公布了:本发明公开了一种芯片版图级隐化硬件木马测试集生成方法,该方法首先利用一个电路的寄存器传输级RTL代码得到芯片版图布局结果,并由此获取芯片版图信息点集合;然后分析芯片版图布局结果中空白布局空间和布线完成后的未使用布线空间,得到芯片版图脆弱性矩阵;选取芯片版图脆弱性矩阵中的低脆弱性点进行硬件木马植入以生成芯片版图级隐化硬件木马测试集。本发明在集成电路物理场脆弱性分析的基础上,针对版图级硬件木马攻击方式,提出的硬件木马测试集生成方法通过对芯片版图信息进行分析,并对芯片版图进行修改,得到了一种隐蔽性较好的硬件木马测试集,可以推动硬件木马检测技术的发展,提升芯片的防御能力。
本发明授权芯片版图级隐化硬件木马测试集生成方法在权利要求书中公布了:1.一种芯片版图级隐化硬件木马测试集生成方法,其特征在于,该方法包括以下步骤: S1版图信息提取 获取一个电路的寄存器传输级RTL代码,利用电子设计自动化EDA工具完成寄存器传输级RTL电路的逻辑设计与物理设计,得到芯片版图布局结果,分析该芯片版图布局结果,编写辅助脚本,获取芯片版图信息点集合N={n1,n2,...,nl×r},其中,芯片版图信息点ni对应着第i个芯片版图区域,i=1,2,...,l×r;l、r分别表示芯片版图横向和纵向划分的单元数;分别计算任意一个芯片版图信息点ni的稳态信息,即稳态温度和稳态到达时间将每个芯片版图信息点的稳态信息总结为稳态特征向量: 其中,表示将稳态温度和稳态到达时间拼接构成芯片版图信息点ni的稳态特征向量;在完成对每个芯片版图信息点的稳态特征向量提取后,即可进行芯片版图的脆弱性分析; S2版图脆弱性分析 依据芯片版图布局布线原理,EDA工具利用逻辑网表和标准单元库信息,进行芯片物理版图设计,EDA工具首先将标准单元库中的单元成行摆放,在之后的布线环节中,再通过金属层上的布线通道实现器件互联;分析步骤S1得到的芯片版图布局结果中的空白布局空间和布线完成后的未使用布线空间,记当前工艺库中最小标准单元面积为smin,芯片版图信息点ni的空白布局空间为空白布线通道总数则芯片版图信息点ni会被硬件木马插入的脆弱性指数的计算公式为: 对每个芯片版图信息点均进行如上分析计算,即可得到芯片版图脆弱性矩阵CV: 矩阵CV描述了各芯片版图信息点在被硬件木马植入时的脆弱性指数,当越小,芯片版图资源越少,硬件木马插入越困难,芯片版图信息点ni的脆弱性越高,但紧凑的布局资源也会增大ni的物理场参数,使硬件木马检测变得更加困难; 在完成整个芯片版图的脆弱性分析之后,即可开始进行测试集生成; 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中各元素依宽度递减排序,得到有序队列 其中sj表示有序队列QS中宽度从大到小排序序号为j的元素,tj′表示有序队列QT中宽度从大到小排序序号为j′的元素,j=1,2,...,c0,j′=1,2,...,c3,然后跳转至步骤S322; S322若QT为空,则跳转至步骤S323;若QT不为空但QS为空,则顺序植入法直接结束;当QT、QS均不为空时,分别取QS、QT队首元素,分别记做s0、t0,其中s0宽度为坐标为t0宽度为坐标为若则将s0、t0出队,并令更新集合T中队首元素的坐标;更新QS、QT队首元素,重复步骤S322;若则判定存在宽度过大无法植入的硬件木马器件,顺序植入法直接结束; S323依据集合T中各元素更新后的坐标信息,输出坐标更新脚本,在EDA工具中运行该脚本更新芯片版图布局,得到隐化硬件木马的芯片版图,即芯片版图级隐化硬件木马测试集生成完成; 若顺序植入法无法完成对硬件木马器件集合T的完整布局从而得到芯片版图级隐化硬件木马测试集,则需要对步骤S1得到的芯片版图布局结果中器件的位置进行更改,再尝试进行硬件木马植入,具体步骤如S33和S34所示; S33有效解搜索 首先提出有效布局位置的概念,一个器件在芯片版图上的有效布局位置指的是该器件在当前位置未与其他器件互相重叠而造成布局冲突,即该器件能够完成芯片版图的设计流程;另外,集合A和集合T中的所有元素均处在有效布局位置时的各个器件的坐标值集合称为有效布局解; 采用顺序植入法在不更改N1原始器件集合A中原始器件的位置的情况下无法完成芯片版图布局时,将采用全局搜索的方法进行布局解搜索:将集合A中原始器件从所属区域N1中全部剔除,只保留tapfiller器件,其中,tapfiller器件是在EDA工具生成版图过程中植入的一种特殊的非逻辑器件,用于消除芯片的闩锁效应,因此在对芯片版图进行布局更改时,不对tapfiller器件的坐标位置进行更改,此时区域N1的布局空间余量由tapfiller器件与N1边缘划分; 有效解搜索的目的是要判定是否存在至少一个有效布局解,过程如下: S331针对去除所有原始器件,只保留tapfiller器件的区域N1,更新集合S得到集合S′,设当前集合S′中共c2个元素,并将集合S′中各元素依宽度递减排序,得到有序队列其中s′j″有序队列表示QS′中宽度从大到小排序序号为j″的元素,j″=1,2,...,c2,将集合A和集合T中元素均视为待布局器件ai′,i′=1,2…,c1+c3,将各待布局器件ai′依照宽度递减排序,得到有序队列 S332若QA为空,则跳转至步骤S334;若QA不为空但QS′为空,则判定不存在有效布局解,需要跳转至步骤S35,重新分析芯片版图布局结果;若QA、QS′均不为空,则分别取QA、QS′队首元素,分别记为a0、s′0,a0宽度为坐标为s′0宽度为坐标为若则跳转至步骤S333;若判定当前芯片版图布局结果中对芯片版图划分过细,无法完成硬件木马器件植入,需要增大芯片版图划分间隔,重新分析芯片版图布局结果以获取芯片版图信息点集合,即跳转至步骤S35; S333初始化有效解搜索算法深度H=1,并执行步骤S3331; S3331设i″=0,其中i″是有效解搜索算法层内变量,而非全局变量,另外由于有效解搜索算法行进过程中会对QS′进行更新,所以有序队列QS′的尺寸c2也是层内变量,然后跳转至步骤S3332; S3332若当前QA为空,则跳转至步骤S334,否则,若i″>c2,则判定无有效解,跳转至步骤S35;若i″≤c2,则选取QS′中元素s′i″和QA的队首元素a0,其中s′i″宽度为坐标为并尝试将a0植入到s′i″中,这里分a、b两种情况讨论: a若则a0出队,并令计算s′i″被植入a0后的宽度余量更新s′i″的信息其中,分别表示坐标的x分量和y分量,然后对QS′中的各元素重新依宽度递减排序,令H=H+1,有效解搜索算法前进一层,然后跳转至步骤S3331; b若则有效解搜索算法回退一层,令H=H-1,跳转至步骤S3332; S334有效解搜索跳转至本步骤S334时,说明有效布局解存在,能够跳转至步骤S34进行最优布局解搜索; S34最优布局解搜索 EDA工具依照标准单元库进行器件布局时,存在最小宽度度量w0,即布局器件、芯片版图的宽度均为整数个w0,因此当存在有效布局解时,能够对芯片版图的器件布局进行更细一步的划分,以尽可能小的布局改动为目标,寻找最优布局解;针对集合A中的原始器件,这里定义集合A中所有器件的整体偏移程度为: 其中,pj″′是集合A中编号为j″′的原始器件的初始坐标,p′j″′是集合A中编号为j″′的原始器件在有效解搜索完成时的坐标,其中有效解搜索完成指的是集合A和集合T中所有待布局器件都被植入到有效布局位置,||·||2为L2范数运算,j″′=1,2,...,c1,最优布局解搜索的流程包括: S341初始化distA=+∞,并初始化最优布局解搜索算法深度H′=1,并执行步骤S3411; S3411设置i″′=0、k=-1,其中i″′、k均为最优布局解搜索算法层内变量,而非全局变量,然后跳转至步骤S3412,最优布局解搜索算法层对应着QA中的器件植入,每当完成一个器件的植入时,最优布局解搜索算法前进一层,算法深度H′加1; S3412若当前QA为空,则跳转至步骤S342,否则,令i″′=i″′+1,有序队列QS′大小为c2,若i″′>c2:此时,当H′=1时,跳转至步骤S343;当H′≠1时,最优布局解搜索算法回退一层,H′=H′-1,跳转至S3413;若i″′≤c2,取当前QA队首元素a0,并从QS′中选取s′i″′,其中a0的宽度为坐标为s′i″′的宽度为坐标为尝试将a0植入到s′i″′中,分1、2、3三种情况讨论: 1若则a0出队,并令同时s′i″′出队,并令H′=H′+1,然后跳转至步骤S3411; 2若则s′i″′出队,并计算 其中slack′表示s′i″′被植入a0后,s′i″′中的宽度余量的宽度余量,c4表示宽度余量slack′中包含的最小宽度度量w0的个数,然后跳转至步骤S3413; 3若若此时H′=1,则跳转至步骤S342;若此时H′≠1,则所述最优布局解搜索算法回退一层,H′=H′-1,然后跳转至步骤S3413; S3413令k=k+1,若k>c4,则所述最优布局解搜索算法回退一层,H′=H′-1,然后跳转至步骤S3413;若k≤c4,则令其中k×w0表示坐标k×w0,0的x分量,0表示坐标k×w0,0的y分量;新建空白布局空间元素s′i″′-1、s′i″′-2,并初始化s′i″′-1和s′i″′-2的信息如下: 其中,s′i″′-1是将a0植入s′i″′后的左侧剩余空白布局空间,s′i″′-2是将a0植入s′i″′后的右侧剩余空白布局空间,分别表示s′i″′-1和s′i″′-2的宽度,分别表示s′i″′-1和s′i″′-2的坐标,分别表示坐标的x分量和y分量;将s′i″′-1和s′i″′-2加入到队列QS′中,并对QS′以宽度递减重新排序,并令H′=H′+1,然后跳转至步骤S3411; S342跳转到本步骤S342时,集合A和集合T中的所有器件均处在有效布局位置,称此时获得了一次有效布局解,计算本次布局解的dist值,若dist<distA,则更新distA=dist,记录本次布局解中集合A和集合T中各元素更新后的坐标值,然后最优解搜索算法回退一层,即H′=H′-1,然后跳转至步骤S3413;若dist≥distA,最优解搜索算法直接回退一层,即H′=H′-1,然后跳转至步骤S3413; S343当前集合A和集合T中各元素在给定目标植入区域N1上的布局位置搜索完成,当前记录的布局解就是最优布局解,根据记录的当前布局解中集合A和集合T中各元素更新后的坐标信息值,输出坐标更新脚本,在EDA工具中运行该坐标更新脚本更新芯片版图布局,得到隐化硬件木马的芯片版图,即芯片版图级隐化硬件木马测试集生成完成; S35重新划分芯片版图 跳转至本步骤S35时,说明不存在有效布局解,此时无法生成芯片版图级隐化硬件木马测试集,需要令l=l-1,r=r-1增大芯片版图划分间隔,然后跳转至步骤S1,重新分析芯片版图布局结果以获取芯片版图信息点集合,直至能够生成芯片版图级隐化硬件木马测试集。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人电子科技大学,其通讯地址为:611731 四川省成都市高新区(西区)西源大道2006号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。