KR20190083996A - Apparatus and method for protecting data in test mode - Google Patents

Apparatus and method for protecting data in test mode Download PDF

Info

Publication number
KR20190083996A
KR20190083996A KR1020190001193A KR20190001193A KR20190083996A KR 20190083996 A KR20190083996 A KR 20190083996A KR 1020190001193 A KR1020190001193 A KR 1020190001193A KR 20190001193 A KR20190001193 A KR 20190001193A KR 20190083996 A KR20190083996 A KR 20190083996A
Authority
KR
South Korea
Prior art keywords
scan
signal
register value
reset
mode
Prior art date
Application number
KR1020190001193A
Other languages
Korean (ko)
Other versions
KR102220662B1 (en
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 주식회사 아이씨티케이 홀딩스
Publication of KR20190083996A publication Critical patent/KR20190083996A/en
Application granted granted Critical
Publication of KR102220662B1 publication Critical patent/KR102220662B1/en

Links

Images

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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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

Abstract

Disclosed are an apparatus and a method for protecting data in a test mode. The apparatus for protecting data comprises: a first AND operator performing an AND operation on a scan mode signal for determining whether to operate in one of the scan mode and the normal mode, and on a delay signal in which the scan mode signal is delayed for a predetermined time; and a second AND operator performing an AND operation on a scan reset signal for determining whether to reset the operation result output from the first AND operator and a register value. Then, whether to reset the register value is finally determined based on the final reset signal output from the second AND operator.

Description

테스트 모드에서 데이터 보호 장치 및 방법{APPARATUS AND METHOD FOR PROTECTING DATA IN TEST MODE}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a data protection apparatus,

아래의 설명은 테스트 모드에서 데이터 보호 장치 및 방법에 관한 것으로, 보다 구체적으로는 스캔 테스트 모드에서 데이터를 보호하는 장치 및 방법에 관한 것이다.The following description relates to a data protection apparatus and method in a test mode, and more particularly, to an apparatus and method for protecting data in a scan test mode.

집적회로 칩과 같은 반도체 디바이스를 테스트하는 방법 중 하나로서 스캔 테스트 방식이 널리 이용되고 있다.BACKGROUND ART As a method of testing semiconductor devices such as integrated circuit chips, a scan test method is widely used.

일반적으로 스캔 테스트는 로직 회로 내의 플립플롭(Flip-Flop)을 스캔 플립플롭(Scan Flip-Flop)으로 대체(replace)시키고, 스캔 플립플롭을 하나 또는 복수 개의 시프트 체인(Shift Chain)으로 구성하여 테스트하는 방법으로서, 시프트 입력, 병렬 로딩 및 시프트 출력을 반복적으로 수행하는 방식이 많이 이용된다.Generally, a scan test is performed by replacing a flip-flop in a logic circuit with a scan flip-flop and configuring a scan flip-flop in one or a plurality of shift chains, A method of repeatedly performing shift input, parallel loading, and shift output is often used.

다만, 집적회로 칩 내부에 키 레지스터와 같은 중요 정보가 보관되고 있는 경우, 스캔 테스트 모드를 이용한 중요 정보의 해킹 시도 가능성을 배제할 수 없다. 따라서, 스캔 테스트 모드를 이용한 외부의 공격에 대응하여 중요 정보의 누출을 방지하고 데이터를 안전하게 보호할 수 있는 방법이 필요하다.However, if important information such as a key register is stored in the integrated circuit chip, it is impossible to exclude the possibility of attempting to hack important information using the scan test mode. Therefore, there is a need for a method capable of preventing leakage of important information and safely protecting data in response to an external attack using the scan test mode.

본 발명은 스캔 테스트 모드를 통해 칩 내부의 중요한 정보의 해킹을 시도하여도 누출 없이 안전하게 데이터를 보호할 수 있다.The present invention can safely protect data without leakage even if a hacking of important information inside the chip is attempted through the scan test mode.

본 발명은 스캔 테스트 모드를 통하여 칩 내부에 중요한 정보(예컨대, 키 값)를 빼내려는 칩 해킹이 시도될 경우, 필연적으로 보호되어야 하는 키 값이 누출되지 않도록 하기 위한 장치 및 방법이 제공될 수 있다.The present invention can be provided with an apparatus and a method for preventing a key value that is inevitably to be protected from being leaked when chip hacking is attempted to extract important information (e.g., a key value) in the chip through the scan test mode .

본 발명은 스캔 테스트 모드와 스캔 리셋을 조합하여 스캔 모드 리셋 상태를 제어하여 레지스터 값을 외부 공격으로부터 보호할 수 있다.The present invention can protect a register value from an external attack by controlling a scan mode reset state by combining a scan test mode and a scan reset.

일실시예에 따른 데이터 보호 장치는 스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호 및 상기 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호에 앤드 연산(AND operation)을 수행하는 제1 앤드 연산기(AND operator); 및 상기 제1 앤드 연산기로부터 출력된 연산 결과 및 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호에 앤드 연산을 수행하는 제2 앤드 연산기를 포함하고, 상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호에 기초하여 상기 레지스터 값의 리셋 여부가 최종적으로 결정된다.A data protection apparatus according to an embodiment of the present invention includes a scan mode signal for determining whether to operate in a scan mode or a normal mode, an AND operation for delaying the scan mode signal by a predetermined time, A first AND operator (AND operator) for performing the first AND operation; And a second end operator for performing an end operation on a scan reset signal for determining whether to reset the operation result and the register value output from the first end operator, wherein the second end operator is based on the final reset signal output from the second end operator And whether to reset the register value is finally determined.

일실시예에 따른 데이터 보호 장치는 직렬로 연결된 복수의 플립플롭들(flip-flops; F/Fs)을 더 포함하고, 상기 복수의 플립플롭들은 상기 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킬 수 있다.The data protection device according to an embodiment may further include a plurality of flip-flops (F / Fs) connected in series, and the plurality of flip-flops may delay the scan mode signal by a predetermined time .

일실시예에 따른 데이터 보호 장치에서 상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호가 로우(low)이면 상기 레지스터 값이 리셋되고, 하이(high)이면 상기 레지스터 값이 액티브될 수 있다.In the data protection apparatus according to an exemplary embodiment, the register value may be reset if the last reset signal output from the second end operator is low, and the register value may be active if the last reset signal is high.

일실시예에 따른 데이터 보호 장치는 스캔 로직(scan logic)이 구성되지 않은 경로의 출력단에 배치되어 레지스터 값을 가지는 플립플롭; 및 STM 신호에 기초하여, 상기 플립플롭으로부터 출력되는 상기 레지스터 값 및 미리 정해진 데이터 중 어느 하나를 출력하는 선택 엘리먼트를 포함한다.A data protection apparatus according to an embodiment includes a flip-flop having a register value disposed at an output terminal of a path in which scan logic is not configured; And a selection element for outputting either one of the register value and predetermined data output from the flip-flop, based on the STM signal.

일실시예에 따른 데이터 보호 장치에서 상기 선택 엘리먼트는 상기 STM 신호가 로우이면 상기 레지스터 값을 출력하고, 상기 STM 신호가 하이이면 상기 미리 정해진 데이터를 출력할 수 있다.In the data protection device according to an exemplary embodiment, the selection element may output the register value if the STM signal is low and may output the predetermined data if the STM signal is high.

일실시예에 따른 데이터 보호 장치에서 상기 플립플롭은 포지티브 에지-트리거드 정적 D-타입 플립플롭(positive edge-triggered static D-type flip-flop)일 수 있다.In a data protection apparatus according to an embodiment, the flip-flop may be a positive edge-triggered static D-type flip-flop.

일실시예에 따른 데이터 보호 장치에서 상기 플립플롭은 테스트 폴터 커버리지(test faults coverage)를 향상시키기 위한 컨트롤 셀로 동작하는 FD2SQ 셀일 수 있다.In a data protection apparatus according to an embodiment, the flip-flop may be an FD2SQ cell operating as a control cell for improving test faults coverage.

일실시예에 따른 데이터 보호 방법은 스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호 및 상기 스캔 모드 신호에 제1 앤드 연산을 수행하는 단계; 및 상기 제1 앤드 연산의 결과 및 상기 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호에 제2 앤드 연산을 수행하는 단계를 포함하고, 상기 제2 앤드 연산의 결과인 최종 리셋 신호에 기초하여 상기 레지스터 값의 리셋 여부가 최종적으로 결정될 수 있다.The data protection method according to an embodiment of the present invention includes a delay signal delaying a scan mode signal for determining whether to operate in a scan mode or a normal mode by a predetermined time and a first end operation on the scan mode signal ; And performing a second end operation on a scan reset signal that determines whether the result of the first end operation and the register value is reset, wherein the second end operation is performed based on a final reset signal resulting from the second end operation, Whether or not to reset the value can be finally determined.

일실시예에 따른 데이터 보호 방법에서 상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호가 로우(low)이면 상기 레지스터 값이 리셋되고, 하이(high)이면 상기 레지스터 값이 액티브될 수 있다.In the data protection method according to an exemplary embodiment, the register value may be reset if the last reset signal output from the second end operator is low, and the register value may be active if the final reset signal is high.

일실시예에 따르면, 노멀 모드로 동작 중 스캔 테스트 모드로 전환하여 공격 시도가 있는 경우, 스캔 모드로 전환할 경우에는 항상 레지스터 값을 삭제하도록 제어하여 중요한 정보가 포함된 레지스터 값이 유출되지 않게 할 수 있다.According to an exemplary embodiment, when an attempt is made to switch to a scan test mode while operating in the normal mode, and when an attempt is made to switch to the scan mode, the register value is always cleared to prevent a register value including important information from being leaked .

일실시예에 따르면, 스캔 테스트 모드에서는 중요한 정보가 있는 레지스터를 고정된 값으로 만들어 주는 스캔 컨트롤 셀로 제어될 수 있다.According to one embodiment, in the scan test mode, the scan control cell can be controlled to make a register having important information a fixed value.

일실시예에 따르면, 스캔 테스트 모드를 사용하여 칩의 테스트 타임과 커버리지를 함께 향상시킬 수 있으며, 보안 칩에서 중요한 데이터인 키 값을 스캔 공격으로 보호할 수 있으므로 보안이 강화된 칩을 제공할 수 있다.According to one embodiment, the test time and coverage of the chip can be improved together by using the scan test mode, and the key value, which is important data in the security chip, can be protected by the scan attack, have.

일실시예에 따르면, 스캔 테스트 모드에서 보호되어야 하는 중요한 레지스터 값을 포함하는 장치는 스캔 컨트롤 셀로 보호할 수 있다.According to one embodiment, a device containing an important register value to be protected in a scan test mode may be protected by a scan control cell.

도 1은 일실시예에 따른 데이터 보호 장치를 나타낸 도면이다.
도 2 및 도 3은 일실시예에 따른 데이터 보호 장치의 동작을 설명하기 위한 타이밍 차트이다.
도 4는 다른 일실시예에 따른 데이터 보호 장치를 나타낸 도면이다.
도 5는 다른 일실시예에 따른 데이터 보호 장치에 포함된 플립플롭의 동작을 설명하기 위한 테이블이다.
도 6은 일실시예에 따른 데이터 보호 방법을 나타낸 도면이다.
1 is a block diagram illustrating a data protection apparatus according to an exemplary embodiment of the present invention.
FIG. 2 and FIG. 3 are timing charts for explaining the operation of the data protection apparatus according to one embodiment.
4 is a diagram illustrating a data protection apparatus according to another embodiment of the present invention.
FIG. 5 is a table for explaining the operation of the flip-flop included in the data protection apparatus according to another embodiment.
6 is a diagram illustrating a data protection method according to an embodiment of the present invention.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of embodiments are set forth for illustration purposes only and may be embodied with various changes and modifications. Accordingly, the embodiments are not intended to be limited to the particular forms disclosed, and the scope of the present disclosure includes changes, equivalents, or alternatives included in the technical idea.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second, etc. may be used to describe various elements, but such terms should be interpreted solely for the purpose of distinguishing one element from another. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected or connected to the other element, although other elements may be present in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the described features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The specific structural or functional descriptions below are illustrated for purposes of illustration only and are not to be construed as limiting the scope of the embodiments to those described in the text. Those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the scope of the present invention. In addition, the same reference numerals shown in the drawings denote the same members, and the well-known functions and structures are omitted.

일실시예에 따른 데이터 보호 장치는 외부 공격자가 스캔 모드를 이용하여 레지스터 값을 알아내고자 칩 내부 공격을 시도하여도 레지스터 값이 누출되지 않게 하는 장치일 수 있다. 여기서, 레지스터 값은 보호하고자 하는 키 값으로서, PUF 랜덤 넘버(Physical Unclonable Function random number), TRNG 랜덤 넘버(True Random Number Generator random number) 등을 포함할 수 있다.The data protection device according to an embodiment may be a device that prevents an external attacker from leaking a register value even if an external attacker tries to attack the chip to find the register value using the scan mode. Here, the register value may include a PUF random number, a TRNG random number generator random number, and the like as a key value to be protected.

일실시예에 따른 데이터 보호 장치는 노멀 모드(normal mode)에서 스캔 모드(scan mode)로 전환되면서 중요한 정보가 포함된 레지스터 값이 유출되지 않도록 스캔 모드로 전환 시 레지스터 값을 리셋시킬 수 있다. 여기서, 노멀 모드는 칩이 정상적으로 동작하는 모드를 나타내고, 스캔 모드는 테스트 대상 회로를 포함하는 칩의 스캔 입력 포트를 통해 스캔 경로에 스캔 패턴을 입력해서 스캔 출력 포트를 통해 출력되는 출력 값을 사전 설정된 예측 값과 비교하여 칩의 결함 유무를 검사하는 스캔 테스트를 위한 모드를 나타낼 수 있다.The data protection apparatus according to the embodiment can reset the register value when switching to the scan mode so that the register value including the important information does not leak while the scan mode is changed from the normal mode. In the scan mode, a scan pattern is input to a scan path through a scan input port of a chip including a circuit to be tested, and an output value output through the scan output port is set in a predetermined It is possible to indicate a mode for a scan test in which a chip is checked for a defect by comparing with a predicted value.

또한, 다른 일실시예에 따른 데이터 보호 장치는 스캔 모드에서는 중요한 정보가 포함된 레지스터 값을 미리 정해진 고정된 값으로 출력되도록 제어할 수 있다.In addition, the data protection apparatus according to another embodiment can control the register value including important information to be output as a predetermined fixed value in the scan mode.

이하, 도면들을 참조하여 데이터 보호 장치의 동작에 대해 상세히 설명한다.Hereinafter, the operation of the data protection apparatus will be described in detail with reference to the drawings.

도 1은 일실시예에 따른 데이터 보호 장치를 나타낸 도면이다.1 is a block diagram illustrating a data protection apparatus according to an exemplary embodiment of the present invention.

도 1을 참조하면, 일실시예에 따른 데이터 보호 장치(100)는 제1 앤드 연산기(AND operator)(110) 및 제2 앤드 연산기(130)를 포함한다.Referring to FIG. 1, the data protection apparatus 100 includes a first AND operator 110 and a second end operator 130.

제1 앤드 연산기(110)는 스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호 SCAN_MODE 및 스캔 모드 신호 SCAN_MODE를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호 SM_DLY에 앤드 연산(AND operation)을 수행한다. 예를 들어, 스캔 모드 신호 SCAN_MODE가 로우(low)이면 칩이 노멀 모드로 동작하고, 스캔 모드 신호 SCAN_MODE가 하이(high)이면 칩이 스캔 모드로 동작할 수 있다. The first AND operator 110 adds a scan mode signal SCAN_MODE for determining whether to operate in a scan mode or a normal mode and an AND operation for a delay signal SM_DLY for delaying the scan mode signal SCAN_MODE by a predetermined time, ). For example, if the scan mode signal SCAN_MODE is low, the chip operates in the normal mode, and if the scan mode signal SCAN_MODE is high, the chip can operate in the scan mode.

