You are on page 1of 5

2080 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO.

11, NOVEMBER 2007

Secured Flipped Scan-Chain Model is not possible with this scheme. The cryptographic device can be a
for Crypto-Architecture part of a critical system that remains continuously ON (like satellite-
monitoring system). The method cannot be used to test Cipher Block
Gaurav Sengar, Debdeep Mukhopadhyay, and Chained encryptors, as after the device is switched off due to testing,
Dipanwita Roy Chowdhury all the previous blocks need to be encrypted again.
In [6], a lock-and-key technique was proposed, which uses a test
security controller (TSC). When a key is successfully entered, the
Abstract—Scan chains are exploited to develop attacks on cryptographic finite-state machine (FSM) of the TSC switches the chip to a secured
hardware and steal intellectual properties from the chip. This paper
proposes a secured strategy to test designs by inserting a certain number of mode, allowing normal scan-based testing. Otherwise, the device goes
inverters between randomly selected scan cells. The security of the scheme to an insecure mode and remains stuck until an additional test-control
has been analyzed. Two detailed case studies of RC4 stream cipher and pin is reset. The design suffers from the problem of large overhead due
AES block cipher have been presented to show that the proposed strategy to the design of the TSC. The TSC itself uses a large number of flip-
prevents existing scan-based attacks in the literature. The elegance of the
flops (for linear feedback shift registers (LFSRs) and FSMs), which
scheme lies in its less hardware overhead.
requires built-in self test for testing leading to an inefficient design.
Index Terms—Block ciphers, design_for_testability, hardware over-
Furthermore, the design uses an additional key (known as test key)
head, scan_based_test, scan-chain-based attacks, security margin, stream
ciphers. for security. If the cipher uses an n-bit key for its operation, a brute-
force attack would require 2n operations. If the design uses additional
t key bits for security, then, with a total of n + t bits of key, the design
I. I NTRODUCTION provides security equivalent to that of min(n, t) bits, which is not
desirable.
With the increase in the applications and complexity of crypto-
In [7], a scan-tree-based architecture with aliasing-free compactor
devices, reliability of such devices has raised concern. Scan chains
was proposed for testing of cryptographic devices. However, the
are the most popular testing technique due to their high fault coverage
design has the weakness of a large-area overhead due to the design
and least hardware overhead. However, scan chains open side channels
of compactors and its testing circuit. Normal computer-aided design
for cryptanalysis [1], [2]. Scan chains are used to access intermediate
(CAD) flow does not also support the design of scan-tree structures.
values stored in the flip-flops, thereby, ascertaining the secret informa-
Contribution of this paper: In this paper, we propose an elegant
tion, often known as key. Conventional scan chains fail to solve the
solution to the problem of testing cryptographic devices at the expense
conflicting requirements of effective testing and security [2]. In order
of very low-area overhead using inverters in the scan path. The design
to solve this challenging problem of efficiently testing cryptographic
works exactly like conventional scan chains and does not use any
chips, some research works have been proposed.
additional test key bits or clock cycles. Any conventional CAD flow
In [3], a scan-chain design based on scrambling was proposed which
can also synthesize the scan design and generate its test patterns
dynamically reorders the flip-flops in a scan chain. However, statistical
without any extra steps in the design flow. Testing of the additional
analysis of the information scanned out from chips can still determine
NOT gates is very simple. The flipped scan-chain architecture is also
the scan-chain structure and the secret information [4]. Furthermore,
amenable to online testing.
the area overhead and wiring complexity is high. The scrambler uses
This paper is organized as follows. Section II introduces the flipped
a control circuit, which requires flip-flops for their implementation.
scan-chain architecture and analyzes its security. In Section III, the
The control circuit uses a separate test key in order to program the
flipped scan chain is analyzed with respect to standard stream and
interconnections. Thus, if one uses scan chains to test the scrambler
block ciphers, like RC4 and AES. In Section IV, the overhead and the
circuit, the attack proposed in the study in [1] can be used to decode
security achieved is compared with the best reported solutions in this
the test key and, hence, break the scheme of reordering.
field. Section V discusses few additional points on flipped scan chains.
An interesting alternative and one of the best methods was proposed
This paper is concluded in Section VI.
in [4] and [5], where a secure scan-chain architecture with mirror
key register was provided. The scheme had an insecure and a secured
mode. When a crypto chip is in the insecure mode, it can be switched II. F LIPPED S CAN -C HAIN A RCHITECTURE
between the test mode and the normal mode similar to the general AND I TS S ECURITY A NALYSIS
scan-based design for testability (DFT). However, when a crypto chip
is in the secure mode, it can only stay in the normal mode. While a In this section, we first propose the new scan-chain architecture used
crypto chip can be switched from insecure mode to secure mode at to test cryptographic implementations. In this model, we introduce
any time, switching back from secure mode to insecure mode is only inverters or NOT gates (Fig. 1) at the input of the scan_in pin of the
done through a power OFF reset. But the method has the following scan D-flip flop (SDFF). We call the modified flip-flops flipped SDFF
shortcomings: Security is derived from fact that switching off power (FSDFF). In the flipped scan-chain model, it consists of both SDFFs
destroys the data in registers. In addition, at-speed or online testing and FSDFFs.
The modified scan-chain architecture is, thus, very similar to the
conventional scan chains except for the fact that there are inverters
Manuscript received June 27, 2006; revised October 30, 2006, January 23, at certain locations known to the designer only. The presence of
2007, and April 9, 2007. This paper was recommended by Associate Editor
NOT gates in the scan-data path does not hamper the normal function-
S. Hellebrand.
G. Sengar and D. R. Chowdhury are with the Department of Computer ality of the device. However, it prevents in analyzing the scan data
Science and Engineering, Indian Institute of Technology, Kharagpur 721302, in order to ascertain the intermediate values stored in the flip-flops.
India (e-mail: gaurav@cse.iitkgp.ernet.in; drc@cse.iitkgp.ernet.in). Proper placements of inverters can help in preventing existing scan-
D. Mukhopadhyay is with the Department of Computer Science and En-
gineering, Indian Institute of Technology, Madras 600036, India (e-mail:
chain-based attacks. Still the testing of the circuit can be performed
debdeep@cse.iitm.ernet.in). with the same efficiency of conventional scan chains oblivious of the
Digital Object Identifier 10.1109/TCAD.2007.906483 presence of inverters.

