首页> 中国专利> 基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法

基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法

摘要

本发明提供一种基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法,首先将原始电路按一定的规则分成不同的区域,对各个区域加上不同的门控时钟。其次,在电路设计过程中加上或者利用电路内部已有的一个自测试模块,在电路内部产生多种测试向量,且此向量可以作为电路中被划分的各区域的输入,最后在芯片的测试过程中,通过门控时钟单元轮流关闭某些区域的时钟,只测量一个区域工作时的侧信道数据,提高硬件木马产生的侧信道数据在整体电路侧信道数据中所占的比例,更好的区分含有硬件木马的电路和无硬件木马电路在侧信道数据上的区别,从而提高硬件木马检测的分辨率。通过此电路设计方法还可以大致判断硬件木马所在位置。

著录项

  • 公开/公告号CN104636686A

    专利类型发明专利

  • 公开/公告日2015-05-20

    原文格式PDF

  • 申请/专利号CN201510093140.2

  • 申请日2015-03-02

  • 分类号

  • 代理机构无锡市大为专利商标事务所(普通合伙);

  • 代理人殷红梅

  • 地址 214035 江苏省无锡市滨湖区惠河路5号

  • 入库时间 2023-12-18 08:44:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-22

    授权

    授权

  • 2015-06-17

    实质审查的生效 IPC(主分类):G06F21/71 申请日:20150302

    实质审查的生效

  • 2015-05-20

    公开

    公开

说明书

技术领域

本发明涉及一种基于门控时钟的提高硬件木马检测分辨率的电路设计方法 以及对硬件木马的检测流程,尤其是一种通过在电路设计阶段添加额外电路从 而使得硬件木马更容易被检测出来的设计方法与检测流程,尤其适合检测电路 规模较小的硬件木马。

背景技术

集成电路(IC,Integrated Circuit)在设计与制造过程中,往往会涉及 到第三方的设计服务及IP(Intellectual Property)、EDA(Electronic Design  Automation)软件以及不受控的晶圆厂和封装测试厂,在这些环节当中,芯片很 有可能被人为的修改,比如恶意的增加,删除或者改变芯片内部原来有电路结 构,或者在制造阶段改变工艺参数影响晶体管的正常工作参数,如改变掺杂的 程度,这类对电路的功能,性能,可靠性,安全性等会产生影响的恶意的电路 修改即称为硬件木马。硬件木马的种类有很多,有些硬件木马会影响电路的正 常工作,在一些关键的应用场合如空间卫星、火箭、导弹、飞机以及核设施等, 硬件木马可能会造成灾难性的后果。有些硬件木马通过内置后门,在数据传输 的过程中,同时泄漏机密信息。还有些硬件木马本身不对电路的工作产生任何 影响,也不泄漏机密信息,但其为软件木马提供后门,协助软件木马对系统进 行攻击。最近几年国际上已经涌现了多起由于硬件木马引起的会危害国家安全 的严重事件,比如“斯诺登棱镜门”事件,伊朗的“震网”事件。由于我国每年 进口的集成电路等电子元器件的价值已经达到近3000亿美元,超过石油的进口, 硬件木马不仅影响国家的信息安全,社会稳定,还会造成经济上的巨大浪费, 影响我国的现代化建设。

硬件木马的检测方法目前主要有破坏性检测,系统运行检测,逻辑测试和 侧信道分析四类。

破坏性检测即是将待测芯片去封装,然后使用扫描电镜等设备对电路一层 一层的进行拍照,然后与原始电路的版图作对比,从而判断芯片中有无硬件木 马。此方法虽然最为直观,但只适用于规模较小的电路,因为随着电路规模的 增大,其难度与耗费时间也会显著增加,且针对一批芯片中只有少数几颗芯片 含有硬有木马的情况,这种破坏性检测的方法有可能漏检,因此,此方法更多 的是作为一种辅助手段,在通过使用其他检测方法确定待测芯片含量有硬件木 马后,再通过此方法来确定待测芯片中的硬件木马的形态与结构,便于未来分 析。

系统运行检测即是将待测芯片用于原型系统中,通过系统运行,来观测芯 片的运行过程中功能是否正确。此方法虽然可以检测出大多数在运行过程中出 现的问题,但对于一些需要很长时间,比如数年,才能触发的硬件木马,运行 验证的方法显然不现实。

