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

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

Info

Publication number
CN102663185B
CN102663185B CN201210099632.9A CN201210099632A CN102663185B CN 102663185 B CN102663185 B CN 102663185B CN 201210099632 A CN201210099632 A CN 201210099632A CN 102663185 B CN102663185 B CN 102663185B
Authority
CN
China
Prior art keywords
circuit
type flip
flip flop
mux
fsm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210099632.9A
Other languages
English (en)
Other versions
CN102663185A (zh
Inventor
冯建华
韩旭
李蕾
张兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201210099632.9A priority Critical patent/CN102663185B/zh
Publication of CN102663185A publication Critical patent/CN102663185A/zh
Application granted granted Critical
Publication of CN102663185B publication Critical patent/CN102663185B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于模糊处理的抗硬件木马(Hardware Trojan)电路设计方法,该方法主要包括两个部分:第一部分是一个有限状态机FSM;第二部分是修改了D触发器结构的原始电路——利用D触发器的Q和非Q端,把它们连接入一个多路选择器MUX,而MUX的控制端信号来自FSM。本发明在电路中添加了有限状态机,一方面增加了电路可以达到的状态;另一方面使攻击者无法获取电路正常工作模式的信息,而只能够基于模糊模式添加木马,这些木马能够在电路测试的过程中被检测出来。相比现有技术,本发明增强了对电路正常工作模式的保护程度,使恶意方难以添加有效的木马,并使添加的木马更加容易被检测。

Description

一种基于模糊处理的抗硬件木马电路设计方法
技术领域
本发明涉及一种抗硬件木马电路设计方法,具体是基于模糊处理的硬件木马电路设计方法。
背景技术
随着集成电路生产全球化进程的不断加速,越来越多的集成电路厂商选择通过外包方式进行电路生产。外包生产的优势是大幅度地节约了成本,并且缩短了产品从设计生产到推向市场的时间。然而,外包生产方式使电路的设计(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)方法。其原理如图1中左图所示意,其中小椭圆1表示电路正常工作时经常达到的状态,紫色圆环2表示电路正常工作时很少达到的状态。对于恶意方来说,其目的即为把木马植入紫色圆环2之中。然而,由于设计方增加了控制结构,利用了Q和非Q,因此,在检测时,电路能够达到更多的状态,即为图中的大椭圆3所示,因此,部分插入紫色环的木马能够被检测出来。该方法的主要缺点是:D触发器由译码其控制,因此攻击方可以穷尽译码器输入,进而推测出电路的完成状态集合,从而实施更加有效的攻击。
发明内容
本发明的技术目的是:
在电路中增加有限状态机结构,控制电路中的D触发器输出端,完成对电路的模糊处理,从而使恶意方获取错误的电路结构信息,进而使其基于错误信息的木马攻击失效。具体原理如图1右图所示,攻击者并不知道状态机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并且正常工作状态并不能被维持,因此恶意方在攻击时只能获取被模糊化的电路信息,从而增加了木马攻击的难度。同时,对于恶意方基于模糊化信息添加的木马,本发明的电路结构能够实现有效的检测。
附图说明
图1本发明与传统方法原理对比图。
图2本发明电路结构示意图。
图3本发明电路设计流程。
图4本发明D触发器连接关系矩阵生成算法。
图5本发明D触发器分组算法。
具体实施方式
以下结合附图详细描述本发明所提供的基于模糊处理的抗硬件木马电路设计方法,但不构成对本发明的限制。
本发明基于模糊处理的抗硬件木马电路设计方法,其步骤包括:
第一部分:设计有限状态机FSM
步骤1:编写有限状态机Verilog行为级代码;
步骤2:用Modelsim SE进行仿真,验证状态机功能。此处的状态机应当尽量隐藏工作模式的状态,同时设计方在本步骤设计启动密钥;
步骤3:使用Design Complier对行为级代码进行综合,状态机输出即为D触发器MUX的控制信号;
第二部分:对D触发器进行分组
步骤4:使用Microsoft Visual C++6.0读入电路的Verilog代码网表,处理生成D触发器连接关系矩阵文件,对于该矩阵上第i行,第j列的点,如果触发器j在触发器i的fanin cone中,则该点的值为1,否则,该点的值为0,具体分为以下3个步骤:
4.1读入电路网表,以指针方式建立图结构;
4.2循环遍历D触发器,进行深度优先搜索,确定每个D触发器的fanin cone;
4.3输出D触发器的连接关系矩阵至文本文档;
步骤5:用Microsoft Visual C++6.0读入D触发器连接关系矩阵,通过下述算法处理,最终生成D触发器分组结构。具体算法分为以下5个步骤:
5.1寻找fanin cone最大的向量MAX,置入第一组,TW=MAX,T1=MAX;
5.2寻找与MAX最相似向量S,置入第二组,TW=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触发器进行合理的分组,利用有限状态机方式对电路进行模糊处理,使恶意方无法获取电路正常工作时的信息,进而无法实施有效的木马攻击,是一种切实可行并有效的抗硬件木马的电路设计方法。

Claims (4)

1.一种基于模糊处理的抗硬件木马电路设计方法,其特征在于,包含两个部分:第一部分是一个有限状态机FSM;第二部分是修改了D触发器结构的原始电路——利用D触发器的Q和非Q端,把它们连接入一个多路选择器MUX,而MUX的控制端信号来自FSM,其中,为控制原始电路中的D触发器,需要对D触发器进行分组,具体的分组算法如下:
1)读入电路网表,建立电路图结构,然后遍历所有D触发器进行深度优先搜索,判断其它D触发器是否处于其扇入驱动电路fanin cone之中,进而输出D触发器连接关系矩阵;
2)读入D触发器连接关系矩阵,设需要分组数为G,找出fanin cone最大的D触发器MAX,置入第1组;然后找出与MAX的fanin cone最为相似的D触发器置入剩余的G-1组;最后找出与每一组中首个D触发器的fanin cone相差最大的D触发器,置入该组之中,从而完成分组。
2.如权利要求1所述的方法,其特征在于,同时利用D触发器的Q和非Q端口,连入一个MUX,借此增加电路能够达到的状态数目。
3.如权利要求1所述的方法,其特征在于,通过有限状态机FSM的输出端,控制MUX的输出,只有经过特定的序列密钥后,FSM实现特定输出,才能使电路达到正常工作状态。
4.如权利要求1所述的方法,其特征在于,在连接FSM与原始电路时,对D触发器进行分组,具体方法为:先根据D触发器之间的连接关系,生成D触发器的fanin cone矩阵,然后把fanin cone相差较小的D触发器置于不同的组中,而把fanin cone相差较大的D触发器置于相同的组中。
CN201210099632.9A 2012-04-06 2012-04-06 一种基于模糊处理的抗硬件木马电路设计方法 Expired - Fee Related CN102663185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210099632.9A CN102663185B (zh) 2012-04-06 2012-04-06 一种基于模糊处理的抗硬件木马电路设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210099632.9A CN102663185B (zh) 2012-04-06 2012-04-06 一种基于模糊处理的抗硬件木马电路设计方法

