CN117825936B - 基于改进的线性反馈移位寄存器的安全测试电路 - Google Patents
基于改进的线性反馈移位寄存器的安全测试电路 Download PDFInfo
- Publication number
- CN117825936B CN117825936B CN202410239774.3A CN202410239774A CN117825936B CN 117825936 B CN117825936 B CN 117825936B CN 202410239774 A CN202410239774 A CN 202410239774A CN 117825936 B CN117825936 B CN 117825936B
- Authority
- CN
- China
- Prior art keywords
- gate
- signal
- output
- shift register
- input
- 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
- 238000011076 safety test Methods 0.000 title claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 53
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 11
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 11
- 102100031033 CCR4-NOT transcription complex subunit 3 Human genes 0.000 claims description 7
- 101000919663 Homo sapiens CCR4-NOT transcription complex subunit 3 Proteins 0.000 claims description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 102100031025 CCR4-NOT transcription complex subunit 2 Human genes 0.000 claims description 5
- 101001092183 Drosophila melanogaster Regulator of gene activity Proteins 0.000 claims description 5
- 101000919667 Homo sapiens CCR4-NOT transcription complex subunit 2 Proteins 0.000 claims description 5
- 101001122448 Rattus norvegicus Nociceptin receptor Proteins 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 102100031024 CCR4-NOT transcription complex subunit 1 Human genes 0.000 claims description 4
- 101000919674 Caenorhabditis elegans CCR4-NOT transcription complex subunit let-711 Proteins 0.000 claims description 4
- 101000919672 Homo sapiens CCR4-NOT transcription complex subunit 1 Proteins 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 4
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318588—Security aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明属于集成电路硬件安全技术领域,公开了基于改进的线性反馈移位寄存器的安全测试电路,通过控制模块控制改进的线性反馈移位寄存器的状态,利用种子信号产生模块提供改进的线性反馈移位寄存器所需要的种子信号,改进的线性反馈移位寄存器模块输出难以预测的序列作为内部测试密钥提供给安全扫描链;安全扫描链的结构是动态的,输出经过混淆的数据,攻击者难以得到真正的扫描数据;通过明文限制模块对扫描链输出进行限制,进一步增强加密电路的安全性,防止差分密码攻击。本发明所述电路可以保护加密芯片免受基于扫描链的攻击,并且面积开销相对较小,且不会增加测试时间,在不影响芯片正常功能的同时又能够实现芯片安全测试的目的。
Description
技术领域
本发明属于集成电路硬件安全技术领域,具体是涉及基于改进的线性反馈移位寄存器的安全测试电路。
背景技术
从20世纪60年代开始,数字集成电路的工艺、制造和设计技术飞速发展,数字集成电路从最早的真空管和电子管电路,发展到以硅基半导体为主的集成电路。集成电路的规模从开始的几十个逻辑门的小规模集成电路发展到单芯片数千万个逻辑门的极大规模集成电路,单芯片可以集成几十亿只晶体管。
随着集成电路的工艺尺寸越来越小,越来越多的问题也在逐渐暴露。例如在芯片的制造过程中,由于工艺上存在的各种不确定性,导致生产出来的芯片存在不同程度的缺陷,最终会造成芯片的功能障碍。所以如何快速地发现芯片中的缺陷,降低测试成本,成了一个非常关键的问题。在这种情况下,可测性设计(DFT)技术应运而生,扫描设计是其中一种流行的DFT技术。这种扫描设计将待测电路内部的寄存器改变为扫描寄存器,然后再把扫描寄存器连接起来形成扫描链,提升了对电路内部的可控制性和可观测性。然而,随着测试的不断深入,芯片内部的电路结构,存储在芯片里面的加密信息、IP信息等都将暴露,为测试者提供方便的同时,也对攻击者攻击芯片开了后门。扫描链良好的可控制性和可观测性变成了芯片的安全弱点。尤其是针对加密芯片,在芯片工作的过程中,会有一些中间结果数据保存在扫描链中。攻击者恶意利用扫描链可以观察芯片的内部状态,进而窃取这些中间结果数据,通过分析这些中间结果数据就可以推测出加密密钥。如何在不牺牲测试质量的情况下实现安全测试已经是一个迫切需要解决的问题。
线性反馈移位寄存器是一种用于生成伪随机序列的硬件结构,具有较好的随机性和较长的周期,而线性反馈移位寄存器的快速生成速度和可重复性使得其在安全领域具有重要的应用。线性反馈移位寄存器可用于流密码和一些安全认证机制。根据反馈方式的不同,线性反馈移位寄存器可以分为Fibonacci LFSR和Galois LFSR。但是传统的线性反馈移位寄存器是不够安全的,如2022年Shadab Hussain等人发表的“Design of SecuredLightweight PRNG Circuit using LFSR for Portable IoT Devices LFSR”国际会议论文中提到,从密码学的角度来看,n位线性反馈移位寄存器生成的序列可以很容易地通过Berlekamp-Massey算法来检测,只需观察2n个连续的位,因为线性反馈移位寄存器是线性结构,所以基于线性反馈移位寄存器的伪随机序列容易受到各种攻击。
现有的技术也有对其相关的研究,如专利申请CN106646203A公开了一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构,通过在扫描链中加入异或门集合,从而对扫描数据进行混淆;但其所用到的线性反馈移位寄存器是传统的结构,种子信号保存在非易失性存储器中,这种情况下,容易遭受memory攻击,并且整体结构面积开销相对较大。
发明内容
为解决上述技术问题,本发明提供了基于改进的线性反馈移位寄存器的安全测试电路,其通过改进的线性反馈移位寄存器能够产生更安全的伪随机数,通过任意扫描寄存器的输出去改变线性反馈移位寄存器的内容,使线性反馈移位寄存器产生的测试密钥没有规律并且更加难以预测。由于扫描链中加入了混淆逻辑,在没有正确的测试密钥输入的情况下,线性反馈移位寄存器的输出序列呈动态变化,能够使扫描链的结构具有多样性,从而攻击者在输出端得到的响应都是经过混淆的,并且由于明文限制模块的引入,还会出现限制扫描输出的情况,实现保护加密芯片的目的。
本发明所述的基于改进的线性反馈移位寄存器的安全测试电路,包括控制模块、种子信号产生模块、改进的线性反馈移位寄存器模块、安全扫描链、明文限制模块;
所述种子信号产生模块生成一组二进制随机序列通过种子信号端seed[λ:0]输入到改进的线性反馈移位寄存器中作为其种子信号;
所述控制模块产生的信号控制改进的线性反馈移位寄存器种子信号的加载以及随机序列的循环移位;
所述改进的线性反馈移位寄存器模块产生随机的测试密钥至安全扫描链;
安全扫描链保存AES加密组合电路生成的加密信息,通过测试密钥控制安全扫描链结构变化,将加密信息经过混淆后输出,实现对加密密钥的保护;
所述明文限制模块对安全扫描链输出的部分与加密电路相关的信息进行限制,防止差分密码攻击。
进一步的,所述种子信号产生模块包括一个反相器、两个计数器、一个触发器,四个与门;其中2-bit计数器counter1的时钟端连接系统时钟CLK,清零端CLR接复位信号RST,使能端EN1接与门AND2的输出信号;计数器counter1的输出信号Q[1]和Q[0]连接与门AND1的两个输入端,与门AND1的输出信号经过反相器NOT1接与门AND2的一个输入端,与门AND2的另一个输入端接扫描使能信号scan_enable;与门AND 3的两个输入端分别连接与门AND1的输出信号及系统时钟CLK;触发器FF1的输入端D接Q[1]信号,时钟端接AND3的输出信号clk0,其输出端Q作为与门AND4的一个输入端,与门AND4的另一个输入端接scan_enable信号;q-bit计数器counter2的时钟输入端连接系统时钟CLK,清零端CLR接复位信号RST,使能端EN2接与门AND4的输出信号;计数器counter2的输出信号Q[q:0]为改进的线性反馈移位寄存器模块提供种子信号。
进一步的,当进入测试模式时,scan_enable信号为1,进入shift模式,2-bit 计数器counter1开始工作;当计数器counter1的Q[1]信号和Q[0]信号均为1时,其作为与门AND1的输入端,与门AND1的输出信号经过反相器NOT1输入到与门AND2,与门AND2的输出连接到计数器counter1的EN1端,此时计数器counter1停止计数;
计数器counter1的Q[1]信号输入到触发器FF1,触发器FF1的输出作为与门AND4的输入端;与门AND4的另一个输入连接到scan_enable信号,其输出连接到q-bit 计数器counter2的EN2端,此时q-bit 计数器counter2开始计数;当scan_enable信号为0,进入capture模式,计数器counter2停止计数,此时种子信号产生模块输出一组q位的二进制数至改进的线性反馈移位寄存器。
进一步的,控制模块包括一个反相器、一个2-bit的计数器、3个控制触发器、一个与门和一个或门;其中反相器NOT2的输入端接scan_enable信号,其输出信号接入触发器FF2的输入端D;触发器FF2的时钟端接系统时钟CLK,清零端CLR接复位信号RST,其输出端Q作为与门AND5的一个输入端,与门AND5的另一个输入端接反相器NOT2的输出信号;2-bit计数器counter3的时钟端接与门AND5的输出信号,清零端CLR接复位信号RST,使能端EN3接测试模式信号test_mode,其输出信号Q[0]输入到触发器FF3的D端;触发器FF3的时钟端接系统时钟CLK,清零端CLR接复位信号RST,其输出端Q作为或门OR1的一个输入端,或门OR1的另一个输入端接触发器FF4的输出信号;或门OR1的输出信号接触发器FF4的输入端D,触发器FF4的时钟端接系统时钟CLK,清零端CLR接复位信号RST;控制模块产生的线性反馈移位寄存器开启信号LFSR_start和使能信号LFSR_ena输入到改进的线性反馈移位寄存器模块。
进一步的,当scan_enable信号为1时,进入shift操作,控制模块不工作;
当scan_enable信号为0时,表示一组扫描测试向量已经输入到扫描链中,控制模块开始工作,输出的LFSR_ena信号控制改进的线性反馈移位寄存器的种子信号的加载,输出的LFSR_start信号控制改进的线性反馈移位寄存器的循环移位。
进一步的,改进的线性反馈移位寄存器为一个λ位的线性反馈移位寄存器,包括若干个移位寄存器、异或门、二选一数据选择器,每个移位寄存器前面都插入一个二选一数据选择器,用于选择种子信号的加载或者寄存器的状态更新;每个移位寄存器的时钟端接数据选择器MUX-clk的输出信号;数据选择器MUX-clk的一个输入端接系统时钟CLK,另一个输入端接LFSR_ena信号,选择端接LFSR_start信号;每个移位寄存器的数据输入端都接一个数据选择器的输出信号,其数据选择器的一个输入端接前一个寄存器的输出信号,另一个输入端接种子信号seed,其选择端接LFSR_start信号;
在任意的移位寄存器及与其连接的数据选择器之间插入异或门,其中异或门XOR1的一个输入端接前一个移位寄存器的输出端口,异或门XOR1的另一个输入端接任意扫描寄存器的输出信号;其余异或门XORm的一个输入端接前一个移位寄存器的输出端口,异或门XORm的另一个输入端接最后一个寄存器的输出端;异或门的输出信号均接与其后一个数据选择器的输入端连接。
进一步的,改进的线性反馈移位寄存器中,数据选择器的选择端由LFSR_start信号控制,LFSR_ena信号控制种子信号的加载;从种子信号产生模块的q位二进制序列中任选λ位作为改进的线性反馈移位寄存器的初始值即种子信号,;改进的线性反馈移位寄存器产生的随机序列作为内部的测试密钥。
进一步的,安全扫描链包括扫描寄存器、反相器、异或门和二选一数据选择器,若干个扫描寄存器依次连接,在扫描链中随机插入反相器加数据选择器或者异或门加数据选择器的组合,反相器或者异或门的输出作为数据选择器的一个输入端,数据选择器的另一个输入连接前一个寄存器的输出或扫描输入端SI,由改进的线性反馈移位寄存器提供的内部测试密钥作为数据选择器的选择端;如果测试密钥正确,扫描数据绕过反相器和异或门,正常输出;反之,在输出端得到的是经过混淆的扫描数据。
进一步的,明文限制模块包括多输入的或非门树和与门树、一个触发器和逻辑门;其中或非门树NT以及与门树AT的的输入端均接128 bit的明文,或非门树NT输出端和与门树AT的输出端分别接或门OR2的两个输入端;触发器FF5的时钟端接系统时钟CLK,清零端CLR接复位信号RST,输入端D接或门OR2的输出信号,输出端Q接反相器NOT3的输入端,反相器NOT3的输出信号接与门AND6的一个输入端,与门AND6的另一个输入端接测试模式信号test_mode信号,与门AND6输出信号select。
进一步的,在测试模式下,test_mode信号为1时,输入128 bit全0和全1明文,或非门树NT的输出和与门树AT的输出分别是或门OR2的两个输入端,此时或门OR2才会输出1;或门OR2的输出作为触发器FF5的输入端,当系统时钟CLK有效沿到来时,触发器FF5输出为1;
触发器FF5的输出经过反相器NOT3连接到与门AND6的输入端,另一个输入连接到test_mode信号;与门AND6的输出select信号作为扫描链末端数据选择器MUX-r的选择端,数据选择器MUX-r一个输入连接到SA0端,固定为0的信号,另一个输入连接到最后一个扫描寄存器的输出端;
在明文输入全0和全1的时候,扫描链输出才不会被限制,扫描数据正常移出扫描链;反之,扫描链输出被限制,在输出端只能观察到常数0。
本发明所述的有益效果为:
1)本发明所述测试电路中,改进的线性反馈移位寄存器的种子信号是由种子信号产生模块中的计数器提供的,在特定的情况下才会输出序列,而非存储在非易失性存储器里面的,这样设计的优点避免了芯片遭受memory的攻击;
2)本发明所述的安全扫描链中的混淆逻辑是由内部测试密钥控制的,而测试密钥是改进的线性反馈移位寄存器提供的,由于改进的线性反馈移位寄存器在对其中的反馈异或门进行修改之后,使其产生的二进制序列更加随机,没有规律,难以预测,内部测试密钥的动态变化导致安全扫描链的结构复杂多变,扫描链输出的数据是动态混淆的,使攻击者不清楚真正的扫描数据,密钥被破解的难度加大,从而实现了对内部加密信息的保护;
3)本发明在扫描链末端加入了明文限制模块,只有输入全0和全1的明文时,扫描链才允许输出数据,其余情况,扫描链输出被限制,在输出端只能观察到常数0,明文分析样本缺失,导致差分密码攻击失败,从而进一步对加密密钥进行保护;
4)本发明所提出的测试电路结构可以保护加密芯片免受基于扫描链的攻击,面积开销相对较小,且不会增加测试时间,在不影响正常功能的同时又能够实现芯片安全测试的目的。
附图说明
图1为本发明所述电路的整体电路图;
图2为本发明所述电路的工作流程图;
图3为本发明实施例中改进的线性反馈移位寄存器的仿真波形图;
图4为本发明实施例中明文限制模块的仿真波形图。
具体实施方式
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
如图1所示,为了阻止基于扫描链的攻击,本发明提供了基于改进的线性反馈移位寄存器的安全测试电路,包括控制模块、种子信号产生模块、改进的线性反馈移位寄存器模块、安全扫描链、明文限制模块;
所述种子信号产生模块生成一组二进制随机序列通过种子信号端seed[λ:0]输入到改进的线性反馈移位寄存器中作为其种子信号;
所述控制模块产生的信号控制改进的线性反馈移位寄存器种子信号的加载以及随机序列的循环移位;
所述改进的线性反馈移位寄存器模块产生随机的测试密钥至安全扫描链;
由于加密电路的初始密钥和明文PI输入到AES加密组合电路经过加密运算之后,产生的加密信息保存在扫描链中,改进的线性反馈移位寄存器模块产生的测试密钥作为安全扫描链中数据选择器的控制信号,控制扫描链的结构变化,使安全扫描链的结构呈多样性;因此,安全扫描链将输入的扫描数据经过混淆逻辑之后输出,实现对加密密钥的保护;
所述明文限制模块对安全扫描链输出的部分与加密电路相关的信息进行限制,防止差分密码攻击。
如图2所示,芯片复位初始化之后,在功能模式下,明文和初始密钥输入到AES加密组合电路中,先进行初始密钥加操作,接着进行AES第一轮加密操作包括:字节替换、行移位、列混合、密钥加四种运算。第一轮中间加密信息保存在寄存器R中,往往第一轮加密信息是最脆弱的,是最容易受攻击的对象,所以我们要利用一些防护手段来保证第一轮中间加密信息的安全性。
当芯片进入测试模式,扫描使能信号scan_enable为1时,种子信号产生模块开始工作。所述的种子信号产生模块包括2-bit的计数器counter1、q-bit的计数器counter2、触发器FF1以及逻辑门。当scan_enable信号为1时,与门AND2输出信号为1,计数器counter1的EN1端被使能,开始计数。当计数器counter1计到11时,停止计数。与门AND1的两个输入端来自于计数器counter1的Q[1]信号和Q[0]信号,其输出作为与门AND3的一个输入端,与门AND3的另一个输入是系统时钟CLK,其输出端连接到触发器FF1的时钟端clk0。在时钟clk0的有效沿到来时,计数器counter1的Q[1]信号作为触发器FF1的输入,此时触发器FF1输出为1。触发器FF1的输出端Q作为与门AND4的一个输入,另一个输入连接scan_enable信号,与门AND4的输出连接到计数器counter2的EN2端,此时使能信号EN2为1,计数器counter2开始工作。当一组扫描测试向量已经输入到扫描链中时,scan_enable信号为0,计数器counter2停止计数,此时计数器counter2产生一组q位的二进制序列数,从这组序列数中随机选取位提供给改进的线性反馈移位寄存器模块,作为其种子信号的输入,所以种子信号的组合数有/>种,其中,/>指从计数器counter2中产生的q二进制序列数中任选/>位作为改进的线性反馈移位寄存器的种子信号。
当scan_enable信号由1变为0时,控制模块开始工作。所述的控制模块由计数器、触发器以及逻辑门组成。扫描使能信号scan_enable经过反相器NOT2之后作为触发器FF2的输入信号,同时也连接到与门AND5的输入端,其另一个输入连接到触发器FF2的输出端Q。当scan_enable信号发生变化时,与门AND5的输出也发生变化,在其输出端产生一个由0到1的跳变信号,这个跳变信号连接到改进的线性反馈移位寄存器的使能端LFSR_ena,所以控制模块控制改进的线性反馈移位寄存器的种子信号的加载。同时这个跳变信号也连接到2-bit计数器counter3的时钟端,因为在测试模式下,测试模式信号test_mode为1,EN3端也为1,所以计数器counter3开始计入一个时钟脉冲,这时计数器counter3的Q[0]信号为1。而Q[0]信号作为触发器FF3的输入信号,当时钟有效沿到来时,触发器FF3输出1,其输出信号作为或门OR1的一个输入,或门OR1的另一个输入连接到触发器FF4的输出端,所以或门OR1输出为1。或门OR1的输出1会传回到触发器FF4,作为其输入端,这种设计会使或门OR1的输出一直保持为1。而改进的线性反馈移位寄存器的LFSR_start信号和或门OR1的输出连接,所以LFSR_start信号也一直为1。
控制模块是用于控制改进的线性反馈移位寄存器的状态。所述的改进的线性反馈移位寄存器,与传统的线性反馈移位寄存器相比,在每个寄存器的前端增加了二选一的数据选择器,选择器的一个输入连接前一个寄存器的输出端或者是异或门的输出端,另一个输入连接种子信号。移位寄存器的时钟端也由数据选择器MUX-clk控制,其中一端来自于系统时钟CLK,另一端连接LFSR_ena信号。所有的数据选择器的选择端都是由LFSR_start信号控制。如图3所示,当LFSR_start为0时,控制模块产生的使能信号LFSR_ena产生由0到1的跳变时,来自种子信号产生模块的种子信号加载到改进的线性反馈移位寄存器中,当LFSR_start一直保持为1时,系统时钟CLK开始控制移位寄存器的行为。输入的种子信号随着时钟的循环移位在改进的线性反馈移位寄存器的输出端产生一组随机序列数,选取这组随机序列数中的某些位作为安全测试的内部测试密钥。另外与传统的线性反馈移位寄存器还有一点不同的是,其中异或门XOR1的输入连接到扫描链中任意一个扫描寄存器的输出端,线性反馈移位寄存器产生的随机数序列是呈动态变化的,这样设计的目的是使改进的线性反馈移位寄存器产生的随机数目更大,随机性也更大,没有任何规律可循,大大增加了攻击者的难度。
所述安全扫描链是在扫描链结构中随机插入反相器加数据选择器或者异或门加数据选择器的组合去混淆扫描输出。在每个反相器和异或门的后面放置一个二选一的数据选择器,选择器的一个输入端连接到前一个寄存器的输出或者是扫描输入端SI,另一个输入端连接到反相器或者异或门的输出端,选择端是由改进的线性反馈移位寄存器提供的测试密钥控制的。如果测试密钥正确,就输出原始的扫描数据,反之,输出混淆数据。假设扫描数据经过的z处有异或门存在就用表示,反之,就用/>表示。同理,如果扫描数据经过的n处有反相器存在就用/>表示,反之,就用/>表示。本发明定义了在插入反相器和异或门之后扫描寄存器的输入和输出之间的关系。假设输入的测试向量,n个扫描寄存器的状态是/>,两者之间相应的关系是/>,/>,/>,。
为了进一步增强加密电路的安全性,在扫描链最后的输出端增加一个二选一的数据选择器MUX-r,数据选择器MUX-r的一端是扫描链的输出端,另一端连接固定为0的SA0信号,数据选择端由明文限制模块控制,这是为了防止差分密码攻击。所述的明文限制模块由与门树AT和或非门树NT组成,128 bit的明文输入驱动与门树AT和或非门树NT的输入。如图4所示,在测试模式下,只有输入全1的明文,才能使与门树AT输出为1。同样在测试模式下,只有输入全0的明文,才能使或非门树NT输出为1。这两种情况才会使或门OR2输出为1,或门的输出作为触发器FF5的输入,触发器FF5的输出端Q经过反相器NOT3之后变为0,和test_mode信号作为两个输入驱动与门AND6的信号,此时与门AND6输出select信号为0,这个信号作为扫描链末端数据选择器MUX-r的控制信号,选择输出扫描链中的数据。其余各种形式的明文输入,都会使select信号为1,选择输出常数0,这样攻击者在扫描链的输出端观察不到有用的信息,导致明文样本缺失,差分密码攻击失败。
攻击者在输入内部测试密钥时,如果正确,则扫描数据会经过原始的扫描链结构,不会被混淆,但是如果存在差分密码攻击,明文限制模块就会输出1,作为扫描链末端的数据选择器MUX-r的控制信号,数据选择器MUX-r只能输出常数0,这种情况下,明文分析的样本就会缺失,差分密码攻击就会失败。另一种情况如果内部测试密钥错误,那么即使不存在差分密码攻击,在输出端得到的扫描数据也是经过混淆的,会大大增加攻击者攻击加密芯片的难度。该技术可以抵抗所有的基于扫描链的攻击,保证加密芯片的安全性。
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
Claims (7)
1.基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,包括控制模块、种子信号产生模块、改进的线性反馈移位寄存器模块、安全扫描链、明文限制模块;
所述种子信号产生模块生成一组二进制随机序列通过种子信号端seed[λ:0]输入到改进的线性反馈移位寄存器中作为其种子信号;
所述控制模块产生的信号控制改进的线性反馈移位寄存器种子信号的加载以及随机序列的循环移位;
所述改进的线性反馈移位寄存器模块产生随机的测试密钥至安全扫描链;
安全扫描链保存AES加密组合电路生成的加密信息,通过测试密钥控制安全扫描链结构变化,将加密信息经过混淆后输出,实现对加密密钥的保护;
所述明文限制模块对安全扫描链输出的部分与加密电路相关的信息进行限制,防止差分密码攻击;
其中,所述种子信号产生模块包括一个反相器、两个计数器、一个触发器,四个与门;其中2-bit计数器counter1的时钟端连接系统时钟CLK,清零端CLR接复位信号RST,使能端EN1接与门AND2的输出信号;计数器counter1的输出信号Q[1]和Q[0]连接与门AND1的两个输入端,与门AND1的输出信号经过反相器NOT1接与门AND2的一个输入端,与门AND2的另一个输入端接扫描使能信号scan_enable;与门AND 3的两个输入端分别连接与门AND1的输出信号及系统时钟CLK;触发器FF1的输入端D接Q[1]信号,时钟端接AND3的输出信号clk0,其输出端Q作为与门AND4的一个输入端,与门AND4的另一个输入端接scan_enable信号;q-bit计数器counter2的时钟输入端连接系统时钟CLK,清零端CLR接复位信号RST,使能端EN2接与门AND4的输出信号;计数器counter2的输出信号Q[q:0]为改进的线性反馈移位寄存器模块提供种子信号;
改进的线性反馈移位寄存器为一个λ位的线性反馈移位寄存器,包括若干个移位寄存器、异或门、二选一数据选择器,每个移位寄存器前面都插入一个二选一数据选择器;每个移位寄存器的时钟端接数据选择器MUX-clk的输出信号;数据选择器MUX-clk的一个输入端接系统时钟CLK,另一个输入端接LFSR_ena信号,选择端接LFSR_start信号;每个移位寄存器的数据输入端都接一个数据选择器的输出信号,其数据选择器的一个输入端接前一个寄存器的输出信号,另一个输入端接种子信号seed,其选择端接LFSR_start信号;在任意的移位寄存器及与其连接的数据选择器之间插入异或门,其中异或门XOR1的一个输入端接前一个移位寄存器的输出端口,异或门XOR1的另一个输入端接任意扫描寄存器的输出信号;其余异或门XORm的一个输入端接前一个移位寄存器的输出端口,异或门XORm的另一个输入端接最后一个寄存器的输出端;异或门的输出信号均接与其后一个数据选择器的输入端连接;
安全扫描链包括扫描寄存器、反相器、异或门和二选一数据选择器,若干个扫描寄存器依次连接,在扫描链中随机插入反相器加数据选择器或者异或门加数据选择器的组合,反相器或者异或门的输出作为数据选择器的一个输入端,数据选择器的另一个输入连接前一个寄存器的输出或扫描输入端SI,由改进的线性反馈移位寄存器提供的内部测试密钥作为数据选择器的选择端;如果测试密钥正确,扫描数据绕过反相器和异或门,正常输出;反之,在输出端得到的是经过混淆的扫描数据。
2. 根据权利要求1所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,当进入测试模式时,scan_enable信号为1,进入shift模式,2-bit 计数器counter1开始工作;当计数器counter1的Q[1]信号和Q[0]信号均为1时,其作为与门AND1的输入端,与门AND1的输出信号经过反相器NOT1输入到与门AND2,与门AND2的输出连接到计数器counter1的EN1端,此时计数器counter1停止计数;
计数器counter1的Q[1]信号输入到触发器FF1,触发器FF1的输出作为与门AND4的输入端;与门AND4的另一个输入连接到scan_enable信号,其输出连接到q-bit 计数器counter2的EN2端,此时q-bit 计数器counter2开始计数;当scan_enable信号为0时,进入capture模式,计数器counter2停止计数,此时种子信号产生模块输出一组q位的二进制数至改进的线性反馈移位寄存器。
3.根据权利要求1所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,控制模块包括一个反相器、一个2-bit的计数器、3个控制触发器、一个与门和一个或门;其中反相器NOT2的输入端接scan_enable信号,其输出信号接入触发器FF2的输入端D;触发器FF2的时钟端接系统时钟CLK,清零端CLR接复位信号RST,其输出端Q作为与门AND5的一个输入端,与门AND5的另一个输入端接反相器NOT2的输出信号;2-bit计数器counter3的时钟端接与门AND5的输出信号,清零端CLR接复位信号RST,使能端EN3接测试模式信号test_mode,其输出信号Q[0]输入到触发器FF3的D端;触发器FF3的时钟端接系统时钟CLK,清零端CLR接复位信号RST,其输出端Q作为或门OR1的一个输入端,或门OR1的另一个输入端接触发器FF4的输出信号;或门OR1的输出信号接触发器FF4的输入端D,触发器FF4的时钟端接系统时钟CLK,清零端CLR接复位信号RST;控制模块产生的线性反馈移位寄存器开启信号LFSR_start和使能信号LFSR_ena输入到改进的线性反馈移位寄存器模块。
4.根据权利要求3所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,当scan_enable信号为1时,进入shift操作,控制模块不工作;
当scan_enable信号为0时,表示一组扫描测试向量已经输入到扫描链中,控制模块开始工作,输出的LFSR_ena信号控制改进的线性反馈移位寄存器的种子信号的加载,输出的LFSR_start信号控制改进的线性反馈移位寄存器的循环移位。
5.根据权利要求1所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,改进的线性反馈移位寄存器中,数据选择器的选择端由LFSR_start信号控制,LFSR_ena信号控制种子信号的加载;从种子信号产生模块的q位二进制序列中任选λ位作为改进的线性反馈移位寄存器的初始值即种子信号,λ< q;改进的线性反馈移位寄存器产生的随机序列作为内部的测试密钥。
6. 根据权利要求1所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,明文限制模块包括多输入的或非门树和与门树、一个触发器和逻辑门;其中或非门树NT以及与门树AT的的输入端均接128 bit的明文,或非门树NT输出端和与门树AT的输出端分别接或门OR2的两个输入端;触发器FF5的时钟端接系统时钟CLK,清零端CLR接复位信号RST,输入端D接或门OR2的输出信号,输出端Q接反相器NOT3的输入端,反相器NOT3的输出信号接与门AND6的一个输入端,与门AND6的另一个输入端接测试模式信号test_mode信号,与门AND6输出信号select。
7.根据权利要求6所述的基于改进的线性反馈移位寄存器的安全测试电路,其特征在于,在测试模式下,test_mode信号为1时,输入128 bit全0和全1明文,或非门树NT的输出和与门树AT的输出分别是或门OR2的两个输入端,此时或门OR2才会输出1;或门OR2的输出作为触发器FF5的输入端,当系统时钟CLK有效沿到来时,触发器FF5输出为1;
触发器FF5的输出经过反相器NOT3连接到与门AND6的输入端,另一个输入连接到test_mode信号;与门AND6的输出select信号作为扫描链末端数据选择器MUX-r的选择端,数据选择器MUX-r一个输入连接到SA0端,固定为0的信号,另一个输入连接到最后一个扫描寄存器的输出端;
在明文输入全0和全1的时候,扫描链输出才不会被限制,扫描数据正常移出扫描链;反之,扫描链输出被限制,在输出端只能观察到常数0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410239774.3A CN117825936B (zh) | 2024-03-04 | 2024-03-04 | 基于改进的线性反馈移位寄存器的安全测试电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410239774.3A CN117825936B (zh) | 2024-03-04 | 2024-03-04 | 基于改进的线性反馈移位寄存器的安全测试电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117825936A CN117825936A (zh) | 2024-04-05 |
CN117825936B true CN117825936B (zh) | 2024-05-10 |
Family
ID=90522997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410239774.3A Active CN117825936B (zh) | 2024-03-04 | 2024-03-04 | 基于改进的线性反馈移位寄存器的安全测试电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117825936B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346823B1 (en) * | 2004-06-24 | 2008-03-18 | Cypress Semiconductor Corporation | Automatic built-in self-test of logic with seeding from on-chip memory |
CN106646203A (zh) * | 2016-12-16 | 2017-05-10 | 北京航空航天大学 | 一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构 |
CN109633422A (zh) * | 2018-12-21 | 2019-04-16 | 长沙理工大学 | 基于扫描混淆的加密芯片安全测试方法 |
CN111130754A (zh) * | 2019-12-16 | 2020-05-08 | 西安电子科技大学 | 一种扫描链的加密解密电路及集成电路 |
CN115357949A (zh) * | 2022-10-24 | 2022-11-18 | 南京邮电大学 | 基于环形振荡器puf的加密测试电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155648B2 (en) * | 2003-09-19 | 2006-12-26 | Intel Corporation | Linear feedback shift register reseeding |
-
2024
- 2024-03-04 CN CN202410239774.3A patent/CN117825936B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346823B1 (en) * | 2004-06-24 | 2008-03-18 | Cypress Semiconductor Corporation | Automatic built-in self-test of logic with seeding from on-chip memory |
CN106646203A (zh) * | 2016-12-16 | 2017-05-10 | 北京航空航天大学 | 一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构 |
CN109633422A (zh) * | 2018-12-21 | 2019-04-16 | 长沙理工大学 | 基于扫描混淆的加密芯片安全测试方法 |
CN111130754A (zh) * | 2019-12-16 | 2020-05-08 | 西安电子科技大学 | 一种扫描链的加密解密电路及集成电路 |
CN115357949A (zh) * | 2022-10-24 | 2022-11-18 | 南京邮电大学 | 基于环形振荡器puf的加密测试电路 |
Non-Patent Citations (4)
Title |
---|
A secure scan architecture using dynamic key to thwart scan-based side-channel attacks;Weizheng Wang 等;《Microelectronics Journal》;20231204(第143期);第106050-1-106050-7页 * |
Secure Scan and Test Using Obfuscation Throughout Supply Chain;Xiaoxiao Wang 等;《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》;20180930;第37卷(第9期);第1867-1880页 * |
基于LFSR状态相关的测试数据压缩方法;毛蔚;梁华国;程旺燕;;微型机与应用;20100325(06);第63-66页 * |
扫描设计中测试逻辑的研究;肖忠辉, 邵寅亮, 王磊, 商松;微电子技术;19981031(第03期);第1-5页页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117825936A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cui et al. | Static and dynamic obfuscations of scan data against scan-based side-channel attacks | |
Sengar et al. | Secured flipped scan-chain model for crypto-architecture | |
Da Rolt et al. | Are advanced DfT structures sufficient for preventing scan-attacks? | |
Fujiwara et al. | Secure and testable scan design using extended de Bruijn graphs | |
Lesperance et al. | Hardware Trojan detection using exhaustive testing of k-bit subspaces | |
CN109633422B (zh) | 基于扫描混淆的加密芯片安全测试方法 | |
Atobe et al. | Secure scan design with dynamically configurable connection | |
Tsoutsos et al. | Advanced techniques for designing stealthy hardware trojans | |
Breier et al. | On side channel vulnerabilities of bit permutations in cryptographic algorithms | |
Li et al. | Scan chain based attacks and countermeasures: A survey | |
Wang et al. | A secure DFT architecture protecting crypto chips against scan-based attacks | |
Valea et al. | Encryption-based secure JTAG | |
US9767277B2 (en) | Detection of fault injections in a random number generator | |
Huang et al. | Trace buffer attack on the AES cipher | |
Chandran et al. | SS-KTC: A high-testability low-overhead scan architecture with multi-level security integration | |
CN117825936B (zh) | 基于改进的线性反馈移位寄存器的安全测试电路 | |
Nara et al. | State-dependent changeable scan architecture against scan-based side channel attacks | |
Chen et al. | Partial scan design against scan-based side channel attacks | |
Sao et al. | Security analysis of scan obfuscation techniques | |
Li et al. | Bias PUF based secure scan chain design | |
Chen et al. | Balancing testability and security by configurable partial scan design | |
Mukhopadhyay et al. | Testability of cryptographic hardware and detection of Hardware Trojans | |
Ali et al. | New scan-based attack using only the test mode and an input corruption countermeasure | |
Taherifard et al. | Mist-scan: A secure scan chain architecture to resist scan-based attacks in cryptographic chips | |
Zhou et al. | How to secure scan design against scan-based side-channel attacks? |
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 |