基于三模冗余的防御硬件木马威胁的电路安全性设计方法

文档序号:8396041阅读:476来源:国知局
基于三模冗余的防御硬件木马威胁的电路安全性设计方法
【技术领域】
[0001]本发明涉及一种基于三模冗余的防御硬件木马威胁的电路设计方法,尤其是一种在无法对某些电路节点的安全性进行测试时,还能保证电路功能正确的电路安全性设计方法。
【背景技术】
[0002]随着集成电路产业朝着全球合作的趋势发展,在集成电路产业链环节上,有越来越多的第三方参与,使得集成电路在设计与制造过程中不受控的因素越来越多,由此引发了对集成电路安全性的担忧。由于第三方不受控环节的参与,集成电路在设计与制造过程中很容易遭到恶意修改,并被植入硬件木马。这些硬件木马有的会改变电路的功能,降低电路的性能,缩短电路的寿命,甚至有的会泄露电路内部的机密信息,从而严重影响集成电路以及使用该集成电路的信息化设备的安全性,如斯诺登棱镜门事件。
[0003]目前已经有很多针对集成电路内可能含有的硬件木马的检测方法,如旁路分析检测,主要靠测量电路的电流,频率,路径延迟等信息来判断电路内部是否含有硬件木马。也有依靠逻辑测试的方法,即产生各种各样的测试向量,通过观测测试向量的输出是否满足预期值来判断电路内部是否含有硬件木马。这类方法能够在一定程度上,对某一类特定的硬件木马进行检测,但是受到很多的客观因素,如工艺漂移,环境变化等的制约,因此尚无法实用。
[0004]虽然硬件木马的种类千变万化,但是其对电路造成的影响的却可以归纳为有限的几类:改变逻辑值和改变电路的参数。其中又以改变电路的逻辑值最难检测,因为难以找到其触发条件。如何在设计的阶段就考虑到硬件木马有可能会改变电路内部节点的逻辑值的情况发生,并且在设计过程中采用特殊的电路设计步骤,从而使得电路即使被植入硬件木马,在某一条件下会改变电路内部某一节点的值,但也不会影响到电路最终的功能输出,是一个能有效防御硬件木马的方法。

【发明内容】