0278-0070/$25.00 © 2007 IEEE


IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 11, NOVEMBER 2007 2081

Fig. 2. Security analysis of the flipped scan chain.

the states of the flip-flops, as he is unaware of the locations of the


inverters. Let the flipped scan chain contain n flip-flops enumerated as
one to n. Let us indicate the fact that an inverter is placed on the link
Fig. 1. Flipped scan DFF. m using a variable am = 1, otherwise am = 0 (Fig. 2). Suppose the
attacker feeds in a pattern X = {X1 , X2 , . . . , Xn } through the scan-
In the following section, we show that the computation of the input pin. Due to the presence of the inverters, however, a different
configuration of the NOT gates and, in turn, the structure of the scan pattern I = {I1 , I2 , I3 , . . . , In } reaches the n flip-flops. The patterns
chain is hard. X and I are related by the following equations: I1 = X1 ⊕ a1 , I2 =
X2 ⊕ a1 ⊕ a2 , . . . , In = Xn ⊕ a1 ⊕ a2 , . . . , ⊕an .
Suppose the attacker sends in a pattern through the scan-input pin
A. Security Analysis and observes the pattern coming out of the scan-output pin when the
We define our design to be secure against scan-chain-based attacks design is in test mode. From the polarity of the input and output
when effort required to break the structure of the scan chain is pattern, the attacker is able to know whether an even or odd number of
computationally infeasible with modern-day computation. In order to inverters are present in the scan chain. Hence, he knows the value of
carry out the attack on ciphers with scan chains, one needs to ascertain a1 ⊕ a2 ⊕ · · · an+1 , as for n flip-flops, there are (n + 1) links to place
the scan structure [1]. Hence, we show first that when the positions of the inverters. However, using the scan chains, the attacker is unable
the inverters inside the scan chains are hidden to the attacker then the to ascertain the number of inverters between the scan-input pin and
task of determining the scan structure becomes infeasible. a flip flop, between any two flip-flops, or between a flip-flop and the
As a design rule, we place k = (n + 1)/2 inverters in a scan chain scan-output pin. Hence, the attacker cannot exploit the scan chain to
with n flip-flops. In the following result, we show that, even if the ascertain the values of a1 , a1 ⊕ a2 , . . . , a1 ⊕ a2 ⊕ · · · ⊕ an . Thus, as
attacker computes the number of inverters (k) from the number of flip- may be observed from the relations between the patterns I and X,
flops (n), the probability of his successfully guessing the structure of the attacker cannot obtain the values of the pattern I any better than
the scan chain is nearly 1/2n . guessing the values of n binary variables ai (1 ≤ i ≤ n). Similarly,
Theorem 1: For a flipped scan chain with n flip-flops and k = the attacker cannot observe the values of the n flip flops any better
(n + 1)/2 inverters, the probability to guess the correct structure than guessing the values of n variables ai (2 ≤ i ≤ n + 1).
by an attacker with the knowledge of n is nearly 1/2n . In the following section, we analyze the security of conventional
Proof: Let the number of flip-flops be n and the number of stream and block ciphers with flipped scan chains.
inverters placed be p. Hence, the number of structures possible is
n+1
Cp , where n+1 Cp means the number of ways of choosing p
III. S ECURITY A NALYSIS OF C ONVENTIONAL S TREAM AND
unordered elements from (n + 1) elements.
B LOCK C IPHERS W ITH F LIPPED S CAN A RCHITECTURES
Let us assume that attacker uses the knowledge that the number
of inverters is half the number of flip-flops, so we have p = (n + A. Security Analysis of RC4 Stream Cipher
1)/2. Therefore, the probability to guess the correct structure is now With Flipped Scan Chain
1/n+1 C(n+1)/2 .
For the analysis of the effectiveness of a flipped scan-chain model,
In order to compute the bound, we use the fact that the maximum
we first consider the RC4 circuit [9].
value of n+1 Cr is when r = (n + 1)/2. We combine this with
Brief Architecture of RC4 Stream Cipher: The RC4 stream
the fact that the maximum binomial coefficient (given by the above
cipher works in two phases: key setup and ciphering.
value) must be greater than the average of all the binomial coefficients,
There are two 256-B arrays, S-Box and K-Box. The S-array is
i.e., when r runs from zero to (n + 1). But, n+1 C(n+1)/2 > 2n+1 /
filled linearly, such as S0 = 0, S1 = 1, S2 = 2, . . . , S255 = 255. The
(n + 2) ⇒n+1 C(n+1)/2 > 2n+1−log2 (n+2) . And for large values of
K-array consists of the key, and i and j are two counters which are
n, n + 1 − log2 (n + 2) ≈ n. Hence, the probability of guessing the
initialized to zero. In the key-setup phase, the S-box is being modified
correct scan structure is nearly 1/2n . 
according to the following pseudocode.
Thus, if we have a scan chain of length 100 flip-flops, the probability
Key-setup phase
of guessing the correct structure is nearly 1/2100 . With modern-day
computational power, any algorithm with complexity on the order of for i = 0 to 255
280 is considered to be infeasible [8].
In order to perform scan-chain-based attacks, the attacker has to j = (j + Si + Ki ) mod 256
control and observe the states of the flip-flops in the scan chain. swap Si and Sj .
Attackers use the scan-input pins to control and the scan-output pins
to observe the internal states of the flip-flops. However, in the case of Once the key-setup phase is completed, the second phase generates
the flipped scan chain, the attacker is not able to control and observe the key stream K, which is XORed with the plaintext/ciphertext to
2082 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 11, NOVEMBER 2007

