CN102495360B - 一种安全扫描寄存器、安全扫描链及其扫描方法 - Google Patents

一种安全扫描寄存器、安全扫描链及其扫描方法 Download PDF

Info

Publication number
CN102495360B
CN102495360B CN201110425609.XA CN201110425609A CN102495360B CN 102495360 B CN102495360 B CN 102495360B CN 201110425609 A CN201110425609 A CN 201110425609A CN 102495360 B CN102495360 B CN 102495360B
Authority
CN
China
Prior art keywords
scan
register
security sweep
sweep
chain
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.)
Expired - Fee Related
Application number
CN201110425609.XA
Other languages
English (en)
Other versions
CN102495360A (zh
Inventor
张培勇
欧阳冬生
项群良
冯忱晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201110425609.XA priority Critical patent/CN102495360B/zh
Publication of CN102495360A publication Critical patent/CN102495360A/zh
Application granted granted Critical
Publication of CN102495360B publication Critical patent/CN102495360B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种安全扫描寄存器、安全扫描链及其扫描方法,属于集成电路可测性设计领域。安全扫描寄存器由D触发器、异或门和二选一多路复用器组成,D触发器的数据输入端与二选一多路复用器的输出端连接,D触发器的输出端与异或门的第一输入端相连,异或门的第二输入端与二选一多路复用器的第二数据输入端相连。其安全扫描链包括传统扫描寄存器和安全扫描寄存器,将所有寄存器级联,其个数和位置按照一定规则确定。本发明安全扫描链能抗击复位攻击,能以较小的面积代价获得足够的安全性,具有很好的实用性。

Description

一种安全扫描寄存器、安全扫描链及其扫描方法
技术领域
本发明属于集成电路可测性设计领域,涉及一种用于安全测试的扫描寄存器、扫描链和扫描方法。
背景技术
扫描链作为目前VLSI(超大规模集成电路)设计中使用最为广泛的可测性设计(Design for Test)结构,增强了芯片的可控性(controllability)和可观察性(observability),为芯片提供了良好的可测性。通常,在半导体芯片的设计过程中,不光需要设计实现预定功能的功能电路,也需要设计用于测试芯片制造缺陷的扫描测试电路(扫描链)。
传统扫描寄存器如图1所示,其端口包括:数据端输入(D端),用于接收功能输入信号;扫描输入端(SI端),用于接收扫描输入信号;扫描使能端(SE端),用于接收使能信号;时钟输入端(CK端),用于接收寄存器时钟信号;输出端(Q端),用于输出寄存器的值。
如图1所示,传统扫描寄存器的结构包含一个二选一多路复用器和一个D触发器,二选一多路复用器包含2个数据输入端,一个使能输入端和1个输出端,它的第一数据输入端连接D端,第二数据输入口连接SI端,使能出入口连接SE端,它的输出端连接D触发器的数据输入端;D触发器包含一个数据输入端,一个时钟输入端和一个输出端,它的数据输入端连接二选一多路复用器的输出,它的时钟输入端连接CK端,它的输出端连接Q端。
目前,扫描链通常是将传统扫描寄存器级联在一起,使得一个扫描寄存器的扫描输出端连接到下一个扫描寄存器的扫描输入端,下一个扫描寄存器的输出端又和随后的扫描寄存器输入端相连。
含有扫描链的芯片有两种工作模式——扫描模式和功能模式,并通过扫描使能信号控制扫描链在这两种工作模式下的切换。当扫描使能信号有效时,含有扫描链的芯片处于扫描模式,此时,扫描链寄存器通过扫描路径连接,扫描路径将各个扫描寄存器连接成一条扫描链,扫描链的功能类似于移位寄存器,在时钟沿的控制下,寄存器内的数据从上一个扫描寄存器的扫描输出端传递到下一个扫描寄存器的扫描输入端;当扫描使能信号无效时,芯片处在功能模式下,此时,扫描链寄存器通过功能路径连接,功能路径执行一系列的算术逻辑运算,以使芯片完成预先设计的正常功能,如数据加密,信号处理。
芯片的扫描测试过程是由一系列的连续交替的扫描移位操作和扫描捕获操作构成,扫描移位操作将扫描输入矩阵移位输入进扫描链,同时将寄存器的响应向量移位输出,构成扫描输出向量,扫描移位操作完成时,扫描链上各个扫描寄存器的状态构成测试向量;扫描捕获操作过程中,扫描寄存器捕获从功能路径上的响应,扫描链上各个扫描寄存器的状态构成响应向量。扫描测试图形包括以上扫描输入向量、测试向量、响应向量和扫描输出向量。
扫描链增强了芯片使用者对芯片内部寄存器的可控性和可观察性,在提高可测性的同时也可能增加芯片的安全风险。在有些芯片应用中,如密码芯片和通信芯片,需要将一些密钥信息或者其它安全信息存储在芯片内部的某些寄存器中。这些信息可以被用作硬件识别和安全认证,用于数据加密,或者其它目的。若芯片攻击者使用扫描链访问这些存储安全信息的寄存器,那有可能造成安全信息的泄露,给芯片的使用者造成巨大损失。
目前主要有以下三类方法来解决上述扫描测试的安全问题。
第一类是通过将存储有安全信息的寄存器从扫描链中移除,使得未授权的用户不能通过扫描链来获取寄存器内的安全信息,但是这类方案降低了芯片的可测性,增加了芯片的测试成本和难度。
第二类是限制芯片在功能模式和测试模式之间任意切换,进而使得攻击者不能利用扫描链探测芯片内部寄存器状态,但这类方案对面积的增加较大,并且由于改变了正常工作模式下的路径,不能提供全速测试(At-Speed Test),更为关键的是,该方法的安全性依赖于一两条关键控制信号,攻击者只需破坏这些关键信号线,即可通过扫描链任意访问存储有安全信息的寄存器。
第三类是在扫描路径中增加组合单元,对扫描链的测试图形进行硬件加密,使未授权的使用者不能利用扫描链的可控性对扫描寄存器置位,也不能利用扫描链的可观测性探测扫描寄存器的状态。这类方法实现成本低,具有较好的安全性。但是这类方法需要解决两个问题:抗击复位攻击和可行的安全测试方法。
发明内容
本发明的目的在于提供一种克服现有扫描链安全缺陷并能抗击复位攻击的安全扫描寄存器、安全扫描链及其测试方法。
为实现上述目的,本发明所采取的技术方案是:所述安全扫描寄存器由D触发器、异或门和二选一多路复用器等组成,所述D触发器的数据输入端与二选一多路复用器的输出端连接,所述D触发器的输出端与异或门的第一输入端相连,所述异或门的第二输入端与二选一多路复用器的第二数据输入端相连。
本发明含有上述安全扫描寄存器的安全扫描链由所述安全扫描寄存器和第一扫描寄存器级联构成,其中,最靠近安全扫描链的输出口的是第一扫描寄存器;每个所述第一扫描寄存器由一个D触发器和一个二选一多路复用器组成,且该D触发器的数据输入端与该二选一多路复用器的输出端连接;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的第一数据输入端连接到芯片的数据输入端或者功能路径的输出信号线以接收功能信号;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的第二数据输入端连接到芯片的扫描输入端或者扫描路径的输出信号线以接收扫描信号;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的控制输入端连接芯片的扫描使能端以接收扫描使能信号;
所述安全扫描寄存器和第一扫描寄存器的D触发器的时钟输入端连接到芯片的时钟输入端以接收时钟信号;
所述安全扫描寄存器中的D触发器的输出端连接到芯片的数据输出端或者功能路径的输入信号线以传递功能信号;
所述安全扫描寄存器中的异或门的输出端连接到扫描路径的输入信号线以传递扫描信号;
所述第一扫描寄存器中的D触发器的输出端连接到芯片的数据输出端或者功能路径的输入信号线以传递功能信号,并且,所述第一扫描寄存器中的D触发器的输出端还连接到芯片的扫描输出端或者扫描路径的输入信号线以传递扫描信号。
利用本发明的安全扫描链进行安全扫描的方法为:在进行扫描过程中,对于所述安全扫描链的扫描测试图形进行硬件加密,所述硬件加密的方法包括:
对所述扫描测试图形的测试向量进行扫描输入变换,得到扫描输入向量;
对所述扫描测试图形的响应向量和扫描输入向量进行扫描输出变换,得到扫描输出向量。
本发明扫描链通过对扫描测试图形进行硬件加密,使得攻击者不能对密码芯片进行基于扫描链的旁路攻击,进一步有效地保护了芯片中的密钥信息安全。
进一步地,本发明利用公式(1)-(3)对所述扫描测试图形的测试向量进行扫描输入变换,得到扫描测试图形的扫描输入向量:
SI=T·SIT    (1)
SIT = Π p = 1 k SIT ( p ) - - - ( 2 )
sit ( p ) i , j = 1 if ( i = jorj > i > n - p ) 0 otherwise ( where 1 ≤ i , j ≤ n ) - - - ( 3 )
以上各式中,SI表示所述扫描测试图形的扫描输入向量,该扫描输入向量为扫描测试中,安全扫描链移位操作时的输入向量;T表示扫描移位操作完成时,扫描链上各个扫描寄存器的状态构成的向量;n表示所述安全扫描链中所含的描寄存器的总个数,k表示该安全扫描链中的安全扫描寄存器的个数,1≤k<n;SIT(p)表示自所述安全扫描链的输出口数起的第p个安全扫描寄存器的输入特征矩阵,1≤p≤k;sit(p) i,j表示矩阵SIT(p)的第i行、第j列元素;矩阵的乘法是指对应行列元素乘积的异或。
进一步地,本发明利用公式(4)-(7)对所述扫描测试图形的扫描输入向量和响应向量进行扫描输出变换,得到扫描测试图形的扫描输出向量:
SO=SIR·SOT    (4)
SIR = si k , si k - 1 , . . . , si 1 , R - - - ( 5 )
SOT = &Pi; p = 1 k SOT ( p ) - - - ( 6 )
sot ( p ) i , j = 1 if ( i = j + 1 orj = i &le; n + p - q ) 0 otherwise where 1 &le; i &le; n + p 1 &le; j &le; n + p - 1 - - - ( 7 )
以上各式中,SO表示所述扫描测试图形的扫描输出向量,该扫描输出向量为扫描测试过程中,安全扫描链移位操作时的输出向量;R表示所述扫描测试图形的响应向量,该响应向量为扫描测试过程中,扫描捕获操作之后、扫描移位操作之前安全扫描链的状态向量;sik,sik-1,…,si1为所述扫描输入向量SI的后k个元素;SOT为所述安全扫描链的输出特征矩阵;n表示所述安全扫描链中所含的扫描寄存器的总个数,k表示该安全扫描链中的安全扫描寄存器的个数,1≤k<n,且自安全扫描链的输出口数起的第p个安全扫描寄存器在安全扫描链的所有扫描寄存器中的位置为自安全扫描链的输出口数起的第q个,且1≤p≤k,1<q≤n,p<q;SOT(P)表示自安全扫描链的输出口数起的第p个安全扫描寄存器所对应的输出特征矩阵;sot(p) i,j表示矩阵SOT(p)的第i行、第j列元素;矩阵的乘法是指对应行列元素乘积的异或。
与现有技术相比,本发明能抗击目前基于扫描链的各种安全攻击。由于芯片复位后扫描寄存器的扫描输出全为0,所以不能根据复位输出结果来推断安全扫描寄存器的结构,因此,本发明的安全扫描链能抗击复位攻击。本发明能以较小的面积代价获得足够的安全性,具有很好的实用性。
附图说明
图1为传统扫描寄存器的结构示意图;
图2为本发明两种安全扫描寄存器的示意性电路原理图,其中,(a)中的D触发器不带异步复位端和反向输出端,(b)中的D触发器带有异步复位端和反向输出端;
图3为本发明的一种安全扫描链的电路原理图;
图4为安全扫描链的扫描移位操作示意图。
具体实施方式
以下将参照附图结合具体的实施例来详细描述本发明。然而发明的实施方式不应该限于这里阐述的实施例。
为了简化起见,以下采用与端口相同的标号来表示输入该端或者从该端输出的信号,其中,“1”表示高电平,“0”表示低电平;“X”表示不确定的值;上箭头“↑”表示信号上升沿,下箭头“↓”表示信号下降沿。
图2(a)所示的电路原理图中,安全扫描寄存器包括以下4个输入端和2个输出端:
数据输入端(D端),用于接收功能输入信号;
扫描输入端(SI端),用于接收扫描输入信号;
扫描使能端(SE端),用于接收使能信号;
时钟输入端(CK端),用于接收寄存器时钟信号;
数据输出端(DO端),用于输出寄存器的功能输出;
扫描输出端(SO端),用于输出寄存器的扫描输出。
图2(a)示出的安全扫描寄存器的内部结构包含1个二选一多路复用器、1个D触发器和1个异或门。其中,二选一多路复用器包含2个数据输入端、1个使能输入端和1个输出端,且二选一多路复用器的第一数据输入端连接安全扫描寄存器的D端,第二数据输入端连接安全扫描寄存器的SI端,使能出入端连接安全扫描寄存器的SE端,二选一多路复用器的输出端连接D触发器的数据输入端;D触发器包含1个数据输入端、1个时钟输入端和1个输出端,如前所述,它的数据输入端连接二选一多路复用器的输出端,它的时钟输入端连接CK端,它的输出端连接安全扫描寄存器的DO端;异或门包括2个数据输入端和1个输出端,它的第一输入端连接安全扫描寄存器的DO端,第二输入端连接安全扫描寄存器的SI端,输出端连接安全扫描寄存器的SO端。
然而,本发明的安全扫描寄存器的实施方式不限于图2(a)所示的结构,图2(a)具体描述的电路结构仅为示意性的,本领域的技术人员可以想到可以实现根据示例实施例中二选一多路复用器、D触发器和异或门功能的各种不同电路。例如,图2(b)是另一个实施例的安全扫描寄存器的电路图。图2(b)所示的实施例与图2(a)所示的实施例的不同之处在于图2(b)中的D触发器和图2(a)中的D触发器不同:图2(b)中的D触发器含有一个异步复位输入端RN、一个反相数据输出端DON。
表1是图2(a)中所示安全扫描寄存器的真值表,其中DO[n-1]为上一个周期的DO值,DO’[n-1]为上一个周期的DO值的反,SO[n-1]为上一个周期的SO值。
图2(a)所示的安全扫描寄存器的功能特征在于:将SI端的值和DO端的值异或,并将异或结果从SO端输出。根据表1,该安全扫描寄存器的具体功能为:当CK上升沿到来时,若SE=0,则功能输出DO=D;若SE=1,则功能输出DO=SI,扫描输出SO为上一个DO值的和SI值的异或——若SI=0,则SO=DO[n-1],若SI=1,则SO=DO’[n-1]。
表1
D SI SE CK DO SO
1 X 0 1 X
0 X 0 0 X
X 1 1 1 DO’[n-1]
X 0 1 0 DO[n-1]
X X X DO[n-1] SO[n-1]
图3示意性示出本发明其中一种安全扫描链的结构。
参照图3,本发明安全扫描链可以包括多个扫描寄存器。图3中所示的扫描链包含5个扫描寄存器,从左往右,依次为扫描寄存器FF1、FF2、FF3、FF4和FF5,其中,FF1、FF3和FF5为第一扫描寄存器;安全扫描寄存器,FF2和FF4为安全扫描寄存器。本发明中,第一扫描寄存器通常可以使用图1所示的传统扫描寄存器。
含有安全扫描链的芯片的端口包含以下几类端口:
扫描输入端,用以接收扫描输入信号,如图3中所示的ScanIn端;
数据输入端,用以接收芯片外部数据(图3中未示出);
扫描使能端,用以接收扫描使能信号,如图3中所示的ScanEn端;
时钟输入端,用以接收时钟信号,如图3中所示的CLK端;
扫描输出端,用以传递扫描输出信号,如图3中所示的ScanOut端;
数据输出端,用以传递芯片数据输出信号,如图3中所示的DataOut端。
需要注意的是,上述扫描输入端也可由上述数据输入端复用得到,上述扫描输出端可由上述数据输出端复用得到。
对第一扫描寄存器FF1、FF3、FF5以及安全扫描寄存器FF2、FF4,它们的扫描使能端(SE端)连接到芯片的扫描使能端ScanEn,它们的时钟输入端(CK端)连接芯片的时钟输入端CLK,它们的数据输入端(D端)连接功能路径输出端(功能路径在图3中未示出)。
第一扫描寄存器FF1的输出端(Q端)连接到功能路径输入端和安全扫描寄存器FF2的扫描输入端(SI端);安全扫描寄存器FF2的扫描输出端(SO端)连接到第一扫描寄存器FF3的扫描输入端(SI端),安全扫描寄存器FF2的数据输出端(DO端)连接到功能路径输入端;第一扫描寄存器FF3的输出端(Q端)连接到功能路径输入端和安全扫描寄存器FF4的扫描输入端(SI端);安全扫描寄存器FF4的扫描输出端(SO端)连接到第一扫描寄存器FF5的扫描输入端(SI端),安全扫描寄存器FF4的数据输出端(DO端)连接到功能路径输入端;对输出口寄存器,也即第一扫描寄存器FF5,它的输出端(Q端)连接到芯片扫描输出端ScanOut和芯片数据输出端DataOut。值得注意的是,以上扫描路径上可以插入一个或者多个缓冲器(图中未标示),用以改善两个扫描寄存器之间的时序。
含有扫描链的芯片有两种工作模式——扫描模式和功能模式,并通过扫描使能信号控制扫描链在这两种工作模式下的切换。当扫描使能信号有效时,含有扫描链的芯片处于扫描模式,此时,扫描链寄存器通过扫描路径连接,扫描路径将各个扫描寄存器连接成一条扫描链,扫描链的功能类似于移位寄存器,在时钟沿的控制下,寄存器内的数据从上一个扫描寄存器的扫描输出端传递到下一个扫描寄存器的扫描输入端;当扫描使能信号无效时,芯片处在功能模式下,此时,扫描链寄存器通过功能路径连接,功能路径执行一系列的算术逻辑运算,以使芯片完成预先设计的正常功能,如数据加密,信号处理等。
图4为图3所示的安全扫描链的扫描移位操作。如图4所示,该图示意性示出了扫描移位操作的各个周期中,各个寄存器值的值以及此时扫描链的输入值、输出值。
芯片的扫描测试过程是由一系列的连续交替的扫描移位操作和扫描捕获操作构成,扫描移位操作将扫描输入矩阵移位输入进扫描链,同时将寄存器的响应向量移位输出,构成扫描输出向量,如图4所示,扫描输入向量SI为安全扫描链在周期0~周期4的输入值构成的向量,
SI = si n , . . . . , si 2 si 1
如图4所示,扫描输出向量SO为安全扫描链在周期1~周期5的输出值构成的向量,
SO = si 2 &CirclePlus; r 5 , si 1 &CirclePlus; r 4 , r 5 &CirclePlus; r 4 &CirclePlus; r 3 , r 3 &CirclePlus; r 2 , r 1
扫描移位操作完成时,扫描链上各个扫描寄存器的状态构成测试向量,如图4所示,测试向量T为安全扫描链在周期5时的状态向量,
T = si 5 , si 4 , si 4 &CirclePlus; si 3 , si 3 &CirclePlus; si 2 , si 3 &CirclePlus; si 1
扫描捕获操作过程中,扫描寄存器捕获从功能路径上的响应。扫描捕获操作完成之后,扫描移位操作开始之前,扫描链上各个扫描寄存器的的状态构成响应向量,如图4所示,测试向量R为安全扫描链在周期0时的状态向量,
R = r 5 , r 4 , r 3 , r 2 , r 1
扫描输入向量SI、扫描输出向量SO、测试向量T、响应向量R,构成本发明中的安全扫描链的测试图形(test pattern)。
图3所示的安全扫描链的扫描输入变换可以用下式表示,
SI=T·SIT
上式中,SIT为输入特征矩阵。需要注意的是,本发明中的矩阵与通常的矩阵不同:通常的矩阵乘法为对应行列元素乘积的和,而本发明中的矩阵的乘法定义为对应行列元素乘积的异或。
安全寄存器FF4和FF2所对应的输入特征矩阵分别为SIT(1),SIT(2),则SIT可由下式求解
SIT = SIT ( 1 ) &CenterDot; SIT ( 2 ) = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 = 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1
如图4所示, T = si 5 , si 4 , si 4 &CirclePlus; si 3 , si 3 &CirclePlus; si 2 , si 3 &CirclePlus; si 1 , 由此可得SI与T的线性变换关系为
SI = T &CenterDot; SIT = si 5 , si 4 , si 3 , si 2 , si 1
上式中,
Figure GDA0000386621160000115
表示异或运算。若测试向量T为{01010},则对应的输入向量SI为{01101}。
通过扫描输入变换,除非在能够确切猜中安全扫描链的结构,否则未授权的芯片使用者不能利用安全扫描链对安全扫描链上的扫描寄存器任意置位,这降低了未授权的芯片使用者对芯片的可控性。对授权的芯片使用者,比如,测试工程师,由于他们确切地知道安全扫描链的结构,可以通过所述的扫描输入变换,根据所述测试向量的值来推导出所述输入向量的值,完成正常的测试。因此,对于授权的芯片使用者,对芯片具有完全的可控性。
图3所示的安全扫描链的扫描输出变换可用以下两个式子表示,扫描输出向量SO是响应向量R以及输入向量SI的后2位的映射,
SO=SIR·SOT
SIR = si 2 si 1 , R
SOT表示输出特征矩阵,是一个7×5型的矩阵。向量SIR为输入向量SI的后2位si2、si1和响应向量R合并而成。设安全寄存器FF4和FF2所对应的输出特征矩阵分别为SOT(1),SOT(2),则SOT可由下式求解,
SOT = SOT ( 1 ) &CenterDot; SOT ( 2 ) = 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 = 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1
如图4所示,
SIR = si 2 si 1 , R = si 2 , si 1 , r 5 , r 4 , r 3 , r 2 , r 1
由此可得SO与R以及SI的线性变换关系为
SO = SIR &CenterDot; SOT = si 2 &CirclePlus; r 5 , si 1 &CirclePlus; r 4 , r 5 &CirclePlus; r 4 &CirclePlus; r 3 , r 3 &CirclePlus; r 2 , r 1
若扫描输入向量SI为{01101},响应向量R为{00101},则扫描输出向量SO为{01111}。
通过扫描输出变换,除非在能够确切猜中安全扫描链的结构,否则未授权的芯片使用者不能利用安全扫描链对安全扫描链上的扫描寄存器的状态任意扫描输出,这降低了未授权的芯片使用者对芯片的可控性。对授权的芯片使用者,比如,测试工程师,确切的知道安全扫描链的结构,可以通过所述的扫描输出变换,根据所述响应向量和输入向量的值来推导出所述输出向量的值,完成正常的测试。因此,对于授权的芯片使用者,对芯片具有完全的可观察性。
然而,本发明的安全扫描链的实施方式不限于图3所示的结构,本领域的技术人员可以根据具体安全要求,根据实际应用中的具体情况,选择合适的安全扫描寄存器个数以及安全扫描寄存器的位置分布。
对安全扫描链的复位攻击为将芯片复位后,对芯片进行扫描移位操作,然后根据扫描输出向量中1的个数和位置来确定安全扫描链中安全扫描寄存器个数和位置,进而推导出输入特征矩阵和输出特征矩阵,破解密钥信息。在本发明中,将芯片复位后,由于异或门的存在,0和0异或仍为0,对芯片进行扫描移位操作的输出结果全为0。因此,上述安全扫描链能抗击复位攻击。
若本发明安全扫描链的所有寄存器的总个数(总长度)为n,其中含有k个安全扫描寄存器,0<k<n-1。其结构有种可能组合,根据均匀分布的数学期望公式,猜中所述安全扫描链结构需要的平均次数为其结构组合数的一半,也即次(方括号“[]”代表取整函数)。当k等于[(n-1)/2]时,组合数取得最大值
Figure GDA0000386621160000133
平均需要次才能猜中所选的结构。
本发明中的安全扫描链结构的安全性和猜中其结构需要的平均次数成正比,也和其结构组合数成正比。当所述安全扫描寄存器的个数小于[(n-1)/2]时,前馈异或安全扫描寄存器的个数增加时,芯片的安全性增加,同时,扫描链的面积开销也在增加;当所述安全扫描寄存器的个数大于等于[(n-1)/2]时,所述安全扫描寄存器的个数增加时,芯片的安全性降低,同时,扫描链的面积开销也在增加。本发明安全扫描链中安全扫描寄存器的个数需要综合考虑其对安全性和面积的影响。
安全扫描链的安全性依赖于未授权的使用者不能猜中所选的安全扫描链结构。对一个使用65mnCMOS工艺的AES(Advanced Encryption Standard)密码电路,n=530,并设置k=20,则破解安全扫描链的需验证的平均结构数约为4.21×1035个,而引入安全扫描链带来的面积增加为61.60μm2,相当于AES密码芯片总面积的0.29%(芯片综合时的标准单元面积)。

Claims (2)

1.一种含有安全扫描寄存器的安全扫描链,其特征在于:它由安全扫描寄存器和第一扫描寄存器级联构成,所述安全扫描寄存器由D触发器、异或门和二选一多路复用器组成,所述D触发器的数据输入端与二选一多路复用器的输出端连接,所述D触发器的输出端与异或门的第一输入端相连,所述异或门的第二输入端与二选一多路复用器的第二数据输入端相连;其中,最靠近安全扫描链的输出口的是第一扫描寄存器;每个所述第一扫描寄存器由一个D触发器和一个二选一多路复用器组成,且该D触发器的数据输入端与该二选一多路复用器的输出端连接;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的第一数据输入端连接到芯片的数据输入端或者功能路径的输出信号线以接收功能信号;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的第二数据输入端连接到芯片的扫描输入端或者扫描路径的输出信号线以接收扫描信号;
所述安全扫描寄存器和第一扫描寄存器中的二选一多路复用器的控制输入端连接芯片的扫描使能端以接收扫描使能信号;
所述安全扫描寄存器和第一扫描寄存器的D触发器的时钟输入端连接到芯片的时钟输入端以接收时钟信号;
所述安全扫描寄存器中的D触发器的输出端连接到芯片的数据输出端或者功能路径的输入信号线以传递功能信号;
所述安全扫描寄存器中的异或门的输出端连接到扫描路径的输入信号线以传递扫描信号;
所述第一扫描寄存器中的D触发器的输出端连接到芯片的数据输出端或者功能路径的输入信号线以传递功能信号,并且,所述第一扫描寄存器中的D触发器的输出端还连接到芯片的扫描输出端或者扫描路径的输入信号线以传递扫描信号。
2.一种利用权利要求1的安全扫描链进行安全扫描的方法,其特征在于,在进行扫描过程中,对于所述安全扫描链的扫描测试图形进行硬件加密,所述硬件加密的方法包括:
利用公式(1)-(3)对所述扫描测试图形的测试向量进行扫描输入变换,得到扫描测试图形的扫描输入向量:
SI=T·SIT    (1)
SIT = &Pi; p = 1 k SIP ( P ) - - - ( 2 )
sit ( p ) i , j = 1 if ( i = jorj > i > n - p ) 0 otherwise ( where 1 &le; i , j &le; n ) - - - ( 3 )
以上各式中,SI表示所述扫描测试图形的扫描输入向量,该扫描输入向量为扫描测试中,安全扫描链移位操作时的输入向量;T表示扫描移位操作完成时,扫描链上各个扫描寄存器的状态构成的向量;n表示所述安全扫描链中所含的描寄存器的总个数,k表示该安全扫描链中的安全扫描寄存器的个数,1≤k<n;SIT(p)表示自所述安全扫描链的输出口数起的第p个安全扫描寄存器的输入特征矩阵,1≤p≤k;sit(p) i,j表示矩阵SIT(p)的第i行、第j列元素;矩阵的乘法是指对应行列元素乘积的异或;
利用公式(4)-(7)对所述扫描测试图形的扫描输入向量和响应向量进行扫描输出变换,得到扫描测试图形的扫描输出向量:
SO=SIR·SOT    (4)
SIR=[sik,sik-1,...,si1,R]    (5)
SOT = &Pi; p = 1 k SOT ( p ) - - - ( 6 )
sot ( p ) i , j = 1 if ( i = j + 1 orj = i &le; n + p - q ) 0 otherwise where 1 &le; i &le; n + p 1 &le; j &le; n + p - 1 - - - ( 7 )
以上各式中,SO表示所述扫描测试图形的扫描输出向量,该扫描输出向量为扫描测试过程中,安全扫描链移位操作时的输出向量;R表示所述扫描测试图形的响应向量,该响应向量为扫描测试过程中,扫描捕获操作之后、扫描移位操作之前安全扫描链的状态向量;sik,sik-1,…,si1为所述扫描输入向量SI的后k个元素;SOT为所述安全扫描链的输出特征矩阵;n表示所述安全扫描链中所含的扫描寄存器的总个数,k表示该安全扫描链中的安全扫描寄存器的个数,1≤k<n,且自安全扫描链的输出口数起的第p个安全扫描寄存器在安全扫描链的所有扫描寄存器中的位置为自安全扫描链的输出口数起的第q个,且1≤p≤k,1<q≤n,p<q;SOT(P)表示自安全扫描链的输出口数起的第p个安全扫描寄存器所对应的输出特征矩阵;sot(p) i,j表示矩阵SOT(p)的第i行、第j列元素;矩阵的乘法是指对应行列元素乘积的异或。
CN201110425609.XA 2011-12-16 2011-12-16 一种安全扫描寄存器、安全扫描链及其扫描方法 Expired - Fee Related CN102495360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110425609.XA CN102495360B (zh) 2011-12-16 2011-12-16 一种安全扫描寄存器、安全扫描链及其扫描方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110425609.XA CN102495360B (zh) 2011-12-16 2011-12-16 一种安全扫描寄存器、安全扫描链及其扫描方法

Publications (2)

Publication Number Publication Date
CN102495360A CN102495360A (zh) 2012-06-13
CN102495360B true CN102495360B (zh) 2014-05-07

Family

ID=46187201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110425609.XA Expired - Fee Related CN102495360B (zh) 2011-12-16 2011-12-16 一种安全扫描寄存器、安全扫描链及其扫描方法

Country Status (1)

Country Link
CN (1) CN102495360B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970013B (zh) * 2012-11-28 2015-03-25 中国人民解放军国防科学技术大学 基于扫描链的芯片内部寄存器复位方法及复位控制装置
CN102938642A (zh) * 2012-11-28 2013-02-20 中国人民解放军国防科学技术大学 基于扫描链的芯片内部寄存器的复位方法
CN103023467B (zh) * 2012-11-28 2016-01-20 中国人民解放军国防科学技术大学 基于扫描方式的寄存器复位方法及装置
CN103077051B (zh) * 2012-12-28 2015-09-30 华为技术有限公司 加载处理电路、方法和系统
US9026873B2 (en) * 2013-07-23 2015-05-05 Altera Coporation Method and apparatus for securing configuration scan chains of a programmable device
CN103746686B (zh) * 2014-01-26 2017-07-07 中国电子科技集团公司第五十八研究所 二维可扩展多路复用器的级联结构
US9564877B2 (en) * 2014-04-11 2017-02-07 Qualcomm Incorporated Reset scheme for scan chains with asynchronous reset signals
TWI603104B (zh) * 2015-09-14 2017-10-21 Integrated circuit with scan test and test method
CN106291337B (zh) * 2016-07-25 2020-01-07 瑞萨集成电路设计(北京)有限公司 一种用于扫描链测试中调整芯片模式的装置及方法
CN108073832B (zh) * 2016-11-15 2021-06-29 华为技术有限公司 一种数据安全保护方法及设备
CN106707139B (zh) * 2017-01-03 2019-06-04 大唐微电子技术有限公司 一种扫描链测试装置及实现方法
US10126363B2 (en) * 2017-02-08 2018-11-13 Mediatek Inc. Flip-flop circuit and scan chain using the same
US10317464B2 (en) * 2017-05-08 2019-06-11 Xilinx, Inc. Dynamic scan chain reconfiguration in an integrated circuit
CN108896903A (zh) * 2018-06-13 2018-11-27 天津大学 基于逻辑加密的逐次验证型安全扫描链装置和方法
CN110456260A (zh) * 2019-07-01 2019-11-15 南京邮电大学 一种密钥隔离安全扫描链电路
CN110677142A (zh) * 2019-09-09 2020-01-10 中国人民解放军国防科技大学 一种带扫描结构的无毛刺异步复位tspc型d触发器
CN111046444A (zh) * 2019-12-06 2020-04-21 合肥市卓怡恒通信息安全有限公司 基于国产芯片平台的存储加密系统及其模式切换方法和计算机
CN111130754B (zh) * 2019-12-16 2022-02-18 西安电子科技大学 一种扫描链的加密解密电路及集成电路
CN112684327B (zh) * 2020-11-30 2023-09-05 海光信息技术股份有限公司 扫描链及其设计方法和基于扫描链的串行扫描复位方法
CN112713886B (zh) * 2020-12-02 2023-09-15 海光信息技术股份有限公司 用于扫描寄存器复位的装置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043124A (zh) * 2009-10-12 2011-05-04 炬力集成电路设计有限公司 一种具有扫描链的集成电路和芯片测试方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4131651B2 (ja) * 2002-08-21 2008-08-13 富士通株式会社 スキャン機能を有する集積回路のレイアウト方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043124A (zh) * 2009-10-12 2011-05-04 炬力集成电路设计有限公司 一种具有扫描链的集成电路和芯片测试方法

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
Gaurav Sengar et.al..Secured Flipped Scan-Chain Model for Crypto-Architecture.《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》.2007,第26卷(第11期),第2080-2084页.
Modeling Scan Chain Modifications For Scan-in Test Power Minimization;Ozgur Sinanoglu et.al.;《ITC INTERNATIONAL TEST CONFERENCE》;20031231;第602-611页 *
Mukesh Agrawal et.al..Scan Based Side Channel Attacks on Stream Ciphers and Their Counter-Measures.《Lecture Notes in Computer Science.Heidelberg:Springer》.2008,第226-238页.
Ozgur Sinanoglu et.al..Modeling Scan Chain Modifications For Scan-in Test Power Minimization.《ITC INTERNATIONAL TEST CONFERENCE》.2003,第602-611页.
Scan Based Side Channel Attacks on Stream Ciphers and Their Counter-Measures;Mukesh Agrawal et.al.;《Lecture Notes in Computer Science.Heidelberg:Springer》;20081231;第226-238页 *
Secured Flipped Scan-Chain Model for Crypto-Architecture;Gaurav Sengar et.al.;《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》;20071130;第26卷(第11期);第2080-2084页 *
一个基于扫描方法的DFT设计与实现;张炜杰等;《微电子学与计算机》;20080531;第25卷(第5期);第169-172页 *
全扫描结构可测性设计方法的研究;祝永明等;《微电子学》;20020630;第32卷(第3期);第189-194页 *
张炜杰等.一个基于扫描方法的DFT设计与实现.《微电子学与计算机》.2008,第25卷(第5期),第169-172页.
扫描测试和扫描链的构造;肖忠辉等;《微电子技术》;19981231;第26卷(第4期);第23-27页 *
祝永明等.全扫描结构可测性设计方法的研究.《微电子学》.2002,第32卷(第3期),第189-194页.
肖忠辉等.扫描测试和扫描链的构造.《微电子技术》.1998,第26卷(第4期),第23-27页.

Also Published As

Publication number Publication date
CN102495360A (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
CN102495360B (zh) 一种安全扫描寄存器、安全扫描链及其扫描方法
Karmakar et al. Encrypt flip-flop: A novel logic encryption technique for sequential circuits
Cui et al. Static and dynamic obfuscations of scan data against scan-based side-channel attacks
US9927490B2 (en) Integrated circuit with secure scan enable
Fujiwara et al. Secure and testable scan design using extended de Bruijn graphs
CN106646203A (zh) 一种防止利用扫描链攻击集成电路芯片的动态混淆扫描链结构
Atobe et al. Dynamically changeable secure scan architecture against scan-based side channel attack
Kamali et al. SCRAMBLE: The state, connectivity and routing augmentation model for building logic encryption
CN108875431A (zh) 防止集成电路知识产权剽窃的动态混淆封装接口控制单元
Levi et al. Data-dependent delays as a barrier against power attacks
WO2007013306A1 (ja) 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム
EP1089083A1 (en) Semiconductor circuits having scan path circuits
CN109633422A (zh) 基于扫描混淆的加密芯片安全测试方法
CN105933108A (zh) 一种对sm4算法实现破解的方法
CN108683505A (zh) 一种高安全性apuf电路结构
CN108875430A (zh) 防止集成电路和知识产权核剽窃的动态混淆封装接口
Banik et al. Improved scan-chain based attacks and related countermeasures
Fujiwara et al. Strongly secure scan design using generalized feed forward shift registers
CN110456260A (zh) 一种密钥隔离安全扫描链电路
Liang et al. A Sequential Circuit-Based IP Watermarking Algorithm for Multiple Scan Chains in Design-for-Test.
Fujiwara et al. Secure scan design using shift register equivalents against differential behavior attack
Chen et al. Balancing testability and security by configurable partial scan design
Fujiwara et al. SREEP: Shift register equivalents enumeration and synthesis program for secure scan design
Mukhopadhyay et al. Testability of cryptographic hardware and detection of Hardware Trojans
Oya et al. Secure scan design using improved random order and its evaluations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140507

Termination date: 20191216