CN109284637A - 一种基于逻辑加密的集成电路及其加密方法 - Google Patents
一种基于逻辑加密的集成电路及其加密方法 Download PDFInfo
- Publication number
- CN109284637A CN109284637A CN201810984765.1A CN201810984765A CN109284637A CN 109284637 A CN109284637 A CN 109284637A CN 201810984765 A CN201810984765 A CN 201810984765A CN 109284637 A CN109284637 A CN 109284637A
- Authority
- CN
- China
- Prior art keywords
- node
- integrated circuit
- low controllability
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明涉及一种基于逻辑加密的集成电路及其加密方法,确定集成电路中节点的信号翻转率;根据节点的信号翻转率建立低可控性节点列表,其中,第一低可控性节点列表包含多个低可控性节点;根据集成电路的关键路径更新低可控性节点列表;根据更新后的低可控性节点列表中的低可控性节点获取驱动节点;根据驱动节点对集成电路进行加密,以得到加密的集成电路。本发明的集成电路的加密方法是一种基于逻辑加密的防御硬件木马的方法,其避开了关键路径上的低可控性节点且不对其作任何处理,避免了在关键路径上插入额外且无用的电路,降低了对集成电路性能的影响,从而克服了现有技术中防御硬件木马的方法对集成电路的性能影响较大的问题。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种基于逻辑加密的集成电路及其加密方法。
背景技术
集成电路(integrated circuit)是一种微型电子器件或部件。集成电路具有体积小、重量轻、引出线和焊接点少、寿命长、可靠性高、性能好等优点,同时其成本低,便于大规模生产。它不仅在工、民用电子设备(如收录机、电视机、计算机)等方面得到广泛的应用,同时在军事、通讯、遥控等方面也得到广泛的应用。
在集成电路的设计流程中,不可信的第三方代工厂可以将具有恶意功能的硬件电路在设计者不知情的情况下植入到集成电路中。这种具有恶意功能的硬件电路被称为硬件木马。研究人员普遍认为,为了逃避集成电路在生产制造完成后的功能测试,不可信的第三方代工厂在集成电路中所植入的硬件木马一般都具有极佳的隐蔽性,在功能测试期间该硬件木马始终处于休眠状态,直到满足了苛刻的触发条件该硬件木马才会被激活,进而实施攻击。硬件木马可以实施多种多样的攻击行为,包括破坏集成电路的正常功能,降低集成电路的性能,泄露敏感信息,拒绝正常服务等。针对这些攻击行为,研究人员提出了相应的应对方法。主要应对方法主要为两种,第一种方法是在集成电路中插入逻辑加密电路,对集成电路进行加密,使得不知道正确密钥的不可信的第三方代工厂无法获得该集成电路的准确信息,从而加大其植入硬件木马的难度;第二种方法是使用扫描链结构对集成电路进行重新划分,并对自动测试向量生成工具生成的测试向量进行优化,以增加在功能测试期间检测到硬件木马的概率。
但是,第一种方法在插入逻辑加密电路时并未考虑到逻辑加密电路对集成电路的关键路径的影响,从而影响集成电路的性能,并且第一种方法并未考虑到集成电路中低可控性节点之间存在的关联,只是针对每一个低可控性节点做独立的处理,这种方法会在集成电路中的一条路径上重复插入多个逻辑加密电路,从而给集成电路带来不必要的面积开销,同时也降低了集成电路的性能;第二种方法由于不可信的第三方代工厂同样可以使用经过优化的测试向量去分析集成电路,因此能够避开测试向量在集成电路中所覆盖到的位置而重新选择其他无法覆盖到的位置植入硬件木马,使得该方法无法达到预期的防御效果。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于逻辑加密的集成电路及其加密方法。
本发明的一个实施例提供了一种基于逻辑加密的集成电路的加密方法,包括:
确定所述集成电路中节点的信号翻转率;
根据所述节点的信号翻转率建立低可控性节点列表,其中,所述低可控性节点列表包含多个低可控性节点;
根据所述集成电路的关键路径更新所述低可控性节点列表;
根据更新后的所述低可控性节点列表中的低可控性节点获取驱动节点;
根据所述驱动节点对所述集成电路进行加密,以得到加密的所述集成电路。
在本发明的一个实施例中,根据所述节点的信号翻转率建立低可控性节点列表,包括:
设定所述信号翻转率的信号翻转率阈值;
根据所述节点的信号翻转率与所述信号翻转率阈值的关系建立所述低可控性节点列表。
在本发明的一个实施例中,根据所述集成电路的关键路径更新所述低可控性节点列表,包括:
计算所述集成电路的关键路径;
判断所述低可控性节点与所述关键路径上的节点是否比对成功;
若是,则移除所述低可控性节点,以更新所述低可控性节点列表。
在本发明的一个实施例中,根据更新后的所述低可控性节点列表中的低可控性节点获取驱动节点,包括:
根据所述低可控性节点获取目标节点;
查找与所述目标节点的输入端相连接的所述信号翻转率最低的节点,以获取驱动节点。
在本发明的一个实施例中,根据所述驱动节点对所述集成电路进行加密,包括:
判断所述驱动节点是否属于所述低可控性节点;
若不属于所述低可控性节点,则继续判断所述驱动节点是否是反相器;
若不是所述反相器,则在所述目标节点和所述驱动节点之间随机插入一个逻辑加密电路;
判断所述低可控性节点列表中的低可控性节点的数量是否为零,
若为零,则完成对所述集成电路的加密。
在本发明的一个实施例中,所述集成电路包括逻辑加密电路,其特征在于,所述逻辑加密电路包括第一异或型逻辑加密电路、第一同或型逻辑加密电路、第二异或型逻辑加密电路或第二同或型逻辑加密电路中的一个或多个。
在本发明的一个实施例中,所述第一异或型逻辑加密电路包括第一选择器、第一触发器和第一异或门,其中:
所述第一选择器的第一输入端分别连接至所述第一触发器的输出端和所述第一异或门的第一输入端,所述第一选择器的输出端连接至所述第一触发器的第一输入端,所述第一触发器的输出端还连接至所述第一异或门的第一输入端,所述第一异或门的第二输入端连接至所述集成电路的非低可控性节点,所述第一异或门的输出端连接至所述集成电路的低可控性节点。
在本发明的一个实施例中,所述第一同或型逻辑加密电路包括第二选择器、第二触发器和第一同或门,其中:
所述第二选择器的第一输入端分别连接至所述第二触发器的输出端和所述第一同或门的第一输入端,所述第二选择器的输出端连接至所述第二触发器的第一输入端,所述第二触发器的输出端还连接至所述第一同或门的第一输入端,所述第一同或门的第二输入端连接至所述集成电路的非低可控性节点,所述第一同或门的输出端连接至所述集成电路的低可控性节点。
在本发明的一个实施例中,所述第二异或型逻辑加密电路包括第三选择器、第三触发器、第二异或门和第一反相器,其中:
所述第三选择器的第一输入端分别连接至所述第三触发器的输出端和所述第二异或门的第一输入端,所述第三选择器的输出端连接至所述第三触发器的第一输入端,所述第三触发器的输出端还连接至所述第二异或门的第一输入端,所述第二异或门的第二输入端连接至所述集成电路的非低可控性节点,所述第二异或门的输出端连接至所述第一反相器的输入端,所述第一反相器的输出端连接至所述集成电路的低可控性节点。
在本发明的一个实施例中,所述第二同或型逻辑加密电路包括第四选择器、第四触发器、第二同或门和第二反相器,其中:
所述第四选择器的第一输入端分别连接至所述第四触发器的输出端和所述第二同或门的第一输入端,所述第四选择器的输出端连接至所述第四触发器的第一输入端,所述第四触发器的输出端还连接至所述第二同或门的第一输入端,所述第二同或门的第二输入端连接至所述集成电路的非低可控性节点,所述第二同或门的输出端连接至所述第二反相器的输入端,所述第二反相器的连接至所述集成电路的低可控性节点。
与现有技术相比,本发明的有益效果:
本发明的集成电路的加密方法是一种基于逻辑加密的防御硬件木马的方法,其避开了关键路径上的低可控性节点且不对其作任何处理,避免了在关键路径上插入额外且无用的电路,降低了对集成电路性能的影响,从而克服了现有技术中防御硬件木马的方法对集成电路的性能影响较大的问题。
本发明的防御硬件木马的加密方法,对于每一个低可控性节点都会找到其与其他低可控性节点之间的关联,从而避免了在一条路径上重复插入多个电路的情况出现,克服了现有技术中的加密方法给集成电路引入的面积开销较大的问题,使得本实施例的集成电路具有面积开销较小的优点。
本发明的集成电路的加密方法对集成电路的节点信息进行了加密,克服了现有技术中防御硬件木马的效果较差的问题,使得本发明具有防御硬件木马的效果更好的优点。
本发明的防御硬件木马的加密方法使用逻辑加密电路置换原始电路,克服了现有技术中插入逻辑加密电路给集成电路引入的面积开销较大的问题,使得本实施例的集成电路的具有面积开销小的优点。
本发明的集成电路中的逻辑加密电路中配置有反相器,不可信的第三方代工厂难以分辨该反相器是集成电路中固有的还是属于逻辑加密电路本身的,并且在这两种情况下相应的正确密钥是不同的,克服了现有技术中正确密钥易被破解的问题,使得本发明的集成电路的安全性更高。
附图说明
图1为本发明实施例提供的一种基于逻辑加密的集成电路的加密方法流程示意图;
图2为本发明实施例提供的一种第一异或型逻辑加密电路的结构示意图;
图3为本发明实施例提供的一种第一同或型逻辑加密电路的结构示意图;
图4为本发明实施例提供的一种第二异或型逻辑加密电路的结构示意图;
图5为本发明实施例提供的一种第二同或型逻辑加密电路的结构示意图;
图6为本发明实施例提供的一种逻辑加密电路的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
请参见图1,图1为本发明实施例提供的一种基于逻辑加密的集成电路的加密方法流程示意图。本发明实施例提供的一种基于逻辑加密的集成电路的加密方法,包括:
步骤一、确定集成电路中节点的信号翻转率;
集成电路是由具体的逻辑单元以及它们之间的连线组成,节点即为集成电路中的逻辑单元,如异或门,反相器,触发器等;信号翻转率用于表征节点的可控性。
进一步地,获取携带有扫描链的集成电路;
具体地,利用可测性设计工具向集成电路中插入扫描链,从而得到携带有扫描链的集成电路。
进一步地,生成集成电路用于仿真的测试向量;
具体地,利用自动测试向量生成工具生成集成电路的测试向量。
进一步地,利用携带有扫描链的集成电路和测试向量得到集成电路中的节点的信号翻转率;
具体地,将携带有扫描链的集成电路和测试向量一同输入至电路仿真工具中进行仿真,在一个仿真周期T内,计算集成电路中每一个节点的逻辑值在相邻两个时钟周期发生从高到低或从低到高的跳变次数N,从而获得每个节点的信号翻转率,其中,信号翻转率为仿真周期与跳变次数的比值,即信号翻转率=N/T。
步骤二、根据节点的信号翻转率建立低可控性节点列表;
进一步地,设定信号翻转率的信号翻转率阈值;
优选地,信号翻转率阈值的取值范围为10-1~10-5。
其中,低可控性节点是指可控性较低的节点,即从集成电路的外围输入端设定该节点为指定逻辑值的难度较大,当节点的信号翻转率低于信号翻转率阈值时,该节点即为低可控性节点。
进一步地,根据节点的信号翻转率与信号翻转率阈值的关系建立低可控性节点列表;
具体地,将集成电路中所有节点的信号翻转率与信号翻转率阈值进行比较,信号翻转率低于信号翻转率阈值的节点即为低可控性节点,并将信号翻转率低于信号翻转率阈值的低可控性节点存入低可控性节点列表中,以建立低可控性节点列表。
步骤三、根据集成电路的关键路径更新低可控性节点列表;
进一步地,计算集成电路的关键路径;
具体地,利用综合工具计算得到集成电路的关键路径,其中,关键路径为集成电路中延时最大的一条路径。
进一步地,判断低可控性节点与关键路径上的节点是否比对成功;
具体地,将低可控性节点列表中的每一个低可控性节点与关键路径上的每一个节点进行比对,若低可控性节点列表中某一个低可控性节点与关键路径上的某一个节点不是同一节点,则比对失败,比对失败则表明低可控性节点并非位于关键路径上,若为同一节点,则比对成功,比对成功则表明该低可控性节点位于关键路径上,若比对成功,则从低可控性节点列表中将比对成功的低可控性节点移除,以对低可控性节点列表进行更新。
步骤四、根据更新后的低可控性节点列表中的低可控性节点获取驱动节点;
进一步地,根据低可控性节点获取目标节点;
具体地,从低可控性节点列表中取出任意一个低可控性节点,并将其设定为目标节点。
进一步地,查找与目标节点的输入端相连接的信号翻转率最低的节点,以获取驱动节点;
具体地,在目标节点的输入端连接的节点中,查找信号翻转率最低的节点,并将其设定为驱动节点。
进一步地,根据驱动节点对集成电路进行加密;
具体地,判断驱动节点是否属于低可控性节点,即判断驱动节点的信号翻转率是否小于信号翻转率阈值,若属于低可控性节点,则将该驱动节点设定为新的目标节点,按照步骤四重新设定该新的目标节点对应的新的驱动节点,并判断新的驱动节点是否属于低可控性节点;若不属于低可控性节点,则继续判断所述驱动节点是否是反相器。
具体地,判断驱动节点是否是反相器,若是反相器,则将该反相器设定为置换节点,同时查找与该反相器的输入端相连接的节点,并将该节点设定为新的驱动节点,并从集成电路中移除该置换节点,然后在目标节点与新的驱动节点之间随机插入一个逻辑加密电路;若不是反相器,则在目标节点和驱动节点之间随机插入一个逻辑加密电路。
具体地,判断低可控性节点列表中的低可控性节点的数量是否为零,若不为零,对于已经插入该逻辑加密电路的集成电路重新执行步骤一至步骤四;若为零,则完成对集成电路的加密,插入逻辑加密电路的集成电路即为得到加密的集成电路,并且根据插入的逻辑加密电路能够生成对应的正确密钥。
本实施例的防御硬件木马的加密方法是一种基于逻辑加密的防御硬件木马的方法,其避开了关键路径上的低可控性节点且不对其作任何处理,避免了在关键路径上插入额外且无用的电路,降低了对集成电路性能的影响,从而克服了现有技术中防御硬件木马的方法对集成电路的性能影响较大的问题。
本实施例的防御硬件木马的加密方法对集成电路的节点信息进行了加密,克服了现有技术中防御硬件木马的效果较差的问题,使得本发明具有防御硬件木马的效果更好的优点。
本实施例的防御硬件木马的加密方法,对于每一个低可控性节点都会找到其与其他低可控性节点之间的关联,从而避免了在一条路径上重复插入多个电路的情况出现,克服了现有技术中的加密方法给集成电路引入的面积开销较大的问题,使得本实施例的集成电路具有面积开销较小的优点。
本实施例的防御硬件木马的加密方法使用逻辑加密电路置换原始电路,克服了现有技术中插入逻辑加密电路给集成电路引入的面积开销较大的问题,使得本实施例的集成电路的具有面积开销小的优点。
本发明实施例还提供上述实施例所述的基于逻辑加密的集成电路,其中,该集成电路包括逻辑加密电路,且逻辑加密电路包括第一异或型逻辑加密电路1、第一同或型逻辑加密电路2、第二异或型逻辑加密电路3或第二同或型逻辑加密电路4中的一个或多个,其中逻辑加密电路中的第一异或型逻辑加密电路1、第一同或型逻辑加密电路2、第二异或型逻辑加密电路3或第二同或型逻辑加密电路4均可重复多次出现,只要满足集成电路中的低可控性节点的数量为零即可。
请参见图2,图2为本发明实施例提供的一种第一异或型逻辑加密电路的结构示意图。具体地,第一异或型逻辑加密电路1包括第一选择器X1、第一触发器C1和第一异或门Y1,其中,第一选择器X1的第一输入端分别连接至第一触发器C1的输出端和第一异或门Y1的第一输入端,第一选择器X1的第二输入端连接至集成电路中前一级逻辑加密电路中的触发器或外部密钥输入端,第一选择器X1的信号选择端连接至外部密钥输入信号的使能端,第一选择器X1的输出端连接至第一触发器C1的第一输入端,第一触发器C1的第二输入端连接至集成电路的时钟端(clk,clock),第一触发器C1的输出端还连接至第一异或门Y1的第一输入端,若第一异或型逻辑加密电路1还对应存在下一级逻辑加密电路,则第一触发器C1的输出端还连接至后一级逻辑加密电路中的选择器,第一异或门Y1的第二输入端连接至集成电路中的非低可控性节点,第一异或门Y1的输出端连接至集成电路中的低可控性节点。
请参见图3,图3为本发明实施例提供的一种第一同或型逻辑加密电路的结构示意图。具体地,第一同或型逻辑加密电路2包括第二选择器X2、第二触发器C2和第一同或门T1,其中,第二选择器X2的第一输入端分别连接至第二触发器C2的输出端和第一同或门T1的第一输入端,第二选择器X2的第二输入端连接至集成电路中前一级逻辑加密电路中的触发器或外部密钥输入端,第二选择器X2的信号选择端连接至外部密钥输入信号的使能端,第二选择器X2的输出端连接至第二触发器C2的第一输入端,第二触发器C2的第二输入端连接至集成电路的时钟端,第二触发器C2的输出端还连接至第一同或门T1的第一输入端,若第一同或型逻辑加密电路2还对应存在下一级逻辑加密电路,第二触发器C2的输出端还连接至后一级逻辑加密电路中的选择器,第一同或门T1的第二输入端连接至集成电路中的非低可控性节点,第一同或门T1的输出端连接至集成电路中的低可控性节点。
请参见图4,图4为本发明实施例提供的一种第二异或型逻辑加密电路的结构示意图。具体地,第二异或型逻辑加密电路3包括第三选择器X3、第三触发器C3、第二异或门Y2和第一反相器F1,其中,第三选择器X3的第一输入端分别连接至第三触发器C3的输出端和第二异或门Y2的第一输入端,第三选择器X3的第二输入端连接至集成电路中前一级逻辑加密电路中的触发器或外部密钥输入端,第三选择器X3的信号选择端连接至外部密钥输入信号的使能端,第三选择器X3的输出端连接至第三触发器C3的第一输入端,第三触发器C3的第二输入端连接至集成电路的时钟端,第三触发器C3的输出端还连接至第二异或门Y2的第一输入端,若第二异或型逻辑加密电路3还对应存在下一级逻辑加密电路,第三触发器C3的输出端还连接至后一级逻辑加密电路中的选择器,第二异或门Y2的第二输入端连接至集成电路中的非低可控性节点,第二异或门Y2的输出端连接至第一反相器F1的输入端,第一反相器F1的输出端连接至集成电路中的低可控性节点。
请参见图5,图5为本发明实施例提供的一种第二同或型逻辑加密电路的结构示意图。具体地,第二同或型逻辑加密电路4包括第四选择器X4、第四触发器C4、第二同或门T2和第二反相器F2,其中,第四选择器X4的第一输入端分别连接至第四触发器C4的输出端和第二同或门T2的第一输入端,第四选择器X4的第二输入端连接至集成电路中前一级逻辑加密电路中的触发器或外部密钥输入端,第四选择器X4的信号选择端连接至外部密钥输入信号的使能端,第四选择器X4的输出端连接至第四触发器C4的第一输入端,第四触发器C4的第二输入端连接至集成电路的时钟端,第四触发器C4的输出端还连接至第二同或门T2的第一输入端,若第二同或型逻辑加密电路4还对应存在下一级逻辑加密电路,第四触发器C4的输出端还连接至后一级逻辑加密电路中的选择器,第二同或门T2的第二输入端连接至集成电路中的非低可控性节点,第二同或门T2的输出端连接至第二反相器F2的输入端,第二反相器F2的输出端连接至集成电路中的低可控性节点。
为了更好的说明本实施例的集成电路中的逻辑加密电路,本实施例将以一个具体的逻辑加密电路为例举例说明。
请参加图6,图6为本发明实施例提供的一种逻辑加密电路的结构示意图。具体地,该逻辑加密电路包括一个第一异或型逻辑加密电路1、一个第一同或型逻辑加密电路2、一个第二异或型逻辑加密电路3和一个第二同或型逻辑加密电路4,第一异或型逻辑加密电路1、第二异或型逻辑加密电路3、第一同或型逻辑加密电路2和第二同或型逻辑加密电路4依次电连接,其中,第一选择器X1的第一输入端分别连接至第一触发器C1的输出端和第一异或门Y1的第一输入端,第一选择器X1的第二输入端连接至集成电路中前一级逻辑加密电路中的触发器或外部密钥输入端,第一选择器X1的信号选择端连接至外部密钥输入信号的使能端,第一选择器X1的输出端连接至第一触发器C1的第一输入端,第一触发器C1的第二输入端连接至集成电路的时钟端,第一触发器C1的输出端还连接至第一异或门Y1的第一输入端和第三选择器X3的第二输入端,第一异或门Y1的第二输入端连接至集成电路中的非低可控性节点,第一异或门Y1的输出端连接至集成电路中的低可控性节点,第三选择器X3的第一输入端分别连接至第三触发器C3的输出端和第二异或门Y2的第一输入端,第三选择器X3的信号选择端连接至外部密钥输入信号的使能端,第三选择器X3的输出端连接至第三触发器C3的第一输入端,第三触发器C3的第二输入端连接至集成电路的时钟端,第三触发器C3的输出端还连接至第二异或门Y2的第一输入端和第二选择器X2的第二输入端,第二异或门Y2的第二输入端连接至集成电路中的非低可控性节点,第二异或门Y2的输出端连接至第一反相器F1的输入端,第一反相器F1的输出端连接至集成电路中的低可控性节点,第二选择器X2的第一输入端分别连接至第二触发器C2的输出端和第一同或门T1的第一输入端,第二选择器X2的信号选择端连接至外部密钥输入信号的使能端,第二选择器X2的输出端连接至第二触发器C2的第一输入端,第二触发器C2的第二输入端连接至集成电路的时钟端,第二触发器C2的输出端还连接至第一同或门T1的第一输入端和第四选择器X4的第二输入端,第一同或门T1的第二输入端连接至集成电路中的非低可控性节点,第一同或门T1的输出端连接至集成电路中的低可控性节点,第四选择器X4的第一输入端分别连接至第四触发器C4的输出端和第二同或门T2的第一输入端,第四选择器X4的信号选择端连接至外部密钥输入信号的使能端,第四选择器X4的输出端连接至第四触发器C4的第一输入端,第四触发器C4的第二输入端连接至集成电路的时钟端,第四触发器C4的输出端还连接至第二同或门T2的第一输入端,若第二同或型逻辑加密电路4还对应存在下一级逻辑加密电路,第四触发器C4的输出端还连接至后一级逻辑加密电路中的选择器,第二同或门T2的第二输入端连接至集成电路中的非低可控性节点,第二同或门T2的输出端连接至第二反相器F2的输入端,第二反相器F2的输出端连接至集成电路中的低可控性节点。
本实施例的集成电路中的逻辑加密电路中配置有反相器,不可信的第三方代工厂难以分辨该反相器是集成电路中固有的还是属于逻辑加密电路本身的,并且在这两种情况下相应的正确密钥是不同的,克服了现有技术中正确密钥易被破解的问题,使得本发明的集成电路的安全性更高。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于逻辑加密的集成电路的加密方法,其特征在于,所述加密方法包括:
确定所述集成电路中节点的信号翻转率;
根据所述节点的信号翻转率建立低可控性节点列表,其中,所述低可控性节点列表包含多个低可控性节点;
根据所述集成电路的关键路径更新所述低可控性节点列表;
根据更新后的所述低可控性节点列表中的低可控性节点获取驱动节点;
根据所述驱动节点对所述集成电路进行加密,以得到加密的所述集成电路。
2.如权利要求1所述的加密方法,其特征在于,根据所述节点的信号翻转率建立低可控性节点列表,包括:
设定所述信号翻转率的信号翻转率阈值;
根据所述节点的信号翻转率与所述信号翻转率阈值的关系建立所述低可控性节点列表。
3.如权利要求1所述的加密方法,其特征在于,根据所述集成电路的关键路径更新所述低可控性节点列表,包括:
计算所述集成电路的关键路径;
判断所述低可控性节点与所述关键路径上的节点是否比对成功;
若是,则移除所述低可控性节点,以更新所述低可控性节点列表。
4.如权利要求1所述的加密方法,其特征在于,根据更新后的所述低可控性节点列表中的低可控性节点获取驱动节点,包括:
根据所述低可控性节点获取目标节点;
查找与所述目标节点的输入端相连接的所述信号翻转率最低的节点,以获取驱动节点。
5.如权利要求1所述的加密方法,其特征在于,根据所述驱动节点对所述集成电路进行加密,包括:
判断所述驱动节点是否属于所述低可控性节点;
若不属于所述低可控性节点,则继续判断所述驱动节点是否是反相器;
若不是所述反相器,则在所述目标节点和所述驱动节点之间随机插入一个逻辑加密电路;
判断所述低可控性节点列表中的低可控性节点的数量是否为零;
若为零,则完成对所述集成电路的加密。
6.一种基于逻辑加密的集成电路,所述集成电路包括逻辑加密电路,其特征在于,所述逻辑加密电路包括第一异或型逻辑加密电路(1)、第一同或型逻辑加密电路(2)、第二异或型逻辑加密电路(3)或第二同或型逻辑加密电路(4)中的一个或多个。
7.如权利要求6所述的集成电路,其特征在于,所述第一异或型逻辑加密电路(1)包括第一选择器(X1)、第一触发器(C1)和第一异或门(Y1),其中:
所述第一选择器(X1)的第一输入端分别连接至所述第一触发器(C1)的输出端和所述第一异或门(Y1)的第一输入端,所述第一选择器(X1)的输出端连接至所述第一触发器(C1)的第一输入端,所述第一触发器(C1)的输出端还连接至所述第一异或门(Y1)的第一输入端,所述第一异或门(Y1)的第二输入端连接至所述集成电路的非低可控性节点,所述第一异或门(Y1)的输出端连接至所述集成电路的低可控性节点。
8.如权利要求6所述的集成电路,其特征在于,所述第一同或型逻辑加密电路(2)包括第二选择器(X2)、第二触发器(C2)和第一同或门(T1),其中:
所述第二选择器(X2)的第一输入端分别连接至所述第二触发器(C2)的输出端和所述第一同或门(T1)的第一输入端,所述第二选择器(X2)的输出端连接至所述第二触发器(C2)的第一输入端,所述第二触发器(C2)的输出端还连接至所述第一同或门(T1)的第一输入端,所述第一同或门(T1)的第二输入端连接至所述集成电路的非低可控性节点,所述第一同或门(T1)的输出端连接至所述集成电路的低可控性节点。
9.如权利要求6所述的集成电路,其特征在于,所述第二异或型逻辑加密电路(3)包括第三选择器(X3)、第三触发器(C3)、第二异或门(Y2)和第一反相器(F1),其中:
所述第三选择器(X3)的第一输入端分别连接至所述第三触发器(C3)的输出端和所述第二异或门(Y2)的第一输入端,所述第三选择器(X3)的输出端连接至所述第三触发器(C3)的第一输入端,所述第三触发器(C3)的输出端还连接至所述第二异或门(Y2)的第一输入端,所述第二异或门(Y2)的第二输入端连接至所述集成电路的非低可控性节点,所述第二异或门(Y2)的输出端连接至所述第一反相器(F1)的输入端,所述第一反相器(F1)的输出端连接至所述集成电路的低可控性节点。
10.如权利要求6所述的集成电路,其特征在于,所述第二同或型逻辑加密电路(4)包括第四选择器(X4)、第四触发器(C4)、第二同或门(T2)和第二反相器(F2),其中:
所述第四选择器(X4)的第一输入端分别连接至所述第四触发器(C4)的输出端和所述第二同或门(T2)的第一输入端,所述第四选择器(X4)的输出端连接至所述第四触发器(C4)的第一输入端,所述第四触发器(C4)的输出端还连接至所述第二同或门(T2)的第一输入端,所述第二同或门(T2)的第二输入端连接至所述集成电路的非低可控性节点,所述第二同或门(T2)的输出端连接至所述第二反相器(F2)的输入端,所述第二反相器(F2)的连接至所述集成电路的低可控性节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810984765.1A CN109284637B (zh) | 2018-08-28 | 2018-08-28 | 一种基于逻辑加密的集成电路及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810984765.1A CN109284637B (zh) | 2018-08-28 | 2018-08-28 | 一种基于逻辑加密的集成电路及其加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284637A true CN109284637A (zh) | 2019-01-29 |
CN109284637B CN109284637B (zh) | 2020-10-30 |
Family
ID=65183462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810984765.1A Active CN109284637B (zh) | 2018-08-28 | 2018-08-28 | 一种基于逻辑加密的集成电路及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284637B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110687997A (zh) * | 2019-09-06 | 2020-01-14 | 苏州浪潮智能科技有限公司 | 一种动态调整fpga的功耗的方法及装置 |
CN111130754A (zh) * | 2019-12-16 | 2020-05-08 | 西安电子科技大学 | 一种扫描链的加密解密电路及集成电路 |
CN113378504A (zh) * | 2021-08-11 | 2021-09-10 | 北京航空航天大学杭州创新研究院 | 基于逻辑加密的集成电路低可控性节点保护方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104101828A (zh) * | 2013-04-08 | 2014-10-15 | 北京大学 | 基于激活概率分析的抗硬件木马电路设计方法 |
CN104951579A (zh) * | 2014-03-28 | 2015-09-30 | 北京大学 | 一种基于id和fsm结合的电路可信性设计方法 |
CN105046153A (zh) * | 2015-07-31 | 2015-11-11 | 中国人民解放军国防科学技术大学 | 基于少态点分析的硬件木马检测方法 |
CN105378750A (zh) * | 2013-03-14 | 2016-03-02 | 纽约大学 | 用于帮助逻辑加密的系统、方法和计算机可访问介质 |
CN106778263A (zh) * | 2016-11-15 | 2017-05-31 | 天津大学 | 有效提高硬件木马激活概率的方法 |
-
2018
- 2018-08-28 CN CN201810984765.1A patent/CN109284637B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378750A (zh) * | 2013-03-14 | 2016-03-02 | 纽约大学 | 用于帮助逻辑加密的系统、方法和计算机可访问介质 |
CN104101828A (zh) * | 2013-04-08 | 2014-10-15 | 北京大学 | 基于激活概率分析的抗硬件木马电路设计方法 |
CN104951579A (zh) * | 2014-03-28 | 2015-09-30 | 北京大学 | 一种基于id和fsm结合的电路可信性设计方法 |
CN105046153A (zh) * | 2015-07-31 | 2015-11-11 | 中国人民解放军国防科学技术大学 | 基于少态点分析的硬件木马检测方法 |
CN106778263A (zh) * | 2016-11-15 | 2017-05-31 | 天津大学 | 有效提高硬件木马激活概率的方法 |
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", 《18TH INT"L SYMPOSIUM ON QUALITY ELECTRONIC DESIGN》 * |
刘长龙: "基于侧信道分析的硬件木马检测技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
徐力等: "加速硬件木马检测方法研究", 《哈尔滨工业大学学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110687997A (zh) * | 2019-09-06 | 2020-01-14 | 苏州浪潮智能科技有限公司 | 一种动态调整fpga的功耗的方法及装置 |
CN110687997B (zh) * | 2019-09-06 | 2021-06-11 | 苏州浪潮智能科技有限公司 | 一种动态调整fpga的功耗的方法及装置 |
CN111130754A (zh) * | 2019-12-16 | 2020-05-08 | 西安电子科技大学 | 一种扫描链的加密解密电路及集成电路 |
CN111130754B (zh) * | 2019-12-16 | 2022-02-18 | 西安电子科技大学 | 一种扫描链的加密解密电路及集成电路 |
CN113378504A (zh) * | 2021-08-11 | 2021-09-10 | 北京航空航天大学杭州创新研究院 | 基于逻辑加密的集成电路低可控性节点保护方法 |
CN113378504B (zh) * | 2021-08-11 | 2021-12-21 | 北京航空航天大学杭州创新研究院 | 基于逻辑加密的集成电路低可控性节点保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109284637B (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102854454B (zh) | 在集成电路测试中用于缩短硬件木马的验证时间的方法 | |
El Massad et al. | Reverse engineering camouflaged sequential circuits without scan access | |
CN109284637A (zh) | 一种基于逻辑加密的集成电路及其加密方法 | |
Dong et al. | Topological detection on wormholes in wireless ad hoc and sensor networks | |
CN109766729B (zh) | 一种防御硬件木马的集成电路及其加密方法 | |
CN107404718A (zh) | 一种无线传感器网络恶意节点检测方法 | |
CN109633422A (zh) | 基于扫描混淆的加密芯片安全测试方法 | |
CN107194117A (zh) | 一种蝶形触发器物理不可克隆函数的可靠性提升方法 | |
CN105933108A (zh) | 一种对sm4算法实现破解的方法 | |
CN112272084A (zh) | 抗攻击和自检特性的基于复合型puf的密钥生成系统及方法 | |
CN109816113A (zh) | 基于分布式量子计算机的搜索方法及系统 | |
CN102663185A (zh) | 一种基于模糊处理的抗硬件木马电路设计方法 | |
Huang et al. | Lightweight hardware based secure authentication scheme for fog computing | |
CN108932438B (zh) | 基于线性反馈的多模混合可重构puf单元电路 | |
Chmiel et al. | q-neighbor Ising model on random networks | |
CN108763977A (zh) | 一种钳位反相器puf的电路、电子装置及实现方法 | |
Rajendran | An overview of hardware intellectual property protection | |
Brunner et al. | Hardware Honeypot: Setting Sequential Reverse Engineering on a Wrong Track | |
US20220094561A1 (en) | Multifunctional Physically Unclonable Function Device Based on Hybrid Boolean Network | |
CN107622214B (zh) | 基于蚁群的硬件木马优化测试向量生成方法 | |
CN109800511A (zh) | 一种寻找最优公共点的保持时间违反修正方法及系统 | |
CN102611684A (zh) | 一种基于前馈模式的物理不可克隆功能模块及其实现方法 | |
CN107478978A (zh) | 基于粒子群的硬件木马优化测试向量生成方法 | |
CN109086631B (zh) | 一种抗模型攻击的强/弱混合型puf电路 | |
CN112036116A (zh) | 一种面向电路网表的高低概率节点的低概率组合搜索方法 |
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 |