集成电路芯片、集成电路及电子装置

文档序号:1673145 发布日期:2019-12-31 浏览:35次 >En<

阅读说明:本技术 集成电路芯片、集成电路及电子装置 (Integrated circuit chip, integrated circuit and electronic device ) 是由 吴良顺 于 2019-09-02 设计创作,主要内容包括:本发明公开一种集成电路芯片、集成电路及电子装置,所述集成电路芯片包括:目标逻辑单元、混淆逻辑单元、密钥单元和选择单元,其中:所述目标逻辑单元,用于接收输入信号,基于所述输入信号获得目标输出信号,向选择单元发送所述目标输出信号;所述混淆逻辑单元,用于接收所述输入信号,基于所述输入信号获得混淆输出信号,向选择单元发送所述混淆输出信号;所述密钥单元,用于向选择单元发送密钥信号;所述选择单元,用于接收所述目标输出信号、混淆输出信号和密钥信号,基于所述密钥信号,从所述目标输出信号、所述混淆输出信号中选择输出信号,输出选择的输出信号。(The invention discloses an integrated circuit chip, an integrated circuit and an electronic device, wherein the integrated circuit chip comprises: a target logic unit, an obfuscation logic unit, a key unit and a selection unit, wherein: the target logic unit is used for receiving an input signal, obtaining a target output signal based on the input signal and sending the target output signal to the selection unit; the confusion logic unit is used for receiving the input signal, obtaining a confusion output signal based on the input signal, and sending the confusion output signal to the selection unit; the key unit is used for sending a key signal to the selection unit; the selection unit is used for receiving the target output signal, the obfuscated output signal and the key signal, selecting an output signal from the target output signal and the obfuscated output signal based on the key signal, and outputting the selected output signal.)

集成电路芯片、集成电路及电子装置

技术领域

本发明涉及集成电路芯片保护技术领域,尤其涉及一种集成电路芯片、集成电路及电子装置。

背景技术

在目前的集成电路的制造流程中,知识产权(Intelligence Property,IP)核及集成电路芯片存在着安全隐患,比如,集成电路芯片设计者在未经IP核设计者的允许私自使用其设计的IP核;或者集成电路芯片制造厂商重复使用授权使用的IP核来制造过量的集成电路芯片,进而进行非法销售;或者集成电路芯片制造厂商将授权使用的IP核私自售卖给第三方厂家等等。不论上述哪一种行为,都将给IP核的设计者和IP核的供应商带来财产和声誉的损失,不利于IP核技术的发展,进而对集成电路的发展造成不良影响。

发明内容

为解决现有存在的技术问题,本发明实施例提供一种集成电路芯片、集成电路及电子装置。

为达到上述目的,本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种集成电路芯片,所述集成电路芯片包括:目标逻辑单元、混淆逻辑单元、密钥单元和选择单元,其中:

所述目标逻辑单元,用于接收输入信号,基于所述输入信号获得目标输出信号,向选择单元发送所述目标输出信号;

所述混淆逻辑单元,用于接收所述输入信号,基于所述输入信号获得混淆输出信号,向选择单元发送所述混淆输出信号;

所述密钥单元,用于向选择单元发送密钥信号;

所述选择单元,用于接收所述目标输出信号、混淆输出信号和密钥信号,基于所述密钥信号,从所述目标输出信号、所述混淆输出信号中选择输出信号,输出选择的输出信号。

在上述方案中,所述集成电路芯片包括至少一个混淆逻辑单元,其中,所述至少一个混淆逻辑单元的类型完全相同,或者不完全相同,或者完全不相同。

在上述方案中,当所述密钥信号包含N个密钥位时,所述集成电路芯片中包含的混淆逻辑单元的数目为2N-1,其中,N为正整数。

在上述方案中,当所述密钥信号包含N个密钥位时,所述选择单元为2N选一多路选择器,其中,N为正整数。

在上述方案中,当所述密钥信号包含2个密钥位时,所述集成电路芯片中包含混淆逻辑单元的数目为3;对应的,所述选择单元为4选一多路选择器。

在上述方案中,所述目标逻辑单元,具体用于:将所述输入信号进行逻辑运算获得目标输出信号;

所述混淆逻辑单元,具体用于:将所述输入信号进行逻辑运算获得混淆输出信号。

第二方面,本发明实施例还提供一种集成电路,包含至少一个上述任一集成电路芯片。

