KR101974465B1 - 노이즈가 삽입된 물리적 복제 불가 함수 시스템 - Google Patents

노이즈가 삽입된 물리적 복제 불가 함수 시스템 Download PDF

Info

Publication number
KR101974465B1
KR101974465B1 KR1020170064845A KR20170064845A KR101974465B1 KR 101974465 B1 KR101974465 B1 KR 101974465B1 KR 1020170064845 A KR1020170064845 A KR 1020170064845A KR 20170064845 A KR20170064845 A KR 20170064845A KR 101974465 B1 KR101974465 B1 KR 101974465B1
Authority
KR
South Korea
Prior art keywords
noise
signal
response signal
puf
output
Prior art date
Application number
KR1020170064845A
Other languages
English (en)
Other versions
KR20180129193A (ko
Inventor
이현빈
강태근
Original Assignee
한밭대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한밭대학교 산학협력단 filed Critical 한밭대학교 산학협력단
Priority to KR1020170064845A priority Critical patent/KR101974465B1/ko
Publication of KR20180129193A publication Critical patent/KR20180129193A/ko
Application granted granted Critical
Publication of KR101974465B1 publication Critical patent/KR101974465B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/80Recognising 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

본 발명은 물리적 복제 불가 함수의 출력에 의도적으로 가공 노이즈를 삽입하여 챌린지(challenge)/응답(response) 분석 난이도를 높이도록 한 노이즈가 삽입된 물리적 복제 불가 함수 시스템에 관한 것이다.
또한, 본 발명은 PUF 회로와 노이즈 삽입부를 포함하여 챌린지 신호를 수신하면 가공 노이즈가 포함된 2차 응답 신호를 생성하여 출력하는 디바이스; 상기 디바이스의 상기 PUF 회로에 대한 챌린지 신호와 그에 대응되는 대응 응답 신호에 따른 헬퍼 데이터를 저장하고 있는 헬퍼 데이터 저장부; 및 상기 디바이스에서 2차 응답 신호를 전송받아 가공 노이즈를 제거하여 최종 응답 신호를 생성하여 인증을 수행하는 인증기를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템를 제공한다.

Description

노이즈가 삽입된 물리적 복제 불가 함수 시스템{Noise coupled physical unclonable functions system}
본 발명은 물리적 복제 불가 함수의 출력에 의도적으로 가공 노이즈를 삽입하여 챌린지(challenge)/응답(response) 분석 난이도를 높이도록 한 노이즈가 삽입된 물리적 복제 불가 함수 시스템에 관한 것이다.
디바이스의 인증 또는 식별을 위한 기술로써 물리적 복제 불가 함수(Physical Unclonable Functions: PUFs)가 주목받고 있다[1-5]. 디바이스 제조 공정상 발생하는 미세한 차이로 인해 각 디바이스가 고유한 특성을 갖게 되어 PUF 회로의 출력이 디바이스마다 다르게 생성될 수 있다.
그림 1과 같이 디바이스마다 고유한 PUF의 출력을 끌어내기 위해 어떤 입력을 인가하는 데, 이때 입력 값을 챌린지(challenge:CH)라 하고 출력을 응답(response: RP)이라고 한다.
PUF가 내장된 디바이스들의 출하 시 각 디바이스의 PUF에 대한 CH와 RP 쌍들(challenge and response pairs, CRPs)을 생성하고 이를 서버에 저장하는 등록단계를 거친다. 이 후, 서버에 저장된 CRP 중 하나를 선택하고 CH를 해당 디바이스의 PUF에 입력하면서 출력되는 RP가 인증기로 전송된 후 서버에 저장된 RP와 비교하는 과정을 통해 해당 디바이스의 인증을 수행하며 이를 보통 재생성 단계라 한다.
PUF의 종류는 크게 약한-PUF(weak-PUF)와 강한-PUF(strong-PUF)로 나눌 수 있다[6]. 약한-PUF와 강한-PUF의 가장 큰 차이는 인증을 위해 사용되는 CRP의 양이다. 약한-PUF의 경우에는 하나 또는 소수의 CRP들을 사용하며 외부로 노출되면 안 되는 보안 데이터를 생성하는 데 사용된다. 강한-PUF는 많은 CRP를 저장하고 있으며 각 CRP가 디바이스의 인증 또는 식별하는 데 직접적으로 사용된다. 강한-PUF를 이용한 인증에서 사용되는 CRP들은 일반적으로 외부로 공개된다. 따라서 각 디바이스에 대하여 많은 CRP들을 가지고 있어야 하며 인증을 위해 사용된 CRP는 외부에 노출되었으므로 다시 사용되지 않는다.
PUF의 장점은 회로의 미세한 변이까지 완벽하게 동일한 PUF 회로를 제작하는 것이 사실상 불가능하다는 점과 노출된 CRP들을 이용하여 아직 인증에 사용되지 않은 CRP들을 예측하는 것이 어렵다는 것이다.
그러나 최근에는 기계학습과 같이 많은 데이터들을 바탕으로 분석하는 기술이 발전하면서 노출된 CRP들을 수집하여 해당 PUF의 특성을 모델링하는 공격이 가능해지고 있다[10, 11].
인증 대상이 되는 디바이스와 인증기 사이에서 인증을 위한 CH와 RP를 주고받는 과정에서 CRP들의 직/간접적인 노출은 피할 수 없다.
[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. [2] C. Brzuska, M. Fischlin, H. Schr, and S. Katzenbeisser, "Physical unclonable functions in the universal composition framework," in Proc. CRYPTO, pp. 5170, 2011. [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. [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. [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.
본 발명은 상기와 같은 문제점을 해결하기 위하여 다수의 CRP들을 사용하고 신호 전파의 지연을 이용하는 아비터-PUF(arbiter-PUF)를 대상으로 외부에 노출되는 CRP들 중 RP 비트열에 가공 노이즈를 삽입하여 모델링 공격의 데이터 분석을 어렵게 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템을 제공하는 데 있다.
본 발명은 다수의 CRP들을 사용하고 신호 전파의 지연을 이용하는 대표적인 PUF인 아비터-PUF(arbiter-PUF)를 대상으로 외부에 노출되는 CRP들 중 2차 응답 신호(RP") 비트열에 가공 노이즈를 삽입하여 모델링 공격의 데이터 분석을 어렵게 하는 방법을 제시한다.
또한, 본 발명은 아비터-PUF(arbiter-PUF)의 고유의 특성을 이용하여 PUF에서 출력된 2차 응답 신호(RP")가 외부로 노출되기 전에 의도적으로 가공 노이즈를 삽입하는 아비터-PUF(arbiter-PUF) 회로 구조를 소개한다.
그리고 본 발명은 PUF의 출력의 안정화를 위하여 오류 정정 코드(Error Correction Codes : ECC)를 이용하는 데 최근 높은 오류정정률로 주목받고 있는 저 밀도 패리티 체크 코드(Low-Density Parity-Check(LDPC) Codes)의 특별한 구조를 적용하여 삽입된 가공 노이즈를 제외하여 최종 응답 신호(FRP)를 형성하여 이를 최종적으로 인증에 사용하는 인증 시스템 구조를 소개한다.
제시하는 인증 시스템 구조에서는 다수의 디바이스와 소수의 인증기로 구성되는 시스템에서 디바이스 부분의 하드웨어 오버헤드를 줄일 수 있다.
본 발명에서는 PUF를 이용하여 디바이스의 인증을 수행하는 시스템에서 노출되는 응답 신호(RP)에 고의적으로 가공 노이즈를 추가로 삽입하여 외부의 공격자가 CRP들의 분석을 더욱 어렵게 만든다.
또한, 본 발명에서는 아비터-PUF(Arbiter-PUF)와 FF 아비터-PUF(FF arbiter-PUF)를 혼합하고 무작위 값을 별도로 생성하여 인증에 사용되는 2차 응답 신호(RP")와 노출되는 대응 응답 신호(RP)의 차이를 증가시킴으로써 아직 사용되지 않은 CRP들의 예측을 어렵게 만든다.
또한, 본 발명에서는 LDPC 디코더에서 독립적으로 복호되는 리던던시(redundancy) 크기를 늘이거나 영역의 수를 늘여서 노이즈의 양을 증가시켜 분석의 난이도를 더욱 높일 수 있다.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조에서 FF 아비터(FF arbiter)의 개수와 이 값들을 입력으로 받는 스위치들의 개수를 증가시키면 더욱 다양한 무작위 노이즈 패턴을 생성할 수 있다.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조와 이를 활용한 인증 시스템 구조는 CRP들의 분석을 어렵게 만들 뿐만 아니라 소수의 인증기와 다수의 디바이스로 구성되는 인증 시스템에서 디바이스 부분에 별도의 보안 모듈을 사용하지 않고 ECC 디코더 모듈을 디바이스 대신 인증기에 배치하며 의도된 노이즈를 삽입하는 기능이 아비터-PUF(arbiter-PUF)를 자체적으로 활용하는 구조이기 때문에 하드웨어 오버헤드를 줄일 수 있다.
도 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. 아비터-PUF(Arbiter-PUF)
도 2는 본 발명에 이용되는 아비터 PUF의 구조도이다.
아비터 PUF(Arbiter-PUF)는 일반적으로 다수의 챌린지/응답 쌍(challenge/response pairs : CRPs)를 사용하는 강한-PUF(strong-PUF)이며 신호 전달 지연차를 이용하는 지연 기반 PUF이다[7, 8].
도 2에 도시된 바와 같이, 두 개의 멀티플렉서로 이뤄진 스위치(S1~Sn)를 여러 개 연결하고 각 스위치(S1~Sn)는 입력 값에 따라 연결 상태를 바꾼다. 가장 처음의 스위치(S1)에 전기적 신호를 주고 각 스위치의 통로를 거쳐 스위치들(S1~Sn)의 끝에 위치한 아비터(arbiter)(A)라고 부르는 플리플롭에 전달되는 데 두 개의 통로 중 먼저 도달하는 신호에 따라서 '1' 또는 '0'의 값이 결정된다. 여기서 스위치(S1~Sn)의 입력이 CH가 되고 아비터(arbiter)(A)에서 출력되는 데이터는 응답 신호(RP)가 된다. 입력되는 CH의 패턴을 바꾸면서 반복적으로 입력하여 응답 신호(RP) 비트열을 얻는다.
도 3은 본 발명에 이용되는 피드포워드 아비터-PUF(Feed-Foward(FF) arbiter-PUF)를 나타낸다[9].
소수 스위치(여기에서 Sn)의 입력을 CH 대신 이전 스위치들(S1)까지의 피드포워드 아비터(FFA) 출력 결과를 이용하는 것이다. 노출되는 CH와 RP간의 직접적인 상관관계를 줄이기 위한 구조이다.
특정 스위치의 입력이 내부 회로의 특성에 의해 결정되기 때문에 PUF의 특성 분석이 더 어려워진다. 본 발명에서 제시하는 아비터-PUF(arbiter-PUF) 구조에서는 위에 소개된 두 가지 아비터(arbiter)가 혼합된 형태로 등록 단계에서 기존의 아비터-PUF(arbiter-PUF)를 이용하여 CRP들을 생성하고 이 후, 재생성 단계에서 선택된 CH에 대한 RP를 생성할 때 피드포워드 아비터-PUF(FF arbiter-PUF)를 활용하여 의도된 가공 노이즈를 생성하여 RP에 삽입한 뒤에 이를 인증기로 전송한다.
2. PUF의 모델링 공격
다수의 CRP들을 사용하는 PUF 인증 구조의 장점은 특정 PUF 회로의 복제가 어렵다는 것이다. PUF는 의도된 회로 구조가 아닌 회로를 구성하고 있는 각 요소들의 공정에서 발생하는 미세한 변이를 이용하는 것이기 때문에 특정 변이를 포함하고 있는 회로를 그대로 재구성하거나 입력에 대한 출력을 예측하는 것은 매우 어렵다.
그러나 최근에는 다수의 CRP를 이용하는 PUF 인증 구조에서 외부로 노출되는 CRP들을 수집하고 특정 PUF의 특성을 분석하여 아직 사용되지 않은 CRP들을 예측하는 모델링 공격이 가능해지고 있다.
[10]에서는 기계 학습을 바탕으로 강한-PUF(strong-PUF)에서 노출되는 CRP들을 분석하여 모델링 공격하는 내용을 다루고 있다.
일반적인 아비터-PUF(arbiter-PUF), 피드포워드 아비터-PUF(FF arbiter-PUF), 보안적인 요소가 추가된 아비터-PUF(arbiter-PUF)를 대상으로 실험한 결과에서는 어느 정도 이상의 CRP들과 트레이닝 시간이 주어지면 PUF의 출력에 대한 예측률이 높았다. 즉, 노출된 CRP들을 수집하고 트레이닝을 할 시간이 주어지면 아직 사용되지 않은 CRP들을 예측할 수 있다는 것이며 PUF의 미세한 변이들을 모델링할 수 있다는 것이다.
위의 연구에서 하나 더 주목해야 할 부분은 노이즈의 정도에 따른 PUF 출력의 예측률이다. 노이즈의 정도가 올라갈수록 PUF 출력 즉, RP에 오류가 많이 발생하는 것을 의미하며 실험 결과에서는 RP에 오류가 많이 포함될수록 그 예측률이 감소하는 것을 보였다. 다시 말하자면 실제 인증에 사용되는 RP와 외부로 노출되는 즉, 공격자가 수집하는 RP와의 차이가 많이 날수록 예측률이 떨어지는 것이다. 본 발명에서 제시하는 구조에서는 외부로 노출되는 RP에 의도된 가공 노이즈를 발생시켜 CRP들을 통한 분석을 어렵게 하는 구조이다.
3. RP를 안정시키기 위한 ECC
PUF는 회로의 미세한 변이를 이용하기 때문에 온도나 전압 같은 환경 변수에 의해 같은 CH를 반복해서 입력하더라도 출력되는 RP가 일정하지 않을 수 있다. 즉, 등록 단계에서의 RP와 재생성 단계에서의 RP에 차이가 있을 수 있으며 이를 보통 칩 내부 변이(intra-chip variation)라 한다. PUF를 이용한 인증 시스템에서는 이 칩 내부 변이(intra-chip variation)를 0%로 만드는 것이 이상적이지만 PUF의 고유한 변이는 미세하며 환경 요소에 의해서 자연스럽게 발생하는 노이즈를 억제하기 어렵다. 따라서 PUF의 RP를 특정 기대 값(등록 단계에서의 RP)으로 수렴시키기 위해 노이즈 제거 과정 즉, RP의 안정화 과정이 필요하다.
[12]에서는 노이즈가 포함된 생체 정보 데이터를 인증에 사용하기 위한 기능으로써 퍼지 추출기(fuzzy extractor)라는 개념을 제시하였고 이 기능을 도 4와 같이 PUF의 출력 안정화에 사용할 수 있다. 퍼지 추출기(Fuzzy extractor)는 기본적으로 오류 정정 코드(ECC: Error Correction Codes)를 바탕으로 한다[12, 13]. ECC는 인코더(10)와 디코더(20)로 구분되는 데, 인코더(10)는 실제 데이터인 메시지(message)로부터 리던던시(redundancy)를 생성하여 코드워드를 만드는 역할을 하고 디코더(20)는 이 코드워드(codewords :코드워드)를 복호화하는 역할을 하는 데 오류가 포함되어있을 경우 그 오류를 정정한다.
PUF(1)에서는 ECC 기능과 관련하여 RP에 포함된 오류를 정정하기 위해 생성되는 리던던시(redundancy) 또는 리던던시(redundancy)를 포함한 코드워드 데이터를 헬퍼 데이터(Helper Data: HD)라고 한다. 디바이스의 등록 단계에서는 생성된 CRP와 함께 HD를생성하여 별도의 저장소에 저장한다. 재생성 단계에서는 선택된 CRP에 관련된 HD를 이용하여 RP를 안정화한다.
본 발명에서 제시하는 CRP의 분석을 어렵게 하는 방법은 디바이스의 PUF(1)에서 출력된 자연적인 노이즈를 포함하고 있는 RP에 의도된 가공 노이즈를 추가로 삽입하는 것이다. 인증기에서 디바이스로 CH를 전송할 때, 그리고 디바이스의 PUF(1)에서 출력된 RP를 인증기로 전송할 때 한 쌍의 CH와 RP 즉, CRP가 노출된다. 이때 인증기로 전송되면서 노출되는 RP에 가공 노이즈 다시 말하자면 무작위 값을 부분적으로 삽입하여 실제 인증에 사용되는 RP와의 차이를 만드는 것이다. 그러나 ECC 디코더(20)를 이용하여 제거할 수 있는 노이즈는 제한이 있다. 따라서 제시하는 구조에서 ECC 디코더(20)는 의도된 가공 노이즈는 제외한 상태에서 RP를 복호화하며 환경 변수에 의해 생성되는 자연적인 노이즈만을 제거하는 데 사용된다. 의도된 가공 노이즈는 디바이스 부분의 PUF(1) 자체를 활용하여 생성하는 데 그 위치와 값은 무작위이다. 따라서 의도된 가공 노이즈를 제외한 상태에서 RP를 복구하기 위해서는 기존과는 다른 ECC 구조가 필요하다. 제안하는 인증 구조에서는 코드워드 중 부분적인 리던던시(redundancy)만을 활용하여 데이터를 복구할 수 있는 특별한 구조의 LDPC 코드를 이용하여 의도된 노이즈는 복호 과정에서 제외하면서 자연적인 노이즈를 제거할 수 있다.
4. 전체적인 인증 구조
도 5는 PUF를 이용하여 디바이스를 인증하는 기존의 일반적인 시스템 구조라고 할 수 있다.
시스템 구조는 크게 디바이스(50)와 인증기(60) 부분으로 나눌 수 있다. 인증기(60)에서는 디바이스들의 등록 단계에서 생성된 CRP들을 가지고 있으며 디바이스가 인증 요청을 하면 해당 디바이스(50)의 CRP들 중 하나를 선택하여 CH를 디바이스로 전송한다.
디바이스(50)는 PUF로부터 전송받은 CH를 이용하여 자연적인 노이즈가 포함되어 있을 수 있는 RP'를 생성한다. 디바이스(50)는 ECC 모듈을 이용하여 RP'를 RP로 안정화하여 인증기(60)로 전송한다. 인증기(60)는 디바이스(50)로부터 받은 RP와 선택된 CRP의 RP를 비교하여 인증 여부를 완료한다. 시스템에 따라서 노출되는 CRP를 보호하기 위하여 해시(Hash) 함수와 같은 보안 모듈을 사용할 수 있다[15, 16].
도 6은 본 발명의 바람직한 일 실시예에 따른 노이즈가 삽입된 물리적 복제 불가 함수 시스템의 구성도이다.
도 6을 참조하면, 본 발명의 바람직한 일 실시예에 따른 가공 노이즈가 삽입된 물리적 복제 불가 함수 시스템은 디바이스(100), 인증기(200) 및 헬퍼 데이터 저장부(300)를 구비하고 있다.
상기 디바이스(100)는 PUF 회로(110)와 노이즈 삽입부(120)을 포함하고 있으며, 인증기(200)는 챌린지 응답 쌍 저장부(210), 오류 정정 디코더(220), 비교부(230) 및 노이즈 위치 분석부(240)를 포함한다.
여기에서, 챌린지 응답 쌍 저장부(210)는 각각의 디바이스(100)에 대한 챌린지 신호(CH)와 그에 대응되는 대응 응답 신호(RP)를 저장하고 있다.
상기 대응 응답 신호(RP)는 등록 단계(디바이스 출하 전)에서 챌린지 신호(CH)를 PUF 회로(110)에 입력하여 출력으로 얻고 인증기(200)의 챌린지 응답 쌍 저장부(210)에 저장되는, 최종적으로 인증 여부를 결정하는 데 사용되는 데이터이다.
이와 같은 대응 응답 신호(RP)는 재생성 단계(디바이스 출하 후)에서 노출되지 않으며(노출되면 안되며), 재생성 단계에서 디바이스(100)로부터 전송받은 의도된 가공 노이즈가 삽입된 2차 응답 신호(RP'')의 가공 노이즈가 오류 정정 디코더(220)을 통해 제거되어 만들어진 최종 응답 신호(FRP)와 최종적으로 비교된다.
그리고, 헬퍼 데이터 저장부(300)는 각각의 디바이스(100)에 대한 챌린지 신호(CH)와 그에 대응되는 대응 응답 신호(RP)에 따른 헬퍼 데이터(HD)를 저장하고 있다. 이러한 헬퍼 데이터 저장부(300)는 디바이스(100) 측에 있으며, 인증기(200) 측에 있을 수도 있다.
각 CRP에 대응하는 HD의 길이는 해당 LDPC 코드의 코드워드 길이와 같다. HD는 등록단계에서 무작위로 선정된 메시지의 부호 과정을 통해 얻은 코드워드와 해당 RP와의 XOR 연산을 통하여 생성되고 저장된다.
이후 재생성 단계에서 디바이스로부터 전송받은 RP"와 HD의 XOR 연산을 통하여 등록 단계에서 생성된 무작위 코드워드를 얻고 이 코드워드를 복호하여 오류를 보정한다. 보정된 코드워드와 HD의 XOR 연산으로 노이즈가 제거된 RP를 생성한다.
이와 같은 구성에서 먼저 상기 인증기(200)의 챌린지 응답 쌍 저장부(210)는 상기 디바이스(100)에 해당하는 챌린지 신호를 디바이스(100)로 전송한다.
이에 따라 상기 디바이스(100)의 PUF 회로(110)는 인증기(200)로부터 챌린지 신호(CH)를 전송받고 1차 응답 신호(RP')를 생성한다.
이때, 상기 디바이스(100)의 PUF 회로(110)가 생성하는 1차 응답 신호(RP )에는 자연적인 내츄럴 노이즈(natural noise)가 포함되어 있다.
이와 같은 1차 응답 신호(RP')는 노이즈 삽입부(120)에 전송되며 노이즈 삽입부(120)는 1차 응답 신호(RP')에 포함된 자연적인 내츄럴 노이즈를 활용하여 의도된 가공 노이즈의 패턴과 삽입될 위치에 대한 정보를 생성하여 PUF 회로(110)로 전송한다.
이때, 상기 디바이스(100)의 PUF 회로(110)는 자연적인 내츄럴 노이즈(natural noise)에 더해서 의도된 가공 노이즈(intended noise)를 삽입하여 2차 응답 신호(RP") 신호를 생성하여 생성된 2차 응답 신호(RP")를 인증기(200)로 전송한다.
여기에서, 2차 응답 신호(RP'')는 PUF 회로(110)에서 출력된 의도된 가공 노이즈가 삽입된 응답 신호이며 인증기(200)로 전송되는 데이터이다. 최종적으로 RP''에는 의도된 가공 노이즈와 자연적인 내츄럴 노이즈가 포함되어 있다.
이때, 2차 응답 신호(RP")는 안정화되지 않은 상태에서 인증기(200)로 전송되고 인증기(200)에서는 오류 정정 디코더(220)를 이용하여 자연적인 내츄럴 노이즈와 의도된 가공 노이즈를 제거하여 최종 응답 신호(FRP)를 생성한다.
이때, 노이즈 위치 분석부(240)는 2차 응답 신호(RP”)에서 노이즈 삽입 위치와 가공 노이즈 패턴을 분석하여 오류 정정 디코더(220)에 제공한다.
이때, 오류 정정 디코더(220)는 헬퍼 데이터(HD)를 헬퍼 데이터 저장부(300)로부터 얻게 된다.
그리고, 비교부(230)는 최종 응답 신호(FRP)로 디바이스(100)의 인증 여부를 최종적으로 결정한다. 즉, 비교부(230)는 챌린지 응답 쌍 저장부(210)에서 디바이스(100)로 전송한 챌린지 신호에 대응되는 대응 응답 신호(RP)를 전송받아 오류 정정 디코더(220)에서 출력되는 최종 응답 신호(FRP)와 비교하여 인증 여부를 결정한다.
여기에서, 가공 노이즈를 삽입하고 분석하는 방법은 제조사마다의 고유의 방식을 운용할 수 있으며, 응답신호를 디바이스에서 인증기로 전송하기 전에 노이즈 삽입부(120)와 노이즈 위치 분석부(240)에 의도된 가공 노이즈가 삽입된 위치에 대한 정보를 사전에 정해져 있어 노출되는 2차 응답 신호(RP'')로는 의도된 가공 노이즈 위치를 분석하기 어렵다.
이와 같은 본 발명이 기존의 구조와 크게 다른 점은 디바이스(100)에서 인증기(200)로 전송되는 2차 응답 신호(RP")에 자연적인 내츄럴 노이즈와 의도된 가공 노이즈가 삽입되어 노출되어 CRP에 대한 분석을 어렵게 한다는 점이다.
본 발명에서는 별도의 보안 모듈을 쓰지 않는다. 의도된 가공 노이즈를 삽입하는 방법은 PUF 회로(110)를 자체적으로 활용하기 때문에 이에 따라 추가되는 하드웨어 오버헤드가 크지 않다. 그리고 2차 응답 신호(RP")를 안정화하는 오류 정정 디코더(220)가 인증기(200) 부분에 배치되어 디바이스(100)의 하드웨어적인 요소를 경량화할 수 있다[14].
도 7은 도 6의 PUF 회로의 일실시예를 나타내는 도면이다.
도 7을 참조하면, 도 6의 PUF 회로는 다수의 스위치(S1~Sn), 다수의 피드포워드 아비터(FFA1~FFAm), 다수의 멀티플렉서(MUX1~MUXk), 선형 피드백 시프터 레지스터(LSPR), 선택 신호 생성기(SEL) 및 응답 아비터(RPA)를 포함하고 있다.
상기 다수의 스위치(S1~Sn)는 직렬로 연결되어 있으며, 각각은 두 개의 멀티플렉서로 이루어져 있으며, 입력 값에 따라 연결 상태를 바꾼다. 여기에서 n은 임의의 자연수이며, 도 7에서는 16인 경우를 도시하고 있다.
그리고, 다수의 피드포워드 아비터(FFA1~FFAm)의 각각은 플리플롭으로 이루어져 있으며, 다수의 스위치(S1~Sn)중에서 어느 하나의 스위치(S1~Sn)의 출력을 입력받아 해당하는 스위치(S1~Sn)중에서 먼저 출력되는 신호에 따라서 '1' 또는 '0'의 출력값이 결정된다. 여기에서, m은 임의의 자연수로 n보다 작으며, 도 7에서는 3인 경우를 도시하고 있다.
이와 같은 다수의 피드포워드 아비터(FFA1~FFAm)의 출력은 다수의 멀티플렉서(MUX1~MUXk)의 입력으로 사용된다. 여기에서, k는 임의의 자연수이며 n보다 작으며, 도 7에서는 3인 경우를 도시하고 있다.
이때 다수의 피드포워드 아비터(FFA1~FFAm)의 모든 출력이 다수의 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용되도록 할 수 있다.
이와 달리 몇 개의 피드포워드 아비터(FFA1~FFAm)의 출력을 다수의 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용되도록 할 수 있다.
물론, 다수의 피드포워드 아비터(FFA1~FFAm)의 각각에 대하여 하나의 대응되는 멀티플렉서(MUX1~MUXk)를 정하여 대응되는 피드포워드 아비터(FFA1~FFAm)의 출력을 입력으로 사용하도록 할 수 있다.
한편, 선형 피드백 시프터 레지스터(LSPR)는 인증기(200)에서 전송된 챌린지 신호(CH)를 입력받아 n 비트의 의사 난수 수열을 생성하며, 도 7에서는 16비트의 의사 난수 수열을 생성하는 것을 도시하고 있다.
이와 같은 선형 피드백 시프터 레지스터(LFSR)는 시프트 레지스터의 일종으로, 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조를 가지고 있다. 이때 사용되는 선형 함수는 주로 배타적 논리합(XOR)이다. LFSR의 초기 비트 값은 시드(seed)라고 부른다.
LFSR의 동작은 결정론적이기 때문에, LFSR로 생성되는 값의 의사 난수 수열은 그 이전 값에 의해 결정된다. 또한, 레지스터가 가질 수 있는 값의 갯수는 유한하기 때문에, 이 의사 난수 수열은 특정한 주기에 의해 반복된다. 하지만 선형 함수를 잘 선택한다면 주기가 길고 무작위적으로 보이는 의사 난수 수열을 생성할 수 있다.
이와 같이 선형 피드백 시프터 레지스터(LSPR)의 n 비트의 의사 난수 수열은 다수의 스위치(S1~Sn)에서 n-k 직접 입력되며, 나머지 k개는 멀티플렉서(MUX1~MUXk)의 각각에 입력으로 사용된다.
한편, 선택 신호 생성기(SEL)는 다수의 멀티플렉서(MUX1~MUXk)의 각각에 선택 신호를 제공하여, 각각의 멀티플렉서(MUX1~MUXk)의 입력중에서 어느 하나의 신호를 출력하여 해당하는 스위치(S1~Sn)의 입력으로 사용되도록 한다.
이러한 선택 신호 생성기(SEL)의 다수의 멀티플렉서(MUX1~MUXk)의 각각에 선택 신호는 미리 정해져 있을 수 있다.
그리고, 응답 아비터(RPA)는 각 스위치(S1~Sn)의 끝에 위치하여 각 스위치(S1~Sn)의 통로를 먼저 도달하는 신호에 따라서 '1' 또는 '0'의 출력값이 결정된다.
이와 같은 본 발명에 사용되는 PUF 회로는 일반적인 아비터-PUF(arbiter-PUF)와 피드포워드 아비터-PUF(FF arbiter-PUF)가 혼합된 형태이며 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 값을 받는 스위치들(S1~Sn)은 추가된 멀티플렉서(MUX1~MUXk)의 선택 신호에 의해 피드포워드 아비터들(FFA1~FFAm) 중에서 하나의 값을, 또는 선형 피드백 시프터 레지스터(LFSR)를 통하여 출력되는 의사 난수 수열의 출력값을 선택하여 입력 값으로 받을 수 있다.
대응 응답 신호(RP)의 각 비트는 한 번의 스위치(S1~Sn) 입력마다 얻을 수 있다. 등록 단계에서 대응 응답 신호(RP)의 전체 비트열은 얻기 위해서는 입력된 챌린지 신호(CH)를 이용한 선형 피드백 시프터 레지스터(LFSR)의 의사 난수 수열의 출력값을 이용하여 스위치(S1~Sn)의 입력을 비트열 길이만큼 반복하여 주입하여야 한다.
이처럼 등록 단계에서 대응 응답 신호(RP)를 생성할 때 각 스위치(S1~Sn)는 오직 선형 피드백 시프트 레지스터(LFSR)로부터 출력값인 의사 난수 수열을 입력값으로 받는다.
이와 달리 재생성 단계에서 2차 응답 신호(RP")를 얻을 때에도 기본적으로 각 스위치들(S1~Sn)은 선형 피드백 시프터 레지스터(LFSR)로부터 값을 입력받도록 멀티플렉서(MUX1~MUXk)가 설정되어 있다가 RP 비트열 중 의도된 가공 노이즈를 생성할 부분의 RP 비트들을 생성할 때 멀티플렉서(MUX1~MUXk)를 통해 피드포워드 아비터(FF arbiter)(FFA1~FFAm)와 연결된다.
멀티플렉서(MUX1~MUXk)를 통해서 특정 스위치들(S1~Sn)의 입력 값이 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 출력으로 연결이 되면 좀 더 예측하기 힘든 RP 비트들이 생성되며 이는 인증기(200)에서 선택한 CRP의 대응 응답 신호(RP)와의 차이를 만든다.
이와 같은 본 발명의 PUF 회로 구조에서 피드포워드 아비터(FF arbiter)(FFA1~FFAm)의 개수와 피드포워드 아비터(FF arbiter)들(FFA1~FFAm)의 값들을 받는 스위치들(S1~Sn)의 개수를 늘이면 더 많은 무작위 값 즉, 의도된 가공 노이즈 패턴을 생성할 수 있다.
5. 의도된 가공 노이즈가 삽입된 2차 응답 신호(RP") 비트열 구조
2차 응답 신호(RP")의 비트열은 오류 정정 디코더(220)의 오류 정정 코드(error correction code :ECC) 기능과 관련하여 메시지 부분과 리던던시(redundancy) 부분으로 나눌 수 있다.
의도된 가공 노이즈는 리던던시(redundancy) 부분에만 삽입되며 오류 정정 코드의 설계에 따라 의도된 가공 노이즈가 삽입될 수 있는 부분의 크기와 개수 결정된다.
도 8은 본 발명에 따른 PUF 회로에서 생성될 수 있는 2차 응답 신호(RP") 비트열과 삽입되는 가공 노이즈들의 형태들이다.
도 8을 참조하면, 리던던시(redundancy)에 의도된 가공 노이즈를 삽입할 수 있는 부분이 세 영역으로 나누어져 있고 그 중 한 부분에 가공 노이즈를 삽입할 수 있다.
도 8의 (a)는 등록 단계에서 생성되는 대응 응답 신호(RP)이며 이 비트열이 인증에 사용되기 때문에 어떤 노이즈도 없다고 할 수 있다.
도 8의 (b)는 재생성 단계에서 출력된 2차 응답 신호(RP")이며 기본적으로 비트열 전체에 자연적인 노이즈가 포함되어 있으며 의도된 가공 노이즈도 포함되어 있다.
의도된 가공 노이즈는 2번 부분에 삽입되어 있는데 삽입되는 위치는 이전에 출력된 메시지 부분의 비트열을 이용하여 무작위로 결정할 수 있다.
예를 들어 비트열의 '1'을 카운트하여 의도된 가공 노이즈의 삽입 위치를 무작위로 결정할 수 있다. 메시지 부분 또한 자연적인 노이즈가 포함되어 있고 이는 2차 응답 신호(RP")를 생성할 때마다 달라질 수 있기 때문에 의도된 가공 노이즈가 삽입되는 위치는 항상 무작위가 될 수 있다.
도 8의 (b)와 같이 의도된 가공 노이즈가 포함된 2차 응답 신호(RP")는 인증기(200)로 전송된다.
도 8의 (c)는 오류 정정 디코더(220)의 의해 자연적인 노이즈가 제거된 즉, 안정화된 1차 응답 신호(RP')의 모습을 보여준다.
인증기(200)는 1차 응답 신호(RP')에 의도된 가공 노이즈가 포함된 부분에는 많은 오류가 포함되어 있기 때문에 이 부분은 제외하여 최종 응답 신호(FRP)를 복호화한다.
인증기(200)는 최종적으로 의도된 가공 노이즈가 포함된 부분을 제외한 최종 응답 신호(FRP)를 이용하여 디바이스(100)의 인증 여부를 결정한다.
6. 오류 정정 디코더 구조
기존의 일반적인 오류 정정 코드(ECC) 디코더와 이를 이용한 복호 과정으로는 디바이스(100)에서 삽입하는 의도된 가공 노이즈를 제외하고 복호를 수행할 수가 없다. 그림 9는 본 발명의 오류 정정 디코더(220)가 사용하는 부분적 리던던시(redundancy)를 제외한 상태에서 복호 수행이 가능한 저밀도 패리티 체크 (LDPC) 코드의 패리티-체크 행렬의 예이다.
본 발명에 따른 오류 정정 디코더(220)에 이용되는 저밀도 패리티 체크(LDPC) 코드는 준주기 LDPC(Quasi-Cyclic LDPC) 코드를 바탕으로 하고 있으며 블록 단위로 패리티-체크 행렬이 구성된다[17-19].
본 발명에서 제시된 패리티-체크 행렬에서 리던던시(redundancy)에 해당하는 부분은 총 세 부분으로 나누어져 있으며 각각의 패리티-체크 행렬 부분은 다른 부분에 영향을 미치지 않게 구성되어 있다. 즉, 세 부분의 영역은 각각 독립적인 복호가 가능하며 세 부분 중 임의의 리던던시(redundancy) 부분이 제외된 상태에서 오류정정이 가능하다.
이처럼 본 발명의 오류 정정 디코더(220)에 이용되는 저밀도 패리티 체크 코드(LDPC Codes) 디코더의 복호 과정은 정보 초기화, 체크-노드 업데이트, 변수-노드 업데이트, 패리티-체크로 총 네 가지로 구성된다.
복호 순서는 최초에 복호할 코드워드의 정보를 초기화한 뒤 체크-노드 업데이트, 변수-노드 업데이트, 패리티-체크 순으로 반복한다.
이 일련의 과정은 코드워드의 모든 오류가 정정되거나 최대 반복 횟수에 도달할 때까지 반복한다.
특정 리던던시(redundancy) 부분을 제외하면서 복호를 수행할 수 있는 복호 수행과정은 다음과 같다.
복호를 시작할 때 정보 초기화 단계에서 제외할 리던던시(redundancy)에 해당하는 내부 정보 값과 외부 정보 값을 '0'으로 설정한다. 이 후 반복되는 복호 작업에서도 다른 외부 정보에 영향을 미치지 않도록 설계하여야 한다. 변수-노드 업데이트 모듈에서는 무시되어야 할 데이터에는 항상 '0'의 값을 주어 최종적으로 코드워드의 각 비트를 결정하는 데 영향을 미치지 않도록 하여야 한다.
본 발명에서 설계된 변수-노드 업데이트 모듈에서는 그림 10과 같이 의도된 가공 노이즈가 삽입되는 단위로 adder를 나누고 의도된 가공 노이즈가 삽입된 adder의 결과는 멀티플렉서 선택 신호에 의해 '0'값이 출력되도록 한다.
7. 실험을 위한 지연 시간 모델링
본 실험은 의도된 가공 노이즈를 삽입함으로써 인증기에 저장된 대응 응답(RP)와 실제 사용에서 출력된 최종 응답 신호(FRP)와의 차이 그리고 반복하여 출력한 최종 응답 신호(RP)들 간의 차이를 측정하기 위함이다.
본 실험은 이미 소개한 PUF 회로와 저 밀도 패리티 체크 코드 디코더를 바탕으로 수행하였다.
[20]에서는 PUF의 지연 시간 모델링을 위하여 기본적으로 신호 전파 지연 시간의 고정된 지연 시간 차이와 무작위 지연 시간 차이를 설정하였다.
본 실험에서도 마찬가지로 미세한 변이에 의한 고정된 지연 시간과 환경 변수에 의해 변경될 수 있는 무작위 지연 시간으로 나누어 회로의 지연 시간을 모델링 하였다.
하나의 스위치 내부에서 신호가 통과하는 통로는 그림 11과 같이 총 네 가지가 있으며 스위치 입력에 따라 신호가 통과하는 통로가 정해진다. 각 통로에 대한 신호 전파시간을 나타내는 t는 두 가지 요소로 결정된다. 하나는 공정에서 발생하는 변이의 영향에 의한 고정된 지연시간, t s 이며 다른 하나는 주변 온도나 전압에 의하여 다르게 발생할 수 있는 지연시간, t r 이다. t는 다음과 (수학식 1)과 같다.
(수학식 1)
Figure 112017050113990-pat00001
즉, 공정상의 변이에 의한 고정된 지연 시간과 응답 신호(RP)를 생성할 때마다 다르게 발생할 수 있는 노이즈에 의한 무작위 지연 시간으로 이뤄진다.
d는 한 스위치에서 선택된 두 개의 통로 신호 전파 지연시간의 차이를 나타내며 스위치 입력 c에 따라 구하는 식은 다음 (수학식 2)와 같다.
(수학식 2)
Figure 112017050113990-pat00002
k 스위치까지의 누적된 지연 시간, s는 다음 (수학식 3)과 같이 계산된다.
(수학식 3)
Figure 112017050113990-pat00003
,
Figure 112017050113990-pat00004
각 스위치의 d를 모두 종합하여 RP의 한 비트값, b가 다음 (수학식 4)와 같이 결정된다.
(수학식 4)
Figure 112017050113990-pat00005
등록 단계에서는 챌린지(CH) 입력에 의해 생성되는 LFSR 값을 스위치에 입력하여 CRP쌍들을 추출한다. 이후 재생성 과정에서는 의도된 가공 노이즈를 삽입하는 위치와 피드포워드 아비터(FF Arbiter)의 값을 받는 스위치의 피드포워드 아비터(FF Arbiter) 선택을 RP 비트열 중 메시지에 해당하는 비트열의 '1'의 개수를 카운트하여 결정한다.
8. 실험 결과
그림 12는 등록단계에서 저장한 CRP의 대응 응답 신호(RP)와 재생성 단계에서 디바이스로부터 생성된 최종 응답 신호(FRP)를 비교하여 그 차이를 그래프로 나타낸 것이다. ①,②,③은 PUF 회로 내에서 자체적으로 생성되는 자연적인 노이즈에 의한 차이를 나타낸 것이며 기존의 PUF 회로에서 나타나는 내부 칩 변이(intra-Chip variation)라고 할 수 있다. ④,⑤,⑥은 자연적인 노이즈와 함께 의도된 가공 노이즈를 포함한 차이를 나타낸다. 의도된 가공 노이즈를 생성하기 위한 피드포워드 아비터(FF arbiter)의 개수는 8개로 설정하였다.
각 실험에 대하여 적용한 무작위 지연 시간 범위(t r )와 비트열 평균 차이는 표 1에 정리되어 있다.
(표 1)
Figure 112017050113990-pat00006
오류 정정 코드(ECC)를 이용하여 2차 응답 신호(RP")를 안정시킬 수 있는 노이즈의 수는 제한적이다. 그래프와 표를 통해서 의도된 가공 노이즈의 삽입으로 인하여 자연적인 노이즈보다 훨씬 많은 노이즈가 삽입되는 것을 알 수 있다.
그러나 적용된 저 밀도 패리티 체크 코드 디코더(LDPC Codes decoder)는 의도된 가공 노이즈는 제외한 상태에서 복호를 수행할 수 있다.
이는 디바이스에서 출력된 2차 응답 신호(RP")가 인증기에 저장된 대응 응답 신호(RP)와의 차이를 늘이면서 인증을 수행한다는 것을 나타내며, 노출되는 2차 응답 신호(RP")들을 이용한 공격, 특히 다수의 챌린지 신호(CH)와 2차 응답 신호(RP")를 수집하여 PUF회로를 모델링하는 공격으로부터 보안성을 높일 수 있을 것으로 예상된다.
도 13은 구성한 피드포워드 아비터(FF arbiter) 수에 따라서 같은 챌린지 신호(CH)를 반복적으로 입력할 때 출력되는 2차 응답 신호(RP")들 간의 차이를 그래프로 나타낸 것이다.
피드포워드 아비터(FF arbiter) 개수를 1, 2, 4, 8개를 배치하여 각각 제안하는 아비터 PUF(arbiter-PUF)들을 모델링하였고 모델링된 아비터 PUF(arbiter-PUF) 마다 각 스위치들의 전파 지연 시간을 무작위로 100번씩 다르게 설정하여 실험하였다.
스위치들의 전파 지연 시간을 변경할 때마다 의도된 노이즈가 포함된 대표 RP 하나를 출력한 다음 대표 RP를 출력할 때와 같은 CH를 1,000번 반복하여 입력하고 RP"를 출력하여 비교하였다.
(a)는 스위치의 무작위 전파 지연 시간이 최대 1.00%일 때, (b)는 최대 3.00%일 때의 실험결과이다.
차이 분포도를 보면 크게 세 부분으로 도드라지는 것을 확인할 수 있다. ⓐ 또는 ⓑ 부분이 높게 나타나는 경우는 비교 대상이 되는 RP" 간에 의도된 노이즈가 삽입된 부분이 같을 때이다. 각 FF arbiter의 개수에 따라서 ⓐ 와 ⓑ 부분의 면적이 상대적으로 나타나는데 FF arbiter의 개수가 낮을수록 ⓐ부분의 면적이 넓어지며 이는 FF arbiter의 값을 받는 PUF 회로 스위치들의 신호 전파 지연 시간 영향이 거의 없기 때문에 RP" 간의 의도된 노이즈의 차이가 적어지는 것이다. 반대로 FF arbiter의 개수가 많을수록 같은 지역에 의도된 노이즈가 삽입되더라도 다양한 신호 전파 지연 시간의 변경이 발생하고 노이즈 패턴이 다양해져 RP"간에 비트열 차이가 커지고 따라서 ⓑ 부분의 면적이 넓어진다. ⓒ 부분은 의도된 노이즈가 생성되는 영역이 다를 때 나타나는 부분이다. FF arbiter 수가 많을수록 비트열 차이가 미세하게 증가하는 것을 확인할 수 있다.
9. 하드웨어 면적 비교
일반적으로 다수의 디바이스와 소수의 인증기로 구성되는 인증 시스템에서 디바이스의 인증과 관련된 하드웨어 오버헤드를 줄이는 것은 중요하다. 제시하는 인증 구조에서는 별도의 보안 모듈을 쓰지 않고 오류 정정 디코더(ECC 디코더)가 인증기에 배치되기 때문에 하드웨어적으로 많은 비용을 줄일 수 있다.
여기에서, 소개하는 하드웨어 면적에 관한 측정은 ALTERA사의 FPGA 중 Cyclone IV를 바탕으로 하였다.
데이터의 오류정정에 쓰이는 기존의 대표적인 오류 정정 코드(ECC)는 BCH 코드라고 할 수 있다. 표 2는 실험에서 설계된 RP의 길이 1280비트를 기준으로 오류정정가능 비트(T)에 따fms 논리 요소(logic elements: LEs))를 나타낸 것이다.
ECC의 종류와 해당 PUF 구조의 매개변수에 따라서 LEs는 상이할 수 있지만 RP의 안정화를 위하여 메모리와 함께 많은 LEs가 필요하다는 것을 확인할 수 있다. 디바이스 부분에 ECC 모듈을 배치하지 않음으로써 많은 하드웨어 오버헤드를 감소시킬 수 있다는 것을 알 수 있다.
(표 2)
Figure 112017050113990-pat00007
(표 3)
Figure 112017050113990-pat00008
노출되는 CRP를 보호하는 방법은 CH나 RP를 전송하거나 전송받기 전에 보안 모듈을 거치는 것이다. PUF를 이용하는 시스템에서는 일반적으로 해쉬(hash) 함수가 사용된다. 표 3은 고속 해쉬(fast hash) 함수의 버전에 따른 LEs의 수를 나타내며 ECC 모듈과 함께 많은 하드웨어 자원이 필요하다는 것을 알 수 있다[21].
표 4는 실험을 위해 모델링한 구조를 기준으로 기존의 아비터-PUF(arbiter-PUF), 제안하는 아비터-PUF(arbiter-PUF)의 하드웨어 면적, LEs와 논리 레지스터(Logic Register: LRs))를 비교한 것이다. 스위치는 각각 64개이며 제안하는 아비터-PUF(arbiter-PUF)에서는 각각 8개의 피드포워드 아비터(FF arbiter)와 멀티플렉서가 추가되어 있다. 제어기를 제외한 상태에서의 측정한 결과이며 적용되는 인증 시스템에 따라서 달라질 수 있지만 의도된 가공 노이즈를 삽입하기 위한 기능의 추가로 발생하는 하드웨어 오버헤드는 크지 않다는 것을 확인할 수 있다.
(표 4)
Figure 112017050113990-pat00009
10. 결론
본 발명에서는 PUF를 이용하여 디바이스의 인증을 수행하는 시스템에서 노출되는 RP에 고의적으로 노이즈를 추가로 삽입하여 외부의 공격자가 CRP들의 분석을 더욱 어렵게 만든다.
또한, 본 발명에서는 아비터-PUF(Arbiter-PUF)와 피드포워드 아비터-PUF(FF arbiter-PUF)를 혼합하고 무작위 값을 별도로 생성하여 인증에 사용되는 RP와 노출되는 RP의 차이를 증가시킴으로써 아직 사용되지 않은 CRP들의 예측을 어렵게 만든다.
또한, 본 발명에서는 LDPC 코드의 디코더에서 독립적으로 복호되는 리던던시(redundancy) 크기를 늘이거나 영역의 수를 늘여서 노이즈의 양을 증가시켜 분석의 난이도를 더욱 높일 수 있다.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조에서 피드포워드 아비터(FF arbiter)의 개수와 이 값들을 입력으로 받는 스위치들의 개수를 증가시키면 더욱 다양한 무작위 노이즈 패턴을 생성할 수 있다.
또한, 본 발명에서는 아비터-PUF(arbiter-PUF) 구조와 이를 활용한 인증 시스템 구조는 CRP들의 분석을 어렵게 만들 뿐만 아니라 소수의 인증기와 다수의 디바이스로 구성되는 인증 시스템에서 디바이스 부분에 별도의 보안 모듈을 사용하지 않고 ECC 디코더 모듈을 디바이스 대신 인증기에 배치하며 의도된 노이즈를 삽입하는 기능이 아비터-PUF(arbiter-PUF)를 자체적으로 활용하는 구조이기 때문에 하드웨어 오버헤드를 줄일 수 있다.
100 : 디바이스 110 : PUF 회로
120 : 노이즈 삽입부 200 : 인증기
210 : 챌린지 응답 쌍 저장부 220 : 오류 정정 디코더
230 : 비교부 240 : 노이즈 위치 분석부
300 : 헬퍼 데이터 저장부

Claims (9)

  1. PUF 회로와 노이즈 삽입부를 포함하여 챌린지 신호를 수신하면 가공 노이즈가 포함된 2차 응답 신호를 생성하여 출력하는 디바이스;
    상기 디바이스의 상기 PUF 회로에 대한 챌린지 신호와 그에 대응되는 대응 응답 신호에 따른 헬퍼 데이터를 저장하고 있는 헬퍼 데이터 저장부; 및
    상기 디바이스에서 2차 응답 신호를 전송받아 가공 노이즈를 제거하여 최종 응답 신호를 생성하여 인증을 수행하는 인증기를 포함하고,
    상기 노이즈 삽입부는 가공 노이즈 패턴과 가공 노이즈가 삽입될 위치에 대한 정보를 제공하고,
    상기 PUF 회로는 상기 챌린지 신호를 수신하여 내츄럴 노이즈가 포함된 1차 응답 신호를 생성하며, 상기 노이즈 삽입부로 제공하고, 상기 노이즈 삽입부에서 가공 노이즈 패턴과 상기 가공 노이즈가 삽입될 위치에 대한 정보를 제공받아 상기 가공 노이즈가 포함된 2차 응답 신호를 생성하여 출력하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  2. 청구항 1항에 있어서,
    상기 디바이스의 PUF 회로는
    챌린지 신호를 입력받아 의사 난수 수열을 생성하여 출력하는 선형 피드백 시프터 레지스터;
    서로 직렬로 연결되어 있으며, 입력 값에 따라 내부에 포함된 두 개의 내부 멀티플렉서의 연결 상태를 변경하며, 일부가 상기 선형 피드백 시프터 레지스터에서 생성된 의사 난수 수열의 해당 비트를 입력 값으로 사용하는 다수의 스위치;
    각각은 플리플롭으로 이루어져 있으며, 상기 다수의 스위치 중에서 어느 하나의 스위치의 출력을 입력받아 출력값을 생성하는 다수의 피드포워드 아비터;
    상기 다수의 피드포워드 아비터의 출력값과 상기 선형 피드백 시프터 레지스터에서 제공되는 의사 난수 수열 중에서 해당 비트 신호를 입력받아 선택 신호에 따라 어느 하나를 신호를 선택값으로 선택하여 상기 다수의 스위치중에서 해당하는 하나 이상의 스위치에 입력값으로 제공하는 다수의 멀티플렉서;
    상기 다수의 스위치의 말단에 위치하여 상기 다수의 스위치의 각 스위치의 통로를 거쳐 전달되는 두 개의 통로 중 먼저 도달하는 신호에 따른 출력값을 출력하는 응답 아비터; 및
    상기 다수의 멀티플렉서의 각각에 선택 신호를 생성하여 제공하는 선택 신호 생성기를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  3. 청구항 2항에 있어서,
    상기 선택 신호 생성기는 등록 단계에서 상기 선형 피드백 시프트 레지스터로부터 출력값인 의사 난수 수열을 선택값으로 출력하도록 상기 다수의 멀티플렉서에 선택 신호를 제공하여 상기 다수의 스위치가 상기 선형 피드백 시프트 레지스터로부터 출력값인 의사 난수 수열을 입력값으로 사용하도록 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  4. 청구항 2항에 있어서,
    상기 선택 신호 생성기는 재생성 단계에서 2차 응답 신호를 생성할 때에, 상기 다수의 스위치가 상기 선형 피드백 시프터 레지스터의 의사 난수 수열을 입력받도록 다수의 멀티플렉서에 선택 신호를 제공하다가 2차 응답 신호의 비트열 중에서 의도된 가공 노이즈를 생성할 부분의 비트들을 생성할 때 다수의 멀티플렉서를 통해 상기 피드포워드 아비터의 출력값이 선택값이 되도록 선택 신호를 제공하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  5. 청구항 1항에 있어서,
    상기 디바이스는 메시지 부분과 리던던시(redundancy) 부분으로 이루어진 2차 응답 신호에서 리던던시 부분에 가공 노이즈를 삽입하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  6. 삭제
  7. 청구항 1항에 있어서,
    상기 인증기는
    상기 디바이스에 대한 챌린지 신호와 그에 대응되는 대응 응답 신호를 저장하고 있으며, 저장된 챌린지 신호를 상기 디바이스에 제공하는 챌린지 응답 쌍 저장부;
    상기 2차 응답 신호를 입력받아 가공 노이즈 패턴과 가공 노이즈의 삽입 위치 정보를 제공하는 노이즈 위치 분석부;
    상기 노이즈 위치 분석부에서 제공하는 가공 노이즈 패턴과 가공 노이즈의 삽입 위치 정보를 이용하여 상기 2차 응답 신호를 입력받아 내츄럴 노이즈를 제거하여 1차 응답 신호를 형성한 후에 가공 노이즈를 제거하여 최종 응답 신호를 생성하는 오류 정정 디코더; 및
    상기 챌린지 응답 쌍 저장부에 저장된 대응 응답 신호와 상기 오류 정정 디코더에서 출력되는 최종 응답 신호를 비교하여 인증을 수행하는 비교부를 포함하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  8. 청구항 7항에 있어서,
    상기 오류 정정 디코더는
    준주기 LDPC(Quasi-Cyclic LDPC) 코드를 바탕으로 하고 있으며 블록 단위로 구성된 패리티-체크 행렬을 이용하는 저밀도 패리티 체크 코드 디코더인 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
  9. 청구항 8항에 있어서,
    상기 패리티-체크 행렬에서 리던던시(redundancy)에 해당하는 부분은 총 세 부분으로 나누어져 있으며 각각의 패리티-체크 행렬 부분은 다른 부분에 영향을 미치지 않게 구성되어 있어 세 부분의 영역이 각각 독립적인 복호가 가능하여 세 부분 중 임의의 리던던시(redundancy) 부분이 제외된 상태에서 오류정정이 가능하도록 하는 노이즈가 삽입된 물리적 복제 불가 함수 시스템.
KR1020170064845A 2017-05-25 2017-05-25 노이즈가 삽입된 물리적 복제 불가 함수 시스템 KR101974465B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170064845A KR101974465B1 (ko) 2017-05-25 2017-05-25 노이즈가 삽입된 물리적 복제 불가 함수 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170064845A KR101974465B1 (ko) 2017-05-25 2017-05-25 노이즈가 삽입된 물리적 복제 불가 함수 시스템

Publications (2)

Publication Number Publication Date
KR20180129193A KR20180129193A (ko) 2018-12-05
KR101974465B1 true KR101974465B1 (ko) 2019-08-23

Family

ID=64743605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170064845A KR101974465B1 (ko) 2017-05-25 2017-05-25 노이즈가 삽입된 물리적 복제 불가 함수 시스템

Country Status (1)

Country Link
KR (1) KR101974465B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689376B2 (en) 2020-01-30 2023-06-27 Samsung Electronics Co., Ltd. Security device for generating masking data based on physically unclonable function and operating method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421914B1 (ko) * 2021-09-03 2022-07-20 (주)이레에너지테크 데이터 전송 보안이 강화된 건물 통합 관리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016058793A1 (en) * 2014-10-13 2016-04-21 Intrinsic Id B.V. Cryptographic device comprising a physical unclonable function

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6267207B2 (ja) * 2012-10-04 2018-01-24 イントリンシツク・イー・デー・ベー・ベー 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016058793A1 (en) * 2014-10-13 2016-04-21 Intrinsic Id B.V. Cryptographic device comprising a physical unclonable function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689376B2 (en) 2020-01-30 2023-06-27 Samsung Electronics Co., Ltd. Security device for generating masking data based on physically unclonable function and operating method thereof

Also Published As

Publication number Publication date
KR20180129193A (ko) 2018-12-05

Similar Documents

Publication Publication Date Title
Sahoo et al. A multiplexer-based arbiter PUF composition with enhanced reliability and security
Zalivaka et al. Reliable and modeling attack resistant authentication of arbiter PUF in FPGA implementation with trinary quadruple response
Yu et al. Secure and robust error correction for physical unclonable functions
US8468186B2 (en) Combination of values from a pseudo-random source
Bösch et al. Efficient helper data key extractor on FPGAs
Majzoobi et al. Lightweight secure pufs
Maes et al. Low-overhead implementation of a soft decision helper data algorithm for SRAM PUFs
Ronjom et al. A new attack on the filter generator
Maes et al. A soft decision helper data algorithm for SRAM PUFs
Sunar et al. A provably secure true random number generator with built-in tolerance to active attacks
Delvaux et al. Secure lightweight entity authentication with strong PUFs: Mission impossible?
US6954770B1 (en) Random number generator
Megha Mukundan et al. Hash‐One: a lightweight cryptographic hash function
Mozaffari-Kermani et al. Reliable hash trees for post-quantum stateless cryptographic hash-based signatures
CN109614790B (zh) 基于反馈环puf的轻量级认证设备及认证方法
JP2017501652A (ja) 認証可能デバイス
KR101653121B1 (ko) 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법
Zhao et al. Novel way to research nonlinear feedback shift register
WO2019195953A1 (zh) 一种基于二输入异或门低功耗随机数产生装置
Becker et al. Security analysis of index-based syndrome coding for PUF-based key generation
Wen et al. Enhancing PUF reliability by machine learning
Hemavathy et al. Arbiter PUF-a review of design, composition, and security aspects
KR101974465B1 (ko) 노이즈가 삽입된 물리적 복제 불가 함수 시스템
Yu et al. Recombination of physical unclonable functions
Sauer et al. Sensitized path PUF: A lightweight embedded physical unclonable function

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