Publications (2)

Publication Number Publication Date
CN102663185A CN102663185A (zh) 2012-09-12
CN102663185B true CN102663185B (zh) 2017-07-25

Family

ID=46772676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210099632.9A Expired - Fee Related CN102663185B (zh) 2012-04-06 2012-04-06 一种基于模糊处理的抗硬件木马电路设计方法

Country Status (1)

Country Link
CN (1) CN102663185B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104101828B (zh) * 2013-04-08 2017-10-03 北京大学 基于激活概率分析的抗硬件木马电路设计方法
CN104580069B (zh) * 2013-10-12 2017-09-12 中国移动通信集团公司 一种基于nls负逻辑系统的安全防御方法、设备和系统
CN104951579A (zh) * 2014-03-28 2015-09-30 北京大学 一种基于id和fsm结合的电路可信性设计方法
CN104614660B (zh) * 2015-01-09 2017-04-26 中国电子科技集团公司第五十八研究所 基于有源光学水印的硬件木马检测方法
CN110442889B (zh) * 2018-05-03 2021-07-09 北京大学 一种基于puf和模糊处理的电路可信性设计方法
CN111027057B (zh) * 2019-01-31 2023-12-26 安天科技集团股份有限公司 一种芯片隐藏硬件的检测方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335611A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 安全按键输入系统、设备、和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335611A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 安全按键输入系统、设备、和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Hardware protection and authentication through netlist level obfuscation;Rajat Subhra Chakraborty etc.;《2008 IEEE/ACM International Conference on Computer-Aided Design Digest of Thchnical Papers》;20081118;全文 *
ODETTE:a Non-Scan Design-for-Test Methodology for Trojan Detection in ICs;Mainak Banga etc.;《2011 IEEE International Symposium on Hardware-Oriented Security and Trust》;20110714;全文 *
Test Volume Reduction Via Flip-Flop Compatibility Analysis for Balanced Parallel Scan;Maryam Ashouei etc.;《2004 IEEE International Workshop on Defect Based Testing(DBT)》;20050404;全文 *
硬件木马综述;刘华锋等;《微电子学》;20111031;第41卷(第5期);全文 *

Also Published As

Publication number Publication date
CN102663185A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN102663185B (zh) 一种基于模糊处理的抗硬件木马电路设计方法
Fyrbiak et al. On the difficulty of FSM-based hardware obfuscation
Meade et al. Gate-level netlist reverse engineering for hardware security: Control logic register identification
CN102662144B (zh) 一种基于活性测度的硬件木马检测方法
Jin et al. Proof carrying-based information flow tracking for data secrecy protection and hardware trust
Wang et al. IIPS: Infrastructure IP for secure SoC design
US7849428B2 (en) Formally deriving a minimal clock-gating scheme
CN102854454A (zh) 在集成电路测试中用于缩短硬件木马的验证时间的方法
US20110148457A1 (en) Protecting electronic systems from counterfeiting and reverse-engineering
Philipps et al. Model-based test case generation for smart cards
CN110210258B (zh) 芯片网表级混淆防御硬件木马的装置、方法及检测方法
Werner et al. Reverse engineering of cryptographic cores by structural interpretation through graph analysis
Koblah et al. A survey and perspective on artificial intelligence for security-aware electronic design automation
CN102495778B (zh) 一种测试单包正则匹配逻辑的系统和方法
Kibria et al. Fsmx: Finite state machine extraction from flattened netlist with application to security
CN113704126A (zh) 验证方法及其装置、计算机存储介质以及处理器
Chaudhuri et al. Detection of malicious FPGA bitstreams using CNN-based learning
Zhang et al. Incremental deductive & inductive reasoning for SAT-based bounded model checking
US7467362B2 (en) Failure detection improvement apparatus, failure detection improvement program, failure detection improvement method
Oya et al. Hardware-Trojans rank: Quantitative evaluation of security threats at gate-level netlists by pattern matching
Brunner et al. Hardware Honeypot: Setting Sequential Reverse Engineering on a Wrong Track
Brunner et al. Toward a human-readable state machine extraction
US20230006674A1 (en) Programmable application-specific array for protecting confidentiality and integrity of hardware ips
CN110456260A (zh) 一种密钥隔离安全扫描链电路
Mezzah et al. Assertion based on-line fault detection applied on UHF RFID tag

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170725

CF01 Termination of patent right due to non-payment of annual fee