第三方面,本发明实施例还提供一种电子装置,所述电子装置包括所述集成电路。

本发明实施例提供一种集成电路芯片、集成电路及电子装置,所述集成电路芯片包括:目标逻辑单元、混淆逻辑单元、密钥单元和选择单元,其中:所述目标逻辑单元,用于接收输入信号,基于所述输入信号获得目标输出信号,向选择单元发送所述目标输出信号;所述混淆逻辑单元,用于接收所述输入信号,基于所述输入信号获得混淆输出信号,向选择单元发送所述混淆输出信号;所述密钥单元,用于向选择单元发送密钥信号;所述选择单元,用于接收所述目标输出信号、混淆输出信号和密钥信号,基于所述密钥信号,从所述目标输出信号、所述混淆输出信号中选择输出信号,输出选择的输出信号。采用本发明实施例提供的集成电路芯片,仅当使用者提供正确的密钥时才能输出正确的逻辑功能;否则,输出错误的逻辑功能,为此,能够保护集成电路芯片的设计以及包含该集成电路芯片的集成电路的设计不被窃用,从而保证了设计者的利益不受损害。

附图说明

图1为相关技术中的一种带保护结构的集成电路结构示意图;

图2为本发明实施例提供的一种集成电路芯片的结构示意图;

图3为本发明实施例提供的一种包含集成电路芯片的集成电路结构示意图;

图4为本发明实施例提供的一种双输入集成电路芯片的结构示意图;

图5为本发明实施例提供的一种4选一多路选择器的结构示意图;

图6为本发明实施例提供的一种包含双输入集成电路芯片的集成电路结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了便于理解本发明实施例,先对相关技术作简单的介绍。

集成电路(Integrated Circuit,IC)是一种微型电子器件或者部件。IC具有体积小、重量轻、引出线及焊接点少、寿命长、可靠性高及性能好等优点。按照IC功能、结构的不同,IC可分为模拟集成电路、数字集成电路和数/模混合集成电路三大类。

在IC芯片设计中,IP核是指用于专用集成电路(Application SpecificIntegrated Circuit,ASIC)或者现场可编程门阵列(Field-programmable Gate Array,FPGA)中的预先设计好的电路功能模块。IP核在现代集成电路产业链中起着重要的作用,不仅可以节约集成电路设计的时间,还可降低生产集成电路的成本。

现代的集成电路产业链就起始于IP核设计者,IP核设计者主要设计集成电路芯片中的某些功能模块,而不是整个IC芯片的整合,它们设计IP核并以软核、固核和硬核的形式外包给其他集成电路芯片设计者。集成电路芯片设计者对整个集成电路芯片进行功能设计规划,然后将不同的IP核以及其他集成电路功能模型进行整合,形成最终的集成电路芯片设计。最终的集成电路芯片设计也可以外包给第三方公司进行逻辑综合和布局布线。之后,第三方公司会把最终生成的集成电路芯片返回给集成电路设计者或者直接发送给代工厂进行制造。

在上述集成电路芯片的制造流程中,形成最后的集成电路芯片,需要经过多方的合作,在此基础上,就会存在安全隐患,对IP核的设计者和IP核的供应商均可能带来财产和声誉的损失。

基于上述描述,为了解决上述IP核及集成电路芯片的硬件安全问题,在相关技术中,通过在集成电路芯片中随机的***异或门(XOR)和/或同或门(XNOR)来对集成电路芯片中的电路进行混淆,或者说,对集成电路芯片中的电路进行加密,仅在使用者提供正确的密钥时,集成电路芯片才能输出正确的逻辑功能;否则,当使用者不能提供正确的密钥时,***的异或门(XOR)和/或同或门(XNOR)将改变原来的逻辑功能,使得集成电路芯片输出错误的逻辑功能,从而保证IP核及集成电路芯片的硬件安全。

具体的,图1为相关技术中的一种带保护结构的集成电路结构示意图。如图1所示,该带保护结构的集成电路包括:输入信号I1-I6;K1K2为两位密钥;异或门(XOR)和同或门(XNOR)为新***在集成电路中的逻辑门,用于保护集成电路的安全;其余的逻辑门为集成电路中原有的;O1和O2为两路输出信号。

