CN109766729A - 一种防御硬件木马的集成电路及其加密方法 - Google Patents
一种防御硬件木马的集成电路及其加密方法 Download PDFInfo
- Publication number
- CN109766729A CN109766729A CN201811519901.6A CN201811519901A CN109766729A CN 109766729 A CN109766729 A CN 109766729A CN 201811519901 A CN201811519901 A CN 201811519901A CN 109766729 A CN109766729 A CN 109766729A
- Authority
- CN
- China
- Prior art keywords
- integrated circuit
- circuit
- selector
- trigger
- output end
- 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.)
- Granted
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明涉及一种防御硬件木马的集成电路及其加密方法,包括利用逻辑加密电路获取第一集成电路;根据所述第一集成电路的汉明距离获取第二集成电路;根据所述第二集成电路的汉明距离获取第三集成电路;根据所述第一集成电路的汉明距离和所述第二集成电路的汉明距离,获取第三集成电路;根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路。本发明的加密方法能够同时给原始电路的内部节点以及功能输出提供足够的保护,进而有效地抵御硬件木马、侵权、盗版等攻击行为的威胁,并且时序、面积和功耗开销较低。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种防御硬件木马的集成电路及其加密方法。
背景技术
集成电路(integrated circuit)是一种微型电子器件或部件。集成电路具有体积小、重量轻、引出线和焊接点少、寿命长、可靠性高、性能好等优点,同时其成本低,便于大规模生产。它不仅在工、民用电子设备(如收录机、电视机、计算机)等方面得到广泛的应用,同时在军事、通讯、遥控等方面也得到广泛的应用。
在集成电路产业刚起步的时候,由于设计规模较小,工艺技术较为简单,设计和制造周期较长,成本较低,集成电路制造厂商有能力实现从设计到制造到测试到封装的全部流程。随着集成电路产业的快速发展,以及产品从设计到上市时间的不断压缩,集成电路制造厂商依靠自身完成上述全部流程已变得不切实际,再加之SOC(System on Chip,片上系统)的提出和全球化的趋势不可阻挡,因而集成电路产业逐渐形成了设计、制造、测试和封装各个环节分开并独立完成的产业模式。随着这一趋势的不断加剧,不可信的第三方代工厂和系统集成商使得集成电路的安全面临着愈发严重的威胁。例如,不可信的第三方代工厂可以将具有恶意功能的硬件电路在设计者不知情的情况下植入到集成电路中,这种具有恶意功能的硬件电路被称为硬件木马。硬件木马可以实施多种多样的攻击行为,包括破坏集成电路的正常功能、降低集成电路的性能、泄露敏感信息等。不可信的系统集成商可以在未经授权的情况下使用某一IP(Intelligence Property,知识产权) 核,或者复制该IP核进行非法的传播或销售,这些盗版和侵权行为严重损害了集成电路设计者的利益。
为了抵御这些威胁,研究人员提出了几种依靠改善集成电路的设计流程以提高自身安全性的方法,统称为硬件可信设计方法。与被动地检测硬件木马、盗版、侵权等攻击行为的方法不同,硬件可信设计方法采用了一种更为积极的方式——改变电路结构,所以集成电路的设计流程在强调安全性的要求下需要做一些调整。第一种方法为冯建华等人提出了一种基于模糊处理的抗硬件木马电路设计方法,该方法主要包括两个部分:第一部分是一个有限状态机;第二部分是修改了触发器结构的原始电路,即通过一个选择器使得触发器的输出有正确和错误两种可能的值,而选择器的选择信号由第一部分中的有限状态机控制。在不知道正确密钥的情况下,有限状态机通过控制触发器的输出来完成对原始设计的模糊处理,使得攻击者无法获得原始设计的准确信息,进而硬件木马攻击失效。第二种方法为 Jeyavijayan Rajendran等人将逻辑加密与集成电路测试中的故障分析联系起来,提出了基于故障分析的逻辑加密技术。这种技术使设计者能够可控地保护集成电路的功能输出。具体而言,当攻击者无法提供正确的密钥时,该技术基于故障激活、故障传播和故障屏蔽原理使得加密设计错误的功能输出与正确的功能输出之间的汉明距离达到理想的50%。
但是,第一种方法的模糊处理的效果很大程度上取决于触发器的数量以及位置,因而无法保证对内部节点以及功能输出提供足够的保护,并且目前针对模糊处理和逻辑加密已经出现了多种破解密钥的攻击手段,该方法由于未对正确密钥提供足够的保护因而容易被攻击者破解;第二种方法为了保证逻辑加密的质量,需要往原始电路中插入足够多的密钥门,进而引入了过大的时序、面积和功耗开销,且针对已有的破解密钥的攻击手段,该方法并没有采取足够的保护措施因而容易被攻击者破解。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种防御硬件木马的集成电路及其加密方法。
本发明的一个实施例提供了一种防御硬件木马的集成电路的加密方法,包括:
利用逻辑加密电路获取第一集成电路;
根据所述第一集成电路的汉明距离获取第二集成电路;
根据所述第二集成电路的汉明距离获取第三集成电路;
根据所述第一集成电路的汉明距离和所述第二集成电路的汉明距离,获取第三集成电路;
根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路。
在本发明的一个实施例中,利用逻辑加密电路获取第一集成电路,包括:
选取初始集成电路的若干第一反相器;
利用所述逻辑加密电路替换所述第一反相器,获取第一集成电路。
在本发明的一个实施例中,根据所述第一集成电路的汉明距离获取第二集成电路,包括:
判断所述第一集成电路的汉明距离与预设阈值的关系,若所述第一集成电路的汉明距离小于等于所述预设阈值时,则选取所述第一集成电路中的一个所述逻辑加密电路,替换为原来的所述第一反相器,并利用一个所述逻辑加密电路替换所述第一集成电路的一个第二反相器,获取第二集成电路。
在本发明的一个实施例中,根据所述第二集成电路的汉明距离获取第三集成电路,包括:
判断所述第二集成电路的汉明距离与所述预设阈值的关系,若所述第二集成电路的汉明距离小于等于所述预设阈值时,则继续判断所述第二集成电路的汉明距离和所述第一集成电路的汉明距离的增量是否为正值,若为正值,则获取第三集成电路,若为负值,且满足预设准则,则获取第三集成电路。
在本发明的一个实施例中,根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路,包括:
判断所述第三集成电路的迭代次数与预定迭代次数的关系,若所述迭代次数大于等于所述预定迭代次数,则根据所述第三集成电路的汉明距离获取第四集成电路,若所述迭代次数小于所述预定迭代次数,则获取所述第四集成电路。
在本发明的一个实施例中,在获取第四集成电路之后,还包括:
根据所述第四集成电路和嵌入式密钥产生器获取第五集成电路。
本发明的一个实施例还提供一种防御硬件木马的集成电路,包括嵌入式密钥产生器和若干级逻辑加密电路,所述嵌入式密钥产生器与所述逻辑加密电路连接,其中所述嵌入式密钥产生器包括寄存器单元和组合函数单元,所述寄存器单元、所述组合函数单元和所述逻辑加密电路依次相连。
在本发明的一个实施例中,所述寄存器单元包括n个线性反馈移位寄存器,所述组合函数单元包括m个异或门,n个所述线性反馈移位寄存器并接于所述组合函数单元。
在本发明的一个实施例中,所述逻辑加密电路包括第一异或型逻辑加密电路、第一同或型逻辑加密电路,其中,
所述第一异或型逻辑加密电路包括第一选择器、第一触发器和第一异或门,所述第一选择器的第一输入端分别连接至所述第一触发器的输出端和所述第一异或门的第一输入端,所述第一选择器的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第一选择器的信号选择端连接至主密钥输入使能信号的取反信号,第一选择器的输出端连接至所述第一触发器的第一输入端,所述第一触发器的第二输入端连接至所述集成电路的时钟端,所述第一触发器的输出端连接至所述第一异或门的第一输入端和后一级所述逻辑加密电路,所述第一异或门的第二输入端连接至所述集成电路的第一内部节点,所述第一异或门的输出端连接至所述集成电路的第二内部节点;
所述第一同或型逻辑加密电路包括第二选择器、第二触发器和第一同或门,所述第二选择器的第一输入端分别连接至所述第二触发器的输出端和所述第一同或门的第一输入端,所述第二选择器的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第二选择器的信号选择端连接至主密钥输入使能信号的取反信号,所述第二选择器的输出端连接至所述第二触发器的第一输入端,所述第二触发器的第二输入端连接至所述集成电路的时钟端,所述第二触发器的输出端连接至所述第一同或门的第一输入端和后一级所述逻辑加密电路,所述第一同或门的第二输入端连接至所述集成电路的第三内部节点,所述第一同或门的输出端连接至所述集成电路的第四内部节点。
在本发明的一个实施例中,所述逻辑加密电路还包括第二异或型逻辑加密电路、第二同或型逻辑加密电路,其中,
所述第二异或型逻辑加密电路包括第三选择器、第三触发器、第二异或门和第三反相器,所述第三选择器的第一输入端分别连接至所述第三触发器的输出端和所述第二异或门的第一输入端,所述第三选择器的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第三选择器的信号选择端连接至主密钥输入使能信号的取反信号,所述第三选择器的输出端连接至所述第三触发器的第一输入端,所述第三触发器的第二输入端连接至所述集成电路的时钟端,所述第三触发器的输出端连接至所述第二异或门的第一输入端和后一级所述逻辑加密电路,所述第二异或门的第二输入端连接至所述集成电路的第五内部节点,所述第二异或门的输出端连接至所述第三反相器的输入端,所述第三反相器的输出端连接至所述集成电路的第六内部节点;
所述第二同或型逻辑加密电路包括第四选择器、第四触发器、第二同或门和第四反相器,所述第四选择器的第一输入端分别连接至所述第四触发器的输出端和所述第二同或门的第一输入端,所述第四选择器的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第四选择器的信号选择端连接至主密钥输入使能信号的取反信号,所述第四选择器的输出端连接至所述第四触发器的第一输入端,所述第三触发器的第二输入端连接至所述集成电路的时钟端,所述第四触发器的输出端连接至所述第二同或门的第一输入端和后一级所述逻辑加密电路,所述第二同或门的第二输入端连接至所述集成电路的第七内部节点,所述第二同或门的输出端连接至所述第四反相器的输入端,所述第四反相器的连接至所述集成电路的第八内部节点。
与现有技术相比,本发明的有益效果:
本发明的加密方法能够同时给原始电路的内部节点以及功能输出提供足够的保护,进而有效地抵御硬件木马、侵权、盗版等攻击行为的威胁,并且时序、面积和功耗开销较低。
本发明的加密方法通过插入一个嵌入式密钥产生器,对主密钥再进行加密并生成一组高度相互依赖的二级密钥,使得本发明的集成电路可以抵御大多数已有的破解加密的攻击手段,因此具有较高的安全性。
本发明的集成电路在逻辑加密电路的输入段插入一个嵌入式密钥产生器,可以实现对主密钥的再次加密,通过嵌入式密钥产生器产生的二次密钥控制逻辑加密电路,能够使得加密效果更好,抵御性更强。
本发明的集成电路使用逻辑加密电路置换原始电路的反相器,克服了现有技术中直接插入逻辑加密电路给集成电路引入的面积开销较大的问题,使得本发明的集成电路的具有面积开销小的优点。
本发明的集成电路中的逻辑加密电路中配置有反相器,不可信的第三方代工厂难以分辨该反相器是集成电路中固有的还是属于逻辑加密电路本身的,并且在这两种情况下相应的正确密钥是不同的,克服了现有技术中正确密钥易被破解的问题,使得本发明的集成电路的安全性更高。
附图说明
图1为本发明实施例提供的一种防御硬件木马的集成电路的加密方法流程示意图;
图2为本发明实施例提供的另一种防御硬件木马的集成电路的加密方法流程示意图;
图3为本发明实施例提供的一种防御硬件木马的集成电路的结构示意图;
图4为本发明实施例提供的一种嵌入式二级密钥的结构示意图;
图5为本发明实施例提供的一种第一异或型逻辑加密电路的结构示意图;
图6为本发明实施例提供的一种第一同或型逻辑加密电路的结构示意图;
图7为本发明实施例提供的一种第二异或型逻辑加密电路的结构示意图;
图8为本发明实施例提供的一种第二同或型逻辑加密电路的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
请参见图1和图2,图1为本发明实施例提供的一种防御硬件木马的集成电路的加密方法流程示意图,图2为本发明实施例提供的另一种防御硬件木马的集成电路的加密方法流程示意图。本发明实施例提供的一种防御硬件木马的集成电路的加密方法,包括:
步骤一、利用逻辑加密电路获取第一集成电路;
1.1、设置初始温度、截止温度和退火速度这三个参数;
本实施例中在利用算法向集成电路插入逻辑加密电路时,需要设置初始温度、截止温度和退火速度,其中,初始温度代表利用算法向集成电路插入逻辑加密电路时的开始时间,初始温度的设置是影响该加密方法的加密效果的重要因素之一,初始温度设置的越高,则达到最佳加密效果的可能性越大,但要花费更长的计算时间;反之,则可以节约计算时间,但加密效果可能会有所降低。截止温度代表利用算法向集成电路插入逻辑加密电路时的结束时间,截止温度也是影响该加密方法的加密效果的重要因素之一,截止温度设置的越高,则可以节约计算时间,但加密方法可能并未达到最佳加密效果;反之就需要以牺牲计算时间为代价来达到最佳加密效果。退火速度代表利用算法向集成电路插入逻辑加密电路时的速度,退火速度也是影响该加密方法的加密效果的重要因素之一,通常来讲,同一温度下对最佳加密效果的充分搜索是相当必要的,但这同样需要足够的计算时间,退火速度一般取小于但接近于1的值。
例如,初始温度设置为1000℃,截止温度设置为10℃。
1.2、选取初始集成电路的若干第一反相器;
具体地,获取需要加密的初始集成电路,在初始集成电路中选取若干个第一反相器,其中,第一反相器为初始集成电路自带的反相器,第一反相器用于为逻辑加密电路所替代的反相器,即所随机选取的若干第一反相器将会被逻辑加密电路所取代,且所选取的第一反相器的个数少于初始集成电路中所有反相器的总个数。
1.3、利用所述逻辑加密电路替换所述第一反相器,获取第一集成电路;
具体地,将每个所选取的第一反相器替换成一个逻辑加密电路,即将在初始集成电路中所选取的每个第一反相器均替换成一个逻辑加密电路,其中,逻辑加密电路包括第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路、第二同或型逻辑加密电路,其中每个第一反相器可以被第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路、第二同或型逻辑加密电路中的任意一种逻辑加密电路所替换,将在初始集成电路中所选取的每个第一反相器均替换成一个逻辑加密电路之后所形成的集成电路即为第一集成电路。
步骤二、根据所述第一集成电路的汉明距离获取第二集成电路;
其中,汉明距离指在输入正确密钥下的功能输出与在输入错误密钥下的功能输出之间存在的比特位差异。
在一个具体实施例中,判断所述第一集成电路的汉明距离与预设阈值的关系,若所述第一集成电路的汉明距离小于等于所述预设阈值时,则选取所述第一集成电路中的一个所述逻辑加密电路,替换为原来的所述第一反相器,并利用一个所述逻辑加密电路替换所述第一集成电路的一个第二反相器,获取第二集成电路。
进一步地,获取初始集成电路对应的正确密钥和第一集成电路对应的密钥,计算初始集成电路对应的正确密钥的功能输出和第一集成电路对应的密钥的功能输出之间存在的比特位差异,该比特位差异即为第一集成电路的汉明距离;判断第一集成电路的汉明距离与预设阈值的关系,若第一集成电路的汉明距离小于等于预设阈值时,则选取第一集成电路中的任意一个逻辑加密电路,将该逻辑加密电路替换为原来的第一反相器,即将该逻辑加密电路替换为初始集成电路在该位置时所对应的第一反相器,并在第一集成电路中选取一个第二反相器,将其替换为第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路、第二同或型逻辑加密电路中的任意一种逻辑加密电路,从而获取第二集成电路,其中,第二反相器为集成电路中未被逻辑加密电路所替换过的反相器;若第一集成电路的汉明距离大于预设阈值时,则第二集成电路即为所需要获得的集成电路。
其中预设阈值可以为40%~60%,优选地,预设阈值为50%。
基于逻辑加密的加密方法必须使得攻击者在输入错误密钥的情况下无法获得正确的功能输出。这可以通过降低所设计的集成电路的密钥的功能输出与初始集成电路的正确密钥的功能输出之间的相关性,从而增大攻击者的混淆性来实现。如果对于每种功能输出的组合,攻击者必须考虑P种可能的功能输出组合,那么P值越大意味着对于攻击者的混淆性越大,也就越难以获得正确的功能输出。
假设正确密钥对应的功能输出为N位,而错误密钥的N位功能输出中有Q位是错误的,即汉明距离为Q/N,则如果Q=0,即汉明距离为0,则P=1,这有利于攻击者对集成电路进行攻击;如果Q=N,即汉明距离为100%,则P=1,这也有利于攻击者对集成电路进行攻击。根据函数的特性,只有当即汉明距离为50%时,P才会取得最大值。因此,基于逻辑加密的集成电路在输入错误密钥的情况下,所设计的集成电路的功能输出与初始集成电路的功能输出之间的汉明距离优选为50%。
步骤三、根据所述第二集成电路的汉明距离获取第三集成电路;
在一个具体实施例中,判断所述第二集成电路的汉明距离与所述预设阈值的关系,若所述第二集成电路的汉明距离小于等于所述预设阈值时,则继续判断所述第二集成电路的汉明距离和所述第一集成电路的汉明距离的增量是否为正值,若为正值,则获取第三集成电路,若为负值,且满足预设准则,则获取第三集成电路。
进一步地,获取初始集成电路对应的正确密钥和第二集成电路对应的密钥,计算初始集成电路对应的正确密钥的功能输出和第二集成电路对应的密钥的功能输出之间存在的比特位差异,该比特位差异即为第二集成电路的汉明距离;判断第二集成电路的汉明距离与预设阈值的关系,若第二集成电路的汉明距离小于等于预设阈值时,则继续判断第二集成电路的汉明距离和第一集成电路的汉明距离的增量是否为正值,即第二集成电路的汉明距离与第一集成电路的汉明距离的差值是否为正值,若为正值,则第二集成电路即为第三集成电路,若为负值,但其增量满足预设准则,同样也将第二集成电路作为第三集成电路,否则放弃步骤二中对第一集成电路所做的替换更改操作,此时将第一集成电路作为第三集成电路进行步骤四的操作。
优选地,预设准则为Metropolis准则,Metropolis准则指固体的内部粒子在温度T时趋于平衡的概率为exp(-ΔE/(kT)),E为温度为T时固体的内能,ΔE为内能增量,k为Boltzmann常数。
步骤四、根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路;
在一个具体实施例中,判断所述第三集成电路的迭代次数与预定迭代次数的关系,若所述迭代次数大于等于所述预定迭代次数,则根据所述第三集成电路的汉明距离获取第四集成电路,若所述迭代次数小于所述预定迭代次数,则获取所述第四集成电路。
进一步地,当步骤三获得第三集成电路时,即对应对集成电路进行了更新,会对应得到一个集成电路更新后的温度(即对应一个获得第三集成电路时的时间),则将该温度来表征第三集成电路的迭代次数,利用截止温度来表征预定迭代次数,其中,更新后的温度等于更新前的温度乘以退火速度,判断第三集成电路的迭代次数与预定迭代次数的关系,若迭代次数大于等于预定迭代次数,则根据第三集成电路的汉明距离获取第四集成电路,即重新按照根据步骤二至步骤四的内容对第三集成电路进行操作,直至获取满足条件的集成电路结束,即直至获取最终的第四集成电路,若迭代次数小于预定迭代次数,则说明第三集成电路即为最终的集成电路,则将该第三集成电路作为第四集成电路。
步骤五、根据第四集成电路和嵌入式密钥产生器获取第五集成电路;
在一个具体实施例中,在逻辑加密电路的密钥输入端连接嵌入式密钥产生器,主密钥由集成电路的外部输入端输入至嵌入式密钥产生器,嵌入式密钥产生器根据所输入的主密钥会产生一组二级密钥,该二级密钥则用于控制集成电路中的各个逻辑加密电路,其中,主密钥即为该集成电路外部输入端输入的密钥。
本发明的加密方法通过插入一个嵌入式密钥产生器,对主密钥再进行加密并生成一组高度相互依赖的二级密钥,使得本发明的集成电路可以抵御大多数已有的破解加密的攻击手段,因此具有较高的安全性。
本发明的加密方法能够同时给原始电路的内部节点以及功能输出提供足够的保护,进而有效地抵御硬件木马、侵权、盗版等攻击行为的威胁,并且时序、面积和功耗开销较低。
其中,集成电路是由具体的逻辑单元以及它们之间的连线组成,内部节点即为集成电路中的逻辑单元,如异或门,反相器,触发器等。
本发明通过逻辑加密电路和嵌入式密钥产生器对原始集成电路做一些修改,使其可以有多种不同的工作状态,且在这些工作状态中只有一种是正常状态,其余的都是非正常状态,利用本实施例的加密方法所获得的集成电路的工作状态是正常的还是非正常的,是由集成电路在上电启动时所输入的一组主密钥所决定的。在不知道这组主密钥的情况下,攻击者无法获知集成电路的内部节点的准确信息,进而难以在其中植入硬件木马,同时由于集成电路的功能输出并非正确,使得攻击者所进行的盗版、侵权行为也变得毫无意义。且攻击者无法获知集成电路的主密钥,因此为了防止攻击者实施先破解加密设计再进行攻击的策略,本加密方法通过在集成电路中插入一个嵌入式密钥产生器,对主密钥再进行加密并生成一组高度相互依赖的二级密钥,以提高攻击者破解主密钥的难度。
请参见图3,本发明实施例还提供上述实施例所述的基于逻辑加密的集成电路,其中,该集成电路包括嵌入式密钥产生器和若干级逻辑加密电路,所述嵌入式密钥产生器与所述逻辑加密电路连接,其中所述嵌入式密钥产生器包括寄存器单元和组合函数单元,所述寄存器单元、所述组合函数单元和所述逻辑加密电路依次相连。
在一个具体实施例中,请参见图4,所述寄存器单元包括n个线性反馈移位寄存器,所述组合函数单元包括m个异或门,n个所述线性反馈移位寄存器并接于所述组合函数单元。
具体地,嵌入式密钥产生器包括寄存器单元和组合函数单元,其中,寄存器单元包括n个线性反馈移位寄存器(LFSR,linear feedback shift register),n个线性反馈移位寄存器的级数分别为N1、N2、…、Nn,且该n 个线性反馈移位寄存器并接之后连接于组合函数单元,组合函数单元包括 m个异或门。主密钥由集成电路的外部输入端依次输入到n个LFSR中,用作这n个LFSR的初始化种子,n个LFSR的输出序列同时送入组合函数单元中,经过异或逻辑运算后输出一组二级密钥,该二级密钥用于控制集成电路中所插入的各个逻辑加密电路。其中,初始化种子的长度K为:
K=N1+N2+…+Nn (1)
二级密钥是组合函数单元的输出序列,其长度L应小于等于该输出序列的最大周期Tmax。特别的,当n个LFSR的级数N1、N2、…、Nn两两互质时,该输出序列的最大周期Tmax为:
此时二级密钥的长度L有:
需要说明的是,嵌入式密钥产生器中LFSR的个数n以及相应的级数 N1、N2、…、Nn取决于集成电路中所插入的逻辑加密电路的个数、对安全性的要求以及对硬件开销的要求。具体来说,集成电路中所插入的逻辑加密电路的个数越多,对安全性的要求越高,LFSR的个数n就越多,相应的级数N1、N2、…、Nn也越大;对硬件开销的要求越高,LFSR的个数n就越少,相应的级数N1、N2、…、Nn也越小。组合函数单元中的异或门的个数m只与LFSR的个数n有关。具体来说,LFSR的个数n越多,异或门的个数m就越多;反之LFSR的个数n越少,异或门的个数m就越少。
例如,集成电路中有1024个逻辑加密电路,且二级密钥的长度为1024 位,则根据公式(3)有:在N1、N2、…、Nn两两互质的情况下,N1+N2+…+Nn=16即可满足要求,同时也意味着主密钥的长度是16位。接下来需要确定LFSR的个数以及每个LFSR的级数。同时满足级数之间两两互质且级数之和等于16的方案并不唯一,在对安全性要求不高、对硬件开销要求较高的场合下可以选取LFSR的个数n为2,N1=7,N2=9。此时使用1个2输入异或门作为组合函数即可。
在一个具体实施例中,本发明实施例的集成电路包括若干级逻辑加密电路(即集成电路包括若干个逻辑加密电路,每一个逻辑加密电路即为一级逻辑加密电路),逻辑加密电路包括第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路或第二同或型逻辑加密电路,其中集成电路中的第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路和第二同或型逻辑加密电路中的任意一种逻辑加密电路均可重复多次出现,也可仅出现一次,也可不出现,满足本发明的集成电路的加密方法即可。
请参见图5,具体地,第一异或型逻辑加密电路包括第一选择器X1、第一触发器C1和第一异或门Y1,第一选择器X1的第一输入端分别连接至第一触发器C1的输出端和第一异或门Y1的第一输入端,第一选择器X1 的第二输入端连接至前一级逻辑加密电路或组合函数单元的输出端,即第一选择器X1的第二输入端连接至前一级逻辑加密电路中的触发器的输出端或组合函数单元的输出端,其中,前一级逻辑加密电路可以为第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路或第二同或型逻辑加密电路中的任意一种,需要说明的是,若不存在前一级逻辑加密电路,则第一选择器X1的第二输入端可以直接连接至组合函数单元的输出端,第一选择器X1的信号选择端连接至主密钥输入使能信号的取反信号,第一选择器X1的输出端连接至第一触发器C1的第一输入端,第一触发器C1的第二输入端连接至集成电路的时钟端,第一触发器C1的输出端连接至第一异或门Y1的第一输入端和后一级所述逻辑加密电路,需要说明的是,若存在后一级逻辑加密电路,则第一触发器C1的输出端连接至第一异或门Y1的第一输入端和后一级逻辑加密电路中的选择器的第二输入端,若不存在,则第一触发器C1的输出端仅连接至第一异或门Y1的第一输入端,后一级所述逻辑加密电路可以为第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路或第二同或型逻辑加密电路中的任意一种,第一异或门Y1的第二输入端连接至集成电路的第一内部节点,第一异或门Y1的输出端连接至集成电路的第二内部节点,其中,第一内部节点即为该第一异或型逻辑加密电路所替换的反相器的输入端,第二内部节点即为该第一异或型逻辑加密电路所替换的反相器的输出端。
请参见图6,具体地,第一同或型逻辑加密电路包括第二选择器X2、第二触发器C2和第一同或门T1,第二选择器X2的第一输入端分别连接至第二触发器C2的输出端和第一同或门T1的第一输入端,第二选择器X2 的第二输入端连接至前一级逻辑加密电路或组合函数单元的输出端,即第二选择器X2的第二输入端连接至前一级逻辑加密电路中的触发器的输出端或组合函数单元的输出端,需要说明的是,若不存在前一级逻辑加密电路,则第二选择器X2的第二输入端可以直接连接至组合函数单元的输出端,第二选择器X2的信号选择端连接至主密钥输入使能信号的取反信号,第二选择器X2的输出端连接至第二触发器C2的第一输入端,第二触发器C2 的第二输入端连接至集成电路的时钟端,第二触发器C2的输出端连接至第一同或门T1的第一输入端和后一级逻辑加密电路,需要说明的是,若存在后一级逻辑加密电路,则第二触发器C2的输出端连接至第一同或门T1的第一输入端和后一级逻辑加密电路中的选择器的第二输入端,若不存在,则第二触发器C2的输出端仅连接至第一同或门T1的第一输入端,第一同或门T1的第二输入端连接至集成电路的第三内部节点,第一同或门T1的输出端连接至集成电路的第四内部节点,其中,第三内部节点即为该第一同或型逻辑加密电路所替换的反相器的输入端,第四内部节点即为该第一同或型逻辑加密电路所替换的反相器的输出端。
请参见图7,具体地,第二异或型逻辑加密电路包括第三选择器X3、第三触发器C3、第二异或门Y2和第三反相器F1,第三选择器X3的第一输入端分别连接至第三触发器C3的输出端和第二异或门Y2的第一输入端,第三选择器X3的第二输入端连接至前一级逻辑加密电路或组合函数单元的输出端,即第三选择器X3的第二输入端连接至前一级逻辑加密电路中的触发器的输出端或组合函数单元的输出端,需要说明的是,若不存在前一级逻辑加密电路,则第三选择器X3的第二输入端可以直接连接至组合函数单元的输出端,第三选择器X3的信号选择端连接至主密钥输入使能信号的取反信号,第三选择器X3的输出端连接至第三触发器C3的第一输入端,第三触发器C3的第二输入端连接至集成电路的时钟端,第三触发器C3的输出端连接至第二异或门Y2的第一输入端和后一级所述逻辑加密电路,需要说明的是,若存在后一级逻辑加密电路,则第三触发器C3的输出端连接至第二异或门Y2的第一输入端和后一级逻辑加密电路中的选择器的第二输入端,若不存在,则第三触发器C3的输出端仅连接至第二异或门Y2的第一输入端,第二异或门Y2的第二输入端连接至集成电路的第五内部节点,第二异或门Y2的输出端连接至第三反相器F1的输入端,第三反相器F1 的输出端连接至集成电路的第六内部节点,其中,第五内部节点即为该第二异或型逻辑加密电路所替换的反相器的输入端,第六内部节点即为该第二异或型逻辑加密电路所替换的反相器的输出端。
请参见图8,具体地,第二同或型逻辑加密电路包括第四选择器X4、第四触发器C4、第二同或门T2和第四反相器F2,第四选择器X4的第一输入端分别连接至第四触发器C4的输出端和第二同或门T2的第一输入端,第四选择器X4的第二输入端连接至前一级逻辑加密电路或组合函数单元的输出端,即第四选择器X4的第二输入端连接至前一级逻辑加密电路中的触发器的输出端或组合函数单元的输出端,需要说明的是,若不存在前一级逻辑加密电路,则第四选择器X4的第二输入端可以直接连接至组合函数单元的输出端,第四选择器X4的信号选择端连接至主密钥输入使能信号的取反信号,第四选择器X4的输出端连接至第四触发器C4的第一输入端,第三触发器C3的第二输入端连接至集成电路的时钟端,第四触发器C4的输出端连接至第二同或门T2的第一输入端和后一级逻辑加密电路,需要说明的是,若存在后一级逻辑加密电路,则第四触发器C4的输出端连接至第二同或门T2的第一输入端和后一级逻辑加密电路中的选择器的第二输入端,若不存在,则第四触发器C4的输出端仅连接至第二同或门T2的第一输入端,第二同或门T2的第二输入端连接至集成电路的第七内部节点,第二同或门T2的输出端连接至第四反相器F2的输入端,第四反相器F2的连接至集成电路的第八内部节点,其中,第三内部节点即为该第二同或型逻辑加密电路所替换的反相器的输入端,第四内部节点即为该第二同或型逻辑加密电路所替换的反相器的输出端。
本发明能够同时给集成电路的内部节点以及功能输出提供足够的保护,进而有效地抵御硬件木马、侵权、盗版等攻击行为的威胁,并且时序、面积和功耗开销较低。
本发明的集成电路在逻辑加密电路的输入段插入一个嵌入式密钥产生器,可以实现对主密钥的再次加密,通过嵌入式密钥产生器产生的二次密钥控制逻辑加密电路,能够使得加密效果更好,抵御性更强。
本发明的集成电路使用逻辑加密电路置换原始电路的反相器,克服了现有技术中直接插入逻辑加密电路给集成电路引入的面积开销较大的问题,使得本发明的集成电路的具有面积开销小的优点。
本发明的集成电路中的逻辑加密电路中配置有反相器,不可信的第三方代工厂难以分辨该反相器是集成电路中固有的还是属于逻辑加密电路本身的,并且在这两种情况下相应的正确密钥是不同的,克服了现有技术中正确密钥易被破解的问题,使得本发明的集成电路的安全性更高。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种防御硬件木马的集成电路的加密方法,其特征在于,包括:
利用逻辑加密电路获取第一集成电路;
根据所述第一集成电路的汉明距离获取第二集成电路;
根据所述第二集成电路的汉明距离获取第三集成电路;
根据所述第一集成电路的汉明距离和所述第二集成电路的汉明距离,获取第三集成电路;
根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路。
2.如权利要求1所述的加密方法,其特征在于,利用逻辑加密电路获取第一集成电路,包括:
选取初始集成电路的若干第一反相器;
利用所述逻辑加密电路替换所述第一反相器,获取第一集成电路。
3.如权利要求1所述的加密方法,其特征在于,根据所述第一集成电路的汉明距离获取第二集成电路,包括:
判断所述第一集成电路的汉明距离与预设阈值的关系,若所述第一集成电路的汉明距离小于等于所述预设阈值时,则选取所述第一集成电路中的一个所述逻辑加密电路,替换为原来的所述第一反相器,并利用一个所述逻辑加密电路替换所述第一集成电路的一个第二反相器,获取第二集成电路。
4.如权利要求2所述的加密方法,其特征在于,根据所述第二集成电路的汉明距离获取第三集成电路,包括:
判断所述第二集成电路的汉明距离与所述预设阈值的关系,若所述第二集成电路的汉明距离小于等于所述预设阈值时,则继续判断所述第二集成电路的汉明距离和所述第一集成电路的汉明距离的增量是否为正值,若为正值,则获取第三集成电路,若为负值,且满足预设准则,则获取第三集成电路。
5.如权利要求1所述的加密方法,其特征在于,根据所述第三集成电路的迭代次数与预定迭代次数,获取第四集成电路,包括:
判断所述第三集成电路的迭代次数与预定迭代次数的关系,若所述迭代次数大于等于所述预定迭代次数,则根据所述第三集成电路的汉明距离获取第四集成电路,若所述迭代次数小于所述预定迭代次数,则获取所述第四集成电路。
6.如权利要求5所述的加密方法,其特征在于,在获取第四集成电路之后,还包括:
根据所述第四集成电路和嵌入式密钥产生器获取第五集成电路。
7.一种防御硬件木马的集成电路,其特征在于,包括嵌入式密钥产生器和若干级逻辑加密电路,所述嵌入式密钥产生器与所述逻辑加密电路连接,其中所述嵌入式密钥产生器包括寄存器单元和组合函数单元,所述寄存器单元、所述组合函数单元和所述逻辑加密电路依次相连。
8.如权利要求7所述的集成电路,其特征在于,所述寄存器单元包括n个线性反馈移位寄存器,所述组合函数单元包括m个异或门,n个所述线性反馈移位寄存器并接于所述组合函数单元。
9.如权利要求7所述的集成电路,其特征在于,所述逻辑加密电路包括第一异或型逻辑加密电路、第一同或型逻辑加密电路,其中,
所述第一异或型逻辑加密电路包括第一选择器(X1)、第一触发器(C1)和第一异或门(Y1),所述第一选择器(X1)的第一输入端分别连接至所述第一触发器(C1)的输出端和所述第一异或门(Y1)的第一输入端,所述第一选择器(X1)的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第一选择器(X1)的信号选择端连接至主密钥输入使能信号的取反信号,第一选择器(X1)的输出端连接至所述第一触发器(C1)的第一输入端,所述第一触发器(C1)的第二输入端连接至所述集成电路的时钟端,所述第一触发器(C1)的输出端连接至所述第一异或门(Y1)的第一输入端和后一级所述逻辑加密电路,所述第一异或门(Y1)的第二输入端连接至所述集成电路的第一内部节点,所述第一异或门(Y1)的输出端连接至所述集成电路的第二内部节点;
所述第一同或型逻辑加密电路包括第二选择器(X2)、第二触发器(C2)和第一同或门(T1),所述第二选择器(X2)的第一输入端分别连接至所述第二触发器(C2)的输出端和所述第一同或门(T1)的第一输入端,所述第二选择器(X2)的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第二选择器(X2)的信号选择端连接至主密钥输入使能信号的取反信号,所述第二选择器(X2)的输出端连接至所述第二触发器(C2)的第一输入端,所述第二触发器(C2)的第二输入端连接至所述集成电路的时钟端,所述第二触发器(C2)的输出端连接至所述第一同或门(T1)的第一输入端和后一级所述逻辑加密电路,所述第一同或门(T1)的第二输入端连接至所述集成电路的第三内部节点,所述第一同或门(T1)的输出端连接至所述集成电路的第四内部节点。
10.如权利要求7所述的集成电路,其特征在于,所述逻辑加密电路还包括第二异或型逻辑加密电路、第二同或型逻辑加密电路,其中,
所述第二异或型逻辑加密电路包括第三选择器(X3)、第三触发器(C3)、第二异或门(Y2)和第三反相器(F1),所述第三选择器(X3)的第一输入端分别连接至所述第三触发器(C3)的输出端和所述第二异或门(Y2)的第一输入端,所述第三选择器(X3)的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第三选择器(X3)的信号选择端连接至主密钥输入使能信号的取反信号,所述第三选择器(X3)的输出端连接至所述第三触发器(C3)的第一输入端,所述第三触发器(C3)的第二输入端连接至所述集成电路的时钟端,所述第三触发器(C3)的输出端连接至所述第二异或门(Y2)的第一输入端和后一级所述逻辑加密电路,所述第二异或门(Y2)的第二输入端连接至所述集成电路的第五内部节点,所述第二异或门(Y2)的输出端连接至所述第三反相器(F1)的输入端,所述第三反相器(F1)的输出端连接至所述集成电路的第六内部节点;
所述第二同或型逻辑加密电路包括第四选择器(X4)、第四触发器(C4)、第二同或门(T2)和第四反相器(F2),所述第四选择器(X4)的第一输入端分别连接至所述第四触发器(C4)的输出端和所述第二同或门(T2)的第一输入端,所述第四选择器(X4)的第二输入端连接至前一级所述逻辑加密电路或所述组合函数单元的输出端,所述第四选择器(X4)的信号选择端连接至主密钥输入使能信号的取反信号,所述第四选择器(X4)的输出端连接至所述第四触发器(C4)的第一输入端,所述第三触发器(C3)的第二输入端连接至所述集成电路的时钟端,所述第四触发器(C4)的输出端连接至所述第二同或门(T2)的第一输入端和后一级所述逻辑加密电路,所述第二同或门(T2)的第二输入端连接至所述集成电路的第七内部节点,所述第二同或门(T2)的输出端连接至所述第四反相器(F2)的输入端,所述第四反相器(F2)的连接至所述集成电路的第八内部节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811519901.6A CN109766729B (zh) | 2018-12-12 | 2018-12-12 | 一种防御硬件木马的集成电路及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811519901.6A CN109766729B (zh) | 2018-12-12 | 2018-12-12 | 一种防御硬件木马的集成电路及其加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766729A true CN109766729A (zh) | 2019-05-17 |
CN109766729B CN109766729B (zh) | 2021-01-22 |
Family
ID=66450538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811519901.6A Active CN109766729B (zh) | 2018-12-12 | 2018-12-12 | 一种防御硬件木马的集成电路及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766729B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568494A (zh) * | 2019-09-12 | 2019-12-13 | 电子科技大学 | 基于广义极值分布的叠前非高斯avo反演方法 |
CN111046384A (zh) * | 2019-11-07 | 2020-04-21 | 安徽新华学院 | 一种基于Metropolis算法的Android应用安全检测方法 |
CN113312677A (zh) * | 2021-07-29 | 2021-08-27 | 北京航空航天大学杭州创新研究院 | 一种用于集成电路功能输出保护的逻辑加密方法 |
WO2022087829A1 (zh) * | 2020-10-27 | 2022-05-05 | 京东方科技集团股份有限公司 | 数据处理电路、数据处理方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104101828A (zh) * | 2013-04-08 | 2014-10-15 | 北京大学 | 基于激活概率分析的抗硬件木马电路设计方法 |
CN104239616A (zh) * | 2014-09-02 | 2014-12-24 | 工业和信息化部电子第五研究所 | 集成电路的设计方法及硬件木马检测方法 |
-
2018
- 2018-12-12 CN CN201811519901.6A patent/CN109766729B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104101828A (zh) * | 2013-04-08 | 2014-10-15 | 北京大学 | 基于激活概率分析的抗硬件木马电路设计方法 |
CN104239616A (zh) * | 2014-09-02 | 2014-12-24 | 工业和信息化部电子第五研究所 | 集成电路的设计方法及硬件木马检测方法 |
Non-Patent Citations (4)
Title |
---|
MOHAMMAD SALEH SAMIMI等: "Hardware Enlightening: No Where to Hide Your Hardware Trojans!", 《2016 IEEE 22ND INTERNATIONAL SYMPOSIUM ON ON-LINE TESTING AND ROBUST SYSTEM DESIGN (IOLTS)》 * |
XIAOMING CHEN等: "Low-Overhead Implementation of Logic Encryption Using Gate Replacement Techniques", 《2017 18TH INTERNATIONAL SYMPOSIUM ON QUALITY ELECTRONIC DESIGN (ISQED). IEEE》 * |
刘长龙: "基于侧信道分析的硬件木马检测技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
宁德圣 等: "基于模拟退火算法的改进型退火策略研究", 《东华理工大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568494A (zh) * | 2019-09-12 | 2019-12-13 | 电子科技大学 | 基于广义极值分布的叠前非高斯avo反演方法 |
CN110568494B (zh) * | 2019-09-12 | 2020-06-26 | 电子科技大学 | 基于广义极值分布的叠前非高斯avo反演方法 |
CN111046384A (zh) * | 2019-11-07 | 2020-04-21 | 安徽新华学院 | 一种基于Metropolis算法的Android应用安全检测方法 |
WO2022087829A1 (zh) * | 2020-10-27 | 2022-05-05 | 京东方科技集团股份有限公司 | 数据处理电路、数据处理方法及电子设备 |
CN114846473A (zh) * | 2020-10-27 | 2022-08-02 | 京东方科技集团股份有限公司 | 数据处理电路、数据处理方法及电子设备 |
US11789897B2 (en) | 2020-10-27 | 2023-10-17 | BOE Technology Development Co., Ltd. | Data processing circuit, data processing method, and electronic device |
CN113312677A (zh) * | 2021-07-29 | 2021-08-27 | 北京航空航天大学杭州创新研究院 | 一种用于集成电路功能输出保护的逻辑加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109766729B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766729A (zh) | 一种防御硬件木马的集成电路及其加密方法 | |
Li et al. | A survey of hardware Trojan threat and defense | |
Xue et al. | Ten years of hardware Trojans: a survey from the attacker's perspective | |
Yasin et al. | Evolution of logic locking | |
Hwang et al. | AES-Based Security Coprocessor IC in 0.18-$ muhbox m $ CMOS With Resistance to Differential Power Analysis Side-Channel Attacks | |
Swierczynski et al. | Bitstream fault injections (BiFI)–automated fault attacks against SRAM-based FPGAs | |
Massad et al. | Logic locking for secure outsourced chip fabrication: A new attack and provably secure defense mechanism | |
Tiri et al. | A side-channel leakage free coprocessor IC in 0.18 µm CMOS for Embedded AES-based Cryptographic and Biometric Processing | |
CN106646203B (zh) | 防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构 | |
Jati et al. | Threshold Implementations of $\mathtt {GIFT} $: A Trade-Off Analysis | |
CN105933108B (zh) | 一种对sm4算法实现破解的方法 | |
Kochte et al. | Specification and verification of security in reconfigurable scan networks | |
Li et al. | Scan chain based attacks and countermeasures: A survey | |
Xu et al. | Secure remote sensing and communication using digital PUFs | |
Juretus et al. | Time domain sequential locking for increased security | |
Karmakar et al. | A cellular automata guided finite-state-machine watermarking strategy for IP protection of sequential circuits | |
Islam et al. | High-level synthesis of key based obfuscated RTL datapaths | |
Naveenkumar et al. | A survey on recent detection methods of the hardware trojans | |
Wang et al. | Ensuring cryptography chips security by preventing scan-based side-channel attacks with improved DFT architecture | |
US11061997B2 (en) | Dynamic functional obfuscation | |
Gross et al. | Fpganeedle: Precise remote fault attacks from fpga to cpu | |
Fowze et al. | Eisec: Exhaustive information flow security of hardware intellectual property utilizing symbolic execution | |
Rajendran | An overview of hardware intellectual property protection | |
Duncan et al. | SeRFI: secure remote FPGA initialization in an untrusted environment | |
Tang et al. | MPFA: an efficient multiple faults-based persistent fault analysis method for low-cost FIA |
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 |