KR20180127803A - DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE - Google Patents

DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE Download PDF

Info

Publication number
KR20180127803A
KR20180127803A KR1020170063021A KR20170063021A KR20180127803A KR 20180127803 A KR20180127803 A KR 20180127803A KR 1020170063021 A KR1020170063021 A KR 1020170063021A KR 20170063021 A KR20170063021 A KR 20170063021A KR 20180127803 A KR20180127803 A KR 20180127803A
Authority
KR
South Korea
Prior art keywords
value
ppuf
circuit
challenge
challenge value
Prior art date
Application number
KR1020170063021A
Other languages
Korean (ko)
Other versions
KR101990678B1 (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 이화여자대학교 산학협력단
Priority to KR1020170063021A priority Critical patent/KR101990678B1/en
Publication of KR20180127803A publication Critical patent/KR20180127803A/en
Application granted granted Critical
Publication of KR101990678B1 publication Critical patent/KR101990678B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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/3278Cryptographic 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a public physically unclonable function (PPUF)-based data transmission method, which comprises the steps of: determining, by a transmitter, a first challenge value and a response value output at a reference time after the first challenge value is input, using delay characteristics of any PPUF; transmitting, by the transmitter, information including the reference time and the response value, and transmitting data encrypted by using the first challenge value as a secret key; receiving, by a receiver, the information, and determining a specific second challenge value for outputting the response value at the reference time from a challenge value input time point in a PPUF circuit having the delay characteristics; and decoding, by the receiver, the received encrypted data using the second challenge value as a secret key.

Description

PPUF에 기반한 데이터 전송 방법, PPUF에 기반한 IoT 통신 시스템 및 IoT 디바이스{DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE}TECHNICAL FIELD [0001] The present invention relates to a PPUF-based data transmission method, a PPUF-based IoT communication system, and an IoT device. [0001] The present invention relates to a data transmission method based on PPUF,

이하 설명하는 기술은 데이터 전송 기법에 관한 것이다.The techniques described below relate to data transmission techniques.

통신 분야에서 보안은 매우 중요한 이슈이다. 다양한 접근이 있지만, 기본적으로 데이터를 암호화하여 전송하는 기법이 있다. 공격자가 암호화한 데이터를 복호하거나 변조하기 어렵게 만드는 것이 주된 목적이다. Security in the field of communications is a very important issue. There are various approaches, but basically there is a technique of encrypting and transmitting data. The main purpose is to make it difficult for an attacker to decrypt or tamper with encrypted data.

최근 주목받는 IoT 분야에서도 보안 기술이 주목받고 있다. 특히 한정된 에너지를 갖는 IoT 디바이스에서 유효한 보안 기술 개발이 필요한 상황이다.Security technology is attracting attention in the field of IoT recently attracting attention. Especially, it is necessary to develop effective security technology for IoT devices with limited energy.

한국공개특허 제10-2017-0047965호Korean Patent Publication No. 10-2017-0047965

이하 설명하는 기술은 PPUF(Public Physically Unclonable Function)을 이용한 데이터 전송 기법을 제공하고자 한다. 이하 설명하는 기술은 PPUF에 기반하여 메시지를 전송하는 IoT 시스템을 제공하고자 한다.The technique described below is intended to provide a data transmission technique using PPUF (Public Physically Unclonable Function). The technique described below is intended to provide an IoT system for transmitting a message based on PPUF.

PPUF에 기반한 데이터 전송 방법은 송신기가 어느 PPUF(Public Physically Unclonable Function)의 지연 특성을 이용하여 제1 챌린지값 및 상기 제1 챌린지값이 입력된 후 기준 시간에 출력되는 리스폰스값을 결정하는 단계, 상기 송신기가 상기 기준 시간 및 상기 리스폰스값을 포함하는 정보를 전송하고, 상기 제1 챌린지값을 비밀키로 이용하여 암호화한 데이터를 전송하는 단계, 수신기가 상기 정보를 수신하고, 상기 지연 특성을 갖는 PPUF 회로에서 챌린지값 입력 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 특정한 제2 챌린지값을 결정하는 단계 및 상기 수신기가 상기 제2 챌린지값을 비밀키로 이용하여 수신한 상기 암화화한 데이터를 복호하는 단계를 포함한다.The PPUF-based data transmission method includes the steps of: determining, by a transmitter, a first challenge value using a delay characteristic of a Public Physically Unclonable Function (PPUF) and a response value output at a reference time after the first challenge value is input; The transmitter transmitting information including the reference time and the response value and transmitting the encrypted data using the first challenge value as a secret key, the receiver receiving the information, and the PPUF circuit Determining a specific second challenge value for outputting the response value at the reference time from a challenge input time point, and decoding the encrypted data received by the receiver using the second challenge value as a secret key .

PPUF에 기반한 IoT 통신 시스템은 어느 PPUF(Public Physically Unclonable Function)의 지연 특성을 이용하여 초기 챌린지값, 제1 챌린지값 및 상기 제1 챌린지값이 입력된 후 기준 시간에 출력되는 리스폰스값을 결정하고, 상기 초기 챌린지값, 상기 기준 시간, 상기 리스폰스값 및 상기 제1 챌린지값을 비밀키로 이용하여 암호화한 데이터를 전송하는 송신기 및 상기 초기 챌린지값, 상기 기준 시간, 상기 리스폰스값 및 상기 데이터를 수신하고, 상기 지연 특성을 갖는 PPUF 회로에서 챌린지값 입력 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 특정한 제2 챌린지값을 결정하고, 상기 제2 챌린지값을 비밀키로 이용하여 수신한 상기 암화화한 데이터를 복호하는 IoT 디바이스를 포함한다.The IoT communication system based on PPUF determines an initial challenge value, a first challenge value and a response value output at a reference time after the first challenge value is input, using a delay characteristic of a PPUF (Public Physically Unclonable Function) A transmitter for transmitting data encrypted using the initial challenge value, the reference time, the response value and the first challenge value as a secret key, and a transmitter for receiving the initial challenge value, the reference time, the response value, The PPUF circuit having the delay characteristic determines a specific second challenge value outputting the response value at the reference time from the input of the challenge value, and transmits the encapsulated data received using the second challenge value as a secret key Decode IoT device.

IoT 디바이스는 송신 노드로부터 초기 챌린지값, 기준 시간, 리스폰스값 및 암호화된 데이터를 수신하는 통신 회로, 복수의 XOR 게이트로 구성되는 PPUF 회로 및 상기 초기 챌린지값을 상기 PPUF 회로에 입력한 후 특정 시간이 경과한 상태에서 가능한 모든 챌린지값 중에서 특정한 값을 선택하여 상기 PPUF 회로에 입력하는 과정을 반복하면서 선택한 챌린지값이 입력된 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 상기 제2 챌린지값을 결정하는 제어 회로를 포함한다.The IoT device includes a communication circuit for receiving an initial challenge value, a reference time, a response value, and encrypted data from a transmitting node, a PPUF circuit comprising a plurality of XOR gates, and a controller for receiving the initial challenge value The second challenge value for outputting the response value at the reference time from the input of the selected challenge value is determined while repeating the process of selecting a specific value among all possible challenge values and passing the selected challenge value to the PPUF circuit And a control circuit.

이하 설명하는 기술은 제한된 자원과 에너지를 갖는 IoT 디바이스에 효율적으로 적용 가능한 데이터 전송 기법 내지 인증 기법을 제공한다.The techniques described below provide a data transmission scheme or authentication scheme that can be efficiently applied to IoT devices with limited resources and energy.

도 1은 아비터(arbiter) PUF의 동작에 대한 예이다.
도 2는 퍼블릭(Public) PUF의 구조 및 지연 정보에 대한 예이다.
도 3은 PPUF에 기반한 데이터 전송 시스템에 대한 블록도의 예이다.
도 4는 PPUF에 기반한 데이터 전송 과정에 대한 절차 흐름도의 예이다.
도 5는 PPUF에 기반한 데이터 전송 시스템에 대한 예이다.
Figure 1 is an example of the operation of an arbiter PUF.
2 is an example of structure and delay information of a public PUF.
3 is an example of a block diagram for a data transmission system based on PPUF.
4 is an example of a procedure flow chart for a data transmission process based on PPUF.
5 is an example of a data transmission system based on PPUF.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The following description is intended to illustrate and describe specific embodiments in the drawings, since various changes may be made and the embodiments may have various embodiments. However, it should be understood that the following description does not limit the specific embodiments, but includes all changes, equivalents, and alternatives falling within the spirit and scope of the following description.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc., may be used to describe various components, but the components are not limited by the terms, but may be used to distinguish one component from another . For example, without departing from the scope of the following description, 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. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular " include " should be understood to include a plurality of representations unless the context clearly dictates otherwise, and the terms " comprises & , Parts or combinations thereof, and does not preclude the presence or addition of one or more other features, integers, steps, components, components, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Before describing the drawings in detail, it is to be clarified that the division of constituent parts in this specification is merely a division by main functions of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Also, in performing a method or an operation method, each of the processes constituting the method may take place differently from the stated order unless clearly specified in the context. That is, each process may occur in the same order as described, may be performed substantially concurrently, or may be performed in the opposite order.

이하 설명하는 기술은 PUF 기술에 기반하여 IoT 시스템에서 인증을 수행하는 기법에 관한 것이다. 이하 설명하는 기술은 PUF 기술에 기반한 키를 이용하여 IoT 디바이스에서 메시지 인증을 수행하는 기법에 관한 것이다. 먼저 PUF 기술에 대해 설명하고자 한다.The techniques described below relate to techniques for performing authentication in an IoT system based on PUF technology. The technique described below relates to a technique for performing message authentication in an IoT device using a key based on PUF technology. First, I will explain PUF technology.

반도체 회로는 제조 과정에서 Oxide 두께 차이, 문턱 전압 차이, 전전 용량 차이 등이 발생할 수 있다. PUF 회로는 반도체 공정의 미세한 프로세스 변이로 인해 회도의 동작에 미세한 차이를 보이는 물리적인 고유한 특징을 기반으로 복제여부를 판단할 수 있는 회로이다. 도 1은 아비터(arbiter) PUF의 동작에 대한 예이다. 도 1의 아비터 PUF는 위쪽의 신호와 아래쪽 신호의 미세한 동작 지연 시간의 차이를 이용한다. 물론 아비터 PUF는 도 1과는 다른 회로 구성을 가질 수도 있다.In semiconductor circuits, oxide thickness difference, threshold voltage difference, electrostatic capacitance difference, etc. may occur during the manufacturing process. The PUF circuit is a circuit that can judge whether or not it is replicated based on the physical unique characteristic that shows slight difference in the operation of the cones due to the minute process variation of the semiconductor process. Figure 1 is an example of the operation of an arbiter PUF. The arbiter PUF of FIG. 1 uses the difference in the fine operation delay time between the upper signal and the lower signal. Of course, the arbiter PUF may have a circuit configuration different from that of FIG.

챌린지(Challenge)는 PUF 회로의 구성에 입력되는 값이고, 리스폰스(Response)는 적용된 챌린지에 대한 PUF 회로의 출력값이다. 동일한 챌린지가 복수의 PUF 회로에 입력된다고 해도, 복수의 PUF 회로는 각 PUF 회로의 고유한 지연 특성으로 인하여 서로 다른 출력값(Response)을 출력한다. 이와 같이 각 PUF 회로가 갖는 하드웨어적인 특성을 이용하여 각 기기를 식별하거나 인증할 수 있다.The challenge is a value input to the configuration of the PUF circuit, and the response is an output value of the PUF circuit for the challenge applied. Even if the same challenge is input to the plurality of PUF circuits, the plurality of PUF circuits output different output values (Responses) due to inherent delay characteristics of each PUF circuit. Thus, each device can be identified or authenticated using the hardware characteristics of each PUF circuit.

도 2는 퍼블릭(Public) PUF의 구조 및 지연 정보에 대한 예이다. 퍼블릭 PUF(이하 PPUF)는 도 1의 아비터 PUF를 변형한 형태라고 할 수 있다. 2 is an example of structure and delay information of a public PUF. The public PUF (hereinafter referred to as PPUF) is a modification of the arbiter PUF in Fig.

도 2(a)는 PPUF를 구성하는 회로에 대한 예이다. 물론 PPUF는 도 2(a)와 다른 구성을 가질 수도 있다. 도 2(a)는 6개의 XOR 게이트로 구성된 PPUF를 도시한다. 도 2(a)를 살펴보면, 3개의 XOR 게이트가 2열로 구성되어 있다. 도 2(a)의 PPUF는 높이(h)가 3이고, 너비(w)가 2인 예이다. XOR 게이트 A 및 B는 각각 입력값 2개(입력 1 및 입력 2)를 입력받는다. 도 2(a)에서 XOR 게이트의 좌측에 입력되는 값을 입력 1이라고 하고, 우측에 입력되는 값을 입력 2라고 가정한다. XOR 게이트 C 및 D는 XOR 게이트 A 및 B의 출력값을 각각 2개의 입력값으로 입력받는다. XOR 게이트 E 및 F는 XOR 게이트 C 및 D의 출력값을 각각 2개의 입력값으로 입력받는다. XOR 게이트는 새로운 입력값이 입력되면 일정한 상태 전이(transition)를 갖는다. XOR 게이트의 출력값 자체는 입력값에 따라 변경될 수도 있고, 그대로 유지될 수도 있다. PPUF를 구성하는 XOR 게이트의 높이에 따라 연속된 XOR 게이트에서 상태 전이는 기하 급수적으로 증가한다. 하나의 최초 입력값에 따라서 너비 w가 2이고, h 개의 높이를 갖는 PPUF에서 최초 입력값이 변경되면 2 × 2h번의 상태 전이가 발생할 수 있다. 2 (a) shows an example of a circuit constituting the PPUF. Of course, the PPUF may have a configuration different from that of FIG. 2 (a). Figure 2 (a) shows a PPUF composed of six XOR gates. Referring to FIG. 2 (a), three XOR gates are formed in two columns. The PPUF in Fig. 2 (a) is an example in which the height h is 3 and the width w is 2. XOR gates A and B receive two input values (input 1 and input 2), respectively. In FIG. 2 (a), assume that a value input to the left side of the XOR gate is input 1 and a value input to the right side is input 2. The XOR gates C and D receive the output values of the XOR gates A and B as two input values, respectively. The XOR gates E and F receive the output values of the XOR gates C and D as two input values, respectively. The XOR gate has a certain state transition when a new input value is input. The output value of the XOR gate itself may be changed according to the input value or may be maintained as it is. Depending on the height of the XOR gate constituting the PPUF, the state transition at the consecutive XOR gate increases exponentially. According to one initial input value, a state transition of 2 × 2 h can occur when the initial input value is changed in the PPUF having a width w of 2 and a height of h .

XOR 게이트에서 입력된 신호가 출력되는 시간을 지연 시간이라고 명명한다. 서로 다른 XOR 게이트는 각각 고유한 지연 시간을 가질 수 있다. 즉 각 XOR 게이트는 고유한 지연 특성을 갖는다. 도 2(b)는 도 2(a)의 PPUF에 대한 지연 특성을 도시한 테이블이다. 각 XOR 게이트에 대한 지연 특성은 ps 단위 시간을 사용하였다. 예컨대, XOR 게이트 A는 입력 1에 대해서는 7.7 지연 시간을 갖고, 입력 2에 대해서는 9.5 지연시간을 갖는다. XOR 게이트 B는 입력 1에 대해서는 8.3 지연 시간을 갖고, 입력 2에 대해서는 10.5 지연시간을 갖는다. XOR 게이트 C는 입력 1에 대해서는 12.4 지연 시간을 갖고, 입력 2에 대해서는 8.3 지연시간을 갖는다. The time at which the signal input from the XOR gate is output is called the delay time. Different XOR gates may each have a unique delay time. That is, each XOR gate has a unique delay characteristic. 2 (b) is a table showing delay characteristics for PPUF in Fig. 2 (a). The delay characteristic for each XOR gate was used in ps unit time. For example, XOR gate A has a delay time of 7.7 for input 1 and a delay time of 9.5 for input 2. XOR gate B has a delay time of 8.3 for input 1 and a delay time of 10.5 for input 2. XOR gate C has a delay time of 12.4 for input 1 and a delay time of 8.3 for input 2.

도 2(a)에 도시된 PPUF는 XOR 게이트 A 및 B에 챌린지가 입력된다. 예컨대, x0 = "10"(입력1: 1, 입력 2: 0)이라는 챌린지가 A 및 B에 입력되고, 일정한 시간이 경과하면 E 및 F의 출력인 리스폰스 값 y0 = "00"이 출력된다고 가정한다. 리스폰스 값 y0 = "00"이 출력되는 상태를 안정화 상태(steady-state)라고 가정한다. 물론 안정화 상태에서 출력되는 리스폰스 값은 "00"이 아닌 특정 값일 수도 있다. 안정화 상태는 앞으로 출력되는 값이 변경되는 것을 확인할 수 있는 특정 초기 값이라고 할 수 있다.The PPUF shown in Fig. 2 (a) has a challenge input to the XOR gates A and B. For example, a challenge of x 0 = "10" (input 1: 1, input 2: 0) is input to A and B, and when a predetermined time elapses, a response value y 0 = "00" . It is assumed that a response value y 0 = "00" state is stable (steady-state) the state in which the output. Of course, the response value output in the stabilized state may be a specific value other than " 00 ". The stabilization state is a specific initial value which can confirm that the output value is changed in the future.

안정화 상태에서 특정 시점 t = 0 일 때 챌린지가 x1 = "01"(입력1: 0, 입력 2: 1)으로 변경되면, t = 7.7 (ps) 시점에서 XOR 게이트 A는 출력값이 '1'에서 '0'으로 변경된다(이 시점에서는 입력 1만이 반영되어 마치 입력값이 "00"과 같은 상태임). 그리고 t = 9.5 시점에서 XOR 게이트 A는 '1'의 값을 출력한다(이 시점에서는 새로 입력된 입력값이 모두 반영되기 때문임). 즉, XOR 게이트 A는 t = 7.7 및 t = 9.5 시점에 상태 전이가 발생한다. 이와 같은 방식으로 XOR 게이트 B는 t = 8.3과 t = 10.5에서 상태 전이가 발생한다. 이와 같은 방식을 일련의 연속된 XOR 게이트를 거치면 시간에 따라 입력값이 변화되는 정보가 결정될 수 있다. When the challenge is changed to x 1 = "01" (input 1: 0, input 2: 1) at a certain time t = 0 in the stabilized state, the XOR gate A outputs "1" To 0 (at this time, only the input 1 is reflected and the input value is the same as " 00 "). At time t = 9.5, XOR gate A outputs a value of '1' (because the new input value is reflected at this point). That is, the XOR gate A generates a state transition at t = 7.7 and t = 9.5. In this way, the XOR gate B has a state transition at t = 8.3 and t = 10.5. Through such a series of consecutive XOR gates, the information whose input values change over time can be determined.

이후 상위 열(row)에 위치한 XOR 게이트는 보다 많은 시간에 상태 전이를 갖게된다. 예컨대, XOR 게이트 C는 XOR 게이트 A의 출력값을 입력 1로 입력받고, XOR 게이트 B의 출력값을 입력 2로 입력받는다. 전술한 바와 같이 XOR 게이트 A 및 XOR 게이트 B는 t = 0인 시점에 입력된 x1 = "01"에 대해 시간의 흐름에 따라 2번의 상태 전이(2개의 출력값)를 갖는다. 결국 XOR 게이트 C는 시간의 흐름에 따라 2개의 입력 1을 입력받고, 2개의 입력 2를 입력받을 수 있다. 이 경우 XOR 게이트 C는 시간의 흐름에 따라 4개의 서로 다른 출력값을 출력할 수 있다. 구체적으로 XOR 게이트 C는 t = 16.6, 18.8, 20.1 및 21.9인 시점에서 상태 전이를 갖는다. 이는 XOR 게이트 A 및 XOR 게이트 B의 출력값이 변경되는 시간을 조합한 결과이다. 즉 입력 1의 경우 XOR 게이트 C는 입력 1의 기본 지연 시간 12.4 + XOR 게이트 A의 출력값 변동 시점(7.7 및 9.5)에 출력값이 변경된다(즉, t = 20.1 및 21.9). 입력 2의 경우 XOR 게이트 C는 입력 2 기본 지연 시간 8.3 + XOR 게이트 B의 출력값 변동 시점(8.3 및 10.5)에 출력값이 변경된다(즉, t = 16.6 및 18.8). 이와 같이 상위 열에 위치한 XOR 게이트는 높이에 따라 기하 급수적으로 많은 상태 전이를 겪게 된다.Then the XOR gate located in the upper row will have state transition more time. For example, the XOR gate C receives the output value of the XOR gate A as the input 1 and receives the output value of the XOR gate B as the input 2. As described above, the XOR gate A and the XOR gate B have two state transitions (two output values) with respect to x1 = " 01 " inputted at time t = 0 according to the passage of time. As a result, the XOR gate C receives two inputs 1 and receives two inputs 2 in accordance with the passage of time. In this case, the XOR gate C can output four different output values according to the time. Specifically, the XOR gate C has a state transition at t = 16.6, 18.8, 20.1 and 21.9. This is a result of combining the times at which the output values of the XOR gate A and the XOR gate B are changed. That is, in the case of the input 1, the output value is changed (ie, t = 20.1 and 21.9) to the basic delay time of the input XOR gate C of 12.4 + 12.4 times the output value change point of the XOR gate A (7.7 and 9.5). In the case of input 2, the output value is changed (ie, t = 16.6 and 18.8) to the input 2 default delay time 8.3 + XOR gate B's output value change point (8.3 and 10.5). In this way, the XOR gate located in the upper column undergoes a lot of state transition with exponentially higher heights.

전술한 바와 같이 고유한 PPUF는 서로 다른 지연 특성을 갖는다. 개별적인 PPUF에 특이적인 지연 특성을 이용하여 통신을 위한 인증에 이용할 수 있다. 통신은 결국 특정 메시지를 전달하는 기법이다. 설명의 편의를 위해 이하 특정 메시지를 전송하는 장치를 송신기라고 하고, 송신기가 전송하는 메시지를 수신하는 장치를 수신기라고 한다. 수신기는 수신한 메시지가 실제 송신기가 전송한 메시지인지 여부를 인증한다. 통신 시스템은 공개키(public key)와 비밀키(private key)를 사용하여 인증을 수행하는 예를 가정한다. 공개키는 전술한 PPUF 특이적인 지연 정보이다. 예컨대, 도 2(b)에 기재한 지연 테이블을 공개키로 사용할 수 있다. As described above, the inherent PPUFs have different delay characteristics. It can be used for authentication for communication using the delay characteristic specific to the individual PPUF. Communication is a technique that eventually delivers a specific message. For convenience of explanation, hereinafter, a device for transmitting a specific message is referred to as a transmitter, and a device for receiving a message transmitted by a transmitter is referred to as a receiver. The receiver authenticates whether the received message is a message transmitted by the actual transmitter. The communication system assumes an example in which authentication is performed using a public key and a private key. The public key is the above-described PPUF-specific delay information. For example, the delay table shown in Fig. 2 (b) can be used as a public key.

메시지 전송 프로토콜을 간략하게 먼저 설명한다. 송신기는 x0, x1 및 t1를 결정한다. 전술한 바와 같이 x0는 일정한 시간 후에 PPUF가 안정화 상태에 도달하게 하는 입력값이다. x1는 안정화 상태에서 상태 전이를 가져오는 입력값이다. x1이 입력된 시점을 t = 0이라고 하면, t1는 입력 후에 PPUF가 y1이라는 출력값을 출력하는 시간을 말한다. 송신기는 출력값 y1을 확인하고, 출력값 y1을 결정할 수 있는 x0, y1 및 t1를 송신할 수 있다. 수신기는 x0, y1 및 t1를 입력받아 특정 입력값 x1을 결정할 수 있다. 즉, x1은 메시지 인증을 위한 비밀키에 해당한다. 이를 위해서는 송신기와 수신기가 특정 PPUF의 지연 정보를 공유해야 한다. 따라서 특정 PPUF의 지연 정보를 공개키로 사용한다.The message transfer protocol is briefly described first. The transmitter determines x 0 , x 1 and t 1 . As described above, x 0 is an input value that causes the PPUF to reach the stabilization state after a certain time. x 1 is an input value that brings the state transition in the stabilized state. Assuming that t = 0 when x 1 is input, t 1 is the time when PPUF outputs y 1 output after input. The transmitter can determine the output value y 1 and sends a 0 x, y 1 and t 1 for determining an output value y 1. The receiver can determine a particular input value x 1 by receiving x 0 , y 1, and t 1 . That is, x 1 corresponds to a secret key for message authentication. To do this, the transmitter and the receiver must share the delay information of a particular PPUF. Therefore, the delay information of a specific PPUF is used as a public key.

하나의 장치(예컨대, 수신기)는 물리적인 PUF를 갖고, 나머지 하나의 장치(예컨대, 송신기)는 물리적인 PPUF를 소프트웨어적으로 구현한 모듈(PPUF 모듈)을 사용한다고 가정한다.It is assumed that one device (e.g., receiver) has a physical PUF and the other device (e.g., transmitter) uses a module (PPUF module) that implements a physical PPUF in a software manner.

도 3은 PPUF에 기반한 데이터 전송 시스템(100)에 대한 블록도의 예이다. 시스템(100)은 송신기(110)와 수신기(150)을 포함한다. 도 3에서는 설명의 편의를 위해 각각 대응되는 송신기(110)와 수신기(150) 한쌍을 도시하였다. 전술한 바와 같이 송신기(110)와 수신기(150)는 동일한 동작을 수행하는 PPUF를 공유한다. 도 1에서 송신기(110)는 소프트웨어적인 PPUF 모듈을 사용하고, 수신기(150)가 물리적인 PPUF 회로를 사용한 예를 도시한다. 3 is an example of a block diagram for a data transmission system 100 based on PPUF. The system 100 includes a transmitter 110 and a receiver 150. In FIG. 3, a pair of a transmitter 110 and a receiver 150 are shown for convenience of explanation. As described above, the transmitter 110 and the receiver 150 share a PPUF performing the same operation. 1 shows an example in which the transmitter 110 uses a software PPUF module and the receiver 150 uses a physical PPUF circuit.

송신기(110)는 소프트웨어적인 PPUF 모듈을 사용한다. 이를 PPUF 시뮬레이션 모듈이라고 명명한다. PPUF 시뮬레이션 모듈은 수신기(150)에 있는 물리적인 PPUF 회로의 지연 정보를 사용하여 일정한 챌린지가 입력되면 특정 시간에 출력되는 리스폰스를 출력한다. Transmitter 110 uses a software PPUF module. This is called the PPUF simulation module. The PPUF simulation module outputs the response output at a specific time when a certain challenge is input using the delay information of the physical PPUF circuit in the receiver 150. [

송신기(110)는 제어회로(111), 저장장치(112) 및 통신 회로(113)를 포함한다. 제어 회로(111)는 송신기(110)의 동작을 제어하는 장치이다. 제어 회로(110)는 CPU와 같은 중앙 처리 장치 및 제어 명령을 저장하는 메모리로 구성될 수 있다. 저장장치(112)는 PPUF 시뮬레이션을 위한 소프트웨어를 저장한다. 제어 회로(110)는 저장장치(112)에 저장된 소프트웨어를 구동하여 전술한 초기 입력값 x0, 챌린지 x1, 일정 시간 t1 및 챌린지 입력 후 시간 t1에 출력되는 리스폰스 y1을 결정한다. 전술한 바와 같이 챌린지 x1이 비밀키에 해당한다. 제어 회로(110)는 챌린지 x1를 이용하여 특정한 데이터를 암호화한다. 특정한 데이터는 사전에 마련된다고 가정한다. 데이터 암호화 방법은 비밀키를 이용한 다양한 알고리즘이 사용될 수 있다. 송신기(110)는 통신회로(113)를 (x0, y1, t1) 및 암호화한 데이터 D를 전송한다. 통신 회로(113)는 안테나, 통신 모듈 등으로 구성될 수 있다.The transmitter 110 includes a control circuit 111, a storage device 112, and a communication circuit 113. The control circuit 111 is a device for controlling the operation of the transmitter 110. [ The control circuit 110 may be constituted by a central processing unit such as a CPU and a memory for storing control commands. The storage device 112 stores software for PPUF simulation. The control circuit 110 drives the software stored in the storage device 112 to determine the initial input value x 0 , the challenge x 1 , the constant time t 1, and the response y 1 output at the time t 1 after the challenge input. As described above, the challenge x 1 corresponds to the secret key. The control circuit 110 encrypts the specific data using the challenge x 1 . It is assumed that specific data is provided in advance. Various algorithms using secret keys can be used for the data encryption method. The transmitter 110 transmits (x 0 , y 1 , t 1 ) and encrypted data D to the communication circuit 113. The communication circuit 113 may be composed of an antenna, a communication module, and the like.

수신기(150)는 물리적인 PPUF 회로를 이용하여 비밀키인 챌린지 x1을 결정한다. 수신기(150)는 수신한 정보 (x0, y1, t1)를 이용하여 챌린지 x1을 결정한다. Receiver 150 uses the physical PPUF circuitry to determine challenge x 1 , which is a secret key. The receiver 150 determines the challenge x 1 using the received information (x 0 , y 1 , t 1 ).

수신기(150)는 제어회로(151), PPUF 회로(152), 저장장치(153) 및 통신 회로(154)를 포함한다. 제어회로(151)는 수신기(150)의 동작을 제어하는 회로이다. PPUF 회로(152)는 전술한 바와 같이 물리적인 특정 PPUF를 의미한다. 저장장치(153)는 PPUF 회로(152)를 이용하여 비밀키를 복호하기 위한 소프트웨어를 저장한다. 또한 저장장치(153)는 수신한 정보 및 복호한 데이터를 저장할 수 있다. 통신 회로(154)는 송신기(110)로부터 일정한 정보를 수신한다.The receiver 150 includes a control circuit 151, a PPUF circuit 152, a storage device 153 and a communication circuit 154. The control circuit 151 is a circuit for controlling the operation of the receiver 150. The PPUF circuit 152 refers to a physical specific PPUF as described above. The storage device 153 stores software for decrypting the secret key using the PPUF circuit 152. [ The storage device 153 may also store the received information and the decoded data. The communication circuit 154 receives certain information from the transmitter 110.

수신기(150)는 (x0, y1, t1)를 이용하여 챌린지 x1을 결정한다. 수신기(150)는 모든 가능한 챌린지 세트 중에서 시간 t1후에 리스폰스 y1을 출력하게 하는 챌린지 x1를 결정한다. 수신기(150)는 챌린지 세트 중에서 임의의 챌린지를 선택하고, 안정화 상태에서 선택한 챌린지를 PPUF 회로(152) 입력하고, 선택한 챌린지가 입력된 후 시간 t1 후에 출력되는 리스폰스를 확인한다. 수신기(150)는 선택한 특정 챌린지가 입력된 후 시간 t1 후에 출력되는 리스폰스가 y1인 경우 현재 선택한 챌린지를 비밀키 x1으로 결정한다.The receiver 150 determines the challenge x 1 using (x 0 , y 1 , t 1 ). Receiver 150 determines the challenge x 1 to output the response y 1 after time t 1 among all possible challenge sets. Receiver 150 selects any challenge in the challenge set, inputs the challenge selected in the stabilization state to PPUF circuit 152, and confirms the response output after time t 1 after the selected challenge is input. The receiver 150 determines the currently selected challenge as the secret key x 1 when the response output after time t 1 after the selected specific challenge is y 1 is y 1 .

한편 수신기(150)에 있는 PPUF 회로(152)를 이용하지 못하는 공격자는 PPUF의 지연 정보를 알고 있다고 해도, 비밀키를 알아내고 데이터를 복호하는 시간이 수신기(150)보다 훨씬 오래 걸린다. 따라서 수신기(150)가 비밀키를 결정하고 데이터를 복호하기 위해 필요한 최장 시간을 제한 시간으로 이용할 수 있다. 예컨대, 수신기(150)는 메시지가 도착한 시간부터 제한 시간 내에 복호한 데이터만을 정상적인 데이터로 인식하고 처리한다. 제한 시간은 송신기(110)가 메시지를 송신한 시간을 기준으로 설정될 수도 있다.On the other hand, even if the attacker who can not use the PPUF circuit 152 in the receiver 150 knows the delay information of the PPUF, the time for deciphering the secret key and decrypting the data takes much longer than the receiver 150. Therefore, the receiver 150 can use the longest time required for deciding the secret key and decrypting the data as the time limit. For example, the receiver 150 recognizes and processes only data decoded within a time limit from the time the message arrives as normal data. The time limit may be set based on the time the transmitter 110 sent the message.

전술한 바와 같이 PPUF회로는 높이 및 너비가 다를 수 있다. 예컨대, PPUF회로의 너비가 w이라면, 기본적으로 입력되는 입력값 x는 w 자리수를 갖고, 출력값 y도 w 자리수를 갖게된다. 결국 w은 비밀키의 길이에 해당한다. As described above, the PPUF circuit may have different height and width. For example, if the width of the PPUF circuit is w, the input value x, which is basically input, has w digits, and the output value y has w digits. Finally, w corresponds to the length of the secret key.

도 3은 송신기(110)가 소프트웨어적인 PPUF 시뮬레이션 모듈을 사용하고, 수신기(150)가 물리적인 PPUF 회로를 사용하는 시스템을 도시하였다. 경우에 따라서는 송신기(110)가 물리적인 PPUF 회로를 사용하고, 수신기(150)가 소프트웨어적인 PPUF 시뮬레이션 모듈을 사용할 수도 있다. Figure 3 illustrates a system where the transmitter 110 uses a software PPUF simulation module and the receiver 150 uses physical PPUF circuitry. In some cases, the transmitter 110 may use a physical PPUF circuit, and the receiver 150 may use a software PPUF simulation module.

도 4는 PPUF에 기반한 데이터 전송 과정(200)에 대한 절차 흐름도의 예이다. 송신기(110)는 먼저 데이터 암호화를 비밀키를 생성한다(201). 송신기(110)는 초기 입력값 x0및 특정 시간 t1을 선택한다(①). 송신기(110)는 초기 입력값 x0을 PPUF(소프트웨어 모듈 또는 하드웨어 회로)에 입력하여 일정 시간 경과(안정화 상태 진입)를 기다린다. 송신기(110)는 가능한 챌린지 중에서 특정한 챌린지 x1를 선택한다(②). 송신기(110)는 안정화 상태에서 챌린지 x1를 PPUF에 입력하여 시간 t1 후에 출력되는 리스폰스 y1를 결정한다(③).FIG. 4 is an example of a procedure flow chart for the PPUF-based data transmission process 200. FIG. Transmitter 110 first generates a secret key for data encryption (201). The transmitter 110 selects the initial input value x 0 and the specific time t 1 (1). The transmitter 110 inputs the initial input value x 0 to the PPUF (software module or hardware circuit) and waits for a predetermined time (entering the stabilization state). Transmitter 110 selects a particular challenge x 1 from possible challenges (2). The transmitter 110 inputs the challenge x 1 to the PPUF in the stabilized state to determine the response y 1 output after the time t 1 (3).

송신기(110)는 챌린지 x1을 비밀키로 사용하여 전송 대상인 데이터(data)를 암호화한다(202). 비밀키를 사용한 암호화 방법을 다양한 알고리즘 중 하나가 이용될 수 있다. 다만 송신기(110)에서 사용하는 암호화 방법과 수신기(150)에서 사용하는 복호화 방법은 대응되어야 한다.The transmitter 110 encrypts the data (data) to be transmitted using the challenge x 1 as a secret key (202). One of various algorithms can be used to encrypt the secret key. However, the encryption method used in the transmitter 110 and the decryption method used in the receiver 150 must correspond to each other.

송신기(110)는 자신이 결정한 정보 중 (x0, y1, t1)을 전송한다(211). 송신기(110)는 자신이 암호화한 데이터 D를 전송한다(211). 송신기(110)는 (x0, y1, t1)와 D를 동시에 전송할 수 있다.The transmitter 110 transmits (x 0 , y 1 , t 1 ) among the information determined by the transmitter 110 (211). The transmitter 110 transmits the encrypted data D (211). Transmitter 110 may transmit (x 0 , y 1 , t 1 ) and D simultaneously.

수신기(150)는 자신이 수신한 정보를 이용하여 먼저 비밀키를 결정한다(221). 수신기(150)는 수신한 초기 입력값 x1을 PPUF 입력하고 일정한 시간 경과를 기다린다(①). 초기 입력값 x1 입력 후에 안정화 상태에 이르는 시간은 사전에 공유된 시간이라고 가정한다. 또는 송신기(110)가 안정화 상태에 이르는 시간도 수신기(150)에 전송할 수도 있다. 수신기(150)는 가능한 모든 챌린지 중 특정 챌린지를 선택하고, 선택한 챌린지를 입력한 후 시간 t1에 리스폰스를 확인한다. 수신기(150)는 챌린지를 입력한 후 시간 t1에 리스폰스 y1가 출력되면 현재 선택한 챌린지를 비밀키로 결정한다(②).The receiver 150 first determines the secret key using the received information (221). The receiver 150 inputs the received initial input value x 1 in PPUF and waits for a predetermined time elapse (1). It is assumed that the time to reach the stabilization state after the initial input value x 1 is pre-shared time. Or the time when the transmitter 110 is in a stabilized state, to the receiver 150. Receiver 150 selects a particular challenge among all possible challenges, confirms the response at time t 1 after entering the selected challenge. After the challenge is input, the receiver 150 determines the currently selected challenge as a secret key when the response y 1 is output at time t 1 (2).

이후 수신기(150)는 결정한 비밀키 x1를 이용하여 암호화된 데이터 D를 복호한다(222). Thereafter, the receiver 150 decrypts the encrypted data D using the determined secret key x 1 (222).

전술한 바와 같이 통신 시스템은 적법한 데이터 처리를 위한 제한 시간을 설정할 수 있다. 예컨대, 수신기(150)는 메시지를 수신한 시점부터 일정한 제한 시간 내에 데이터를 복호한 경우에만 복호한 데이터를 적법한 데이터로 처리할 수 있다. 또는 수신기(150)는 송신기(110)가 메시지를 전송한 시점부터 일정한 제한 시간 내에 데이터를 복호한 경우에만 복호한 데이터를 적법한 데이터로 처리할 수 있다.As described above, the communication system can set a time limit for legitimate data processing. For example, the receiver 150 can process the decoded data as legitimate data only when the data is decoded within a predetermined time limit from when the message is received. Alternatively, the receiver 150 can process the decoded data as legitimate data only when the transmitter 110 decodes the data within a predetermined time limit from when the message is transmitted.

한편 수신기(150)는 복호한 데이터를 송신기(110)에 전달할 수 있다. 송신기(110)가 제한 시간 내에 수신기(150)로부터 복호한 데이터를 수신하면, 해당 수신기(150)를 적법한 수신기로 인증할 수 있다. 이후 송신기(110)는 수신기(150)에 동일한 방법으로 암호화한 데이터를 추가로 전달할 수 있다. 제한 시간은 시스템의 성능, 비밀키의 길이 등으로 고려하여 적절하게 설정될 수 있다.Meanwhile, the receiver 150 may transmit the decoded data to the transmitter 110. When the transmitter 110 receives data decoded from the receiver 150 within a time limit, the receiver 150 can be authenticated with a legitimate receiver. The transmitter 110 may then further transmit the encrypted data to the receiver 150 in the same manner. The time limit can be appropriately set considering the performance of the system, the length of the secret key, and the like.

나아가 데이터 전송 시스템(100)에서 비밀키를 복수의 챌린지 값으로 구성될 수 있다. 송신기(110)가 비밀키로 사용될 챌린지를 결정하는 과정을 m번 반복하여 복수의 챌린지를 결정할 수 있다. 송신기(110)는 복수의 챌린지 {x1, x2, ..., xm}을 결정한다. 또한 송신기(110)는 각 챌린지의 리스폰스 y = {y1, y2, ... ym}을 결정한다. 송신기(110)는 결정한 챌린지를 결합(concatenation)하여 비밀키 X를 생성할 수 있다. 송신기(110)는 결합된 비밀키 X를 이용하여 데이터를 암호화한다. 송신기(110)는 입력 초기값 x0, 비밀키를 구성하는 복수의 챌린지 x = {x1, x2, ..., xm}, 특정 시간 t1을 전송한다. 또한 송신기(110)는 암호화한 데이터를 전송한다. 수신기(150)는 수신한 정보를 이용하여 반복적으로 비밀키를 구성하는 복수의 챌린지를 결정한다. 수신기(150)는 결정한 복수의 챌린지로 비밀키를 완성하고, 비밀키로 암호화한 데이터를 복호한다.Further, the secret key in the data transmission system 100 may be configured with a plurality of challenge values. The process of determining the challenge to be used as the secret key by the transmitter 110 may be repeated m times to determine a plurality of challenges. Transmitter 110 determines a plurality of challenges {x 1 , x 2 , ..., x m }. And also the transmitter 110 determines the response y = {y 1, y 2 , ... y m} for each challenge. The transmitter 110 may concatenate the determined challenge to generate the secret key X. [ The transmitter 110 encrypts the data using the combined secret key X. Transmitter 110 transmits a plurality of challenges x = {x 1 , x 2 , ..., x m }, a specific time t 1 , constituting an input initial value x 0, a secret key. The transmitter 110 also transmits the encrypted data. The receiver 150 determines a plurality of challenges constituting the secret key repeatedly using the received information. The receiver 150 completes the secret key with the determined plurality of challenges, and decrypts the data encrypted with the secret key.

도 5는 PPUF에 기반한 데이터 전송 시스템(300)에 대한 예이다. 시스템(300)은 송신기(310) 및 수신기(350A 및 350B)를 포함한다. 송신기(310)는 도 3에서 설명한 바와 같이 PPUF 시뮬레이션 모듈을 갖는다. 다만 시스템(300)은 두 개의 수신기(350A 및 350B) 포함한다. 따라서 송신기(310)는 두 개의 수신기(350A 및 350B)에 있는 PPUF 회로의 지연 특성을 갖는 두 개의 PPUF 시뮬레이션 모듈을 갖는다. PPUF 시뮬레이션 모듈 A는 수신기(350A)에 포함된 PPUF 회로 A의 지연 특성에 기반한 모듈이다. PPUF 시뮬레이션 모듈 B는 수신기(350B)에 포함된 PPUF 회로 B의 지연 특성에 기반한 모듈이다.5 is an example of a data transmission system 300 based on PPUF. The system 300 includes a transmitter 310 and receivers 350A and 350B. The transmitter 310 has a PPUF simulation module as described in FIG. The system 300 includes two receivers 350A and 350B. Thus, the transmitter 310 has two PPUF simulation modules with delay characteristics of the PPUF circuitry in the two receivers 350A and 350B. The PPUF simulation module A is a module based on the delay characteristic of the PPUF circuit A included in the receiver 350A. The PPUF simulation module B is a module based on the delay characteristics of the PPUF circuit B included in the receiver 350B.

송신기(310)는 수신기(350A)와 수신기(350B)에 서로 다른 정보를 전송한다. 도 5는 송신기(310)가 수신기(350A)에 입력 초기값 xa, 리스폰스 yb, 시간 tb를 전송하고, 수신기(350B)에 입력 초기값 xa, 리스폰스 yc, 시간 tc를 전송하는 예를 도시한다. 입력 초기값도 수신기마다 서로 다른 값을 사용할 수 있다. 도시하지 않았지만 송신기(310)가 데이터를 암호화하는데 사용한 비밀키는 두 개의 수신기(350A 및 350B)마다 다르다. 따라서 동일한 초기 데이터라고 가정하여도 송신기(310)가 두 개의 수신기(350A 및 350B)에 전송하는 암호화 데이터(DA 및 DB)는 서로 상이하다.Transmitter 310 transmits different information to receiver 350A and receiver 350B. 5 shows that the transmitter 310 transmits the input initial value x a , the response y b , and the time t b to the receiver 350A and the input initial value x a , the response y c , and the time t c to the receiver 350B . ≪ / RTI > The input initial value can also be different for each receiver. Although not shown, the secret key used by the transmitter 310 to encrypt data is different for the two receivers 350A and 350B. Therefore, the encrypted data D A and D B transmitted by the transmitter 310 to the two receivers 350 A and 350 B are different from each other, even assuming the same initial data.

PPUF에 기반한 데이터 전송 시스템(300)에서 실제 송신기(310)와 수신기(350)는 다양한 장치일 수 있다. 예컨대, 송신기(310)는 서버, 휴대 단말, PC, IoT 디바이스 등과 같은 다양한 장치일 수 있다. 수신기(350A, 350B)도 서버, 휴대 단말, PC, IoT 디바이스 등과 같은 다양한 장치일 수 있다. In the PPUF-based data transmission system 300, the actual transmitter 310 and the receiver 350 may be various devices. For example, the transmitter 310 may be a variety of devices such as a server, a mobile terminal, a PC, an IoT device, and the like. The receivers 350A and 350B may also be various devices such as a server, a portable terminal, a PC, an IOT device, and the like.

송신기(310) 또는 수신기(350A, 350B) 중 어느 하나가 에너지 및 자원이 부족한 장치일 수 있다. 예컨대, 수신기(350B)가 가용한 에너지가 한정적인 IoT 디바이스라고 가정한다. 수신기(350B)는 특정 정보를 수집하는 센서 장치일 수 있다. 이 경우 수신기(350B)는 도 5에 도시한 바와 같이 물리적인 PPUF 회로를 포함하는 것이 바람직하다. 수신기(350B)는 수신한 정보를 이용하여 반복적으로 비밀키로 사용되는 챌린지값을 결정해야 하는데, 물리적인 PPUF 회로를 이용하는 것이 효율적일 수 있다.Either the transmitter 310 or the receiver 350A or 350B may be a device lacking energy and resources. For example, assume that the available energy of receiver 350B is a limited IoT device. The receiver 350B may be a sensor device that collects specific information. In this case, the receiver 350B preferably includes a physical PPUF circuit as shown in Fig. Receiver 350B may use the received information to determine the challenge value that is used repeatedly as the secret key, but it may be efficient to use physical PPUF circuitry.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and drawings attached hereto are only a part of the technical idea included in the above-described technology, and it is easy for a person skilled in the art to easily understand the technical idea included in the description of the above- It will be appreciated that variations that may be deduced and specific embodiments are included within the scope of the foregoing description.

100 :PPUF에 기반한 데이터 전송 시스템
110 : 송신기
111 : 제어회로
112 : 저장장치
113 : 통신회로
150 : 수신기
151 : 제어회로
152 : PPUF 회로
153 : 저장장치
154 : 통신회로
300 :PPUF에 기반한 데이터 전송 시스템
310 : 송신기
350A, 350B : 수신기
100: Data transmission system based on PPUF
110: Transmitter
111: control circuit
112: storage device
113: Communication circuit
150: receiver
151: Control circuit
152: PPUF circuit
153: Storage device
154: Communication circuit
300: Data transmission system based on PPUF
310: Transmitter
350A, 350B: receiver

Claims (12)

송신기가 어느 PPUF(Public Physically Unclonable Function)의 지연 특성을 이용하여 제1 챌린지값 및 상기 제1 챌린지값이 입력된 후 기준 시간에 출력되는 리스폰스값을 결정하는 단계;
상기 송신기가 상기 기준 시간 및 상기 리스폰스값을 포함하는 정보를 전송하고, 상기 제1 챌린지값을 비밀키로 이용하여 암호화한 데이터를 전송하는 단계;
수신기가 상기 정보를 수신하고, 상기 지연 특성을 갖는 PPUF 회로에서 챌린지값 입력 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 특정한 제2 챌린지값을 결정하는 단계; 및
상기 수신기가 상기 제2 챌린지값을 비밀키로 이용하여 수신한 상기 암화화한 데이터를 복호하는 단계를 포함하는 PPUF에 기반한 데이터 전송 방법.
Using a delay characteristic of a PPUF (Public Physically Unclonable Function) to determine a first challenge value and a response value output at a reference time after the first challenge value is input;
The transmitter transmitting information including the reference time and the response value, and transmitting the encrypted data using the first challenge value as a secret key;
Determining a specific second challenge value for the receiver to receive the information and output the response value at the reference time from a challenge value input time in the PPUF circuit having the delay characteristic; And
And decrypting the encapsulated data received by the receiver using the second challenge value as a secret key.
제1항에 있어서,
상기 송신기는 상기 PPUF에 입력되는 초기 챌린지값을 상기 정보에 더 포함하여 전송하는 PPUF에 기반한 데이터 전송 방법.
The method according to claim 1,
Wherein the transmitter further includes an initial challenge value input to the PPUF in the information and transmits the PPUF-based data.
제1항에 있어서,
상기 송신기는 상기 수신기의 PPUF 회로의 지연 특성을 기준으로 상기 PPUF 회로의 동작을 시뮬레이션하는 소프트웨어를 이용하여 상기 제1 챌린지값, 상기 기준 시간 및 상기 리스폰스값을 결정하는 PPUF에 기반한 데이터 전송 방법.
The method according to claim 1,
Wherein the transmitter determines the first challenge value, the reference time and the response value using software that simulates operation of the PPUF circuit based on delay characteristics of the PPUF circuit of the receiver.
제1항에 있어서,
상기 수신기는 가능한 모든 챌린지값 중에서 임의의 값을 선택하여 상기 PPUF 회로에 입력하는 과정을 반복하면서 챌린지값 입력 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 상기 제2 챌린지값을 결정하는 PPUF에 기반한 데이터 전송 방법.
The method according to claim 1,
Wherein the receiver selects the arbitrary value among all possible challenge values and inputs the selected challenge value to the PPUF circuit while determining the second challenge value to output the response value at the reference time from the input of the challenge value Data transmission method.
제1항에 있어서,
상기 정보는 초기 챌린지값을 더 포함하고,
상기 수신기는 상기 초기 챌린지값을 상기 PPUF 회로에 입력한 후 특정 시간이 경과한 후에 가능한 모든 챌린지값 중에서 특정한 값을 선택하여 상기 PPUF 회로에 입력하는 과정을 반복하면서 선택한 챌린지값이 입력된 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 상기 제2 챌린지값을 결정하는 PPUF에 기반한 데이터 전송 방법.
The method according to claim 1,
Wherein the information further includes an initial challenge value,
The receiver selects a specific value from among all possible challenge values after a predetermined time elapses after inputting the initial challenge value into the PPUF circuit, and inputs the selected value to the PPUF circuit. The receiver repeats the process of inputting the selected challenge value, And determines the second challenge value to output the response value at a reference time.
제1항에 있어서,
상기 수신기가 제한 시간 내에 상기 암호화한 데이터를 복호한 경우에만 복호한 데이터를 적법한 것으로 처리하는 PPUF에 기반한 데이터 전송 방법.
The method according to claim 1,
And decodes the decrypted data only when the receiver has decrypted the encrypted data within a time limit.
어느 PPUF(Public Physically Unclonable Function)의 지연 특성을 이용하여 초기 챌린지값, 제1 챌린지값 및 상기 제1 챌린지값이 입력된 후 기준 시간에 출력되는 리스폰스값을 결정하고, 상기 초기 챌린지값, 상기 기준 시간, 상기 리스폰스값 및 상기 제1 챌린지값을 비밀키로 이용하여 암호화한 데이터를 전송하는 송신기; 및
상기 초기 챌린지값, 상기 기준 시간, 상기 리스폰스값 및 상기 데이터를 수신하고, 상기 지연 특성을 갖는 PPUF 회로에서 챌린지값 입력 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 특정한 제2 챌린지값을 결정하고, 상기 제2 챌린지값을 비밀키로 이용하여 수신한 상기 암화화한 데이터를 복호하는 IoT 디바이스를 포함하는 PPUF에 기반한 IoT 통신 시스템.
Determining an initial challenge value, a first challenge value, and a response value output at a reference time after the first challenge value is input, using the delay characteristics of a PPUF (Public Physically Unclonable Function) A transmitter for transmitting data encrypted using the time, the response value and the first challenge value as a secret key; And
The PPUF circuit having the delay characteristic receives the initial challenge value, the reference time, the response value and the data, and determines a specific second challenge value for outputting the response value at the reference time from the input of the challenge value And an IoT device for decrypting the encapsulated data received using the second challenge value as a secret key.
제6항에 있어서,
상기 송신기는 상기 수신기의 PPUF 회로의 지연 특성을 기준으로 상기 PPUF 회로의 동작을 시뮬레이션하는 소프트웨어를 이용하여,
상기 초기 챌린지값이 상기 PPUF 회로에 입력된 후 특정 시간이 경과한 상태에서 상기 PPUF 회로에 상기 제1 챌린지값이 입력된 시점으로부터 상기 기준 시간이 경과한 시점에 출력되는 상기 리스폰스값을 결정하는 PPUF에 기반한 IoT 통신 시스템.
The method according to claim 6,
The transmitter uses software that simulates the operation of the PPUF circuit based on the delay characteristics of the PPUF circuit of the receiver,
A PPUF circuit for determining the response value output at a time point at which the reference time elapses from a time point at which the first challenge value is input to the PPUF circuit in a state where a predetermined time has elapsed after the initial challenge value is input to the PPUF circuit; Based IoT communication system.
제6항에 있어서,
상기 IoT 디바이스는 상기 PPUF 회로를 포함하고,
상기 초기 챌린지값을 상기 PPUF 회로에 입력한 후 특정 시간이 경과한 후에 가능한 모든 챌린지값 중에서 특정한 값을 선택하여 상기 PPUF 회로에 입력하는 과정을 반복하면서 선택한 챌린지값이 입력된 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 상기 제2 챌린지값을 결정하는 PPUF에 기반한 IoT 통신 시스템.
The method according to claim 6,
Wherein the IoT device comprises the PPUF circuit,
The initial challenge value is input to the PPUF circuit, and a specific value among all possible challenge values after a specific time elapses is input to the PPUF circuit, and the process is repeated while the selected challenge value is input from the input time point And determines the second challenge value to output the response value.
송신 노드로부터 초기 챌린지값, 기준 시간, 리스폰스값 및 암호화된 데이터를 수신하는 통신 회로;
복수의 XOR 게이트로 구성되는 PPUF 회로; 및
상기 초기 챌린지값을 상기 PPUF 회로에 입력한 후 특정 시간이 경과한 상태에서 가능한 모든 챌린지값 중에서 특정한 값을 선택하여 상기 PPUF 회로에 입력하는 과정을 반복하면서 선택한 챌린지값이 입력된 시점부터 상기 기준 시간에 상기 리스폰스값을 출력하는 상기 제2 챌린지값을 결정하는 제어 회로를 포함하는 IoT 디바이스.
A communication circuit for receiving an initial challenge value, a reference time, a response value and encrypted data from a transmitting node;
A PPUF circuit comprising a plurality of XOR gates; And
Selecting a specific value from among all possible challenge values after a predetermined time elapses after inputting the initial challenge value to the PPUF circuit and inputting the selected value to the PPUF circuit while repeating the process of inputting the selected challenge value, And a control circuit for determining the second challenge value to output the response value to the IoT device.
제10항에 있어서,
상기 제어 회로는 상기 제2 챌린지값을 비밀키로 이용하여 상기 데이터를 복호하는 IoT 디바이스.
11. The method of claim 10,
And the control circuit uses the second challenge value as a secret key to decrypt the data.
제10항에 있어서,
상기 송신 노드는 상기 PPUF 회로의 지연 특성을 기준으로 상기 PPUF 회로의 동작을 시뮬레이션하는 소프트웨어를 이용하여
상기 초기 챌린지값이 상기 PPUF 회로에 입력된 후 특정 시간이 경과한 상태에서 상기 제1 챌린지값을 상기 PPUF 회로에 입력한 시점부터 상기 기준 시간이 경과한 시점에 상기 PPUF 회로가 출력하는 상기 리스폰스값을 결정하는 IoT 디바이스.
11. The method of claim 10,
The transmitting node uses software that simulates the operation of the PPUF circuit on the basis of the delay characteristics of the PPUF circuit
Wherein the first challenge value is input to the PPUF circuit and the first challenge value is input to the PPUF circuit after a predetermined time has elapsed after the initial challenge value is input to the PPUF circuit, Lt; / RTI >
KR1020170063021A 2017-05-22 2017-05-22 DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE KR101990678B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170063021A KR101990678B1 (en) 2017-05-22 2017-05-22 DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170063021A KR101990678B1 (en) 2017-05-22 2017-05-22 DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE

Publications (2)

Publication Number Publication Date
KR20180127803A true KR20180127803A (en) 2018-11-30
KR101990678B1 KR101990678B1 (en) 2019-09-30

Family

ID=64561164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170063021A KR101990678B1 (en) 2017-05-22 2017-05-22 DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE

Country Status (1)

Country Link
KR (1) KR101990678B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150135032A (en) * 2014-05-23 2015-12-02 숭실대학교산학협력단 System and method for updating secret key using physical unclonable function
JP2016018257A (en) * 2014-07-04 2016-02-01 日本電気株式会社 Authentication device and authentication method
KR20170047965A (en) 2015-10-26 2017-05-08 고려대학교 산학협력단 Capacitance variation based encryption apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150135032A (en) * 2014-05-23 2015-12-02 숭실대학교산학협력단 System and method for updating secret key using physical unclonable function
JP2016018257A (en) * 2014-07-04 2016-02-01 日本電気株式会社 Authentication device and authentication method
KR20170047965A (en) 2015-10-26 2017-05-08 고려대학교 산학협력단 Capacitance variation based encryption apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. POTKONJAK 외 1명, Public Physical Unclonable Function, Proceedings of the IEEE, Vol.102, No.8 (2014.08.)* *
Meng Li 외 3명, Practical Public PUF Enabled by Solving Max-Flow Problem on Chip, Proceedings of the 53rd Annual Design Automation Conference, ACM (2016.)* *

Also Published As

Publication number Publication date
KR101990678B1 (en) 2019-09-30

Similar Documents

Publication Publication Date Title
CN109076487B (en) Method and architecture for secure ranging
US10979221B2 (en) Generation of keys of variable length from cryptographic tables
EP2456121B1 (en) Challenge response based enrollment of physical unclonable functions
Liu et al. A novel asymmetric three-party based authentication scheme in wearable devices environment
US10812277B2 (en) Method and system for secure key exchange using physically unclonable function (PUF)-based keys
US9264425B1 (en) Anonymity authentication method in multi-server environments
KR20180119201A (en) Electronic device for authentication system
KR101608815B1 (en) Method and system for providing service encryption in closed type network
CN112906070B (en) Integrated circuit and IoT devices with block cipher side channel attack mitigation and related methods
Zhu Flexible and password-authenticated key agreement scheme based on chaotic maps for multiple servers to server architecture
Perković et al. Secure initialization of multiple constrained wireless devices for an unaided user
Li et al. Practical threshold multi-factor authentication
Yi et al. Practical threshold password-authenticated secret sharing protocol
CN112104460A (en) Method for encrypting and decrypting algorithm of asymmetric dynamic token
US9537655B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
KR101995111B1 (en) DATA TRANSFER METHOD USING PRIVATE KEY BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM AND IoT DEVICE
Goyal et al. Cryptographic security using various encryption and decryption method
JP6037450B2 (en) Terminal authentication system and terminal authentication method
Sinnhofer et al. Patterns to establish a secure communication channel
KR101990678B1 (en) DATA TRANSFER METHOD BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION, IoT COMMUNICATION SYSTEM BASED ON PUBLIC PHYSICALLY UNCLONABLE FUNCTION AND IoT DEVICE
KR102304831B1 (en) Encryption systems and method using permutaion group based cryptographic techniques
Alkanhal et al. A Distributed Lightweight PUF-Based Mutual Authentication Protocol for IoV
KR100737385B1 (en) Method for transmitting key data in the wireless sensor network
KR101428665B1 (en) Security system and method for using aes-otp
Gomez et al. Performance evaluation of the present cryptographic algorithm over FPGA

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