逻辑测试即是根据可测试性设计(DFT)的概念,在芯片测试过程中,在输 入端添加不同的测试向量,观察输出的结果是否匹配,此方法的缺陷是芯片的 测试覆盖率很难达到100%,即使达到100%的覆盖,一旦经过第三方的修改植入 木马,原有的100%的测试覆盖率也将下降,因此,此方法在理论上就存在一定 的缺陷,更多的只是作为一种辅助手段。

侧信道分析即是利用芯片工作时的侧信道信息(如电磁辐射,电流或者电 路延时等信息)来对木马进行检测。其原理是因为电路中植入的硬件木马会对 芯片的一些侧信道信号,如电流,频率或路径延时产生影响,因此通过观察芯 片的侧信道信号并与原始芯片的侧信道信息作比较,进而检测出芯片中是否有 硬件木马的存在。对电路进行基于侧信道分析的硬件木马检测的最大优点是可 以使硬件木马不被触发的情形下被检测出来,但是其也有显著的缺点,即当待 测电路的总体规模很大,电路内部被植入的硬件木马的规模很小,一些侧信道 信息,比如电流和路径延时,其变化幅度极小。考虑到测量过程中引入的噪声, 以及芯片制造过程中由于工艺漂移带来的噪声,这种极小的侧信道信号变化将 无法被实际测量出来或者即使被测量出来也难以确定是由于硬件木马引起的, 还是由于测量噪声,工艺漂移噪声引起的。

发明内容

本发明的目的在于克服现有技术中存在的不足,提供一种基于门控时钟的 提高硬件木马检测分辨率的电路设计方法,以及根据该电路设计方法的对硬件 木马的检测方法。本发明采用的技术方案是:

本发明提出的基于门控时钟的提高硬件木马检测分辨率的电路设计方法, 包括下述步骤:

a)、完成原始电路的功能设计,并完成功能仿真;

b)、将电路按照一定的规则划分成多个区域,每个区域包括一个或多个功 能模块;

c)、给经过上述规则划分的每个区域添加单独控制的门控时钟单元,且每 个划分后的区域的门控时钟单元可以随意开关,不受其他门控时钟单元的影响;

d)、在电路设计阶段,在电路内部添加一个自测试模块用于产生测试向量, 此自测试模块的输出可以作为划分后的任一区域的输入,使得各划分后的区域 在相邻区域被关闭时钟后,仍可以由自测试模块输入测试向量而正常工作。

进一步地,步骤b)中,在电路设计阶段对电路进行区域划分时,可以有以 下的划分准则:

b1)、根据不同的时钟域来划分,如高速接口物理层等电路中具有多个时钟;

b2)、根据不同的功能模块来进行划分,如各种不同的IP核(知识产权核);

b3)、根据数据通路上不同的数据宽度来划分,比如数据通路各种数据位宽 不同的模块;

b4)、根据电路节点深度来划分,比如在电路中选择一个电路节点,然后以 这个电路节点为中心,以这个节点的扇入和扇出深度为半径划分区域;

b5)、或者可以混合使用上述b1、b2、b3、b4的规则来划分区域。

进一步地,门控时钟单元的结构包括一个多路选择器,一个D触发器和一 个与门;这个多路选择器的输入为多个不同的时钟源,此多路选择器的输出作 为D触发器的时钟输入,也作为与门的其中一个输入,D触发器的数据输入信号 为门控时钟使能信号,输出作为与门的另外一个输入,这个与门的输出即为门 控时钟单元的时钟输出。

更进一步地,门控时钟单元与每个划分的区域的连接关系为:

c1)、每个门控时间单元都有单独的门控时钟使能信号;

c2)、每个门控时钟单元的输出都与一个划分的区域相连,且每个门控时钟 单元都只能与一个区域相连,每个划分的区域也只能接收一个门控时钟单元的 控制。

进一步地,上述自测试模块针对每一个划分的区域都可以产生多组,不同 内容的测试向量,且不同的测试向量能够使得目标区域的电路在工作的时候其 内部电路节点的翻转率可以比较高,也可以比较低,即测试向量可以为高翻转 率(high switching-activity)向量,也可以为低翻转率(low  switching-activity)向量。

