CN111130754B - 一种扫描链的加密解密电路及集成电路 - Google Patents
一种扫描链的加密解密电路及集成电路 Download PDFInfo
- Publication number
- CN111130754B CN111130754B CN201911295859.9A CN201911295859A CN111130754B CN 111130754 B CN111130754 B CN 111130754B CN 201911295859 A CN201911295859 A CN 201911295859A CN 111130754 B CN111130754 B CN 111130754B
- Authority
- CN
- China
- Prior art keywords
- circuit
- signal
- lock signal
- selector
- shift register
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明公开了一种扫描链的加密解密电路及集成电路。加密解密电路包括:认证使能电路、锁信号处理电路、反熔丝一次可编程存储器以及链式反馈移位寄存器电路;认证使能电路用于在第一次检测到扫描触发器的模式选择信号为扫描移位模式对应的状态时输出认证使能信号;锁信号处理电路用于从反熔丝一次可编程存储器中获取锁信号;在认证使能信号有效时将锁信号发送至链式反馈移位寄存器电路,由链式反馈移位寄存器电路对锁信号和密钥进行匹配处理;在认证使能信号失效后将移位的锁信号发送至链式反馈移位寄存器电路,由链式反馈移位寄存器电路根据匹配结果对扫描链进行加密处理或解密处理。本发明可以提高加密解密电路的密钥被破解的难度。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种扫描链的加密解密电路及集成电路。
背景技术
在集成电路技术领域中,为了提高集成电路的可控制性和可观察性,通常会对集成电路进行扫描测试。对集成电路进行扫描测试,需要将集成电路中的普通触发器替换成扫描触发器;然后,将扫描触发器串行连接;具体的,在先的扫描触发器的输出端连接在后的扫描触发器的输入端,这样,便构成了集成电路的扫描链。其中,扫描触发器与普通触发器的区别在于,扫描触发器具有可以选择工作模式的扫描使能端口。这样,通过变换扫描使能端口的电平,可以控制扫描链中的扫描触发器在正常的功能采样模式和扫描移位模式之间切换,即可以控制扫描链在功能采样模式和扫描移位模式之间切换。从而达到对集成电路进行扫描测试的目的。然而,在集成电路中添加了扫描链后,通过分析扫描链输出的数据可以推测集成电路内部敏感的数据或电路结构,从而造成泄密;或者,通过向扫描链输入非正常的测试信号,可以使集成电路的工作状态产生异常。因此,需要为扫描链设置加密解密电路,以确保集成电路在扫描测试阶段的安全性。
相关技术中,扫描链的加密解密电路包括:移位寄存器;该移位寄存器,用于接收用户输入的密钥,将该密钥进行移位,并将移位产生的信号分别输出给扫描链中的各个扫描触发器的扫描使能端,以使各个扫描触发器均工作在扫描移位模式。当密钥不正确时,将移位产生的信号输出给扫描链中的各个扫描触发器的扫描使能端口后,扫描链中的各个扫描触发器,有些处于扫描移位模式,有些则处于功能采样模式。这样,扫描链无法正常工作,便可以防止上述的异常情况产生。
然而,由于移位寄存器中的触发器的数量限制了密钥的位数,因此,现有的加密解密电路的密钥被破解的难度较低,从而难以确保集成电路在扫描测试阶段的安全性。
发明内容
为了解决现有技术中存在的上述问题,本发明实施例提供了一种扫描链的加密解密电路及集成电路。
本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明实施例提供了一种扫描链的加密解密电路,该加密解密电路应用于集成电路中,该加密解密电路包括:
认证使能电路、锁信号处理电路、反熔丝一次可编程存储器以及链式反馈移位寄存器电路;
其中,所述认证使能电路,用于在所述集成电路上电或复位后,当第一次检测到所述集成电路中的扫描触发器的模式选择信号为扫描移位模式对应的状态时,输出在预设时长内有效的认证使能信号;
所述锁信号处理电路,用于在所述集成电路上电或复位时,从所述反熔丝一次可编程存储器中,获取预先存储的锁信号;还用于在所述认证使能信号有效时,将所述锁信号发送至所述链式反馈移位寄存器电路;以及在所述认证使能信号失效后,对所述锁信号进行移位处理,得到移位锁信号,并将所述移位锁信号发送至所述链式反馈移位寄存器电路;
所述链式反馈移位寄存器电路,用于在所述认证使能信号有效时,接收所述锁信号和用户输入的密钥,并对所述密钥和所述锁信号进行匹配处理,得到匹配结果;以及在所述认证使能信号失效后,响应于所述匹配结果为匹配,对所述扫描链进行解密处理,或者,响应于所述匹配结果为不匹配,对所述匹配结果进行移位处理,并根据移位处理后的匹配结果对所述扫描链进行加密处理。
在本发明的一个实施例中,所述链式反馈移位寄存器电路在所述认证使能信号失效后,具体用于:
响应于所述匹配结果为匹配,将所述匹配结果作为解密信号输出给所述扫描链中的各个扫描触发器的扫描使能端;
或者,响应于所述匹配结果为不匹配,将移位处理后的匹配结果作为加密信号输出给所述扫描链中的各个扫描触发器的扫描使能端。
在本发明的一个实施例中,所述加密解密电路还包括:锁信号生成电路;
所述锁信号生成电路,用于在所述集成电路提供的激活信号有效时,根据自身包含的两个可配置环形振荡器之间,因工艺偏差所导致的振荡频率的差异,生成所述锁信号,并将所述锁信号发送至所述链式反馈移位寄存器电路;
所述链式反馈移位寄存器电路,还用于在所述激活信号有效时,接收所述锁信号并将所述锁信号写入所述反熔丝一次可编程存储器中;
其中,所述激活信号,为触发所述锁信号生成电路工作的使能信号,且当所述锁信号被写入所述反熔丝一次可编程存储器后,所述激活信号被设置为无效。
在本发明的一个实施例中,所述锁信号生成电路,包括:结构相同的两个可配置环形振荡器、线性反馈移位寄存器、两个计数器、比较器、以及控制电路;
其中,所述两个可配置环形振荡器的各个配置端,与所述线性反馈移位寄存器的各个输出端一一对应连接;所述两个可配置环形振荡器各自的输出端,分别与所述两个计数器的输入端相连;
所述两个计数器的输出端分别与所述比较器的两个输入端相连;
所述比较器的输出端,输出所述锁信号;
所述控制电路,分别与每个可配置环形振荡器、每个计数器、所述线性反馈移位寄存器以及所述比较器相连,用于分别为每个可配置环形振荡器、每个计数器、所述线性反馈移位寄存器以及所述比较器提供工作所需的工作使能信号。
在本发明的一个实施例中,每个可配置环形振荡器均由一个第一与非门以及多个延迟单元串行连接而成;
其中,最后一个串行连接的延迟单元的输出端与所述第一与非门的一个输入端相连,构成该可配置环形振荡器的振荡环路;所述第一与非门的另一个输入端,连接所述工作使能信号;每个延迟单元的选择端构成该可配置环形振荡器的一个配置端;所述最后一个串行连接的延迟单元的输出端,构成该可配置环形振荡器的输出端。
在本发明的一个实施例中,每个延迟单元均包括两个并联的非门以及一个第一选择器;
其中,所述两个并联的非门的输入端相连,构成该延迟单元的输入端,所述两个并联的非门的输出端,分别与所述第一选择器的两个输入端相连;所述第一选择器的选择端,构成该延迟单元的选择端;所述第一选择器的输出端,构成该延迟单元的输出端。
在本发明的一个实施例中,所述链式反馈移位寄存器电路,包括:
第二选择器、第三选择器、第四选择器、移位寄存器、状态寄存器、异或门、第二与非门、或门、多个第一与门以及一个第二与门;所述移位寄存器包括多个串行连接的触发器,每个触发器均具有第一输出端以及与所述第一输出端所输出信号的电平相反的第二输出端;所述移位寄存器中的每个触发器,均为上升沿触发的触发器;所述状态寄存器为下降沿触发的寄存器;
其中,所述第二选择器的一个输入端,用于接收所述密钥,另一个输入端连接所述移位寄存器中的最后一个串行连接的触发器的第一输出端;所述第二选择器的选择端,连接所述认证使能信号;所述第二选择器的输出端,连接所述异或门的一个输入端;
所述异或门的另一个输入端,用于在所述认证使能信号有效时接收所述锁信号处理电路发来的锁信号,或者,用于在所述认证使能信号失效时接收所述锁信号处理电路发来的移位锁信号;所述异或门的输出端,连接所述第三选择器的一个输入端;
所述第三选择器的另一个输入端,用于在所述激活信号有效时接收所述锁信号生成电路发来的锁信号;所述第三选择器的选择端,连接所述激活信号;所述第三选择器的输出端,连接所述移位寄存器中第一个串行连接的触发器的输入端;
所述移位寄存器中,在先的触发器的第一输出端,连接在后的触发器的输入端;所述移位寄存器中的多个触发器与所述多个第一与门一一对应,并与所述扫描链中的多个扫描触发器一一对应;每个触发器的目标输出端,通过一个第一与门与一个扫描触发器的扫描使能端口相连,且所有目标输出端通过所述第二与非门与所述状态寄存器的输入端相连;每个触发器的目标输出端还分别连接反熔丝一次可编程存储器的一个输入端;其中,每个触发器的目标输出端为该触发器的第一输出端或第二输出端;
所述状态寄存器的触发端,与所述认证使能信号相连;所述状态寄存器的输出端,连接所述或门的一个输入端;
所述或门的另一个输入端,连接所述认证使能信号;所述或门的输出端,连接所述第二与门的一个输入端;
所述第二与门的另一个输入端,连接所述集成电路提供的时钟信号,所述第二与门的输出端,连接所述第四选择器的一个输入端;
所述第四选择器的另一个输入端,连接所述控制电路输出的工作使能信号;所述第四选择器的选择端,连接所述激活信号;所述第四选择器的输出端,分别与所述移位寄存器中的每个触发器的触发端相连。
在本发明的一个实施例中,所述锁信号处理电路,包括:第一处理链路、第二处理链路以及第五选择器;
其中,所述第一处理链路和所述第二处理链路,均由多个移位单元串行连接而成,每个移位单元均具有两个输入端、一个选择端、一个移位触发端以及一个输出端;
所述第一处理链路中,每个移位单元的一个输入端,均连接所述反熔丝一次可编程存储器中对应的一个输出端;第一个串行连接的移位单元的另一个输入端接地,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端,连接在先的移位单元的输出端;
所述第二处理链路中,每个移位单元的一个输入端,均连接所述反熔丝一次可编程存储器中对应的一个输出端;第一个串行连接的移位单元的另一个输入端连接最后一个串行连接的移位单元的输出端,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端,连接在先的移位单元的输出端;
所述第一处理链路的和所述第二处理链路中,所有移位单元的移位触发端,均连接所述集成电路提供的时钟信号;
所述第一处理链路的和所述第二处理链路中,所有移位单元的选择端,均连接所述集成电路提供的读片使能信号;所述读片使能信号,为所述集成电路提供的从所述反熔丝一次可编程存储器中读取所述锁信号的使能信号;
所述第一处理链路和所述第二处理链路各自的输出端,分别连接所述第五选择器的两个输入端;
所述第五选择器的选择端,连接所述认证使能信号,所述第五选择器的输出端,输出所述锁信号或所述移位锁信号;其中,所述锁信号为所述第一处理链路输出的,所述移位锁信号为所述第二处理链路输出的。
在本发明的一个实施例中,每个移位单元均包括一个第六选择器以及一个第二触发器;
其中,所述第六选择器的两个输入端,构成该移位单元的两个输入端;所述第六选择器的选择端,构成该移位单元的选择端;所述第六选择器的输出端,连接所述第二触发器的输入端;
所述第二触发器的触发端,构成该移位单元的移位触发端;所述第二触发器的输出端,构成该移位单元的输出端。
第二方面,本发明实施例提供了一种集成电路,该集成电路包括功能电路以及上述任一所述的加密解密电路;所述加密解密电路,用于对所述功能电路中的扫描链进行加密或解密。
本发明的有益效果:
本发明实施例提供的扫描链的加密解密电路中,认证使能电路在集成电路上电或复位后,当第一次检测到所述集成电路中的扫描触发器的模式选择信号为扫描移位模式对应的状态时,输出在预设时长内有效的认证使能信号;锁信号处理电路在认证使能信号有效时,将从反熔丝一次可编程存储器中获取的锁信号发送至链式反馈移位寄存器电路;相应的,链式反馈移位寄存器电路接收锁信号和用户输入的密钥,并对密钥和锁信号进行匹配处理,得到匹配结果;在认证使能信号失效后,锁信号处理电路对所获取的锁信号进行移位处理,得到移位锁信号,并将移位锁信号发送至链式反馈移位寄存器电路;相应的,若匹配结果为不匹配,链式反馈移位寄存器电路便对匹配结果进行移位处理,并根据移位处理后的匹配结果对扫描链进行加密处理;而当匹配结果为匹配时,链式反馈移位寄存器电路对扫描链进行解密处理。由于匹配结果是对密钥和锁信号进行匹配处理产生的,综合了密钥和锁信号两方面的加密效果,因此,本方案根据移位处理后的匹配结果对扫描链进行加密处理,相较于现有技术中根据移位处理后的密钥对扫描链进行加密的方式,可以提升加密解密电路的密钥被破解的难度,从而可以更好的保证集成电路在扫描测试阶段的安全性。
并且,本发明实施例提供的加密解密电路可以抵御基于扫描链的多种类型的攻击,包括复位攻击。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种扫描链的加密解密电路的结构示意图;
图2是本发明实施例提供的另一种扫描链的加密解密电路的结构示意图;
图3是图2所示的加密解密电路中的锁信号生成电路的结构示意图;
图4是图3所示的锁信号生成电路中的可配置环形振荡器的结构示意图;
图5是图4所示的可配置环形振荡器中的延迟单元的结构示意图;
图6是图1和图2所示的加密解密电路中的链式反馈移位寄存器电路的结构示意图;
图7是图1和图2所示的加密解密电路中的锁信号处理电路的结构示意图;
图8是图7所示的锁信号处理电路中的移位单元的结构示意图;
图9是图1和图2所示的加密解密电路中的认证使能电路的结构示意图;
图10是本发明实施例提供的一种集成电路的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了提高加密解密电路的密钥被破解的难度,从而更好的保证集成电路在扫描测试阶段的安全性,本发明实施例提供了一种扫描链的加密解密电路。该加密解密电路应用于集成电路中,具体的,该加密解密电路为用于对集成电路中的扫描链进行加密或解密的电路。
其中,该集成电路中的扫描链由多个扫描触发器串行连接而成。这些扫描触发器可以有2种工作模式:功能采样模式以及扫描移位模式。在实际应用中,该集成电路中提供有扫描触发器的工作模式的模式选择信号,方便起见,后续使用SE表示该模式选择信号,SE为高电平的状态以及SE为低电平的状态分别对应扫描触发器的2种工作模式。例如,当SE=0,即SE为低电平时,扫描触发器工作在功能采样模式;当SE=1,即SE为高电平时,扫描触发器工作在扫描移位模式。可以理解的是,当集成电路正常工作时,扫描触发器是工作在功能采样模式下的;而当需要对集成电路进行扫描测试时,可以变换SE的电平,使得扫描触发器在功能采样模式和扫描移位模式间来回切换,达到对集成电路进行扫描测试的目的。其中,本发明实施例提供的加密解密电路,主要应用于对集成电路进行扫描测试时;并且,该加密解密电路对扫描链的加密解密作用主要在扫描触发器工作在扫描移位模式时生效。
如图1所示,本发明实施例提供的一种扫描链的加密解密电路,可以包括:
认证使能电路10、锁信号处理电路20、反熔丝一次可编程存储器30以及链式反馈移位寄存器电路40。
其中,认证使能电路10,用于在集成电路上电或复位后,第一次检测到集成电路中的扫描触发器的模式选择信号为扫描移位模式对应的状态时,输出在预设时长内有效的认证使能信号;
锁信号处理电路20,用于在集成电路上电或复位时,从反熔丝一次可编程存储器30中,获取预先存储的锁信号;还用于在认证使能信号有效时,将锁信号发送至链式反馈移位寄存器电路40;以及在认证使能信号失效后,对锁信号进行移位处理,得到移位锁信号,并将移位锁信号发送至链式反馈移位寄存器电路40;
链式反馈移位寄存器电路40,用于在认证使能信号有效时,接收锁信号和用户输入的密钥,并对密钥和锁信号进行匹配处理,得到匹配结果;以及在认证使能信号失效后,响应于匹配结果为匹配,对扫描链进行解密处理,或者,响应于匹配结果为不匹配,对匹配结果进行移位处理,并根据移位处理后的匹配结果对扫描链进行加密处理。
可以理解的是,反熔丝一次可编程存储器的特点在于,只接受一次编程;因此,该反熔丝一次可编程存储器30中所存储的锁信号,为对集成电路开始进行扫描测试之前,预先存入该反熔丝一次可编程存储器30中的。其中,该反熔丝一次可编程存储器30中的锁信号,可以是由该加密解密电路自身所生成的,也可以是预先利用其他软件或其他硬件所生成的,这都是合理的。
该加密解密电路中,当匹配结果为不匹配时,链式反馈移位寄存器电路40,根据移位处理后的匹配结果对扫描链进行加密处理的具体处理方式为:将移位处理后的匹配结果作为加密信号输出给扫描链中的各个扫描触发器的扫描使能端;可以理解的是,该加密信号,用于对扫描链中的各个扫描触发器的工作模式进行混淆。此时,扫描链中的各个扫描触发器,有的工作在功能采样模式,有的工作在扫描移位模式,故该扫描链无法正常工作,达到了被加密的效果。
另外,当匹配结果为匹配时,链式反馈移位寄存器电路40对扫描链进行解密处理的具体处理方式为:将匹配结果作为解密信号输出给扫描链中的各个扫描触发器的扫描使能端;可以理解的是,该解密信号,用于将扫描链中的各个扫描触发器设定在扫描移位模式。此时,该扫描链可以正常工作,进而可以利用该扫描链对集成电路开展扫描测试。
可以理解的是,由于认证使能电路10在集成电路上电或复位后,仅在第一次检测到集成电路中的扫描触发器的模式选择信号SE为扫描移位模式对应的状态时,才输出认证使能信号;因此,当用户输入的密钥被认证通过后,即当扫描链被解密后,在对集成电路开展扫描测试的过程中,即使SE在高低电平间来回切换,即扫描触发器的工作模式在扫描移位模式和功能采样模式之间来回切换,也不会触发认证使能电路10输出认证使能信号开展新的认证过程。
本发明实施例提供的扫描链的加密解密电路中,认证使能电路在集成电路上电或复位后,在第一次检测到集成电路中的扫描触发器的模式选择信号SE为扫描移位模式对应的状态时,输出在预设时长内有效的认证使能信号;锁信号处理电路在认证使能信号有效时,将从反熔丝一次可编程存储器中获取的锁信号发送至链式反馈移位寄存器电路;相应的,链式反馈移位寄存器电路接收锁信号和用户输入的密钥,并对密钥和锁信号进行匹配处理,得到匹配结果;在认证使能信号失效后,锁信号处理电路对所获取的锁信号进行移位处理,得到移位锁信号,并将移位锁信号发送至链式反馈移位寄存器电路;相应的,若匹配结果为不匹配,链式反馈移位寄存器电路便对锁信号进行移位处理,并根据移位处理后的匹配结果对扫描链进行加密处理;而当匹配结果为匹配时,链式反馈移位寄存器电路对扫描链进行解密处理。由于匹配结果是对密钥和锁信号进行匹配处理产生的,综合了密钥和锁信号两方面的加密效果,因此,本方案根据移位处理后的匹配结果对扫描链进行加密处理,相较于现有技术中根据移位处理后的密钥对扫描链进行加密的方式,可以提升加密解密电路的密钥被破解的难度,从而可以更好的保证集成电路在扫描测试阶段的安全性。
并且,本发明实施例提供的加密解密电路可以抵御基于扫描链的多种类型的攻击,包括复位攻击。
为了进一步提高加密解密电路的密钥被破解的难度,如图2所示,本发明实施例提供的扫描链的加密解密电路,还可以包括:锁信号生成电路50。此时,集成电路提供有激活信号;该激活信号,为触发锁信号生成电路50工作的使能信号,且当锁信号被写入反熔丝一次可编程存储器后,该激活信号被设置为无效。
其中,该锁信号生成电路50,用于在激活信号有效时,根据自身包含的两个可配置环形振荡器之间,因工艺偏差所导致的振荡频率的差异生成锁信号,并将锁信号发送至链式反馈移位寄存器电路40;
相应的,链式反馈移位寄存器电路40,还用于在激活信号有效时,接收锁信号并将锁信号写入反熔丝一次可编程存储器30中;
可以理解的是,该实施例中,反熔丝一次可编程存储器30中所预先存入的锁信号为加密解密电路自身包含的锁信号生成电路50所生成的。并且,在激活信号被设置为无效后,该锁信号生成电路便不会再被启用,故反熔丝一次可编程存储器30中的锁信号无法被改写。在实际应用中,可以指定集成电路的一个管脚作为承载激活信号的管脚。这样,当链式反馈移位寄存器电路40将锁信号写入反熔丝一次可编程存储器30后,可以将该管脚熔断,从而节省锁信号生成电路50所耗费的部分功耗。
可以理解的是,从锁信号生成电路50生成锁信号,直至链式反馈移位寄存器电路40将锁信号写入反熔丝一次可编程存储器30的过程,发生于对集成电路开展扫描测试之前。为了便于理解,可以将该过程理解为对集成电路进行激活的过程;当集成电路被激活后,可以构建与锁信号对应的密钥,该密钥最终将被交付给集成电路的授权用户。这样,授权用户使用该密钥,便可以进一步对集成电路开展扫描测试。
为了方案清楚及布局清晰,下面对锁信号生成电路的电路结构进行说明。如图3所示,锁信号生成电路可以包括:
结构相同的两个可配置环形振荡器501、线性反馈移位寄存器502、两个计数器503、比较器504、以及控制电路505;
其中,两个可配置环形振荡器501的各个配置端,与线性反馈移位寄存器502的各个输出端一一对应连接;两个可配置环形振荡器501各自的输出端,分别与两个计数器503的输入端相连;
两个计数器503的输出端分别与比较器504的两个输入端相连;
比较器504的输出端,输出锁信号;
控制电路505,分别与每个可配置环形振荡器501、线性反馈移位寄存器502、每个计数器503以及比较器504相连,用于分别为每个可配置环形振荡器501、线性反馈移位寄存器502、每个计数器503以及比较器504提供工作所需的工作使能信号。其中,该工作使能信号,对于可配置环形振荡器501、计数器503以及比较器504来说,是这三种器件工作所需的使能信号;对于线性反馈移位寄存器502来说,该使能信号具体可以对线性反馈移位寄存器502的时钟起到门控的作用。
可以理解的是,即使两个可配置环形振荡器的结构相同,但由于制造工艺的偏差,使得这两个可配置环形振荡器所产生的振荡频率存在差异,这样,在相同时间内,这两个可配置环形振荡器的振荡次数便存在差异;使用两个计数器503分别对两个可配置环形振荡器501的振荡次数进行统计,并由比较器对两个计数器503的统计结果进行比较,可以生成与锁信号生成电路对应的锁信号,该锁信号类似于集成电路的“指纹”;这样,即使某个集成电路的密钥被破解,破解后的密钥也无法应用于其他集成电路中。
在控制电路505中,可以包含一个时钟产生单元、一个定时器以及一个响应个数计数器;定时器根据时钟产生单元产生的时钟实现计时;每计时完成一次,比较器输出1比特的信号,响应个数计数器的计数加1,线性反馈移位寄存器502的寄存器值变化一次,如此反复计时多次,直到生成多个比特,得到最终的锁信号。其中,锁信号的比特位数,可以由控制电路中的响应个数计数器的计数位数来控制。
另外,控制电路505还可以连接激活信号,从而在激活信号有效时,向每个可配置环形振荡器501、线性反馈移位寄存器502、每个计数器503以及比较器504提供工作所需的工作使能信号。
在锁信号生成电路中,如图4所示,每个可配置环形振荡器501均由一个第一与非门5011以及多个延迟单元5012串行连接而成;最后一个串行连接的延迟单元5012的输出端与第一与非门5011的一个输入端相连,构成可配置环形振荡器501的振荡环路;第一与非门5011的另一个输入端,连接控制电路505发来的工作使能信号;每个延迟单元的选择端构成可配置环形振荡器501的一个配置端;最后一个串行连接的延迟单元5012的输出端,构成可配置环形振荡器501的输出端。
在实际应用中,每个可配置环形振荡器中的延迟单元的数量,等于密钥的位数取2的对数。
其中,如图5所示,每个延迟单元5012均包括两个并联的非门A以及一个第一选择器B;可以看到,两个并联的非门A的输入端相连,构成该延迟单元5012的输入端,两个并联的非门A的输出端,分别与第一选择器B的两个输入端相连;第一选择器B的选择端,构成该延迟单元5012的选择端;第一选择器B的输出端,构成该延迟单元5012的输出端。其中,第一选择器B具体为二选一选择器。
然后,对本发明实施例提供的链式反馈移位寄存器电路的电路结构进行说明。如图6所示,链式反馈移位寄存器电路可以包括:
第二选择器601、第三选择器602、第四选择器603、移位寄存器、状态寄存器605、异或门606、第二与非门607、或门608、多个第一与门609、以及一个第二与门610;该移位寄存器包括多个串行连接的触发器604,每个触发器604均具有第一输出端Q以及与第一输出端所输出信号的电平相反的第二输出端QN;这里,第一输出端Q输出的信号与触发器604的输入端D所输入的信号相同,第二输出端QN端输出的信号则与触发器604的输入端D所输入的信号相异。另外,该移位寄存器中的每个触发器604,均为上升沿触发的触发器;
其中,第二选择器601的一个输入端,用于接收用户输入的密钥,该密钥使用IN进行表示,另一个输入端连接移位寄存器中的最后一个串行连接的触发器的第一输出端Q;第二选择器601的选择端,连接认证使能信号,该认证使能信号用LOAD进行表示;第二选择器601的输出端,连接异或门606的一个输入端;
异或门606的另一个输入端,用于在认证使能信号有效时接收锁信号处理电路发来的锁信号,或者,用于在认证使能信号失效时接收锁信号处理电路发来的移位锁信号;图6中,锁信号处理电路发来的锁信号或移位锁信号,均使用P2S_OUT进行表示;异或门606的输出端,连接第三选择器602的一个输入端;
第三选择器602的另一个输入端,用于在激活信号有效时接收锁信号生成电路发来的锁信号,这里,锁信号生成电路发来的锁信号使用PUF_BIT进行表示;第三选择器602的选择端,连接激活信号,该激活信号使用TRIG进行表示;第三选择器602的输出端,连接移位寄存器中的第一个串行连接的触发器的输入端D。需要强调的是,本发明实施例中,由锁信号生成电路所生成的锁信号使用PUF_BIT进行表示,而由锁信号处理电路所输出的锁信号或移位锁信号使用P2S_OUT进行表示。
在移位寄存器中所串行连接的各个触发器中,,在先的触发器的第一输出端Q,连接在后的触发器604的输入端D;移位寄存器中的多个触发器与多个第一与门609一一对应,且这些触发器与扫描链中的多个扫描触发器一一对应;每个触发器604的目标输出端,通过一个第一与门609与一个扫描触发器的扫描使能端口相连,且所有目标输出端通过第二与非门607与状态寄存器605的输入端D相连;此外,每个触发器的目标输出端还分别连接反熔丝一次可编程存储器的一个输入管脚;其中,每个触发器604的目标输出端为该触发器的第一输出端Q或第二输出端QN;
状态寄存器605的触发端,与认证使能信号LOAD相连;状态寄存器605的输出端Q,连接或门608的一个输入端;并且,从图6中可以看到,该状态寄存器605为下降沿触发的寄存器;
或门608的另一个输入端,连接认证使能信号LOAD;或门608的输出端,连接第二与门610的一个输入端;
第二与门610的另一个输入端,连接集成电路提供的时钟信号,该时钟信号用SCAN_CLK进行表示;第二与门610的输出端,连接第四选择器603的一个输入端;
第四选择器603的另一个输入端,连接控制电路输出的工作使能信号,该工作使能信号用EN进行表示;第四选择器603的选择端,同样连接激活信号TRIG;第四选择器603的输出端,分别与移位寄存器中的每个触发器的触发端相连。
其中,第二选择器、第三选择器以及第四选择器均为二选一选择器;移位寄存器所包含触发器的个数,可以与密钥的位数相等。
为了方案清楚,下面对本发明实施例提供的链式反馈移位寄存器电路的工作原理进行示例性的说明。
示例1,在激活集成电路的阶段中,SE=0,TRIG=1;可以理解的是,0代表低电平,1代表高电平;当SE=0时,每个第一与门609的输出均为0,故扫描链中,与每个第一与门609相连的扫描触发器均工作在功能采样模式而非扫描移位模式;此时,该加密解密电路对于扫描链来说是不作用的。而在该加密解密电路内部,由于TRIG=1,处于有效状态,故锁信号生成电路开始工作,生成锁信号PUF_BIT,并将PUF_BIT发送至第三选择器602的输入端;此时,第三选择器602的选择端连接的TRIG等于1,故第三选择器602将PUF_BIT传送至后面连接的移位寄存器中,由移位寄存器将PUF_BIT写入到反熔丝一次可编程存储器中。然后,将集成电路中,承载TRIG的管脚熔断,TRIG变为0;自此,该锁信号生成电路将不再被启用。
可以理解的是,在激活集成电路的阶段中,IN、LOAD和P2S_OUT上的电平的高低可以是任意的,均不影响移位寄存器的输出。
示例2,集成电路正常工作,SE=0,TRIG=0;此时,由于每个第一与门609均输出0,故扫描链中与每个第一与门609相连的扫描触发器均工作在功能采样模式下,此时,该加密解密电路对于扫描链来说是不作用的。
示例3,对集成电路开展扫描测试,SE在0和1之间来回切换,TRIG=0;可以理解的是,当集成电路掉电时,SE是等于0的;当集成电路上电或复位时,SE从无电的状态0向0/1来回切换的状态转换;此时,当认证使能电路第一次检测到SE从0变为1时,输出在预设时长内有效的认证使能信号LOAD;而锁信号处理电路则在集成电路上电或复位时便从反熔丝一次可编程存储器中获取锁信号;当LOAD=1时,即LOAD为有效状态时,锁信号处理电路将锁信号P2S_OUT发给异或门606;同时,第二选择器601将接收的密钥IN输出给异或门606;异或门606将接收的密钥IN与接收的锁信号P2S_OUT进行异或运算,得到异或运算结果;并将异或运算结果输出给第三选择器602;第三选择器602将异或运算结果传送至后面连接的移位寄存器中,从而使移位寄存器输出密钥IN和锁信号P2S_OUT的匹配结果;
其中,移位寄存器输出的匹配结果为匹配时,该匹配结果具体为移位寄存器中的各个触发器604的目标输出端输出全1信号,这便代表用户输入的密钥认证成功;此时,第二与非门607发送到状态寄存器605中的数据为0;当LOAD有效的时间截止,LOAD从1变为0,形成下降沿触发状态寄存器605将0发送至或门608与LOAD进行或运算,由或门608输出0;相应的,第二与门610的与运算结果为0,即第四选择器603的0输入端接收的信号为0;由于第四选择器603的选择端连接TRIG,故第四选择器603将0输出给移位寄存器中的各个触发器604的触发端;由于这些触发器604均为上升沿触发,此时没有上升沿,故此时移位寄存器不移位,保持原有的输出结果,即保持输出全1信号。在此之后,即使SE在0和1之间来回切换,认证使能电路不会输出有效的认证使能信号,即LOAD始终等于0;由于,LOAD始终等于0,没有下降沿信号触发状态寄存器605,故状态寄存器605始终输出0,相应的,移位寄存器始终输出全1信号;这样,当SE切换到1时,各个第一与门609对SE和1的与运算结果为1,扫描链中的各个扫描触发器便工作在扫描移位模式;当SE切换到0时,各个第一与门609对SE和1的与运算结果为0,扫描链中的各个扫描触发器便工作在功能采样模式。
可以理解的是,密钥和锁信号均与移位寄存器中的各个触发器604的目标输出端具体为第一输出端Q或第二输出QN的状态是相关的。其中,锁信号本身便是从移位寄存器中的各个触发器604的目标输出端中生成并写入到反熔丝一次可编程存储器中的;相应的,密钥也是根据锁信号以及移位寄存器总的各个触发器604的目标输出端具体为第一输出端Q或第二输出QN的状态而相应构建的。
另外,当匹配结果为不匹配时,移位寄存器所输出的信号不全为1,包含有0,第二与非门607发送到状态寄存器605中的数据为1;当LOAD有效的时间截止,即LOAD从1切换到0时,形成下降沿触发状态寄存器605将1发送至或门608,与LOAD进行或运算,或门608输出1;此时,第二与门610将接收的1与集成电路提供的时钟信号SCAN_CLK进行与运算,并将与运算结果通过第四选择器603输出给移位寄存器中的各个触发器604的触发端;由于SCAN_CLK的高低电平是周期变换的,故各个触发器604的触发端便被该时钟信号SCAN_CLK所控制,从而对匹配结果进行周期性的移位;这样,移位寄存器所输出的信号的高低电平不等;相应的,各个第一与门609对SE和这些电平的与运算结果也是不等的;这样,扫描链中的各个扫描触发器,有的工作在扫描移位模式,有的则工作在功能采样模式;此时,扫描链无法正常工作,达到了被加密的效果。
然后,对本发明实施例提供的锁信号处理电路的电路结构进行说明。如图7所示,该锁信号处理电路,可以包括:第五选择器701、第一处理链路、以及第二处理链路;其中,第一处理链路和第二处理链路,均由多个移位单元702串行连接构成,每个移位单元702均具有0和1两个输入端、一个选择端S、一个移位触发端E以及一个输出端Q;
在第一处理链路中,每个寄存器移位单702元的一个输入端1,均连接反熔丝一次可编程存储器中对应的一个输出端;图7中,使用多个OTP分别表示反熔丝一次可编程存储器中的各个输出端,包括:OTP1、OTP2,以及OTPn等,n等于密钥的位数;第一个串行连接的移位单元的另一个输入端0接地,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端0,连接在先的移位单元的输出端Q;
在第二处理链路中,每个移位单元702的一个输入端1,均连接反熔丝一次可编程存储器中对应的一个输出端,第一个串行连接的移位单元的另一个输入端0连接最后一个串行连接的移位单元的输出端Q,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端0,连接在先的移位单元的输出端Q。从图7可见,第一处理链路中和第二处理链路中,串行连接的位置相同的移位单元所对应连接的反熔丝一次可编程存储器中的输出端为同一个输出端。
在第一处理链路的和第二处理链路中,所有移位单元702的移位触发端E,均连接集成电路提供的时钟信号SCAN_CLK;
在第一处理链路的和第二处理链路中,所有移位单元702的选择端S,均连接集成电路提供的读片使能信号,图7中,该读片使能信号使用R进行表示;该读片使能信号R,为从反熔丝一次可编程存储器中读取锁信号的使能信号;在实际应用中,该读片使能信号,可以与集成电路的复位信号的电平相反。
第一处理链路和第二处理链路各自的输出端,分别连接第五选择器701的两个输入端;
第五选择器701的选择端,连接认证使能信号LOAD,第五选择器的输出端,输出锁信号或移位锁信号;其中,锁信号为第一处理链路发给第五选择器701的,移位锁信号为第二处理链路发给第五选择器701的。
该锁信号处理电路中,如图8所示,每个移位单元702均包括一个第六选择器7021以及一个第二触发器7022;
其中,第六选择器7021的两个输入端,构成移位单元的两个输入端;第六选择器的选择端,构成该移位单元的选择端S;第六选择器的输出端,连接第二触发器7022的输入端D;
第二触发器7022的使能端,构成移位单元的移位触发端E;第二触发器7022的输出端Q,构成该移位单元的输出端Q。
可以理解的是,当集成电路上电或复位时,第一处理链路和第二处理链路中的各个移位单元,分别从反熔丝一次可编程存储器中获取锁信号;并且,时钟信号SCAN_CLK控制第一处理链路和第二处理链路中的各个移位单元进行移位;其中,第一处理链路将锁信号逐位输出给第五选择器701,而第二处理链路在将锁信号进行移位的过程中,还将自身包含的最后一个串行连接的移位单元输出的数据返回至第一个串行连接的移位单元的输入,使得最后一个串行连接的移位单元输出移位锁信号;举例而言,假设锁信号为0001,那么第二处理链路所输出的移位锁信号可能是0010,也可能是0100,或1000。然后,第五选择器701根据认证使能信号LOAD有效与否,选择第一处理链路中输出的锁信号进行输出,或选择第二处理链路中输出的移位锁信号进行输出。
然后,对本发明实施例提供的加密解密电路中所使用的认证使能电路的电路结构进行说明。如图9所示,该认证使能电路包括:与门901、与门902、与门903、或门904、或非门905、或门906、非门907、2位计数器908以及q位计数器909;2的q次方等于n,n等于密钥的位数。
由于该认证使能电路的电路结构非本发明实施例的发明点,故为了使本发明实施例提供的整个加密解密电路的方案清楚,对该认证使能电路的工作原理进行简要的说明。
其中,当集成电路在上电或复位时,复位信号RSTN=0;与门901以及与门903的输出均为0;此时,2位计数器908和q位计数器909的清零端/CLR均接低电平,故2位计数器908的两个输出端MSB和LSB均等于0,且q位计数器的各个输出端MSB-LSB也均等于0;此时,或门904的输出为0,即LOAD=0,认证使能信号为失效状态。
在集成电路上电或复位之后,复位信号RSTN从0转变为1;在此之后,认证使能电路的工作情况可以分2种。
第一种情况,SE=0;此时,由于与门901的两个输入端中,一个输入端接复位信号RSTN,另一个接LOAD的取非信号,两个输入端均等于1,故与门901输出等于1;此时,2位计数器的清零功能失效,开始从0开始计数;可以理解的是,2位计数器开始计数时,由于2位计数器的两个输出端MSB和MLB原本输出的就是0,在LSB取非后,与门902的输入为0和1,故与门902输出为0;此时,或门906的两个输入端,一个为与门902输出的0,另一个为SE,而SE=0,故或门906的输出为0;由于2位计数器的使能端/EN是低电平有效,故2位计数器的计数功能是生效的;并且,在2位计数器计数从“00”计数到“10”的整个过程中,与门902的输出均为0,或门906输出给2位计数器的使能端/EN的都是0,2位计数器的计数功能均是生效的;直至2位计数器计数到10时,与门902输出为1,相应的,或门906的输出为1,2位计数器停止计数;
然而,由于SE=0,即与门903的一个输入为0,故与门903的输出为0;此时,q位计数器仍然工作在清零状态,故或门904的输出的LOAD等于0,LOAD处于失效状态;
第二种情况,SE=1;与门901的两个输入端中,一个输入端接复位信号RSTN,另一个输入端接LOAD的取非信号,两个输入端均等于1,故与门901输出等于1,2位计数器开始计数;当2位计数器计数到10时,与门902输出为1,相应的,或门906的输出为1,2位计数器停止计数;此时,或非门905输出为0,q位计数器的使能端/EN变为有效;同时,由于与门903的两个输入端,一个接SE,一个接RSTN,两个输入端的输入信号均为1,q位计数器的清零功能失效,开始计数;在q位计数器计数完成之前,由于q位计数器的各个输出端输出的信号中总是有1的,故或门904的输出均为1,即LOAD在q位计数器计数的过程中均等于1,一直处于有效状态;当q位计数器计数完成后,输出全0,或门904输出为0,LOAD等于0,变为失效状态。
本发明实施例还提供了一种集成电路,如图10所示,该集成电路包括功能电路1001,以及上述的任一种加密解密电路1002;该加密解密电路1002,用于对该功能电路1001中的扫描链进行加密或解密。
可以理解的是,该功能电路为集成电路中,用于实现预定功能的电路;该功能电路中的触发器为扫描触发器,这些扫描触发器串行连接在一起,构成该集成电路中的扫描链。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的器件的数量。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种扫描链的加密解密电路,其特征在于,应用于集成电路,所述加密解密电路包括:
认证使能电路、锁信号处理电路、反熔丝一次可编程存储器以及链式反馈移位寄存器电路;
其中,所述认证使能电路,用于在所述集成电路上电或复位后,当第一次检测到所述集成电路中的扫描触发器的模式选择信号为扫描移位模式对应的状态时,输出在预设时长内有效的认证使能信号;
所述锁信号处理电路,用于在所述集成电路上电或复位时,从所述反熔丝一次可编程存储器中,获取预先存储的锁信号;还用于在所述认证使能信号有效时,将所述锁信号发送至所述链式反馈移位寄存器电路;以及在所述认证使能信号失效后,对所述锁信号进行移位处理,得到移位锁信号,并将所述移位锁信号发送至所述链式反馈移位寄存器电路;
所述链式反馈移位寄存器电路,用于在所述认证使能信号有效时,接收所述锁信号和用户输入的密钥,并对所述密钥和所述锁信号进行匹配处理,得到匹配结果;以及在所述认证使能信号失效后,响应于所述匹配结果为匹配,对所述扫描链进行解密处理,或者,响应于所述匹配结果为不匹配,对所述匹配结果进行移位处理,并根据移位处理后的匹配结果对所述扫描链进行加密处理。
2.根据权利要求1所述的加密解密电路,其特征在于,所述链式反馈移位寄存器电路在所述认证使能信号失效后,具体用于:
响应于所述匹配结果为匹配,将所述匹配结果作为解密信号输出给所述扫描链中的各个扫描触发器的扫描使能端;
或者,响应于所述匹配结果为不匹配,将移位处理后的匹配结果作为加密信号输出给所述扫描链中的各个扫描触发器的扫描使能端。
3.根据权利要求1所述的加密解密电路,其特征在于,所述加密解密电路还包括:锁信号生成电路;
所述锁信号生成电路,用于在所述集成电路提供的激活信号有效时,根据自身包含的两个可配置环形振荡器之间,因工艺偏差所导致的振荡频率的差异,生成所述锁信号,并将所述锁信号发送至所述链式反馈移位寄存器电路;
所述链式反馈移位寄存器电路,还用于在所述激活信号有效时,接收所述锁信号并将所述锁信号写入所述反熔丝一次可编程存储器中;
其中,所述激活信号,为触发所述锁信号生成电路工作的使能信号,且当所述锁信号被写入所述反熔丝一次可编程存储器后,所述激活信号被设置为无效。
4.根据权利要求3所述的加密解密电路,其特征在于,所述锁信号生成电路,包括:结构相同的两个可配置环形振荡器、线性反馈移位寄存器、两个计数器、比较器、以及控制电路;
其中,所述两个可配置环形振荡器的各个配置端,与所述线性反馈移位寄存器的各个输出端一一对应连接;所述两个可配置环形振荡器各自的输出端,分别与所述两个计数器的输入端相连;
所述两个计数器的输出端分别与所述比较器的两个输入端相连;
所述比较器的输出端,输出所述锁信号;
所述控制电路,分别与每个可配置环形振荡器、每个计数器、所述线性反馈移位寄存器以及所述比较器相连,用于分别为每个可配置环形振荡器、每个计数器、所述线性反馈移位寄存器以及所述比较器提供工作所需的工作使能信号。
5.根据权利要求4所述的加密解密电路,其特征在于,每个可配置环形振荡器均由一个第一与非门以及多个延迟单元串行连接而成;
其中,最后一个串行连接的延迟单元的输出端与所述第一与非门的一个输入端相连,构成该可配置环形振荡器的振荡环路;所述第一与非门的另一个输入端,连接所述工作使能信号;每个延迟单元的选择端构成该可配置环形振荡器的一个配置端;所述最后一个串行连接的延迟单元的输出端,构成该可配置环形振荡器的输出端。
6.根据权利要求5所述的加密解密电路,其特征在于,每个延迟单元均包括两个并联的非门以及一个第一选择器;
其中,所述两个并联的非门的输入端相连,构成该延迟单元的输入端,所述两个并联的非门的输出端,分别与所述第一选择器的两个输入端相连;所述第一选择器的选择端,构成该延迟单元的选择端;所述第一选择器的输出端,构成该延迟单元的输出端。
7.根据权利要求3所述的加密解密电路,其特征在于,所述链式反馈移位寄存器电路,包括:
第二选择器、第三选择器、第四选择器、移位寄存器、状态寄存器、异或门、第二与非门、或门、多个第一与门以及一个第二与门;所述移位寄存器包括多个串行连接的触发器,每个触发器均具有第一输出端以及与所述第一输出端所输出信号的电平相反的第二输出端;所述移位寄存器中的每个触发器,均为上升沿触发的触发器;所述状态寄存器为下降沿触发的寄存器;
其中,所述第二选择器的一个输入端,用于接收所述密钥,另一个输入端连接所述移位寄存器中的最后一个串行连接的触发器的第一输出端;所述第二选择器的选择端,连接所述认证使能信号;所述第二选择器的输出端,连接所述异或门的一个输入端;
所述异或门的另一个输入端,用于在所述认证使能信号有效时接收所述锁信号处理电路发来的锁信号,或者,用于在所述认证使能信号失效时接收所述锁信号处理电路发来的移位锁信号;所述异或门的输出端,连接所述第三选择器的一个输入端;
所述第三选择器的另一个输入端,用于在所述激活信号有效时接收所述锁信号生成电路发来的锁信号;所述第三选择器的选择端,连接所述激活信号;所述第三选择器的输出端,连接所述移位寄存器中第一个串行连接的触发器的输入端;
所述移位寄存器中,在先的触发器的第一输出端,连接在后的触发器的输入端;所述移位寄存器中的多个触发器与所述多个第一与门一一对应,并与所述扫描链中的多个扫描触发器一一对应;每个触发器的目标输出端,通过一个第一与门与一个扫描触发器的扫描使能端口相连,且所有目标输出端通过所述第二与非门与所述状态寄存器的输入端相连;每个触发器的目标输出端还分别连接反熔丝一次可编程存储器的一个输入端;其中,每个触发器的目标输出端为该触发器的第一输出端或第二输出端;
所述状态寄存器的触发端,与所述认证使能信号相连;所述状态寄存器的输出端,连接所述或门的一个输入端;
所述或门的另一个输入端,连接所述认证使能信号;所述或门的输出端,连接所述第二与门的一个输入端;
所述第二与门的另一个输入端,连接所述集成电路提供的时钟信号,所述第二与门的输出端,连接所述第四选择器的一个输入端;
所述第四选择器的另一个输入端,连接控制电路输出的工作使能信号;所述第四选择器的选择端,连接所述激活信号;所述第四选择器的输出端,分别与所述移位寄存器中的每个触发器的触发端相连。
8.根据权利要求1所述的加密解密电路,其特征在于,所述锁信号处理电路,包括:第一处理链路、第二处理链路以及第五选择器;
其中,所述第一处理链路和所述第二处理链路,均由多个移位单元串行连接而成,每个移位单元均具有两个输入端、一个选择端、一个移位触发端以及一个输出端;
所述第一处理链路中,每个移位单元的一个输入端,均连接所述反熔丝一次可编程存储器中对应的一个输出端;第一个串行连接的移位单元的另一个输入端接地,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端,连接在先的移位单元的输出端;
所述第二处理链路中,每个移位单元的一个输入端,均连接所述反熔丝一次可编程存储器中对应的一个输出端;第一个串行连接的移位单元的另一个输入端连接最后一个串行连接的移位单元的输出端,非第一个串行连接的移位单元中,在后的移位单元的另一个输入端,连接在先的移位单元的输出端;
所述第一处理链路的和所述第二处理链路中,所有移位单元的移位触发端,均连接所述集成电路提供的时钟信号;
所述第一处理链路的和所述第二处理链路中,所有移位单元的选择端,均连接所述集成电路提供的读片使能信号;所述读片使能信号,为所述集成电路提供的从所述反熔丝一次可编程存储器中读取所述锁信号的使能信号;
所述第一处理链路和所述第二处理链路各自的输出端,分别连接所述第五选择器的两个输入端;
所述第五选择器的选择端,连接所述认证使能信号,所述第五选择器的输出端,输出所述锁信号或所述移位锁信号;其中,所述锁信号为所述第一处理链路输出的,所述移位锁信号为所述第二处理链路输出的。
9.根据权利要求8所述的电路,其特征在于,每个移位单元均包括一个第六选择器以及一个第二触发器;
其中,所述第六选择器的两个输入端,构成该移位单元的两个输入端;所述第六选择器的选择端,构成该移位单元的选择端;所述第六选择器的输出端,连接所述第二触发器的输入端;
所述第二触发器的触发端,构成该移位单元的移位触发端;所述第二触发器的输出端,构成该移位单元的输出端。
10.一种集成电路,其特征在于,所述集成电路包括功能电路以及权利要求1-9任一项所述的加密解密电路;所述加密解密电路,用于对所述功能电路中的扫描链进行加密或解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295859.9A CN111130754B (zh) | 2019-12-16 | 2019-12-16 | 一种扫描链的加密解密电路及集成电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295859.9A CN111130754B (zh) | 2019-12-16 | 2019-12-16 | 一种扫描链的加密解密电路及集成电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130754A CN111130754A (zh) | 2020-05-08 |
CN111130754B true CN111130754B (zh) | 2022-02-18 |
Family
ID=70499257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911295859.9A Active CN111130754B (zh) | 2019-12-16 | 2019-12-16 | 一种扫描链的加密解密电路及集成电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130754B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117216812B (zh) * | 2023-11-06 | 2024-02-27 | 深圳市纽创信安科技开发有限公司 | 攻击检测电路、芯片与电子设备 |
CN117825936B (zh) * | 2024-03-04 | 2024-05-10 | 南京邮电大学 | 基于改进的线性反馈移位寄存器的安全测试电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495360A (zh) * | 2011-12-16 | 2012-06-13 | 浙江大学 | 一种安全扫描寄存器、安全扫描链及其扫描方法 |
CN102947719A (zh) * | 2010-06-18 | 2013-02-27 | 阿尔卡特朗讯 | 用于提供扫描链安全性的方法及设备 |
CN106646203A (zh) * | 2016-12-16 | 2017-05-10 | 北京航空航天大学 | 一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构 |
CN106707139A (zh) * | 2017-01-03 | 2017-05-24 | 大唐微电子技术有限公司 | 一种扫描链测试装置及实现方法 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN109284637A (zh) * | 2018-08-28 | 2019-01-29 | 西安电子科技大学 | 一种基于逻辑加密的集成电路及其加密方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672452B2 (en) * | 2002-05-03 | 2010-03-02 | General Instrument Corporation | Secure scan |
CN106556792B (zh) * | 2015-09-28 | 2021-03-19 | 恩智浦美国有限公司 | 能够进行安全扫描的集成电路 |
-
2019
- 2019-12-16 CN CN201911295859.9A patent/CN111130754B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947719A (zh) * | 2010-06-18 | 2013-02-27 | 阿尔卡特朗讯 | 用于提供扫描链安全性的方法及设备 |
CN102495360A (zh) * | 2011-12-16 | 2012-06-13 | 浙江大学 | 一种安全扫描寄存器、安全扫描链及其扫描方法 |
CN106646203A (zh) * | 2016-12-16 | 2017-05-10 | 北京航空航天大学 | 一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构 |
CN106707139A (zh) * | 2017-01-03 | 2017-05-24 | 大唐微电子技术有限公司 | 一种扫描链测试装置及实现方法 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN109284637A (zh) * | 2018-08-28 | 2019-01-29 | 西安电子科技大学 | 一种基于逻辑加密的集成电路及其加密方法 |
Non-Patent Citations (2)
Title |
---|
A secure scan chain using a phase locking system and a reconfigurable LFSR;Yahia Ouahab,etc;《IEEE》;20170615;全文 * |
用于密码芯片的前馈异或安全扫描结构;欧阳冬生等;《计算机辅助设计与图形学学报》;20120615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111130754A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386990B1 (en) | Unique identifier derived from an intrinsic characteristic of an integrated circuit | |
US9021001B2 (en) | Individual-specific information generation apparatus and individual-specific information generation method | |
US8990276B2 (en) | Circuit and method for generating a true, circuit-specific and time-invariant random number | |
US7339400B1 (en) | Interface port for electrically programmed fuses in a programmable logic device | |
JP5863994B2 (ja) | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 | |
CN111130754B (zh) | 一种扫描链的加密解密电路及集成电路 | |
US10671763B2 (en) | Protecting circuits from hacking using a digital reset detector | |
CN109633422B (zh) | 基于扫描混淆的加密芯片安全测试方法 | |
Mureddu et al. | Experimental study of locking phenomena on oscillating rings implemented in logic devices | |
US7913316B2 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
US11528135B2 (en) | Integrated circuit (IC) signatures with random number generator and one-time programmable device | |
US11962693B2 (en) | Integrated circuit (IC) signatures with random number generator and one-time programmable device | |
US20090327381A1 (en) | True random number generator | |
Wang et al. | A low-overhead PUF based on parallel scan design | |
Thiemann et al. | On integrating lightweight encryption in reconfigurable scan networks | |
Kareem et al. | Xilinx FPGA-based ring oscillator PUFs: design challenges and solutions | |
Nassar et al. | CaPUF: Cascaded PUF structure for machine learning resiliency | |
US11856096B2 (en) | Defense of JTAG I/O network | |
Cao et al. | A new reconfigurable true random number generator and physical unclonable function unified chip with on-chip auto-calibration | |
CN115357949B (zh) | 基于环形振荡器puf的加密测试电路 | |
JPH1075241A (ja) | 暗号シフト・レジスタ発生器及びデータのセキュリティを高める方法 | |
CN113079019B (zh) | 集成电路器件及生成其安全密钥的方法和系统 | |
Kumar | Low complexity LDPC error correction code for modified Anderson PUF to improve its uniformity | |
CN114679277A (zh) | 一种基于sr puf的可靠性自检和可靠响应去偏方法 | |
Kiryakina et al. | Encrypted PRNG by logic encryption |
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 |