基于无源光学水印的硬件木马检测方法
【技术领域】
[0001]本发明涉及一种基于无源光学水印的硬件木马检测方法,尤其是一种不需要对电路进行任何电测试,并能克服电路受到工艺噪声以及测量噪声的影响,显著降低硬件木马的测试复杂度并提高检测效率的硬件木马检测方法。
【背景技术】
[0002]集成电路在设计与制造过程中,往往会涉及到第三方的设计服务及IP(知识产权核)、EDA(电子设计自动化)软件以及不受控的晶圆厂和封装测试厂,在这些环节当中,芯片很有可能被人为的修改,比如恶意的增加,删除或者改变芯片内部原来有电路结构,这类对电路的功能,性能,可靠性,安全性等会产生影响的恶意的电路修改即称为硬件木马。由于制造是目前制约我国集成电路发展的最大因素,绝大部分的集成电路都依赖国外的厂商制造,因此这一环节也是电路最容易遭到修改,被植入硬件木马的环节。
[0003]针对硬件木马的检测已经有很多种的方法,目前研宄的最多的就是基于旁路分析的电测试,即是利用芯片工作时的侧信道信息(如电磁辐射,电流或者电路延时等信息)来对木马进行检测。其原理是因为电路中植入的硬件木马会对芯片的一些侧信道信号,如电流,频率或路径延时产生影响,因此通过观察芯片的侧信道信号并与原始芯片的侧信道信息作比较,进而检测出芯片中是否有硬件木马的存在。对电路进行基于侧信道分析的硬件木马检测的最大优点是可以使硬件木马不被触发的情形下被检测出来,但是其也有显著的缺点,即当待测电路的总体规模很大,电路内部被植入的硬件木马的规模很小,一些侧信道信息,比如电流和路径延时,其变化幅度极小。考虑到测量过程中引入的噪声,以及芯片制造过程中由于工艺漂移带来的噪声,这种极小的侧信道信号变化将无法被实际测量出来或者即使被测量出来也难以确定是由于硬件木马引起的,还是由于测量噪声,工艺漂移噪声引起的。且基于旁路分析的测试需要进行极为复杂的电测试以及各种数字信号处理分析,因此检测成本较高。且该测试方法属于一种间接的测试方法,即无法最直观的以肉眼来判断电路内部是否含有硬件木马。
[0004]基于光学的检测方法已经有一些研宄成果,如将待测芯片去封装,然后使用扫描电镜等设备对电路一层一层的进行拍照,然后与原始电路的版图作对比,从而判断芯片中有无硬件木马。此方法虽然最为直观,但是属于破坏性的检测,即每检测一颗芯片,该芯片就被破坏,无法继续使用。且针对一批芯片中只有少数几颗芯片含有硬有木马的情况,这种破坏性检测的方法有可能漏检。
【发明内容】
[0005]本发明的目的在于克服现有技术中存在的不足,提供一种不需要进行电测试的基于无源光学水印的硬件木马检测方法。它是一种通过在电路设计阶段植入一种无源光学水印,然后当电路制造完毕后,直接利用近红外光线对实际电路进行拍照,通过对实际电路中无源光学水印的位置进行判断,从而确定实际电路内部是否含有硬件木马的方法,省去了传统测试方法中复杂的步骤,并能克服工艺漂移噪声,测量噪声等,显著降低测试复杂度并提高测试的准确度。本发明采用的技术方案是:
一种基于无源光学水印的硬件木马检测方法,包括下述步骤:
a)、在电路设计的过程中,在电路中插入一些用于后续修改电路使用的备用单元(spare cell);
b)、修改备用单元,向备用单元内部添加底层金属,使得修改后的备用单元的金属密度高于电路中其余的标准单元或者功能单元;
C)、将完成步骤b)后的电路进行仿真,得到电路在被近红外光线照射后的反射频谱图,反射频谱图中有备用单元区域的图案即为无源光学水印;
d)、当电路制造完毕后,利用近红外光线将实际电路自底向上进行拍照,得到照片即可得到实际电路对近红外光线的反射图,反射图中的水印即为实际的无源光学水印;
e)、将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,若照片中的任一无源光学水印位置与仿真中所得到的无源光学水印位置相比,位置变化过大,超过位置变化上限值;或者仿真反射频谱图中的水印位置在照片中没有找到,即水印消失;或者所拍的照片中出现了比仿真反射频谱图中更多的类似水印点,则认为实际电路中含有硬件木马。
[0006]进一步地,
步骤a)中所述的备用单元包括与门,或门,非门,异或门或寄存器中的一种或多种的组合。便于以后电路发生问题需要进行修改时,不需要修改底层的多晶层而重新制作掩膜,可以直接在金属层通过修改不同单元之间的连线,完成电路功能,性能,甚至可靠性方面的修复,从而显著降低设计成本。
[0007]进一步地,
步骤a)中,插入备用单元时,按照以下规则之一进行:
al)、将电路按照一定的面积分成多个区域,在每个区域中植入备用单元;
a2)、将电路按照功能模块分成多个区域,在每个区域中植入备用单元;
a3)、在电路中较难以触发的电路节点周围植入备用单元;
a4)、随机地分布在电路内部。
[0008]进一步地,
步骤b)中对备用单元进行修改时,有如下要求:
bl)、向备用单元内部添加底层金属,即I层金属(Metal I);
b2)、添加的底层金属以不超过目标制造工艺对应的设计规则中的规定的金属密度上限为准;
进一步地,
步骤c)对电路进行仿真的场景为:用波长为I?2um的近红外光光线,对底层金属进行照射,根据底层金属对光线的不同偏振情况,形成仿真的反射频谱图。由于修改后的备用单元底层金属的密度显著大于周边其他的单元,因此其对近红外光反射形成的图案明显区分于周边的图案,这些特殊的图案即形成了无源光学水印。
[0009]进一步地,
步骤d)对实际电路进行近红外光线拍照时,既可以拍摄整个实际电路的水印照片,也可以将实际电路分成多个区域,并对每个划分后的区域进行拍照,得到每个区域的水印照片,从而提高水印照片的分辨率。
[0010]进一步地,
步骤e)中将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,包括下述步骤:
el)、将仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印都坐标化,即在二维坐标轴上将所有的水印定位;
e2)、当比较仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印时,需要对每一对水印进行对比,且每对水印都需要比较两者在X轴与Y轴上的坐标;
e3)、若仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印在X轴与Y轴上任一方向的坐标偏差都没有超过相应方向上的位置变化上限值,则认为电路内部没有被人为修改,认为实际电路内部不含有硬件木马;若在X轴与Y轴上任一方向的坐标偏差超过相应方向的位置变化上限值,则认为电路内部结构已被修改,从而影响到了电路中水印的位置,即此认定实际电路内部含有硬件木马。
[0011]本发明的优点在于:针对传统方法在检测硬件木马时面临着测试过程复杂,且容易受到工艺漂移器噪声、测量噪声的影响从而影响测试准确率的问题,本发明通过此基于无源光学水印的硬件木马检测方法,可以不需要进行任何电测试,并且能够直观快速地判断电路内部是否含有硬件木马。
【附图说明】
[0012]图1为本发明在一实施例中的流程示意图。
[0013]图2为电路经光学仿真后得到备用单元光反射强度显著大于周边功能单元的示意图。
[0014]图3为当芯片在制造完毕后进行封装之前,用近红外光线自底向上反向拍照后得到的水印位置与功能模块位置示意图。
[0015]图4为实际水印与仿真水印位置发生改变时确定位置改变上限值的示意图。
【具体实施方式】
[0016]下面结合具体附图和实施例对本发明作进一步说明。
[0017]硬件木马是由于电路在设计、制造等不可控环节中,被人为增加,删除或者修改芯片内部原来有电路结构而形成的。
[0018]一般传统的检测硬件木马的方法都是针对硬件木马本身进行操作,比如将芯片去封装后并逐层进行拍照,再与其原始版图进行直接对比,此检测方法是以破坏实际电路结构为前提的,很难推广到实际应用中去。或者是采用逻辑测试与旁路分析的检测方法,需要进行复杂的电测试与功能测试,且受限于各种噪声的影响,其检测分辨率,精度都有一定的局限性。
[0019]本发明的主要方法并不是直接去找硬件木马本身,而是通过检查电路内部一些标志的位置与原始版图相比,其位置是否发生变化,从而来间接地判断电路内部是否遭到过修改。
[0020]本发明提出的一种基于无源光学水印的硬件木马检测方法,即可以最直观的通过光学的手段来判断电路内部是否含有硬件木马,又可以不进行复杂的电测试以及功能测试测试,且经过该方法检测后的电路不会受到任何损坏,可以在检测完毕后进行封装,从而供客户使用。
[0021]当原始电路被修改后,比如增加了一些逻辑单元,则电路的版图需要重新进行布局布线,即修改后电路版图中有些单元的位置与原始版图相比会发生改变。由于电路中所含的普通功能单元数量极多,且整体电路的面积极大,而单个单元的面积极小,因此如果直接去找普通的用于实现电路功能的单元则极为困难,因为其和周边相邻的单元没有明显区分性。
[0022]因此需要在电路中插入一些特殊的,可以明显与电路中其他普通功能单元进行明显区分单元,形成一种特种的标志,这类特殊的标志即被称为水印。
[0023]水印的种类有很多,如传统的物理水印,即在电路中嵌入电路设计者、公司或者电路型号等标记,使得该电路无法被人盗用。
[0024]本发明中利用的是一种无源光学水印,即某种特殊的单元在被某种波长的光线照射后其反射频谱系数显著高于周边的单元,使得这些特殊单元在经过此类波长照射后形成图像中,形成明显区分于周边环境亮