CN112307438A - 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 - Google Patents
一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 Download PDFInfo
- Publication number
- CN112307438A CN112307438A CN202011083593.4A CN202011083593A CN112307438A CN 112307438 A CN112307438 A CN 112307438A CN 202011083593 A CN202011083593 A CN 202011083593A CN 112307438 A CN112307438 A CN 112307438A
- Authority
- CN
- China
- Prior art keywords
- signal
- input end
- key
- output
- gate
- 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
- 238000002955 isolation Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 32
- 238000013475 authorization Methods 0.000 claims description 16
- 238000013461 design Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 5
- 230000004888 barrier function Effects 0.000 claims 3
- 238000004519 manufacturing process Methods 0.000 abstract description 10
- 230000004913 activation Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 73
- 230000008569 process Effects 0.000 description 7
- 101150110972 ME1 gene Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012261 overproduction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了扫描锁定电路、安全隔离装置、芯片及安全隔离方法,电路包括若干逻辑处理链路,每一条逻辑处理链路均包括依次串联的输入异或门、测试扫描链和输出异或门,任一输入异或门的输入端均连接第一信号输入端、第二信号输入端、第三信号输入端,任一输出异或门的输入端均连接信号输出端、第二信号输入端、第三信号输入端;第二信号输入端、第三信号输入端分别连接一与门的输入端,与门的输出端分别与每一个输出异或门的输入端连接;第二信号输入端、第三信号输入端分别连接一与非门的输入端,所述与非门的输出端分别与每一个输出异或门的输入端连接。本发明在生产厂测试芯片前后实现IC功能的锁定和激活,从而有效保护开发者的知识产权。
Description
技术领域
本发明涉及芯片设计技术领域,尤其是一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法。
背景技术
在集成电路(IC)芯片的设计开发过程中,设计者将设计完成后的IP(知识产权)核等功能单元交付给生产厂,由生产厂生产晶圆和模具后进行测试,测试通过后进行芯片的装配和封装后最终投入到市场。
然而,一些不受信任的芯片生产厂可能会在公开市场上销售未经过测试、非法复制、假冒篡改的IC芯片,并且随着假冒技术复杂程度的提高,越来越难发现假冒的IC芯片。
因此有必要对芯片的生产加工过程进行安全控制,维护芯片开发者的自身权益。
发明内容
本发明提供了一种芯片测试的安全隔离装置、方法及芯片,用于解决现有芯片生产加工过程安全控制不完善的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种扫描锁定电路,包括第一信号输入端、第二信号输入端、第三信号输入端、信号输出端、若干逻辑处理链路,每一条逻辑处理链路均包括依次串联的输入异或门、测试扫描链和输出异或门,任一输入异或门的输入端均连接第一信号输入端、第二信号输入端、第三信号输入端,任一输出异或门的输入端均连接信号输出端、第二信号输入端、第三信号输入端;所述第二信号输入端、第三信号输入端分别连接一与门的输入端,所述与门的输出端分别与每一个输出异或门的输入端连接;所述第二信号输入端、第三信号输入端分别连接一与非门的输入端,所述与非门的输出端分别与每一个输出异或门的输入端连接。
本发明第二方面提供了一种安全隔离装置,所述的装置包括上述的扫描锁定电路,以及功能锁定模块,用于实现对功能逻辑单元和IP核的锁定;一次性可编辑模块,用于生成并存储随机值,基于随机值生成第一密钥和第二密钥;测试解锁模块,用于生成并输出测试解锁信号至扫描锁定电路,以实现对测试功能的解锁;扫描锁定模块,用于生成并输出扫描锁定信号至扫描锁定电路,以实现对扫描功能的锁定;功能解锁模块,用于生成并输出功能解锁信号对功能逻辑单元和IP核进行解锁。
进一步的,所述的功能锁定模块包括:
功能逻辑锁定单元,用于利用锁定信号锁定写保护引脚,实现对功能逻辑单元的写保护;
IP核锁定单元,用于利用使能信号控制临时授权文件生效,实现对IP核的锁定。
进一步的,所述的一次性可编辑模块包括:
随机值生成单元,用于使用随机方式生成随机值;
公钥生成单元,用于基于加密算法生成第一公钥、第一私钥、第二公钥、第二私钥;
第一密钥生成单元,用于使用第一私钥和随机值加密生成第一密钥;
第二密钥生成单元,用于使用第二私钥和随机值加密生成第二密钥;
存储单元,用于存储随机值。
进一步的,所述的测试解锁模块包括:
第一明文生成单元,用于利用第一公钥解密第一密钥,恢复出第一明文;
测试解锁信号生成单元,用于在判断第一明文和随机值相同时,输出测试解锁信号至扫描锁定电路的第二信号输入端。
进一步的,所述的扫描锁定模块包括:
第二明文生成单元,用于利用第二公钥解密第二密钥,恢复出第二明文;
扫描锁定信号生成单元,用于在判断第二明文和随机值相同时,输出扫描锁定信号至扫描锁定电路的第三信号输入端。
进一步的,所述的功能解锁模块包括:
第三明文生成单元,用于利用第二公钥解密第二密钥,恢复出第三明文;
功能解锁信号生成单元,用于在判断第三明文和随机值相同时,输出功能解锁信号;
功能逻辑单元解锁单元,用于接收功能解锁信号,触发写保护引脚电平状态改变,解除功能逻辑单元的写保护状态;
IP核解锁单元,用于接收功能解锁信号,触发使能信号状态改变使临时授权文件失效,解除对IP核的锁定。
本发明第三方面提供了一种芯片,该芯片具有自身的功能模块或逻辑模块,在此基础之上,该芯片还包含上述的安全隔离装置。
本发明第四方面提供了一种安全隔离方法,所述方法包括以下步骤:
S1:芯片设计完成后,锁定芯片的IP核和功能逻辑单元;
S2:生成并存储随机值,基于随机值生成第一密钥和第二密钥;
S3:利用第一密钥解锁对芯片测试的权限,启动芯片测试;
S4:测试通过后,利用第二密钥锁定扫描电路并解锁芯片功能IP核和功能逻辑单元。
进一步的,所述步骤S1的具体实现方法为:
S11:设置功能锁定信号并发送至写保护引脚,控制写保护寄存器实现写保护功能;
S12:调整使能信号,控制临时授权文件生效以锁定IP核。
进一步的,所述步骤S2的具体实现方法为:
S21:生成并存储一个随机值到一次性可编辑区域;
S22:利用加密算法生成第一公钥、第一私钥、第二公钥、第二私钥;
S23:使用第一私钥和随机值加密生成第一密钥;
S24:使用第二私钥和随机值加密生成第二密钥。
进一步的,所述步骤S3的具体实现方法为:
S31:获取第一公钥和第一密钥,利用第一公钥解密第一密钥,恢复出第一明文;
S32:判断第一明文和随机值是否相同,若相同,进入S33;若不同,返回S31;
S33:输出测试解锁信号至扫描锁定电路的第二信号输入端,输入的测试向量经扫描链后输出值不变,扫描电路解锁;
S34:执行测试操作并上传测试结果。
进一步的,,步骤S33中,所述输入的测试向量经扫描链后输出值不变具体为:
测试输入向量和测试解锁信号经异或运算后,输出至扫描链;
测试解锁信号经第二输入端输入,第三输入端无输入,第二输入端和第三输入端信号不同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相同的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
进一步的,所述步骤S4中,锁定扫描电路的具体实现方法为:
获取第二公钥和第二密钥,利用第二公钥解密第二密钥,恢复出第二明文;
在第二明文与芯片预存随机数相同时,输出扫描锁定信号至扫描锁定电路的第三信号输入端,此时输入的测试向量经扫描链后输出值翻转,扫描电路锁定。
进一步的,所述输入的测试向量经扫描链后输出值翻转具体为:
测试输入向量和扫描锁定信号经异或运算后,输出至扫描链;
扫描锁定信号经第三输入端输入,第二输入端保留测试解锁信号,第二输入端和第三输入端信号相同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相反的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
进一步的,所述步骤S4中,解锁芯片功能IP核和功能逻辑单元的具体实现方法为:
利用第二公钥解密第二密钥,恢复出第三明文;
在判断第三明文和随机值相同时,输出功能解锁信号;
功能解锁信号触发写保护引脚电平状态改变,解除功能逻辑单元的写保护状态;
同时,功能解锁信号触发使能信号状态改变,使临时授权文件失效,解除对IP核的锁定。
进一步的,当临时授权文件失效后,通过加载正式授权文件激活IP核,使IP核处于可信状态。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
通过设计了一个可实现逻辑翻转的扫描锁定电路,结合输入和输出的不同定义了扫描功能开启和锁定的状态,使得生产厂的整个测试过程处于设计方的控制之下,保证了设计方知识产权的安全。
在扫描锁定电路的基础上,通过增加功能锁定模块来实现对功能逻辑单元和IP核的锁定,并配以一次性可编辑模块、测试解锁模块、扫描锁定模块、功能解锁模块等辅助模块,共同构建了安全隔离装置,整个安全隔离装置不仅能够实现测试阶段扫描功能管控,还能保证测试阶段中功能逻辑单元和IP核的锁定,通过该途径可以确保生产测试过程的安全,以防止假冒,从而有效保护开发者的知识产权,维护其合法权益,保证了出厂芯片的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明扫描锁定电路的原理示意图;
图2是本发明安全隔离装置的结构原理示意图;
图3是本发明功能锁定模块的锁定原理示意图;
图4是本发明功能锁定模块的解锁原理示意图;
图5是本发明安全隔离方法的流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
本发明公开的扫描锁定电路,其功能结构从原理上包括第一信号输入端、第二信号输入端、第三信号输入端、信号输出端、若干逻辑处理链路,每一条逻辑处理链路均包括依次串联的输入异或门、测试扫描链和输出异或门,任一输入异或门的输入端均连接第一信号输入端、第二信号输入端、第三信号输入端,任一输出异或门的输入端均连接信号输出端、第二信号输入端、第三信号输入端;所述第二信号输入端、第三信号输入端分别连接一与门的输入端,所述与门的输出端分别与每一个输出异或门的输入端连接;所述第二信号输入端、第三信号输入端分别连接一与非门的输入端,所述与非门的输出端分别与每一个输出异或门的输入端连接。
基于上述功能原理,本发明实施例中给出了一种可具体应用的扫描锁定电路,该扫描锁定电路的具体结构命名和功能阐述如图1所示,具体包括:
1)测试输入信号(Test_In),作为第一信号输入,用来输入测试输入向量;
2)测试解锁信号(TKey_out),作为第二信号输入,该信号的生成逻辑为:通过接收芯片开发者发送的第一密钥(Test_Key),调用RSA模块对其进行解密,恢复出明文,通过比较模块(CMP)与预期结果进行比对,比对通过后发送TKey_out信号;
3)扫描锁定信号(FKey_out),作为第三信号输入,该信号的生成逻辑为:功能是接收芯片开发者发送的第二密钥(Function_Key),调用RSA模块对其进行解密,恢复出明文,通过比较模块(CMP)与预期结果进行比对,比对通过后发送;
4)扫描链输入控制逻辑(XOR_IN):由n个异或门(XOR)组成,XOR_IN的输入端连接Test_In和TKey_out、FKey_out信号,XOR_IN的输出端连接至测试扫描链的输入端;
5)扫描链输出控制逻辑(XOR_OUT):同样由n个异或门(XOR)组成,XOR_OUT的输入端连接至扫描链的输出以及AND、nAND门的输出,XOR_OUT的输出作为信号输出;
6)控制逻辑(AND,nAND):包括一个与门(AND)和一个与非门(nAND),AND的输入端连接至TKey_out、FKey_out,输出端连接至XOR_OUT;nAND的输入端连接至TKey_out、FKey_out,输出端连接至XOR_OUT。
上述扫描锁定电路的功能实现原理为:
在该扫描锁定电路中,由于受XOR_IN、XOR_OUT以及AND和nAND的逻辑控制,当TKey_out≠FKey_out时,测试向量的输入经过扫描链后输出值不变,即当测试向量输入为“1101”时,输出为“1101”,扫描电路工作正常;当TKey_out=FKey_out时,测试向量的输入经过扫描链后输出值会翻转,即当测试向量输入为“1101”时,输出为“0010”,扫描电路工作异常。
该扫描锁定电路的作用是在开发者完成芯片设计后,锁定芯片的设计功能,只提供第一密钥Test_Key给生产厂,生产厂验证Test_Key后进行芯片测试,此时由于没有第二密钥Function_Key,使得TKey_out≠FKey_out,扫描电路工作正常,生产厂能够正常进行芯片测试;当测试完成后,并且芯片开发者验证测试结果通过后,发送第二密钥Function_Key解锁芯片的设计功能,再加上Function_Key经过第二密钥解密模块(K_Mod2)后,输出值FKey_out=TKey_out,使扫描电路的输出翻转,锁定扫描电路,从而防止生产厂从未锁定的芯片中提取任何信息。
在上述扫描锁定电路的基础上,本发明实施例还提供了一种安全隔离装置,如图2所示,该安全隔离装置不仅包含上述的扫描锁定电路,还包括功能锁定模块、一次性可编辑模块、测试解锁模块、扫描锁定模块、功能解锁模块。
除扫描锁定电路以外,安全隔离装置中其它模块的功能为:
一次性可编辑模块(OTP)用于生成并存储随机值,基于随机值生成第一密钥和第二密钥,该模块包括:
随机值生成单元,用于使用随机方式为每个芯片生成一个随机值(Random)。
公钥生成单元,利用数字签名RSA算法生成第一公钥(Pub_Key1)、第一私钥(Pri_Key1)、第二公钥(Pub_Key2)、第二私钥(Pri_Key2)。
第一密钥生成单元,利用私钥Pri_Key1对Random进行数字签名,生成第一密钥Test_Key,即Test_Key=ENC(Random)Pri_Key1,ENC代表加密运算。由于在生成第一密钥Test_Key时加入了芯片开发者的数字签名,使得生产厂无法进行篡改,如果生产厂对Test_Key进行篡改,就不能生成正确的TKey_out信号,使得生产厂不能进行芯片测试过程。
第二密钥生成单元,利用私钥Pri_Key2对Random进行数字签名,生成第二密钥Function_Key,即Function_Key=ENC(Random)Pri_Key2,ENC代表加密运算。由于生成第二密钥Function_Key时也加入了数字签名,使得恶意人员无法进行篡改,如果对Function_Key篡改,就不能使Function_Lock信号变为低电平,无法解锁芯片的功能,确保了只有未锁定的芯片才能有正确的功能,只有芯片开发者发送正确的功能密钥后芯片才能正确的运行。
存储单元,用于存储随机值(Random),存储单元的存储区域为一次编程区域,写入数值后不能修改,可以防止恶意人员对其进行篡改;另外由于每个芯片的Random不一样,从而能够防止恶意人员通过克隆的手段对芯片进行假冒复制,防止过度生产。
功能锁定电路,如图3所示,用于实现对功能逻辑单元和IP核的锁定,其包含的具体实现单元为:
功能逻辑锁定单元,用于控制写保护寄存器实现写保护功能,主要实现逻辑为:通过将写保护引脚WP连接到锁定信号(Function_Lock),此时WP=‘1’,从而只能对功能逻辑实现读操作。
IP核锁定单元,用于利用使能信号控制临时授权文件生效,实现对IP核的锁定,主要实现逻辑为:利用使能信号EN=‘1’,从而控制临时授权文件(License临时文件)起作用。
测试解锁模块用于生成并输出测试解锁信号至扫描锁定电路,以实现对测试功能的解锁;所述的测试解锁模块包括:
第一明文生成单元,用于利用第一公钥(Pub_Key1)解密第一密钥,恢复出第一明文Random1。
测试解锁信号生成单元,用于在判断第一明文Random1和随机值Random相同时,输出测试解锁信号(TKey_out)至扫描锁定电路作为第二信号输入。
扫描锁定模块用于生成并输出扫描锁定信号至扫描锁定电路,以实现对扫描功能的锁定,所述的扫描锁定模块包括:
第二明文生成单元,用于利用第二公钥(Pub_Key2)解密第二密钥,恢复出第二明文Random2。
扫描锁定信号生成单元,用于在判断第二明文Random2和随机值Random相同时,输出扫描锁定信号(FKey_out)至扫描锁定电路作为第三信号输入。
功能解锁模块用于生成并输出功能解锁信号对功能逻辑单元和IP核进行解锁,所述的功能解锁模块包括:
第三明文生成单元,用于利用第二公钥解密第二密钥,恢复出第三明文Random3。
功能解锁信号生成单元,用于在判断第三明文Random3和随机值Random相同时,输出功能解锁信号,此时,功能解锁信号为扫描锁定电路的测试输出信号(Test_out)。
功能逻辑单元解锁单元,用于接收功能解锁信号,触发写保护引脚电平状态改变,解除功能逻辑单元的写保护状态,具体实现逻辑如图4所示:Random3=Random后使Function_Lock信号输出低电平,由于Function_Lock=‘0’,从而使功能逻辑的写保护引脚WP=‘0’,解锁功能逻辑模块的写保护状态。
IP核解锁单元,用于接收功能解锁信号,触发使能信号状态改变使临时授权文件失效,解除对IP核的锁定,具体实现逻辑如图4所示:Random3=Random后使Function_Lock信号输出低电平,当Function_Lock=‘0’时,触发使能信号EN=‘0’使License临时文件无效。
此外,由于上述的安全隔离装置可以应用于任何功能的芯片上,因此本发明实施例还提供了应用上述安全隔离装置的芯片,作为本申请的保护对象。
本发明实施例还提供了一种安全隔离方法,将上述安全隔离装置在芯片测试过程中的具体应用进行了详细阐述,如图5所示,所述的方法包括以下步骤:
本发明第四方面提供了一种安全隔离方法,所述方法包括以下步骤:
S1:芯片设计完成后,锁定芯片的IP核和功能逻辑单元。所述步骤S1的具体实现原理为:
锁定功能逻辑单元是通过写保护寄存器实现的,写保护引脚WP连接到Function_Lock信号,此时WP=‘1’,从而控制写保护寄存器实现写保护功能,只能对功能逻辑实现读操作,而无法对功能逻辑实现写操作,因此在芯片测试期间可以有效防止篡改。
对IP核的锁定:使能信号EN=‘1’,从而控制临时的授权文件(License临时文件)起作用,该文件仅用于芯片在测试期间工作,芯片测试完成后使临时License文件无效;即使在测试阶段对IP核进行了篡改,芯片通过测试后在正式投入市场之前,通过加载正式的License文件使IP核重新激活后恢复可信的状态,因此能够保证IP核的安全性。
S2:生成并存储随机值,基于随机值生成第一密钥和第二密钥。所述步骤S2的具体实现过程为:
首先:芯片开发者为芯片生成一个随机值Random,并写入一次性可编程模块(OTP)中,其中的一次性可编程模块(OTP),可以是芯片中的一次性可编辑区域,也可以是单独设置的具有一次性可编辑功能的存储单元。
其次,芯片开发者利用数字签名RSA算法生成2对公钥-私钥对(Pub_Key1,Pri_Key1)、(Pub_Key2,Pri_Key2),利用私钥Pri_Key1对Random进行数字签名,即加密运算,生成第一密钥Test_Key,Test_Key=ENC(Random)Pri_Key1,ENC代表加密运算;利用私钥Pri_Key2对Random进行数字签名,生成第二密钥Function_Key,Function_Key=ENC(Random)Pri_Key2,ENC代表加密运算。
S3:利用第一密钥解锁对芯片测试的权限,启动芯片测试。所述步骤S3的具体实现方法为:
开发者将第一密钥Test_Key和公钥Pub_Key1一起发送给生产厂,生产厂输入Test_Key和Pub_Key1后,扫描锁定电路中的解密模块K_Mod1利用Pub_Key1对Test_Key解密,恢复出随机值Random1,即Random1=DEC(Test_Key)Pub_Key1,DEC代表解密操作。K_Mod1的比较单元CMP比对Random1与Random,Random1=Random后输出TKey_out信号至扫描锁定电路作为第二信号输入,输入的测试向量经扫描链后输出值不变,扫描电路解锁,允许生产厂对芯片进行测试,测试结果发送给开发者确认。
其中,测试向量经扫描链后输出值不变的具体原理为:
测试输入向量和测试解锁信号经异或运算后,输出至扫描链;
测试解锁信号经第二输入端输入,第三输入端无输入,第二输入端和第三输入端信号不同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相同的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
S4:测试验证结果符合预期后,芯片开发者发送第二密钥Function_Key和第二公钥Pub_Key2,扫描锁定电路中的解密模块K_Mod2利用Pub_Key2对Function_Key解密,恢复出随机值Random2;K_Mod2的比较单元CMP比对Random2与Random,当Random2=Random后输出FKey_out信号,由于FKey_out=TKey_out,使扫描电路的输出翻转,从而锁定扫描电路。
其中,测试向量经扫描链后输出值翻转的具体原理为:
测试输入向量和扫描锁定信号经异或运算后,输出至扫描链;
扫描锁定信号经第三输入端输入,第二输入端保留测试解锁信号,第二输入端和第三输入端信号相同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相反的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
当芯片解锁投入市场后,由于扫描锁定电路中输出值FKey_out=TKey_out,使扫描电路的输出翻转,锁定扫描电路,从而能够防止恶意人员从未锁定的芯片中提取任何信息。
在进行上述步骤的同时,功能锁定模块中的解密模块K_Mod3也利用Pub_Key2对Function_Key解密,恢复出随机值Random3;K_Mod3的比较单元CMP比对Random3与Random,当Random3=Random后使Function_Lock信号输出低电平,解锁芯片的设计功能,具体如图4所示,由于Function_Lock=‘0’,从而使功能逻辑的写保护引脚WP=‘0’,解锁功能逻辑模块的写保护状态;同时触,EN=‘0’使License临时文件无效,开发者再使用License正式文件激活IP核。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (17)
1.一种扫描锁定电路,其特征是,包括第一信号输入端、第二信号输入端、第三信号输入端、信号输出端、若干逻辑处理链路,每一条逻辑处理链路均包括依次串联的输入异或门、测试扫描链和输出异或门,任一输入异或门的输入端均连接第一信号输入端、第二信号输入端、第三信号输入端,任一输出异或门的输入端均连接信号输出端、第二信号输入端、第三信号输入端;所述第二信号输入端、第三信号输入端分别连接一与门的输入端,所述与门的输出端分别与每一个输出异或门的输入端连接;所述第二信号输入端、第三信号输入端分别连接一与非门的输入端,所述与非门的输出端分别与每一个输出异或门的输入端连接。
2.一种安全隔离装置,其特征是,所述的装置包括如权1所述的扫描锁定电路,以及
功能锁定模块,用于实现对功能逻辑单元和IP核的锁定;
一次性可编辑模块,用于生成并存储随机值,基于随机值生成第一密钥和第二密钥;
测试解锁模块,用于生成并输出测试解锁信号至扫描锁定电路,以实现对测试功能的解锁;
扫描锁定模块,用于生成并输出扫描锁定信号至扫描锁定电路,以实现对扫描功能的锁定;
功能解锁模块,用于生成并输出功能解锁信号对功能逻辑单元和IP核进行解锁。
3.根据权利要求2所述的一种安全隔离装置,其特征是,所述的功能锁定模块包括:
功能逻辑锁定单元,用于利用锁定信号锁定写保护引脚,实现对功能逻辑单元的写保护;
IP核锁定单元,用于利用使能信号控制临时授权文件生效,实现对IP核的锁定。
4.根据权利要求2所述的一种安全隔离装置,其特征是,所述的一次性可编辑模块包括:
随机值生成单元,用于使用随机方式生成随机值;
公钥生成单元,用于基于加密算法生成第一公钥、第一私钥、第二公钥、第二私钥;
第一密钥生成单元,用于使用第一私钥和随机值加密生成第一密钥;
第二密钥生成单元,用于使用第二私钥和随机值加密生成第二密钥;
存储单元,用于存储随机值。
5.根据权利要求4所述的一种安全隔离装置,其特征是,所述的测试解锁模块包括:
第一明文生成单元,用于利用第一公钥解密第一密钥,恢复出第一明文;
测试解锁信号生成单元,用于在判断第一明文和随机值相同时,输出测试解锁信号至扫描锁定电路的第二信号输入端。
6.根据权利要求4所述的一种安全隔离装置,其特征是,所述的扫描锁定模块包括:
第二明文生成单元,用于利用第二公钥解密第二密钥,恢复出第二明文;
扫描锁定信号生成单元,用于在判断第二明文和随机值相同时,输出扫描锁定信号至扫描锁定电路的第三信号输入端。
7.根据权利要求4所述的一种安全隔离装置,其特征是,所述的功能解锁模块包括:
第三明文生成单元,用于利用第二公钥解密第二密钥,恢复出第三明文;
功能解锁信号生成单元,用于在判断第三明文和随机值相同时,输出功能解锁信号;
功能逻辑单元解锁单元,用于接收功能解锁信号,触发写保护引脚电平状态改变,解除功能逻辑单元的写保护状态;
IP核解锁单元,用于接收功能解锁信号,触发使能信号状态改变使临时授权文件失效,解除对IP核的锁定。
8.一种芯片,其特征是,包含权利要求2-7任意一项所述的安全隔离装置。
9.一种安全隔离方法,其特征是,所述方法包括以下步骤:
S1:芯片设计完成后,锁定芯片的IP核和功能逻辑单元;
S2:生成并存储随机值,基于随机值生成第一密钥和第二密钥;
S3:利用第一密钥解锁对芯片测试的权限,启动芯片测试;
S4:测试通过后,利用第二密钥锁定扫描电路并解锁芯片功能IP核和功能逻辑单元。
10.根据权利要求9所述的一种安全隔离方法,其特征是,所述步骤S1的具体实现方法为:
S11:设置功能锁定信号并发送至写保护引脚,控制写保护寄存器实现写保护功能;
S12:调整使能信号,控制临时授权文件生效以锁定IP核。
11.根据权利要求9所述的一种安全隔离方法,其特征是,所述步骤S2的具体实现方法为:
S21:生成并存储一个随机值到一次性可编辑区域;
S22:利用加密算法生成第一公钥、第一私钥、第二公钥、第二私钥;
S23:使用第一私钥和随机值加密生成第一密钥;
S24:使用第二私钥和随机值加密生成第二密钥。
12.根据权利要求9所述的一种安全隔离方法,其特征是,所述步骤S3的具体实现方法为:
S31:获取第一公钥和第一密钥,利用第一公钥解密第一密钥,恢复出第一明文;
S32:判断第一明文和随机值是否相同,若相同,进入S33;若不同,返回S31;
S33:输出测试解锁信号至扫描锁定电路的第二信号输入端,输入的测试向量经扫描链后输出值不变,扫描电路解锁;
S34:执行测试操作并上传测试结果。
13.根据权利要求12所述的一种安全隔离方法,其特征是,步骤S33中,所述输入的测试向量经扫描链后输出值不变具体为:
测试输入向量和测试解锁信号经异或运算后,输出至扫描链;
测试解锁信号经第二输入端输入,第三输入端无输入,第二输入端和第三输入端信号不同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相同的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
14.根据权利要求13所述的一种安全隔离方法,其特征是,所述步骤S4中,锁定扫描电路的具体实现方法为:
获取第二公钥和第二密钥,利用第二公钥解密第二密钥,恢复出第二明文;
在第二明文与芯片预存随机数相同时,输出扫描锁定信号至扫描锁定电路的第三信号输入端,此时输入的测试向量经扫描链后输出值翻转,扫描电路锁定。
15.根据权利要求14所述的一种安全隔离方法,其特征是,所述输入的测试向量经扫描链后输出值翻转具体为:
测试输入向量和扫描锁定信号经异或运算后,输出至扫描链;
扫描锁定信号经第三输入端输入,第二输入端保留测试解锁信号,第二输入端和第三输入端信号相同,分别经过与门和与非门,输出至异或门的输入端,并与扫描链的输出端进行异或运算,得到输出结果与测试输入向量相反的组合逻辑,其中扫描链的输出作为异或门的第一输入,与门的输出作为异或门的第二输入,与非门的输出作为异或门的第三输入。
16.根据权利要求9所述的一种安全隔离方法,其特征是,所述步骤S4中,解锁芯片功能IP核和功能逻辑单元的具体实现方法为:
利用第二公钥解密第二密钥,恢复出第三明文;
在判断第三明文和随机值相同时,输出功能解锁信号;
功能解锁信号触发写保护引脚电平状态改变,解除功能逻辑单元的写保护状态;
同时,功能解锁信号触发使能信号状态改变,使临时授权文件失效,解除对IP核的锁定。
17.根据权利要求16所述的一种安全隔离方法,其特征是,当临时授权文件失效后,通过加载正式授权文件激活IP核,使IP核处于可信状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011083593.4A CN112307438B (zh) | 2020-10-12 | 2020-10-12 | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011083593.4A CN112307438B (zh) | 2020-10-12 | 2020-10-12 | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307438A true CN112307438A (zh) | 2021-02-02 |
CN112307438B CN112307438B (zh) | 2022-06-17 |
Family
ID=74489809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011083593.4A Active CN112307438B (zh) | 2020-10-12 | 2020-10-12 | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307438B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106707139A (zh) * | 2017-01-03 | 2017-05-24 | 大唐微电子技术有限公司 | 一种扫描链测试装置及实现方法 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN110456260A (zh) * | 2019-07-01 | 2019-11-15 | 南京邮电大学 | 一种密钥隔离安全扫描链电路 |
-
2020
- 2020-10-12 CN CN202011083593.4A patent/CN112307438B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106707139A (zh) * | 2017-01-03 | 2017-05-24 | 大唐微电子技术有限公司 | 一种扫描链测试装置及实现方法 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN110456260A (zh) * | 2019-07-01 | 2019-11-15 | 南京邮电大学 | 一种密钥隔离安全扫描链电路 |
Also Published As
Publication number | Publication date |
---|---|
CN112307438B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Trimberger et al. | FPGA security: Motivations, features, and applications | |
CN102301375B (zh) | 用于市场返修的认证调试访问 | |
US9887844B2 (en) | Method for safeguarding a system-on-a-chip | |
US9729322B2 (en) | Method and system for smart card chip personalization | |
Pierce et al. | Enhanced secure architecture for joint action test group systems | |
Hu | Solving today’s design security concerns | |
US11416639B2 (en) | PQA unlock | |
CN112307438B (zh) | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 | |
JP7472194B2 (ja) | 秘密データの多段階のプロビジョニング | |
US11899827B2 (en) | Establishing trust in untrusted IC testing and provisioning environment | |
CN101799789A (zh) | 芯片及其存储器数据保护装置与其保护方法 | |
US11480613B2 (en) | Method and/or system for testing devices in non-secured environment | |
Peterson | Developing tamper-resistant designs with ultrascale and ultrascale+ FPGAs | |
Di Natale et al. | Manufacturing testing and security countermeasures | |
US20200401690A1 (en) | Techniques for authenticating and sanitizing semiconductor devices | |
US11954201B2 (en) | Framework for obfuscation based watermarking | |
TWI744892B (zh) | 電子系統及電子系統的操作方法 | |
Calzada et al. | HI-SST: Safeguarding SiP Authenticity Through Secure Split-Test in Heterogeneous Integration | |
Danger | Overview of Protections against IC Counterfeiting and Hardware Trojan Horses | |
GB2605168A (en) | An integrated circuit having a secure area | |
CN118733469A (zh) | SoC调试方法、SoC、服务器和调试系统 | |
CN102236754A (zh) | 数据保密方法以及使用此数据保密方法的电子装置 | |
Threats | Hardware Metering | |
Tehranipoor | Hardware Metering |
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 |