스캔 모드 신호 SCAN_MODE는 직렬로 연결된 복수의 플립플롭들(flip-flops; F/Fs)(120)에 의해 미리 정해진 시간만큼 딜레이될 수 있다. 복수의 플립플롭들(120)은 넌 스캔 플립플롭(none scan F/F)으로, 비동기식 액티브-로우 리셋(asynchronous active-low reset; RN)에 해당하는 스캔 리셋 신호 SCAN_RESET와 스캔 클럭 신호 SCAN_CLOCK도 입력될 수 있다. 이전 플립플롭의 출력이 다음 플립플롭으로 입력되며, 이와 같이 복수의 플립플롭들을 거치면서 스캔 모드 신호 SCAN_MODE가 미리 정해진 시간만큼 딜레이된 딜레이 신호 SM_DLY가 결정될 수 있다.The scan mode signal SCAN_MODE may be delayed by a predetermined time by a plurality of flip-flops (F / Fs) 120 connected in series. The plurality of flip-flops 120 is a non-scan flip flop (none scan F / F), and a scan reset signal SCAN_RESET corresponding to an asynchronous active-low reset (RN) and a scan clock signal SCAN_CLOCK . The output of the previous flip-flop is input to the next flip-flop, and thus the delay signal SM_DLY in which the scan mode signal SCAN_MODE is delayed by a predetermined time while passing through the plurality of flip-flops can be determined.

제1 앤드 연산기(110)는 스캔 모드 신호 SCAN_MODE 및 딜레이 신호 SM_DLY 중 적어도 하나가 로우이면, 로우인 연산 결과 SM_RST를 출력할 수 있다. 또는, 제1 앤드 연산기(110)는 스캔 모드 신호 SCAN_MODE 및 딜레이 신호 SM_DLY가 모두 하이이면, 하이인 연산 결과 SM_RST를 출력할 수 있다.The first AND operator 110 may output a low-level operation result SM_RST if at least one of the scan mode signal SCAN_MODE and the delay signal SM_DLY is low. Alternatively, if the scan mode signal SCAN_MODE and the delay signal SM_DLY are both high, the first AND operator 110 can output the operation result SM_RST which is high.

제2 앤드 연산기(130)는 제1 앤드 연산기(110)로부터 출력된 연산 결과 SM_RST 및 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호 SCAN_RESET에 앤드 연산을 수행한다. 제2 앤드 연산기(130)의 앤드 연산으로 출력된 최종 리셋 신호 SCAN_RST에 기초하여 레지스터 값의 리셋 여부가 최종적으로 결정될 수 있다.The second AND operation unit 130 performs an AND operation on the operation result SM_RST output from the first AND operator 110 and the scan reset signal SCAN_RESET for determining whether to reset the register value. Whether to reset the register value can be finally determined based on the last reset signal SCAN_RST output by the end operation of the second AND operation unit 130. [

예를 들어, 스캔 리셋 신호 SCAN_RESET는 칩의 동작 상태를 결정하기 위한 신호로서, 스캔 리셋 신호 SCAN_RESET이 하이이면 칩이 액티브 상태로 동작하며, 스캔 리셋 신호 SCAN_RESET이 로우이면 칩에 포함된 레지스터 값이 리셋될 수 있다.For example, the scan reset signal SCAN_RESET is a signal for determining the operation state of the chip. If the scan reset signal SCAN_RESET is high, the chip is operated in the active state. If the scan reset signal SCAN_RESET is low, .

제2 앤드 연산기(130)는 연산 결과 SM_RST 및 스캔 리셋 신호 SCAN_RESET 중 적어도 하나가 로우이면, 로우인 최종 리셋 신호 SCAN_RST를 출력할 수 있다. 또는, 제2 앤드 연산기(130)는 연산 결과 SM_RST 및 스캔 리셋 신호 SCAN_RESET이 모두 하이이면, 하이인 최종 리셋 신호 SCAN_RST를 출력할 수 있다.The second end operator 130 may output the last reset signal SCAN_RST that is low if at least one of the operation result SM_RST and the scan reset signal SCAN_RESET is low. Alternatively, the second end operator 130 may output the final reset signal SCAN_RST, which is high if the operation result SM_RST and the scan reset signal SCAN_RESET are both high.

최종 리셋 신호 SCAN_RST는 본 발명에서 외부 공격으로부터 중요 데이터인 레지스터 값을 보호하기 위해 제안되는 것으로, 최종 리셋 신호 SCAN_RST에 기초하여 레지스터 값의 리셋 여부가 최종적으로 결정될 수 있다. 예를 들어, 최종 리셋 신호 SCAN_RST가 하이이면 칩이 액티브 상태로 동작하여 레지스터 값이 리셋되지 않고, 최종 리셋 신호 SCAN_RST가 로우이면 레지스터 값이 리셋될 수 있다.The final reset signal SCAN_RST is proposed in the present invention in order to protect the register value which is important data from the external attack, and it can be ultimately determined whether the register value is reset based on the final reset signal SCAN_RST. For example, if the last reset signal SCAN_RST is high, the chip operates in an active state so that the register value is not reset, and if the last reset signal SCAN_RST is low, the register value can be reset.

도 2 및 도 3은 일실시예에 따른 데이터 보호 장치의 동작을 설명하기 위한 타이밍 차트이다.FIG. 2 and FIG. 3 are timing charts for explaining the operation of the data protection apparatus according to one embodiment.

일실시예에 따른 스캔 테스트를 위한 스캔 모드에서는 언제든지 패턴 분석을 통하여 보호되어야 하는 중요한 데이터(예컨대, PUF 키, 공개키(Public Key), 암호화 키 등)가 공격자에 의해 탈취될 가능성이 존재한다. 이러한 외부 공격을 대비하기 위해서는 두 가지 동작구간으로 구분할 필요가 있다. 다시 말해, 스캔 테스트를 진행하는 정상적인 동작 구간 및 스캔 테스트를 이용한 물리적 공격 구간으로 구분될 수 있다. 이 때, 스캔 테스트를 이용한 물리적 공격 구간은 스캔 모드가 정상적으로 종료되지 않은 상태에서 스캔 모드 신호 SCAN_MODE가 하이에서 로우로 변경되는 구간을 나타낼 수 있다.In a scan mode for a scan test according to an exemplary embodiment, there is a possibility that important data (for example, a PUF key, a public key, an encryption key, etc.) to be protected at any time through pattern analysis is seized by an attacker. To cope with such an external attack, it is necessary to distinguish between two operation sections. In other words, it can be divided into a normal operation section for performing a scan test and a physical attack section using a scan test. At this time, the physical attack period using the scan test may indicate a period in which the scan mode signal SCAN_MODE changes from high to low while the scan mode is not normally terminated.

일실시예에 따른 정상적인 동작 구간에서는 칩이 정상적으로 동작하여야 하며, 스캔 테스트를 이용한 물리적 공격 구간에서는 레지스터 키가 탈취되지 않아야 한다.In a normal operation period according to an exemplary embodiment, the chip should operate normally and the register key should not be stolen in a physical attack period using a scan test.

이를 위해, 칩이 정상적으로 동작할 때에는 데이터가 모두 레지스터 셀에 저장되게 되며, 이러한 레지스터 셀이 리셋되면 고정된 값이 출력되게 될 수 있다. 레지스터 셀에 어떠한 값을 가지고 있더라도, 리셋을 통해 셀이 초기화되어 레지스터 값 탈취 전에 저장된 레지스터 값이 삭제될 수 있다.To this end, when the chip is operating normally, all data is stored in the register cell, and a fixed value may be output when the register cell is reset. Even if the register cell has any value, the cell can be initialized by resetting and the register value stored before the register value is taken can be deleted.

도 2를 참조하면, 일실시예에 따른 스캔 테스트를 진행하는 정상적인 동작 구간에서 노멀 모드에서 스캔 모드로 전환될 때 최종 리셋 신호가 결정되는 과정을 나타낸 타이밍 차트가 도시된다.Referring to FIG. 2, a timing chart illustrating a process of determining a final reset signal when a scan mode is changed from a normal mode in a normal operation period in which a scan test according to an exemplary embodiment is performed.

일실시예에 따른 스캔 백도어 공격(SCAN backdoor attack)은 노멀 모드에서 스캔 모드로 전환될 때 레지스터 값의 해킹을 시도할 수 있다. 다시 말해, 노멀 모드에서 스캔 모드로 전환할 때가 공격 포인트(attack point)가 될 수 있다. 이 때, 스캔 리셋이 수행되지 않으면, 스캔 모드로 변경되기 전 노멀 모드의 레지스터 값이 계속 유지될 수 있기 때문에 별도의 조치가 필요하다.A SCAN backdoor attack according to an exemplary embodiment may attempt to hack a register value when switching from the normal mode to the scan mode. In other words, when switching from the normal mode to the scan mode, it may become an attack point. At this time, if the scan reset is not performed, the register value of the normal mode may be maintained before the scan mode is changed, so an extra measure is necessary.

따라서, 노멀 모드로 동작 중 스캔 모드로의 변환이 요청되면, 모든 레지스터 값을 리셋시킴으로써, 모든 값을 초기화시켜 레지스터 값 탈취를 막을 수 있다. 이는 스캔 모드 리셋 로직(SCAN Mode Reset logic)으로 지칭될 수 있다.Therefore, when the conversion into the scan mode is requested during the operation in the normal mode, resetting all the register values can initialize all the values to prevent the register value from being taken. This may be referred to as scan mode reset logic (SCAN Mode Reset logic).

도 2에서, 스캔 모드 신호 SCAN_MODE가 로우에서 하이로 변경됨에 따라, 칩의 동작 모드도 노멀 모드에서 스캔 모드로 변경될 수 있다. 딜레이 신호 SM_DLY는 미리 정해진 시간(즉, 타이밍 딜레이(timing delay))만큼 딜레이되어 로우에서 하이로 변경될 수 있다. 스캔 모드 신호 SCAN_MODE 및 딜레이 신호 SM_DLY 간 앤드 연산에 기초하여 결정된 연산 결과 SM_RST는 스캔 모드 신호 SCAN_MODE와 딜레이 신호 SM_DLY가 모두 하이로 될 때 로우에서 하이로 변경될 수 있다. 그리고, 제2 앤드 연산기에서 출력된 최종 리셋 신호 SCAN_RST는 연산 결과 SM_RST와 스캔 리셋 신호 SCAN_RESET가 모두 하이로 될 때 로우에서 하이로 변경될 수 있다. 도 2에서는 설명의 편의를 위해 스캔 리셋 신호 SCAN_RESET가 도시되지 않았다.In Fig. 2, as the scan mode signal SCAN_MODE is changed from low to high, the operation mode of the chip can also be changed from the normal mode to the scan mode. The delay signal SM_DLY may be delayed by a predetermined time (i.e., a timing delay) and changed from low to high. The operation result SM_RST determined based on the scan operation between the scan mode signal SCAN_MODE and the delay signal SM_DLY can be changed from low to high when the scan mode signal SCAN_MODE and the delay signal SM_DLY are both high. Then, the final reset signal SCAN_RST output from the second end operator can be changed from low to high when the operation result SM_RST and the scan reset signal SCAN_RESET are both high. In FIG. 2, the scan reset signal SCAN_RESET is not shown for convenience of explanation.

도 3을 참조하면, 일실시예에 따른 스캔 테스트를 이용한 물리적 공격 구간에서 스캔 모드에서 노멀 모드로 전환될 때 최종 리셋 신호가 결정되는 과정을 나타낸 타이밍 차트가 도시된다.Referring to FIG. 3, there is shown a timing chart illustrating a process of determining a final reset signal when a scan mode is changed to a normal mode in a physical attack period using a scan test according to an exemplary embodiment.

일실시예에 따른 스캔 백도어 공격은 스캔 모드로 동작을 시작할 때 레지스터 값의 탈취를 시도할 수 있다. 다시 말해, 스캔 모드의 시작 시점이 공격 포인트가 될 수 있다. 스캔 모드로 동작이 시작되면 레지스터 값에서 특정 위치 값이 계속 변경되므로, 여러 개의 칩의 변경 패턴을 분석해서 조합하면 레지스터 값이 해킹될 수 있기 때문에 별도의 조치가 필요하다.A scan backdoor attack according to an exemplary embodiment may attempt to take a register value when starting operation in a scan mode. In other words, the start point of the scan mode can be an attack point. When the operation is started in the scan mode, the specific position value is continuously changed in the register value. Therefore, the register value may be hacked by analyzing the change pattern of the plurality of chips.

따라서, 스캔 모드로 동작이 시작되면 모든 레지스터 값을 리셋시킴으로써, 모든 값을 초기화시켜 레지스터 값 탈취를 막을 수 있다. 이는 스캔 모드 리셋 로직(SCAN Mode Reset logic)으로 지칭될 수 있다.Therefore, when the operation is started in the scan mode, all the register values are reset, so that all values can be initialized to prevent the register value from being stolen. This may be referred to as scan mode reset logic (SCAN Mode Reset logic).

도 3에서, 스캔 모드 신호 SCAN_MODE가 하이에서 로우로 변경됨에 따라, 칩의 동작 모드도 스캔 모드에서 노멀 모드로 변경될 수 있다. 딜레이 신호 SM_DLY는 미리 정해진 시간(즉, 타이밍 딜레이(timing delay))만큼 딜레이되어 하이에서 로우로 변경될 수 있다. 스캔 모드 신호 SCAN_MODE 및 딜레이 신호 SM_DLY 간 앤드 연산에 기초하여 결정된 연산 결과 SM_RST는 스캔 모드 신호 SCAN_MODE와 딜레이 신호 SM_DLY 중 적어도 하나가 로우로 변경될 때 하이에서 로우로 변경될 수 있다. 그리고, 제2 앤드 연산기에서 출력된 최종 리셋 신호 SCAN_RST는 연산 결과 SM_RST와 스캔 리셋 신호 SCAN_RESET 중 적어도 하나가 로우로 변경될 때 하이에서 로우로 변경될 수 있다. 도 3에서는 설명의 편의를 위해 스캔 리셋 신호 SCAN_RESET가 도시되지 않았다.In Fig. 3, as the scan mode signal SCAN_MODE changes from high to low, the operation mode of the chip can also be changed from the scan mode to the normal mode. The delay signal SM_DLY can be delayed by a predetermined time (i.e., a timing delay) and changed from high to low. The operation result SM_RST determined based on the scan operation between the scan mode signal SCAN_MODE and the delay signal SM_DLY can be changed from high to low when at least one of the scan mode signal SCAN_MODE and the delay signal SM_DLY is changed to low. The final reset signal SCAN_RST output from the second end operator can be changed from high to low when at least one of the operation result SM_RST and the scan reset signal SCAN_RESET is changed to low. In FIG. 3, the scan reset signal SCAN_RESET is not shown for convenience of explanation.

도 4는 다른 일실시예에 따른 데이터 보호 장치를 나타낸 도면이다.4 is a diagram illustrating a data protection apparatus according to another embodiment of the present invention.

일실시예에 따라 주요 키인 레지스터 값은 스캔 모드에서 고정된 값으로 출력되도록 제어될 수 있고, 이는 스캔 제어 고정 셀 로직(scan_control_fix_cell logic)으로 지칭될 수 있다.According to an exemplary embodiment, the register value which is a key may be controlled to be output as a fixed value in the scan mode, which may be referred to as a scan control fixed cell logic (scan_control_fix_cell logic).

제어 셀(Control Cell)은 스캔 로직(SCAN logic)이 구성되지 않는 경로의 출력단에 구성되어 테스트 폴터 커버리지(Test Faults Coverage)를 향상시키는 데 이용될 수 있다. 또한, 관찰 셀(Observe Cell)은 스캔 로직이 구성되지 않는 경로의 입력단에 구성되어 테스트 폴터 커버리지를 향상시키는 데 이용될 수 있다.The control cell may be configured at the output of the path where the SCAN logic is not configured to be used to improve Test Faults Coverage. Also, an Observe Cell can be configured at the input of a path where the scan logic is not configured to be used to improve test coverage of the test.

이러한 제어 셀, 관찰 셀은 스캔에서 일반적으로 많이 사용되는 구조로서, 스캔 백도어 공격에 취약한 구조를 가지고 있어 별도의 조치가 필요하다.These control cells and observation cells are commonly used in scanning, and they are vulnerable to a scan backdoor attack and require additional measures.

특히, PUF 키처럼 각 칩 마다 고유의 키로 이용되는 값은 스캔 모드에서 관찰 셀을 통해 고유 값들에 대한 패턴 분석을 통해 탈취될 수 있으므로, 공격 취약점이 될 수 있다. 이러한 공격은 스캔 모드에서 보호되어야 하는 로직의 입출력에 고정된 데이터(이를테면, SF(Scan Fix data))를 출력하는 단순한 구조를 통해 쉽게 해결될 수 있다. In particular, a value used as a unique key for each chip, such as a PUF key, can be exploited through pattern analysis of eigenvalues through observation cells in a scan mode, which can be an attack vulnerability. Such an attack can be easily solved by a simple structure that outputs fixed data (such as Scan Fixed Data (SF)) to the input / output of the logic to be protected in scan mode.

도 4를 참조하면, 다른 일실시예에 따른 데이터 보호 장치(400)는 플립플롭(410) 및 선택 엘리먼트(420)를 포함한다.Referring to FIG. 4, a data protection apparatus 400 according to another embodiment includes a flip-flop 410 and a selection element 420.

플립플롭(410)은 스캔 로직(scan logic)이 구성되지 않은 경로의 출력단에 배치되어 레지스터 값을 가진다. 플립플롭(410)은 포지티브 에지-트리거드 정적 D-타입 플립플롭(positive edge-triggered static D-type flip-flop)일 수 있다. 또한, 플립플롭(410)은 테스트 폴터 커버리지(test faults coverage)를 향상시키기 위한 컨트롤 셀로 동작하는 FD2SQ 셀일 수 있다.The flip-flop 410 is disposed at an output terminal of a path where scan logic is not configured, and has a register value. The flip-flop 410 may be a positive edge-triggered static D-type flip-flop. In addition, the flip-flop 410 may be an FD2SQ cell operating as a control cell for improving test faults coverage.

선택 엘리먼트(420)는 STM 신호에 기초하여, 플립플롭으로부터 출력되는 레지스터 값 및 미리 정해진 데이터 중 어느 하나를 출력한다. 선택 엘리먼트(420)는 STM 신호가 로우이면 레지스터 값을 출력하고, STM 신호가 하이이면 미리 정해진 데이터를 출력할 수 있다. 도 4에서 로우는 "0"으로 표시되고, 하이는 "1"로 표시될 수 있다.The selection element 420 outputs either a register value output from the flip-flop and predetermined data based on the STM signal. The selection element 420 outputs a register value if the STM signal is low and outputs predetermined data if the STM signal is high. In Fig. 4, the row is indicated by "0" and the high is indicated by "1 ".

이처럼, 데이터 보호 장치(400)는 스캔 모드에서 고정된 값을 출력함으로써, 외부 공격에 의해 레지스터 값이 탈취되는 것을 방어할 수 있다.As described above, the data protection device 400 outputs a fixed value in the scan mode, thereby preventing the register value from being stolen by an external attack.

도 5는 다른 일실시예에 따른 데이터 보호 장치에 포함된 플립플롭의 동작을 설명하기 위한 테이블이다. 플립플롭은 포지티브 에지-트리거드 정적 D-타입 플립플롭인 FD2SQ 셀로서, 스캔 입력(scan input; TI), 액티브-하이 스캔 인에이블(active-high scan enable; TE), 비동기식 액티브-로우 리셋(asynchronous active-low reset; RN), 단일 출력(single output; Q)을 포함할 수 있다.FIG. 5 is a table for explaining the operation of the flip-flop included in the data protection apparatus according to another embodiment. The flip-flop is a positive edge-triggered static D-type flip-flop, FD2SQ cell, which has a scan input (TI), an active-high scan enable (TE), an asynchronous active- an asynchronous active-low reset (RN), and a single output (Q).

도 6은 일실시예에 따른 데이터 보호 방법을 나타낸 도면이다.6 is a diagram illustrating a data protection method according to an embodiment of the present invention.

단계(610)에서, 데이터 보호 장치는 스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호 및 스캔 모드 신호에 제1 앤드 연산을 수행한다.In step 610, the data protection apparatus performs a first end operation on a delay signal and a scan mode signal, which are delayed by a predetermined time, on a scan mode signal for determining whether to operate in a scan mode or a normal mode do.

단계(620)에서, 데이터 보호 장치는 제1 앤드 연산의 결과 및 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호에 제2 앤드 연산을 수행한다. 제2 앤드 연산의 결과인 최종 리셋 신호에 기초하여 레지스터 값의 리셋 여부가 최종적으로 결정된다. 예를 들어, 제2 앤드 연산기로부터 출력된 최종 리셋 신호가 로우이면 레지스터 값이 리셋되고, 하이이면 레지스터 값이 액티브될 수 있다.In step 620, the data protection device performs a second end operation on the scan reset signal, which determines whether the result of the first end operation and the register value is reset. It is finally determined whether to reset the register value based on the last reset signal that is the result of the second end operation. For example, if the last reset signal output from the second end operator is low, the register value is reset, and if the final reset signal is high, the register value may be active.

도 6에 도시된 각 단계들에는 도 1 내지 도 5를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.The steps described above with reference to FIGs. 1 through 5 are applied to each step shown in FIG. 6 as it is, and a detailed description will be omitted.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.The components described in the embodiments may be implemented by a programmable logic device such as one or more DSP (Digital Signal Processor), a processor, a controller, an application specific integrated circuit (ASIC), and a field programmable gate array Logic Element, other electronic devices, and combinations thereof. ≪ RTI ID = 0.0 > At least some of the functions or processes described in the embodiments may be implemented by software, and the software may be recorded in a recording medium. The components, functions and processes described in the embodiments may be implemented by a combination of hardware and software.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

100: 데이터 보호 장치
110: 제1 앤드 연산기
120: 복수의 플립플롭들
130: 제2 앤드 연산기
100: Data protection device
110: first end operator
120: a plurality of flip-flops
130: second end operator

Claims (9)

스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호 및 상기 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호에 앤드 연산(AND operation)을 수행하는 제1 앤드 연산기(AND operator); 및
상기 제1 앤드 연산기로부터 출력된 연산 결과 및 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호에 앤드 연산을 수행하는 제2 앤드 연산기
를 포함하고,
상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호에 기초하여 상기 레지스터 값의 리셋 여부가 최종적으로 결정되는 데이터 보호 장치.
A first AND operator (AND) for performing an AND operation on a scan mode signal for determining whether to operate in a scan mode or a normal mode and a delay signal for delaying the scan mode signal by a predetermined time, operator); And
A second AND operation unit for performing an AND operation on a scan reset signal for determining whether to reset the operation result and the register value output from the first end operator,
Lt; / RTI >
And whether to reset the register value is finally determined based on the last reset signal output from the second end operator.
제1항에 있어서,
직렬로 연결된 복수의 플립플롭들(flip-flops; F/Fs)
을 더 포함하고,
상기 복수의 플립플롭들은 상기 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시키는, 데이터 보호 장치.
The method according to claim 1,
A plurality of flip-flops (F / Fs)
Further comprising:
Wherein the plurality of flip-flops delay the scan mode signal by a predetermined time.
제1항에 있어서,
상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호가 로우(low)이면 상기 레지스터 값이 리셋되고, 하이(high)이면 상기 레지스터 값이 액티브되는, 데이터 보호 장치.
The method according to claim 1,
Wherein the register value is reset when the last reset signal output from the second end operator is low and the register value is active when the last reset signal is high.
스캔 로직(scan logic)이 구성되지 않은 경로의 출력단에 배치되어 레지스터 값을 가지는 플립플롭; 및
STM 신호에 기초하여, 상기 플립플롭으로부터 출력되는 상기 레지스터 값 및 미리 정해진 데이터 중 어느 하나를 출력하는 선택 엘리먼트
를 포함하는 데이터 보호 장치.
A flip-flop having a register value disposed at an output terminal of a path where scan logic is not configured; And
A selection element for outputting either one of the register value and predetermined data output from the flip-flop based on the STM signal;
. ≪ / RTI >
제4항에 있어서,
상기 선택 엘리먼트는
상기 STM 신호가 로우이면 상기 레지스터 값을 출력하고, 상기 STM 신호가 하이이면 상기 미리 정해진 데이터를 출력하는, 데이터 보호 장치.
5. The method of claim 4,
The selection element
And outputs the register value if the STM signal is low and outputs the predetermined data if the STM signal is high.
제4항에 있어서,
상기 플립플롭은
포지티브 에지-트리거드 정적 D-타입 플립플롭(positive edge-triggered static D-type flip-flop)인, 데이터 보호 장치.
5. The method of claim 4,
The flip-
A data protection device that is a positive edge-triggered static D-type flip-flop.
제4항에 있어서,
상기 플립플롭은 테스트 폴터 커버리지(test faults coverage)를 향상시키기 위한 컨트롤 셀로 동작하는 FD2SQ 셀인, 데이터 보호 장치.
5. The method of claim 4,
Wherein the flip-flop is an FD2SQ cell operating as a control cell for improving test faults coverage.
스캔 모드 및 노멀 모드 중 어느 하나의 모드로 동작할지 여부를 결정하는 스캔 모드 신호를 미리 정해진 시간만큼 딜레이시킨 딜레이 신호 및 상기 스캔 모드 신호에 제1 앤드 연산을 수행하는 단계; 및
상기 제1 앤드 연산의 결과 및 상기 레지스터 값의 리셋 여부를 결정하는 스캔 리셋 신호에 제2 앤드 연산을 수행하는 단계
를 포함하고,
상기 제2 앤드 연산의 결과인 최종 리셋 신호에 기초하여 상기 레지스터 값의 리셋 여부가 최종적으로 결정되는 데이터 보호 방법.
Performing a first end operation on a scan signal and a delay signal in which a scan mode signal for determining whether to operate in a scan mode or a normal mode is delayed by a predetermined time; And
Performing a second end operation on a scan reset signal for determining a result of the first end operation and resetting the register value
Lt; / RTI >
Wherein whether to reset the register value is finally determined based on a final reset signal resulting from the second end operation.
제8항에 있어서,
상기 제2 앤드 연산기로부터 출력된 최종 리셋 신호가 로우(low)이면 상기 레지스터 값이 리셋되고, 하이(high)이면 상기 레지스터 값이 액티브되는, 데이터 보호 방법.
9. The method of claim 8,
Wherein the register value is reset when the last reset signal output from the second end operator is low and the register value is active when the last reset signal is high.
KR1020190001193A 2018-01-05 2019-01-04 Apparatus and method for protecting data in test mode KR102220662B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180001659 2018-01-05
KR1020180001659 2018-01-05

Publications (2)

Publication Number Publication Date
KR20190083996A true KR20190083996A (en) 2019-07-15
KR102220662B1 KR102220662B1 (en) 2021-03-17

Family

ID=67257647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190001193A KR102220662B1 (en) 2018-01-05 2019-01-04 Apparatus and method for protecting data in test mode

Country Status (1)

Country Link
KR (1) KR102220662B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11940494B2 (en) 2021-11-11 2024-03-26 Samsung Electronics Co., Ltd. System on chip for performing scan test and method of designing the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050016386A (en) * 2002-05-03 2005-02-21 제너럴 인스트루먼트 코포레이션 Secure scan
KR100966661B1 (en) * 2002-04-30 2010-06-29 프리스케일 세미컨덕터, 인크. Method and apparatus for secure scan testing
KR20110034631A (en) * 2008-06-04 2011-04-05 에이티아이 테크놀로지스 유엘씨 Method and apparatus for securing digital information on an integrated circuit during test operating modes
KR20120073434A (en) * 2010-12-27 2012-07-05 삼성전자주식회사 An integrated circuit testing smart card and a driving method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966661B1 (en) * 2002-04-30 2010-06-29 프리스케일 세미컨덕터, 인크. Method and apparatus for secure scan testing
KR20050016386A (en) * 2002-05-03 2005-02-21 제너럴 인스트루먼트 코포레이션 Secure scan
KR20110034631A (en) * 2008-06-04 2011-04-05 에이티아이 테크놀로지스 유엘씨 Method and apparatus for securing digital information on an integrated circuit during test operating modes
KR20120073434A (en) * 2010-12-27 2012-07-05 삼성전자주식회사 An integrated circuit testing smart card and a driving method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11940494B2 (en) 2021-11-11 2024-03-26 Samsung Electronics Co., Ltd. System on chip for performing scan test and method of designing the same