假设,该带保护结构的集成电路的设计者将K1=0且K2=1作为正确的密钥,那么,在使用者提供正确的密钥,也即:K1=0且K2=1时,该带保护结构的集成电路才能输出正确的输出信号,也即:正确的逻辑功能;否则,该带保护结构的集成电路将会输出错误的输出信号,也即:错误的逻辑功能。

但如果在集成电路的设计中,仅是简单的***异或门(XOR)和/或同或门(XNOR),当集成电路被基于图像提取技术的集成电路逆向工程进行攻击时,集成电路的门级网表将会暴露,攻击者通过***的异或门(XOR)和/或同或门(XNOR)能够推断出密钥,从而造成密钥的泄漏。

为了解决上述问题,图2为本发明实施例提供的一种集成电路芯片的结构示意图。如图2所示,该集成电路芯片20包括:目标逻辑单元201、混淆逻辑单元202、密钥单元203以及选择单元204,其中:

目标逻辑单元201,用于接收输入信号,基于所述输入信号获得目标输出信号,向选择单元204发送所述目标输出信号;

混淆逻辑单元202,用于接收输入信号,基于所述输入信号获得混淆输出信号,向选择单元204发送所述混淆输出信号;

密钥单元203,用于向选择单元204发送密钥信号;

选择单元204,用于接收所述目标逻辑单元201发送的所述目标输出信号、所述混淆逻辑单元202发送的所述混淆输出信号以及所述密钥单元203发送的密钥信号,基于所述密钥信号,从所述目标输出信号、所述混淆输出信号中选择输出信号,输出选择的输出信号。

需要说明的是,目标逻辑单元201是集成电路中任意的逻辑门,换句话说,目标逻辑单元201可以是集成电路设计者在设计集成电路时真正需要使用的逻辑门,比如,与门(AND)、或门(OR)等。

在一些实施例中,密钥单元203可以为密钥位寄存器,该密钥位寄存器接收用户输入的密钥位,并基于所述密钥位,生成携带有密钥位的密钥信号,向选择单元204发送该密钥信号。

需要说明的是,这里,所说的用户是指使用该集成电路芯片20的使用者。密钥信号中包含的密钥位的个数由集成电路芯片20的设计者决定,也就是说,在设计集成电路芯片20时,该集成电路芯片20的设计者就选择好要采用的密钥位的个数。应该理解,密钥位的个数越多,则集成电路芯片20的安全性能就越高。

示例性的,当密钥信号包含的密钥位的个数为N时,使用者需要提供N位正确的密钥才能输出正确的输出信号。想要破解N位长度的密钥信号,时间复杂度是2N,大大增加了破解难度。所谓时间复杂度是指完成某一件事情所需要花费的时间。

在一些实施例中,该集成电路芯片20可以包括至少一个混淆逻辑单元202,其中,所述至少一个混淆逻辑单元202的类型可以完全相同,或者不完全相同,或者完全不相同。

需要说明的是,混淆逻辑单元202是在集成电路设计时为了保护集成电路的设计不被窃用而***的逻辑门。通常情况下,混淆逻辑单元202的数目由密钥信号包含的密钥位的个数决定,若密钥信号中包含的密钥位个数为N时,混淆逻辑单元202的数目为2N-1。

需要说明的是,选择单元204可以为多选一多路选择器,也就是说,从目标逻辑单元201和混淆逻辑单元202接收到的输出信号中选择一路输出信号,并输出选择的该路输出信号,其中,多选一多路选择器可以是4选一多路选择器、8选一多路选择器、16选一多路选择器等等。通常情况下,选择单元204可基于密钥信号中包含的密钥位的个数进行选择,具体的,当密钥信号中包含的密钥位的个数为N时,选择单元204为2N选一多路选择器。

在一些实施例中,当所述密钥信号包含2个密钥位时,所述集成电路芯片20中包含的混淆逻辑单元202的数目为3;对应的,所述选择单元204为4选一多路选择器。这里,混淆逻辑单元202可以分别选择异或门(XOR)、同或门(XNOR)、与非门(NAND)三种完全不相同的逻辑门。

需要说明的是,目标逻辑单元201,具体用于:将所述输入信号进行逻辑运算获得目标输出信号;

所述混淆逻辑单元202,具体用于:将所述输入信号进行逻辑运算获得混淆输出信号。