采用上述电路设计方法设计电路并制造芯片,本发明提出的一种根据上述 电路设计方法的对硬件木马的检测方法,包括下述步骤:

e)在制造完毕后的芯片中任意选取一颗,通过门控时钟单元来关闭除一个 区域外其它区域的时钟,来测量在只有一个区域工作下的侧信道信息曲线,如 动态电流、频率、路径时延等;轮流多次测量,得到所有区域单独工作下的侧 信道信息的数据曲线;

f)将所测的芯片去封装,对电路进行拍照,并与原始版图对比,以确定芯 片中是否含有硬件木马,若拍照分析后确定电路中已经含有硬件木马,则重复 步骤e)和步骤f),重新选择一颗待测芯片,测量其侧信道信息,然后再进行拍 照分析,直到得到不含硬件木马的参照电路为止;

g)将不含硬件木马的电路所测得的各区域的侧信道信息的数据曲线作为各 区域的基准曲线;

h)将其余的待测芯片也按上述方法,通过门控时钟单元轮流关闭除一个区 域外其它区域的时钟,测量得到每个区域相应的侧信道信息的数据曲线,并与 各区域的基准曲线进行比较,若测得的每一个区域的侧信道信息的数据曲线与 基准曲线相差没有超过基准曲线比较阈值,则认为芯片不含有硬件木马,若测 得的侧信道信息的数据曲线与基准曲线相差存在超过基准曲线比较阈值的情况, 则认为芯片内部含有硬件木马。然后重复这一步骤,直到将所有的待测芯片测 完,即可以将含有硬件木马的芯片与不含有硬件木马的芯片区分出来。

进一步地,上述对硬件木马的检测方法中,侧信道信息的数据曲线是指每 一个区域的动态电流与频率关系曲线。

本发明的技术效果在于:

当硬件木马在电路中所占规模极小的,所植入的硬件木马对整个电路侧信 道信息(如电流,频率等)的改变不足以被区分出来时,通过此方法,即可以 减小处于工作状态的电路规模,从而提升硬件木马在处于工作状态的电路中所 占的电路规模比例,从而提高由于硬件木马对电路侧信道信息改变的比例,从 而使硬件木马被检测出来。

附图说明

图1为本发明在一实施例中的流程示意图。

图2为在SMIC 0.18工艺下的ISCAS 85 C880原始电路与含有木马电路的 动态电流与频率的Monte Carlo仿真关系曲线示意图。

图3为本发明在一实施例中添加自测试模块和将电路划分区域的示意图。

图4为门控时钟的结构示意图。

图5为门控时钟单元与划分后区域的连接示意图。

图6为本发明在一实施例中添加的自测试模块结构示意图。

图7为本发明在一实施例中不采用基于门控时钟的分区检测技术对硬件木 马检测的曲线示意图。

图8为本发明在一实施例中采用基于门控时钟的分区检测技术对硬件木马 检测的曲线示意图。

具体实施方式

芯片的侧信道信息的种类有很多,比如电流,频率,内部路径延时,电磁 辐射等,本实施例中讨论的侧信道信息是电流与频率。

现有理论可以表明,一个电路的动态电流与最大频率的关系可以标示为:

Iddt,ifmax,ikav·βav·ntot,i·ncrit,i---(1)

其中,kav和βav都是常数,ntot,i是电路中所有正在工作的门的数量;通过 公示1可以看出,动态电流与最大工作频率之间的关系即使在不同的工艺漂移 下,在基于一阶等效定理的前提下是接近线性关系的。

当电路内被植入硬件木马后,其动态电流与频率的关系可以表达成:

Iddt,i,troojanfmax,ikav·βav·(ntot,i+ntrojan,j)·ncrit,i---(2)

其中,ntrojan,i为硬件木马的门的数量;从公式2可以看出,即使电路被植入 硬件木马以后,动态电流与最大频率之间的关系并没有改变,改变的只是该曲 线的斜率。将公式1与公式2相除,得到:

Iddt,iIddt,trojan=kav·βav·ntot,i·ncrit,ikav·βav·(ntot,i+ntrojan,i)·ncrit,i=ntot,intot,i+ntrojan,i---(3)

当处于工作状态中硬件木马的电路规模很小,而处于工作状态中的电路的 总规模很大时,即ntrojan,i《ntot,i,硬件木马对动态电流的改变将会极小,而无法 被区分出来。由于硬件木马一般都只存在于某一区域内,因此,如果不测量整 个电流的瞬态电流,而是只测量电路某一区域内的瞬态电流,则如果那个区域 内含有硬件木马,则由于硬件木马造成的瞬态电流的改变的比例必然会大大增 加,如公式3所示。

本实施例选择了ISCAS 85基准电路中的C880电路作为目标电路,被向其 内部植入2个8输入比较器的硬件木马,当满足一定的条件时,此木马会改变 其内部信号值。使用Synopsys公司的HSpice作为仿真工具,基于SMIC 0.18um 工艺库中的工艺漂移模型,进行Monte Carlo仿真,测试100个工艺角,并测量 电路的瞬态电流与电路最高频率。将每个工艺角下获得的电流与频率的关系一 一对应即得到了在真实工艺漂移条件下,原始电路与含有硬件木马电路动态电 流与频率关系,如图2所示。

通过在电路设计中将电路划分成不同的区域,并且每个区域可以单独工作, 使得电路制造以后进行测试时,可以测量某一区域单独工作时的动态电流,而 不是整个电路工作时的动态电流,从而提高硬件木马产生的动态电流在总动态 电流中的比值,从而更好的将含有硬件木马的电路区分出来。

基于门控时钟的提高硬件木马检测分辨率的电路设计方法,以及根据该电 路设计方法的对硬件木马的检测方法,在本实施例中的流程如图1所示,

包括如下的步骤:

S100、进行原始电路的设计,完成功能设计,以及相应的功能仿真;

S101、在电路设计过程,将电路按规则分成多个区域,每个区域包括一个 或多个功能模块;

S102、当电路分区完成以后,将每个区域都加上门控时钟单元,且每个区 域的门控时钟单元可以随意开关,不受其他门控时钟单元的影响;

S103、为电路设计一个自测试模块,此自测试模块可以产生作为任一区域 输入的测试向量;

S104、在电路中添加自测试模块,并将自测试模块的输入连接到各划分区 域的输入上,使得此自测试模块可以为任何区域添加测试向量。

S105、在制造完毕后的芯片中任意选取一颗,通过门控时钟单元来关闭除 一个区域外其它区域的时钟,来测量在只有一个区域工作下的动态电流与频率 的关系曲线,得到所有区域单独工作下的各关系曲线;

S106、将所测的芯片去封装,对电路进行拍照,并与原始版图对比,以确 定芯片中是否含有硬件木马,若拍照分析后确定电路中已经含有硬件木马,则 重复步骤S105和S106,重新选择一颗待测芯片,测量其动态电流与频率的关系 曲线,然后再进行拍照分析,直到得到不含硬件木马的参照电路为止;

S107、将不含硬件木马的电路所测得的各区域的动态电流与频率的关系曲 线作为各区域的基准曲线;

S108、将其余的待测芯片也按上述方法,通过门控时钟单元轮流关闭除一 个区域外其它区域的时钟,测量得到每个区域的动态电流与频率关系曲线,并 与基准曲线进行比较,若测得的每一个区域的动态电流与频率关系曲线与基准 曲线相差没有超过基准曲线比较阈值,则认为芯片不含有硬件木马,若测得的 电流频率关系曲线与基准曲线相差存在超过基准曲线比较阈值的情况,则认为 芯片内部含有硬件木马。然后重复这一步骤,直到将所有的待测芯片测完,即 可以将含有硬件木马的芯片与不含有硬件木马的芯片区分出来,进行后续使用。

下面结合具体附图和实施例对本发明作进一步说明,但本发明的实施方式 不限于此。

图3为一个千兆以太网物理层接口的PCS(物理编码子层)架构图,主要由 编码,解码,位宽转换,帧同步以及弹性缓存等模块组成。根据发明内容中提 到的规则,我们将此电路共分成五个区域,其中:

区域一主要是编码,输入位宽为8比特,输出位宽为10比特;

区域二主要是位宽转换电路,将编码过后的10比特数据转换成8比特数据 输出,另外在该区域内,选择植入占电路总面积约为0.3%的时序组合逻辑木马;

区域三是另一位宽转换电路,将接收到的8比特数据转换成10比特数据输 出;

