CN113312678B - 硬件木马检测电路、硬件木马检测方法及电子设备 - Google Patents

硬件木马检测电路、硬件木马检测方法及电子设备 Download PDF

Info

Publication number
CN113312678B
CN113312678B CN202110330506.9A CN202110330506A CN113312678B CN 113312678 B CN113312678 B CN 113312678B CN 202110330506 A CN202110330506 A CN 202110330506A CN 113312678 B CN113312678 B CN 113312678B
Authority
CN
China
Prior art keywords
net
detection circuit
hardware trojan
probability
node
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.)
Active
Application number
CN202110330506.9A
Other languages
English (en)
Other versions
CN113312678A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN202110330506.9A priority Critical patent/CN113312678B/zh
Publication of CN113312678A publication Critical patent/CN113312678A/zh
Application granted granted Critical
Publication of CN113312678B publication Critical patent/CN113312678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种硬件木马检测电路、检测方法和电子设备,检测电路包括信号生成模块和二路选择器;二路选择器包括第一输入端、第二输入端、第三输入端和选择器输出端,第三输入端为选择控制端,用于选择将第一输入端或第二输入端的信号从选择器输出端输出;第一输入端用于接收模式控制信号;第二输入端与信号生成模块的输出端连接,用于接收信号生成模块的输出信号;模式控制信号和输出信号用于确定原始电路插入节点的真值概率。本发明实施例基于信号生成模块的输出信号和模式控制信号的作用,可以对插入节点的真值概率进行调整,从而有助于提升后级逻辑门电路的稀有节点的跳变概率,可以缩短硬件木马的激活时间,加速检测过程,提高检测效率。

Description

硬件木马检测电路、硬件木马检测方法及电子设备
技术领域
本发明实施例涉及硬件木马检测技术领域,尤其涉及一种硬件木马检测电路、硬件木马检测方法及电子设备。
背景技术
随着集成电路技术的发展进步,在计算机设备中使用的各类不同功能的集成电路也越来越多。
在集成电路的设计制造过程中,由于设计缺陷有时会无意形成缺陷模块以及电路,这种缺陷模块或者电路潜伏在原始电路中,在特殊条件下触发之下,能够被攻击者利用以实现对原始电路进行有目的性的修改,或者实现某些具有破坏性的功能,这种缺陷模块或电路被称之为一种硬件木马。
为了避免携带有硬件木马的集成电路流入市场,给用户带来损失,在集成电路的设计制造过程中,通常将可以激活硬件木马的检测电路插入到原始电路中,通过控制检测电路的输入信号,可以激活硬件木马,使其暴露显现出来,供研发人员进一步处理。
然而,现有的硬件木马检测电路对硬件木马的激活时间较长,导致检测效率较低。
发明内容
本发明实施例提供一种硬件木马检测电路、检测方法及电子设备,以解决硬件木马的激活时间较长,导致检测效率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种硬件木马检测电路,所述硬件木马检测电路包括信号生成模块和二路选择器;
所述二路选择器包括第一输入端、第二输入端、第三输入端和选择器输出端,所述第三输入端为选择控制端,用于选择将所述第一输入端或所述第二输入端的信号从所述选择器输出端输出;
所述第一输入端用于接收模式控制信号;所述第二输入端与所述信号生成模块的输出端连接,用于接收所述信号生成模块的输出信号;
其中,所述硬件木马检测电路与原始电路的插入节点电连接;所述模式控制信号和所述输出信号用于确定所述插入节点的真值概率,以通过所述插入节点的真值概率,控制对所述原始电路中稀有节点的跳变概率进行调整。
可选地,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器。
可选地,所述信号生成模块为扫描触发器。
可选地,所述信号生成模块为反相器,所述反相器的输入端用于接收所述模式控制信号。
第二方面,本发明实施例提供了一种硬件木马检测方法,所述检测方法应用于前述的硬件木马检测电路,所述检测方法包括:
确定原始电路中的插入节点;
在所述插入节点Net插入所述硬件木马检测电路;
基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率,其中,所述实际真值概率为所述插入节点Net连接所述硬件木马检测电路后的真值概率;
根据所述实际真值概率,修改所述原始电路中稀有节点的跳变概率进行硬件木马检测。
可选地,在所述插入节点Net插入所述硬件木马检测电路,包括:
根据所述插入节点Net的初始真值概率的大小关系及预设概率条件,在所述插入节点Net插入相应的所述硬件木马检测电路;其中,所述初始真值概率为所述插入节点Net连接所述硬件木马检测电路前的真值概率。
可选地,所述根据所述插入节点Net的初始真值概率的大小关系及预设概率条件,在所述插入节点Net插入相应的所述硬件木马检测电路,包括:
所述插入节点Net的初始真值概率包括PNet1和PNet0;其中,PNet1表示所述插入节点Net的真值为1的概率,PNet0表示所述插入节点Net的真值为0的概率;
在所述插入节点Net的PNet1大于PNet0,且所述第二输入端的PFF1和PFF0满足(0.5,0.5)时,将第一检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第一检测电路;其中,在所述第一检测电路中,所述信号生成模块为扫描触发器;
在所述插入节点Net的PNet1小于PNet0,且所述第二输入端的PFF1和PFF0满足(0.5,0.5)时,将第二检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第二检测电路;其中,在所述第二检测电路中,所述信号生成模块为扫描触发器,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器;
在所述插入节点Net的PNet1大于PNet0,且所述第二输入端的PFF1和PFF0满足(0,1)时,将第三检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第三检测电路;其中,在所述第三检测电路中,所述信号生成模块为反相器;
在所述插入节点Net的PNet1小于PNet0,且所述第二输入端的PFF1和PFF0满足(0,1)时,将第四检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第四检测电路;其中,在所述第四检测电路中,所述信号生成模块为反相器,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器;
其中,PFF1表示信号生成模块的输出信号为1的概率,PFF0表示信号生成模块的输出信号为0的概率。
可选地,所述硬件木马检测电路中包含二路选择器,所述二路选择器的第一输入端用于接收模式控制信号;所述基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率,包括:
将所述模式控制信号的真值置为1,使所述硬件木马检测电路进入测试模式;
在所述测试模式中,基于所述硬件木马检测电路修改所述插入节点Net的真值概率。
可选地,所述硬件木马检测电路中包含二路选择器,所述二路选择器的第一输入端用于接收模式控制信号;所述基于所述硬件木马检测电路确定所述插入节点Net的实际真值概率,包括:
将所述模式控制信号的真值置为0,使所述硬件木马检测电路进入功能模式;
在所述功能模式中,维持所述插入节点Net的真值概率不变。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括前述的任一种硬件木马检测电路。
本发明实施例,通过将信号生成模块的输出端与二路选择器的一个输入端连接,由二路选择器的另一个输入端接收模式控制信号,信号生成模块的输出端的信号进入到二路选择器中,在二路选择器的选择控制端的选择作用下,可以选择将二路选择器的两个输入端口接收到的两路信号中的一路信号从选择器输出端输出。将这种硬件木马检测电路插入到所检测的原始电路中,基于信号生成模块的输出信号和模式控制信号的作用,可以对插入节点的真值概率进行调整,从而有助于提升后级逻辑门电路的稀有节点的跳变概率,同时可以缩短硬件木马检测电路的激活时间,加速硬件木马的检测过程,提高检测效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中第一种硬件木马检测电路的原理示意图;
图2是本发明实施例中第二种硬件木马检测电路的原理示意图;
图3是本发明实施例中第三种硬件木马检测电路的原理示意图;
图4是本发明实施例中第四种硬件木马检测电路的原理示意图;
图5是本发明实施例中第五种硬件木马检测电路的原理示意图;
图6是本发明实施例中第六种硬件木马检测电路的原理示意图;
图7是本发明实施例一种硬件木马检测方法的流程图;
图8是本发明实施例一种原始电路的示意图;
图9是本发明实施例一种插入硬件木马检测电路后的电路示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
下面通过列举具体的实施例详细介绍本发明提供的一种硬件木马检测电路、硬件木马检测方法及电子设备。
参照图1,本发明实施例中提供了一种硬件木马检测电路,与原始电路的插入节点电连接,所述硬件木马检测电路包括信号生成模块10和二路选择器11;
所述二路选择器11包括第一输入端111、第二输入端112、第三输入端113和选择器输出端114,所述第三输入端113为选择控制端,用于选择将所述第一输入端111或所述第二输入端112的信号从所述选择器输出端114输出;
所述第一输入端111用于接收模式控制信号;所述第二输入端112与所述信号生成模块10的输出端连接,用于接收所述信号生成模块10的输出信号;
其中,所述模式控制信号和所述输出信号用于确定所述插入节点的真值概率;该插入节点即为硬件木马检测电路输入至原始电路的位置点。
具体而言,如图1所示,本发明实施例提供了一种硬件木马检测电路的原理结构,该硬件木马检测电路包括信号生成模块10和二路选择器11。二路选择器11具有三个输入端和一个输出端,分别为第一输入端111、第二输入端112、第三输入端113和选择器输出端114。第三输入端113作为选择控制端,可以在该输入端信号的选择作用下,控制将第一输入端111或第二输入端112的信号从选择器输出端114输出。例如,当第三输入端113的信号真值为0时,选择器输出端114的信号真值与第一输入端111的信号真值相同;当第三输入端113的信号真值为1时,选择器输出端114的信号真值与第二输入端112的信号真值相同。
结合图1的示意,在硬件木马检测电路中,第一输入端111用于接收模式控制信号TE,第二输入端112与信号生成模块10的输出端连接,用于接收信号生成模块10的输出信号。模式控制信号TE的真值可以为0或者1,PTE0表示TE=0(即TE的真值为0)的概率,PTE1表示TE=1的概率。当TE=0时,表示该硬件木马检测电路进入功能模式,即不影响硬件木马检测电路所插入的原始电路的功能。当TE=1(即TE的真值为1)时,表示该硬件木马检测电路进入测试模式,即可以通过结合信号生成模块10的输出信号,对硬件木马进行检测。
需要说明的是,在本申请实施例中,各个信号或节点处的真值为0表示对应信号或该节点对应的信号为低电平信号,真值为1则表示对应信号或该节点对应的信号为高电平信号;适应性的,也可以根据实际情况对真值采用其他赋值方式,在此不再赘述。例如,上述的TE=0表示模式控制信号TE为低电平信号,TE=1表示模式控制信号TE为高电平信号。对于硬件木马检测电路所插入原始电路的插入节点Net,该插入节点Net的真值为0或1,其中,插入节点Net的真值为0表示插入节点Net对应的信号为低电平信号,插入节点Net的真值为1表示插入节点Net对应的信号为高电平信号。插入节点Net的真值为0的概率用PNet0表示,插入节点Net的真值为1的概率用PNet1表示,可以理解的是,在原始电路实际工作中,除了PNet0=PNet1这种特殊情况,对于插入节点Net的节点概率,大部分情况下所表现的实际结果为PNet1>PNet0或者PNet1<PNet0,无论是PNet1>PNet0还是PNet1<PNet0,该硬件木马检测电路均需要满足正常功能以及木马测试的需求,这两方面不能互相干扰。也就是说,该硬件木马检测电路既能实现功能模式下节点概率不变,也要实现测试模式下节点概率的修改。下面结合节点概率的计算公式具体分析说明。
对于插入节点Net,将经过硬件木马检测电路修改后的节点用Net`表示,PFF0表示信号生成模块10的输出信号为0的概率,PFF1表示信号生成模块10的输出信号为1的概率。结合图1,可以得到:
PNet`0=PNet0×PTE0+PNet1×PFF0 公式(1.1)
公式(1.1)表示,节点Net`的真值为0可能是两种情况的共同结果,第三输入端113输入0且TE=0,即需满足PNet0×PTE0,或者第三输入端113输入1且第二输入端112输入0,即需满足PNet1×PFF0。
PNet`1=PNet0×PTE1+PNet1×PFF1 公式(1.2)
公式(1.2)表示,节点Net`的真值为1可能是两种情况的共同结果,第三输入端113输入0且TE=1,即需满足PNet0×PTE1,或者第三输入端113输入1且第二输入端112输入1,即需满足PNet1×PFF1。
对于模式控制信号TE,可以由测试人员主动控制设定。
当TE=0时,硬件木马检测电路处于功能模式,此时,PTE0=1,PTE1=0,上述公式(1.1)和公式(1.2)可以简化为:
PNet`0=PNet0+PNet1×PFF0 公式(1.3)
PNet`1=PNet1×PFF1 公式(1.4)
当TE=1时,硬件木马检测电路处于测试模式,此时,PTE0=0,PTE1=1,上述公式(1.1)和公式(1.2)可以简化为:
PNet`0=PNet1×PFF0 公式(1.5)
PNet`1=PNet0+PNet1×PFF1 公式(1.6)
结合图1示例以及上述公式(1.3)至(1.6),可以理解的是,当PNet1>PNet0时,尤其是当PNet1远大于PNet0时,在功能模式下,只需将信号生成模块10的输出信号置为1,即PFF0=0,PFF1=1,可以得到:PNet`0=PNet0,PNet`1=PNet1,即可保证原始电路的功能逻辑不受影响。在测试模式下,则可以通过为PFF1和PFF0设定对应的参数,实现PNet`0和PNet`1的修改调整。例如,若PFF1=0.5,PFF0=0.5,则可以得到PNet`0和PNet`1均趋近于0.5,相较于随机不确定的小于0.5的概率值,更容易提升后级逻辑门电路的稀有节点的跳变概率。
因此,对于不同的原始电路拓扑结构,由于PNet0和PNet1的相对大小关系存在差异,通过上述公式中PNet`0和PNet`1的计算公式可见,对于不同拓扑结构的原始电路,可以采用相对应的硬件木马检测电路,从而实现功能模式下,PNet`0=PNet0,PNet`1=PNet1,保障原始电路功能不受影响。测试模式下,PNet`0和PNet`1分别相较于PNet0和PNet1发生改变,即可以实现测试模式下对Net节点的概率进行修改,进一步影响原始电路中后级逻辑门电路的稀有节点的跳变概率。
需要说明的是,原始电路中任意一节点的真值为0的状态可定义为稀有值状态,该任意一节点的真值为1的状态可定义为非稀有值状态,攻击者通常会选取原始电路中节点的稀有值状态作为硬件木马触发的条件,将原始电路中任意一节点值为0的概率P0与节点值为1的概率P1的乘积定义为该节点的跳变概率,并将原始电路中跳变概率小于跳变阈值的节点定义为稀有节点,该跳变阈值可以是基于硬件木马检测电路的面积开销和检测效率所确定的一个经验参数,当需要较小的面积开销和较高的检测效率时,可以选取一个较大的跳变阈值,以筛选出较少数量的稀有节点;当需要较大的面积开销和较低的检测效率时,可以选取一个较小的跳变阈值,以筛选出较多数量的稀有节点。针对上述原始电路中任意一节点,该节点的跳变概率越低表明该节点从非稀有值状态跳变为稀有值状态所需的时钟周期数越长,则说明由该节点作为输入触发硬件木马被激活所需的时间越长,因此提高稀有节点的跳变概率可以有效地缩短硬件木马电路激活所需时间,可以加速硬件木马检测。因此,本发明实施例中通过修改稀有节点对应的逻辑门电路输入端的节点概率(该节点概率即为插入节点Net的概率),可以提升该稀有节点的跳变概率。
本发明实施例,通过将信号生成模块的输出端与二路选择器的一个输入端连接,由二路选择器的另一个输入端接收模式控制信号,信号生成模块的输出端的信号进入到二路选择器中,在选择控制端的选择作用下,可以选择将其中一路信号从选择器输出端输出。这种硬件木马检测电路可以插入到所检测的原始电路中,基于信号生成模块的输出信号和模式控制信号的作用,可以对插入节点的真值概率进行调整,真值概率的调整有助于提升后级逻辑门电路的稀有节点的跳变概率,可以缩短硬件木马的激活时间,加速硬件木马的检测过程,提高检测效率。
可选地,参照图2,所述第三输入端113连接有第一反相器12,所述选择器输出端114连接有第二反相器13。
具体而言,如图2所示,在第三输入端113连接第一反相器12,在选择器输出端114连接有第二反相器13,可以构建一种适用于PNet0>PNet1的硬件木马检测电路。由于第一反相器12和第二反相器13的设置,可以使得PNet0>PNet1时,硬件木马检测电路兼容功能模式和测试模式。
以图2为例,可以得到:
PNet`0=PNet0×PFF1+PNet1×PTE1 公式(2.1)
公式(2.1)表示,节点Net`的真值为0可能是两种情况的共同结果,第三输入端113输入0且第二输入端112输入1,即需满足PNet0×PFF1,或者第三输入端113输入1且TE=1,即需满足PNet1×PTE1。
PNet`1=PNet0×PFF0+PNet1×PTE0 公式(2.2)
公式(2.2)表示,节点Net`的真值为1可能是两种情况的共同结果,第三输入端113输入0且第二输入端112输入0,即需满足PNet0×PFF0,或者第三输入端113输入1且TE=0,即需满足PNet1×PTE0。
对于模式控制信号TE,可以由测试人员主动控制设定。
当TE=0时,硬件木马检测电路处于功能模式,此时,PTE0=1,PTE1=0,上述公式(2.1)和公式(2.2)可以简化为:
PNet`0=PNet0×PFF1 公式(2.3)
PNet`1=PNet0×PFF0+PNet1 公式(2.4)
当TE=1时,硬件木马检测电路处于测试模式,此时,PTE0=0,PTE1=1,上述公式(2.1)和公式(2.2)可以简化为:
PNet`0=PNet0×PFF1+PNet1 公式(2.5)
PNet`1=PNet0×PFF0 公式(2.6)
结合图2示例以及上述公式(2.3)至(2.6),可以理解的是,当PNet0>PNet1时,尤其是当PNet1远小于PNet0时,在功能模式下,只需将信号生成模块10的输出信号置为1,即PFF0=0,PFF1=1,可以得到:PNet`0=PNet0,PNet`1=PNet1,即可保证原始电路的功能逻辑不受影响。在测试模式下,则可以通过为PFF1和PFF0设定对应的参数,实现PNet`0和PNet`1的修改调整。例如,若PFF1=0.5,PFF0=0.5,则可以得到PNet`0和PNet`1均趋近于0.5,相较于随机不确定的小于0.5的概率值,更容易提升后级逻辑门电路的稀有节点的跳变概率。因此,通过设置第一反相器12和第二反相器13,可以使该硬件木马检测电路适用于PNet0>PNet1情况的原始电路。
可选地,参照图3或图4,所述信号生成模块10为扫描触发器。
具体而言,如图3或图4示意,前述的信号生成模块10为扫描触发器,扫描触发器可以在时钟信号和复位信号的控制下输出预设信号,该信号可以作为第二输入端112的输入信号。图3为适用于PNet1>PNet0的硬件木马检测电路,图4为适用于PNet1<PNet0的硬件木马检测电路。在图3和图4的示意中,均可以由测试人员在执行检测任务时,通过扫描触发器的复位引脚DOTESTn强制将扫描触发器的值全部置为1,从而可以保证功能模式下原始电路的功能逻辑不变。
可选地,参照图5或图6,所述信号生成模块10为反相器,所述反相器的输入端用于接收所述模式控制信号。
具体而言,如图5或图6示意,前述的信号生成模块10还可以为反相器,该反相器的输入端接收模式控制信号,对模式控制信号进行反相处理后输出至第二输入端112。此时,PFF0表示TE信号经信号生成模块10反相处理后真值为0的概率,PFF1表示TE信号经信号生成模块10反相处理后真值为1的概率,容易理解,PFF0=PTE1,PFF1=PTE0。
结合图5,可以得到:
PNet`0=PNet0×PTE0+PNet1×PFF0=PNet0×PTE0+PNet1×PTE1 公式(3.1)
公式(3.1)表示,节点Net`的真值为0可能是两种情况的共同结果,第三输入端113输入0且TE=0,即需满足PNet0×PTE0,或者第三输入端113输入1且第二输入端112输入0,即需满足PNet1×PFF0=PNet1×PTE1。
PNet`1=PNet0×PTE1+PNet1×PFF1=PNet0×PTE1+PNet1×PTE0 公式(3.2)
公式(3.2)表示,节点Net`的真值为1可能是两种情况的共同结果,第三输入端113输入0且TE=1,即需满足PNet0×PTE1,或者第三输入端113输入1且第二输入端112输入1,即需满足PNet1×PFF1=PNet1×PTE0。
对于模式控制信号TE,可以由测试人员主动控制设定。
当TE=0时,硬件木马检测电路处于功能模式,此时,PTE0=1,PTE1=0,上述公式(3.1)和公式(3.2)可以简化为:
PNet`0=PNet0 公式(3.3)
PNet`1=PNet1 公式(3.4)
当TE=1时,硬件木马检测电路处于测试模式,此时,PTE0=0,PTE1=1,上述公式(3.1)和公式(3.2)可以简化为:
PNet`0=PNet1 公式(3.5)
PNet`1=PNet0 公式(3.6)
另外,结合图6,可以得到:
PNet`0=PNet0×PFF1+PNet1×PTE1=PNet0×PTE0+PNet1×PTE1 公式(4.1)
公式(4.1)表示,节点Net`的真值为0可能是两种情况的共同结果,第三输入端113输入0且第二输入端112输入1,即需满足PNet0×PFF1,或者第三输入端113输入1且TE=1,即需满足PNet1×PTE1。
PNet`1=PNet0×PFF0+PNet1×PTE0=PNet0×PTE1+PNet1×PTE0 公式(4.2)
公式(4.2)表示,节点Net`的真值为1可能是两种情况的共同结果,第三输入端113输入0且第二输入端112输入0,即需满足PNet0×PFF0,或者第三输入端113输入1且TE=0,即需满足PNet1×PTE0。
对于模式控制信号TE,可以由测试人员主动控制设定。
当TE=0时,硬件木马检测电路处于功能模式,此时,PTE0=1,PTE1=0,上述公式(4.1)和公式(4.2)可以简化为:
PNet`0=PNet0 公式(4.3)
PNet`1=PNet1 公式(4.4)
当TE=1时,硬件木马检测电路处于测试模式,此时,PTE0=0,PTE1=1,上述公式(4.1)和公式(4.2)可以简化为:
PNet`0=PNet1 公式(4.5)
PNet`1=PNet0 公式(4.6)
结合上述公式(3.3)至(3.6)以及公式(4.3)至(4.6),可以理解的是,在功能模式下,可以得到:PNet`0=PNet0,PNet`1=PNet1,即可保证原始电路的功能逻辑不受影响。在测试模式下,则可以通过为PFF1和PFF0设定对应的参数,实现PNet`0和PNet`1的反向修改调整。例如,若节点Net的概率PNet0=1,PNet1=0,则可以得到PNet`0=0,PNet`1=1,相较于随机不确定的概率值,更容易提升后级逻辑门电路的稀有节点的跳变概率。
因此,当需要采用对节点概率采用取反的方式修改时,可以应用上述图5或图6的电路,这种电路中通过将扫描触发器更换为反相器,可以减少插入结构的数量,降低面积开销,尤其适用于大规模的集成电路。
参照图7,本发明实施例还提供了一种硬件木马检测方法,该检测方法可以采用前述实施例提供的硬件木马检测电路对硬件木马进行检测。该方法包括如下步骤:
步骤101,确定原始电路中的插入节点Net。
具体而言,本发明实施例中的这种硬件木马检测方法可用于芯片设计制造阶段对芯片进行检测。当芯片的原始电路设计完成之后,可以基于仿真测试的结果,选择其中的稀有节点所对应逻辑门电路的输入端节点作为插入节点Net。可以理解的是,原始电路即原先设计执行特定逻辑功能的电路。需要说明的是,若存在多个稀有节点,可选择其中面积开销最小的一个稀有节点所对应逻辑门电路的输入端节点作为插入节点Net。该插入节点Net即稀有节点的扇入路径上的一个节点,插入节点Net用于连接本发明实施例中提供的硬件木马检测电路,可以实现对该节点概率的修改,进而影响稀有节点的跳变概率。
步骤102,在所述插入节点Net插入所述硬件木马检测电路。
具体而言,当插入节点Net确定之后,即可将硬件木马检测电路与该插入节点Net电连接,则插入节点Net的信号可以输入到硬件木马检测电路中,经过硬件木马检测电路的处理后输出到后级逻辑门电路中。具体地,由于插入节点Net的真值概率可能为PNet1>PNet0或者PNet1<PNet0,且可由信号生成模块10所输出的信号自定义预设控制,因此,可以根据PNet1>PNet0或者PNet1<PNet0以及PFF1和PFF0的参数具体选择与之适配的检测电路,即根据插入节点Net的初始真值概率的大小关系及预设概率条件在原始电路的插入节点Net处插入相应的硬件木马检测电路,以满足功能模式和测试模式的兼容性要求,并提高检测效率。可以理解的是,初始真值概率即插入节点Net连接硬件木马检测电路前的真值概率,该初始真值概率可以向原始电路输入随机向量借助于软件仿真得到,或者给原始电路的输入端口给定概率值,通过电路的逻辑关系计算得到。
具体地,步骤102可以包括如下的a1至a4中一种。
a1.在所述插入节点Net的PNet1大于PNet0,且所述第二输入端112的PFF1和PFF0满足(0.5,0.5)时,将第一检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第一检测电路;其中,在所述第一检测电路中,所述信号生成模块10为扫描触发器。
a2.在所述插入节点Net的PNet1小于PNet0,且所述第二输入端112的PFF1和PFF0满足(0.5,0.5)时,将第二检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第二检测电路;其中,在所述第二检测电路中,所述信号生成模块10为扫描触发器,所述第三输入端113连接有第一反相器12,所述选择器输出端114连接有第二反相器13。
a3.在所述插入节点Net的PNet1大于PNet0,且所述第二输入端112的PFF1和PFF0满足(0,1)时,将第三检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第三检测电路;其中,在所述第三检测电路中,所述信号生成模块10为反相器。
a4.在所述插入节点Net的PNet1小于PNet0,且所述第二输入端112的PFF1和PFF0满足(0,1)时,将第四检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第四检测电路;其中,在所述第四检测电路中,所述信号生成模块10为反相器,所述第三输入端113连接有第一反相器12,所述选择器输出端14连接有第二反相器13。
具体而言,在插入节点Net的PNet1大于PNet0,且第二输入端112的PFF1和PFF0满足(0.5,0.5)时,可将图3示意的第一检测电路插入到原始电路中。在插入节点Net的PNet1小于PNet0,且第二输入端112的PFF1和PFF0满足(0.5,0.5)时,可将图4示意的第二检测电路插入到原始电路中。在插入节点Net的PNet1大于PNet0,且第二输入端112的PFF1和PFF0满足(0,1)时,可将图5示意的第三检测电路插入到原始电路中。在插入节点Net的PNet1小于PNet0,且第二输入端112的PFF1和PFF0满足(0,1)时,可将图6示意的第四检测电路插入到原始电路中。通过为不同的真值概率大小关系及预设概率条件插入与之适配的检测电路,可以提高检测针对性和有效性。需要说明的是,PFF1和PFF0满足(0.5,0.5)即PFF1=0.5,PFF0=0.5。PFF1和PFF0满足(0,1)即PFF1=0,PFF0=1。
步骤103,基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率。
具体而言,对于每一种硬件木马检测电路,可以参照前述实施例中的公式分别计算应用每种硬件木马检测电路后插入节点Net的实际真值概率,即可以计算得到插入节点Net改变后的概率PNet`0和PNet`1。
具体地,步骤103可以包括如下的b1、b2或者c1、c2。
b1.将所述模式控制信号的真值置为1,使所述硬件木马检测电路进入测试模式;
b2.在所述测试模式中,基于所述硬件木马检测电路修改所述插入节点Net的真值概率。
结合前述实施例对于电路结构原理的说明,可以理解的是,在测试模式下,可以实现对插入节点Net的真值概率的修改调整,也即实际真值概率相对初始真值概率发生变化,测试模式的进入可以通过将模式控制信号TE的真值置为1来实现。插入节点Net的真值概率经过修改后,对应的信号输入到后级的逻辑门电路中,通过与、或、非等逻辑计算,便可以使得稀有节点的跳变概率得到变化。
c1.将所述模式控制信号的真值置为0,使所述硬件木马检测电路进入功能模式;
c2.在所述功能模式中,维持所述插入节点Net的真值概率不变。
结合前述实施例对于电路结构原理的说明,可以理解的是,在功能模式下,可以实现原始电路的正常功能逻辑,此时,实际真值概率即与初始真值概率相同,功能模式的进入可以通过将模式控制信号TE的真值置为0来实现。
步骤104,根据所述真值概率,修改所述原始电路中稀有节点的跳变概率进行硬件木马检测。
具体而言,由于本发明实施例的硬件木马检测电路插入在原始电路的插入节点中,因此将硬件木马检测电路的输出作为原始电路的新的输入信号,该输入信号作用于稀有节点所对应的逻辑门电路,可以提升稀有节点的跳变概率,从而可以缩短硬件木马的激活时间,加速硬件木马的检测过程,提高检测效率。
下述内容还示例性地给出了确定原始电路中的插入节点的过程。
本发明实施例中将原始电路中任意一节点的扇出路径上同该节点相连的逻辑门电路定义为该节点的扇出门。节点的扇入路径上同该节点相连的逻辑门电路定义为该节点的扇入门。节点所有扇出门的输出端口定义为该节点的扇出节点;节点扇入门的所有输入端口定义为该节点的扇入节点。
原始电路中任意一节点的跳变概率由该节点扇入路径上的所有节点共同决定。因此为了使插入节点的个数最少,某一节点扇入路径上的所有稀有节点都应优先于该节点进行硬件木马检测电路的插入连接,对于不存在扇入扇出关系的稀有节点,硬件木马检测电路在不同节点处的插入顺序则不会相互影响。因此,为了尽可能减少跳变概率的计算次数,可以参照下述的“插入点选择算法”确定原始电路中的插入节点并进行硬件木马的检测。其中,不存在扇入扇出关系的稀有节点是指多个稀有节点之间不存在输入/输出的逻辑关系。
在插入点选择算法中,输入为:网表Netlist,跳变阈值TPth。输出为:插入硬件木马检测电路后的网表Netlist。可以理解的是,网表Netlist用于描述电路元件相互之间连接关系,一般来说是一个遵循某种比较简单的标记语法的文本文件。跳变阈值TPth即前述实施例中记载的用于衡量一节点是否为稀有节点的阈值。
下面针对插入点选择算法的过程进行具体说明:
首先从网表Netlist中提取原始电路中各个节点的扇入门类型集合(记为G[]),扇入节点集合(记为FIN[])和扇出节点集合(记为FOUT[])。
根据集合FIN[]和FOUT[]构建二维数组array_fanin和array_fanout,通过array_fanin和array_fanout分别记录每个节点的扇入节点和扇出节点。
根据集合G[]得到每个节点和扇入门类型之间的哈希值hash_gatetype。
通过统计每个节点的扇入度(即扇入节点个数)可以得到该节点及其扇入度之间的哈希值hash_degree,哈希值hash_degree即表示每个节点与其扇入门类型之间的对应关系,当计算节点的跳变概率时读取该参数即可自动获取对应的扇入门类型;然后将扇入度为0的节点都放入集合A[]中,剩余节点都放入集合B[]中。
每次从集合A[]中弹出一个节点,根据该节点扇入门类型计算其跳变概率,并判断该跳变概率是否大于或等于跳变阈值TPth;当该节点的跳变概率小于跳变阈值时,确定该节点为稀有节点;若该节点为稀有节点,则可以根据下文示例性给出的“权值选择算法”选择插入节点并判断需要插入的硬件木马检测电路,也即判断采用哪种权值对插入节点的真值概率进行修改替换。然后在插入节点处插入对应的硬件木马检测电路,然后将该插入节点标记为已替换。将该插入节点的所有扇出节点的扇入度减1,更新集合A[]和B[],将扇入度为0的扇出节点从集合B[]移出,并放入集合A[]中;重复上述过程,直到集合B[]为空,最终返回检测电路全部插入完成后的网表,即可以得到记录所有插入节点及对应的检测电路类型的文件FILE0。
通过运行文件FILE0即可实现对稀有节点跳变概率进行修改,进行硬件木马的检测。
在应用上述插入点选择算法确定插入节点以及进行硬件木马检测任务时,为了保证实现最优的节点插入方案,以做到最快检测硬件木马,可以对原始电路中稀有节点的扇出情况进行分析,为此本发明实施例还提出如下示例的权值选择算法。
在权值选择算法中,输入为:稀有节点NETrare,网表Netlist,跳变阈值TPth。输出为:最优的修改替换权值WSP,WSP可以代表对插入节点最优的修改替换方式,即最优的硬件木马检测电路结构。
下面针对权值选择算法的过程进行具体说明:
首先需要获取该稀有节点的扇入节点集合(记为FIN[])、扇出节点集合(记为FOUT[])以及扇入门类型,可以通过EDA(Electronic Design Automatic,电子设计自动化)综合工具从网表Netlist中提取。然后根据扇入门类型从扇入节点集合FIN[]中选取一个扇入节点作为最优的插入节点。选取插入节点的原则是:当扇入门为与门或与非门时,选择扇入节点中值为1的概率最小的且未被修改替换过的节点作为插入节点;当扇入门为或门或或非门时,则选择扇入节点中值为0的概率最小的且未被修改替换过的节点作为插入节点。
选定插入节点后,用平均权值和反向权值这两种权值进行修改替换,重新计算并得到稀有节点的跳变概率
Figure BDA0002991243050000161
和/>
Figure BDA00029912430500001610
表示用平均权值修改替换后得到的稀有节点的跳变概率,/>
Figure BDA0002991243050000163
表示用反向权值修改替换后得到的稀有节点的跳变概率。当/>
Figure BDA0002991243050000164
大于或等于跳变阈值且/>
Figure BDA0002991243050000165
小于跳变阈值时,选择平均权值作为更优的修改替换权值,即可以选择使用图3或图4示意的硬件木马检测电路进行插入修改;当/>
Figure BDA0002991243050000169
大于或等于跳变阈值且
Figure BDA0002991243050000166
小于跳变阈值时,则选择反向权值作为修改替换权值,即可以选择使用图5或图6示意的硬件木马检测电路进行插入修改。若/>
Figure BDA0002991243050000168
和/>
Figure BDA0002991243050000167
都大于或等于跳变阈值,则需要进一步计算稀有节点的所有扇出节点的跳变概率,并统计扇出节点中跳变概率满足跳变阈值的总个数,选择使得上述总个数更大的权值作为修改替换权值。若满足跳变阈值的扇出节点的总个数依然相同,则选择使得稀有节点跳变概率更大的权值,这是因为更大的跳变概率代表该节点被激活到稀有值状态所需的时钟周期数更少。若经过插入,修改替换完成后,该稀有节点的跳变概率依然小于跳变阈值,则需要在它的扇入节点集合中,按照相同的原则继续选择最优的插入节点,并插入检测电路,直到该稀有节点的跳变概率大于跳变阈值。
为更清楚地理解本发明实施例中应用上述的硬件木马检测电路进行检测的过程,以图8和图9为例结合插入点选择算法和权值选择算法进行说明。
图8为原始电路的一种示意图,设定电路输入端口G0~G7的真值为0和1的概率均为0.5,跳变阈值为0.18。
通过执行插入点选择算法和权值选择算法,插入对应的硬件木马检测电路将跳变概率提高到跳变阈值以上。根据插入点选择算法,首先将电路中所有扇入度为0的节点放入集合A[]中,即输入端口{G0,G1,G2,G3,G4,G5,G6,G7},剩余节点放入集合B[]中。依次从集合A[]中弹出节点G7、G6、G5、G4、G3、G2、G1,并更新集合B[]中对应扇出节点的扇入度。当G1从集合A[]中弹出后,集合B[]中节点G12的扇入度变为0,此时更新集合A[]为{G0,G12}。然后从集合A[]中弹出G12,由扇入门类型计算可知,G12的跳变概率大于跳变阈值。随后更新G13和G15的扇入度,并将扇入度为0的G13放入集合A[]中,随后弹出并计算其跳变概率。G13的跳变概率小于跳变阈值,根据权值选择原则选取G12为插入节点,计算平均权值和反向权值这两种权值替换方式下G13的跳变概率。计算可知,两种权值替换方式下G13的跳变概率都大于跳变阈值,但G12的跳变概率修改替换为(0.75,0.25)后,G13的跳变概率更大,因此选择反向权值的修改替换方式,并在G12处插入如图9中的硬件木马检测电路。随后依次从集合A[]中弹出节点G0、G14、G8、G15、G16、G9、G11、G17、G10,每弹出一个节点后,判断其跳变概率是否大于的跳变概率阈值,并将更新后集合B[]中扇入度为0的节点压入集合A[]中。计算可知G10的跳变概率小于的跳变阈值,同样根据权值选择算法判断将G14作为插入节点,并选择反向权值的方式进行权值替换,并插入硬件木马检测电路。如图9的示例,可以通过在插入节点G12(也即插入节点Net)插入虚线框所示意的硬件木马检测电路,对插入节点G12的真值概率修改替换,得到插入节点G12修改替换后的节点Net`,再经过逻辑门电路(与门电路AND5)的处理,可以使得稀有节点G13的跳变概率增大。类似地,可以在插入节点G14(即另一插入节点Net)插入虚线框所示意的硬件木马检测电路,对插入节点G14的真值概率修改替换,得到插入节点G14修改替换后的节点Net`,然后再经过逻辑门电路(与门电路AND7)的处理,可以使得稀有节点G10的跳变概率增大。
从而基于上述的插入点选择算法和权值选择算法,可以得到如图9所示的修改后的电路图,通过软件对该插入有硬件木马检测电路的电路施加相应的信号即可实现硬件木马的快速检测。
对于方法实施例而言,由于其可参照硬件木马检测电路的实施例,所以描述的比较简单,相关之处参见硬件木马检测电路实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
此外,本发明实施例还提供了一种集成电路,所述集成电路包括前述任一种硬件木马检测电路。
结合前述说明,可以理解的是,该检测电路插入到集成电路的节点中,具体地,第三输入端与插入节点Net连接,选择器输出端与稀有节点对应的逻辑门电路的输入端连接。因此,通过在集成电路中植入前述的硬件木马检测电路,有助于提高产品检测效率。
本发明实施例还提供了一种电子设备,所述电子设备包括前述任一种硬件木马检测电路。
需要说明的是,该电子设备可以是计算机、手机、智能穿戴设备等各种终端设备。通过应用该硬件木马检测电路,可以提升电子设备的硬件木马检测能力和防范措施。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种硬件木马检测电路,其特征在于,所述硬件木马检测电路包括信号生成模块和二路选择器;
所述二路选择器包括第一输入端、第二输入端、第三输入端和选择器输出端,所述第三输入端为选择控制端,用于选择将所述第一输入端或所述第二输入端的信号从所述选择器输出端输出;
所述第一输入端用于接收模式控制信号;所述第二输入端与所述信号生成模块的输出端连接,用于接收所述信号生成模块的输出信号;
其中,所述硬件木马检测电路与原始电路的插入节点电连接,所述选择控制端连接所述原始电路的插入节点;所述模式控制信号和所述输出信号用于确定所述插入节点的真值概率,以通过所述插入节点的真值概率,控制对所述原始电路中稀有节点的跳变概率进行调整;所述模式控制信号的真值包括0或者1,当所述模式控制信号为0时,表示所述硬件木马检测电路进入功能模式;当所述模式控制信号为1时,表示所述硬件木马检测电路进入测试模式。
2.根据权利要求1所述的硬件木马检测电路,其特征在于,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器。
3.根据权利要求1或2所述的硬件木马检测电路,其特征在于,所述信号生成模块为扫描触发器。
4.根据权利要求1或2所述的硬件木马检测电路,其特征在于,所述信号生成模块为反相器,所述反相器的输入端用于接收所述模式控制信号。
5.一种硬件木马检测方法,其特征在于,所述硬件木马检测方法应用于权利要求1-4任一项所述的硬件木马检测电路,所述检测方法包括:
确定原始电路中的插入节点Net;
在所述插入节点Net插入所述硬件木马检测电路;
基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率,其中,所述实际真值概率为所述插入节点Net连接所述硬件木马检测电路后的真值概率;
根据所述实际真值概率,修改所述原始电路中稀有节点的跳变概率进行硬件木马检测。
6.根据权利要求5所述的硬件木马检测方法,其特征在于,在所述插入节点Net插入所述硬件木马检测电路,包括:
根据所述插入节点Net的初始真值概率的大小关系及预设概率条件,在所述插入节点Net插入相应的所述硬件木马检测电路;
其中,所述初始真值概率为所述插入节点Net连接所述硬件木马检测电路前的真值概率。
7.根据权利要求6所述的硬件木马检测方法,其特征在于,所述根据所述插入节点Net的初始真值概率的大小关系及预设概率条件,在所述插入节点Net插入相应的所述硬件木马检测电路,包括:
所述插入节点Net的初始真值概率包括PNet1和PNet0;其中,PNet1表示所述插入节点Net的真值为1的概率,PNet0表示所述插入节点Net的真值为0的概率;
在所述插入节点Net的PNet1大于PNet0,且所述第二输入端的PFF1和PFF0满足(0.5,0.5)时,将第一检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第一检测电路;其中,在所述第一检测电路中,所述信号生成模块为扫描触发器;
在所述插入节点Net的PNet1小于PNet0,且所述第二输入端的PFF1和PFF0满足(0.5,0.5)时,将第二检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第二检测电路;其中,在所述第二检测电路中,所述信号生成模块为扫描触发器,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器;
在所述插入节点Net的PNet1大于PNet0,且所述第二输入端的PFF1和PFF0满足(0,1)时,将第三检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第三检测电路;其中,在所述第三检测电路中,所述信号生成模块为反相器;
在所述插入节点Net的PNet1小于PNet0,且所述第二输入端的PFF1和PFF0满足(0,1)时,将第四检测电路确定为所述硬件木马检测电路;在所述插入节点插入所述第四检测电路;其中,在所述第四检测电路中,所述信号生成模块为反相器,所述第三输入端连接有第一反相器,所述选择器输出端连接有第二反相器;
其中,PFF1表示信号生成模块的输出信号为1的概率,PFF0表示信号生成模块的输出信号为0的概率。
8.根据权利要求5至7任一项所述的硬件木马检测方法,其特征在于,所述硬件木马检测电路中包含二路选择器,所述二路选择器的第一输入端用于接收模式控制信号;所述基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率,包括:
将所述模式控制信号的真值置为1,使所述硬件木马检测电路进入测试模式;
在所述测试模式中,基于所述硬件木马检测电路修改所述插入节点Net的真值概率。
9.根据权利要求5至7任一项所述的硬件木马检测方法,其特征在于,所述硬件木马检测电路中包含二路选择器,所述二路选择器的第一输入端用于接收模式控制信号;所述基于所述硬件木马检测电路,确定所述插入节点Net的实际真值概率,包括:
将所述模式控制信号的真值置为0,使所述硬件木马检测电路进入功能模式;
在所述功能模式中,维持所述插入节点Net的真值概率不变。
10.一种电子设备,其特征在于,所述电子设备包括权利要求1至4任一项所述的硬件木马检测电路。
CN202110330506.9A 2021-03-24 2021-03-24 硬件木马检测电路、硬件木马检测方法及电子设备 Active CN113312678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110330506.9A CN113312678B (zh) 2021-03-24 2021-03-24 硬件木马检测电路、硬件木马检测方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110330506.9A CN113312678B (zh) 2021-03-24 2021-03-24 硬件木马检测电路、硬件木马检测方法及电子设备

Publications (2)

Publication Number Publication Date
CN113312678A CN113312678A (zh) 2021-08-27
CN113312678B true CN113312678B (zh) 2023-07-11

Family

ID=77372047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110330506.9A Active CN113312678B (zh) 2021-03-24 2021-03-24 硬件木马检测电路、硬件木马检测方法及电子设备

Country Status (1)

Country Link
CN (1) CN113312678B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789997B (zh) 2021-11-17 2023-01-11 財團法人資訊工業策進會 基於木馬電路檢測的資料處理方法及資料處理電路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649959A (zh) * 2016-10-10 2017-05-10 中国电子科技集团公司第五十八研究所 一种基于扫描链的电路设计方法及对硬件木马的检测方法
CN107239620A (zh) * 2017-06-06 2017-10-10 西南交通大学 一种抗硬件木马集成电路设计方法及系统
CN109063475A (zh) * 2018-07-31 2018-12-21 西南交通大学 一种硬件木马的检测方法、设备及计算机存储介质
CN112434350A (zh) * 2020-10-30 2021-03-02 西安交通大学 一种针对可重构加速器片上互联结构的硬件木马攻击方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681795B2 (en) * 2018-09-28 2023-06-20 Amida Technology Solutions, Inc. Method, system and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649959A (zh) * 2016-10-10 2017-05-10 中国电子科技集团公司第五十八研究所 一种基于扫描链的电路设计方法及对硬件木马的检测方法
CN107239620A (zh) * 2017-06-06 2017-10-10 西南交通大学 一种抗硬件木马集成电路设计方法及系统
CN109063475A (zh) * 2018-07-31 2018-12-21 西南交通大学 一种硬件木马的检测方法、设备及计算机存储介质
CN112434350A (zh) * 2020-10-30 2021-03-02 西安交通大学 一种针对可重构加速器片上互联结构的硬件木马攻击方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于转换概率分析的硬件木马检测方法;方凯、王可可、陈鑫、黄正峰、易茂祥;微电子学;第49卷(第02期);242-248 *

Also Published As

Publication number Publication date
CN113312678A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
US20180267102A1 (en) Implementing enhanced diagnostics with intelligent pattern combination in automatic test pattern generation (atpg)
CN113312678B (zh) 硬件木马检测电路、硬件木马检测方法及电子设备
CN107239620B (zh) 一种抗硬件木马集成电路设计方法及系统
CN107016223B (zh) 一种抗硬件木马芯片设计方法及系统
US8266573B2 (en) Method and system for test point insertion
CN114185524A (zh) 电路设计软件中的器件列表提取方法、装置及相关设备
CN109284637B (zh) 一种基于逻辑加密的集成电路及其加密方法
CN114880975A (zh) 一种硬件木马的生成方法、系统、设备以及介质
US7096384B2 (en) Fault simulator for verifying reliability of test pattern
Mangassarian et al. Maximum circuit activity estimation using pseudo-boolean satisfiability
US7467362B2 (en) Failure detection improvement apparatus, failure detection improvement program, failure detection improvement method
US6636995B1 (en) Method of automatic latch insertion for testing application specific integrated circuits
US7131087B2 (en) Multi-cycle path analyzing method
US20070040586A1 (en) Apparatus, method and program for verifying asynchronous circuit
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
Pomeranz Generation of functional broadside tests for logic blocks with constrained primary input sequences
Habibi et al. Efficient assertion based verification using TLM
CN115455880A (zh) 时序路径筛查方法及设备
JP4577475B2 (ja) 同期式順序回路のプロパティ検証方法および装置
US5894421A (en) Method and apparatus for calculating slew rates and signal propagation times for signal waveforms
JP4899927B2 (ja) テストパターン自動生成方法およびテストパターン自動生成プログラム
CN110763984A (zh) 逻辑电路失效率确定方法、装置、设备及存储介质
US8495541B2 (en) Characterization device and computer program thereof
US9268891B1 (en) Compact and efficient circuit implementation of dynamic ranges in hardware description languages
US20030225562A1 (en) Method and apparatus for characterizing timing-sensitive digital logic circuits

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant