KR102620784B1 - 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법 - Google Patents

보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법 Download PDF

Info

Publication number
KR102620784B1
KR102620784B1 KR1020210189267A KR20210189267A KR102620784B1 KR 102620784 B1 KR102620784 B1 KR 102620784B1 KR 1020210189267 A KR1020210189267 A KR 1020210189267A KR 20210189267 A KR20210189267 A KR 20210189267A KR 102620784 B1 KR102620784 B1 KR 102620784B1
Authority
KR
South Korea
Prior art keywords
scramble
key
scan chain
scan
chain circuit
Prior art date
Application number
KR1020210189267A
Other languages
English (en)
Other versions
KR20230099867A (ko
Inventor
강성호
장석준
Original Assignee
연세대학교 산학협력단
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 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020210189267A priority Critical patent/KR102620784B1/ko
Publication of KR20230099867A publication Critical patent/KR20230099867A/ko
Application granted granted Critical
Publication of KR102620784B1 publication Critical patent/KR102620784B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Burglar Alarm Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 실시예에 의한 보안 스캔 체인 회로는: 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들; 서로 다른 스캔 체인들 사이에서 데이터 경로를 스크램블하는 스크램블 다중화기(scramble MUX)들 및 골든 키(golden key)를 저장하고, 상기 키 셀이 제공하는 키와 상기 골든 키를 비교하고, 상기 비교 결과에 따라 상기 스크램블 다중화기(scramble MUX)들을 제어하되, 시프트 인 데이터는 정상 데이터 경로를 따라 전파하고, 캡쳐 데이터는 스크램블된 경로를 따라 전파하도록 제어하는 제어부를 포함한다. 본 실시예에 의하면, 인가되지 않은 사용자가 캡쳐된 데이터를 확인할 수 없어 높은 보안성을 가진다. 또한, 인가되지 않은 사용자가 테스트 패턴을 시프트 인하는 경우에는 경로 스크램블이 이루어지지 않도록 하여 보안 동작을 확인할 수 없어 높은 안전성을 가진다는 장점이 제공된다.

Description

보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법{SECURE SCAN CHAIN CIRCUIT AND SCAN CHAIN CIRCUIT SECURITY METHOD}
본 기술은 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법과 관련된다.
스캔 체인은 테스트 대상 소자를 간결하고, 신속하게 테스트할 수 있다는 장점이 있어 널리 사용되고 있다. 그러나, 스캔 체인은 테스트 대상 소자에 저장된 기밀 사항들을 획득할 수 있는 백도어(back-door)로 기능할 수 있어 그 보안이 요청된다.
스캔 체인 내 저장되어 있는 데이터 추출을 막기 위한 보안 키 방식의 기존 기술들의 경우 보안 키를 활용하여 다양한 방식으로 스캔 데이터 출력을 보호하고 있으나, 기본적인 테스트 패턴을 이용한 단순 패턴 시프팅 동작을 통해서도 보안 동작이 이루어 지고 있음을 쉽게 파악할 수 있다.
특정 입력 패턴에 대하여 보안 동작이 이루어 지고 있음이 파악되는 것은 보안 키 추론의 단서가 될 수 있어, 다수의 칩에 대한 많은 테스트 패턴 출력 결과를 분석하면 회로의 보안 기능을 상실할 수 있다.
본 기술로 해결하고자 하는 과제 중 하나는, 테스트 대상 회로에서 형성되는 데이터를 파악하는 것을 곤란하게 하며, 나아가 보안 동작이 이루어지고 있는지 파악하는 것도 파악할 수 없도록 하여 보안성을 더욱 강화하기 위한 것이다. 이로부터
본 실시예에 의한 보안 스캔 체인 회로는: 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들; 서로 다른 스캔 체인들 사이에서 데이터 경로를 스크램블하는 스크램블 다중화기(scramble MUX)들 및 골든 키(golden key)를 저장하고, 상기 키 셀이 제공하는 키와 상기 골든 키를 비교하고, 상기 비교 결과에 따라 상기 스크램블 다중화기(scramble MUX)들을 제어하되, 시프트 인 데이터는 정상 데이터 경로를 따라 전파하고, 캡쳐 데이터는 스크램블된 경로를 따라 전파하도록 제어하는 제어부를 포함한다.
본 실시예의 어느 한 측면에 의하면, 상기 스크램블 다중화기는, 제1 스캔 체인에 포함된 스캔 셀과 제2 스캔 체인에 포함된 스캔셀로부터 입력 받고, 상기 제1 스캔 체인에 포함된 스캔 셀에서 제공된 입력을 상기 제2 스캔 체인에 포함된 스캔 셀에 출력하여 상기 데이터 경로를 스크램블한다.
본 실시예의 어느 한 측면에 의하면, 상기 보안 스캔 체인 회로는, 상기 스캔 체인에 테스트 패턴을 시프트 인(shift in) 할 때 상기 데이터 경로의 스크램블을 수행하지 않고, 상기 테스트 대상 회로로부터 캡쳐된 데이터를 시프트 아웃(shift out) 할 때 상기 데이터 경로의 스크램블을 수행한다.
본 실시예의 어느 한 측면에 의하면, 상기 제어부는, 클록 신호와, 스캔 활성화 신호를 제공받고, 캡쳐 클록과 시프트 클록을 형성하는 클록 형성부를 포함한다.
본 실시예의 어느 한 측면에 의하면, 상기 제어부는, 상기 골든키를 저장하고, 상기 키 셀이 제공하는 키를 비교하되, 상기 캡쳐 클록에 따라 상기 골든 키와 상기 키 셀이 제공하는 키를 비트별로 비교하는 키 비교부를 포함한다.
본 실시예의 어느 한 측면에 의하면, 상기 제어부는, 상기 키 셀이 제공하는 키를 제공받고, 난수를 생성하는 난수 생성부와, 상기 스크램블 다중화기들이 순차적으로 스크램블 해제되도록 순차 해제 코드를 생성하는 해제 코드 생성부 및 상기 유사 난수와 상기 순차 해제 코드를 논리 연산하여 고장 주입 코드를 형성하는 로직부를 포함한다.
본 실시예의 어느 한 측면에 의하면, 상기 난수 생성부는 리니어 피드백 시프트 레지스터(LFSR, linear feedback shift register)이고, 상기 해제 코드 생성부는 스캔 데이터가 입력되는 측으로부터 순차적으로 상기 스크램블 다중화기가 스크램블 해제되도록 스크램블 해제 코드를 생성하는 카운터이다.
본 실시예의 어느 한 측면에 의하면, 상기 해제 코드 생성부는, 상기 순차적으로 스크램블 해제되는 상기 스크램블 다중화기들의 위치를 저장한다.
본 실시예의 어느 한 측면에 의하면, 상기 제어부는, 상기 로직부의 출력 값과 상기 스크램블 다중화기들의 스크램블을 해제하는 값이 입력되는 다중화기를 더 포함하며, 상기 다중화기는 상기 비교 결과에 따라 입력된 값 중 어느 하나를 출력한다.
본 실시예에 의한 스캔 체인 회로의 보안 방법은 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들로부터 키를 제공받는 단계와, 저장된 골든 키(golden key)와 상기 키 셀이 제공하는 키를 비교하는 단계와, 상기 비교 결과에 따라 시프트 인 데이터는 정상 데이터 경로를 따라 전파하고, 캡쳐 데이터는 스크램블된 경로를 따라 전파하는 단계를 포함한다.
본 실시예의 어느 한 측면에 의하면, 상기 캡쳐 데이터가 스크램블된 경로를 따라 전파하는 단계는 스크램블 다중화기에 의하여 이루어지며, 상기 스크램블 다중화기는, 제1 스캔 체인과 제2 스캔 체인에 포함된 스캔 셀들로부터 각각 입력을 제공받고, 상기 비교 결과에 따라 상기 제1 스캔 체인으로부터 제공된 입력을 상기 제2 스캔 체인에 출력하여 상기 데이터 경로를 스크램블한다.
본 실시예의 어느 한 측면에 의하면, 상기 스크램블하는 단계는, 상기 키 셀이 제공한 키로부터 난수를 형성하고, 상기 스크램블 다중화기들이 순차적으로 스크램블 해제되도록 순차 해제 코드를 생성하는 단계와, 상기 난수와 상기 순차 해제 코드를 로직 연산하여 고장 주입 코드를 형성하는 단계 및 상기 고장 주입 코드에 따라 상기 순차적으로 상기 스크램블 다중화기를 제어하여 수행한다.
본 실시예의 어느 한 측면에 의하면, 상기 키를 제공받는 단계는, 상기 스캔 체인에 테스트 패턴을 시프트 인(shift in)이 완료된 후 수행된다.
본 실시예의 어느 한 측면에 의하면, 상기 순차 해제 코드를 생성하는 단계는, 스캔 클록을 계수하여 저장된 상기 스크램블 다중화기의 위치와 비교하는 단계와, 서로 일치하면 상기 스크램블 다중화기가 스크램블 해제되도록 상기 순차 해제 코드를 형성한다.
본 실시예에 의하면, 인가되지 않은 사용자가 캡쳐된 데이터를 확인할 수 없어 높은 보안성을 가진다. 또한, 인가되지 않은 사용자가 테스트 패턴을 시프트 인하는 경우에는 경로 스크램블이 이루어지지 않도록 하여 보안 동작을 확인할 수 없어 높은 안전성을 가진다는 장점이 제공된다.
도 1은 본 실시예에 의한 보안 스캔 체인 회로의 개요를 도시한 도면이다.
도 2는 본 실시예에 의한 스캔 체인 회로의 보안 방법의 개요를 도시한 순서도이다.
도 3은 본 실시예의 제어부 개요를 도시한 도면이다.
도 4는 해제 코드 생성부의 동작을 설명하기 위한 도면이다.
도 5는 본 실시예에 의한 보안 스캔 체인 회로의 동작을 설명을 위한 개요도이다.
도 6은 스캔 클록(s_clk)이 세 주기 제공된 경우 보안 스캔 체인 회로의 동작을 설명을 위한 개요도이다.
도 7은 시프트 인되는 데이터가 스캔 체인의 마지막 스캔 셀 까지 도달한 상태를 예시한 도면이다.
이하에서는 첨부된 도면들을 참조하여 본 실시예에 의한 보안 스캔 체인 회로(10)를 설명한다. 도 1은 본 실시예에 의한 보안 스캔 체인 회로(10)의 개요를 도시한 도면이다. 도 1을 참조하면, 본 실시예에 의한 보안 스캔 체인 회로(10)는 캐스케이드로 연결된 스캔 셀(SC)과 하나 이상의 키 셀(key cell, KC)을 포함하는 복수의 스캔 체인들(100)과, 서로 다른 스캔 체인들 사이에서 데이터 경로를 스크램블하는 스크램블 다중화기(scramble MUX, M1, M2, M3, M4, M5)들 및 골든 키(golden key)를 저장하고, 상기 키 셀이 제공하는 키와 상기 골든 키를 비교하고, 상기 비교 결과에 따라 상기 스크램블 다중화기(scramble MUX)들을 제어하는 제어부(200)를 포함한다.
도 2는 본 실시예에 의한 스캔 체인 회로의 보안 방법의 개요를 도시한 순서도이다. 도 2를 참조하면, 본 실시예에 의한 스캔 체인 회로의 보안 방법은 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들로부터 키를 제공받는 단계(S100)와, 저장된 골든 키(golden key)와 상기 키 셀이 제공하는 키를 비교하는 단계(S200)와, 상기 비교 결과에 따라 스크램블 다중화기(scramble MUX)들을 제어하여 상기 스캔 체인의 데이터 경로를 스크램블하는 단계(S300)를 포함한다.
도 1 및 도 2를 참조하면, 스캔 체인(100)을 통하여 테스트 패턴(test pattern)을 입력받는다. 테스트 패턴은 스캔 체인(100)으로 순차적으로 시프트 인(shift in) 된다. 테스트 패턴은 일반적으로 스캔 체인(100)을 통하여 테스트 대상 소자(DUT, device under test, 미도시)에 제공된다. 테스트 대상 소자(DUT)는 입력된 테스트 패턴과 테스트 대상 소자의 내부 회로 및 테스트 대상 소자(DUT)에 발생한 고장에 상응하는 출력을 형성하여 출력한다. 테스트 대상 소자(DUT)가 형성한 출력은 스캔 체인(100)에 의하여 캡쳐(capture)되고, 스캔 체인(100)을 통하여 순차적으로 시프트 아웃(shift out)된다.
도 3은 본 실시예의 제어부(200)의 개요를 도시한 도면이다. 도 3을 참조하면, 이하에서는 도 1 내지 도 3을 참조하여 본 실시예에 의한 보안 스캔 체인 회로(10)의 동작을 살펴본다. 스캔 체인(100)은 캐스케이드로 연결된 스캔 셀(SC)들을 포함한다. 스캔 체인(100)을 통해 입력된 테스트 패턴은 순차적으로 스캔 체인을 따라 전파된다. 본 실시예에서, 테스트 패턴은 키 셀들(KC1, KC2, KC3, KC4, KC5)에 제공되는 키를 포함한다. 키 셀들(KC1, KC2, KC3, KC4, KC5)에 제공되는 키들은 통상의 테스트 패턴과 마찬가지로 순차적으로 시프트 인(shift in)되어 목적하는 키 셀들(KC1, KC2, KC3, KC4, KC5)에 제공될 수 있다.
일 실시예로, 각각의 키 셀(KC1, KC2, KC3, KC4, KC5)에 미리 정해진 키가 시프트 인되어 제공된 후, 캡쳐 단계에서 테스트 대상 회로(DUT)에서 형성된 데이터를 스캔 체인(100)으로 입력받는다. 또한, 캡쳐 단계에서 키 셀(KC1, KC2, KC3, KC4, KC5)들에 형성된 키는 키 비교부(210)에 제공된다.
키 비교부(210)는 키 셀(KC1, KC2, KC3, KC4, KC5)로부터 제공된 키(key)와 미리 정해진 골든 키(golden key)를 비교하고, 비교 결과에 상응하는 비교 신호(comp.)를 출력한다. 키 비교부(210)는 캡쳐 클록(c_clk)을 제공받고, 골든 키와 입력된 키를 순차적으로 비교하여 비교 결과에 상응하는 비교 신호(comp.)를 출력한다. 비교 신호(comp.)는 다중화기(MUX)에 제공되고, 다중화기(MUX)를 제어한다.
일 실시예로, 키 비교부(210)가 키 셀(KC1, KC2, KC3, KC4, KC5)로부터 제공된 키(key)와 미리 정해진 골든 키(golden key)를 비교하여 서로 일치하면 논리 로우의 비교 신호(comp.)를 출력한다. 다중화기(MUX)는 비교 신호(comp.)에 상응하는 논리 로우 상태의 고장 주입 신호(FI)를 출력한다.
논리 로우의 고장 주입 신호(FI)가 스크램블 다중화기(M1, M2, M3, M4, M5)에 제공됨에 따라 스크램블 다중화기(M1, M2, M3, M4, M5)들은 캡쳐된 데이터가 전송되는 경로를 스크램블하지 않는다. 따라서, 각 스캔 체인에 형성된 캡쳐 데이터는 정상적인 경로를 따라 출력된다.
이하에서는 키 셀들(KC1, KC2, KC3, KC4, KC5)로부터 제공된 키(key)와 미리 정해진 골든 키(golden key)가 서로 상이한 경우의 보안 스캔 체인 회로(10)의 동작을 살펴본다. 키 비교부(210)는 저장된 골든 키와 입력된 키(key)가 상이하면 논리 하이 상태의 비교 신호(comp.)를 출력하여 다중화기(MUX)가 고장 주입 신호(FI)를 출력하도록 제어한다.
캡쳐 단계 이후, 테스트 대상 소자(DUT)에 새로운 테스트 패턴을 입력하기 위하여 시프트 인 단계가 수행될 수 있으며, 이때, 스캔 활성화(SE) 신호가 활성화된다. 따라서 캡쳐 클록(c_clk)은 논리 로우 상태를 유지하고, 클록 비교부(210)에 의하여 비교 신호(comp.)는 논리 하이 상태를 유지한다.
스캔 클록(s_clk)이 제공됨에 따라 난수 발생기(240)는 난수(R)를 발생하여 출력한다. 일 실시예로, 키 비교부(210)는 키 셀(KC1, KC2, KC3, KC4, KC5)이 제공한 키(key)를 시드(seed)로 난수 발생기(240)에 제공한다. 난수 발생기(240)는 키 비교부(210)가 출력한 시드(seed)를 난수 발생의 시드로 삼아 난수(R)를 형성하여 출력한다. 일 실시예로, 난수 발생기(240)는 선형 피드백 시프트 레지스터(LFSR, linear feedback shift register)일 수 있다. 또한, 난수 발생기(240)는 스캔 클록(s_clk)이 제공될 때마다 이전에 형성하였던 난수(R)를 시드로 삼아 새로이 난수(R)를 형성하여 출력한다.
도 4는 해제 코드 생성부(230)의 동작을 설명하기 위한 도면이다. 도 1 내지 도 4를 참조하면, 해제 코드 생성부(230)는 스크램블 다중화기들(M1, M2, M3, M4, M5)이 순차적으로 스크램블 해제되도록 순차 해제 코드(clr)를 생성한다. 해제 코드 생성부(230)는 스캔 체인(100) 내 스크램블 다중화기(M1, M2, M3, M4, M5)의 위치에 상응하는 값을 저장할 수 있다. 일 예로, 시프트인 된 데이터가 해당 다중화기에 도달하는데 필요한 클록의 개수를 저장할 수 있다. 일 예로, 스크램블 다중화기(M1)의 위치로 1, 스크램블 다중화기(M2)의 위치로 3, 스크램블 다중화기(M3)의 위치로 4의 값을 저장할 수 있다.
해제 코드 생성부(230)는 입력된 스캔 클록(s_clk)의 개수가 저장된 값에 상응하면 미리 정해진 비트에서 인접한 비트로 값을 천이하는 카운터일 수 있다. 일 예로, 미리 정해진 비트는 MSB 일 수 있으며, 미리 저장된 회수의 스캔 클록이 제공되면 LSB 측으로 인접한 비트를 논리 하이에서 논리 로우로 천이하여 출력할 수 있다. 다른 예로 미리 정해진 비트는 LSB 일 수 있으며, 미리 저장된 회수의 스캔 클록이 제공되면 MSB 측으로 인접한 비트를 논리 로우에서 논리 하이로 천이하여 출력할 수 있다.
해제 코드 생성부(230)는 스캔 클록(s_clk)이 입력된 회수와 저장된 값을 비교한다. 스크램블 다중화기(M1)의 위치와 입력된 스캔 클록(s_clk_)의 주기가 서로 상응하므로, 해제 코드 생성부(230)는 스크램블 다중화기(M1)가 스크램블 해제되도록 순차 해제 코드(clr)를 생성하여 출력한다.
도 4로 예시된 실시예에서, 캡쳐시 이진수 [11111]로 형성된 순차 해제 코드(clr)는 스캔 클록(s_clk)이 한 주기 제공됨에 따라 MSB가 0으로 전환되어 이진수 [01111]로 전환된다. 순차 해제 코드(clr)는 난수(R)와 AND 연산되어 고장 주입 코드(FI)를 형성한다.
도 5는 본 실시예에 의한 보안 스캔 체인 회로의 동작을 설명을 위한 개요도이다. 도 5를 참조하면, 고장 주입 코드(FI)의 MSB는 순차 해제 코드(clr)의 MSB가 0으로 형성됨에 따라 반드시 0으로 제한된다. 이와 같이 형성된 고장 주입 코드(FI)의 MSB는 상응하는 위치의 스크램블 다중화기(M1)에 제공된다. 따라서, 캡쳐 단계 이후 시프트인 되는 데이터들은 스크램블 다중화기(M1)가 데이터 경로를 스크램블 하지 않아 정상적인 경로를 따라 시프트 인 된다.
그러나, 고장 주입 코드(FI)의 MSB 이외의 비트가 제공되는 스크램블 다중화기(M2, M3, M4, M5)는 순차 해제 코드(clr)와 난수(R)와의 논리 연산 결과에 따라 동작한다. 도 5로 예시된 실시예에 의하면 스크램블 다중화기(M2, M3, M5)는 논리 하이 상태의 고장 주입 코드(FI)가 제공되므로, 스크램블 다중화기(M2, M3, M5)는 캡쳐된 데이터가 전송되는 데이터 경로를 스크램블한다. 따라서, 스캔 체인(100)의 외부에서는 테스트 대상 소자(DUT)에서 캡쳐된 데이터를 파악할 수 없다.
도 6은 스캔 클록(s_clk)이 세 주기 제공된 경우 보안 스캔 체인 회로의 동작을 설명을 위한 개요도이다. 도 1 내지 도 6을 참조하면, 스캔 클록(s_clk)이 세 주기 제공된 경우 스크램블 다중화기(M3)의 위치와 입력된 스캔 클록(s_clk_)의 주기가 서로 상응하므로, 해제 코드 생성부(230)는 스크램블 다중화기(M1, M2)가 스크램블 해제되도록 순차 해제 코드(clr) [00111]를 생성하여 출력한다.
순차 해제 코드(clr)는 난수(R)와 논리 연산되어 고장 주입 코드(FI)를 형성한다. 고장 주입 코드(FI)의 MSB측 두 비트는 항상 0이므로, 스크램블 다중화기들(M1, M2)는 시프트 인 데이터가 전파되는 경로를 스크램블하지 않는다. 따라서 시프트 인되는 데이터들은 정상적인 경로를 따라 시프트인된다.
그러나, MSB 측 두 비트 이외의 고장 주입 코드(FI)가 제공되는 스크램블 다중화기(M3, M4, M5)는 순차 해제 코드(clr)와 난수(R)와의 논리 연산 결과에 따라 동작한다. 도 5로 예시된 실시예에 의하면 스크램블 다중화기(M2, M3, M5)는 논리 하이 상태의 고장 주입 코드(FI)가 제공되므로, 스크램블 다중화기(M3, M4)는 캡쳐된 데이터가 전송되는 데이터 경로를 스크램블한다.
도 7은 시프트 인되는 데이터가 스캔 체인의 마지막 스캔 셀 까지 도달한 상태를 예시한 도면이다. 도 7을 참조하면, 해제 코드 생성부(230)가 생성한 순차 해제 코드(clr)는 [00000]으로 형성된다. 따라서, 난수(R)와 논리 연산을 수행하여도 모두 0으로 형성되므로 스크램블 다중화기(M1, M2, M3, M4, M5)는 데이터 전송 경로를 스크램블하지 않고, 모두 정상적인 경로를 따라 시프트 인되는 데이터를 전송한다.
또한, 캡쳐된 데이터는 난수(R)와 순차 해제 코드(clr)와의 논리 연산에 의하여 형성된 고장 주입 코드에 따라 제어되는 스크램블 다중화기(M1, M2, M3, M4, M5)에 의하여 스크램블된 데이터 경로를 따라 전파된다. 따라서, 스캔 체인 회로의 외부에서 테스트 대상 회로에 저장된 기밀 데이터, 테스트 대상 회로의 주요한 구성을 파악할 수 없다.
본 발명에 대한 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 실시를 위한 실시예로, 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
10: 보안 스캔 체인 회로
100: 스캔 체인
M1, M2, M3, M4, M5: 스크램블 다중화기
200: 제어부 210: 키 비교부
220: 클록 형성부 230: 해제 코드 생성부
240: 난수 발생기

Claims (14)

  1. 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들;
    서로 다른 스캔 체인들 사이에서 데이터 경로를 스크램블하는 스크램블 다중화기(scramble MUX)들 및
    골든 키(golden key)를 저장하고, 상기 키 셀이 제공하는 키와 상기 골든 키를 비교하고, 상기 비교 결과에 따라 상기 스크램블 다중화기(scramble MUX)들을 제어하되, 시프트 인 데이터는 정상 데이터 경로를 따라 전파하고, 캡쳐 데이터는 스크램블된 경로를 따라 전파하도록 제어하는 제어부를 포함하고,
    상기 제어부는,
    상기 키 셀이 제공하는 키를 제공받고, 난수를 생성하는 난수 생성부와,
    상기 스크램블 다중화기들이 순차적으로 스크램블 해제되도록 순차 해제 코드를 생성하는 해제 코드 생성부 및
    상기 난수와 상기 순차 해제 코드를 논리 연산하여 고장 주입 코드를 형성하는 로직부를 포함하는 보안 스캔 체인 회로.
  2. 제1항에 있어서,
    상기 스크램블 다중화기는,
    제1 스캔 체인에 포함된 스캔 셀과 제2 스캔 체인에 포함된 스캔셀로부터 입력 받고,
    상기 제1 스캔 체인에 포함된 스캔 셀에서 제공된 입력을 상기 제2 스캔 체인에 포함된 스캔 셀에 출력하여 상기 데이터 경로를 스크램블하는 보안 스캔 체인 회로.
  3. 제1항에 있어서,
    상기 보안 스캔 체인 회로는,
    상기 스캔 체인에 테스트 패턴을 시프트 인(shift in) 할 때 상기 데이터 경로의 스크램블을 수행하지 않고,
    테스트 대상 회로로부터 캡쳐된 데이터를 시프트 아웃(shift out) 할 때 상기 데이터 경로의 스크램블을 수행하는 보안 스캔 체인 회로.
  4. 제1항에 있어서,
    상기 제어부는,
    클록 신호와, 스캔 활성화 신호를 제공받고,
    캡쳐 클록과 시프트 클록을 형성하는 클록 형성부를 포함하는 보안 스캔 체인 회로.
  5. 제4항에 있어서,
    상기 제어부는,
    상기 골든키를 저장하고, 상기 키 셀이 제공하는 키를 비교하되,
    상기 캡쳐 클록에 따라 상기 골든 키와 상기 키 셀이 제공하는 키를 비트별로 비교하는 키 비교부를 포함하는 보안 스캔 체인 회로.
  6. 삭제
  7. 제1항에 있어서,
    상기 난수 생성부는 리니어 피드백 시프트 레지스터(LFSR, linear feedback shift register)이고,
    상기 해제 코드 생성부는 스캔 데이터가 입력되는 측으로부터 순차적으로 상기 스크램블 다중화기가 스크램블 해제되도록 스크램블 해제 코드를 생성하는 카운터인 보안 스캔 체인 회로.
  8. 제1항에 있어서,
    상기 해제 코드 생성부는,
    상기 순차적으로 스크램블 해제되는 상기 스크램블 다중화기들의 위치를 저장하는 보안 스캔 체인 회로.
  9. 제1항에 있어서,
    상기 제어부는,
    상기 로직부의 출력 값과
    상기 스크램블 다중화기들의 스크램블을 해제하는 값이 입력되는 다중화기를 더 포함하며,
    상기 다중화기는 상기 비교 결과에 따라 입력된 값 중 어느 하나를 출력하는 보안 스캔 체인 회로.
  10. 각각 캐스케이드로 연결된 스캔 셀과 하나 이상의 키 셀(key cell)을 포함하는 복수의 스캔 체인들로부터 키를 제공받는 단계와,
    저장된 골든 키(golden key)와 상기 키 셀이 제공하는 키를 비교하는 단계와,
    상기 비교 결과에 따라 시프트 인 데이터는 정상 데이터 경로를 따라 전파하고, 캡쳐 데이터는 스크램블된 경로를 따라 전파하는 단계를 포함하고,
    상기 캡쳐 데이터가 스크램블된 경로를 따라 전파하는 단계는 스크램블 다중화기에 의하여 이루어지며,
    상기 스크램블 다중화기는,
    제1 스캔 체인과 제2 스캔 체인에 포함된 스캔 셀들로부터 각각 입력을 제공받고,
    상기 비교 결과에 따라 상기 제1 스캔 체인으로부터 제공된 입력을 상기 제2 스캔 체인에 출력하여 상기 데이터 경로를 스크램블하며,
    상기 스크램블은,
    상기 키 셀이 제공한 키로부터 난수를 형성하고, 상기 스크램블 다중화기들이 순차적으로 스크램블 해제되도록 순차 해제 코드를 생성하는 단계와,
    상기 난수와 상기 순차 해제 코드를 로직 연산하여 고장 주입 코드를 형성하는 단계 및
    상기 고장 주입 코드에 따라 상기 순차적으로 상기 스크램블 다중화기를 제어하여 수행하는 스캔 체인 회로 보안 방법.
  11. 삭제
  12. 삭제
  13. 제10항에 있어서,
    상기 키를 제공받는 단계는,
    상기 스캔 체인에 테스트 패턴을 시프트 인(shift in)이 완료된 후 수행되는 스캔 체인 회로 보안 방법.
  14. 제10항에 있어서,
    상기 순차 해제 코드를 생성하는 단계는,
    스캔 클록을 계수하여 저장된 상기 스크램블 다중화기의 위치와 비교하는 단계와,
    서로 일치하면 상기 스크램블 다중화기가 스크램블 해제되도록 상기 순차 해제 코드를 형성하는 스캔 체인 회로 보안 방법.
KR1020210189267A 2021-12-28 2021-12-28 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법 KR102620784B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210189267A KR102620784B1 (ko) 2021-12-28 2021-12-28 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210189267A KR102620784B1 (ko) 2021-12-28 2021-12-28 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법

Publications (2)

Publication Number Publication Date
KR20230099867A KR20230099867A (ko) 2023-07-05
KR102620784B1 true KR102620784B1 (ko) 2024-01-02

Family

ID=87159098

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210189267A KR102620784B1 (ko) 2021-12-28 2021-12-28 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법

Country Status (1)

Country Link
KR (1) KR102620784B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505059A (ja) 2005-08-10 2009-02-05 エヌエックスピー ビー ヴィ 秘密情報を含む集積回路の試験
JP2011107930A (ja) * 2009-11-17 2011-06-02 Sony Corp 半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505059A (ja) 2005-08-10 2009-02-05 エヌエックスピー ビー ヴィ 秘密情報を含む集積回路の試験
JP2011107930A (ja) * 2009-11-17 2011-06-02 Sony Corp 半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hadi Mardani Kamali 외 3인, ‘SCRAMBLE: The State, Connectivity and Routing Augmentation Model for Building Logic Encryption’, 2020 IEEE Computer Society Annual Symposium on VLSI, 2020.08.04.*

Also Published As

Publication number Publication date
KR20230099867A (ko) 2023-07-05

Similar Documents

Publication Publication Date Title
KR100297154B1 (ko) 의사난수발생회로및이를채용한데이터통신시스템
Nandi et al. Theory and applications of cellular automata in cryptography
Lee et al. Securing scan design using lock and key technique
US10361873B2 (en) Test point-enhanced hardware security
KR20000016179A (ko) N-비트입력값을변환된n-비트출력값으로변환하는장치및방법
US20120093308A1 (en) Apparatus and method for generating random data
Atobe et al. Secure scan design with dynamically configurable connection
Luo et al. A new countermeasure against scan-based side-channel attacks
Mukhopadhyay et al. CryptoScan: A secured scan chain architecture
CN112422272A (zh) 一种防功耗攻击的aes加密方法及电路
Vaghani et al. On securing scan design through test vector encryption
US20210391985A1 (en) Defense of jtag i/o network
Banik et al. Improved scan-chain based attacks and related countermeasures
Huang et al. Trace buffer attack on the AES cipher
KR102620784B1 (ko) 보안 스캔 체인 회로 및 스캔 체인 회로 보안 방법
US5222142A (en) Sequence generator
Thangam et al. A novel logic locking technique for hardware security
EP1258796A2 (en) Copy protection method and system for a field-programmable gate array
Rudra et al. Designing stealthy trojans with sequential logic: A stream cipher case study
Chen et al. Scan chain based IP fingerprint and identification
Kalligeros et al. Oracle-based logic locking attacks: Protect the oracle not only the netlist
US20210083868A1 (en) Dynamic secret key security system for test circuit and method of the same
Gong et al. Hardware Trojan side-channels based on physical unclonable functions
Das et al. Challenge-response based secure test wrapper for testing cryptographic circuits
Mukhopadhyay et al. Testability of cryptographic hardware and detection of hardware Trojans

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant