一种集成电路及用于保护集成电路的方法
技术领域
本发明涉及集成电路
技术领域
,具体涉及一种集成电路及用于保护集成电路的方法。背景技术
集成电路是一种微型电子器件或部件。它采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,后封装在一个管壳内,其中所有元件在结构上已组成一个整体。
随着电子工业的迅猛发展,越来越多的集成电路被应用于各种通信、电子设备,在这些集成电路中往往存储着大量私人信息和秘密资料,为了保护这些敏感数据,防止未经授权的读取存储行为,现有技术多将保护屏蔽层放置在电路互连部分的上部区域中,在他人私自插入读取探针时,金属迹线受损,信号不再在屏蔽层中流动,由此电路可以检测到入侵,生成报警信号,此种方式对不插入读取探针的入侵行为防范性不强,适用性差;少数保护技术对集成电路进行多次验证加密,但加密程序写入时,操作非常复杂,耗费时间,且技术含量高,难以推广使用。
发明内容
为此,本发明提供一种集成电路及用于保护集成电路的方法,通过数据处理器的设置,IC组件被配置成使用存取密钥来实现对加密存储器中内容的读取,存取密钥可以通过密码或其它代码,实现对存储单元内容的存取,对加密存储器中的内容进行加密和解密,可对未经授权的读取存储行为进行强有力的防范,安全性强,通过有源屏蔽和异或门的设置,当有源屏蔽被损坏,屏蔽控制器输出的A公钥为错误结果,异或门同样不正确,攻击者虽然能够探测到集成电路的内部信号,但是不能正确地解密加密存储器中的内容,不能获取敏感数据,实用性强,双重保护,安全性高,操作简单,适用于各种集成电路的加密存储需要,便于推广,以解决现有技术对信息入侵行为防范性不强,保护性差的问题。
为了实现上述目的,本发明提供如下技术方案:一种集成电路,包括顶层,所述顶层下壁固定连接有四层绝缘层,底部所述绝缘层下壁固定连接有衬底,所述顶层内安装有基类库,上部三层所述绝缘层内固定连接有金属芯线,底部所述绝缘层内安装有有源屏蔽,所述衬底内安装有IC组件;
所述顶层、绝缘层和衬底用于为集成电路的各功能部件提供安全的安装空间;
所述基类库支持各种操作公共编程操作,用于为IC组件和有源屏蔽的多种算法器件提供一个公共编程框架;
所述金属芯线用于使集成电路的各功能部件电性连接,方便信息的传输;
所述有源屏蔽用于在IC的顶部中注入随机位序列,并检查随机位序列在穿过集成电路的各功能部件之后到达情况,验证电路完整性的密集导线;
所述IC组件用于加密存储敏感数据并实施安全保护。
进一步地,所述IC组件包括屏蔽控制器,所述屏蔽控制器包括揭露单元和掩蔽单元。
进一步地,所述有源屏蔽的输出端与屏蔽控制器的输入端相连接,所述屏蔽控制器的输出端与有源屏蔽的输入端相连接。
进一步地,所述屏蔽控制器的输入端连接有真随机数生成器,所述屏蔽控制器的输出端设置有A公钥,所述A公钥的输出端连接有异或门,所述屏蔽控制器的输入端连接有密匙存储装置,所述密匙存储装置的输出端设置有B公钥,所述B公钥的输出端与异或门的输入端相连接,所述异或门的输出端连接有数据处理器,所述数据处理器的输出端连接有中央处理器,所述中央处理器的输出端与数据处理器的输入端相连接,所述数据处理器的输出端连接有加密存储器,所述加密存储器的输出端与数据处理器的输入端相连接,所述异或门用于执行异或运算,所述真随机数生成器用于向屏蔽控制器提供真随机位,所述数据处理器用于使用加密密钥对加密存储器的内容进行加密,并且使用相应解密密钥对加密存储器的内容进行解密,所述加密存储器用于对A公钥和B公钥进行存储,所述中央处理器可对数据处理器进行操作控制。
进一步地,所述揭露单元的输入端连接有保护源,所述揭露单元的输出端与有源屏蔽的输入端相连接,所述有源屏蔽的输出端与掩蔽单元的输入端相连接,所述掩蔽单元的输出端设置有A公钥,所述屏蔽控制器可以使用真随机位掩蔽提供到有源屏蔽的输入值并且揭露有源屏蔽的输出值,只要有源屏蔽中的导线未被损坏,其输出值就可以被看作是输入值的定性映射,记作保护源,所述保护源可存储在加密存储器中,即只要有源屏蔽中的导线完好,通过其导线传送的输入值就可产生预测输出值,输出值的大小可以匹配所需解密密钥的大小。
进一步地,所述有源屏蔽包括三个切片,三个所述切片均包括组合逻辑和存储器A与组合逻辑和非A存储器,所述IC组件的上方与下方屏蔽线均位于组合逻辑和存储器A与组合逻辑和非A存储器传输位间,三个所述切片分别被记作切片A、切片B和切片C,所述屏蔽控制器的输出端与切片A的输入端相连接,所述切片A的输出端与切片B的输入端相连接,所述切片B的输出端与切片C的输入端相连接,所述切片C的输出端与屏蔽控制器的输入端相连接,所述屏蔽控制器的输出端设有线性切片函数和真随机位,所述组合逻辑和存储器A用于提供串行数据和控制信号,所述组合逻辑和非A存储器用于提供串行数据和任选地控制信号,所述屏蔽控制器运算时,组合逻辑在控制信号的控制下对串行数据执行转换,由此实施线性函数,中间数据可以存储在组合逻辑和存储器A与组合逻辑和非A存储器的存储器中,并且数据可以通过切片移位,即此过程为由移位寄存器执行的过程。
进一步地,所述真随机位的输出端连接有缓冲器,所述缓冲器的输出端连接有伪随机数生成器A,所述伪随机数生成器A的输出端与线性切片函数的输入端相连接,所述伪随机数生成器A的输出端连接有异或门A,所述线性切片函数的输出端连接有异或门B,所述异或门B的输入端与有源屏蔽的输出端相连接,所述保护源的输出端连接有伪随机数生成器B,所述伪随机数生成器B的输出端设置有N位加密函数,所述N位加密函数的输入端连接有N位计数器,所述N位加密函数的输出端与异或门A的输入端相连接,所述异或门A的输出端与有源屏蔽的输入端相连接,所述异或门B的输出端设置有哈希函数,所述哈希函数的输出端与A公钥的输入端相连接,所述哈希函数便于有效地测试有源屏蔽是否已经被损坏,即确定集成电路是否已经被篡改。
本发明还包括用于保护集成电路的方法,具体步骤如下:
步骤一:设N为一切片的串行位数,M为该切片的数目,那么单次通过可以限定为伪随机数生成器A和伪随机数生成器B的M步;
步骤二:每次通过时,重新加载伪随机数生成器A和伪随机数生成器B的数值,即在每一步,伪随机数生成器A和伪随机数生成器B都会针对切片产生新的随机值;
步骤三:测试时,将N位计数器复位到初始值,后在每次通过时,N位计数器都产生新的值;
步骤四:有源屏蔽具有串行数据输入、串行数据输出,并且可以被看作是具有M级的移位寄存器,即有源屏蔽中每个级包括一个切片,该切片被配置成向下一个切片移位N个变换位;
步骤五:缓冲器、伪随机数生成器B和线性切片函数不对与保护源相关的任何数据进行运算,而是仅对真随机位的数据进行运算,故该缓冲器、伪随机数生成器B和线性切片函数用于掩蔽到有源屏蔽的输入值并且揭露有源屏蔽的输出值,N位加密函数用于取决于保护源数据使N位计数器数值多样化;
步骤六:N位加密函数的输出用于确定有源屏蔽的输入,该输入在异或门A处由伪随机数生成器B的输出掩蔽,则异或门A输出用于有源屏蔽的随机输入,同理,有源屏蔽的输出是随机的,且在则异或门B处被揭露,即异或门B的输出用于哈希函数的确定性输入,可有效地测试有源屏蔽是否已经被损坏,即确定集成电路是否已经被篡改。
本发明具有如下优点:
1、本发明通过数据处理器的设置,与现有技术相比,IC组件被配置成使用存取密钥来实现对加密存储器中内容的读取,存取密钥可以通过密码或其它代码,实现对存储单元内容的存取,对加密存储器中的内容进行加密和解密,可对未经授权的读取存储行为进行强有力的防范,安全性强;
2、本发明通过有源屏蔽和异或门的设置,与现有技术相比,当有源屏蔽被损坏,屏蔽控制器输出的A公钥为错误结果,异或门同样不正确,攻击者虽然能够探测到集成电路的内部信号,但是不能正确地解密加密存储器中的内容,不能获取敏感数据,实用性强,双重保护,安全性高,操作简单,适用于各种集成电路的加密存储需要,便于推广。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明集成电路结构示意图;
图2为本发明IC组件结构框图;
图3为本发明屏蔽控制器结构框图;
图4为本发明有源屏蔽控制结构框图;
图5为本发明集成电路实施结构框图;
图6为本发明A公钥输出结构框图;
图7为本发明切片结构框图;
图8为本发明切片内部连接结构框图;
图9为本发明屏蔽控制器与切片连接结构框图;
图10为本发明有源屏蔽实施数据结构框图。
图中:1、顶层;2、绝缘层;3、衬底;4、基类库;5、金属芯线;6、有源屏蔽;7、IC组件;8、屏蔽控制器;9、揭露单元;10、掩蔽单元;11、真随机数生成器;12、密匙存储装置;13、A公钥;14、B公钥;15、异或门;1501、异或门A;1502、异或门B;16、加密存储器;17、数据处理器;18、中央处理器;19、切片;1901、切片A;1902、切片B;1903、切片C;20、组合逻辑和存储器A;21、组合逻辑和非A存储器;22、真随机位;23、缓冲器;2401、伪随机数生成器A;2402、伪随机数生成器B;25、保护源;26、线性切片函数;27、N位计数器;28、N位加密函数;29、哈希函数。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照说明书附图1-10,该实施例的一种集成电路,包括顶层1,所述顶层1下壁固定连接有四层绝缘层2,底部所述绝缘层2下壁固定连接有衬底3,所述顶层1内安装有基类库4,上部三层所述绝缘层2内固定连接有金属芯线5,底部所述绝缘层2内安装有有源屏蔽6,所述衬底3内安装有IC组件7;
所述顶层1、绝缘层2和衬底3用于为集成电路的各功能部件提供安全的安装空间;
所述基类库4支持各种操作公共编程操作,用于为IC组件7和有源屏蔽6的多种算法器件提供一个公共编程框架;
所述金属芯线5用于使集成电路的各功能部件电性连接,方便信息的传输;
所述有源屏蔽6用于在IC的顶部中注入随机位序列,并检查随机位序列在穿过集成电路的各功能部件之后到达情况,验证电路完整性的密集导线;
所述IC组件7用于加密存储敏感数据并实施安全保护。
进一步地,所述IC组件7包括屏蔽控制器8,所述屏蔽控制器8包括揭露单元9和掩蔽单元10。
进一步地,所述有源屏蔽6的输出端与屏蔽控制器8的输入端相连接,所述屏蔽控制器8的输出端与有源屏蔽6的输入端相连接。
进一步地,所述屏蔽控制器8的输入端连接有真随机数生成器11,所述屏蔽控制器8的输出端设置有A公钥13,所述A公钥13的输出端连接有异或门15,所述屏蔽控制器8的输入端连接有密匙存储装置12,所述密匙存储装置12的输出端设置有B公钥14,所述B公钥14的输出端与异或门15的输入端相连接,所述异或门15的输出端连接有数据处理器17,所述数据处理器17的输出端连接有中央处理器18,所述中央处理器18的输出端与数据处理器17的输入端相连接,所述数据处理器17的输出端连接有加密存储器16,所述加密存储器16的输出端与数据处理器17的输入端相连接,所述异或门15用于执行异或运算,所述真随机数生成器11用于向屏蔽控制器8提供真随机位22,所述数据处理器17用于使用加密密钥对加密存储器16的内容进行加密,并且使用相应解密密钥对加密存储器16的内容进行解密,所述加密存储器16用于对A公钥13和B公钥14进行存储,所述中央处理器18可对数据处理器17进行操作控制。
进一步地,所述揭露单元9的输入端连接有保护源25,所述揭露单元9的输出端与有源屏蔽6的输入端相连接,所述有源屏蔽6的输出端与掩蔽单元10的输入端相连接,所述掩蔽单元10的输出端设置有A公钥13,所述屏蔽控制器8可以使用真随机位22掩蔽提供到有源屏蔽6的输入值并且揭露有源屏蔽6的输出值,只要有源屏蔽6中的导线未被损坏,其输出值就可以被看作是输入值的定性映射,记作保护源25,所述保护源25可存储在加密存储器16中,即只要有源屏蔽6中的导线完好,通过其导线传送的输入值就可产生预测输出值,输出值的大小可以匹配所需解密密钥的大小。
进一步地,所述有源屏蔽6包括三个切片19,三个所述切片19均包括组合逻辑和存储器A20与组合逻辑和非A存储器21,所述IC组件7的上方与下方屏蔽线均位于组合逻辑和存储器A20与组合逻辑和非A存储器21传输位间,三个所述切片19分别被记作切片A1901、切片B1902和切片C1903,所述屏蔽控制器8的输出端与切片A1901的输入端相连接,所述切片A1901的输出端与切片B1902的输入端相连接,所述切片B1902的输出端与切片C1903的输入端相连接,所述切片C1903的输出端与屏蔽控制器8的输入端相连接,所述屏蔽控制器8的输出端设有线性切片函数26和真随机位22,所述组合逻辑和存储器A20用于提供串行数据和控制信号,所述组合逻辑和非A存储器21用于提供串行数据和任选地控制信号,所述屏蔽控制器8运算时,组合逻辑在控制信号的控制下对串行数据执行转换,由此实施线性函数,中间数据可以存储在组合逻辑和存储器A20与组合逻辑和非A存储器21的存储器中,并且数据可以通过切片19移位,即此过程为由移位寄存器执行的过程。
进一步地,所述真随机位22的输出端连接有缓冲器23,所述缓冲器23的输出端连接有伪随机数生成器A2401,所述伪随机数生成器A2401的输出端与线性切片函数26的输入端相连接,所述伪随机数生成器A2401的输出端连接有异或门A1501,所述线性切片函数26的输出端连接有异或门B1502,所述异或门B1502的输入端与有源屏蔽6的输出端相连接,所述保护源25的输出端连接有伪随机数生成器B2402,所述伪随机数生成器B2402的输出端设置有N位加密函数28,所述N位加密函数28的输入端连接有N位计数器27,所述N位加密函数28的输出端与异或门A1501的输入端相连接,所述异或门A1501的输出端与有源屏蔽6的输入端相连接,所述异或门B1502的输出端设置有哈希函数29,所述哈希函数29的输出端与A公钥13的输入端相连接,所述哈希函数29便于有效地测试有源屏蔽6是否已经被损坏,即确定集成电路是否已经被篡改。
本发明还包括用于保护集成电路的方法,具体步骤如下:
步骤一:设N为一切片19的串行位数,M为该切片19的数目,那么单次通过可以限定为伪随机数生成器A2401和伪随机数生成器B2402的M步;
步骤二:每次通过时,重新加载伪随机数生成器A2401和伪随机数生成器B2402的数值,即在每一步,伪随机数生成器A2401和伪随机数生成器B2402都会针对切片19产生新的随机值;
步骤三:测试时,将N位计数器27复位到初始值,后在每次通过时,N位计数器27都产生新的值;
步骤四:有源屏蔽6具有串行数据输入、串行数据输出,并且可以被看作是具有M级的移位寄存器,即有源屏蔽6中每个级包括一个切片19,该切片19被配置成向下一个切片19移位N个变换位;
步骤五:缓冲器23、伪随机数生成器B2402和线性切片函数26不对与保护源25相关的任何数据进行运算,而是仅对真随机位22的数据进行运算,故该缓冲器23、伪随机数生成器B2402和线性切片函数26用于掩蔽到有源屏蔽6的输入值并且揭露有源屏蔽6的输出值,N位加密函数28用于取决于保护源25数据使N位计数器27数值多样化,IC组件7被配置成使用存取密钥来实现对加密存储器16中内容的读取,存取密钥可以通过密码或其它代码,实现对存储单元内容的存取,对加密存储器16中的内容进行加密和解密,可对未经授权的读取存储行为进行强有力的防范,安全性强;
步骤六:N位加密函数28的输出用于确定有源屏蔽6的输入,该输入在异或门A1501处由伪随机数生成器B2402的输出掩蔽,则异或门A1501输出用于有源屏蔽6的随机输入,同理,有源屏蔽6的输出是随机的,且在则异或门B1502处被揭露,即异或门B1502的输出用于哈希函数29的确定性输入,可有效地测试有源屏蔽6是否已经被损坏,即确定集成电路是否已经被篡改,当有源屏蔽6被损坏,屏蔽控制器8输出的A公钥13为错误结果,异或门15同样不正确,攻击者虽然能够探测到集成电路的内部信号,但是不能正确地解密加密存储器16中的内容,不能获取敏感数据,实用性强,双重保护,安全性高,操作简单,适用于各种集成电路的加密存储需要,便于推广。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:签名数据处理方法、装置、设备及介质