KR20200028661A - Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function - Google Patents
Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function Download PDFInfo
- Publication number
- KR20200028661A KR20200028661A KR1020180107011A KR20180107011A KR20200028661A KR 20200028661 A KR20200028661 A KR 20200028661A KR 1020180107011 A KR1020180107011 A KR 1020180107011A KR 20180107011 A KR20180107011 A KR 20180107011A KR 20200028661 A KR20200028661 A KR 20200028661A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- circuit
- response
- sampling
- determined
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
이하의 실시예들은 응답 신호의 불안정성을 감지하는 장치 및 방법에 관한 것이다. 보다 구체적으로, 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로에 관한 것이다.The following embodiments relate to an apparatus and method for sensing instability of a response signal. More specifically, it relates to a response instability detection circuit applicable to a physical copy protection function circuit having a complementary response.
고집적 그리고 저비용의 장점을 가지고 있는 CMOS(complementary metal-oxide semiconductor) 공정을 기반으로 하는 물리적 복제 방지 기능 회로 (PUF: Physical Unclonable Function) 시스템은 특정한 챌린지(Challenge) 신호에 의해 고유한 값(ID 또는 Response)을 무작위로(Randomly) 빠르게 생성 할 수 있다. 이러한 무작위의 고유 값은 CMOS를 이용한 물리적 복제 방지 기능 회로를 포함하는 반도체 칩이 만들어질 때, 동일한 구조(동일한 레이아웃)를 갖는 반도체 칩을 생산하더라도 공정상의 불일치(Process Mismatch)에 의하여 생성된다. 물리적 복제 방지 기능 회로가 외부의 환경 변화에 상관없이 동일한 입력에 의하여 동일한 물리적 값을 가지는 것을 재생산성(Reproducibility) 또는 안정성(Stability)이라는 확률적 성질로 나타낼 수 있고 이러한 확률적 성질은 물리적 복제 방지 기능 회로의 중요한 성능 지표중 하나이다. 그러나 기존의 물리적 복제 방지 기능 회로는 외부 환경(온도변화, 공급전압 변화, 악의적인 공격 등)에 의해 재생산성 측면에서 저조한 성능을 가진다는 문제점이 있다.A physical unclonable function (PUF) system based on a complementary metal-oxide semiconductor (CMOS) process, which has the advantages of high integration and low cost, has a unique value (ID or Response) by a specific challenge signal. ) Can be generated randomly and quickly. This random eigenvalue is generated by process mismatch even when a semiconductor chip including a physical copy protection function circuit using CMOS is produced, even if a semiconductor chip having the same structure (same layout) is produced. Physical copy protection function The circuit has the same physical value by the same input regardless of changes in the external environment. It can be represented by the probability property of reproducibility or stability, and this probability property is a physical copy protection function It is one of the important performance indicators of the circuit. However, the existing physical copy protection function circuit has a problem in that it has poor performance in terms of reproducibility due to an external environment (temperature change, supply voltage change, malicious attack, etc.).
일측에 따르면, 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로가 생성하는 응답 신호(response signal)의 불안정성(unstability)을 감지하는 반도체 칩이 제공된다. 상기 반도체 칩은 상기 물리적 복제 방지 기능 회로가 출력하는 출력 신호 및 상기 출력 신호의 반전 신호를 이용하여 미리 지정된 디지털 연산을 실행하고, 상기 디지털 연산의 결과값을 샘플링 회로로 출력하는 연산 회로, 동작 신호에 응답하여, 상기 샘플링 회로의 샘플링 시간을 결정하기 위한 기준 신호를 상기 샘플링 회로로 출력하는 기준 신호 생성 회로 및 상기 디지털 연산의 결과값을 상기 기준 신호에 따라 샘플링하고, 상기 샘플링 결과에 따라 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 제2 신호를 저장하는 샘플링 회로를 포함할 수 있다.According to one side, a semiconductor chip is provided that senses the instability of a response signal generated by a physically unclonable function (PUF) circuit. The semiconductor chip performs a predetermined digital operation using an output signal output from the physical copy protection function circuit and an inverted signal of the output signal, an operation circuit outputting the result of the digital operation to a sampling circuit, an operation signal In response, a reference signal generation circuit for outputting a reference signal for determining a sampling time of the sampling circuit to the sampling circuit and a result value of the digital operation are sampled according to the reference signal, and the physical When it is determined that the response signal of the copy protection function circuit is determined, it may include a sampling circuit that stores the first signal and the second signal when it is determined that the response signal of the physical copy protection function circuit is determined.
일실시예에 따르면, 상기 연산 회로는 XOR 게이트를 포함하고, 상기 출력 신호와 상기 출력 신호의 반전 신호에 대해 수행된 XOR 연산의 결과를 상기 디지털 연산의 결과값으로서 상기 샘플링 회로로 출력할 수 있다.According to an embodiment, the operation circuit includes an XOR gate, and outputs the result of the XOR operation performed on the output signal and the inversion signal of the output signal as the result value of the digital operation to the sampling circuit. .
다른 일실시예에 따르면, 상기 기준 신호 생성 회로는 입력되는 선택 신호(select signal)에 기초하여 상기 샘플링 회로의 지연된 샘플링 시간을 결정하고, 상기 지연된 샘플링 시간에 대응하는 기준 신호를 상기 샘플링 회로로 출력할 수 있다.According to another embodiment, the reference signal generation circuit determines a delayed sampling time of the sampling circuit based on an input select signal, and outputs a reference signal corresponding to the delayed sampling time to the sampling circuit can do.
또 다른 일실시예에 따르면, 상기 샘플링 회로는 D-플립플롭을 포함하고, 상기 기준 신호를 클록 신호(clock signal)로서 이용하여 상기 디지털 연산의 결과값을 샘플링할 수 있다.According to another embodiment, the sampling circuit includes a D-flip-flop, and the result of the digital operation can be sampled using the reference signal as a clock signal.
또 다른 일실시예에 따르면, 상기 샘플링 회로는 상기 지연된 샘플링 시간을 기준으로 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 하이(high) 값을 갖는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 로우(low) 값을 갖는 제2 신호를 상기 물리적 복제 방지 기능 회로의 안정성 체크 비트로서 출력할 수 있다.According to another embodiment, when the sampling circuit determines that the response signal of the physical copy protection function circuit is determined based on the delayed sampling time, the first signal having a high value and the physical copy protection When it is determined that the response signal of the functional circuit is determined, a second signal having a low value may be output as the stability check bit of the physical copy protection function circuit.
도 1은 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 블록도를 나타낸다.
도 2는 다른 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 구성과 동작을 설명하는 블록도를 나타낸다.
도 3은 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로 일실시예의 동작을 나타내는 순서도이다.
도 4는 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 일실시예의 시뮬레이션 결과를 나타낸다.
도 5는 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 다른 일실시예의 시뮬레이션 결과를 나타낸다.1 is a block diagram of a response instability detection circuit applicable to a physical copy protection function circuit according to an embodiment.
2 is a block diagram illustrating the configuration and operation of a response instability detection circuit applicable to a physical copy protection function circuit according to another embodiment.
3 is a flowchart illustrating the operation of an embodiment of a response instability detection circuit applicable to a physical copy protection function circuit according to an embodiment.
4 shows simulation results of an embodiment of a response instability detection circuit applicable to a physical copy protection function circuit having a complementary response.
5 shows simulation results of another embodiment of a response instability detection circuit applicable to a physical copy protection function circuit having a complementary response.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be implemented in various forms. Accordingly, the embodiments are not limited to a specific disclosure form, and the scope of the present specification includes modifications, equivalents, or substitutes included in the technical spirit.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When an element is said to be "connected" to another element, it should be understood that other elements may be present, either directly connected to or connected to the other element.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to designate the presence of a feature, number, step, action, component, part, or combination thereof as described, one or more other features or numbers, It should be understood that the existence or addition possibilities of steps, actions, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined herein. Does not.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In describing with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and duplicate descriptions thereof will be omitted.
이하에서 설명될 실시예들은 기존의 물리적 복제 불가능 함수가 외부 환경(온도변화, 공급전압 변화, 악의적인 공격 등)에 의해 재생산성 오류를 가지게 되는 문제점을 해결할 수 있다는 것이다. 상호 보완적인 응답을 갖는 물리적 복제 불가능 함수의 고유 값이 생성될 때 시스템 설계자가 지정한 임계값(샘플링 시간)에 따라 결정된 각 셀의 응답 안정성 정보가 같이 생성되기 때문에 설계자의 목적이나 보안 칩의 용도에 따라 추가 회로를 통해 칩 내부에서 오류를 해결하거나, 불안정성 정보를 물리적 복제 불가능 함수의 고유 값과 함께 칩 외부로 송신하여 후처리과정(Post-Processing)을 통해 오류를 해결할 수 있다.The embodiments to be described below can solve the problem that the existing physical replication impossible function has a reproducibility error due to an external environment (temperature change, supply voltage change, malicious attack, etc.). When a unique value of a non-replicable physical function with a complementary response is generated, response stability information of each cell determined according to a threshold (sampling time) specified by a system designer is generated together, so it is suitable for the purpose of the designer or the purpose of the security chip. Therefore, the error can be solved through an additional circuit, or the post-processing error can be solved by sending the instability information to the outside of the chip along with the unique value of the non-replicable physical function.
도 1은 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 블록도를 나타낸다. 도 1을 참조하면, 상호 보완적인 응답을 생성하는 물리적 복제 방지 기능 회로(Complementary PUF)(110)는 상호 보완적인 응답 신호(PUF_OUT)를 생성할 수 있다. 이 경우에, 응답 불안정성 감지 회로(100)는 비교 회로(120)와 메모리(130)를 포함할 수 있다. 비교 회로(120)는 응답 신호와 기준 신호(응답 결정 임계 시간)을 비교할 수 있다. 보다 구체적으로, 비교 회로(120)는 응답 신호가 생성되어 결정되는 시간 까지를 비교하여, 응답 결정 시간에 따라 응답이 안정한 응답인지 또는 불안정한 응답인지를 결정하여 메모리(130)에 응답 안정성 정보를 저장한다.1 is a block diagram of a response instability detection circuit applicable to a physical copy protection function circuit according to an embodiment. Referring to FIG. 1, a physical replication protection function circuit (Complementary PUF) 110 generating a complementary response may generate a complementary response signal PUF_OUT. In this case, the response
메모리(130)는 안정성 체크 비트(stability check bit)로서 응답 안정성 정보를 전달하고, 물리적 복제 방지 기능 회로가 안정한 응답만을 키로 사용하도록 할 수 있다.The
도 2는 다른 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 구성과 동작을 설명하는 블록도를 나타낸다. 도 2를 참조하면, 응답 불안정성 감지 회로(200)는 연산 회로(220), 기준 신호 생성 회로(230) 및 샘플링 회로(240)를 포함할 수 있다. 물리적 복제 방지 기능 회로(Complementary PUF)(210)는 동작 신호(SE 신호)에 의해 응답 신호를 생성할 수 있다. 이 경우에, 연산 회로(220)는 물리적 복제 방지 기능 회로(210)가 출력하는 출력 신호(PUF_OUT) 및 출력 신호의 반전 신호()를 이용하여 미리 지정된 디지털 연산을 실행하고, 디지털 연산의 결과값을 샘플링 회로로 출력할 수 있다. 보다 구체적으로, 연산 회로(220)는 XOR 게이트를 포함하고, 상기 출력 신호와 상기 출력 신호의 반전 신호에 대해 수행된 XOR 연산의 결과를 상기 디지털 연산의 결과값으로서 상기 샘플링 회로로 출력할 수 있다.2 is a block diagram illustrating the configuration and operation of a response instability detection circuit applicable to a physical copy protection function circuit according to another embodiment. Referring to FIG. 2, the response
기준 신호 생성 회로(230)는 동작 신호에 응답하여, 상기 샘플링 회로의 샘플링 시간을 결정하기 위한 기준 신호를 상기 샘플링 회로로 출력할 수 있다. 보다 구체적으로, 기준 신호 생성 회로(230)는 선택 신호(select signal)에 기초하여 상기 샘플링 회로의 지연된 샘플링 시간을 결정하고, 상기 지연된 샘플링 시간에 대응하는 기준 신호를 상기 샘플링 회로로 출력할 수 있다. 상기 선택 신호는 외부로부터 입력 받을 수 있으며, 경우에 따라서는 회로 내부에서 생성하는 방법도 가능하다. 이 경우에, 결정된 샘플링 시간 만큼 지연된 동작 신호가 기준 신호 생성 회로(230)의 출력 신호로 나타낼 수 있다. 또한, 해당 신호는 후술되는 샘플링 회로(240) 내의 D-플립플롭의 클록 신호로서 이용될 수 있다.The reference
샘플링 회로(240)는 상기 디지털 연산의 결과값을 상기 기준 신호에 따라 샘플링하고, 상기 샘플링 결과에 따라 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 제2 신호를 저장할 수 있다. 이하와 같이, 출력 신호(PUF_OUT) 및 출력 신호의 반전 신호()의 XOR 연산 결과를 기준 신호 생성 회로(230)를 통해 결정된 샘플링 시간에 D-플립플롭이 샘플링하게 된다.The
보다 구체적으로, 샘플링 회로(240)는 D-플립플롭을 포함하고, 상기 기준 신호를 클록 신호(clock signal)로서 이용하여 상기 디지털 연산의 결과값을 샘플링할 수 있다. 샘플링 회로(240)는 상기 지연된 샘플링 시간을 기준으로 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 하이(high) 값을 갖는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 로우(low) 값을 갖는 제2 신호를 상기 물리적 복제 방지 기능 회로의 안정성 체크 비트로서 출력할 수 있다. 따라서, 샘플링 시간 보다 물리적 복제 방지 기능 회로(210)의 응답이 상대적으로 빨리 결정된다면 D-플립플롭은 1을 저장한다. 반대로 샘플링 시간보다 물리적 복제 불가능 함수의 응답이 상대적으로 늦게 결정된다면 D-플립플롭은 0을 저장한다. 이러한, D-플립플롭의 출력 신호는 앞서 설명된 것과 같이 "안정성 체크 비트"라는 이름으로 저장되고, 물리적 복제 방지 기능 회로에 입력됨으로써 불안정한 응답은 키로 사용하지 않고, 안정한 응답만 키로 사용하도록 한다. 대규모 어레이 형식을 가지는 현대의 물리적 복제 불가능 함수는 본 실시예에서 제안하는 회로를 활용하여 특정 비트의 응답이 안정한지 불안정한지를 판단할 수 있고 이를 통해 후속조치를 취할 수 있다.More specifically, the
도 3은 일실시예에 따라 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로 일실시예의 동작을 나타내는 순서도이다.3 is a flowchart illustrating the operation of an embodiment of a response instability detection circuit applicable to a physical copy protection function circuit according to an embodiment.
단계(310)에서 연산 회로는 Complementary PUF의 출력 신호에 대해 XOR 연산을 수행할 수 있다.In
단계(320)에서 샘플링 회로는 플립플롭을 이용한 XOR 연산의 결과값을 샘플링할 수 있다.In
단계(330)에서 응답 불안정성 감지 회로는 샘플링 시간을 기준으로 응답 신호가 결정되었는지 여부를 확인할 수 있다.In
응답 신호가 결정된 경우, 단계(341)에서 메모리는 플립플롭에 "1"을 저장하고, 단계(342)에서 안정한 응답 신호를 감지하고, 단계(343)에서 물리적 복제 방지 회로는 해당 응답 신호를 키로서 사용할 수 있다.If a response signal is determined, in
응답 신호가 결정되지 않은 경우, 단계(351)에서 메모리는 플립플롭에 "0"을 저장하고, 단계(352)에서 불안정한 응답 신호를 감지하고, 단계(353)에서 물리적 복제 방지 회로는 해당 응답 신호를 키로서 사용하지 않을 수 있다.If the response signal has not been determined, in
도 4는 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 일실시예의 시뮬레이션 결과를 나타낸다. 도 4은 본 실시예에서 제안하는 응답 불안정성 감지 회로의 일실시예를 활용하여, 물리적 복제 불가능 함수의 응답 결정 시간이 상대적으로 빠른 경우의 시뮬레이션 결과를 나타낸다. 물리적 복제 불가능 함수의 응답(PUF_OUT, )이 생성되고, 생성된 응답의 XOR 연산(XOR_OUT), 그리고 XOR 연산 결과를 D-플립플롭이 기준 신호를 통해 샘플링하는 과정을 나타내며, 샘플링 시간은 1ns로 설정되었다. 물리적 복제 방지 기능 회로의 응답 신호는 5ns 때 생성이 시작되며, 대략 0.6ns~0.8ns 정도 후에 논리 값 1 또는 0으로 구분되기 시작한다. 응답 생성 시작 때부터 두 응답을 입력으로 한 XOR 연산이 시작되며 연산 결과 출력은 논리 값 0에서 1로 점진적으로 상승한다. 샘플링 시간은 1ns로 설정되었으므로, 6ns 때 D-플립플롭의 클록 신호(도 4의 기준 신호)가 논리 값 0에서 1로 상승한다. D-플립플롭의 샘플링 시간보다 응답 생성에 소요되는 시간이 짧으므로 D-플립플롭은 6ns 때의 XOR 연산 결과 논리 값 1을 저장하며, 이는 안정된 응답이 생성됐음을 의미한다.4 shows simulation results of an embodiment of a response instability detection circuit applicable to a physical copy protection function circuit having a complementary response. 4 shows a simulation result when a response determination time of a physical non-replicable function is relatively fast, using an embodiment of the response instability detection circuit proposed in this embodiment. Response of non-cloneable function (PUF_OUT, ) Is generated, XOR operation of the generated response (XOR_OUT), and the process of sampling the result of XOR operation by the D-flip-flop through the reference signal, and the sampling time was set to 1 ns. The response signal of the physical copy protection function circuit starts to be generated at 5 ns, and after about 0.6 ns to 0.8 ns, begins to be divided into logical values of 1 or 0. From the beginning of response generation, XOR operation with two responses as input starts, and the output of the operation gradually increases from logical value 0 to 1. Since the sampling time is set to 1 ns, the clock signal of the D-flip-flop (reference signal in FIG. 4) rises from logic value 0 to 1 at 6 ns. Since the time required to generate a response is shorter than the sampling time of the D-flip-flop, the D-flip-flop stores the logical value 1 as a result of the XOR operation at 6 ns, which means that a stable response has been generated.
도 5는 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 불안정성 감지 회로의 다른 일실시예의 시뮬레이션 결과를 나타낸다. 도 5는 본 실시예에서 제안하는 응답 불안정성 감지 회로의 일실시예를 활용하여, 물리적 복제 불가능 함수의 응답 결정 시간이 상대적으로 느린 경우의 시뮬레이션 결과를 나타낸다. 물리적 복제 불가능 함수의 응답(PUF_OUT, )이 생성되고, 생성된 응답의 XOR 연산(XOR_OUT), 그리고 XOR 연산 결과를 D-플립플롭이 기준 신호를 통해 샘플링하는 과정을 나타내며, 샘플링 시간은 1ns로 설정되었다. 물리적 복제 불가능 함수의 응답은 5ns 때 생성이 시작되며, 대략 1.8ns~2ns 정도 후에 논리 값 1 또는 0으로 구분되기 시작한다. 응답 생성 시작 때부터 두 응답을 입력으로 한 XOR 연산이 시작되며 연산 결과 출력은 논리 값 0에서 1로 점진적으로 상승한다. 샘플링 시간은 1ns로 설정되었으므로, 6ns 때 D-플립플롭의 클록 신호(도 5의 기준 신호)가 논리 값 0에서 1로 상승한다. D-플립플롭의 샘플링 시간보다 응답 생성에 소요되는 시간이 기므로 D-플립플롭은 6ns 때의 XOR 연산 결과 논리 값 0을 저장하며, 이는 불안정한 응답이 생성됐음을 의미한다. XOR 연산의 결과는 물리적 복제 불가능 함수의 응답이 정상적으로 생성되었다면 항상 0에서 공급전원 레벨로 올라가게 되지만, 응답의 결정시간에 따라 상대적으로 빠르게 또는 느리게 공급전원 레벨로 올라가게 된다. 이 때, '기준 신호'와 '동작 신호'(도 4과 도 5에서는 생략됨, 5ns 때 SE 신호 0에서 1로 상승)의 시간 차이는 레퍼런스 생성기 블록에 의해 생성된 지연(샘플링 시간)이다.5 shows simulation results of another embodiment of a response instability detection circuit applicable to a physical copy protection function circuit having a complementary response. 5 shows a simulation result when a response determination time of a physical non-replicable function is relatively slow, using an embodiment of a response instability detection circuit proposed in this embodiment. Response of non-cloneable function (PUF_OUT, ) Is generated, XOR operation of the generated response (XOR_OUT), and the process of sampling the result of XOR operation by the D-flip-flop through the reference signal, and the sampling time was set to 1 ns. The response of the non-replicable function starts to be generated at 5 ns, and after about 1.8 ns to 2 ns, it starts to be classified as a logical value of 1 or 0. From the beginning of response generation, XOR operation with two responses as input starts, and the output of the operation gradually increases from logical value 0 to 1. Since the sampling time is set to 1 ns, the clock signal of the D-flip-flop (reference signal in FIG. 5) rises from logic value 0 to 1 at 6 ns. Since it takes longer to generate a response than the sampling time of the D-flip-flop, the D-flip-flop stores the logical value 0 as a result of the XOR operation at 6 ns, which means that an unstable response has been generated. As a result of the XOR operation, if the response of the non-replicable function is normally generated, it will always go up from 0 to the supply power level, but depending on the response decision time, it will go up to the supply power level relatively quickly or slowly. At this time, the time difference between the 'reference signal' and the 'operation signal' (omitted in FIGS. 4 and 5, rising from SE signal 0 to 1 at 5 ns) is the delay (sampling time) generated by the reference generator block.
본 실시예에서 제안하는 상호 보완적인 응답을 갖는 물리적 복제 불가능 함수에 적용 가능한 응답 결정 시간을 활용한 응답 불안정성 감지 기술은 물리적 복제 불가능 함수와 함께 보안이 필요하지만 소프트웨어를 이용한 보안시스템을 적용하기 힘든 다양한 분야에서 활용될 수 있다.The response instability detection technology using the response decision time applicable to the physical non-replicable function having a complementary response proposed in this embodiment requires security with the physical non-replicable function, but it is difficult to apply the security system using software. Can be used in the field.
구체적으로 효율 상 마이크로프로세서를 활용하기 어려운 저 전력 초소형 사물인터넷(IoT)장치에 적용하여 효율적으로 보안성을 향상시킬 수 있다. 또한 저 가격(Low Cost), 저 전력(Low Power), 고 효율(High Efficiency)의 난수 발생기 그리고 신원 인증 시스템으로 활용할 수 있다. Specifically, it is possible to efficiently improve security by applying it to a low-power ultra-small Internet of Things (IoT) device that is difficult to utilize a microprocessor for efficiency. In addition, it can be used as a low cost, low power, high efficiency random number generator and an identity authentication system.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 with hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, and field programmable gates (FPGAs). Arrays, programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions can be implemented using one or more general purpose computers or special purpose computers. The processing device may run an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored in 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 the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. Computer-readable media may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the embodiments, or may be known and usable by those skilled in the computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.
Claims (5)
상기 물리적 복제 방지 기능 회로가 출력하는 출력 신호 및 상기 출력 신호의 반전 신호를 이용하여 미리 지정된 디지털 연산을 실행하고, 상기 디지털 연산의 결과값을 샘플링 회로로 출력하는 연산 회로;
동작 신호에 응답하여, 상기 샘플링 회로의 샘플링 시간을 결정하기 위한 기준 신호를 상기 샘플링 회로로 출력하는 기준 신호 생성 회로; 및
상기 디지털 연산의 결과값을 상기 기준 신호에 따라 샘플링하고, 상기 샘플링 결과에 따라 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 제2 신호를 저장하는 샘플링 회로
를 포함하는 반도체 칩.
In the semiconductor chip for sensing the unstability of the response signal (PUF: Physically Unclonable Function) generated by the circuit,
An operation circuit that performs a predetermined digital operation using an output signal output from the physical copy protection function circuit and an inverted signal of the output signal, and outputs a result of the digital operation to a sampling circuit;
A reference signal generating circuit that outputs a reference signal for determining a sampling time of the sampling circuit to the sampling circuit in response to an operation signal; And
When it is determined that the result value of the digital operation is sampled according to the reference signal and the response signal of the physical copy protection function circuit is determined according to the sampling result, the first signal and the response signal of the physical copy protection function circuit are determined. Sampling circuit that stores the second signal if it is determined before determination
Semiconductor chip comprising a.
상기 연산 회로는,
XOR 게이트를 포함하고, 상기 출력 신호와 상기 출력 신호의 반전 신호에 대해 수행된 XOR 연산의 결과를 상기 디지털 연산의 결과값으로서 상기 샘플링 회로로 출력하는 반도체 칩.
According to claim 1,
The operation circuit,
A semiconductor chip including an XOR gate and outputting a result of the XOR operation performed on the output signal and the inverted signal of the output signal to the sampling circuit as a result value of the digital operation.
상기 기준 신호 생성 회로는,
입력되는 선택 신호(select signal)에 기초하여 상기 샘플링 회로의 지연된 샘플링 시간을 결정하고, 상기 지연된 샘플링 시간에 대응하는 기준 신호를 상기 샘플링 회로로 출력하는 반도체 칩.
According to claim 2,
The reference signal generation circuit,
A semiconductor chip that determines a delayed sampling time of the sampling circuit based on an input select signal and outputs a reference signal corresponding to the delayed sampling time to the sampling circuit.
상기 샘플링 회로는,
D-플립플롭을 포함하고, 상기 기준 신호를 클록 신호(clock signal)로서 이용하여 상기 디지털 연산의 결과값을 샘플링하는 반도체 칩.
According to claim 3,
The sampling circuit,
A semiconductor chip including a D-flip-flop and sampling the result of the digital operation using the reference signal as a clock signal.
상기 샘플링 회로는,
상기 지연된 샘플링 시간을 기준으로 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정된 것으로 판단된 경우에는 하이(high) 값을 갖는 제1 신호 및 상기 물리적 복제 방지 기능 회로의 응답 신호가 결정되기 전으로 판단된 경우에는 로우(low) 값을 갖는 제2 신호를 상기 물리적 복제 방지 기능 회로의 안정성 체크 비트로서 출력하는 반도체 칩.According to claim 4,
The sampling circuit,
When it is determined that the response signal of the physical copy protection function circuit is determined based on the delayed sampling time, it is determined that the first signal having a high value and the response signal of the physical copy protection function circuit are determined. In the case, a semiconductor chip that outputs a second signal having a low value as a stability check bit of the physical copy protection function circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180107011A KR102170395B1 (en) | 2018-09-07 | 2018-09-07 | Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180107011A KR102170395B1 (en) | 2018-09-07 | 2018-09-07 | Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200028661A true KR20200028661A (en) | 2020-03-17 |
KR102170395B1 KR102170395B1 (en) | 2020-10-27 |
Family
ID=70004126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180107011A KR102170395B1 (en) | 2018-09-07 | 2018-09-07 | Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102170395B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150026737A (en) * | 2013-09-02 | 2015-03-11 | 삼성전자주식회사 | Security device having physical unclonable function |
EP2773061B1 (en) * | 2013-02-28 | 2015-11-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information |
KR20180050276A (en) | 2015-07-01 | 2018-05-14 | 시큐어-아이씨 에스에이에스 | Embedded test circuitry for physical copy protection |
KR20180074612A (en) * | 2016-12-23 | 2018-07-03 | 시큐어-아이씨 에스에이에스 | System and method for generating secret information using a high reliability physically unclonable function |
-
2018
- 2018-09-07 KR KR1020180107011A patent/KR102170395B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2773061B1 (en) * | 2013-02-28 | 2015-11-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information |
KR20150026737A (en) * | 2013-09-02 | 2015-03-11 | 삼성전자주식회사 | Security device having physical unclonable function |
KR20180050276A (en) | 2015-07-01 | 2018-05-14 | 시큐어-아이씨 에스에이에스 | Embedded test circuitry for physical copy protection |
KR20180074612A (en) * | 2016-12-23 | 2018-07-03 | 시큐어-아이씨 에스에이에스 | System and method for generating secret information using a high reliability physically unclonable function |
Also Published As
Publication number | Publication date |
---|---|
KR102170395B1 (en) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kong et al. | PUFatt: Embedded platform attestation based on novel processor-based PUFs | |
EP3506548A1 (en) | Quantitative digital sensor | |
Hoque et al. | Hardware IP trust validation: Learn (the untrustworthy), and verify | |
US11321510B2 (en) | Systems and methods for machine intelligence based malicious design alteration insertion | |
US9270467B1 (en) | Systems and methods for trust propagation of signed files across devices | |
US10380285B2 (en) | Static timing analysis in circuit design | |
Asmitha et al. | A machine learning approach for linux malware detection | |
US10146655B2 (en) | Method for determining an intergrity of an execution of a code fragment and a method for providing an abstracted representation of a program code | |
US10395033B2 (en) | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks | |
KR101773490B1 (en) | Unique and unclonable platform identifiers using data-dependent circuit path responses | |
TW201508478A (en) | Functional timing sensors | |
KR102273135B1 (en) | Apparatus and method for generating test input a software using symbolic execution | |
Elnaggar et al. | Learning malicious circuits in FPGA bitstreams | |
US9590636B1 (en) | Method and apparatus for validating a system-on-chip based on a silicon fingerprint and a unique response code | |
Marchand et al. | Low‐level implementation and side‐channel detection of stealthy hardware trojans on field programmable gate arrays | |
JP6789844B2 (en) | Similar function extractor and similar function extractor | |
Nagamani et al. | An exact approach for complete test set generation of toffoli-fredkin-peres based reversible circuits | |
US9928135B2 (en) | Non-local error detection in processor systems | |
Caballero et al. | Towards generating high coverage vulnerability-based signatures with protocol-level constraint-guided exploration | |
KR102170395B1 (en) | Response unstability detection apparatus and method based on response decision time for complementary physical unclonable function | |
Mondal et al. | Hardware trojan free netlist identification: A clustering approach | |
KR102584632B1 (en) | Response unstability detection circuit for physical unclonable function | |
US10192054B2 (en) | Automatic pairing of IO devices with hardware secure elements | |
US8397189B2 (en) | Model checking in state transition machine verification | |
KR20200017038A (en) | Apparatus and method for message authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |