本发明专利技术涉及一种能检测极小硬件木马的电路设计方法及检测方法。首先在完成原始电路的功能设计后,将此电路按一定的规则分成不同的区域。其次将为每个划分的区域设计独立的供电网络,并利用电源隔离单元控制开关每个划分的区域的电源。然后在电路内部添加一个能产生多种测试向量的自测试模块。随后在芯片测试过程中,通过电源隔离单元完全关闭不工作区域的电源,只测量一个区域工作时的瞬态电流曲线。最后,比较不同时间窗中相同测试码对应的瞬态电流曲线,若不同时间窗的电路瞬态电流曲线进行拟合后没有超出阈值且不发生曲线交叉,则认为电路中不含硬件木马,否则认为电路中含有硬件木马。本发明专利技术尤其适合检测电路规模较小的硬件木马。
【技术实现步骤摘要】
能检测极小硬件木马的电路设计方法及检测方法
本专利技术涉及一种能检测极小硬件木马的电路设计方法及检测方法,属于集成电路检测领域。
技术介绍
随着集成电路设计的日益复杂,制造成本日趋高昂,集成电路产业正朝着全球化合作的趋势发展。打造完全自主可控集成电路产业链不仅建设周期长,同时还面临技术和资本上的巨大挑战。因此在未来相当长的一段时间内,我国的集成电路仍将面对来源众多控的第三方的设计服务及IP(IntellectualProperty)、EDA(ElectronicDesignAutomation)软件以及不受控的晶圆厂和封装测试厂,在这些环节当中,芯片很有可能被人为的修改,比如恶意的增加,删除或者改变芯片内部原来有电路结构,或者在制造阶段改变工艺参数影响晶体管的正常工作参数,如改变掺杂的程度,这类对电路的功能,性能,可靠性,安全性等会产生影响的恶意的电路修改即称为硬件木马。硬件木马的种类有很多,有些硬件木马会影响电路的正常工作,在一些关键的应用场合如空间卫星、火箭、导弹、飞机以及核设施等,硬件木马可能会造成灾难性的后果。有些硬件木马通过内置后门,在数据传输的过程中,同时泄漏机密信息。还有些硬件木马本身不对电路的工作产生任何影响,也不泄漏机密信息,但其为软件木马提供后门,协助软件木马对系统进行攻击。最近几年国际上已经涌现了多起由于硬件木马引起的会危害国家安全的严重事件,比如“斯诺登棱镜门”事件,伊朗的“震网”事件。由于我国每年进口的集成电路等电子元器件的价值已经达到近3000亿美元,超过石油的进口,硬件木马不仅影响国家的信息安全,社会稳定,还会造成经济上的巨大浪费,影响我国的现代化建设。硬件木马的检测方法目前主要有破坏性检测,系统运行检测,逻辑测试和旁路分析四类。破坏性检测即是将待测芯片去封装,然后使用扫描电镜等设备对电路一层一层的进行拍照,然后与原始电路的版图作对比,从而判断芯片中有无硬件木马。此方法虽然最为直观,但只适用于规模较小的电路,因为随着电路规模的增大,其难度与耗费时间也会显著增加,且针对一批芯片中只有少数几颗芯片含有硬有木马的情况,这种破坏性检测的方法有可能漏检,因此,此方法更多的是作为一种辅助手段,在通过使用其他检测方法确定待测芯片含量有硬件木马后,再通过此方法来确定待测芯片中的硬件木马的形态与结构,便于未来分析。系统运行检测即是将待测芯片用于原型系统中,通过系统运行,来观测芯片的运行过程中功能是否正确。此方法虽然可以检测出大多数在运行过程中出现的问题,但对于一些需要很长时间,比如数年,才能触发的硬件木马,运行验证的方法显然不现实。逻辑测试即是根据可测试性设计(DFT)的概念,在芯片测试过程中,在输入端添加不同的测试向量,观察输出的结果是否匹配,此方法的缺陷是芯片的测试覆盖率很难达到100%,即使达到100%的覆盖,一旦经过第三方的修改植入木马,原有的100%的测试覆盖率也将下降,因此,此方法在理论上就存在一定的缺陷,更多的只是作为一种辅助手段。旁路分析即是利用芯片工作时的旁路信息(如电磁辐射,电流或者电路延时等信息)来对木马进行检测。其原理是因为电路中植入的硬件木马会对芯片的一些旁路信号,如电流,频率或路径延时产生影响,因此通过观察芯片的旁路信号并与原始芯片的旁路信息作比较,进而检测出芯片中是否有硬件木马的存在。对电路进行基于旁路分析的硬件木马检测的最大优点是可以使硬件木马不被触发的情形下被检测出来,但是其也有显著的缺点,即当待测电路的总体规模很大,电路内部被植入的硬件木马的规模很小,一些旁路信息,比如电流和路径延时,其变化幅度极小。考虑到测量过程中引入的噪声,以及芯片制造过程中由于工艺漂移带来的噪声,这种极小的旁路信号变化将无法被实际测量出来或者即使被测量出来也难以确定是由于硬件木马引起的,还是由于测量噪声,工艺漂移噪声引起的。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供一种能检测极小硬件木马的电路设计方法及检测方法,它是一种通过在电路设计阶段添加额外电路从而使得硬件木马更容易被检测出来的设计方法,以及一种高效的硬件木马检测流程,尤其适合检测电路规模较小的硬件木马。按照本专利技术提供的技术方案,所述的能检测极小硬件木马的电路设计方法包括以下步骤:a)、完成原始电路的功能设计,并完成功能仿真后,将电路划分成多个区域,每个区域包括一个或多个功能模块;b)、将经过划分的每个区域添加单独控制的电源隔离单元(isolationcell),且每个划分后的区域的电源隔离单元的开关不受其他电源隔离单元的影响;c)、在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭电源后,仍可以由自测试模块输入测试向量而正常工作。当上述电路完成制造后,一种检测方法是通过电源隔离单元完全关闭不工作区域的电源,只保持一个区域工作,然后测量芯片工作时的旁路信息曲线,并与基准曲线进行比较,从而判断所测区域内部是否含有硬件木马;如此循环完成每个区域的检测。具体的,步骤a对电路进行区域划分时,可以使用以下规则中的一条或混合使用以下规则来划分:1)、根据不同的时钟域来划分,如高速接口物理层等电路中具有多个时钟;2)、根据不同的功能模块来进行划分,如各种不同的IP;3)、根据数据通路上不同的数据宽度来划分,比如数据通路各种数据位宽不同的模块;4)、根据电路节点深度来划分,比如在电路中选择一个电路节点,然后以这个电路节点为中心,以这个节点的扇入和扇出深度为半径划分区域。步骤c添加的自测试模块需要满足以下条件:1)、自测试模块产生的自测试向量能够被各个划分后的区域当成输入,并正常工作;2)、自测试模块必须能够产生高翻转率和低翻转率以及各种不同翻转率的测试向量;3)、自测试模块产生的每一个测试向量中都要有重复多次的测试码,使得电路在工作时能进行多次相同的操作。所述自测试模块生成的测试向量集合S’,有如下要求:1)、测试向量必须重复向量内某一测试码段多次,使电路在执行这一测试向量时,能够进行多次重复的操作;2)、新的测试向量内的重复测试码段,可以连续执行,也可以间隔一定的时间再执行。所述电源隔离单元与每个划分的区域的连接关系如下:1)、每个电源隔离单元都有单独的电源隔离使能信号:控制1,控制2,…,控制n,这些信号由电路内部逻辑(如寄存器)的输出来产生或者直接为电路外部的输入信号;2)、每个电源隔离单元的输出都与一个划分的区域相连,且每个电源隔离单元都只能与一个区域相连,每个划分的区域也只能接收一个电源隔离单元的控制。另一种检测方法是:a)、将待测芯片通过控制电源隔离单元关闭多个区域的电源,利用自测试模块产生的测试向量来测量在只有一个区域工作下的电路瞬态电流曲线;自测试模块产生的每一个测试向量中都要有重复多次的测试码;b)、对记录下的测试向量所对应的瞬态电流曲线,找出测试向量内相同测试码对应不同时间窗的瞬态电流曲线,并将这多组不同时间窗内瞬态电流曲线进行重叠拟合;c)、将重叠拟合后的电路瞬态电流曲线进行比较,当这几条拟合在一起的瞬态电流曲线彼此之间有数据点的最大变化超出阈值范围或者不同瞬态电流曲线之间出现交叉,即认为该区域内部含有硬件木马;否则,认为该区域内部本文档来自技高网...
【技术保护点】
能检测极小硬件木马的电路设计方法,其特征在于,包括以下步骤:a)、完成原始电路的功能设计,并完成功能仿真后,将电路划分成多个区域,每个区域包括一个或多个功能模块;b)、将经过划分的每个区域添加单独控制的电源隔离单元,且每个划分后的区域的电源隔离单元的开关不受其他电源隔离单元的影响;c)、在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭电源后,仍可以由自测试模块输入测试向量而正常工作。
【技术特征摘要】
1.能检测极小硬件木马的电路设计方法,其特征在于,包括以下步骤:a)、完成原始电路的功能设计,并完成功能仿真后,将电路划分成多个区域,每个区域包括一个或多个功能模块;b)、将经过划分的每个区域添加单独控制的电源隔离单元,且每个划分后的区域的电源隔离单元的开关不受其他电源隔离单元的影响;c)、在电路内部添加一个自测试模块用于产生测试向量,此自测试模块的输出能够作为划分后的任一区域的输入,使得各区域在相邻区域被关闭电源后,仍可以由自测试模块输入测试向量而正常工作;步骤a对电路进行区域划分时,可以使用以下规则中的一条或混合使用以下规则来划分:1)、根据不同的时钟域来划分;2)、根据不同的功能模块来进行划分;3)、根据数据通路上不同的数据宽度来划分;4)、根据电路节点深度来划分;所述根据电路节点深度来划分的方法为:在电路中选择一个电路节点,然后以这个电路节点为中心,以这个节点的扇入和扇出深度为半径划分区域;步骤c添加的自测试模块需要满足以下条件:1)、自测试模块产生的自测试向量能够被各个划分后的区域当成输入,并正常工作;2)、自测试模块必须能够产生高翻转率和低翻转率以及各种不同翻转率的测试向量;3)、自测试模块产生的每一个测试向量中都要有重复多次的测试码,使得电路在工作时能进行多次相同的操作;所述自测试模块生成的测试向量集合S’,有如下要求:1)、测试向量必须重复向量内某一测试码段多次,使电路在执行这一测试向量时,能够进行多次重复的操作;2)、新的测试向量内的重复测试码段,可以连续执行,也可以间隔一定的时间再执行。2.根据权利要求1所述的能检测极小硬件木马的电路设计方法,其特征在于,所述电源隔离单元与每个划分的区域的连接关系如下:a)、每个电源隔离单元都有单独的电源隔离使能信号:控制1,控制2,…,控制n,这些信号由电路内...
【专利技术属性】
技术研发人员:周昱,于宗光,魏敬和,罗晟,汤赛楠,
申请(专利权)人:中国电子科技集团公司第五十八研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。