produce ciphertext/plaintext. We now show that the flipped scan chain


provides security when they are deployed to test stream ciphers.
Security Analysis: The attack proposed in [7] is shown to crack a
stream-cipher system. In this paper, we first show that when the scan
chain is implemented with the conventional structure the stream cipher
can be attacked using scan chains.
The attack methodology works in two phases. The first step is
to ascertain the position of all the important registers and, then, in
the second step, to scan out the values of those registers in order to
compute the key stream. In the context of RC4, the critical registers
are i, j, Si , and Sj . These are the registers used in the initial key-setup
phase and to determine the key stream. Once the key stream is known, Fig. 3. Flipped scan-chain structure implemented in AES.
the cipher is compromised as the ciphertext is an XOR between the
plaintext stream and the key stream.
When the cipher has conventional scan chains, one may ascertain How Flipped Scan Chain Prevents the Attack: In this case, the
the positions and, finally, the values of these registers. The attack works attacker cannot control or observe the values of the registers i, j,
as follows. Si , and Sj through the scan inputs and outputs due to the unknown
First, when the attacker takes control of the chip, he scans out the positions of the inverters. Hence, the steps of the above attack are
patterns which is the internal state of the registers. But he does not not successful in breaking the stream cipher. In our design, there are
know the required positions which he decides in the following steps. 176 flip-flops, and hence, we place 176/2 = 88 NOT gates. Thus, as
per Theorem 1, the probability for an attacker to guess the correct
1) Since i is an 8-bit counter, its values repeat after 256 clock
structure is nearly 2−176 , which is negligible. Either to control or
cycles. Hence, the positions of the bits of the i registers in the
observe the states of the 176 flip-flops, the attacker has to guess
scan chain can be easily determined. For example, the i[0] will
176 binary variables. Thus, the above scan-based attack is resisted.
toggle alternately, while the i[1] will toggle after every two clock
cycles. Similarly, the entire register can be determined.
2) We know the initial RAM configuration and the positions of B. Security Analysis of AES With Flipped Scan Chain
register i. Initially, S(i) = i, and the value is updated in the key-
setup phase. The value of the SRAM gets changed in the second Conventional block ciphers like AES are insecure against scan-
clock cycle. Therefore, we set the register i through the scan- chain-based attacks when designed with conventional scan chains
input path (since its position is already known). Then, the chip is [4]. The problem was circumvented using secure scan chains in [4].
run for the first clock cycle in normal mode and, then, scan out However, the solution imposes restrictions on the usage of the crypto-
the register values before letting the chip go to the second clock device: Online testing is not possible and that the crypto-device has to
cycle. Thus, in the scan-out patterns, the positions of the register be turned off to test the design. In order to alleviate these issues, we
Si can be known just like the register i as S(i) = i during the propose to insert flipped scan architecture with an additional nonlinear
first clock cycle. Hence, the value of i and Si can be controlled layer in an AES hardware implemented in 0.18-µm CMOS technology
from the scan-input pins. [1], as shown in Fig. 3. The nonlinear layer is kept unknown to an
3) The attacker now sets the key-input lines to zero. Therefore, the attacker.
value of Ki is zero. In addition, the attacker sets the values of There are various methods existing in literature describing the
the register Si to one through the scan path. Then, the design is construction of cryptographically robust S-Boxes (nonlinear layer).
run for the first clock cycle of the normal run. Thus, the update One of the interesting methods to systematically construct S-Boxes
equation of the register j is j = j + 1. Then, we scan out the is presented in [11]. This paper shows that the constructed S-Boxes
patterns. The next pattern which is to be scanned in is the same have high nonlinearity and are strong against differential and linear
as the scan-out pattern, except that the pattern for Si is set to one. Cryptanalysis. Informally, the method generates m × m S-Boxes
Then, we repeat the process, and since the register j behaves as concatenating k × k linear mappings, where k > m/2. The lin-
a counter, its positions can be determined easily. ear mappings are based on the combinatorial properties of group
4) In order to ascertain the position of Sj register, the attacker loads Hadamard matrices. This paper proves that all the generated S-Boxes
the Si register with known value in the test mode and runs the with parameters (m, k) are equally cryptographically robust against
chip for three clock cycles in normal mode. Since, Si and Sj Cryptanalysis and have the same nonlinearity. This paper mathemat-
values have swapped; therefore, Sj now contains the preset value ically establishes that, for an m × m S-Box, with parameters k >
m/2 and t = m − k, the number of S-Boxes possible by the method
of Si . Now, if he scans out the patterns, he can easily ascertain  k  k −1 
the positions of Sj registers in the scan path. is 2m−k ! 2 t−1 22m−k . Thus, when the value of m = 8, k = 5,
This completes the first phase of the attack. In the second phase,  31
and t = 3, the number of possible S-Boxes is as follows: #SBox =
the knowledge of the positions and the values of the registers i, 8! 31
3 8
= 1.43 × 1015 ≈ 250 . Similarly, when the value of m =
j, Si , and Sj can be used to determine all the memory contents 10, k = 7, and t = 3, the number of possible S-Boxes is approxi-
and, finally, backtrack to compute the value of the key stream K using mately 1.96 × 1022 > 274 .
the following equations: In order to prevent scan-chain-based attacks against AES, we re-
quire to first build m flipped scan chains and, then, to place an m × m
K(n) = St ; t = (Si (n) + Sj (n)) mod 256 nonlinear layer at the output of the flipped scan chains, as shown
i(n − 1) = (i(n) − 1) mod 256; Si (n − 1) = Sj (n) in Fig. 3. For the nonlinear layer, the designer randomly selects one
Sj (n − 1) = Si (n); j(n − 1) = j(n) − Si (n − 1) mod 256. construction out of the large number of possible cryptographically
strong S-Boxes.
The message stream can be decoded by xoring the observed cipher- In the following, we show that the flipped scan-chain architecture,
text stream with the computed key stream. along with the nonlinear layer, provides high security with very low
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 11, NOVEMBER 2007 2083