Also Published As

Publication number Publication date
KR102220662B1 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
Cui et al. Static and dynamic obfuscations of scan data against scan-based side-channel attacks
US11270002B2 (en) Hardware trojan detection through information flow security verification
US7185249B2 (en) Method and apparatus for secure scan testing
Paul et al. Vim-scan: A low overhead scan design approach for protection of secret key in scan-based secure chips
US9081991B2 (en) Ring oscillator based design-for-trust
US8051345B2 (en) Method and apparatus for securing digital information on an integrated circuit during test operating modes
Cui et al. A new PUF based lock and key solution for secure in-field testing of cryptographic chips
US11023623B2 (en) Method for triggering and detecting a malicious circuit in an integrated circuit device
Dupuis et al. New testing procedure for finding insertion sites of stealthy hardware Trojans
US8438436B1 (en) Secure design-for-test scan chains
Cui et al. Why current secure scan designs fail and how to fix them?
Razzaq et al. SSTKR: Secure and testable scan design through test key randomization
Valea et al. Encryption-based secure JTAG
US20210243041A1 (en) System and method for performing netlist obfuscation for a semiconductor device
Elnaggar et al. Security against data-sniffing and alteration attacks in IJTAG
KR102220662B1 (en) Apparatus and method for protecting data in test mode
US9646160B2 (en) Apparatus and method for providing resilience to attacks on reset of the apparatus
Chen et al. Partial scan design against scan-based side channel attacks
Moghaddam et al. On test points enhancing hardware security
Alanwar et al. Dynamic fpga detection and protection of hardware trojan: A comparative analysis
Mukhopadhyay et al. Testability of cryptographic hardware and detection of hardware Trojans
Woo et al. A secure scan architecture protecting scan test and scan dump using skew-based lock and key
Zhou et al. How to secure scan design against scan-based side-channel attacks?
Chen et al. BISTLock: Efficient IP piracy protection using BIST
Wu et al. A dynamic-key secure scan structure against scan-based side channel and memory cold boot attacks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right