【技术实现步骤摘要】
针对IP固核网表的硬件后门移除方法
本专利技术属于硬件安全
,具体涉及一种针对IP固核网表的硬件后门移除方法的设计。
技术介绍
当今社会信息高度全球化,集成电路设计越来越复杂,但是对软件设计的成本和时间要求也逐步提高。所以,芯片生产大多采用流水线的工作方式,在设计、生产、测试等阶段需多家厂商共同完成,且使用大量的第三方IP。芯片制造过程的不透明,导致硬件设备存在巨大的安全隐患。因此剔除IP核中的硬件后门非常有意义。目前主流的硬件后门检测方法分为3类:边信道信号分析法、逆向工程法、逻辑验证法。美国Jin等人基于边信道信号,提出一种全延时路径指纹检测方法。Salmani提出一种基于门级网表节点的可测试性和无监督机器学习的方法,能够在无需激活木马的情况下,有效地识别网表中的硬件后门。Hicks等人提出一种未使用的电路识别(UCI)的检测方法,在芯片设计时检测隐藏在电路中的恶意后门。目前大量的研究都集中在识别集成电路中是否存在硬件后门,而对如何剔除硬件木马鲜有研究。Bao等人使用逆向工程法,通过逆向后的单层成像图与可信任的成像图之间的差值来检测芯片中的硬件木马。这种方法虽然可以定位到硬件木马的位置,但是其检测方法本身就已经对芯片造成不可逆的破坏,也就无法剔除后门电路,实现芯片的再利用。
技术实现思路
本专利技术的目的是提出一种针对IP固核网表的硬件后门移除方法,在不影响网表正常功能的情况下,能够完全剔除硬件后门。本专利技术的技术方案为:针对IP固核网表的硬件后门移除方法,包括 ...
【技术保护点】
1.针对IP固核网表的硬件后门移除方法,其特征在于,包括以下步骤:/nS1、根据IP固核网表中的逻辑单元集合建立有向图模型;/nS2、利用有向图模型中节点的连接关系识别木马电路的边界,从中提取出木马起始挂载节点;/nS3、计算木马起始挂载节点的可控制性值,根据可控制性值固化木马起始挂载节点,并向后传播固态信号,删除无效逻辑单元;/nS4、层级遍历木马电路的有向图节点,逐层修改木马电路,对逻辑单元进行去输入冗余,获取输出节点状态,并根据输出节点状态修改逻辑单元,传播固态信号,删除无效电路,得到移除硬件后门后的修正电路。/n
【技术特征摘要】
1.针对IP固核网表的硬件后门移除方法,其特征在于,包括以下步骤:
S1、根据IP固核网表中的逻辑单元集合建立有向图模型;
S2、利用有向图模型中节点的连接关系识别木马电路的边界,从中提取出木马起始挂载节点;
S3、计算木马起始挂载节点的可控制性值,根据可控制性值固化木马起始挂载节点,并向后传播固态信号,删除无效逻辑单元;
S4、层级遍历木马电路的有向图节点,逐层修改木马电路,对逻辑单元进行去输入冗余,获取输出节点状态,并根据输出节点状态修改逻辑单元,传播固态信号,删除无效电路,得到移除硬件后门后的修正电路。
2.根据权利要求1所述的硬件后门移除方法,其特征在于,所述步骤S1包括以下分步骤:
S11、将IP固核网表中的逻辑单元集合C划分为用于存放木马电路逻辑单元的木马逻辑单元集CT和用于存放普通电路逻辑单元的普通逻辑单元集CN;
S12、遍历逻辑单元集合C,对每个逻辑单元c∈C,提取c的输出节点n加入到节点集V中,从而构建得到节点集V;
S13、遍历逻辑单元集合C,对每个逻辑单元c∈C,为c的每个输入输出对创建有向边<ni,nj>,并将有向边<ni,nj>加入到边集E中,从而构建得到边集E;其中ni为c的输入节点,nj为c的输出节点;
S14、根据节点集V和边集建立有向图模型G(V,E)。
3.根据权利要求2所述的硬件后门移除方法,其特征在于,所述步骤S12中对于节点ni∈V且逻辑单元ci∈C,则ni和ci可相互索引,即ni→ci和ci→ni都成立。
4.根据权利要求3所述的硬件后门移除方法,其特征在于,所述步骤S12中的节点集V分为木马节点集VT和普通节点集VN。
5.根据权利要求4所述的硬件后门移除方法,其特征在于,所述步骤S2包括以下分步骤:
S21、设置访问过的节点集木马起始挂载节点集合
S22、选择任意木马节点nT∈VT且将木马节点nT加入访问过的节点集W和队列结构R中;
S23、判断队列结构是否成立,若是则取队列结构R的队头元素nTi,进入步骤S24,否则进入步骤S28;
S24、在有向图模型G(V,E)中获取队头元素nTi的输入集Ii和输出集Oi;
S25、遍历输入集Ii,将满足nj∈Ii且的节点nj加入访问过的节点集W和队列结构R中;
S26、遍历输出集Oi,将满足nj∈Oi且的节点nj加入访问过的节点集W中;
S27、将满足的队头元素nTi加入木马起始挂载节点集合S1中,返回步骤S23;
S28、判断是否对于任意木马节点nT∈VT都满足nT∈W,若是则输出得到木马起始挂载节点集合S1,否则返回步骤S22。
6.根据权利要求5所述的硬件后门移除方法,其特征在于,所述步骤S3包括以下分步骤:
S31、获取木马逻辑单元集CT和木马起始挂载节点集合S1,并设置木马起始挂载节点的下一层节点集合
S32、从木马起始挂载节点集合S1中取出一个节点ni;
S33、根据SCOAP算法计算节点ni的可控制性值CC1(ni)和CC0(ni);
S34、从有向图模型G(V,E)中获取节点ni的输出节点集Oi1,从木马逻辑单元集CT中取出节点ni对应的逻辑单元ci;
S35、判断CC1(ni)<CC0(ni)是否成立,若是则将节点ni设置为固态值“1'b1”,进入步骤S36,否则将节点n...
【专利技术属性】
技术研发人员:王坚,杨鍊,李桓,陈哲,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。