TABLE 1
OVERHEAD ANALYSIS OF FLIPPED SCAN CHAIN IN AES

Next, we show a case study for overhead analysis of the flipped scan
structure.

Fig. 4. Round operation of AES encryption. IV. O VERHEAD OF F LIPPED S CAN C HAIN FOR AES

overhead. The final structure is able to prevent the attack proposed In this section, we analyze the overhead of the flipped scan chain
in [4]. Fig. 4 shows the general structure of the AES algorithm [12]. in an AES hardware implemented using 0.18-µm CMOS technology
How Flipped Scan Chain Prevents the Attack Proposed in [4]: [10]. We analyze the overhead under two conditions: without key
We show that the attack on AES by [4] fails to crack the key for our scheduling (KS) (number of flip-flops 4048) and with KS (number of
AES circuit. In the attack, the first step is to guess the position of the flip-flops 6336). The flip-flops were divided into eight scan chains of
registers to obtain intermediate values of each step. The main motive is equal length. The output of the scan chains was transformed by an
to find the position of the register R (Fig. 4) by exploiting the property 8 × 8 nonlinear mapping of good cryptographic properties [11]. The
of Avalanche effect in good ciphers, where a change in 1-bit of input, gate count of the design of the nonlinear function was 159 gates.
several bits in the output get changed. In order to ascertain the positions The first row of Table I mentions that, in the AES design without
of the register R in the scan structure, the difference in the scan-out KS, the number of flip-flops per scan path is 506. We place ten
pattern was observed. NOT gates per scan chain. Hence, the overhead is due to 80 inverters
Once, the position of register R was ascertained, the second step and 159 gates for the nonlinear mapping. The probability of the
comes to play. In this step, two values of input plaintext were chosen, attacker to break the system is computed, as proved in Theorem 1
which differs in 1-byte. In addition, from the number of ones in the of Section III. If we assume that the attacker knows that there are
difference of the scanned out values of the register R, the values ten flip-flops in the scan chain, then according to Theorem 1, the
of register b was computed using differential property of the AES probability of success of the attacker is 1/(507 C10 ) = 2−70 . Similarly,
algorithm. Finally, with the values of a and the register b, the key for the remaining seven scan chains, the probability of the attacker to
value was calculated using the following: RK0 = B ⊕ A; RK01,1 = be successful is also negligible. Likewise, we compute the overhead
b1,1 ⊕ a1,1 . and security margin for the implementation of AES with KS. The area
The scan-chain-based attack on AES is prevented when the con- overhead of the proposed method was found to be less than 0.1%, as
ventional scan chain is replaced with the flipped scan chain, along compared to an overhead of 1% required for secured scan [4] and 17%
with the nonlinear layer, as shown in Fig. 3. We emphasize the point required for crypto scan [7].
that a stand-alone application of the nonlinear layer cannot prevent
scan-chain-based attacks. This is because, in order to maintain high
V. F URTHER D ISCUSSIONS ON F LIPPED S CAN C HAIN
observability, the nonlinear layer has to be invertible. Thus, without the
flipped scan chain, the attacker may control the input to the nonlinear There is a growing recognition in the industry that the conventional
layer and observe the output and, hence, easily determine the nonlinear scan chains that make ICs testable can potentially be used to break
mapping. However, it is because of the flipped scan chain that the encryption algorithms and steal intellectual properties of chips. Al-
attacker looses controllability and observability of the internal states though the works reported in [1], [4], and [7] focus on methodologies
of the design. for breaking encryption algorithms, scan chains also pose threat to all
The modified scan chain can successfully prevent scan-chain attacks kinds of intellectual property inside the chip. However, the flipped scan
on the AES hardware proposed in [4] because of the following chain is suitable to protect IP cores because it provides minimum con-
reasons. trollability and observability to an unintended user without reducing
1) The exploitation of differential values is now not possible due the fault coverage. The elegance of the method is due to the fact that
to the unknown nonlinear structure. This prevents the attacker to the area overhead is minimal.
ascertain the position of the register R. The security of the flipped scan chain against scan-based attacks
2) The presence of NOT gates in the scan path does not allow to depends on the fact that the attacker is unable to ascertain the structure
ascertain the mapping function of the nonlinear layer. This is of the scan chain due to the presence of inverters in the chain. Since,
because the attacker has no control over the input to the internal scan-chain data are streamed in and out synchronously with a clock,
structures of the design until he knows the structure of the flipped timing measurements does not reveal information about the number of
scan chain. inverters in a scan chain. Similarly, power measurements might reveal
3) Since step 1 fails, step 2 of attack cannot be performed. In information about the number of inverters but not their positions in
addition, it may be noted that step 2 is also not possible. This the scan chain. However, with the development of probing attacks,
is because the attacker requires to compute differences in the the flipped scan chain needs to be implemented carefully, with one
scanned-out values of register R, which is now obscured by the possibility being to use secret value to activate the inverters, so as not
nonlinear layer. to leak its structures to such attackers.
2084 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 11, NOVEMBER 2007

