CN104865270B - 基于无源光学水印的硬件木马检测方法 - Google Patents
基于无源光学水印的硬件木马检测方法 Download PDFInfo
- Publication number
- CN104865270B CN104865270B CN201510280787.6A CN201510280787A CN104865270B CN 104865270 B CN104865270 B CN 104865270B CN 201510280787 A CN201510280787 A CN 201510280787A CN 104865270 B CN104865270 B CN 104865270B
- Authority
- CN
- China
- Prior art keywords
- circuit
- watermark
- passive optical
- unit
- stand
- 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
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明提供一种基于无源光学水印的硬件木马检测方法。首先在电路中插入备用单元(spare cell),并修改备用单元向其内部添加底层金属,使备用单元内部底层金属的密度大于普通的功能单元;并通过仿真得到电路底层金属对近红外光反射成像图,即为无源光学水印;然后当电路制造完毕后,在进行封装前,将实际电路自底向上进行拍照。最后将拍照所得实际的水印与仿真得到的水印进行对比,若水印的位置之间发生变化,或者水印消失,或出现新的水印,则认为电路中含有硬件木马。此方法不需要对电路进行任何电测试,且可以克服传统方法中受工艺噪声、测量噪声的影响,显著降低检测复杂度,提高检测准确度。
Description
技术领域
本发明涉及一种基于无源光学水印的硬件木马检测方法,尤其是一种不需要对电路进行任何电测试,并能克服电路受到工艺噪声以及测量噪声的影响,显著降低硬件木马的测试复杂度并提高检测效率的硬件木马检测方法。
背景技术
集成电路在设计与制造过程中,往往会涉及到第三方的设计服务及IP(知识产权核)、EDA(电子设计自动化)软件以及不受控的晶圆厂和封装测试厂,在这些环节当中,芯片很有可能被人为的修改,比如恶意的增加,删除或者改变芯片内部原来有电路结构,这类对电路的功能,性能,可靠性,安全性等会产生影响的恶意的电路修改即称为硬件木马。由于制造是目前制约我国集成电路发展的最大因素,绝大部分的集成电路都依赖国外的厂商制造,因此这一环节也是电路最容易遭到修改,被植入硬件木马的环节。
针对硬件木马的检测已经有很多种的方法,目前研究的最多的就是基于旁路分析的电测试,即是利用芯片工作时的侧信道信息(如电磁辐射,电流或者电路延时等信息)来对木马进行检测。其原理是因为电路中植入的硬件木马会对芯片的一些侧信道信号,如电流,频率或路径延时产生影响,因此通过观察芯片的侧信道信号并与原始芯片的侧信道信息作比较,进而检测出芯片中是否有硬件木马的存在。对电路进行基于侧信道分析的硬件木马检测的最大优点是可以使硬件木马不被触发的情形下被检测出来,但是其也有显著的缺点,即当待测电路的总体规模很大,电路内部被植入的硬件木马的规模很小,一些侧信道信息,比如电流和路径延时,其变化幅度极小。考虑到测量过程中引入的噪声,以及芯片制造过程中由于工艺漂移带来的噪声,这种极小的侧信道信号变化将无法被实际测量出来或者即使被测量出来也难以确定是由于硬件木马引起的,还是由于测量噪声,工艺漂移噪声引起的。且基于旁路分析的测试需要进行极为复杂的电测试以及各种数字信号处理分析,因此检测成本较高。且该测试方法属于一种间接的测试方法,即无法最直观的以肉眼来判断电路内部是否含有硬件木马。
基于光学的检测方法已经有一些研究成果,如将待测芯片去封装,然后使用扫描电镜等设备对电路一层一层的进行拍照,然后与原始电路的版图作对比,从而判断芯片中有无硬件木马。此方法虽然最为直观,但是属于破坏性的检测,即每检测一颗芯片,该芯片就被破坏,无法继续使用。且针对一批芯片中只有少数几颗芯片含有硬有木马的情况,这种破坏性检测的方法有可能漏检。
发明内容
本发明的目的在于克服现有技术中存在的不足,提供一种不需要进行电测试的基于无源光学水印的硬件木马检测方法。它是一种通过在电路设计阶段植入一种无源光学水印,然后当电路制造完毕后,直接利用近红外光线对实际电路进行拍照,通过对实际电路中无源光学水印的位置进行判断,从而确定实际电路内部是否含有硬件木马的方法,省去了传统测试方法中复杂的步骤,并能克服工艺漂移噪声,测量噪声等,显著降低测试复杂度并提高测试的准确度。本发明采用的技术方案是:
一种基于无源光学水印的硬件木马检测方法,包括下述步骤:
a)、在电路设计的过程中,在电路中插入一些用于后续修改电路使用的备用单元(spare cell);
b)、修改备用单元,向备用单元内部添加底层金属,使得修改后的备用单元的金属密度高于电路中其余的标准单元或者功能单元;
c)、将完成步骤b)后的电路进行仿真,得到电路在被近红外光线照射后的反射频谱图,反射频谱图中有备用单元区域的图案即为无源光学水印;
d)、当电路制造完毕后,利用近红外光线将实际电路自底向上进行拍照,得到照片即可得到实际电路对近红外光线的反射图,反射图中的水印即为实际的无源光学水印;
e)、将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,若照片中的任一无源光学水印位置与仿真中所得到的无源光学水印位置相比,位置变化过大,超过位置变化上限值;或者仿真反射频谱图中的水印位置在照片中没有找到,即水印消失;或者所拍的照片中出现了比仿真反射频谱图中更多的类似水印点,则认为实际电路中含有硬件木马。
进一步地,
步骤a)中所述的备用单元包括与门,或门,非门,异或门或寄存器中的一种或多种的组合。便于以后电路发生问题需要进行修改时,不需要修改底层的多晶层而重新制作掩膜,可以直接在金属层通过修改不同单元之间的连线,完成电路功能,性能,甚至可靠性方面的修复,从而显著降低设计成本。
进一步地,
步骤a)中,插入备用单元时,按照以下规则之一进行:
a1)、将电路按照一定的面积分成多个区域,在每个区域中植入备用单元;
a2)、将电路按照功能模块分成多个区域,在每个区域中植入备用单元;
a3)、在电路中较难以触发的电路节点周围植入备用单元;
a4)、随机地分布在电路内部。
进一步地,
步骤b)中对备用单元进行修改时,有如下要求:
b1)、向备用单元内部添加底层金属,即1层金属(Metal 1);
b2)、添加的底层金属以不超过目标制造工艺对应的设计规则中的规定的金属密度上限为准;
进一步地,
步骤c)对电路进行仿真的场景为:用波长为1~2um的近红外光光线,对底层金属进行照射,根据底层金属对光线的不同偏振情况,形成仿真的反射频谱图。由于修改后的备用单元底层金属的密度显著大于周边其他的单元,因此其对近红外光反射形成的图案明显区分于周边的图案,这些特殊的图案即形成了无源光学水印。
进一步地,
步骤d)对实际电路进行近红外光线拍照时,既可以拍摄整个实际电路的水印照片,也可以将实际电路分成多个区域,并对每个划分后的区域进行拍照,得到每个区域的水印照片,从而提高水印照片的分辨率。
进一步地,
步骤e)中将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,包括下述步骤:
e1)、将仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印都坐标化,即在二维坐标轴上将所有的水印定位;
e2)、当比较仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印时,需要对每一对水印进行对比,且每对水印都需要比较两者在X轴与Y轴上的坐标;
e3)、若仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印在X轴与Y轴上任一方向的坐标偏差都没有超过相应方向上的位置变化上限值,则认为电路内部没有被人为修改,认为实际电路内部不含有硬件木马;若在X轴与Y轴上任一方向的坐标偏差超过相应方向的位置变化上限值,则认为电路内部结构已被修改,从而影响到了电路中水印的位置,即此认定实际电路内部含有硬件木马。
本发明的优点在于:针对传统方法在检测硬件木马时面临着测试过程复杂,且容易受到工艺漂移器噪声、测量噪声的影响从而影响测试准确率的问题,本发明通过此基于无源光学水印的硬件木马检测方法,可以不需要进行任何电测试,并且能够直观快速地判断电路内部是否含有硬件木马。
附图说明
图1为本发明在一实施例中的流程示意图。
图2为电路经光学仿真后得到备用单元光反射强度显著大于周边功能单元的示意图。
图3为当芯片在制造完毕后进行封装之前,用近红外光线自底向上反向拍照后得到的水印位置与功能模块位置示意图。
图4为实际水印与仿真水印位置发生改变时确定位置改变上限值的示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
硬件木马是由于电路在设计、制造等不可控环节中,被人为增加,删除或者修改芯片内部原来有电路结构而形成的。
一般传统的检测硬件木马的方法都是针对硬件木马本身进行操作,比如将芯片去封装后并逐层进行拍照,再与其原始版图进行直接对比,此检测方法是以破坏实际电路结构为前提的,很难推广到实际应用中去。或者是采用逻辑测试与旁路分析的检测方法,需要进行复杂的电测试与功能测试,且受限于各种噪声的影响,其检测分辨率,精度都有一定的局限性。
本发明的主要方法并不是直接去找硬件木马本身,而是通过检查电路内部一些标志的位置与原始版图相比,其位置是否发生变化,从而来间接地判断电路内部是否遭到过修改。
本发明提出的一种基于无源光学水印的硬件木马检测方法,即可以最直观的通过光学的手段来判断电路内部是否含有硬件木马,又可以不进行复杂的电测试以及功能测试测试,且经过该方法检测后的电路不会受到任何损坏,可以在检测完毕后进行封装,从而供客户使用。
当原始电路被修改后,比如增加了一些逻辑单元,则电路的版图需要重新进行布局布线,即修改后电路版图中有些单元的位置与原始版图相比会发生改变。由于电路中所含的普通功能单元数量极多,且整体电路的面积极大,而单个单元的面积极小,因此如果直接去找普通的用于实现电路功能的单元则极为困难,因为其和周边相邻的单元没有明显区分性。
因此需要在电路中插入一些特殊的,可以明显与电路中其他普通功能单元进行明显区分单元,形成一种特种的标志,这类特殊的标志即被称为水印。
水印的种类有很多,如传统的物理水印,即在电路中嵌入电路设计者、公司或者电路型号等标记,使得该电路无法被人盗用。
本发明中利用的是一种无源光学水印,即某种特殊的单元在被某种波长的光线照射后其反射频谱系数显著高于周边的单元,使得这些特殊单元在经过此类波长照射后形成图像中,形成明显区分于周边环境亮点,这每一个亮点,即构成了该电路的无源光学水印。
通过对上述无源光学水印在电路中所处的位置进行分析与判断,即可确定电路在制造过程中内部的单元有没有被移动位置过,从而判断电路是否被修改过。
下面结合具体附图和实施例对本发明作进一步说明。
在电路设计阶段,按照图1中S100所述,当完成电路的功能设计以后,在电路中插入一些备用单元,并向该备用单元内部添加底层金属,作为该电路的无源光学水印。此实施例中,在电路中插入一些独立的与门作为备用单元,并向与门底层添加1层金属(Metal 1),添加的金属以不超过目标制造工艺对应的设计规则中的规定的金属密度上限为准。且修改后的备用单元的底层金属密度高于电路中其余的标准单元或者功能单元。
添加了底层金属的与门,在近红外光照射后其反射频谱系数显著高于周边的单元,使得在照射形成的图像中,与门所在的区域形成明显区别与周边环境的亮点,这每一个亮点就是该电路的无源光学水印。
当完成S100的步骤,即完成对原始电路植入无源光学水印后,则按照S101所述,对电路进行仿真。
在此实施例中,我们对电路不进行任何上电处理,更不施加任何的测试激励。
这样做的好处是降低硬件木马的测试复杂度并提高检测效率。
在对电路进行光学仿真,仿真可以使用Matlab或者FDTD(有限差分时域),仿真激励为波长为1~2um的近红外光光线,对电路的底层金属进行照射,根据底层金属对光线的不同偏振情况,形成仿真的反射频谱图,由于与门的底层金属密度显著大于周边单元,因此其对近红外光的反射形成的图案明显的区分于周边的图案,这些特殊的图案即形成了无源光学水印。
图2是电路仿真后得到的近红外光照射反射频谱图中功能模块与无源光学水印位置分布的示意图,且该示意图并且用二维直角坐标(X轴/Y轴)标注,便于对水印的位置进行分析。其中100,101,102都是无源光学水印。
当完成S101所述的电路仿真后,即可将电路进行制造,当电路制造完毕后,不要对晶圆进行切片,直接对晶圆上的裸芯片进行拍照。
按S102所述,对制造完毕还处于晶圆上的裸芯片同样不做上电处理,也不施加任何测试激励。
直接利用红近外线照相机和显微镜对上述的裸芯片自底向上进行拍照,得到该裸芯片实际电路的实际无源光学水印分布图。
按S103所述,将电路仿真得到的无源光学水印的位置与实际拍照得到的无源光学水印的位置进行比较。
图3为当芯片制造完毕后经过测试拍照得到的近红外光照射反射图中功能模块与水印位置的示意,从图中可以明显看出,无源光学水印101的坐标位置与图2中相应的位置发生了明显的变化。
无源光学水印101位置发生改变的原因是该电路在制造过程中植入了硬件木马,且植入的硬件木马正好占据了水印101原来的位置,因此无源光学水印101相比与仿真图中的位置发生了明显改变。
按S104所述,当实际拍照得到的无源光学水印位置与仿真得到的无源光学水印的位置发生变化时,即需要对此进行分析,以确定该变化是由于制造过程中被人为的修改过版图,还是因为制造过程中受到工艺漂移的影响。
图4即为确定实际水印位置与仿真得到的水印位置之间允许改变的最大值示意图。
当芯片制造完毕后,由于受到工艺漂移影响,其内部的水印位置与仿真结果相比,有可能会向上、下、左、右四个方向变化,因此有四个上限值来判断水印位置的改变是由于电路的修改还是由于工艺漂移。
图4中该四个方向的上限值分别为ΔX1,ΔY1,ΔX2和ΔY2,确定这些上限值可以利用基于该制造工艺下Monte Carlo仿真和对在该工艺下制造的芯片进行试验来确定一个经验值。
当实际的水印位置在所有方向上的位置变化均在上述四个位置改变的上限值以内,则认为电路的水印不发生变化,即电路没有经过修改,没有植入硬件木马。
若实际的水印位置有任一方向上的位置变化有超过位置变化的上限值,则认为电路的水印已经发生变化,电路在制造过程中遭到修改,实际电路内部含有硬件木马。
若仿真中得到的水印在实际拍摄的照片中没有找到对应的该水印,则认为电路也遭到了修改,可能在恶意修改的过程中,水印被删除了,进而认定实际电路中含有硬件木马。
若在实际的照片中出现了比仿真图片中更多的类似水印点,则也认定电路遭到了修改,实际电路内部含有硬件木马
此方法中虽然要在电路设计阶段插入无源光学水印,但由于光学水印的面积极小,且数量有限,而且植入方法简单,因此不会显著增加电路的面积,也不会提高电路设计的复杂度。
上述对硬件木马的检测方法,相比于传统的方法,不需要进行任何电测试,可以无缝插入集成电路的设计过程中,且通过光学的方法来确定硬件木马更为直观,由于近红外线成像技术的分辨率已经可以达到一个较高的程度,因此该方法是一种低测试复杂度,高效率的硬件木马检测方法。
Claims (1)
1.一种基于无源光学水印的硬件木马检测方法,其特征在于,包括下述步骤:
a)、在电路设计的过程中,在电路中插入一些用于后续修改电路使用的备用单元;
b)、修改备用单元,向备用单元内部添加底层金属,使得修改后的备用单元的底层金属密度高于电路中其余的标准单元或者功能单元;
c)、将完成步骤b)后的电路进行仿真,得到电路在被近红外光线照射后的反射频谱图,反射频谱图中有备用单元区域的图案即为无源光学水印;
d)、当电路制造完毕后,利用近红外光线将电路自底向上进行拍照,得到照片即可得到实际电路对近红外光线的反射图,反射图中的水印即为实际的无源光学水印;
e)、将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,若照片中的任一无源光学水印位置与仿真中所得到的无源光学水印位置相比,位置变化过大,超过位置变化上限值;或者仿真反射频谱图中的水印位置在照片中没有找到,即水印消失;或者所拍的照片中出现了比仿真反射频谱图中更多的类似水印点,则认为实际电路中含有硬件木马;
步骤a)中所述的备用单元包括与门,或门,非门,异或门、寄存器中的一种或多种的组合;
步骤a)中,插入备用单元时,按照以下规则之一进行:
a1)、将电路按照一定的面积分成多个区域,在每个区域中植入备用单元;
a2)、将电路按照功能模块分成多个区域,在每个区域中植入备用单元;
a3)、在电路中较难以触发的电路节点周围植入备用单元;
a4)、随机地分布在电路内部;
步骤b)中对备用单元进行修改时,有如下要求:
b1)、向备用单元内部添加底层金属,即1层金属;
b2)、添加的底层金属以不超过目标制造工艺对应的设计规则中的规定的金属密度上限为准;
步骤c)对电路进行仿真的场景为:用波长为1~2um的近红外光光线,对底层金属进行照射,根据底层金属对光线的不同偏振情况,形成仿真的反射频谱图;
步骤d)对实际电路进行近红外光线拍照时,拍摄整个实际电路的水印照片,或将实际电路分成多个区域,并对每个划分后的区域进行拍照,得到每个区域的水印照片;
步骤e)中将拍照获得照片中实际的无源光学水印与仿真获得的无源光学水印进行比较,包括下述步骤:
e1)、将仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印都坐标化,即在二维坐标轴上将所有的水印定位;
e2)、当比较仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印时,需要对每一对水印进行对比,且每对水印都需要比较两者在X轴与Y轴上的坐标;
e3)、若仿真得到的无源光学水印与拍照获得照片中实际的无源光学水印在X轴与Y轴上任一方向的坐标偏差都没有超过相应方向上的位置变化上限值,则认为电路内部没有被人为修改,认为实际电路内部不含有硬件木马;若在X轴与Y轴上任一方向的坐标偏差超过相应方向的位置变化上限值,则认为电路内部结构已被修改,从而影响到了电路中水印的位置,即此认定实际电路内部含有硬件木马。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280787.6A CN104865270B (zh) | 2015-05-27 | 2015-05-27 | 基于无源光学水印的硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510280787.6A CN104865270B (zh) | 2015-05-27 | 2015-05-27 | 基于无源光学水印的硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104865270A CN104865270A (zh) | 2015-08-26 |
CN104865270B true CN104865270B (zh) | 2017-08-25 |
Family
ID=53911252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510280787.6A Active CN104865270B (zh) | 2015-05-27 | 2015-05-27 | 基于无源光学水印的硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104865270B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108333498A (zh) * | 2018-01-10 | 2018-07-27 | 中国人民解放军国防科技大学 | 基于红外热图侧信道分析的无母本硬件木马检测方法 |
CN108985058A (zh) * | 2018-06-28 | 2018-12-11 | 中国人民解放军国防科技大学 | 基于红外图像细节增强的硬件木马检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2681239Y (zh) * | 2004-01-18 | 2005-02-23 | 成都宇飞信息工程有限公司 | 数字水印电子检测仪 |
CN104614660A (zh) * | 2015-01-09 | 2015-05-13 | 中国电子科技集团公司第五十八研究所 | 基于有源光学水印的硬件木马检测方法 |
-
2015
- 2015-05-27 CN CN201510280787.6A patent/CN104865270B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2681239Y (zh) * | 2004-01-18 | 2005-02-23 | 成都宇飞信息工程有限公司 | 数字水印电子检测仪 |
CN104614660A (zh) * | 2015-01-09 | 2015-05-13 | 中国电子科技集团公司第五十八研究所 | 基于有源光学水印的硬件木马检测方法 |
Non-Patent Citations (3)
Title |
---|
Integrated Circuit Security Threats and Hardware Assurance Countermeasures;Karen Mercedes Goertzel, Booz Allen Hamilton;《REAL-TIME INFORMATION ASSURANCE》;20131231;33-38 * |
Verification of Untrusted Chips using Trusted Layout and Emission Measurements;Franco Stellari, et al;《IEEE. International Symposium on Hardware-Oriented Security and Trust》;20140717;第19页右栏第4段,第20页左栏倒数第1段,第21页左栏第2-3段、右栏第1段,图5-6、10、11 * |
数字水印技术在电子信息安全中的应用;张荣等;《情报科学》;20050131;第23卷(第1期);140-143 * |
Also Published As
Publication number | Publication date |
---|---|
CN104865270A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rahman et al. | The key is left under the mat: On the inappropriate security assumption of logic locking schemes | |
Botero et al. | Hardware trust and assurance through reverse engineering: A tutorial and outlook from image analysis and machine learning perspectives | |
Mehta et al. | The big hack explained: Detection and prevention of PCB supply chain implants | |
CN104614660B (zh) | 基于有源光学水印的硬件木马检测方法 | |
Xiao et al. | BISA: Built-in self-authentication for preventing hardware Trojan insertion | |
Rahman et al. | Physical inspection & attacks: New frontier in hardware security | |
US9430606B2 (en) | Failure analysis and inline defect characterization | |
TWI649558B (zh) | 用於晶圓檢測之系統及方法以及非暫時性電腦可讀媒體 | |
US8987010B1 (en) | Microprocessor image correction and method for the detection of potential defects | |
Wei et al. | Malicious circuitry detection using thermal conditioning | |
Zhou et al. | Detecting hardware trojans using backside optical imaging of embedded watermarks | |
Shi et al. | Golden gates: A new hybrid approach for rapid hardware trojan detection using testing and imaging | |
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
CN109804462A (zh) | 用于大量图案搜索的检验和设计之间的漂移的自动校正的系统及方法 | |
Werner et al. | Reverse engineering of cryptographic cores by structural interpretation through graph analysis | |
Stern et al. | SPARTA-COTS: A laser probing approach for sequential trojan detection in COTS integrated circuits | |
Asadizanjani et al. | Physical assurance | |
Vashistha et al. | Detecting hardware Trojans using combined self-testing and imaging | |
CN104865270B (zh) | 基于无源光学水印的硬件木马检测方法 | |
Stern et al. | SPARTA: A laser probing approach for trojan detection | |
CN108073674B (zh) | 集成电路芯片中的系统缺陷的故障标识数据库的早期开发 | |
Schuermyer et al. | Identifying systematic critical features using silicon diagnosis data | |
Paul et al. | SILVerIn: Systematic integrity verification of printed circuit board using JTAG infrastructure | |
Sarkar et al. | On automating delayered IC analysis for hardware IP protection | |
Botero et al. | Hardware trust and assurance through reverse engineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |