一种基于模糊处理的抗硬件木马电路设计方法

文档序号:6367680阅读:99来源:国知局
专利名称:一种基于模糊处理的抗硬件木马电路设计方法
技术领域
本发明涉及一种抗硬件木马电路设计方法,具体是基于模糊处理的硬件木马电路设计方法。
背景技术
随着集成电路生产全球化进程的不断加速,越来越多的集成电路厂商选择通过外包方式进行电路生产。外包生产的优势是大幅度地节约了成本,并且缩短了产品从设计生产到推向市场的时间。然而,外包生产方式使电路的设计(design)与制造(manufacture)分离,即在整个电路生产流程中恶意的第三方可有机会修改设计。这将对电路的真实性(authentication)及可信性(trust)带来至关重要的影响。恶意方(adversary)可以在生产过程中,对电路的结构进行修改,即加入硬件木马(hardware trojan),从而使电路失效或泄露关键信息。防止电路受到木马攻击的方式有两种第一、选择经过可信性认证的制造商(foundry)进行生产;第二、开发出抗木马的电路设计方法以及针对木马的电路测试方法,使恶意方难以植入木马,并使已经植入的木马更容易检测。第一种方式将引入复杂的制造商认证过程,使成本大幅度提升,与当前的全球化生产供应模式相违背。第二种方式改进电路设计及检测流程,增强电路的抗木马能力,提升芯片与系统的安全性,是当前防止恶意攻击和抵抗硬件木马的主要方式。改进电路设计及检测流程的方法具体分为两种,即硬件木马测试与可信性设计(design for trust)。前者的着眼点是如何把已经植入的木马检测出来;而后者更加关注如何提高设计的健壮性(robustness),从而增加添加硬件木马添加的难度。硬件木马测试的核心思想是,无论恶意方植入任何模式的木马,都会对电路的拓扑结构造成一定程度的改变,进而影响电路的电学參数。通过测量电路的静态电流、功耗或延时等旁路信息,可判断电路中是否已经被植入了木马。然而,随着电路规模的日益増大,木马在整个电路中的占比逐渐下降,对整体电路影响逐渐减小,对木马的检测造成了挑战;同吋,エ艺參数的波动同样会对电路的电学特性产生影响,这进一步提高了木马检测和分辨的难度。因此,可信性设计的方法愈发得到研究者重视。该方法的核心思想是电路设计过程中,在电路中添加部分模块,检测电路状态、记录电路信息或是改变电路工作模式,增加恶意方攻击难度,并使木马电路更加容易地在测试流程中被检测出来。Jeyavijayan Rajendran提出了一种基于震荡环的可信设计(Design for Trust)方法,该方法利用ー个MUX做选通信号,把电路中的组合逻辑连接成为环路。通过在电路中添加反相器,使每个环路中的非门个数为奇数,实现环路震荡,并记录下电路的特征频率。如果恶意方在电路中添加了木马,该特征频率将发生改变,测试者能够通过观测特征频率的变化将木马检测出来。该方法实质上是ー种指纹(fingerprint)的方法,所以会受到エ艺波动的影响。此外,该方法只能针对组合逻辑部分进行测试,对于时序逻辑无能为力。为了实现对时序逻辑的测试,Mainak Banga提出了一种由译码器控制D触发器Q和非Q信号的模糊处理(Obfuscation)方法。其原理如图I中左图所示意,其中小椭圆I表示电路正常工作时经常达到的状态,紫色圆环2表示电路正常工作时很少达到的状态。对于恶意方来说,其目的即为把木马植入紫色圆环2之中。然而,由于设计方増加了控制结构,利用了 Q和非Q,因此,在检测时,电路能够达到更多的状态,即为图中的大椭圆3所示,因此,部分插入紫色环的木马能够被检测出来。该方法的主要缺点是D触发器由译码其控制,因此攻击方可以穷尽译码器输入,进而推測出电路的完成状态集合,从而实施更加有效的攻击。

