KR20150051012A - Apparatus and method for generatiing encryption key of hardware using puf - Google Patents
Apparatus and method for generatiing encryption key of hardware using puf Download PDFInfo
- Publication number
- KR20150051012A KR20150051012A KR1020130132371A KR20130132371A KR20150051012A KR 20150051012 A KR20150051012 A KR 20150051012A KR 1020130132371 A KR1020130132371 A KR 1020130132371A KR 20130132371 A KR20130132371 A KR 20130132371A KR 20150051012 A KR20150051012 A KR 20150051012A
- Authority
- KR
- South Korea
- Prior art keywords
- puf
- enable signal
- encryption key
- receiving
- signal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 230000010355 oscillation Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hall/Mr Elements (AREA)
Abstract
Description
본 발명은 PUF(Physically Unclonable Function) 로직을 이용하여 하드웨어의 암호키를 생성하는 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for generating a cryptographic key of hardware using Physically Unclonable Function (PUF) logic.
물리적 공격에 의한 키 추출을 방지하기 위하여 암호키를 별도로 저장하지 않고, 디지털 회로로 지문과 같은 로직을 구현하여 이를 암호키로 사용하는 기술에 대한 연구 개발이 진행 중이다. In order to prevent the key extraction due to physical attack, research and development are underway on the technology of implementing the logic such as the fingerprint with the digital circuit and using it as the cryptographic key without separately storing the cryptographic key.
이러한 기술 중 대표적인 기술이 PUF(Physically Unclonable Function)로서, 디지털 기기의 복제방지 기술인 PUF는 동일한 회로라고 하더라도, 회로를 구현하는 공정 상황에 따라 선로 지연(wire delay) 및 게이트 지연(gate delay)이 미세하게 다른 것을 이용한 회로로서, 이러한 PUF는 작은 게이트 로직으로 구현이 가능하며, 랜덤 출력을 용이하게 생성할 수 있다. As a representative technology of these technologies is PUF (Physically Unclonable Function), PUF, which is a copy protection technology of digital devices, has the same wire delay and gate delay This PUF can be implemented as a small gate logic and can easily generate a random output.
또한, 공정 상황에 따른 딜레이 차이를 이용하기 때문에 PUF 회로가 공개되더라도 공개된 PUF 회로와 동일한 출력이 나오는 회로를 구성하기에 용이하지 않은 장점이 있다. In addition, since the delay difference according to the process conditions is utilized, even if the PUF circuit is disclosed, there is an advantage that it is not easy to configure a circuit that outputs the same output as the disclosed PUF circuit.
PUF로서, 지연 루프(delay loop)을 이용하는 링 오실레이터(ring oscillator) 방식과 스위칭 회로를 이용한 아비터(arbiter) 기반 PUF가 있다. As the PUF, there is a ring oscillator method using a delay loop and an arbiter-based PUF using a switching circuit.
도 1은 종래 기술에 따른 링 오실레이터 기반 PUF를 나타내는 도면으로, 종래 기술에 따른 링 오실레이터 방식은 랜덤 특성이 우수하지만, 문구-응답(challenge-response) 방식의 프로토콜에서 암호키 생성 로직으로 사용하기에는 어려운 문제점이 있다. FIG. 1 shows a ring oscillator-based PUF according to the related art. The ring oscillator method according to the related art has excellent random characteristics, but is difficult to use as a cryptographic key generation logic in a challenge-response protocol. There is a problem.
도 2는 종래 기술에 따른 아비터(Arbiter) 기반 PUF를 나타내는 도면으로서, 종래 기술에 따른 아비터(arbiter) 기반의 PUF는 문구-응답(challenge-response) 방식의 프로토콜에서 많이 고려되나, 노출된 문구-응답 값을 새로 업데이트 하는데 어려운 문제점이 있다. FIG. 2 is a diagram illustrating an Arbiter-based PUF according to the prior art. The conventional arbiter-based PUF is considered in a challenge-response protocol, There is a problem that it is difficult to newly update the response value.
또한 PUF는 작은 면적의 회로로 암호키의 복제를 방지할 수 있는 장점이 있으나, PUF 특성상 구동 환경에 따라서 상이한 값을 출력하는 문제점이 있으며, 이러한 문제점을 해결하기 위하여 오류정정 기법을 PUF에 적용하는 경우에는 회로 추가 문제 및 PUF 랜덤 특성 감소 등의 문제점이 있다.
In addition, although the PUF is advantageous in that it can prevent the copying of the cipher key by a small area circuit, there is a problem that the PUF outputs different values according to the driving environment due to the PUF characteristics. To solve this problem, the error correction technique is applied to the PUF There is a problem such as a circuit addition problem and a PUF random characteristic decrease.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 구동 환경이 바뀌어도 높은 안정성을 유지하고, 문구-응답(challenge-response) 방식의 프로토콜의 응용이 가능하고, 문구-응답 값이 노출되더라도 새로운 키 생성이 가능한 PUF를 이용하는 하드웨어 암호키 생성 장치 및 방법을 제공하는 데 목적이 있다.
SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above-mentioned problems, and it is an object of the present invention to provide a method and apparatus capable of maintaining a high stability even when a driving environment is changed, enabling application of a challenge- And a method of generating a hardware encryption key using the PUF capable of generating a new key even when a value is exposed.
본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치는 입력 데이터를 수신하는 복수의 링 오실레이터를 포함하고, 입력 데이터에 따른 링 오실레이션 출력 신호를 출력하는 링 오실레이터부와, 링 오실레이터부의 출력 신호를 입력 받고, 입력 받은 복수의 링 오실레이터의 출력 신호에 대한 XOR 연산값을 출력하는 XOR게이트와, XOR게이트의 연산값을 입력받고, 연산값을 모니터링하고, 모니터링의 결과에 따라 인에이블신호를 출력하는 래치 및 래치가 출력한 인에이블신호를 수신하고, 복수의 링 오실레이터 중 적어도 어느 하나의 출력 신호를 저장하여 암호키를 생성하는 암호키 생성부를 포함하는 것을 특징으로 한다. A hardware encryption key generation apparatus using a PUF according to the present invention includes a ring oscillator unit including a plurality of ring oscillators for receiving input data and outputting a ring oscillation output signal according to input data, An XOR gate for receiving an input signal and outputting an XOR operation value for an output signal of a plurality of input ring oscillators, a latch for receiving an operation value of the XOR gate, monitoring an operation value, and outputting an enable signal according to a result of the monitoring And an encryption key generator for receiving an enable signal output from the latch and storing an output signal of at least one of the plurality of ring oscillators to generate an encryption key.
또한, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법은 입력 데이터 및 PUF 인에이블 신호를 수신하는 단계와, 수신한 입력 데이터에 따라 링 오실레이션 작동하고, 링 오실레이션 출력 신호를 출력하는 단계와, 링 오실레이션 출력 신호를 입력 받고, 입력 받은 링 오실레이션 출력 신호에 대하여 XOR 연산을 수행하여 XOR 연산값을 출력하는 단계와, XOR연산값을 입력 받고, XOR 연산값의 변화를 모니터링하고, 모니터링의 결과에 따라 인에이블 신호를 출력하는 단계 및 인에이블 신호를 입력 받고, 입력된 인에이블 신호에 따라 링 오실레이션 출력 신호를 저장하여 암호키를 생성하는 단계를 포함하는 것을 특징으로 한다.
According to another aspect of the present invention, there is provided a method of generating a hardware encryption key using a PUF, the method comprising: receiving input data and a PUF enable signal; outputting a ring oscillation output signal in response to the received input data; A step of receiving a ring oscillation output signal and outputting an XOR operation value by performing an XOR operation on an input ring oscillation output signal; receiving a XOR operation value, monitoring a change in an XOR operation value, Outputting an enable signal according to a result of the comparison, and receiving an enable signal and storing a ring oscillation output signal according to the input enable signal to generate a cryptographic key.
본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치 및 방법은 2-path 링 오실레이터를 이용하여 구동 환경이 변화되어도 안정적인 동작을 수행하고, 문구(challenge) 값에 따라 동작하는 로직으로서 문구-응답(challenge-response) 프로토콜 또는 고정된 암호키 생성이 모두 가능한 효과가 있다. An apparatus and method for generating a hardware encryption key using a PUF according to the present invention can perform a stable operation even when a driving environment is changed using a 2-path ring oscillator, -response) protocol or fixed cryptographic key generation are all possible.
또한, 본 발명에 따르면 문구-응답(challenge-response) 값이 노출되더라도 새로운 암호키를 생성하기 용이한 효과가 있다. In addition, according to the present invention, even if a challenge-response value is exposed, a new cryptographic key can be easily generated.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
The effects of the present invention are not limited to those mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.
도 1은 종래 기술에 따른 링 오실레이터 기반 PUF를 나타내는 도면.
도 2는 종래 기술에 따른 아비터 기반 PUF를 나타내는 도면.
도 3은 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치를 나타내는 회로도.
도 4는 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법을 나타내는 순서도. 1 shows a ring oscillator based PUF according to the prior art;
Figure 2 shows an arbiter-based PUF according to the prior art;
3 is a circuit diagram showing a hardware encryption key generating apparatus using a PUF according to the present invention.
4 is a flowchart illustrating a hardware encryption key generation method using a PUF according to the present invention.
이하에서는 도면을 참조하면서, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치 및 방법의 바람직한 실시예들을 구체적으로 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
Hereinafter, preferred embodiments of a hardware encryption key generating apparatus and method using the PUF according to the present invention will be described in detail with reference to the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
도 3은 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치를 나타내는 회로도이다. 3 is a circuit diagram showing a hardware encryption key generating apparatus using the PUF according to the present invention.
도 3에 도시한 회로도에 있어서, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치의 카운터(500) 및 PUF 암호키 생성 완료 신호(PUFdone) 생성을 위한 게이트(600)를 제외한 모든 블록은 한 비트의 키를 생성하기 위한 로직으로서, 도 3에 도시한 회로도에 도시된 바와 같이, 로직을 확장하여 n비트의 키를 생성하는 것이 가능하며, 이하에서는 발명의 상세한 설명에 있어 당업자의 이해를 돕기 위하여 한 비트의 키를 생성하는 PUF를 이용하는 하드웨어 암호키 생성 장치를 예를 들어 설명한다.
3, all blocks except the
도 3을 참조하면, 본 발명에 따른PUF를 이용하는 하드웨어 암호키 생성 장치는 입력 데이터를 수신하는 복수의 링 오실레이터를 포함하고, 상기 입력 데이터에 따른 링 오실레이션 출력 신호를 출력하는 링 오실레이터부(100)와, 링 오실레이터부(100)의 출력 신호를 입력 받고, 입력 받은 복수의 링 오실레이터의 출력 신호에 대한 XOR 연산값을 출력하는 XOR게이트(200)와, 상기 XOR게이트(200)의 연산값을 입력받고, 연산값을 모니터링하고, 모니터링의 결과에 따라 인에이블신호를 출력하는 래치(300) 및 래치(300)가 출력한 인에이블신호를 수신하고, 복수의 링 오실레이터 중 적어도 어느 하나의 출력 신호를 저장하여 암호키를 생성하는 암호키 생성부(400)를 포함하여 구성된다. 3, a hardware encryption key generation apparatus using a PUF according to the present invention includes a plurality of ring oscillators for receiving input data, a
이 때, 링 오실레이터부(100)는 PUF 인에이블 신호(PUFen)를 수신하고, 수신한 PUF 인에이블 신호에 따라 링 오실레이션 출력 신호를 출력하는데, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치는 이러한 PUF 인에이블 신호가 ‘1’인 경우에만 PUF 동작을 수행한다. At this time, the
이 때, 입력 데이터(DataIn)은 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성장치의 PUF 동작에 대한 초기값 입력을 위한 데이터로서, 일 실시예에 따르면 입력 데이터(DataIn)을 통해서 문구(Challenge) 값을 입력하며, 다른 실시예에 따르면 문구-응답(challenge-response) 방식이 아닌 단순히 하드웨어 암호키 생성만을 수행하는 경우로서 PUF 동작에 대한 초기값은 ‘0’이나 ‘1’로 설정된다. In this case, the input data (DataIn) is data for inputting an initial value for the PUF operation of the hardware encryption key generating apparatus using the PUF according to the present invention. According to one embodiment, the input data (DataIn) Value, and according to another embodiment, only the hardware encryption key generation is performed instead of the challenge-response method, and the initial value for the PUF operation is set to '0' or '1'.
입력된 초기값은 0 또는 1의 여부에 따라 OR 게이트를 통한 링 오실레이터 동작이 이루어지거나, AND 게이트를 통한 링 오실레이터 동작이 이루어지는데, 링 오실레이터부(100)를 구성하는 링 오실레이터 로직의 NOT 게이트 전단에 위치하는 멀티플렉서(MUX)는 PUF 동작을 수행하지 않는 경우에는 오실레이션(oscillation) 동작을 하지 않도록 PUF 인에이블 신호(PUFen)에 의하여 제어된다.
The input initial value is 0 or 1, and the ring oscillator operation is performed through the OR gate or the ring oscillator operation is performed through the AND gate. The NOT gate front end of the ring oscillator logic constituting the
본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성장치는 게이트 기반의 동일한 링 오실레이터를 병렬로 구현하여 복수 개 포함하고, 구현 시 발생하는 링 오실레이터 로직의 미세한 차이(선로 지연, 게이트 지연)으로 인하여 링 오실레이터 로직은 상이한 동작을 수행하게 되는 바, 이러한 링 오실레이터 로직 간의 차이를 이용하여 암호키를 생성한다. The hardware cryptographic key generation apparatus using the PUF according to the present invention includes a plurality of the same ring oscillators implemented in parallel and a plurality of the same gate oscillators based on a gate, and the ring oscillator logic generated in the implementation includes a ring oscillator The logic performs different operations, and uses the difference between these ring oscillator logic to generate a cryptographic key.
이 때, XOR 게이트(200)는 링 오실레이터부(100)를 구성하는 로직의 출력값을 XOR 연산하고, XOR 연산 값을 래치(300)의 클럭(clock)신호로 사용하며, 로직 사이의 차이가 커질수록 XOR 게이트(200)의 XOR 출력은 ‘1’과 ‘0’을 반복하게 된다. At this time, the XOR
이 때, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치는 카운트값(CNT) 및 PUF 인에이블 신호(PUFen)를 입력받고, 카운트값에 기초하여 입력받은 PUF 인에이블 신호를 카운팅하여 출력하는 카운터(500)를 포함한다. At this time, the hardware encryption key generation apparatus using the PUF according to the present invention receives the count value CNT and the PUF enable signal PUFen, counts the input PUF enable signal based on the count value, (500).
본 발명에 따른 카운터(500)는 PUF 인에이블 신호가 인가되었을 때, 입력되는 CNT값 만큼 카운팅(counting) 한 후 PUF 인에이블 신호를 출력하며, XOR 게이트(200)가 출력하는 연산값은 이러한 PUF 인에이블 신호가 ‘1’이 되었을 때 래치(300)의 클락(clock)으로 동작한다. When the PUF enable signal is applied, the
본 발명에 따르면 카운터(500)의 출력이 ‘1’이 되고 나서 XOR 게이트(200)가 출력하는 연산값이 ‘1’이 되는 순간의 값을 암호키로 저장하여, 래치(300)는 입력받은 XOR 게이트(200)의 연산값을 클럭 신호로 사용하고, XOR 연산값 및 카운터(500)가 출력하는 인에이블 신호가 ‘1’인 경우 인에이블 신호를 출력한다. According to the present invention, the value of the instant when the output of the
이 때, 래치(300)는 XOR 게이트(200)가 출력하는 연산값이 ‘0’에서 ‘1’이 되는 순간의 인에이블신호(En0)를 ‘1’로 출력한다. At this time, the
본 발명에 따른 카운터(500)를 사용하여, 일 실시예에 따른 문구-응답(challenge-response) 방식을 채택하는 경우, 임의의 문구(challenge)값에서 암호키가 노출되더라도, 카운트값(CNT)를 변경함으로써, 새로운 암호키를 생성할 수 있다. When using the
본 발명에 따른 래치(300)의 인에이블 신호는 암호키 생성부(400)의 클럭(clock) 신호로 사용되며, 암호키 생성부(400)는 래치(300)가 출력한 인에이블 신호를 수신하여 링 오실레이터 로직 중의 하나의 출력을 저장하여 암호키를 생성한다. The enable signal of the
또한, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치는 래치(300)가 출력하는 인에이블 신호를 입력 받고, 입력 받은 인에이블 신호를 연산하여 PUF 암호키 생성 완료 신호(PUFdone)를 출력하는 게이트(600)를 더 포함하며, PUF 암호키 생성 완료 신호 출력 게이트(600)는 AND 게이트이다. In addition, the hardware encryption key generation apparatus using the PUF according to the present invention may include a gate for receiving an enable signal output from the
이 때, 도 3에 도시한 바와 같이, 한 비트의 암호키를 생성하기 위한 로직을 확장할 수 있는 바, 로직 확장에 따라 n비트의 암호키를 생성할 수 있으며, 인에이블 신호(En0)는 다른 인에이블 신호(En1, En2 등)와 AND 연산됨으로써, PUF 암호시 생성이 완료되었는지 확인하는 신호(PUFdone)을 생성할 수 있다. 3, the logic for generating a one-bit cryptographic key can be expanded, and an n-bit cryptographic key can be generated according to logic expansion. The enable signal En0 is (PUFdone) for confirming completion of generation in the PUF encryption can be generated by performing AND operation with other enable signals En1, En2, and the like.
본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 장치는 링 오실레이터 로직의 구동 환경이 달라지더라도 안정적인 동작이 가능하고, 문구-응답 방식을 채택하는 경우 문구(challenge) 값에 따라 동작하는 로직으로 문구-응답 프로토콜을 적용할 수 있으며, 고정된 암호키 생성 역시 가능하다. The hardware encryption key generating apparatus using the PUF according to the present invention can operate stably even if the driving environment of the ring oscillator logic is changed. In the case of adopting the phrase-response method, the logic operates according to the challenge value, A response protocol can be applied, and a fixed encryption key generation is also possible.
또한, 문구-응답 방식을 채택하는 경우, 문구-응답 값이 노출되더라도, 카운트값의 변경을 통하여 새로운 암호키를 용이하게 획득할 수 있는 효과가 있다.
Further, in the case of employing the phrase-response method, even when the phrase-response value is exposed, a new cryptographic key can be obtained easily by changing the count value.
도 4는 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법을 나타내는 순서도이다. 4 is a flowchart illustrating a method of generating a hardware encryption key using the PUF according to the present invention.
도 4를 참조하면, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법은 입력 데이터 및 PUF 인에이블 신호를 수신하는 단계(S100)와, 수신한 입력 데이터에 따라 링 오실레이터 로직의 오실레이션 작동이 이루어지고, 링 오실레이션 출력 신호를 출력하는 단계(S200)와, 링 오실레이션 출력 신호를 입력 받고, 입력 받은 링 오실레이션 출력 신호에 대하여 XOR 연산을 수행하여 XOR 연산값을 출력하는 단계(S300)와, XOR연산값을 입력 받고, XOR 연산값의 변화를 모니터링하고, 모니터링의 결과에 따라 인에이블 신호를 출력하는 단계 (S400)및 인에이블 신호를 입력 받고, 입력된 인에이블 신호에 따라 링 오실레이션 출력 신호를 저장하여 암호키를 생성하는 단계(S500)를 포함하여 구성된다. Referring to FIG. 4, a method of generating a hardware encryption key using a PUF according to the present invention includes receiving input data and a PUF enable signal (S100), and oscillating the ring oscillator logic according to the received input data (S200) of outputting a ring oscillation output signal, a step (S300) of receiving a ring oscillation output signal, performing an XOR operation on the input ring oscillation output signal and outputting an XOR operation value (S400) for receiving an XOR operation value, monitoring a change of the XOR operation value, and outputting an enable signal according to a result of the monitoring operation (S400); and receiving an enable signal and outputting a ring oscillation And generating an encryption key by storing the output signal (S500).
이 때, 인에이블 신호를 출력하는 단계(S400)는 입력받은 XOR 연산값을 클럭 신호(clock)로 사용하되, 기설정된 카운트값(CNT)에 기초하여 카운팅 후 출력된 PUF 인에이블 신호가 ‘1’인 경우 입력받은 XOR 연산값을 클럭(clock) 신호로 사용한다. At this time, the step S400 of outputting the enable signal uses the input XOR operation value as a clock signal, and when the PUF enable signal outputted after counting based on the preset count value CNT is' 1 ', The input XOR operation value is used as a clock signal.
또한, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법은 XOR 연산값 모니터링에 따라 출력된 인에이블 신호를 입력받고, 인에이블 신호를 연산하여 PUF 암호키 생성 완료 신호(PUFdone)를 생성하여 출력하는 단계(S600)를 더 포함하는 것이 바람직하다. Also, in the hardware encryption key generation method using the PUF according to the present invention, the output enable signal is received according to the XOR operation value monitoring, and the enable signal is generated to generate and output the PUF cryptographic key generation completion signal PUFdone It is preferable to further include step S600.
이 때, 입력 데이터 및 PUF 인에이블 신호를 수신하는 단계(S100)에서 수신하는 입력 데이터(DataIn)는 PUF 동작의 초기값 입력을 위한 데이터로서, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법이 문구-응답(challenge-response) 방식을 적용하는 경우 입력 데이터(DataIn)로서 문구(challenge)값이 입력되며, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법이 문구-응답 방식의 적용 없이 단순히 하드웨어의 암호키만을 생성하는 경우에는 입력 데이터(DataIn)에 의하여 PUF 동작의 초기값을 ‘0’이나 ‘1’로 설정한다. At this time, the input data (DataIn) received in the step S100 of receiving the input data and the PUF enable signal is data for inputting an initial value of the PUF operation, and a hardware encryption key generating method using the PUF according to the present invention A challenge value is input as the input data DataIn when a challenge-response method is applied, and a hardware encryption key generating method using the PUF according to the present invention is simply applied to the hardware The initial value of the PUF operation is set to '0' or '1' by the input data DataIn.
또한, 본 발명에 따른 PUF를 이용하는 하드웨어 암호키 생성 방법은 입력 데이터 및 PUF 인에이블 신호를 수신하는 단계(S100)에서 수신하는 PUF 인에이블 신호가 ‘1’ 인 경우에 PUF 동작을 수행하므로, PUF 인에이블 신호가 ‘1’이 아닌 경우 링 오실레이션 작동이 이루어지지 않는다. In addition, the hardware encryption key generation method using the PUF according to the present invention performs the PUF operation when the PUF enable signal received in step S100 receiving the input data and the PUF enable signal is '1' When the enable signal is not '1', the ring oscillation operation is not performed.
또한, 인에이블 신호를 출력하는 단계(S400)는 기설정된 카운트값(CNT)만큼 카운팅 한 후 인에이블 신호를 출력하므로, 문구-응답 방식을 적용하는 경우 암호키가 노출된 경우라고 하더라도, 카운트값(CNT)의 변경을 통하여 새로운 암호키를 용이하게 생성할 수 있다. In the step S400 of outputting the enable signal, since the enable signal is outputted after counting by the preset count value CNT, even when the encryption key is exposed in the case of applying the phrase-response method, A new cryptographic key can be easily generated by changing the CNT.
또한, PUF 암호키 생성 완료 신호를 생성하는 단계(S600)는 링 오실레이터부(100), XOR 게이트(200), 카운터(500) 및 래치(300)의 동작으로 인하여 생성된 복수의 인에이블 신호를 입력받고, 입력받은 인에이블 신호를 AND 연산하여, PUF 암호키 생성이 완료되었는지 확인하는 신호인 PUF 암호키 생성 완료 신호(PUFdone)를 생성 및 출력한다.
The step S600 of generating the PUF cryptographic key generation completion signal includes a plurality of enable signals generated due to the operations of the
이제까지 본 발명의 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
The embodiments of the present invention have been described above. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
100: 링 오실레이터부
200: XOR 게이트
300: 래치
400: 암호키 생성부
500: 카운터
600: 암호키 생성 완료 신호 출력 게이트100: Ring oscillator part 200: XOR gate
300: latch 400: cryptographic key generator
500: Counter 600: Cryptographic key generation completion signal output gate
Claims (9)
상기 링 오실레이터부의 출력 신호를 입력 받고, 상기 입력 받은 복수의 링 오실레이터의 출력 신호에 대한 XOR 연산값을 출력하는 XOR게이트;
상기 XOR게이트의 연산값을 입력받고, 상기 연산값을 모니터링하고, 상기 모니터링의 결과에 따라 인에이블신호를 출력하는 래치; 및
상기 래치가 출력한 인에이블신호를 수신하고, 상기 복수의 링 오실레이터 중 적어도 어느 하나의 출력 신호를 저장하여 암호키를 생성하는 암호키 생성부
를 포함하는 PUF를 이용하는 하드웨어 암호키 생성 장치.
A ring oscillator unit including a plurality of ring oscillators for receiving input data and outputting a ring oscillation output signal according to the input data;
An XOR gate receiving an output signal of the ring oscillator and outputting an XOR operation value of an output signal of the ring oscillator;
A latch for receiving an operation value of the XOR gate, monitoring the operation value, and outputting an enable signal according to a result of the monitoring; And
An encryption key generation unit for receiving an enable signal output from the latch and storing an output signal of at least one of the plurality of ring oscillators to generate an encryption key,
Wherein the PUF includes a PUF.
PUF(Physically Unclonable Function) 인에이블 신호를 수신하고, 상기 PUF 인에이블 신호에 따라 상기 링 오실레이션 출력 신호를 출력하는 것
인 PUF를 이용하는 하드웨어 암호키 생성 장치.
2. The ring oscillator of claim 1,
Receiving a PUF (Physically Unclonable Function) enable signal, and outputting the ring oscillation output signal in accordance with the PUF enable signal
A hardware encryption key generation device using the PUF.
문구(challenge)를 포함하는 상기 입력 데이터를 수신하는 것
인 PUF를 이용하는 하드웨어 암호키 생성 장치.
2. The ring oscillator of claim 1,
Receiving said input data including a challenge;
A hardware encryption key generation device using the PUF.
카운트값 및 상기 PUF 인에이블 신호를 입력받고, 상기 카운트값에 기초하여 상기 입력받은 PUF 인에이블 신호를 카운팅하여 출력하는 카운터
를 더 포함하는 PUF를 이용하는 하드웨어 암호키 생성 장치.
3. The method of claim 2,
A counter for counting the input PUF enable signal based on the count value and outputting the count value and the PUF enable signal,
Wherein the PUF further comprises a PUF.
상기 입력 받은 XOR게이트의 연산값을 클럭 신호로 사용하고, 상기 XOR 연산값 및 상기 카운터가 출력한 인에이블 신호가 하이(High) 신호인 경우 상기 인에이블 신호를 출력하는 것
인 PUF를 이용하는 하드웨어 암호키 생성 장치.
5. The apparatus of claim 4, wherein the latch
Using the computed value of the input XOR gate as a clock signal and outputting the enable signal when the XOR operation value and the enable signal output from the counter are high signals
A hardware encryption key generation device using the PUF.
상기 래치가 출력하는 인에이블 신호를 입력 받고, 상기 입력 받은 인에이블 신호를 연산하여 PUF 암호키 생성 완료 신호를 출력하는 게이트
를 더 포함하는 PUF를 이용하는 하드웨어 암호키 생성 장치.
The method according to claim 1,
A gate for receiving an enable signal outputted by the latch, computing a PUF cipher key generation completion signal by calculating the input enable signal,
Wherein the PUF further comprises a PUF.
상기 수신한 입력 데이터에 따라 링 오실레이션 작동하고, 상기 링 오실레이션 출력 신호를 출력하는 단계;
상기 링 오실레이션 출력 신호를 입력 받고, 상기 입력 받은 링 오실레이션 출력 신호에 대하여 XOR 연산을 수행하여 XOR 연산값을 출력하는 단계;
상기 XOR연산값을 입력 받고, 상기 XOR 연산값의 변화를 모니터링하고, 상기 모니터링의 결과에 따라 인에이블 신호를 출력하는 단계; 및
상기 인에이블 신호를 입력 받고, 상기 입력된 인에이블 신호에 따라 상기 링 오실레이션 출력 신호를 저장하여 암호키를 생성하는 단계
를 포함하는 PUF를 이용하는 하드웨어 암호키 생성 방법.
Receiving input data and a PUF enable signal;
Performing ring oscillation according to the received input data and outputting the ring oscillation output signal;
Receiving the ring oscillation output signal and performing an XOR operation on the input ring oscillation output signal to output an XOR operation value;
Receiving the XOR operation value, monitoring a change of the XOR operation value, and outputting an enable signal according to a result of the monitoring; And
Receiving the enable signal and generating the encryption key by storing the ring oscillation output signal according to the input enable signal
The method comprising the steps of:
상기 입력 받은 XOR연산값을 클럭 신호로 사용하되, 기설정된 카운트 값에 기초하여 카운팅 후 출력된 상기 PUF 인에이블 신호가 하이(high) 신호인 경우 상기 입력 받은 XOR연산값을 클럭 신호로 사용하는 것
인 PUF를 이용하는 하드웨어 암호키 생성 방법.
8. The method of claim 7, wherein outputting the enable signal comprises:
Using the input XOR operation value as a clock signal and using the input XOR operation value as a clock signal when the PUF enable signal outputted after counting is a high signal based on a predetermined count value
A method of generating a hardware encryption key using a PUF.
상기 XOR 연산값 모니터링의 결과에 따라 출력된 인에이블 신호를 입력 받고, 상기 인에이블 신호를 연산하여 PUF 암호키 생성 완료 신호를 생성하는 단계
를 더 포함하는 PUF를 이용하는 하드웨어 암호키 생성 방법. 8. The method of claim 7,
Receiving an output enable signal according to a result of monitoring the XOR operation value, and calculating an enable signal to generate a PUF cryptographic key generation completion signal
The method comprising the steps of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130132371A KR20150051012A (en) | 2013-11-01 | 2013-11-01 | Apparatus and method for generatiing encryption key of hardware using puf |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130132371A KR20150051012A (en) | 2013-11-01 | 2013-11-01 | Apparatus and method for generatiing encryption key of hardware using puf |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150051012A true KR20150051012A (en) | 2015-05-11 |
Family
ID=53388626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130132371A KR20150051012A (en) | 2013-11-01 | 2013-11-01 | Apparatus and method for generatiing encryption key of hardware using puf |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20150051012A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372539A (en) * | 2016-08-31 | 2017-02-01 | 电子科技大学 | Frequency-variable ring oscillator PUF (Physical Unclonable Function) circuit |
KR20200057531A (en) * | 2018-11-16 | 2020-05-26 | 한국전자통신연구원 | Apparatus for generating secure information based on ring oscillator architecture and method for the same |
WO2021150082A1 (en) * | 2020-01-23 | 2021-07-29 | 주식회사 피에스디엘 | Security device and security program |
CN114629652A (en) * | 2020-12-11 | 2022-06-14 | 熵码科技股份有限公司 | A key management system based on physical non-replicable function and its operation method |
-
2013
- 2013-11-01 KR KR1020130132371A patent/KR20150051012A/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372539A (en) * | 2016-08-31 | 2017-02-01 | 电子科技大学 | Frequency-variable ring oscillator PUF (Physical Unclonable Function) circuit |
CN106372539B (en) * | 2016-08-31 | 2019-12-03 | 电子科技大学 | Frequency conversion ring oscillator PUF circuit and its control method |
KR20200057531A (en) * | 2018-11-16 | 2020-05-26 | 한국전자통신연구원 | Apparatus for generating secure information based on ring oscillator architecture and method for the same |
WO2021150082A1 (en) * | 2020-01-23 | 2021-07-29 | 주식회사 피에스디엘 | Security device and security program |
CN114629652A (en) * | 2020-12-11 | 2022-06-14 | 熵码科技股份有限公司 | A key management system based on physical non-replicable function and its operation method |
US12113895B2 (en) | 2020-12-11 | 2024-10-08 | PUFsecurity Corporation | Key management system providing secure management of cryptographic keys, and methods of operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856116B2 (en) | Method and apparatus for protecting embedded software | |
KR101370231B1 (en) | Bit sequence generation device and bit sequence generation method | |
JP5863994B2 (en) | Integrated security device and signal processing method used for integrated security device | |
US8750502B2 (en) | System on chip and method for cryptography using a physically unclonable function | |
KR101987141B1 (en) | Random number generator | |
US20160006570A1 (en) | Generating a key derived from a cryptographic key using a physically unclonable function | |
CN107769923B (en) | A True Random Number Generation Method Based on CPU Clock and USB Independent Clock | |
JP6735926B2 (en) | Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program | |
KR20150051012A (en) | Apparatus and method for generatiing encryption key of hardware using puf | |
Garipcan et al. | Design, FPGA implementation and statistical analysis of a high-speed and low-area TRNG based on an AES s-box post-processing technique | |
CN106383691A (en) | Random number generation method and random number generator | |
US11895230B2 (en) | Information processing apparatus, secure computation method, and program | |
US11165758B2 (en) | Keystream generation using media data | |
JP2018506101A (en) | Clock generator and processor system | |
US11177936B2 (en) | Message authenticator generation apparatus | |
KR101925787B1 (en) | Method and Apparatus for Securing the Continuity of Random Numbers after Von Neumann Post-processing | |
Chhabra et al. | Towards the enhancement of AES IP security using hardware obfuscation technique: A practical approach for secure data transmission in IoT | |
JP2018098757A (en) | Communication apparatus and cryptographic processing system | |
Siddavaatam et al. | A novel architecture with scalable security having expandable computational complexity for stream ciphers | |
JP4243179B2 (en) | Arithmetic unit | |
Hulle et al. | High Performance Architecture for LILI-II Stream Cipher | |
JP2013167740A (en) | Encryption device, encryption method, and encryption program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20131101 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |