KR20180129193A - Noise coupled physical unclonable functions system - Google Patents
Noise coupled physical unclonable functions system Download PDFInfo
- Publication number
- KR20180129193A KR20180129193A KR1020170064845A KR20170064845A KR20180129193A KR 20180129193 A KR20180129193 A KR 20180129193A KR 1020170064845 A KR1020170064845 A KR 1020170064845A KR 20170064845 A KR20170064845 A KR 20170064845A KR 20180129193 A KR20180129193 A KR 20180129193A
- Authority
- KR
- South Korea
- Prior art keywords
- noise
- puf
- response signal
- signal
- challenge
- Prior art date
Links
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
-
- G06K9/00577—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/80—Recognising image objects characterised by unique random patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
본 발명은 물리적 복제 불가 함수의 출력에 의도적으로 가공 노이즈를 삽입하여 챌린지(challenge)/응답(response) 분석 난이도를 높이도록 한 노이즈가 삽입된 물리적 복제 불가 함수 시스템에 관한 것이다.The present invention relates to a physically non-reproducible function system in which noise is inserted to intentionally insert machining noise into an output of a physical non-reproducible function to increase the difficulty of challenge / response analysis.
디바이스의 인증 또는 식별을 위한 기술로써 물리적 복제 불가 함수(Physical Unclonable Functions: PUFs)가 주목받고 있다[1-5]. 디바이스 제조 공정상 발생하는 미세한 차이로 인해 각 디바이스가 고유한 특성을 갖게 되어 PUF 회로의 출력이 디바이스마다 다르게 생성될 수 있다. Physical Unclonable Functions (PUFs) have been attracting attention as technologies for device authentication or identification [1-5]. Due to the minute difference occurring in the device manufacturing process, each device has inherent characteristics, and the output of the PUF circuit can be generated differently for each device.
그림 1과 같이 디바이스마다 고유한 PUF의 출력을 끌어내기 위해 어떤 입력을 인가하는 데, 이때 입력 값을 챌린지(challenge:CH)라 하고 출력을 응답(response: RP)이라고 한다. As shown in Figure 1, we input some input to pull out the output of the PUF unique to each device. The input value is referred to as a challenge (CH) and the output as a response (RP).
PUF가 내장된 디바이스들의 출하 시 각 디바이스의 PUF에 대한 CH와 RP 쌍들(challenge and response pairs, CRPs)을 생성하고 이를 서버에 저장하는 등록단계를 거친다. 이 후, 서버에 저장된 CRP 중 하나를 선택하고 CH를 해당 디바이스의 PUF에 입력하면서 출력되는 RP가 인증기로 전송된 후 서버에 저장된 RP와 비교하는 과정을 통해 해당 디바이스의 인증을 수행하며 이를 보통 재생성 단계라 한다.At the time of shipment of devices with embedded PUF, it generates a CH and RP pairs (PUFs) for each device's PUF and then registers them in the server. After selecting one of the CRPs stored in the server and inputting the CH into the PUF of the corresponding device, the output RP is transmitted to the authenticator and is compared with the RP stored in the server to perform authentication of the corresponding device, .
PUF의 종류는 크게 약한-PUF(weak-PUF)와 강한-PUF(strong-PUF)로 나눌 수 있다[6]. 약한-PUF와 강한-PUF의 가장 큰 차이는 인증을 위해 사용되는 CRP의 양이다. 약한-PUF의 경우에는 하나 또는 소수의 CRP들을 사용하며 외부로 노출되면 안 되는 보안 데이터를 생성하는 데 사용된다. 강한-PUF는 많은 CRP를 저장하고 있으며 각 CRP가 디바이스의 인증 또는 식별하는 데 직접적으로 사용된다. 강한-PUF를 이용한 인증에서 사용되는 CRP들은 일반적으로 외부로 공개된다. 따라서 각 디바이스에 대하여 많은 CRP들을 가지고 있어야 하며 인증을 위해 사용된 CRP는 외부에 노출되었으므로 다시 사용되지 않는다. The types of PUF can be classified into weak-PUF and strong-PUF [6]. The biggest difference between weak-PUF and strong-PUF is the amount of CRP used for authentication. In the case of weak-PUF, one or a few CRPs are used to generate security data that should not be exposed to the outside world. Strong-PUF stores many CRPs and each CRP is used directly to authenticate or identify the device. CRPs used in strong-PUF-based authentication are generally exposed to the outside world. Therefore, it is necessary to have many CRPs for each device, and the CRP used for authentication is not used again because it is exposed to the outside.
PUF의 장점은 회로의 미세한 변이까지 완벽하게 동일한 PUF 회로를 제작하는 것이 사실상 불가능하다는 점과 노출된 CRP들을 이용하여 아직 인증에 사용되지 않은 CRP들을 예측하는 것이 어렵다는 것이다. The advantage of the PUF is that it is virtually impossible to produce exactly the same PUF circuit to the fine variations of the circuit, and it is difficult to predict CRPs that have not yet been used for authentication using exposed CRPs.
그러나 최근에는 기계학습과 같이 많은 데이터들을 바탕으로 분석하는 기술이 발전하면서 노출된 CRP들을 수집하여 해당 PUF의 특성을 모델링하는 공격이 가능해지고 있다[10, 11].However, in recent years, as techniques for analyzing based on a large amount of data such as machine learning have been developed, an attack that models exposed PUFs by collecting exposed CRPs has become possible [10, 11].
인증 대상이 되는 디바이스와 인증기 사이에서 인증을 위한 CH와 RP를 주고받는 과정에서 CRP들의 직/간접적인 노출은 피할 수 없다. Direct and indirect exposure of CRPs can not be avoided in exchanging CHs and RPs for authentication between the authentication target device and the authenticator.
본 발명은 상기와 같은 문제점을 해결하기 위하여 다수의 CRP들을 사용하고 신호 전파의 지연을 이용하는 아비터-PUF(arbiter-PUF)를 대상으로 외부에 노출되는 CRP들 중 RP 비트열에 가공 노이즈를 삽입하여 모델링 공격의 데이터 분석을 어렵게 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템을 제공하는 데 있다.In order to solve the above-described problems, the present invention provides an arbiter-PUF (arbiter-PUF) that uses a plurality of CRPs and uses signal propagation delays, inserts processing noise into RP bit strings among CRPs exposed to the outside, And to provide a physically non-reproducible function system in which noise is inserted to make data analysis of an attack difficult.
본 발명은 다수의 CRP들을 사용하고 신호 전파의 지연을 이용하는 대표적인 PUF인 아비터-PUF(arbiter-PUF)를 대상으로 외부에 노출되는 CRP들 중 2차 응답 신호(RP") 비트열에 가공 노이즈를 삽입하여 모델링 공격의 데이터 분석을 어렵게 하는 방법을 제시한다.The present invention is characterized in that processing noise is inserted into a secondary response signal (RP ") bit stream among CRPs exposed to the outside of an arbiter-PUF, which is an exemplary PUF using a plurality of CRPs and using a delay of signal propagation This paper presents a method to make data analysis of modeling attack difficult.
또한, 본 발명은 아비터-PUF(arbiter-PUF)의 고유의 특성을 이용하여 PUF에서 출력된 2차 응답 신호(RP")가 외부로 노출되기 전에 의도적으로 가공 노이즈를 삽입하는 아비터-PUF(arbiter-PUF) 회로 구조를 소개한다. The present invention also provides an arbiter-PUF (arbiter-PUF) which intentionally inserts processing noise before the secondary response signal RP "outputted from the PUF is exposed to the outside, using the inherent characteristic of the arbiter- -PUF) circuit structure.
그리고 본 발명은 PUF의 출력의 안정화를 위하여 오류 정정 코드(Error Correction Codes : ECC)를 이용하는 데 최근 높은 오류정정률로 주목받고 있는 저 밀도 패리티 체크 코드(Low-Density Parity-Check(LDPC) Codes)의 특별한 구조를 적용하여 삽입된 가공 노이즈를 제외하여 최종 응답 신호(FRP)를 형성하여 이를 최종적으로 인증에 사용하는 인증 시스템 구조를 소개한다. The present invention utilizes error correction codes (ECC) to stabilize the output of the PUF, and a low-density parity-check (LDPC) code, which has recently attracted attention as a high error correction rate, (FRP) is formed by applying the special structure of the FRP, excluding the inserted noise, and the final response signal (FRP) is finally used for authentication.
제시하는 인증 시스템 구조에서는 다수의 디바이스와 소수의 인증기로 구성되는 시스템에서 디바이스 부분의 하드웨어 오버헤드를 줄일 수 있다.In the proposed authentication system architecture, the hardware overhead of the device part can be reduced in a system composed of a plurality of devices and a small number of authenticators.
본 발명에서는 PUF를 이용하여 디바이스의 인증을 수행하는 시스템에서 노출되는 응답 신호(RP)에 고의적으로 가공 노이즈를 추가로 삽입하여 외부의 공격자가 CRP들의 분석을 더욱 어렵게 만든다. In the present invention, processing noise is additionally deliberately inserted into a response signal (RP) exposed in a system for performing authentication of a device using a PUF, thereby making it difficult for an external attacker to analyze CRPs.
또한, 본 발명에서는 아비터-PUF(Arbiter-PUF)와 FF 아비터-PUF(FF arbiter-PUF)를 혼합하고 무작위 값을 별도로 생성하여 인증에 사용되는 2차 응답 신호(RP")와 노출되는 대응 응답 신호(RP)의 차이를 증가시킴으로써 아직 사용되지 않은 CRP들의 예측을 어렵게 만든다. In the present invention, the arbiter-PUF and FF arbiter-PUF are mixed and a random value is separately generated to generate a secondary response signal RP " Increasing the difference in the signal RP makes it difficult to predict the CRPs that have not yet been used.
또한, 본 발명에서는 LDPC 디코더에서 독립적으로 복호되는 리던던시(redundancy) 크기를 늘이거나 영역의 수를 늘여서 노이즈의 양을 증가시켜 분석의 난이도를 더욱 높일 수 있다. In addition, in the present invention, the redundancy size to be decoded independently in the LDPC decoder can be increased or the number of regions can be increased to increase the amount of noise, thereby further improving the difficulty of analysis.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조에서 FF 아비터(FF arbiter)의 개수와 이 값들을 입력으로 받는 스위치들의 개수를 증가시키면 더욱 다양한 무작위 노이즈 패턴을 생성할 수 있다. Further, in the present invention, more arbitrary random noise patterns can be generated by increasing the number of FF arbiters and the number of switches receiving the FF arbiters in the arbiter-PUF structure.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조와 이를 활용한 인증 시스템 구조는 CRP들의 분석을 어렵게 만들 뿐만 아니라 소수의 인증기와 다수의 디바이스로 구성되는 인증 시스템에서 디바이스 부분에 별도의 보안 모듈을 사용하지 않고 ECC 디코더 모듈을 디바이스 대신 인증기에 배치하며 의도된 노이즈를 삽입하는 기능이 아비터-PUF(arbiter-PUF)를 자체적으로 활용하는 구조이기 때문에 하드웨어 오버헤드를 줄일 수 있다.In the present invention, an arbiter-PUF (arbiter-PUF) structure and an authentication system structure using the arbiter-PUF make it difficult to analyze CRPs. In addition, in an authentication system including a small number of authenticator and a plurality of devices, The hardware overhead can be reduced because the ECC decoder module is placed in the authenticator instead of the device, and the function of inserting the intended noise is a structure that uses the arbiter-PUF itself.
도 1은 PUF의 입력과 출력을 보여주는 도면이다.
도 2는 본 발명에 이용되는 아비터 PUF의 구조도이다.
도 3은 본 발명에 이용되는 피드포워드 PUF의 구조도이다.
도 4는 PUF의 출력 안정화를 설명하기 위한 도면이다.
도 5는 PUF를 이용하여 디바이스를 인증하는 기존의 일반적인 시스템 구조이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 노이즈가 삽입된 물리적 복제 불가 함수 시스템의 구성도이다.
도 7은 도 6의 PUF 회로의 일실시예를 나타내는 도면이다.
도 8은 본 발명에 따른 PUF 회로에서 생성될 수 있는 2차 응답 신호(RP") 비트열과 삽입되는 가공 노이즈들의 형태들이다.
도 9는 본 발명의 오류 정정 디코더가 사용하는 부분적인 리던던시 사용을 위한 패리티 체크 행렬을 나타내는 도면이다.
도 10은 부분적인 리던던시 사용을 위한 변수-노드 업데이터 모듈 구조이다.
도 11은 스위치의 신호 전파 지연 시간을 산출하기 위한 회로도이다.
도 12는 등록 단계에서의 대응 응답 신호와 재생성 단계에서의 2차 응답 신호의 비트열 차이를 나타내는 그래프이다.
도 13은 같은 챌린지 입력에 의한 응답 신호간의 비트열 차이를 보여주는 도면이다.1 is a diagram showing input and output of a PUF.
2 is a structural view of an arbiter PUF used in the present invention.
3 is a structural diagram of a feedforward PUF used in the present invention.
4 is a diagram for explaining the stabilization of the output of the PUF.
5 is a conventional general system structure for authenticating a device using a PUF.
FIG. 6 is a block diagram of a physically non-reproducible function system in which noise is inserted according to a preferred embodiment of the present invention.
7 is a diagram showing one embodiment of the PUF circuit of Fig.
Fig. 8 is a diagram of a second order response signal (RP ") bit string that can be generated in the PUF circuit according to the present invention and forms of processed noise to be inserted.
9 is a diagram illustrating a parity check matrix for partial redundancy use used by the error correction decoder of the present invention.
10 is a variable-node updater module structure for partial redundancy use.
11 is a circuit diagram for calculating the signal propagation delay time of the switch.
12 is a graph showing the difference between the bit sequence of the response signal in the registration step and the response signal in the regenerating step.
13 is a diagram showing a bit string difference between response signals by the same challenge input.
이제 다양한 양상들이 도면을 참조하여 설명된다. 다음의 설명에서, 설명의 목적으로, 하나 이상의 양상들에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 제시된다. 그러나 이러한 측면이 이러한 구체적인 세부 사항 없이도 실행될 수 있음은 자명할 수 있다.Various aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It may be evident, however, that such aspects may be practiced without these specific details.
1. 아비터-PUF(Arbiter-PUF)1. Arbiter-PUF (Arbiter-PUF)
도 2는 본 발명에 이용되는 아비터 PUF의 구조도이다.2 is a structural view of an arbiter PUF used in the present invention.
아비터 PUF(Arbiter-PUF)는 일반적으로 다수의 챌린지/응답 쌍(challenge/response pairs : CRPs)를 사용하는 강한-PUF(strong-PUF)이며 신호 전달 지연차를 이용하는 지연 기반 PUF이다[7, 8]. The Arbiter-PUF is generally a strong-PUF (strong-PUF) using multiple challenge / response pairs (CRPs) and is a delay-based PUF using the signal propagation delay difference [7,8 ].
도 2에 도시된 바와 같이, 두 개의 멀티플렉서로 이뤄진 스위치(S1~Sn)를 여러 개 연결하고 각 스위치(S1~Sn)는 입력 값에 따라 연결 상태를 바꾼다. 가장 처음의 스위치(S1)에 전기적 신호를 주고 각 스위치의 통로를 거쳐 스위치들(S1~Sn)의 끝에 위치한 아비터(arbiter)(A)라고 부르는 플리플롭에 전달되는 데 두 개의 통로 중 먼저 도달하는 신호에 따라서 '1' 또는 '0'의 값이 결정된다. 여기서 스위치(S1~Sn)의 입력이 CH가 되고 아비터(arbiter)(A)에서 출력되는 데이터는 응답 신호(RP)가 된다. 입력되는 CH의 패턴을 바꾸면서 반복적으로 입력하여 응답 신호(RP) 비트열을 얻는다.As shown in FIG. 2, a plurality of switches S1 to Sn formed of two multiplexers are connected, and the switches S1 to Sn change connection states according to input values. An electric signal is given to the first switch S1 and is transmitted to the flip-flop, which is called an arbiter A located at the end of the switches S1 to Sn via the path of each switch, A value of '1' or '0' is determined according to the signal. Here, the input of the switches S1 to Sn becomes CH, and the data output from the arbiter A becomes the response signal RP. (RP) bit string by repeatedly inputting while changing the pattern of the input CH.
도 3은 본 발명에 이용되는 피드포워드 아비터-PUF(Feed-Foward(FF) arbiter-PUF)를 나타낸다[9]. Figure 3 shows a feedforward arbiter-PUF (PUF) used in the present invention [9].
소수 스위치(여기에서 Sn)의 입력을 CH 대신 이전 스위치들(S1)까지의 피드포워드 아비터(FFA) 출력 결과를 이용하는 것이다. 노출되는 CH와 RP간의 직접적인 상관관계를 줄이기 위한 구조이다. The input of the minority switch (here Sn) is to use the result of the feed forward arbiter (FFA) output to the previous switches S1 instead of CH. It is a structure to reduce direct correlation between exposed CH and RP.
특정 스위치의 입력이 내부 회로의 특성에 의해 결정되기 때문에 PUF의 특성 분석이 더 어려워진다. 본 발명에서 제시하는 아비터-PUF(arbiter-PUF) 구조에서는 위에 소개된 두 가지 아비터(arbiter)가 혼합된 형태로 등록 단계에서 기존의 아비터-PUF(arbiter-PUF)를 이용하여 CRP들을 생성하고 이 후, 재생성 단계에서 선택된 CH에 대한 RP를 생성할 때 피드포워드 아비터-PUF(FF arbiter-PUF)를 활용하여 의도된 가공 노이즈를 생성하여 RP에 삽입한 뒤에 이를 인증기로 전송한다. Since the input of a particular switch is determined by the characteristics of the internal circuit, characterization of the PUF becomes more difficult. In the arbiter-PUF structure proposed in the present invention, in the registration step, two arbiters as described above are mixed, and CRPs are generated using an existing arbiter-PUF (arbiter-PUF) Then, when generating the RP for the CH selected in the regeneration step, the intended processing noise is generated by using the FF arbiter-PUF and inserted into the RP, and then transmitted to the authenticator.
2. PUF의 모델링 공격2. PUF modeling attack
다수의 CRP들을 사용하는 PUF 인증 구조의 장점은 특정 PUF 회로의 복제가 어렵다는 것이다. PUF는 의도된 회로 구조가 아닌 회로를 구성하고 있는 각 요소들의 공정에서 발생하는 미세한 변이를 이용하는 것이기 때문에 특정 변이를 포함하고 있는 회로를 그대로 재구성하거나 입력에 대한 출력을 예측하는 것은 매우 어렵다. The advantage of a PUF authentication scheme using multiple CRPs is that it is difficult to replicate a particular PUF circuit. Since the PUF utilizes the fine variations that occur in the process of each element constituting the circuit rather than the intended circuit structure, it is very difficult to directly reconstruct the circuit containing the specific variation or to predict the output to the input.
그러나 최근에는 다수의 CRP를 이용하는 PUF 인증 구조에서 외부로 노출되는 CRP들을 수집하고 특정 PUF의 특성을 분석하여 아직 사용되지 않은 CRP들을 예측하는 모델링 공격이 가능해지고 있다.In recent years, however, a modeling attack has been made that collects CRPs exposed to the outside in a PUF authentication structure using a plurality of CRPs and analyzes characteristics of specific PUFs to predict CRPs that have not been used yet.
[10]에서는 기계 학습을 바탕으로 강한-PUF(strong-PUF)에서 노출되는 CRP들을 분석하여 모델링 공격하는 내용을 다루고 있다. [10] deals with modeling attacks by analyzing CRPs exposed in a strong-PUF (strong-PUF) based on machine learning.
일반적인 아비터-PUF(arbiter-PUF), 피드포워드 아비터-PUF(FF arbiter-PUF), 보안적인 요소가 추가된 아비터-PUF(arbiter-PUF)를 대상으로 실험한 결과에서는 어느 정도 이상의 CRP들과 트레이닝 시간이 주어지면 PUF의 출력에 대한 예측률이 높았다. 즉, 노출된 CRP들을 수집하고 트레이닝을 할 시간이 주어지면 아직 사용되지 않은 CRP들을 예측할 수 있다는 것이며 PUF의 미세한 변이들을 모델링할 수 있다는 것이다.Experiments with general arbiter-PUF, FF arbiter-PUF and arbiter-PUF with additional security factors showed that some CRPs and training When the time is given, the prediction rate of the output of the PUF is high. That is, given the time to collect and train exposed CRPs, it is possible to predict the CRPs that have not yet been used, and it is possible to model the finer variations of the PUF.
위의 연구에서 하나 더 주목해야 할 부분은 노이즈의 정도에 따른 PUF 출력의 예측률이다. 노이즈의 정도가 올라갈수록 PUF 출력 즉, RP에 오류가 많이 발생하는 것을 의미하며 실험 결과에서는 RP에 오류가 많이 포함될수록 그 예측률이 감소하는 것을 보였다. 다시 말하자면 실제 인증에 사용되는 RP와 외부로 노출되는 즉, 공격자가 수집하는 RP와의 차이가 많이 날수록 예측률이 떨어지는 것이다. 본 발명에서 제시하는 구조에서는 외부로 노출되는 RP에 의도된 가공 노이즈를 발생시켜 CRP들을 통한 분석을 어렵게 하는 구조이다.One of the more remarkable points in the above study is the prediction rate of the PUF output according to the degree of noise. As the degree of noise increases, it means that the PUF output, that is, the RP has a lot of errors. Experimental results show that the prediction rate decreases as the RP contains more errors. In other words, the greater the difference between the RP used for actual authentication and the RP exposed by the attacker, the lower the predictability. In the structure proposed in the present invention, processing noise is generated in the RP exposed to the outside, which makes analysis through CRPs difficult.
3. RP를 안정시키기 위한 ECC3. ECC for stabilizing the RP
PUF는 회로의 미세한 변이를 이용하기 때문에 온도나 전압 같은 환경 변수에 의해 같은 CH를 반복해서 입력하더라도 출력되는 RP가 일정하지 않을 수 있다. 즉, 등록 단계에서의 RP와 재생성 단계에서의 RP에 차이가 있을 수 있으며 이를 보통 칩 내부 변이(intra-chip variation)라 한다. PUF를 이용한 인증 시스템에서는 이 칩 내부 변이(intra-chip variation)를 0%로 만드는 것이 이상적이지만 PUF의 고유한 변이는 미세하며 환경 요소에 의해서 자연스럽게 발생하는 노이즈를 억제하기 어렵다. 따라서 PUF의 RP를 특정 기대 값(등록 단계에서의 RP)으로 수렴시키기 위해 노이즈 제거 과정 즉, RP의 안정화 과정이 필요하다.Since the PUF utilizes the fine variations of the circuit, the output RP may not be constant even if the same CH is repeatedly input due to environmental variables such as temperature or voltage. That is, there may be a difference between the RP at the registration stage and the RP at the regeneration stage, which is usually referred to as intra-chip variation. In an authentication system using a PUF, it is ideal to make the
[12]에서는 노이즈가 포함된 생체 정보 데이터를 인증에 사용하기 위한 기능으로써 퍼지 추출기(fuzzy extractor)라는 개념을 제시하였고 이 기능을 도 4와 같이 PUF의 출력 안정화에 사용할 수 있다. 퍼지 추출기(Fuzzy extractor)는 기본적으로 오류 정정 코드(ECC: Error Correction Codes)를 바탕으로 한다[12, 13]. ECC는 인코더(10)와 디코더(20)로 구분되는 데, 인코더(10)는 실제 데이터인 메시지(message)로부터 리던던시(redundancy)를 생성하여 코드워드를 만드는 역할을 하고 디코더(20)는 이 코드워드(codewords :코드워드)를 복호화하는 역할을 하는 데 오류가 포함되어있을 경우 그 오류를 정정한다. [12] proposed a concept of a fuzzy extractor as a function for using biometric information data including noise in authentication, and this function can be used for stabilizing the output of the PUF as shown in FIG. Fuzzy extractors are basically based on Error Correction Codes (ECC) [12, 13]. The ECC is divided into an
PUF(1)에서는 ECC 기능과 관련하여 RP에 포함된 오류를 정정하기 위해 생성되는 리던던시(redundancy) 또는 리던던시(redundancy)를 포함한 코드워드 데이터를 헬퍼 데이터(Helper Data: HD)라고 한다. 디바이스의 등록 단계에서는 생성된 CRP와 함께 HD를생성하여 별도의 저장소에 저장한다. 재생성 단계에서는 선택된 CRP에 관련된 HD를 이용하여 RP를 안정화한다.In the PUF (1), code word data including redundancy or redundancy generated in order to correct an error included in the RP with respect to the ECC function is referred to as helper data (HD). In the registration step of the device, HD is generated together with the generated CRP and stored in a separate storage. In the regeneration step, the RP associated with the selected CRP is stabilized.
본 발명에서 제시하는 CRP의 분석을 어렵게 하는 방법은 디바이스의 PUF(1)에서 출력된 자연적인 노이즈를 포함하고 있는 RP에 의도된 가공 노이즈를 추가로 삽입하는 것이다. 인증기에서 디바이스로 CH를 전송할 때, 그리고 디바이스의 PUF(1)에서 출력된 RP를 인증기로 전송할 때 한 쌍의 CH와 RP 즉, CRP가 노출된다. 이때 인증기로 전송되면서 노출되는 RP에 가공 노이즈 다시 말하자면 무작위 값을 부분적으로 삽입하여 실제 인증에 사용되는 RP와의 차이를 만드는 것이다. 그러나 ECC 디코더(20)를 이용하여 제거할 수 있는 노이즈는 제한이 있다. 따라서 제시하는 구조에서 ECC 디코더(20)는 의도된 가공 노이즈는 제외한 상태에서 RP를 복호화하며 환경 변수에 의해 생성되는 자연적인 노이즈만을 제거하는 데 사용된다. 의도된 가공 노이즈는 디바이스 부분의 PUF(1) 자체를 활용하여 생성하는 데 그 위치와 값은 무작위이다. 따라서 의도된 가공 노이즈를 제외한 상태에서 RP를 복구하기 위해서는 기존과는 다른 ECC 구조가 필요하다. 제안하는 인증 구조에서는 코드워드 중 부분적인 리던던시(redundancy)만을 활용하여 데이터를 복구할 수 있는 특별한 구조의 LDPC 코드를 이용하여 의도된 노이즈는 복호 과정에서 제외하면서 자연적인 노이즈를 제거할 수 있다.The method of making the CRP analysis difficult in the present invention is to further insert the intended processing noise into the RP which contains the natural noise output from the
4. 전체적인 인증 구조4. Overall authentication structure
도 5는 PUF를 이용하여 디바이스를 인증하는 기존의 일반적인 시스템 구조라고 할 수 있다. 5 is a conventional general system structure for authenticating a device using a PUF.
시스템 구조는 크게 디바이스(50)와 인증기(60) 부분으로 나눌 수 있다. 인증기(60)에서는 디바이스들의 등록 단계에서 생성된 CRP들을 가지고 있으며 디바이스가 인증 요청을 하면 해당 디바이스(50)의 CRP들 중 하나를 선택하여 CH를 디바이스로 전송한다.The system structure can be broadly divided into a
디바이스(50)는 PUF로부터 전송받은 CH를 이용하여 자연적인 노이즈가 포함되어 있을 수 있는 RP'를 생성한다. 디바이스(50)는 ECC 모듈을 이용하여 RP'를 RP로 안정화하여 인증기(60)로 전송한다. 인증기(60)는 디바이스(50)로부터 받은 RP와 선택된 CRP의 RP를 비교하여 인증 여부를 완료한다. 시스템에 따라서 노출되는 CRP를 보호하기 위하여 해시(Hash) 함수와 같은 보안 모듈을 사용할 수 있다[15, 16].The
도 6은 본 발명의 바람직한 일 실시예에 따른 노이즈가 삽입된 물리적 복제 불가 함수 시스템의 구성도이다.FIG. 6 is a block diagram of a physically non-reproducible function system in which noise is inserted according to a preferred embodiment of the present invention.
도 6을 참조하면, 본 발명의 바람직한 일 실시예에 따른 가공 노이즈가 삽입된 물리적 복제 불가 함수 시스템은 디바이스(100), 인증기(200) 및 헬퍼 데이터 저장부(300)를 구비하고 있다.Referring to FIG. 6, a physical non-reproducible function system having processed noise according to a preferred embodiment of the present invention includes a
상기 디바이스(100)는 PUF 회로(110)와 노이즈 삽입부(120)을 포함하고 있으며, 인증기(200)는 챌린지 응답 쌍 저장부(210), 오류 정정 디코더(220), 비교부(230) 및 노이즈 위치 분석부(240)를 포함한다. The
여기에서, 챌린지 응답 쌍 저장부(210)는 각각의 디바이스(100)에 대한 챌린지 신호(CH)와 그에 대응되는 대응 응답 신호(RP)를 저장하고 있다.Here, the challenge-response
상기 대응 응답 신호(RP)는 등록 단계(디바이스 출하 전)에서 챌린지 신호(CH)를 PUF 회로(110)에 입력하여 출력으로 얻고 인증기(200)의 챌린지 응답 쌍 저장부(210)에 저장되는, 최종적으로 인증 여부를 결정하는 데 사용되는 데이터이다. The corresponding response signal RP is inputted to the
이와 같은 대응 응답 신호(RP)는 재생성 단계(디바이스 출하 후)에서 노출되지 않으며(노출되면 안되며), 재생성 단계에서 디바이스(100)로부터 전송받은 의도된 가공 노이즈가 삽입된 2차 응답 신호(RP'')의 가공 노이즈가 오류 정정 디코더(220)을 통해 제거되어 만들어진 최종 응답 신호(FRP)와 최종적으로 비교된다.The corresponding response signal RP is not exposed (not exposed) in the regenerating step (after device shipment), and the intended processing noise transmitted from the
그리고, 헬퍼 데이터 저장부(300)는 각각의 디바이스(100)에 대한 챌린지 신호(CH)와 그에 대응되는 대응 응답 신호(RP)에 따른 헬퍼 데이터(HD)를 저장하고 있다. 이러한 헬퍼 데이터 저장부(300)는 디바이스(100) 측에 있으며, 인증기(200) 측에 있을 수도 있다.The helper
각 CRP에 대응하는 HD의 길이는 해당 LDPC 코드의 코드워드 길이와 같다. HD는 등록단계에서 무작위로 선정된 메시지의 부호 과정을 통해 얻은 코드워드와 해당 RP와의 XOR 연산을 통하여 생성되고 저장된다. The length of the HD corresponding to each CRP is equal to the codeword length of the corresponding LDPC code. HD is generated and stored by XOR operation between the codeword obtained from the coding process of the randomly selected message and the corresponding RP in the registration step.
이후 재생성 단계에서 디바이스로부터 전송받은 RP"와 HD의 XOR 연산을 통하여 등록 단계에서 생성된 무작위 코드워드를 얻고 이 코드워드를 복호하여 오류를 보정한다. 보정된 코드워드와 HD의 XOR 연산으로 노이즈가 제거된 RP를 생성한다.Then, the random code word generated in the registration step is obtained by XOR operation of HD with the RP "received from the device in the regeneration step, and the error is corrected by decoding the code word. Create the removed RP.
이와 같은 구성에서 먼저 상기 인증기(200)의 챌린지 응답 쌍 저장부(210)는 상기 디바이스(100)에 해당하는 챌린지 신호를 디바이스(100)로 전송한다.In this configuration, the challenge-response
이에 따라 상기 디바이스(100)의 PUF 회로(110)는 인증기(200)로부터 챌린지 신호(CH)를 전송받고 1차 응답 신호(RP')를 생성한다.Accordingly, the
이때, 상기 디바이스(100)의 PUF 회로(110)가 생성하는 1차 응답 신호(RP )에는 자연적인 내츄럴 노이즈(natural noise)가 포함되어 있다. At this time, the primary response signal RP generated by the
이와 같은 1차 응답 신호(RP')는 노이즈 삽입부(120)에 전송되며 노이즈 삽입부(120)는 1차 응답 신호(RP')에 포함된 자연적인 내츄럴 노이즈를 활용하여 의도된 가공 노이즈의 패턴과 삽입될 위치에 대한 정보를 생성하여 PUF 회로(110)로 전송한다.The primary response signal RP 'is transmitted to the
이때, 상기 디바이스(100)의 PUF 회로(110)는 자연적인 내츄럴 노이즈(natural noise)에 더해서 의도된 가공 노이즈(intended noise)를 삽입하여 2차 응답 신호(RP") 신호를 생성하여 생성된 2차 응답 신호(RP")를 인증기(200)로 전송한다. At this time, the
여기에서, 2차 응답 신호(RP'')는 PUF 회로(110)에서 출력된 의도된 가공 노이즈가 삽입된 응답 신호이며 인증기(200)로 전송되는 데이터이다. 최종적으로 RP''에는 의도된 가공 노이즈와 자연적인 내츄럴 노이즈가 포함되어 있다.Here, the secondary response signal RP '' is the response signal into which the intended processing noise output from the
이때, 2차 응답 신호(RP")는 안정화되지 않은 상태에서 인증기(200)로 전송되고 인증기(200)에서는 오류 정정 디코더(220)를 이용하여 자연적인 내츄럴 노이즈와 의도된 가공 노이즈를 제거하여 최종 응답 신호(FRP)를 생성한다.At this time, the secondary response signal RP "is transmitted to the
이때, 노이즈 위치 분석부(240)는 2차 응답 신호(RP”)에서 노이즈 삽입 위치와 가공 노이즈 패턴을 분석하여 오류 정정 디코더(220)에 제공한다. At this time, the
이때, 오류 정정 디코더(220)는 헬퍼 데이터(HD)를 헬퍼 데이터 저장부(300)로부터 얻게 된다.At this time, the
그리고, 비교부(230)는 최종 응답 신호(FRP)로 디바이스(100)의 인증 여부를 최종적으로 결정한다. 즉, 비교부(230)는 챌린지 응답 쌍 저장부(210)에서 디바이스(100)로 전송한 챌린지 신호에 대응되는 대응 응답 신호(RP)를 전송받아 오류 정정 디코더(220)에서 출력되는 최종 응답 신호(FRP)와 비교하여 인증 여부를 결정한다. Then, the comparing
여기에서, 가공 노이즈를 삽입하고 분석하는 방법은 제조사마다의 고유의 방식을 운용할 수 있으며, 응답신호를 디바이스에서 인증기로 전송하기 전에 노이즈 삽입부(120)와 노이즈 위치 분석부(240)에 의도된 가공 노이즈가 삽입된 위치에 대한 정보를 사전에 정해져 있어 노출되는 2차 응답 신호(RP'')로는 의도된 가공 노이즈 위치를 분석하기 어렵다.Herein, the method of inserting and analyzing the processed noise can operate a unique method for each manufacturer. Before the response signal is transmitted from the device to the authenticator, the
이와 같은 본 발명이 기존의 구조와 크게 다른 점은 디바이스(100)에서 인증기(200)로 전송되는 2차 응답 신호(RP")에 자연적인 내츄럴 노이즈와 의도된 가공 노이즈가 삽입되어 노출되어 CRP에 대한 분석을 어렵게 한다는 점이다.The present invention is significantly different from the conventional structure in that natural natural noise and intentional noise are inserted into the secondary response signal RP "transmitted from the
본 발명에서는 별도의 보안 모듈을 쓰지 않는다. 의도된 가공 노이즈를 삽입하는 방법은 PUF 회로(110)를 자체적으로 활용하기 때문에 이에 따라 추가되는 하드웨어 오버헤드가 크지 않다. 그리고 2차 응답 신호(RP")를 안정화하는 오류 정정 디코더(220)가 인증기(200) 부분에 배치되어 디바이스(100)의 하드웨어적인 요소를 경량화할 수 있다[14].In the present invention, no separate security module is used. Since the method of inserting the intended machining noise utilizes the
도 7은 도 6의 PUF 회로의 일실시예를 나타내는 도면이다.7 is a diagram showing one embodiment of the PUF circuit of Fig.
도 7을 참조하면, 도 6의 PUF 회로는 다수의 스위치(S1~Sn), 다수의 피드포워드 아비터(FFA1~FFAm), 다수의 멀티플렉서(MUX1~MUXk), 선형 피드백 시프터 레지스터(LSPR), 선택 신호 생성기(SEL) 및 응답 아비터(RPA)를 포함하고 있다.6, the PUF circuit of FIG. 6 includes a plurality of switches S1 to Sn, a plurality of feedforward arithmetic units FFA1 to FFAm, a plurality of multiplexers MUX1 to MUXk, a linear feedback shifter register LSPR, A signal generator SEL and a response arbiter RPA.
상기 다수의 스위치(S1~Sn)는 직렬로 연결되어 있으며, 각각은 두 개의 멀티플렉서로 이루어져 있으며, 입력 값에 따라 연결 상태를 바꾼다. 여기에서 n은 임의의 자연수이며, 도 7에서는 16인 경우를 도시하고 있다.The plurality of switches S1 to Sn are connected in series, and each of the switches S1 to Sn is composed of two multiplexers, and the connection state is changed according to the input value. Here, n is an arbitrary natural number, and the case of 16 in Fig. 7 is shown.
그리고, 다수의 피드포워드 아비터(FFA1~FFAm)의 각각은 플리플롭으로 이루어져 있으며, 다수의 스위치(S1~Sn)중에서 어느 하나의 스위치(S1~Sn)의 출력을 입력받아 해당하는 스위치(S1~Sn)중에서 먼저 출력되는 신호에 따라서 '1' 또는 '0'의 출력값이 결정된다. 여기에서, m은 임의의 자연수로 n보다 작으며, 도 7에서는 3인 경우를 도시하고 있다. Each of the plurality of feedforward arithmetic units FFA1 to FFAm is constituted by a flip flop and receives the output of one of the switches S1 to Sn among the plurality of switches S1 to Sn, The output value of '1' or '0' is determined according to a signal output first among the
이와 같은 다수의 피드포워드 아비터(FFA1~FFAm)의 출력은 다수의 멀티플렉서(MUX1~MUXk)의 입력으로 사용된다. 여기에서, k는 임의의 자연수이며 n보다 작으며, 도 7에서는 3인 경우를 도시하고 있다.The outputs of the plurality of feedforward arbiters FFA1 to FFAm are used as inputs of the multiplexers MUX1 to MUXk. Here, k is an arbitrary natural number and is smaller than n, and the case of 3 in Fig. 7 is shown.
이때 다수의 피드포워드 아비터(FFA1~FFAm)의 모든 출력이 다수의 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용되도록 할 수 있다.At this time, all the outputs of the plurality of feedforward arbiters FFA1 to FFAm may be used as inputs to each of the plurality of multiplexers MUX1 to MUXk.
이와 달리 몇 개의 피드포워드 아비터(FFA1~FFAm)의 출력을 다수의 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용되도록 할 수 있다.Alternatively, the outputs of several feedforward arbiters FFA1 to FFAm may be used as inputs to each of the plurality of multiplexers MUX1 to MUXk.
물론, 다수의 피드포워드 아비터(FFA1~FFAm)의 각각에 대하여 하나의 대응되는 멀티플렉서(MUX1~MUXk)를 정하여 대응되는 피드포워드 아비터(FFA1~FFAm)의 출력을 입력으로 사용하도록 할 수 있다.Of course, one corresponding multiplexer (MUX1 to MUXk) may be determined for each of a plurality of feedforward arithmetic units FFA1 to FFAm, and the output of corresponding feedforward arithmetic units FFA1 to FFAm may be used as an input.
한편, 선형 피드백 시프터 레지스터(LSPR)는 인증기(200)에서 전송된 챌린지 신호(CH)를 입력받아 n 비트의 의사 난수 수열을 생성하며, 도 7에서는 16비트의 의사 난수 수열을 생성하는 것을 도시하고 있다.Meanwhile, the linear feedback shifter register LSPR receives the challenge signal CH transmitted from the
이와 같은 선형 피드백 시프터 레지스터(LFSR)는 시프트 레지스터의 일종으로, 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조를 가지고 있다. 이때 사용되는 선형 함수는 주로 배타적 논리합(XOR)이다. LFSR의 초기 비트 값은 시드(seed)라고 부른다.Such a linear feedback shifter register (LFSR) is a type of shift register, and has a structure in which a value input to a register is calculated as a linear function of previous state values. The linear function used in this case is mainly exclusive OR (XOR). The initial bit value of the LFSR is called the seed.
LFSR의 동작은 결정론적이기 때문에, LFSR로 생성되는 값의 의사 난수 수열은 그 이전 값에 의해 결정된다. 또한, 레지스터가 가질 수 있는 값의 갯수는 유한하기 때문에, 이 의사 난수 수열은 특정한 주기에 의해 반복된다. 하지만 선형 함수를 잘 선택한다면 주기가 길고 무작위적으로 보이는 의사 난수 수열을 생성할 수 있다.Since the operation of the LFSR is deterministic, the pseudo-random number sequence of values generated by the LFSR is determined by the previous value. Also, since the number of values that a register can have is finite, the pseudo-random number sequence is repeated by a specified period. However, if you choose a linear function, you can generate a pseudorandom sequence that looks like a long, random sequence.
이와 같이 선형 피드백 시프터 레지스터(LSPR)의 n 비트의 의사 난수 수열은 다수의 스위치(S1~Sn)에서 n-k 직접 입력되며, 나머지 k개는 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용된다.Thus, the n-bit pseudo-random number sequence of the linear feedback shifter LSPR is directly input to the n-k of the switches S1 to Sn, and the remaining k are used as inputs to the multiplexers MUX1 to MUXk.
한편, 선택 신호 생성기(SEL)는 다수의 멀티플렉서(MUX1~MUXk)의 각각에 선택 신호를 제공하여, 각각의 멀티플렉서(MUX1~MUXk)의 입력중에서 어느 하나의 신호를 출력하여 해당하는 스위치(S1~Sn)의 입력으로 사용되도록 한다.The selection signal generator SEL provides a selection signal to each of the plurality of multiplexers MUX1 to MUXk to output any one of the inputs of the multiplexers MUX1 to MUXk, Sn).
이러한 선택 신호 생성기(SEL)의 다수의 멀티플렉서(MUX1~MUXk)의 각각에 선택 신호는 미리 정해져 있을 수 있다.A selection signal may be predetermined for each of the plurality of multiplexers MUX1 to MUXk of the selection signal generator SEL.
그리고, 응답 아비터(RPA)는 각 스위치(S1~Sn)의 끝에 위치하여 각 스위치(S1~Sn)의 통로를 먼저 도달하는 신호에 따라서 '1' 또는 '0'의 출력값이 결정된다.The response arbiter RPA is located at the end of each of the switches S1 to Sn and an output value of '1' or '0' is determined according to a signal arriving at the path of each of the switches S1 to Sn first.
이와 같은 본 발명에 사용되는 PUF 회로는 일반적인 아비터-PUF(arbiter-PUF)와 피드포워드 아비터-PUF(FF arbiter-PUF)가 혼합된 형태이며 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 값을 받는 스위치들(S1~Sn)은 추가된 멀티플렉서(MUX1~MUXk)의 선택 신호에 의해 피드포워드 아비터들(FFA1~FFAm) 중에서 하나의 값을, 또는 선형 피드백 시프터 레지스터(LFSR)를 통하여 출력되는 의사 난수 수열의 출력값을 선택하여 입력 값으로 받을 수 있다.The PUF circuit used in the present invention is a mixed form of a general arbiter-PUF and a feed arbiter-PUF, and a value of a feed forward arbiter (FFA1 to FFAm) The switches S1 to Sn receiving the outputs of the feedforward arithmetic units MUX1 to MUXk output one of the feedforward arithmetic units FFA1 to FFAm or the linear feedback shifter register LFSR by the selection signals of the added multiplexers MUX1 to MUXk The output value of the pseudo-random number sequence can be selected and received as an input value.
대응 응답 신호(RP)의 각 비트는 한 번의 스위치(S1~Sn) 입력마다 얻을 수 있다. 등록 단계에서 대응 응답 신호(RP)의 전체 비트열은 얻기 위해서는 입력된 챌린지 신호(CH)를 이용한 선형 피드백 시프터 레지스터(LFSR)의 의사 난수 수열의 출력값을 이용하여 스위치(S1~Sn)의 입력을 비트열 길이만큼 반복하여 주입하여야 한다. Each bit of the response signal RP can be obtained for each input of one switch S1 to Sn. In order to obtain the entire bit string of the response signal RP in the registering step, the input of the switches S1 to Sn is determined by using the output value of the pseudo-random number sequence of the linear feedback shifter register (LFSR) using the inputted challenge signal CH It must be injected repeatedly as much as the bit string length.
이처럼 등록 단계에서 대응 응답 신호(RP)를 생성할 때 각 스위치(S1~Sn)는 오직 선형 피드백 시프트 레지스터(LFSR)로부터 출력값인 의사 난수 수열을 입력값으로 받는다. As described above, when generating the response signal RP in the registering step, each of the switches S1 to Sn receives only the pseudo-random number sequence, which is the output value from the linear feedback shift register (LFSR), as the input value.
이와 달리 재생성 단계에서 2차 응답 신호(RP")를 얻을 때에도 기본적으로 각 스위치들(S1~Sn)은 선형 피드백 시프터 레지스터(LFSR)로부터 값을 입력받도록 멀티플렉서(MUX1~MUXk)가 설정되어 있다가 RP 비트열 중 의도된 가공 노이즈를 생성할 부분의 RP 비트들을 생성할 때 멀티플렉서(MUX1~MUXk)를 통해 피드포워드 아비터(FF arbiter)(FFA1~FFAm)와 연결된다. On the other hand, when the secondary response signal RP "is obtained in the regeneration step, the multiplexers MUX1 to MUXk are basically set so that the respective switches S1 to Sn receive a value from the linear feedback shifter register LFSR And is connected to feedforward arbiters (FFA1 to FFAm) via multiplexers (MUX1 to MUXk) when generating the RP bits of the portion of the RP bit stream that will produce the intended machining noise.
멀티플렉서(MUX1~MUXk)를 통해서 특정 스위치들(S1~Sn)의 입력 값이 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 출력으로 연결이 되면 좀 더 예측하기 힘든 RP 비트들이 생성되며 이는 인증기(200)에서 선택한 CRP의 대응 응답 신호(RP)와의 차이를 만든다. When the input values of the specific switches S1 to Sn are connected to the outputs of the FF arbiters FFA1 to FFAm through the multiplexers MUX1 to MUXk, RP bits which are more difficult to predict are generated, And the corresponding response signal RP of the CRP selected in the
이와 같은 본 발명의 PUF 회로 구조에서 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 개수와 피드포워드 아비터(FF arbiter)들(FFA1~FFAm)의 값들을 받는 스위치들(S1~Sn)의 개수를 늘이면 더 많은 무작위 값 즉, 의도된 가공 노이즈 패턴을 생성할 수 있다.In the PUF circuit structure of the present invention, the number of switches S1 to Sn receiving the values of the feed forward arbiters FF1 to FFAm and the FF arbiters FF1 to FFAm, , It is possible to generate more random values, that is, an intended machining noise pattern.
5. 의도된 가공 노이즈가 삽입된 2차 응답 신호(RP") 비트열 구조5. Secondary response signal (RP ") bit sequence structure with intended processing noise inserted
2차 응답 신호(RP")의 비트열은 오류 정정 디코더(220)의 오류 정정 코드(error correction code :ECC) 기능과 관련하여 메시지 부분과 리던던시(redundancy) 부분으로 나눌 수 있다. The bit stream of the secondary response signal RP "may be divided into a message part and a redundancy part in relation to an error correction code (ECC) function of the
의도된 가공 노이즈는 리던던시(redundancy) 부분에만 삽입되며 오류 정정 코드의 설계에 따라 의도된 가공 노이즈가 삽입될 수 있는 부분의 크기와 개수 결정된다.The intended machining noise is inserted only in the redundancy portion, and the size and the number of the portions into which the intended machining noise can be inserted are determined according to the design of the error correction code.
도 8은 본 발명에 따른 PUF 회로에서 생성될 수 있는 2차 응답 신호(RP") 비트열과 삽입되는 가공 노이즈들의 형태들이다. Fig. 8 is a diagram of a second order response signal (RP ") bit string that can be generated in the PUF circuit according to the present invention and forms of processed noise to be inserted.
도 8을 참조하면, 리던던시(redundancy)에 의도된 가공 노이즈를 삽입할 수 있는 부분이 세 영역으로 나누어져 있고 그 중 한 부분에 가공 노이즈를 삽입할 수 있다. Referring to FIG. 8, a portion capable of inserting machining noise intended for redundancy is divided into three regions, and machining noise can be inserted in one of the regions.
도 8의 (a)는 등록 단계에서 생성되는 대응 응답 신호(RP)이며 이 비트열이 인증에 사용되기 때문에 어떤 노이즈도 없다고 할 수 있다. FIG. 8A shows a corresponding response signal RP generated in the registration step, and since this bit string is used for authentication, it can be said that there is no noise.
도 8의 (b)는 재생성 단계에서 출력된 2차 응답 신호(RP")이며 기본적으로 비트열 전체에 자연적인 노이즈가 포함되어 있으며 의도된 가공 노이즈도 포함되어 있다. Fig. 8B shows a secondary response signal RP "outputted in the regenerating step. Basically, the entire bit string includes natural noise, and includes intended processing noise.
의도된 가공 노이즈는 2번 부분에 삽입되어 있는데 삽입되는 위치는 이전에 출력된 메시지 부분의 비트열을 이용하여 무작위로 결정할 수 있다. The intended machining noise is inserted in the second part, and the inserted position can be determined at random using the bit string of the previously outputted message part.
예를 들어 비트열의 '1'을 카운트하여 의도된 가공 노이즈의 삽입 위치를 무작위로 결정할 수 있다. 메시지 부분 또한 자연적인 노이즈가 포함되어 있고 이는 2차 응답 신호(RP")를 생성할 때마다 달라질 수 있기 때문에 의도된 가공 노이즈가 삽입되는 위치는 항상 무작위가 될 수 있다. For example, it is possible to randomly determine the insertion position of the intended machining noise by counting '1' of the bit string. Since the message portion also includes natural noise and this can vary from generation to generation of the secondary response signal RP ", the location where the intended processing noise is inserted may always be random.
도 8의 (b)와 같이 의도된 가공 노이즈가 포함된 2차 응답 신호(RP")는 인증기(200)로 전송된다.The secondary response signal RP "including the intended processing noise as shown in Fig. 8 (b) is transmitted to the
도 8의 (c)는 오류 정정 디코더(220)의 의해 자연적인 노이즈가 제거된 즉, 안정화된 1차 응답 신호(RP')의 모습을 보여준다. 8 (c) shows a state of the natural response canceled by the
인증기(200)는 1차 응답 신호(RP')에 의도된 가공 노이즈가 포함된 부분에는 많은 오류가 포함되어 있기 때문에 이 부분은 제외하여 최종 응답 신호(FRP)를 복호화한다. The
인증기(200)는 최종적으로 의도된 가공 노이즈가 포함된 부분을 제외한 최종 응답 신호(FRP)를 이용하여 디바이스(100)의 인증 여부를 결정한다.The
6. 오류 정정 디코더 구조6. Error correction decoder structure
기존의 일반적인 오류 정정 코드(ECC) 디코더와 이를 이용한 복호 과정으로는 디바이스(100)에서 삽입하는 의도된 가공 노이즈를 제외하고 복호를 수행할 수가 없다. 그림 9는 본 발명의 오류 정정 디코더(220)가 사용하는 부분적 리던던시(redundancy)를 제외한 상태에서 복호 수행이 가능한 저밀도 패리티 체크 (LDPC) 코드의 패리티-체크 행렬의 예이다. The conventional error correcting code (ECC) decoder and the decoding process using it can not perform decoding except for the intended processing noise inserted in the
본 발명에 따른 오류 정정 디코더(220)에 이용되는 저밀도 패리티 체크(LDPC) 코드는 준주기 LDPC(Quasi-Cyclic LDPC) 코드를 바탕으로 하고 있으며 블록 단위로 패리티-체크 행렬이 구성된다[17-19]. The low-density parity-check (LDPC) code used in the
본 발명에서 제시된 패리티-체크 행렬에서 리던던시(redundancy)에 해당하는 부분은 총 세 부분으로 나누어져 있으며 각각의 패리티-체크 행렬 부분은 다른 부분에 영향을 미치지 않게 구성되어 있다. 즉, 세 부분의 영역은 각각 독립적인 복호가 가능하며 세 부분 중 임의의 리던던시(redundancy) 부분이 제외된 상태에서 오류정정이 가능하다. In the parity check matrix proposed in the present invention, the portion corresponding to the redundancy is divided into three parts, and each parity-check matrix part is constructed so as not to affect the other parts. That is, the three regions can be independently decoded, and error correction can be performed in the state where any redundancy portion of the three portions is excluded.
이처럼 본 발명의 오류 정정 디코더(220)에 이용되는 저밀도 패리티 체크 코드(LDPC Codes) 디코더의 복호 과정은 정보 초기화, 체크-노드 업데이트, 변수-노드 업데이트, 패리티-체크로 총 네 가지로 구성된다. As described above, the decoding process of the low-density parity-check code (LDPC) code decoder used in the
복호 순서는 최초에 복호할 코드워드의 정보를 초기화한 뒤 체크-노드 업데이트, 변수-노드 업데이트, 패리티-체크 순으로 반복한다. The decoding order initializes the information of the codeword to be decoded first, and then it is repeated in the order of check-node update, variable-node update, and parity-check.
이 일련의 과정은 코드워드의 모든 오류가 정정되거나 최대 반복 횟수에 도달할 때까지 반복한다. This sequence repeats until all errors in the codeword have been corrected or the maximum number of iterations has been reached.
특정 리던던시(redundancy) 부분을 제외하면서 복호를 수행할 수 있는 복호 수행과정은 다음과 같다. A decoding process that can perform decoding except for a specific redundancy part is as follows.
복호를 시작할 때 정보 초기화 단계에서 제외할 리던던시(redundancy)에 해당하는 내부 정보 값과 외부 정보 값을 '0'으로 설정한다. 이 후 반복되는 복호 작업에서도 다른 외부 정보에 영향을 미치지 않도록 설계하여야 한다. 변수-노드 업데이트 모듈에서는 무시되어야 할 데이터에는 항상 '0'의 값을 주어 최종적으로 코드워드의 각 비트를 결정하는 데 영향을 미치지 않도록 하여야 한다. The internal information value and the external information value corresponding to the redundancy to be excluded in the information initialization step are set to '0' at the start of decoding. It should be designed so as not to affect other external information in subsequent decoding operations. In the variable-node update module, the value to be ignored should always be set to '0' so as not to affect the determination of each bit of the code word.
본 발명에서 설계된 변수-노드 업데이트 모듈에서는 그림 10과 같이 의도된 가공 노이즈가 삽입되는 단위로 adder를 나누고 의도된 가공 노이즈가 삽입된 adder의 결과는 멀티플렉서 선택 신호에 의해 '0'값이 출력되도록 한다.In the variable-node update module designed in the present invention, the adder is divided into a unit in which the intended processing noise is inserted as shown in FIG. 10, and a result of the adder in which the intended processing noise is inserted is output as a '0' value by the multiplexer selection signal .
7. 실험을 위한 지연 시간 모델링7. Delay time modeling for experiments
본 실험은 의도된 가공 노이즈를 삽입함으로써 인증기에 저장된 대응 응답(RP)와 실제 사용에서 출력된 최종 응답 신호(FRP)와의 차이 그리고 반복하여 출력한 최종 응답 신호(RP)들 간의 차이를 측정하기 위함이다. This experiment is to measure the difference between the response (RP) stored in the authenticator and the final response signal (FRP) output from actual use by inserting the intended processing noise and the difference between the repeated final output signals (RP) to be.
본 실험은 이미 소개한 PUF 회로와 저 밀도 패리티 체크 코드 디코더를 바탕으로 수행하였다.This experiment is based on the PUF circuit and low density parity check code decoder.
[20]에서는 PUF의 지연 시간 모델링을 위하여 기본적으로 신호 전파 지연 시간의 고정된 지연 시간 차이와 무작위 지연 시간 차이를 설정하였다. [20] basically set fixed delay time difference and random delay time difference of signal propagation delay time for PUF delay time modeling.
본 실험에서도 마찬가지로 미세한 변이에 의한 고정된 지연 시간과 환경 변수에 의해 변경될 수 있는 무작위 지연 시간으로 나누어 회로의 지연 시간을 모델링 하였다.In this experiment, the delay time of the circuit is also divided by the fixed delay time due to the fine variation and the random delay time which can be changed by the environmental variable.
하나의 스위치 내부에서 신호가 통과하는 통로는 그림 11과 같이 총 네 가지가 있으며 스위치 입력에 따라 신호가 통과하는 통로가 정해진다. 각 통로에 대한 신호 전파시간을 나타내는 t는 두 가지 요소로 결정된다. 하나는 공정에서 발생하는 변이의 영향에 의한 고정된 지연시간, t s 이며 다른 하나는 주변 온도나 전압에 의하여 다르게 발생할 수 있는 지연시간, t r 이다. t는 다음과 (수학식 1)과 같다.There are four paths through which a signal passes in one switch, as shown in Figure 11, and the path through which the signal passes is determined by the switch input. T represents the signal propagation time for each channel is determined by two factors. One is the fixed delay time, t s , due to the effect of the variations in the process, and the other is the delay time, t r , which can be different due to ambient temperature or voltage. t is expressed by the following equation (1).
(수학식 1)(1)
즉, 공정상의 변이에 의한 고정된 지연 시간과 응답 신호(RP)를 생성할 때마다 다르게 발생할 수 있는 노이즈에 의한 무작위 지연 시간으로 이뤄진다. That is, a fixed delay time due to process variation and a random delay time due to noise that may occur differently each time a response signal RP is generated.
d는 한 스위치에서 선택된 두 개의 통로 신호 전파 지연시간의 차이를 나타내며 스위치 입력 c에 따라 구하는 식은 다음 (수학식 2)와 같다. d represents the difference in propagation delay time between two paths selected from one switch, and the equation obtained according to the switch input c is expressed by the following equation (2).
(수학식 2)(2)
k 스위치까지의 누적된 지연 시간, s는 다음 (수학식 3)과 같이 계산된다.The cumulative delay time, s , to the k switch is calculated as: < EMI ID = 3.0 >
(수학식 3)(3)
, ,
각 스위치의 d를 모두 종합하여 RP의 한 비트값, b가 다음 (수학식 4)와 같이 결정된다.A bit value of the RP, b, is calculated by summing up the d values of the respective switches, as shown in the following equation (4).
(수학식 4)(4)
등록 단계에서는 챌린지(CH) 입력에 의해 생성되는 LFSR 값을 스위치에 입력하여 CRP쌍들을 추출한다. 이후 재생성 과정에서는 의도된 가공 노이즈를 삽입하는 위치와 피드포워드 아비터(FF Arbiter)의 값을 받는 스위치의 피드포워드 아비터(FF Arbiter) 선택을 RP 비트열 중 메시지에 해당하는 비트열의 '1'의 개수를 카운트하여 결정한다.In the registration step, the LFSR value generated by the challenge (CH) input is input to the switch to extract CRP pairs. In the regeneration process, the position of insertion of the intended processing noise and the selection of the feed forward arbiter (FF Arbiter) of the switch receiving the value of the feed forward arbiter (FF Arbiter) are set to the number of '1' Is determined.
8. 실험 결과8. Experimental results
그림 12는 등록단계에서 저장한 CRP의 대응 응답 신호(RP)와 재생성 단계에서 디바이스로부터 생성된 최종 응답 신호(FRP)를 비교하여 그 차이를 그래프로 나타낸 것이다. ①,②,③은 PUF 회로 내에서 자체적으로 생성되는 자연적인 노이즈에 의한 차이를 나타낸 것이며 기존의 PUF 회로에서 나타나는 내부 칩 변이(intra-Chip variation)라고 할 수 있다. ④,⑤,⑥은 자연적인 노이즈와 함께 의도된 가공 노이즈를 포함한 차이를 나타낸다. 의도된 가공 노이즈를 생성하기 위한 피드포워드 아비터(FF arbiter)의 개수는 8개로 설정하였다. Figure 12 compares the correspondence response signal (RP) of the CRP stored in the registration step with the final response signal (FRP) generated from the device in the regeneration step and graphs the difference therebetween. ①, ②, and ③ show the difference due to the natural noise generated in the PUF circuit itself and can be called intra-chip variation in the existing PUF circuit. ④, ⑤, and ⑥ show the difference including natural noise and intended processing noise. The number of feed arbiters (FF arbiters) for generating the intended machining noise is set to eight.
각 실험에 대하여 적용한 무작위 지연 시간 범위(t r )와 비트열 평균 차이는 표 1에 정리되어 있다.Table 1 summarizes the random delay time range ( t r ) applied to each experiment and the bit stream average difference.
(표 1)(Table 1)
오류 정정 코드(ECC)를 이용하여 2차 응답 신호(RP")를 안정시킬 수 있는 노이즈의 수는 제한적이다. 그래프와 표를 통해서 의도된 가공 노이즈의 삽입으로 인하여 자연적인 노이즈보다 훨씬 많은 노이즈가 삽입되는 것을 알 수 있다. The number of noise that can stabilize the secondary response signal (RP ") using error correction codes (ECCs) is limited. The insertion of the intended processing noise through the graphs and tables can result in much more noise than natural noise Is inserted.
그러나 적용된 저 밀도 패리티 체크 코드 디코더(LDPC Codes decoder)는 의도된 가공 노이즈는 제외한 상태에서 복호를 수행할 수 있다. However, the applied low density parity check code decoder (LDPC Codes decoder) can perform decoding with the exception of the intended processing noise.
이는 디바이스에서 출력된 2차 응답 신호(RP")가 인증기에 저장된 대응 응답 신호(RP)와의 차이를 늘이면서 인증을 수행한다는 것을 나타내며, 노출되는 2차 응답 신호(RP")들을 이용한 공격, 특히 다수의 챌린지 신호(CH)와 2차 응답 신호(RP")를 수집하여 PUF회로를 모델링하는 공격으로부터 보안성을 높일 수 있을 것으로 예상된다.This indicates that the secondary response signal RP "outputted from the device performs authentication while increasing the difference from the corresponding response signal RP stored in the authenticator, and indicates that the attack using the exposed secondary response signal RP" It is expected that the security can be increased from the attack of modeling the PUF circuit by collecting a plurality of challenge signals (CH) and secondary response signals (RP ").
도 13은 구성한 피드포워드 아비터(FF arbiter) 수에 따라서 같은 챌린지 신호(CH)를 반복적으로 입력할 때 출력되는 2차 응답 신호(RP")들 간의 차이를 그래프로 나타낸 것이다. FIG. 13 is a graph showing the difference between the secondary response signals RP "outputted when the same challenge signal CH is repeatedly input according to the number of feed arbiters (FF arbiters).
피드포워드 아비터(FF arbiter) 개수를 1, 2, 4, 8개를 배치하여 각각 제안하는 아비터 PUF(arbiter-PUF)들을 모델링하였고 모델링된 아비터 PUF(arbiter-PUF) 마다 각 스위치들의 전파 지연 시간을 무작위로 100번씩 다르게 설정하여 실험하였다. We design arbiter-PUF (arbiter-PUF) by assigning 1, 2, 4, and 8 FF arbiters to each arbiter-PUF. The experiment was performed 100 times randomly.
스위치들의 전파 지연 시간을 변경할 때마다 의도된 노이즈가 포함된 대표 RP 하나를 출력한 다음 대표 RP를 출력할 때와 같은 CH를 1,000번 반복하여 입력하고 RP"를 출력하여 비교하였다. Whenever the propagation delay time of the switches is changed, one representative RP containing the intended noise is output, and then the same CH is input 1,000 times repeatedly to output the representative RP, and RP "is outputted and compared.
(a)는 스위치의 무작위 전파 지연 시간이 최대 1.00%일 때, (b)는 최대 3.00%일 때의 실험결과이다.(a) shows experimental results when the random propagation delay time of the switch is maximum 1.00% and (b) is maximum 3.00%.
차이 분포도를 보면 크게 세 부분으로 도드라지는 것을 확인할 수 있다. ⓐ 또는 ⓑ 부분이 높게 나타나는 경우는 비교 대상이 되는 RP" 간에 의도된 노이즈가 삽입된 부분이 같을 때이다. 각 FF arbiter의 개수에 따라서 ⓐ 와 ⓑ 부분의 면적이 상대적으로 나타나는데 FF arbiter의 개수가 낮을수록 ⓐ부분의 면적이 넓어지며 이는 FF arbiter의 값을 받는 PUF 회로 스위치들의 신호 전파 지연 시간 영향이 거의 없기 때문에 RP" 간의 의도된 노이즈의 차이가 적어지는 것이다. 반대로 FF arbiter의 개수가 많을수록 같은 지역에 의도된 노이즈가 삽입되더라도 다양한 신호 전파 지연 시간의 변경이 발생하고 노이즈 패턴이 다양해져 RP"간에 비트열 차이가 커지고 따라서 ⓑ 부분의 면적이 넓어진다. ⓒ 부분은 의도된 노이즈가 생성되는 영역이 다를 때 나타나는 부분이다. FF arbiter 수가 많을수록 비트열 차이가 미세하게 증가하는 것을 확인할 수 있다.It can be seen that the difference distribution diagram is largely divided into three parts. If the ⓐ or ⓑ part appears to be high, the part where the intended noise is inserted between the RPs to be compared is the same, the area of the part of ⓐ and ⓑ relative to the number of FF arbiters is relatively shown, The lower the area, the wider the area of the ⓐ part is, because the signal propagation delay time of the PUF circuit switches receiving the value of the FF arbiter is hardly affected, the difference in the intended noise between RPs is reduced. On the contrary, as the number of FF arbiters increases, even if the intended noise is inserted in the same area, various signal propagation delay times are changed and the noise pattern is diversified so that the bit string difference between the RPs increases. This is the part that appears when the intended noise is generated in different regions. It can be seen that as the number of FF arbiters increases, the bit string difference increases finer.
9. 하드웨어 면적 비교9. Hardware area comparison
일반적으로 다수의 디바이스와 소수의 인증기로 구성되는 인증 시스템에서 디바이스의 인증과 관련된 하드웨어 오버헤드를 줄이는 것은 중요하다. 제시하는 인증 구조에서는 별도의 보안 모듈을 쓰지 않고 오류 정정 디코더(ECC 디코더)가 인증기에 배치되기 때문에 하드웨어적으로 많은 비용을 줄일 수 있다. It is important to reduce the hardware overhead associated with device authentication in an authentication system, which typically consists of multiple devices and a small number of authenticators. In the proposed authentication scheme, since an error correction decoder (ECC decoder) is disposed in the authenticator without using a separate security module, it is possible to reduce hardware costs.
여기에서, 소개하는 하드웨어 면적에 관한 측정은 ALTERA사의 FPGA 중 Cyclone IV를 바탕으로 하였다.Here, the measurement of the hardware area introduced was based on ALTERA's Cyclone IV FPGA.
데이터의 오류정정에 쓰이는 기존의 대표적인 오류 정정 코드(ECC)는 BCH 코드라고 할 수 있다. 표 2는 실험에서 설계된 RP의 길이 1280비트를 기준으로 오류정정가능 비트(T)에 따fms 논리 요소(logic elements: LEs))를 나타낸 것이다. A typical error correcting code (ECC) used for error correction of data is a BCH code. Table 2 shows the fms logic elements (LEs) according to the error-correctable bit (T) based on the length of 1280 bits of the RP designed in the experiment.
ECC의 종류와 해당 PUF 구조의 매개변수에 따라서 LEs는 상이할 수 있지만 RP의 안정화를 위하여 메모리와 함께 많은 LEs가 필요하다는 것을 확인할 수 있다. 디바이스 부분에 ECC 모듈을 배치하지 않음으로써 많은 하드웨어 오버헤드를 감소시킬 수 있다는 것을 알 수 있다.Depending on the type of ECC and the parameters of the PUF structure, LEs can be different, but it can be seen that many LEs are required along with memory to stabilize the RP. It can be seen that by not placing the ECC module in the device portion, a lot of hardware overhead can be reduced.
(표 2)(Table 2)
(표 3)(Table 3)
노출되는 CRP를 보호하는 방법은 CH나 RP를 전송하거나 전송받기 전에 보안 모듈을 거치는 것이다. PUF를 이용하는 시스템에서는 일반적으로 해쉬(hash) 함수가 사용된다. 표 3은 고속 해쉬(fast hash) 함수의 버전에 따른 LEs의 수를 나타내며 ECC 모듈과 함께 많은 하드웨어 자원이 필요하다는 것을 알 수 있다[21].The way to protect the exposed CRP is through the security module before sending or receiving CH or RP. In systems using PUF, a hash function is generally used. Table 3 shows the number of LEs according to the version of the fast hash function, and it is found that a large amount of hardware resources are required together with the ECC module [21].
표 4는 실험을 위해 모델링한 구조를 기준으로 기존의 아비터-PUF(arbiter-PUF), 제안하는 아비터-PUF(arbiter-PUF)의 하드웨어 면적, LEs와 논리 레지스터(Logic Register: LRs))를 비교한 것이다. 스위치는 각각 64개이며 제안하는 아비터-PUF(arbiter-PUF)에서는 각각 8개의 피드포워드 아비터(FF arbiter)와 멀티플렉서가 추가되어 있다. 제어기를 제외한 상태에서의 측정한 결과이며 적용되는 인증 시스템에 따라서 달라질 수 있지만 의도된 가공 노이즈를 삽입하기 위한 기능의 추가로 발생하는 하드웨어 오버헤드는 크지 않다는 것을 확인할 수 있다.Table 4 compares the hardware area, LEs and Logic Register (LRs) of the existing arbiter-PUF, the proposed arbiter-PUF, based on the modeling model for the experiment. It is. Each of the switches is 64, and in the proposed arbiter-PUF, eight feed arbitrators (FF arbiters) and multiplexers are added. It can be confirmed that the result of the measurement in the state excluding the controller and the hardware overhead caused by the addition of the function for inserting the intended machining noise can vary depending on the authentication system to be applied.
(표 4)(Table 4)
10. 결론10. Conclusion
본 발명에서는 PUF를 이용하여 디바이스의 인증을 수행하는 시스템에서 노출되는 RP에 고의적으로 노이즈를 추가로 삽입하여 외부의 공격자가 CRP들의 분석을 더욱 어렵게 만든다. In the present invention, an attacker deliberately inserts noise into the RP exposed in the system for performing authentication of the device using the PUF, making it difficult for the attacker of the outside to analyze the CRPs.
또한, 본 발명에서는 아비터-PUF(Arbiter-PUF)와 피드포워드 아비터-PUF(FF arbiter-PUF)를 혼합하고 무작위 값을 별도로 생성하여 인증에 사용되는 RP와 노출되는 RP의 차이를 증가시킴으로써 아직 사용되지 않은 CRP들의 예측을 어렵게 만든다. Also, in the present invention, by mixing the arbiter-PUF and the FF arbiter-PUF and generating a random value separately, it is possible to increase the difference between the RP used for authentication and the RP used, Which makes it difficult to predict which CRPs are not.
또한, 본 발명에서는 LDPC 코드의 디코더에서 독립적으로 복호되는 리던던시(redundancy) 크기를 늘이거나 영역의 수를 늘여서 노이즈의 양을 증가시켜 분석의 난이도를 더욱 높일 수 있다. Further, in the present invention, the redundancy size to be decoded independently from the decoder of the LDPC code can be increased or the number of regions can be increased to increase the amount of noise, thereby further improving the difficulty of analysis.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조에서 피드포워드 아비터(FF arbiter)의 개수와 이 값들을 입력으로 받는 스위치들의 개수를 증가시키면 더욱 다양한 무작위 노이즈 패턴을 생성할 수 있다. Further, in the present invention, it is possible to generate more random noise patterns by increasing the number of feed arbiter (FF arbiter) in the arbiter-PUF structure and the number of switches receiving the input values.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조와 이를 활용한 인증 시스템 구조는 CRP들의 분석을 어렵게 만들 뿐만 아니라 소수의 인증기와 다수의 디바이스로 구성되는 인증 시스템에서 디바이스 부분에 별도의 보안 모듈을 사용하지 않고 ECC 디코더 모듈을 디바이스 대신 인증기에 배치하며 의도된 노이즈를 삽입하는 기능이 아비터-PUF(arbiter-PUF)를 자체적으로 활용하는 구조이기 때문에 하드웨어 오버헤드를 줄일 수 있다.In the present invention, an arbiter-PUF (arbiter-PUF) structure and an authentication system structure using the arbiter-PUF make it difficult to analyze CRPs. In addition, in an authentication system including a small number of authenticator and a plurality of devices, The hardware overhead can be reduced because the ECC decoder module is placed in the authenticator instead of the device, and the function of inserting the intended noise is a structure that uses the arbiter-PUF itself.
100 : 디바이스 110 : PUF 회로
120 : 노이즈 삽입부 200 : 인증기
210 : 챌린지 응답 쌍 저장부 220 : 오류 정정 디코더
230 : 비교부 240 : 노이즈 위치 분석부
300 : 헬퍼 데이터 저장부 100: Device 110: PUF circuit
120: noise inserting unit 200: authenticator
210: Challenge response pair storage unit 220: Error correction decoder
230: comparator 240: noise position analyzer
300: Helper data storage unit
Claims (9)
상기 디바이스의 상기 PUF 회로에 대한 챌린지 신호와 그에 대응되는 대응 응답 신호에 따른 헬퍼 데이터를 저장하고 있는 헬퍼 데이터 저장부; 및
상기 디바이스에서 2차 응답 신호를 전송받아 가공 노이즈를 제거하여 최종 응답 신호를 생성하여 인증을 수행하는 인증기를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.A device including a PUF circuit and a noise insertion unit to generate and output a secondary response signal including a processed noise upon receiving a challenge signal;
A helper data storage unit storing helper data corresponding to a challenge signal for the PUF circuit of the device and a corresponding response signal corresponding thereto; And
And an authenticator which receives the secondary response signal from the device and removes processing noise to generate a final response signal to perform authentication.
상기 디바이스의 PUF 회로는
챌린지 신호를 입력받아 의사 난수 수열을 생성하여 출력하는 선형 피드백 시프터 레지스터;
서로 직렬로 연결되어 있으며, 입력 값에 따라 내부에 포함된 두 개의 내부 멀티플렉서의 연결 상태를 변경하며, 일부가 상기 선형 피드백 시프터 레지스터에서 생성된 의사 난수 수열의 해당 비트를 입력 값으로 사용하는 다수의 스위치;
각각은 플리플롭으로 이루어져 있으며, 상기 다수의 스위치 중에서 어느 하나의 스위치의 출력을 입력받아 출력값을 생성하는 다수의 피드포워드 아비터;
상기 다수의 피드포워드 아비터의 출력값과 상기 선형 시프터 레지스터에서 제공되는 의사 난수 수열 중에서 해당 비트 신호를 입력받아 선택 신호에 따라 어느 하나를 신호를 선택값으로 선택하여 상기 다수의 스위치중에서 해당하는 하나 이상의 스위치에 입력값으로 제공하는 다수의 멀티플렉서;
상기 다수의 스위치의 말단에 위치하여 상기 다수의 스위치의 각 스위치의 통로를 거쳐 전달되는 두 개의 통로 중 먼저 도달하는 신호에 따른 출력값을 출력하는 응답 아비터; 및
상기 다수의 멀티플렉서의 각각에 선택 신호를 생성하여 제공하는 선택 신호 생성기를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 1,
The PUF circuit of the device
A linear feedback shifter register for receiving a challenge signal to generate and output a pseudo-random number sequence;
A plurality of internal multiplexers connected in series and changing connection states of the two internal multiplexers included in the internal input according to the input value and a plurality of internal multiplexers each using a corresponding bit of the pseudo random number sequence generated in the linear feedback shifter register switch;
A plurality of feedforward arithmetic units each of which is composed of a flip-flop and which receives an output of one of the plurality of switches and generates an output value;
A selector for selecting one of the plurality of feedforward arbiters and a corresponding one of the plurality of switches according to a selection signal in response to the corresponding bit signal from the output value of the feedforward arbiter and the pseudo-random number sequence provided in the linear shifter register, A plurality of multiplexers for providing an input value to the multiplexer;
A response arbiter located at a terminal of the plurality of switches and outputting an output value according to a signal arriving first among two paths transmitted through the paths of the switches of the plurality of switches; And
And a selection signal generator for generating a selection signal for each of the plurality of multiplexers and providing the selection signal to each of the plurality of multiplexers.
상기 선택 신호 생성기는 등록 단계에서 상기 선형 피드백 시프트 레지스터로부터 출력값인 의사 난수 수열을 선택값으로 출력하도록 상기 다수의 멀티플렉서에 선택 신호를 제공하여 상기 다수의 스위치가 상기 선형 피드백 시프트 레지스터로부터 출력값인 의사 난수 수열을 입력값으로 사용하도록 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 2,
Wherein the selection signal generator provides a selection signal to the plurality of multiplexers to output a pseudo-random number sequence as an output value from the linear feedback shift register in a registering step, and the plurality of switches output pseudo-random numbers A non-physically replicable function system with noise inserted to use a sequence as input.
상기 선택 신호 생성기는 재생성 단계에서 2차 응답 신호를 생성할 때에, 상기 다수의 스위치가 상기 선형 피드백 시프터 레지스터의 의사 난수 수열을 입력받도록 다수의 멀티플렉서에 선택 신호를 제공하다가 2차 응답 신호의 비트열 중에서 의도된 가공 노이즈를 생성할 부분의 비트들을 생성할 때 다수의 멀티플렉서를 통해 상기 피드포워드 아비터의 출력값이 선택값이 되도록 선택 신호를 제공하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 2,
Wherein the selection signal generator provides selection signals to the plurality of multiplexers so that the plurality of switches receive the pseudo-random number sequence of the linear feedback shifter register when the secondary response signal is generated in the regeneration step, Wherein a noise is inserted to provide a selection signal such that an output of the feedforward arbiter is selected through a plurality of multiplexers when generating bits of a portion to be generated in an intended processing noise.
상기 디바이스는 메시지 부분과 리던던시(redundancy) 부분으로 이루어진 2차 응답 신호에서 리던던시 부분에 가공 노이즈를 삽입하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 1,
Wherein the device includes noise inserted to insert processing noise into a redundancy portion in a secondary response signal comprising a message portion and a redundancy portion.
상기 디바이스는
가공 노이즈 패턴과 가공 노이즈가 삽입될 위치에 대한 정보를 제공하는 노이즈 삽입부; 및
챌린지 신호를 수신하여 내츄럴 노이즈가 포함된 1차 응답 신호를 생성하며, 상기 노이즈 삽입부로 제공하고, 상기 노이즈 삽입부에서 가공 노이즈 패턴과 가공 노이즈가 삽입될 위치에 대한 정보를 제공받아 가공 노이즈가 포함된 2차 응답 신호를 생성하여 출력하는 PUF 회로를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 1,
The device
A noise inserting section for providing information on a position where the machining noise pattern and the machining noise are to be inserted; And
And generates a first response signal including a natural noise and provides the first response signal to the noise inserter. The noise inserter receives information on a position at which the machining noise pattern and machining noise are to be inserted in the noise inserter, And a PUF circuit for generating and outputting a quadrature response signal.
상기 인증기는
상기 디바이스에 대한 챌린지 신호와 그에 대응되는 대응 응답 신호를 저장하고 있으며, 저장된 챌린지 신호를 상기 디바이스에 제공하는 챌린지 응답 쌍 저장부;
상기 2차 응답 신호를 입력받아 가공 노이즈 패턴과 가공 노이즈의 삽입 위치 정보를 제공하는 노이즈 위치 분석부;
상기 노이즈 위치 분석부에서 제공하는 가공 노이즈 패턴과 가공 노이즈의 삽입 위치 정보를 이용하여 상기 2차 응답 신호를 입력받아 내츄럴 노이즈를 제거하여 1차 응답 신호를 형성한 후에 가공 노이즈를 제거하여 최종 응답 신호를 생성하는 오류 정정 디코더; 및
상기 챌린지 응답 쌍 저장부에 저장된 대응 응답 신호와 상기 오류 정정 디코더에서 출력되는 최종 응답 신호를 비교하여 인증을 수행하는 비교부를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method according to claim 1,
The authenticator
A challenge response pair storage for storing a challenge signal for the device and a corresponding response signal corresponding thereto, the challenge response pair storing device providing a stored challenge signal to the device;
A noise position analyzer receiving the secondary response signal and providing insertion noise information of the processing noise pattern and processing noise;
The second noise removing unit may receive the second response signal using the processed noise pattern and insertion position information of the processing noise provided by the noise position analyzing unit to remove the natural noise to form a first response signal, An error correction decoder for generating an error correction code; And
And a comparison unit comparing the corresponding response signal stored in the challenge response storage unit and the final response signal output from the error correction decoder to perform authentication.
상기 오류 정정 디코더는
준주기 LDPC(Quasi-Cyclic LDPC) 코드를 바탕으로 하고 있으며 블록 단위로 구성된 패리티-체크 행렬을 이용하는 저밀도 패리티 체크 코드 디코더인 노이즈가 삽입된 물리적 복제 불가 함수 시스템.The method of claim 7,
The error correction decoder
A non-physically replicable function system with embedded noise, which is a low-density parity-check code decoder based on quasi-cyclic LDPC (Quasi-Cyclic LDPC) codes and which uses block-by-block parity-check matrices.
상기 패리티-체크 행렬에서 리던던시(redundancy)에 해당하는 부분은 총 세 부분으로 나누어져 있으며 각각의 패리티-체크 행렬 부분은 다른 부분에 영향을 미치지 않게 구성되어 있어 세 부분의 영역이 각각 독립적인 복호가 가능하여 세 부분 중 임의의 리던던시(redundancy) 부분이 제외된 상태에서 오류정정이 가능하도록 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템. The method of claim 8,
The part corresponding to the redundancy in the parity-check matrix is divided into a total of three parts, and each parity-check matrix part is constructed so as not to affect the other part, A non-physically replicable function system with noise inserted to enable error correction in the state where any redundancy part of three parts is excluded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170064845A KR101974465B1 (en) | 2017-05-25 | 2017-05-25 | Noise coupled physical unclonable functions system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170064845A KR101974465B1 (en) | 2017-05-25 | 2017-05-25 | Noise coupled physical unclonable functions system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180129193A true KR20180129193A (en) | 2018-12-05 |
KR101974465B1 KR101974465B1 (en) | 2019-08-23 |
Family
ID=64743605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170064845A KR101974465B1 (en) | 2017-05-25 | 2017-05-25 | Noise coupled physical unclonable functions system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101974465B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102421914B1 (en) * | 2021-09-03 | 2022-07-20 | (주)이레에너지테크 | Integrated building management system with enhanced data transmission security |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210097537A (en) | 2020-01-30 | 2021-08-09 | 삼성전자주식회사 | Security device generating masking data based on physically unclonable function and operating method of the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150064148A (en) * | 2012-10-04 | 2015-06-10 | 인트린직 아이디 비브이 | System for generating a cryptographic key from a memory used as a physically unclonable function |
WO2016058793A1 (en) * | 2014-10-13 | 2016-04-21 | Intrinsic Id B.V. | Cryptographic device comprising a physical unclonable function |
-
2017
- 2017-05-25 KR KR1020170064845A patent/KR101974465B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150064148A (en) * | 2012-10-04 | 2015-06-10 | 인트린직 아이디 비브이 | System for generating a cryptographic key from a memory used as a physically unclonable function |
WO2016058793A1 (en) * | 2014-10-13 | 2016-04-21 | Intrinsic Id B.V. | Cryptographic device comprising a physical unclonable function |
Non-Patent Citations (21)
Title |
---|
[1] B. Gassend, D. Clarke, M. van Dijk, and S. Devadas, "Silicon physical random functions," in Proc. Computer Communication Security Conference, pp. 148-160, Nov. 2002. |
[10] U. R, F. Sehnke, Jan S, G. Dror, S. Devadas, and J. Schmidhuber, "Modeling attacks on physical unclonable functions," in ACM conference on Computer and communications security (CCS), pp. 237-249, 2010. |
[11] U. Ruhrmair and J. Solter, "PUF Modeling Attacks: An Introduction and Overview," Design, Automation and Test in Europe Conference and Exhibition, pp. 1-6, 2014. |
[12] Y. Dodis, M. Reyzin, and A. Smith, "Fuzzy extractors: How to generate strong keys from biometrics and other noisy data," in Advances in Cryptology (EUROCRYPT), vol. 3027 of LNCS, pp. 523-540, 2004. |
[13] J. Delvaux, D. Gu, D. Schellekens, and I. Verbauwhede, "Helper data algorithms for PUF-based key generation: Overview and analysis," IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 34, no. 6, pp. 889-902, Jun. 2015. |
[14] A. Van Herrewege et al., "Reverse fuzzy extractors: Enabling lightweight mutual authentication for PUF-enabled RFIDs," in Financial Cryptography and Data Security (LNCS 7397), pp. 374-389, Feb. 2012. |
[15] B. Gassend, D. Clarke, M. van Dijk, and S. Devadas, "Controlled physical random functions," in Computer Security Applications Conference, 2002. Proceedings. 18th Annual, pp. 149160, 2002. |
[16] S. Katzenbeisser, Kocabas, V. van der Leest, A.-R. Sadeghi, G. J. Schrijen, C. Wachsmann, "Recyclable PUFs: Logically Reconfigurable PUFs," Journal of Cryptographic Engineering, vol. 1, no. 3, pp. 177-186, Nov. 2011. |
[17] R. G. Gallager, "Low-density parity-check codes," IRE Trans. Inform. Theory, vol. IT-8, pp. 21-28, Jan. 1968. |
[18] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello, Jr., "LDPC block and convolutional codes based on circulant matrices," IEEE Trans. Inf. Theory, vol. 50, no. 12, pp. 29662984, Dec. 2004. |
[19] M. P. C. Fossorier, M. Mihaljevic, and H. Imai, "Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol. 47, no. 5, pp. 673680, May 1999. |
[2] C. Brzuska, M. Fischlin, H. Schr, and S. Katzenbeisser, "Physical unclonable functions in the universal composition framework," in Proc. CRYPTO, pp. 5170, 2011. |
[20] S. Morozov, A. Maiti, and P. Schaumont, "An analysis of delay based PUF implementations on FPGA," in Reconfigurable Computing: Architectures, Tools and Applications, P. Sirisuk, F. Morgan, T. El-Ghazawi, and H. Amano, Eds., vol. 5992, pp. 382-387, 2010. |
[21] Helion Technology, "Fast Hash Core Family for Altera FPGA. Data Sheet," pp. 1-3, 2012. |
[3] G. E. Suh and S. Devadas, "Physical unclonable functions for device authentication and secret key generation," Design Automation Conference, pp. 9-14, 2007. |
[4] K-H. Lee, S-Y. Kim, K. Cho, and Y. You, "Implementation of Physical Unclonable Function(PUF) using Transmission Line Crosstalks," Journal of The Institute of Electronics Engineers of Korea, vol. 50, no. 5, pp. 75-82, May 2013. |
[5] J. Lee and D. Kim, "Offline User Authentication Method of Smart Card using PUF," 2011 IEIE Summer Conference, pp. 1600-1602, Jun. 2011. |
[6] U. Ruhrmair, D. E. Holcomb, "PUFs at a Glance," Design, Automation and Test in Europe Conference and Exhibition (DATE), pp. 1-6, 2014. |
[7] S Tajik, E Dietz, S Frohmann, J-P Seifert, D Nedospasov, C Helfmeier, C Boit, and H Dittrich, "Physical Characterization of Arbiter PUFs," CHES, pp. 493-509, 2014. |
[8] D. Lim, J. W. Lee, B. Gassend, G. E. Suh, M. van Dijk, and S. Devadas, "Extracting secret keys from integrated circuits," IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 13 no. 10, pp. 1200-1205, Oct. 2005. |
[9] J.-W. Lee, D. Lim, B. Gassend, G. E. Suh, M. van Dijk, and S. Devadas, "A technique to build a secret key in integrated circuits with identification and authentication applications," In Proceedings of the IEEE VLSI Circuits Symposium, Jun. 2004. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102421914B1 (en) * | 2021-09-03 | 2022-07-20 | (주)이레에너지테크 | Integrated building management system with enhanced data transmission security |
Also Published As
Publication number | Publication date |
---|---|
KR101974465B1 (en) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sahoo et al. | A multiplexer-based arbiter PUF composition with enhanced reliability and security | |
US8468186B2 (en) | Combination of values from a pseudo-random source | |
Bösch et al. | Efficient helper data key extractor on FPGAs | |
Maes et al. | Low-overhead implementation of a soft decision helper data algorithm for SRAM PUFs | |
Yu et al. | Secure and robust error correction for physical unclonable functions | |
CN105723651B (en) | Verifiable device | |
Majzoobi et al. | Lightweight secure pufs | |
US6954770B1 (en) | Random number generator | |
Megha Mukundan et al. | Hash‐One: a lightweight cryptographic hash function | |
CN109614790B (en) | Lightweight authentication equipment and authentication method based on feedback loop PUF | |
Golić et al. | Linear cryptanalysis of Bluetooth stream cipher | |
JP2019201418A (en) | Apparatus and method for generating random digital value | |
KR102198499B1 (en) | Apparatus and method for processing digital value | |
KR101653121B1 (en) | Integrated security device and signal processing method used by integrated security device | |
Wang et al. | Lattice PUF: A strong physical unclonable function provably secure against machine learning attacks | |
Hemavathy et al. | Arbiter puf—a review of design, composition, and security aspects | |
JP5165755B2 (en) | Cryptographic random number generator using finite field operations | |
CN112019347B (en) | Lightweight security authentication method based on XOR-APUF | |
Wen et al. | Enhancing PUF reliability by machine learning | |
Wu et al. | Flam-puf: A response–feedback-based lightweight anti-machine-learning-attack puf | |
Sauer et al. | Sensitized path PUF: A lightweight embedded physical unclonable function | |
Suzuki et al. | Efficient fuzzy extractors based on ternary debiasing method for biased physically unclonable functions | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
KR101974465B1 (en) | Noise coupled physical unclonable functions system | |
AVAROĞLU et al. | A novel S-box-based postprocessing method for true random number generation |
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 |