发明内容
本发明的技术目的是在电路中增加有限状态机结构,控制电路中的D触发器输出端,完成对电路的模糊处理,从而使恶意方获取错误的电路结构信息,进而使其基于错误信息的木马攻击失效。具体原理如图I右图所示,攻击者并不知道状态机FSM的密钥,对电路节点进行仿真时,将得到错误的信息,即错误地判定蓝色圆环(而不是紫色圆环)为木马攻击部位。这样,当其 错误地向蓝色圆环植入木马后,会出现三种情况标号4,木马通过容易达到的状态检验出来;标号5,木马并不影响正常模式电路功能;标号6,无法检测的木马。本发明实现目的的技术方案是本发明提供的基于模糊处理的抗硬件木马电路设计方法,如图2所示,主要由两部分结构组成第一部分是ー个有限状态机FSM,该有限状态机使电路工作于模糊状态及工作状态两种模式下——只有施加特定的输入序列密钥才能使电路从模糊状态跳转到エ作状态;第二部分是修改了 D触发器结构的原始电路——通过ー个多路选择器MUX使D触发器的输出为Q或非Q两种信号,而MUX的控制端信号来自FSM。如图3所示,电路设计的流程主要分为三个部分。第一部分是设计有限状态机FSM,设计者可以根据需求设定密钥序列,以达到模糊化电路的目的。第二部分是对原始电路中的D触发器进行分组首先读入电路的结构网表,按照图4所示算法,分析不同D触发器的连接关系,基于这种连接关系生成矩阵;然后按照图5所示算法,对D触发矩阵进行处理,最終得到分组結果。第三部分基于前两部的FSM网表及分组信息,把原始电路和FSM连接为整体,并加入扫描链,形成最終的抗木马电路网表。图5为具体的D触发器分组算法,其核心思想是,尽可能地把连接关系相似的D触发器分到不同的组中,而把连接关系不同的D触发器放入相同的组中,从而尽可能多地增加电路可达到的状态。具体方法为,首先找到扇入驱动电路(fanin cone)最大的几个向量作为每组的首个向量;然后对于每一組,找到与该组的首个向量相差最大的向量放入该组之中。本发明的技术效果在于本发明对电路中的D触发器进行自动的合理分组,并增加有限状态机FSM完成对于D触发器的控制,以此实现电路结构模糊化。理论计算表明,对于ー个3比特位有限状态机FSM,恶意方猜对密钥从而使电路达到正常工作状态的概率为P = (1/2)~3*(1/2)~3*(1/2)~3*(1/2)~3*(1/2)~3*(1/2)~3*(1/2)~3*(1/2)~3< 1/10000000并且正常工作状态并不能被維持,因此恶意方在攻击时只能获取被模糊化的电路信息,从而增加了木马攻击的难度。同吋,对于恶意方基于模糊化信息添加的木马,本发明的电路结构能够实现有效的检测。