示例性的,若目标逻辑单元201为或门(OR),此时,目标逻辑单元201将输入信号进行或逻辑运算,获得目标输出信号。若混淆逻辑单元202为异或(XOR),此时,混淆逻辑单元202将输入信号进行异或逻辑运算,获得混淆输出信号。

基于上述的发明构思,本发明实施例还提供一种集成电路,该集成电路包括至少一个上述的集成电路芯片20。

需要说明的是,集成电路芯片20可以作为一个功能模块应用于集成电路的设计中,从而保证集成电路设计的硬件安全。

示例性的,如图3所示,其示出本发明实施例提供的一种包含集成电路芯片20的集成电路结构示意图。该集成电路可以包括:两个集成电路芯片20。由于集成电路芯片20需要使用者提供正确的密钥才能输出正确的逻辑功能,因此,将集成电路芯片20应用到集成电路的设计时,该集成电路的使用者也需要提供正确的密钥,该集成电路才能输出正确的逻辑功能,从而保证了该集成电路的硬件安全。这里需要说明的是,图3与图1中的输入信号I1-I6、两路输出信号O1和O2以及其余的逻辑门仅是示例性的为了说明本发明实施例的具体实现,并不具有任何限制作用。

需要说明的是,当一个集成电路设计中包含M个集成电路芯片20,且每个集成电路芯片20的密钥信号包含的密钥位的个数为N,那么,此时,该集成电路中的密钥信号所包含的密钥位的个数为M*N,为此,则大大加强了此集成电路的安全性能。

基于上述的发明构思,本发明实施例还提供一种电子装置,所述电子装置包括所述集成电路。

需要说明的是,包含集成电路芯片20的集成电路也可以作为一个功能模块应用于电子装置中,从而保证该电子装置的硬件安全。

为了更好的理解本发明实施例,下面以双输入逻辑门为例说明本发明构思。

图4为本发明实施例提供的一种双输入集成电路芯片结构示意图,如图4所示,该双输入集成电路芯片40包括:目标双门逻辑单元401、第一混淆逻辑单元402、第二混淆逻辑单元403、第三混淆逻辑单元404、4选1多路选择器405以及密钥单元203,其中:

目标双门逻辑单元401,用于接收输入信号A、输入信号B,基于所述输入信号A和所述输入信号B,获得目标输出信号,向4选1多路选择器405发送所述目标输出信号;

第一混淆逻辑单元402,用于接收输入信号A、输入信号B,基于所述输入信号A和所述输入信号B,获得第一混淆输出信号,向4选1多路选择器405发送所述第一混淆输出信号;

第二混淆逻辑单元403,用于接收输入信号A、输入信号B,基于所述输入信号A和所述输入信号B,获得第二混淆输出信号,向4选1多路选择器405发送所述第二混淆输出信号;

第三混淆逻辑单元404,用于接收输入信号A、输入信号B,基于所述输入信号A和所述输入信号B,获得第三混淆输出信号,向4选1多路选择器405发送所述第三混淆输出信号;

4选一多路选择器405,用于接收所述目标输出信号、所述第一混淆输出信号、所述第二混淆输出信号以及第三混淆输出信号,基于密钥单元203发送的密钥信号从所述目标输出信号、所述第一混淆输出信号、所述第二混淆输出信号以及第三混淆输出信号选择输出信号,输出选择的输出信号。

需要说明的是,双输入集成电路芯片40为集成电路芯片20的一种具体表现形式。目标双门逻辑单元401是上述目标逻辑单元201的一种具体形式,该目标双门逻辑单元401包括两路输入信号:输入信号A、输入信号B,目标双门逻辑单元401将输入信号A、输入信号B进行逻辑运算,获得目标输出信号,比如,目标双门逻辑单元401可以为与门(AND),此时,目标双门逻辑单元401将输入信号A和输入信号B进行与逻辑运算,得到目标输出信号。

需要说明的是,第一混淆逻辑单元402、第二混淆逻辑单元403、第三混淆逻辑单元404为上述混淆逻辑单元202的具体形式,也包括两路输入信号:输入信号A、输入信号B,并且,第一混淆逻辑单元402、第二混淆逻辑单元403、第三混淆逻辑单元404的类型可以完全相同,或者不完全相同,或者完全不相同,比如,第一混淆逻辑单元402、第二混淆逻辑单元403、第三混淆逻辑单元404可以依次为:异或门(XOR)、同或门(XNOR)、与非门(NAND)三种完全不相同的逻辑门。此时,第一混淆逻辑单元402将输入信号A、输入信号B进行异或逻辑运算,获得第一混淆输出信号;第二混淆逻辑单元403将输入信号A、输入信号B进行同或逻辑运算,获得第二混淆输出信号;第三混淆逻辑单元403将输入信号A、输入信号B进行与非逻辑运算,获得第三混淆输出信号。

需要说明的是,根据上述描述,混淆逻辑单元202的数目由密钥单元204输出的密钥信号中包含的密钥位的个数决定,那么,此处,该双输入集成电路芯片40中包含第一混淆逻辑单元402、第二混淆逻辑单元403、第三混淆逻辑单元404三个混淆逻辑单元202,那么,该双输入集成电路芯片40的密钥信号应该包含2个密钥位,分别记作K1K2

在一些实施例中,该密钥信号控制4选1多路选择器从所述目标输出信号、所述第一混淆输出信号、所述第二混淆输出信号以及第三混淆输出信号选择输出信号的逻辑,如表1所示。

K<sub>1</sub> K<sub>2</sub> O<sub>i</sub>
0 0 O<sub>1</sub>
0 1 O<sub>2</sub>
1 0 O<sub>3</sub>
1 1 O<sub>4</sub>

其中,表1中,Oi为经过4选1多路选择器选择后的输出信号;O1为目标输出信号;O2为第一混淆输出信号;O3为第二混淆输出信号;O4为第三混淆输出信号。

对于上述Oi可以采用以下公式进行表示:

Figure BDA0002188636420000091

基于此,4选1多路选择器的结构,可选的,如图5所示,标号1-4为逻辑非门,以K1连接的逻辑非门1为例说明其功能,当K1为“1”时,经过逻辑非门1处理之后,结果为“0”,反之,当K1为“0”时,经过逻辑非门1处理之后,结果为“1”。其余逻辑非门功能与上述相似。标号5-8为逻辑与门,以O1连接的逻辑与门5为例说明其功能,当O1、K1、K2均为“1”时,经过逻辑与门5处理后,结果为“1”,反之,当O1、K1、K2任一值为“0”时,经过逻辑与门5处理后,结果为“0”。其余逻辑与门可基于上述描述进行理解。当经过逻辑与门5-8的处理后,结果全为“0”时,再经过逻辑或门9处理之后,Oi才为“0”,反之,当经过逻辑与门5-8的处理后,结果任一为“1”时,再经过逻辑或门9处理之后,Oi均为“1”。

结合表1可知,该双输入集成电路芯片40的设计者将K1=0且K2=0作为正确的密钥,在使用者提供正确的密钥、也即:K1=0且K2=0时,该双输入集成电路芯片40才能输出正确的输出信号,也即:目标输出信号O1;否则,该双输入集成电路芯片40将会输出错误的输出信号,也即:第一混淆输出信号O2、或者第二混淆输出信号O3、或者第三混淆输出信号O4,为此,4选1多路选择器可以实现从O1、O2、O3、O4选择一路输出信号,从而可以保护该双输入集成电路芯片40的硬件安全。

在一些实施例中,该双输入集成电路芯片40可以应用到集成电路设计中,以保证电路设计的硬件安全。

示例性的,如图6所示,其示出本发明实施例提供的一种包含双输入集成电路芯片40的集成电路结构示意图。该集成电路可以包括:两个双输入集成电路芯片40。由于双输入集成电路芯片40需要使用者提供正确的密钥,也即:K1=0且K2=0,该双输入集成电路芯片40才能输出正确的逻辑功能,因此,将双输入集成电路芯片40应用到集成电路的设计时,该集成电路的使用者也需要提供正确的密钥,也即:K1=0且K2=0,该集成电路才能输出正确的逻辑功能,从而保证了该集成电路的硬件安全。这里需要说明的是,此处的输入信号I1-I6、两路输出信号O1和O2以及其余的逻辑门仅是示例性的为了说明本发明,并不具有任何限制作用。还需要说明的是,在实际应用中,双输入集成电路芯片40的输入信号应该为两路,图6仅是为了说明双输入集成电路芯片40可以作为基本混淆单元应用电路设计中,并未画出双输入集成电路芯片40实际输入信号。

应理解,说明书通篇中提到的“一个实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可以通过其它的方式实现。以上所描述的终端实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据存储装置的控制

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类