区域四主要包括帧同步电路和弹性缓存,输入和输出数据的位宽都相同, 但输入的时钟和输出时钟不一样,属于不同的时钟域;

区域五主要是解码电路,将接收到10比特数据解码,生成8比特原始数据 输出。

给每个区域都添加如附图4结构的门控时钟单元,门控时钟单元的主要结 构由一个多路选择器(MUX),一个D触发器以及一个2输入与门组成;这个多 路选择器的输入为多个不同的时钟源,使得被门控时钟控制的区域能够选择不 同时钟源的时钟,此多路选择器的输出作为D触发器的时钟输入,也作为与2 输入与门的其中一个输入,D触发器的数据输入信号为门控时钟使能信号,输出 作为2输入与门的另外一个输入,这个2输入与门的输出即为门控时钟单元的 时钟输出。其中多路选择器(MUX)的输入连接的是那个区域所有可能的时钟源 输入,MUX的输入时钟用来同步门控时钟使能信号clk_en,使得门控时钟使能信 号与时钟进行与操作时,避免毛刺(glitch)的产生。

图5为该门控时钟单元在一实际电路内如何与电路中划分的区域相连。门 控时钟单元与每个划分的区域的连接关系为:

c1)、每个门控时间单元都有单独的门控时钟使能信号 clk_en_1,clk_en_2,……,clk_en_n。这些信号可以由电路内部寄存器的输出 来产生或者直接使用电路外部的输入信号;

c2)、每个门控时钟单元的输出都与一个划分的区域相连,且每个门控时钟 单元都只能与一个区域相连,每个划分的区域也只能接收一个门控时钟单元的 控制。

图5中的clk代表图4中的clk1~clkn中的某一个。

在本实施例中添加的自测试模块的结构如附图6所示:主要由数据初始值 生成模块108,自测试数据生成模块109,自测试数据选择器110和8b/10b编 码模块111构成。

初始值生成模块108主要是一组8位的寄存器,可以设置为任意8位数据。

自测试数据生成模块109主要是进行各种类型的逻辑运算,此实施例中共 定义了8种数据运算类型:包括所有字节相同、每字节累加、每字节累减、每字 节取反、左移一个比特、右移一个比特或8位并行PRBS(Pseudo-Random Binary  Sequence)-7序列,109的输入为8比特,输出也同样为8比特。

自测试数据选择器110是一个8选1的多路选择器,根据外部输入的选择 信号,确定到底选择哪一种逻辑运算生成的数据作为输出。

8b/10b编码模块111主要作用是为此自测试模块提供10比特的数据输出, 以满足电路中不同区域的数据处理位宽要求。

通过在电路设计中添加上述步骤,使得芯片在生产完毕进行测试的时候, 可以通过轮流测量每个区域开启时的动态电流,来区分来是否有区域含有硬件 木马,且可以大致判断硬件木马在哪个区域。

图7为测得的含有硬件木马和不含有硬件木马的千兆以太网物理层接口的 PCS电路的电流与频率曲线图,由于硬件木马的规模只有0.3%,因此原始电路和 含有硬件木马的电路动态电流与频率曲线几乎重合,很有可能被真实的工艺漂 移噪声所覆盖,难以曲分。

图8为利用轮流开关门控时钟单元后,针对区域二的测量曲线图。从图中 可以看出,当只有区域二处于激活状态时,区域二的原始电路和区域二中含有 硬件木马的动态电流与频率曲线有了相当明显的改变,其同一频率下动态电流 差距最大的两个数据点相差了0.4mA,即改变总平均动态电流的7%,已经可以在 工艺漂移噪声存在的条件下,正确区分电路内部是否含有硬件木马。

上述方法可以对电路规模较大而所含硬件木马电路较小的电路进行有效的 检测,克服了因为硬件木马电路较小而导致的侧信道信号改变较小而无法区分 的问题,能够有效的提高硬件木马的检测效率,从而保证自主设计的集成电路 即使在其他环节(比如第三方提供的其它生产测试环节)中被植入较小的木马, 也能够被检测出来。此方法虽然增加了设计成本,但能够检测出特殊情况下的 木马,综合考虑,在一些关键设备所用电路上,设计上增加的成本还是可以被 接受的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号