图I本发明与传统方法原理对比图。图2本发明电路结构示意图。
图3本发明电路设计流程。图4本发明D触发器连接关系矩阵生成算法。图5本发明D触发器分组算法。
具体实施例方式以下结合附图详细描述本发明所提供的基于模糊处理的抗硬件木马电路设计方法,但不构成对本发明的限制。本发明基于模糊处理的抗硬件木马电路设计方法,其步骤包括第一部分设计有限状态机FSM步骤I :编写有限状态机Verilog行为级代码;步骤2 :用Modelsim SE进行仿真,验证状态机功能。此处的状态机应当尽量隐藏工作模式的状态,同时设计方在本步骤设计启动密钥;步骤3 :使用Design Compiler对行为级代码进行综合,状态机输出即为D触发器MUX的控制信号;第二部分对D触发器进行分组步骤4 :使用Microsoft Visual C++6. 0读入电路的Verilog代码网表,处理生成D触发器连接关系矩阵文件,对于该矩阵上第i行,第j列的点,如果触发器j在触发器i的fanin cone中,则该点的值为1,否则,该点的值为0,具体分为以下3个步骤4. I读入电路网表,以指针方式建立图结构;4. 2循环遍历D触发器,进行深度优先搜索,确定每个D触发器的fanin cone ;4. 3输出D触发器的连接关系矩阵至文本文档;步骤5 :用Microsoft Visual C++6. 0读入D触发器连接关系矩阵,通过下述算法处理,最終生成D触发器分组结构。具体算法分为以下5个步骤5. I 寻找 fanin cone 最大的向量 MAX,置入第一组,TW = MAX,Tl = MAX ;5. 2寻找与MAX最相似向量S,置入第二组,Tff = T~S,T2 = S ;5. 3循环5. 2,寻找剩余的G_2个向量分别置于剩余G_2组,G为分组数;5. 4对于第i组,寻找与Ti相差最大的向量Y,置入该组,Ti = Ti~Y ;5. 5循环5. 4,直至所有向量都被分入各个组别之中;第三部分连接各模块,插入扫描链,完成抗硬件木马电路设计步骤6 :修改原始电路网表,同时利用D触发器的Q和非Q输出端并插入选择器MUX ;步骤7 :根据步骤5的触发器分组信息对原始电路的D触发器进行分组,并把相同组别中的MUX与对应的有限状态机FSM输入相连接;步骤8 :使用Design Compiler对步骤7的电路进行综合,然后插入扫描链,完成抗硬件木马电路的最終设计。 本发明抗硬件木马电路设计方法,通过对电路中的D触发器进行合理的分组,利用有限状态机方式对电路进行模糊处理,使恶意方无法获取电路正常工作时的信息,进而无法实施有效的木马攻击,是ー种切实可行并有效的抗硬件木马的电路设计方法。
权利要求
1.一种基于模糊处理的抗硬件木马(Hardware Trojan)电路设计方法,其特征在于,包含两个部分第一部分是ー个有限状态机FSM;第二部分是修改了 D触发器结构的原始电路——利用D触发器的Q和非Q端,把它们连接入一个多路选择器MUX,而MUX的控制端信号来自FSM。其中,为控制原始电路中的D触发器,需要对D触发器进行分组,具体的分组算法如下 1)读入电路网表,建立电路图结构,然后遍历所有D触发器进行深度优先搜索,判断其它D触发器是否处于其扇入驱动电路(fanin cone)之中,进而输出D触发器连接关系矩阵。
2)读入D触发器连接关系矩阵,设需要分组数为G,找出fanincone最大的D触发器MAX,置入第I组;然后找出与MAX的fanin cone最为相似的D触发器置入剩余的G-I组;最后找出与每ー组中首个D触发器的fanin cone相差最大的D触发器,置入该组之中,从而完成分组。
2.如权利要求I所述的方法,其特征在干,同时利用D触发器的Q和非Q端ロ,连入ー个MUX,借此增加电路能够达到的状态数目。
3.如权利要求I所述的方法,其特征在于,通过有限状态机FSM的输出端,控制MUX的输出,只有经过特定的序列密钥后,FSM实现特定输出,才能使电路达到正常工作状态。
4.如权利要求I所述的方法,其特征在于,在连接FSM与原始电路时,对D触发器进行分组,具体方法为先根据D出发器之间的连接关系,生成D触发器的fanin cone矩阵,然后把fanin cone相近的D触发器置于不同的组别之中,而把fanin cone差距较大的D触发器置于相同的组别之中。
全文摘要
本发明公开了一种基于模糊处理的抗硬件木马(Hardware Trojan)电路设计方法,该方法主要包括两个部分第一部分是一个有限状态机FSM;第二部分是修改了D触发器结构的原始电路——利用D触发器的Q和非Q端,把它们连接入一个多路选择器MUX,而MUX的控制端信号来自FSM。本发明在电路中添加了有限状态机,一方面增加了电路可以达到的状态;另一方面使攻击者无法获取电路正常工作模式的信息,而只能够基于模糊模式添加木马,这些木马能够在电路测试的过程中被检测出来。相比现有技术,本发明增强了对电路正常工作模式的保护程度,使恶意方难以添加有效的木马,并使添加的木马更加容易被检测。
文档编号G06F21/00GK102663185SQ20121009963
公开日2012年9月12日 申请日期2012年4月6日 优先权日2012年4月6日
发明者冯建华, 张兴, 李蕾, 韩旭 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1