[0005]基于此,本发明提供一种基于三模冗余的防御硬件木马威胁的电路安全性设计方法,包括如下步骤:
步骤(a),在完成原始电路的设计之后,选取需要抵御硬件木马威胁的部分或者全部的电路节点作为初始目标节点,这些初始目标节点又称作初始输出节点;
步骤(b),将这些初始输出节点作为终点,向扇入(fan-1n)的路径方向进行回溯,确定需要进行三模冗余的逻辑路径,该逻辑路径的起点即作为初始输入节点;
步骤(c),将初始输入节点与初始输出节点进行筛选,去除其中的冗余输入节点与输出节点对,得到最终需要进行三模冗余设计逻辑路径的输入节点与输出节点对;
d)、将需要进行三模冗余设计的逻辑路径,按照其中包含的组合逻辑和时序逻辑的区分,分别进行三模冗余设计,使得经过三模冗余设计的逻辑路径能够抵御硬件木马的潜在威胁。
[0006]进一步地,步骤(a)中,在选择初始目标节点,即初始输出节点时,有以下选择方法:
al),在最终的电路面积不受限制时,将电路所有的节点都选择为初始目标节点,即进行全电路的三模冗余设计;
a2),将各种电路测试方法覆盖不到的电路节点选择为初始目标节点;a3),将电路节点的高低电平翻转概率小于设定阈值的所有电路节点选择为初始目标节点。
[0007]进一步地,步骤(b)中,确定需要进行三模冗余设计的逻辑路径的输入节点时,有以下选择方法:
bl)、可以选择扇入方向上,电路输入管脚作为输入节点; b2)、可以选择扇入方向上任一电路节点,作为输入节点。
[0008]进一步地,步骤(C)中,在去除冗余输入节点与输出节点对时,当某一输入节点与输出节点之间的路径,与另一输入节点与输出节点之间路径有部分路径发生重合时,则去掉重合逻辑路径对应的输入与输出节点,保留能够覆盖该两条逻辑路径的输入节点与输出节点,从而得到最终需要进行三模冗余逻辑路径的输入与输出节点对。
[0009]进一步地,步骤(d)中,输入节点与输出节点间的逻辑路径,按照其中包含的组合逻辑和时序逻辑的区分,分别进行三模冗余设计,具体方法为:
步骤(d)中,当输出节点为组合逻辑单元输出,且输出节点与输入节点之间的路径是纯组合逻辑时,则将此组合逻辑路径额外复制两条,形成三条完全一样的组合逻辑路径,此三条组合逻辑路径共享相同的输入节点,且此三条组合逻辑路径的输出连接到一个三输入的判决器;该判决器用于实现少数服从多数的功能,即判决器的三个输入中有任意两个或两个以上的输入值相同,则判决器的输出即和此多数输入值相同。
[0010]步骤(d)中,当输出节点为时序逻辑单元输出,且输出节点与输入节点之间只存在一个时序逻辑单元时,则将输入节点和输出节点之间的逻辑路径复制二条,此三条逻辑路径共享相同的输入节点,此三条完全相同的逻辑路径的输出连接一个三输入的判决器;该判决器用于实现少数服从多数的功能,即判决器的三个输入中有任意两个或两个以上的输入值相同,则判决器的输出即和此多数输入值相同;
时序逻辑单元的时钟信号也需要进行三模冗余设计,时序逻辑单元对应的时钟信号复制三条,每一路的时序逻辑单元都有单独的时钟信号与其相连接。
[0011]步骤(d)中,当输出节点与输入节点之间存在两个或者两个以上的时序逻辑单元时;首先将输入节点和输出节点之间的逻辑路径复制二条,此三条逻辑路径共享相同的输入节点;将时序逻辑单元对应的时钟信号复制三条,分别连接复制以后三条逻辑路径上的时序逻辑单元的时钟输入端;
若时序逻辑单元的输出不是最后的输出节点,则在此时序逻辑单元的输出端连接一个三输入判决器,且在每一条逻辑路径上的三输入判决器的另外两个输入均连接另外两条逻辑路径上的时序逻辑单元的输出;
若时序逻辑单元的输出是最后的输出节点,则三条逻辑路径中的各时序逻辑单元的输出直接连接到一个三输入的判决器; 所述判决器用于实现少数服从多数的功能,即判决器的三个输入中有任意两个或两个以上的输入值相同,则判决器的输出即和此多数输入值相同。
[0012]本发明的技术效果在于:
即使电路中的某些电路节点受到植入硬件木马的影响而在某些情况下改变逻辑功能时,也可以通过三模冗余的方法来消除这些错误逻辑值的影响,从而保证电路功能的正确。且相比于一般的硬件木马植入,攻击者需要在电路内部更多的节点植入硬件木马才有可能使电路无法正常工作,但这类大规模的硬件木马植入,会造成版图改变,以及直流参数的变化过大,很容易被常规的硬件木马检测方法所检测出来。
【附图说明】
[0013]图1为本发明在一实施例中的流程示意图。
[0014]图2为本发明去除冗余输入与输出节点对方法I的示意图。
[0015]图3为本发明去除冗余输入与输出节点对方法2的示意图。
[0016]图4为针对输入节点与输出节点之间是纯组合逻辑情形下的三模冗余设计示意图。
[0017]图5为三模冗余设计中所使用的判决器的结构示意图。
[0018]图6为针对输出节点是时序逻辑单元的输出,且输入节点与输出节点之间只有一个时序逻辑单元情形下的三模冗余设计示意图。
[0019]图7为输入节点与输出节点之间存在多个时序逻辑单元情形下的三模冗余设计示意图。
【具体实施方式】
[0020]随着集成电路的集成度越来越高,规模越来越大,想要在规定的时间内对电路完成测试覆盖率100%的设计变得极为困难。
[0021]无论是功能测试覆盖率,还是结构测试(DFT)覆盖率都难以达到100%。
[0022]这就意味着,当电路制造完毕以后,电路内部的有些电路节点,无法被测试到,即对这一部分电路节点在电路工作过程的具体情况无法预测和掌握。
[0023]当这一部分电路节点被人用来作为硬件木马的攻击对象后,也无法进行任何测试来判断该电路节点是否存在潜在威胁。或者即使发生了功能性的故障,也无法追踪和调试到底是由哪里引起的。
[0024]集成电路在设计与制造过程中被植入硬件木马后,当硬件木马在达到某一条件下被触发时会改变集成电路内部电路节点的值,也可以被理解成发生突发性的故障。
[0025]这就给该电路的安全可靠性带来了严重的影响,也间接影响到使用该集成电路的各种信息化设计的安全与可靠。
[0026]本发明主要针对当硬件木马的影响目标是这类无法测试到的节点的情况下,对该类电路节点进行三模冗余的设计,使得万一这一个节点受到硬件木马的影响后,还有另外两个执行相同功能的冗余节点可以正常工作,从而消除硬件木马对该电路节点的潜在威胁。
[0027]三模冗余系统中某一路操作执行时发生故障,只要另外两路不发生同样的故障,整个系统的还是可以执行正确的功能。设计理念是在系统执行某一操作时,有另外两个重复的系统或者模块在执行相同的操作,以三个系统或者模块中多数相同的输出作为判决系统的正确输出。
[0028]下面结合具体附图和实施例对本发明作进一步说明。
[0029]当完成电路的功能设计以后,按照图1中SlOO所述,选择需要抵御硬件木马威胁的电路节点作为初始目标节点,即三模冗余后的输出节点。
[0030]此处选择目标节点的规则,是根据在电路进行完可测性设计(DFT)后,将电路中可测性设计没有覆盖到的电路节点全部找出。所有没有被DFT覆盖到的电路节点,可以利用Synopsys公司的TetraMax工具来报出。
[0031]将报出来的电路节点,按照选择的节点是时序逻辑单元的输出,还是组合逻辑单元的输出分成两类。
[0032]在选取初始目标节点时,还可以将电路节点的高低电平翻转概率小于设定阈值的所有电路节点选择为初始目标节点;或者,如最终的电路面积不受限制(即电路面积大一点也无所谓,设计对于电路面积不限定必须要小于多少尺寸),可以将电路所有的节点都选择为目标节点,即进行全电路的三模冗余设计。
[0033]当完成图1中SlOO的步骤,即选择完初
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1