VI. C ONCLUSION Silicon Debug for Timing Errors


In this paper, a flipped scan-chain architecture is proposed to test Kai Yang and Kwang-Ting Cheng
cryptographic devices. The security of the scheme is analyzed, and the
results are supported with real-life cipher architectures. With proper
safeguards against probing attacks, the present scheme achieves secu- Abstract—Due to various sources of noise and process variations,
rity against existing scan-based attacks with very less area overhead. assuring a circuit to operate correctly at its desired operational fre-
quency has become a major challenge. In this paper, we propose a
The proposed scheme can be used to protect the intellectual property timing–reasoning-based algorithm and an adaptive test-generation algo-
of a chip, which is easily compromised using conventional scan chains. rithm for diagnosing timing errors in the silicon-debug phase. We first
derive three metrics that are strongly correlated to the probability of
a candidate’s being an actual error source. We analyze the problem of
R EFERENCES
circuit timing uncertainties caused by delay variations and test sampling.
[1] B. Yang, K. Wu, and R. Karri, “Scan based channel attack on dedicated Then, we propose a candidate-ranking heuristic, which is robust with
hardware implementation of data encryption standard,” in Proc. ITC, respect to such sources of timing uncertainty. Based on the initial ranking
Oct. 26–28, 2004, pp. 334–344. result and the timing information, we further propose an adaptive path-s-
[2] R. Kapoor, “Security vs. test quality: Are they mutually exclusive?” election and test-generation algorithm to generate additional diagnostic
in Proc. ITC, Oct. 26–28, 2004, p. 1414. patterns for further improvement of the first-hit-rate. The experimental
[3] D. Hely, M. Flottes, F. Bancel, B. Rouzeyre, N. Berard, and M. Renovell, results demonstrate that combining the ranking heuristic and the adaptive
“Scan design and secure chip,” in Proc. 10th IEEE IOLTS, Jul. 12–14, test-generation method would result in a very high resolution for timing
2004, pp. 219–226. diagnosis.
[4] B. Yang, K. Wu, and R. Karri, “Secure scan: A design-for-test architecture Index Terms—Author, please supply your own keywords or send a blank
for crypto-chips,” in Proc. 42nd DAC, 2005, pp. 135–140. e-mail to keywords@ieee.org to receive a list of suggested keywords.
[5] B. Yang, K. Wu, and R. Karri, “Secure scan: A design-for-
test architecture for crypto-chips,” IEEE Trans. Comput.-Aided
Design Integr. Circuits Syst., vol. 25, no. 10, pp. 2287–2293,
Oct. 2006. I. I NTRODUCTION
[6] J. Lee, M. Tehranipoor, C. Patel, and J. Plusquellic, “Securing scan design
using lock and key technique,” in Proc. 20th IEEE Int. Symp. DFT VLSI There is an increasing probability that a high-performance nanome-
Syst., 2005, pp. 51–62. ter device will fail at its desired clock frequency. The sources of
[7] D. Mukhopadhyay, S. Banerjee, D. RoyChowdhury, and B. Bhattacharya, timing failures include inaccurate delay modeling in the design phase,
“Cryptoscan: Secured scan chain architecture,” in Proc. 14th IEEE ATS,
2005, pp. 348–353. process variations, dynamic noise, and manufacturing defects. Once
[8] W. Stallings, Cryptography and Network Security. Englewood Cliffs, a defective chip which violates the timing specification is identified,
NJ: Prentice-Hall, 2003. diagnosis and silicon debug attempt to locate and fix the root cause
[9] P. Kitsos, G. Kostopoulos, N. Sklavos, and O. Koufopavlou, “Hard- of the failures. The diagnosis result can be further utilized for failure
ware implementation of the RC4 stream cipher,” in Proc. 46th IEEE
Midwest Symp. Circuits Syst., Cairo, Egypt, Dec. 27–30, 2003, vol. 3,
analysis and yield improvement. However, silicon debug for timing
pp. 1363–1366. failures remains a very challenging task.
[10] D. Mukhopadhyay and D. RoyChowdhury, “An efficient end to end design Several physical tools have been used to facilitate the root-cause-
of Rijndael cryptosystem in 0.18 µ CMOS,” in Proc. 18th Int. Conf. analysis process. However, utilizing physical probing tools for root-
VLSID, Jan. 3–7, 2005, pp. 405–410. cause analysis is very expensive and time-consuming. Diagnosis
[11] J. Seberry, X.-M. Zhang, and Y. Zheng, “Systematic generation of cryp-
tographically robust S-boxes,” in Proc. 1st ACM Conf. Comput. Commun. algorithms could be applied to reduce the number of candidates
Security, Fairfax, VA, 1993, pp. 171–182. and/or to rank-order them before employing the physical tools. The
[12] J. Daemen and V. Rijmen, The Design of Rijndael. New York: Springer- resolution and the first-hit-rate (F-H-R) of the rank-ordered candidates
Verlag, 2002. reported by the diagnosis process are critical factors in determining
the efficiency of silicon debug. The resolution is defined as the ratio
of the number of actual fault sites to the total number of reported
candidates. The F-H-R is defined as the number of candidates that
need to be examined for the root-cause analysis. If there are multiple
errors in the circuit, the objective of the diagnosis algorithm would be
to optimize the F-H-R for any of multiple error sources. This objective
makes sense because silicon debug is an iterative process in which
one bug is identified and fixed in each iteration [1], [2]. Unfortunately,
the existing timing-error-diagnosis methodologies suffer from either a
poor F-H-R or low scalability.
The existing methods can be classified into two categories:
1) fault-model-based diagnosis [3]–[8] and 2) reasoning-based diagno-
sis [9]–[12]. For a fault-model-based diagnosis, the cause of a timing
failure is modeled as a fault, such as a transition fault or a path-delay
fault. The diagnosis procedure is invoked to identify those faults that

Manuscript received May 17, 2006; revised January 20, 2007. This paper
was recommended by Associate Editor S. Hellebrand.
K. Yang is with Novas Software, Inc., San Jose, CA 95110 USA (e-mail:
kyang@novas.com).
K.-T. Cheng is with the University of California, Santa Barbara, CA 93106
USA.
Digital Object Identifier 10.1109/TCAD.2007.906479

0278-0070/$25.00 © 2007 IEEE

You might also like