KR20180074612A - 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법 - Google Patents

높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법 Download PDF

Info

Publication number
KR20180074612A
KR20180074612A KR1020170178851A KR20170178851A KR20180074612A KR 20180074612 A KR20180074612 A KR 20180074612A KR 1020170178851 A KR1020170178851 A KR 1020170178851A KR 20170178851 A KR20170178851 A KR 20170178851A KR 20180074612 A KR20180074612 A KR 20180074612A
Authority
KR
South Korea
Prior art keywords
value
bit
puf
helper data
reliability threshold
Prior art date
Application number
KR1020170178851A
Other languages
English (en)
Other versions
KR102079854B1 (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 시큐어-아이씨 에스에이에스
Publication of KR20180074612A publication Critical patent/KR20180074612A/ko
Application granted granted Critical
Publication of KR102079854B1 publication Critical patent/KR102079854B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예는, 물리적 복제방지 기능(Physical Unclonable Function; PUF)을 포함하는 비밀 정보를 생성하는 전자 시스템에 있어서, 상기 PUF는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 물리적 변수의 두 값 사이의 차이를 제공한다. 상기 시스템은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여, 상기 PUF에 의해 제공되는 물리적 변수차를 측정한다. 상기 시스템은,
- 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 헬퍼 데이터 생성부(2)로서, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되고, 상기 헬퍼 데이터 생성부는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성하는, 상기 헬퍼 데이터 생성부를 포함하며,
상기 시스템은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 비밀 정보 생성부를 더 포함한다.

Description

높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법{SYSTEM AND METHOD FOR GENERATING SECRET INFORMATION USING A HIGH RELIABILITY PHYSICALLY UNCLONABLE FUNCTION}
본 발명은 일반적으로 데이터 및 장치 보안 분야에 관한 것으로, 특히 물리적 복제방지 기능(Physically Unclonable Function; PUF)을 사용하여 비밀 정보를 생성하는 방법 및 장치에 관한 것이다.
PUF는 보안을 강화하고 장치에 대한 공격에 있어서 저항성을 높이기 위해 비밀 데이터가 포함된 많은 전자 장치에 점점 더 많이 사용되고 있다. 사이드 채널 공격, 전자 마이그레이션(전력 소비, 전자기 방출, 작동 기간 등), 이미징, 폴트 인젝션(fault injection)과 같은 다른 유형의 공격이 그러한 데이터에 액세스하도록 외부로부터 전자 장치에 유도될 수 있다.
PUF는 식별, 인증 및 비밀 키 생성과 같은 많은 애플리케이션에 사용된다. 전자 장치를 보호하기 위한 기존의 접근 방식에서는 주로 비밀 비트가 메모리에 저장되는 반면, PUF 장치의 각 인스턴스는 고유하고 예측 불가능한 방식으로 챌린지를 매핑하여 응답한다.
PUF는 물리적 독립체로서, 그 물리적 독립체의 각 물리적 인스턴스화에서 동일하고, "챌린지"라는 입력이 제공될 때 "응답"이라고 하는 특정 출력을 생성하는 물리적 구조로 구현된다. 특정 응답값은 각 인스턴스의 물리적 미세 구조의 고유성에 따라 달라진다. 제조 과정에서 예측할 수 없고 통제할 수 없는 사소한 변이 및 무작위 물리적 요인들로 인해 장치 내에 구현된 물리적 독립체의 각 인스턴스가 고유하게 된다. 특정 출력들 간의 차이는 제조 프로세스 중에 도입된 사소한 프로세스 및 재료 변형으로 인한 것이다. 따라서 PUF는, 주어진 장치의 PUF 출력에 대한 지식이, 다른 제작 장치를 위태롭게 하지 않도록 보장한다. PUF는 집적 회로(CMOS 집적 회로와 같은)에 통합될 수 있다. PUF는 칩의 인증, 암호화 키의 생성, PRNG의 시드(seed) 등과 같은 다양한 애플리케이션에서 사용될 수 있다.
PUF를 포함하는 물리적 구조는 적어도 하나의 랜덤 성분으로 구성된다. 주어진 챌린지에 대한 PUF의 반응은 자극의 형태를 가지는 입력을 물리적 시스템에 인가하고 자극과 물리적 시스템 간의 상호 작용의 결과로 발생하는 동작을 출력에 매핑함으로써 얻어진다.
PUF는 탬퍼링 방지 특성을 가진다. 공격자가 PUF의 동작을 관찰하기 위해 PUF를 분해하려고 시도하면, 이는 또한 PUF의 무작위 요소와 입력 및 출력 간의 매핑을 방해한다. 리버스 엔지니어링으로 얻은 PUF 구조에 대한 지식은 PUF값을 공개하지 않는다.
PUF 회로의 품질은 중요한 과제이다. PUF 회로의 품질은 신뢰성과 같은 많은 속성 또는 지표와 관련될 수 있다. PUF의 신뢰성은 주어진 입력에 대한 응답이 결정론적 방식으로 제공된다는 특성을 의미한다. 신뢰할 수 없는 PUF가 실수로 다른 PUF의 출력을 제공할 수 있고 따라서 기계 학습 공격을 받기 쉽기 때문에 이러한 속성은 특히 보안 속성으로 볼 수 있다. PUF 속성은 문헌[Yohei Hori, Takahiro Yoshida, Toshihiro Katashita 및 Akashi Satoh에 의한 in "Quantitative and Statistical Performance Evaluation of Arbiter Physically Unclonable Functions on FPGAs", International Conference on Reconfigurable Computing and FPGAs, IEEE, 2110, pp. 298-303]에서 분석되었다.
따라서 PUF의 신뢰성은 주어진 챌린지에 대해 PUF가 항상 동일한 응답을 생성한다는 속성을 의미한다.
특히 지연 기반 PUF는 잡음 및 온도, 공급 전압 및 전자기 간섭과 같은 기타 환경 변화에 매우 민감하다. 실제로, 지연 기반 PUF는 시간차와 같은 매우 작은 물리적 차이의 측정을 기반으로 한다. 잡음 때문에, 동일한 챌린지에 대해 동일한 집적 회로를 사용하더라도 각 평가에서 출력이 약간 다를 수 있다. 따라서, 이러한 PUF는 신뢰성이 낮다. 결과적으로, 예를 들어, 환경적 영향 및 열 잡음으로 인해, 지연 기반 PUF에 적용되는 동일한 챌린지에 대한 응답은 달라질 수 있다.
그러나, 키 생성과 같은 PUF의 대부분의 애플리케이션에서, PUF의 완벽한 신뢰성이 요구된다.
기존의 접근법에서, PUF 구현에 정정 블록을 추가하여 PUF 비트를 신뢰성 있게 하거나 신뢰성있는 비트만을 유지하는 것이 알려져 있다. 이러한 정정 블록은 공용어("보안 스케치"라고도 함)를 나타내는 헬퍼 데이터를 활용하는 에러 정정 코드(Error Correcion Code-words; ECC)를 기반으로한다. 이 접근법은 문헌[Dodis, Y., Reyzin, L., 및 Smith, A. (2104, May)의 Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. In Advances in cryptology-Eurocrypt 2104 (pp. 523-521)]에서 개시된 바와 같이, "퍼지 추출기"라고 하는 생체 인식 시스템에서 파생되었다.
퍼지 추출기 또는 키 추출기 PUF를 사용하여 물리적 미세 구조에서 고유하고 강력한 암호화 키를 추출할 수도 있다. 동일한 고유 키는 PUF가 평가될 때마다 재구성된다. 퍼지 추출기는 반복되는 잡음이 섞인 비밀 판독값을 동일한 균일하게 분산된 키로 변환한다. 잡음을 제거하기 위해, 초기 등록 단계를 사용하여 비밀의 제1 잡음 판독값을 얻고 공개 헬퍼 데이터(후속 판독값에 사용될 데이터)를 생성한다.
종래 헬퍼 데이터는 PUF와 연관된 공개어를 나타낸다. 헬퍼 데이터는 IC 장치의 제조 직후에 발생하는 등록 단계 동안 한번 생성된다. 등록 단계는 통제된 환경 내에서 외부로부터 PUF 회로로 비밀을 주입하는 단계에 해당한다.
종래의 접근법에서, 헬퍼 데이터는 ECC 정정 블록을 이용하여 잠재적인 에러를 검출하고 정정하는데 필요한 코드워드이다. ECC 또는 ECC의 조합의 코드워드로부터 헬퍼 데이터를 구성하는 다양한 방법이 알려져 있다. 헬퍼 데이터는 일반적으로 에러 정정 코드(들)로부터 임의로 또는 특정 기준(코드워드의 전체 길이 등)에 따라 코드워드를 선택함으로써 구성된다. 그 다음에, 배타적 논리합(exclusive-or operation; XOR)과 같은 코드워드와 부가 비트의 연결을 위한 연산이 수행된다. 기존의 에러 정정 코드는 예를 들어 BCH 코드, 리드 뮬러 코드, 골레이 코드, 리드 솔로몬 코드, LDPC 코드 등을 포함한다.
현재 PUF에서 사용되는 오류 정정 기법은 낮은 코드 장치와 호환되지 않는 복잡성 수준을 더한다.
따라서, 매우 낮은 복잡도로 신뢰성 높은 PUF를 보장하는 개선된 방법 및 장치가 필요하다.
상기와 같은 또는 다른 문제점을 해결하기 위해, 물리적 복제방지 기능(PUF)을 포함하는 비밀 정보를 생성하는 전자 시스템을 제공하며, 상기 PUF는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 물리적 변수의 두 값 사이의 차이를 제공한다. 상기 시스템은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여, 상기 PUF에 의해 제공되는 물리적 변수차를 측정하며, 상기 시스템은, 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 헬퍼 데이터 생성부(2)에 있어서, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되는, 상기 헬퍼 데이터 생성부를 포함한다. 상기 헬퍼 데이터 생성부는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성한다. 상기 시스템은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 비밀 정보 생성부를 더 포함한다.
일 실시예에서, 상기 헬퍼 데이터 생성부는 각각의 헬퍼 데이터 비트를 생성하기 위해 적어도 하나의 비트 추출 함수를 적용하고, 각각의 비트 추출 함수는 비트값을 반환하도록 구성되고 물리적 변수차와 관련된 조건에 의존한다.
상기 적어도 하나의 비트 추출 함수의 조건은 적어도 하나의 신뢰성 임계치(S)에 대한 상기 물리적 변수차의 값에 더 의존하고, 상기 시스템은 등록 단계 동안 상기 적어도 하나의 신뢰성 임계치를 생성하는 임계치 생성부를 포함한다.
특히, 상기 적어도 하나의 신뢰성 임계치는 고유한 임계치를 포함하고, 상기 고유한 임계치는 상기 등록 단계 동안 적용된 다수의 챌린지에 대해 측정된 상기 물리적 변수차의 확률 분포로부터 결정된다.
일 실시예에서, 상기 고유한 신뢰성 임계치(S)는, 상기 물리적 변수차가 상기 신뢰성 임계치의 마이너스 값(-S)보다 엄밀히 낮은 값을 취하거나 상기 신뢰성 임계치(S)보다 엄밀히 높은 값을 취할 확률과 관련된 조건에 따라 등록 단계 동안 결정되며, 상기 확률이 사전에 정의된 확률값과 같으면 상기 조건은 만족되며, 상기 사전에 정의된 확률값은 '1'보다 엄밀히 낮은 값을 가진다.
일 실시예에서, 상기 사전에 정의된 확률값은 0.5(1/2)와 같을 수 있다.
몇몇 실시예에서, 상기 적어도 하나의 비트 추출 함수는,
- 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 높은 값을 가지거나 고유한 신뢰성 임계치보다 엄밀히 낮은 값을 가지는 경우, '1'과 같은 비트값을 반환하고,
- 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값을 가지거나 고유한 신뢰성 임계치보다 엄밀히 높은 값을 가지는 경우, '0'과 같은 비트값을 반환하는, 하나의 비트 추출 함수(M1)를 포함한다.
일 실시예에서, 상기 적어도 하나의 신뢰성 임계치는 제1 및 제2 신뢰성 임계치를 포함하고, 상기 제1 신뢰성 임계치는 상기 제2 신뢰성 임계치보다 엄밀히 높은 값을 가지고, 상기 신뢰성 임계치들은 엄밀히 양의 값을 가지며, 그러한 실시예에서, 적어도 하나의 비트 추출 함수는 상기 제1 및 제2 신뢰성 임계치에 대한 물리적 변수차의 값에 의존한다.
특정 실시예에서, 상기 제1 신뢰성 임계치는 상기 제2 신뢰성 임계치와 최대 잡음 레벨의 두 배의 합보다 엄밀히 크다.
일 실시예에서, 상기 임계치 생성부는, 상기 물리적 변수차가 상기 제1 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제1 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 제1 확률값과 동일한 값을 가지도록, 상기 등록 단계 동안 상기 제1 신뢰성 임계치를 결정하고, 상기 임계치 생성부는, 상기 물리적 변수차가 상기 제2 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제2 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 제2 확률값과 동일한 값을 가지도록, 상기 등록 단계 동안 상기 제2 신뢰성 임계치를 결정하며, 상기 제1 확률값 및 제2 확률값은 양의 값을 가지며 엄밀히 '1'보다 작다.
일 실시예에서, 상기 물리적 변수차가 상기 제1 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제2 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 보조 확률값과 동일한 값을 가지도록, 각각의 신뢰성 임계치가 상기 등록 단계 동안 더 결정된다.
상기 보조 확률값은 상기 제1 확률값과 상기 제2 확률값의 합의 함수이며, 상기 제1 확률값은 상기 제2 확률값보다 크다.
상기 제1 확률값과 상기 제2 확률값의 합은 일(1)과 같을 수 있다.
일 실시예에서, 상기 비밀 정보 생성부는 상기 헬퍼 데이터 비트의 값에 따라 상기 비트 추출 함수 중 하나를 선택하고, 선택된 비트 추출 함수를 적용하여 키 비트를 생성한다.
또한 PUF 회로를 사용하여 비밀 정보를 생성하는 방법이 제공되며, 상기 PUF 회로는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 2개의 경로 사이의 물리적 변수차를 제공한다. 상기 방법은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차를 측정하는 단계를 포함하며, 상기 방법은 또한, 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 단계에 있어서, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되고, 상기 헬퍼 데이터를 생성하는 단계는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 측정된 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성하는 단계를 더 포함하며, 상기 방법은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 단계를 더 포함한다.
본 발명의 실시예들은 또한 PUF 회로를 포함하는 비밀 정보를 생성하는 전자 시스템을 제공하며, 상기 PUF는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 물리적 변수의 두 값 사이의 차이를 제공한다. 상기 시스템은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여, 상기 PUF에 의해 제공되는 물리적 변수차를 측정한다. 상기 시스템은, 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 헬퍼 데이터 생성부에 있어서, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되는, 상기 헬퍼 데이터 생성부를 포함한다. 상기 헬퍼 데이터 생성기는 적어도 제1 비트 추출 함수와 제2 비트 추출 함수 중 하나의 비트 추출 함수를 선택하도록 구성된 비트 추출 함수 선택부를 포함할 수 있으며, 상기 선택은 상기 물리적 변수차의 값에 따라 그리고 적어도 하나의 신뢰성 임계치에 따라 달라지며, 상기 헬퍼 데이터 생성기는 각 헬퍼 데이터 비트를 생성하기 위해 선택된 비트 추출 함수를 적용하도록 구성된다. 상기 시스템은 사용 단계 동안 상기 헬퍼 데이터로부터 비밀 정보를 추출하기 위한 비밀 정보 생성부를 더 포함할 수 있다.
각 비트 추출 기능은 물리적 변수차와 관련된 조건에 따라 비트 값을 반환하도록 구성될 수 있다. 적어도 하나의 비트 추출 함수의 조건은 적어도 하나의 신뢰성 임계치에 대한 물리적 변수차의 값에 의존할 수 있다.
신뢰성 임계치가 고유한 신뢰성 임계치를 포함하는 실시예에서, 비트 추출 함수 선택부(20)는 다음을 선택할 수 있다:
- 상기 물리적 변수차가 상기 신뢰성 임계치의 마이너스 값을 중심으로 하는 제1 간격 또는 상기 신뢰성 임계치를 중심으로 하는 제2 간격 내에 위치하는 경우, 제1 비트 추출 함수.
- 상기 물리적 변수차가 '0'을 중심으로 하는 제 3 간격 내에 위치하면, 제2 비트 추출 함수.
제1, 제2 및 제3 간격의 범위는 최대 잡음 레벨의 두 배와 같다.
제1 비트 추출 함수(21)의 조건은 물리적 변수차의 부호에 의존하며, 제2 비트 추출 함수의 조건은 고유한 신뢰성 임계치(S)에 대한 물리적 변수차의 값과 관련된다.
제1 비트 추출 함수는 다음과 같이 구성될 수 있다:
- 물리적 변수차가 엄밀히 양수인 경우, '1'과 같은 비트를 반환한다.
- 물리적 변수차가 음수이거나 널인 경우, '0'과 같은 비트를 반환한다.
제2 비트 추출 함수는 다음과 같이 구성될 수 있다:
- 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 크거나 신뢰성 임계치보다 엄밀히 작은 경우,
'1'과 같은 비트값을 반환한다.
- 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 작거나 신뢰성 임계치보다 엄밀히 큰 경우, '0'과 같은 비트값을 반환한다.
신뢰성 임계치가 제1 및 제2 신뢰성 임계치를 포함하는 실시예에서, 상기 제1 신뢰성 임계치는 상기 제2 신뢰성 임계치보다 엄밀히 크고, 상기 신뢰성 임계치들은 엄밀히 양의 값이며, 비트 추출 함수 선택부는 다음을 선택할 수 있다:
- 상기 물리적 변수차가 상기 제2 신뢰성 임계치의 마이너스 값을 중심으로 하는 제1 간격 또는 상기 제1 신뢰성 임계치를 중심으로 하는 제2 간격 내에 위치하는 경우, 제1 비트 추출 함수.
- 상기 물리적 변수차가 상기 제1 신뢰성 임계치의 마이너스 값을 중심으로 하는 제3 간격 또는 상기 제2 신뢰성 임계치를 중심으로 하는 제4 간격 내에 위치하는 경우, 제2 비트 추출 함수.
제1, 제2, 제3 및 제4 간격의 범위는 최대 잡음 레벨의 두 배와 같다.
제1 신뢰성 임계치는 제2 신뢰성 임계치와 최대 잡음 레벨의 두배의 합보다 엄밀히 더 클 수있다. 각 비트 추출 함수의 조건은 제1 및 제2 신뢰성 임계치에 대한 물리적 변수차의 값에 의존할 수 있다.
2개의 신뢰성 임계치를 사용하는 실시 예들에서, 제1 비트 추출 함수는 다음과 같이 구성될 수 있다:
- 물리적 변수차가 제1 신뢰도 임계치의 마이너스 값보다 엄밀히 크고 제2 신뢰도 임계치의 마이너스 값보다 엄밀히 작은 경우, '1'과 같은 비트를 반환한다.
- 그 외의 경우, '0'과 같은 비트를 반환한다.
제2 비트 추출 함수는 다음과 같이 구성될 수 있다:
- 물리적 변수차가 제2 신뢰도 임계치의 마이너스 값보다 엄밀히 크고 제1 신뢰도 임계치보다 엄밀히 작은 경우, '1'과 같은 비트를 반환한다;
- 그 외의 경우, '0'과 같은 비트를 반환한다.
비밀 정보 생성기는 헬퍼 데이터 비트의 값에 따라 비트 추출 함수 중 하나를 선택하고 선택된 비트 추출 함수를 적용하여 키 비트를 생성하도록 구성될 수 있다.
또한 PUF 회로를 포함하는 비밀 정보를 생성하는 방법을 제공하며, 상기 PUF 회로는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 두 경로 사이의 물리적 변수차를 제공한다. 상기 방법은 등록 단계 동안 일련의 챌린지를 적용하는 단계 및 각 챌린지에 응답하여 상기 PUF에 의해 제공된 물리적 변수차를 측정하는 단계를 포함할 수 있다. 상기 방법은 또한,
- 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 단계를 포함하며, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되고, 상기 헬퍼 데이터를 생성하는 단계는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 측정된 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성하는 단계를 더 포함하며,
상기 헬퍼 데이터를 생성하는 단계는,
- 적어도 제1 비트 추출 함수 및 제2 비트 추출 함수 중에서 하나의 비트 추출 함수를 선택하는 단계를 포함하며, 상기 선택은 상기 물리적 변수차의 값 및 적어도 하나의 신뢰도 임계치에 따라 다르게 수행되며, 상기 선택된 비트 추출 함수는 각각의 헬퍼 데이터 비트를 생성하도록 적용되고,
상기 방법은 사용 단계 동안 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 단계를 더 포함한다.
본 발명에 따른 PUF는 지연 기반 PUF의 모든 출력 비트가 신뢰성을 가지도록 보장하는 헬퍼 데이터의 생성을 가능하게 하여, 정정 메커니즘 없이도 높은 신뢰성을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 도면에서 동일한 참조 부호는 유사한 요소를 나타내며, 도면에서:
도 1은 특정 실시예에 따른 지연 기반의 PUF 회로를 포함하는 비밀 정보를 생성하기 위한 전자 시스템을 도시한 도시도;
도 2는 특정 실시예에 따른 헬퍼 데이터 생성부의 구조를 도시한 도시도;
도 3은 PUF에서 측정된 시간차의 확률 분포를 나타내는 3개의 다이어그램을 도시하며, 특정 실시예에 따른 비트 추출 함수의 선택을 도시한 도시도:
도 4는 다른 실시예에 따른 PUF 물리적 출력의 분포를 나타내는 3개의 다이어그램을 도시한 도시도:
도 5는 일 실시예에 따른 신뢰성 임계치를 동적으로 업데이트 하는 비밀 정보를 생성하는 전자 시스템을 도시한 도시도:
도 6은 특정 실시예에 따른 PUF에서 측정된 시간차의 확률 분포를 나타내는 다이어그램을 도시한 도시도:
도 7은 특정 실시예에 따른 헬퍼 데이터 생성 방법의 예비 단계를 도시한 도시도:
도 8은 특정 실시예에 따른 헬퍼 데이터 생성 방법의 흐름도:
도 9는 특정 실시예에 따른 헬퍼 데이터 비트 결정을 나타내는 흐름도:
도 10은 일 실시예에 따른 등록 단계 동안 구현되는 비트 추출 선택을 도시한 도시도:
도 11은 등록 단계 동안 제1 선택 추출 방법을 적용하는 단계를 도시한 도시도:
도 12는 현재 챌린지에 대한 제2 선택 추출 방법을 적용하는 단계를 도시한도시도:
도 13은 일 실시예에 따른 사용 단계 동안 구현되는 키를 생성하는 방법을 도시한 도시도:
도 14는 다른 실시예에 따른 키 추출 방법의 예비 단계를 도시한 도시도:
도 15는 도 14의 실시예에 따른 사용 단계 동안 구현되는 키를 생성하는 방법을 도시한 도시도:
도 16은 도 14의 실시예에 따른 신뢰성 임계치를 결정하는 단계를 나타내는 흐름도:
도 17은 특정 실시예에 따른 키 비트 결정 단계를 나타내는 흐름도;
도 18은 키 생성의 예를 도시한 도시도: 및
도 19는 다른 실시예에 따른 비밀 정보를 생성하기 위한 전자 시스템을 도시한 도시도.
본 발명의 실시예는 PUF 회로를 포함하는 비밀 정보를 생성하는 전자 시스템을 제공하며, 상기 PUF 회로는 상기 PUF 회로에 인가되는 챌린지에 응답하여 상기 PUF의 물리적 변수의 두 값 사이의 차이를 제공하고, 상기 시스템은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차를 측정할 수 있다.
상기 시스템은 비트들의 세트를 포함하는 헬퍼 데이터를 생성하도록 구성된 헬퍼 데이터 생성부(2)를 포함하고, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성될 수 있다. 상기 헬퍼 데이터 생성부는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성할 수 있다.
일 실시예에서, 상기 시스템은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 비밀 정보 생성부를 더 포함할 수 있다.
일 실시예에서, 상기 시스템은 사용 단계 동안 적어도 하나의 비트를 포함하는 비밀 키를 생성하도록 구성된 비밀 정보 생성부를 포함하고, 상기 키의 각 비트는 상기 일련의 챌린지들 중 하나의 챌린지를 적용함으로써 생성되며, 상기 비밀 정보 생성부는, 상기 인가되는 챌린지에 대응하는 상기 헬퍼 데이터 비트로부터, 그리고 상기 인가되는 챌린지에 응답하여 상기 PUF에 의해 제공되는 상기 물리적 변수차로부터 상기 키의 각 비트를 결정할 수 있다.
또 다른 대안적인 또는 보완적인 실시예에서, 상기 헬퍼 데이터 생성부는 적어도 제1 비트 추출 함수 및 제2 비트 추출 함수 중에서 하나의 비트 추출 함수를 선택하는 비트 추출 함수 선택부를 포함할 수 있으며, 선택은 물리적 변수차의 값 및 적어도 하나의 신뢰성 임계치에 의존하여 이루어질 수 있고, 헬퍼 데이터 생성부는 각 헬퍼 데이터 비트를 생성하기 위해 선택된 비트 추출 함수를 적용할 수 있다. 이러한 실시예에서, 상기 시스템은 사용 단계 동안 헬퍼 데이터로부터 비밀 정보를 추출하기 위한 비밀 정보 생성부를 더 포함할 수 있다.
각 비트 추출 함수는 물리적 변수차와 관련된 조건에 따라 비트값을 반환할 수 있다. 적어도 하나의 비트 추출 함수의 조건은 적어도 하나의 신뢰성 임계치에 대한 물리적 변수차의 값에 의존할 수 있다. 신뢰성 임계치는 등록 단계 동안 적용된 다수의 챌린지에 대해 측정된 물리적 변수차의 확률 분포로부터 결정될 수 있다.
도 1을 참조하면, PUF(10)로부터 비밀 정보를 안정적으로 생성하는 전자 시스템(100)이 도시되어있다. PUF(10)는 전자 시스템(100)에서 구현될 수 있다. 전자 시스템(100)은 필드 프로그래머블 게이트 어레이(FPGA), 마이크로 프로세서, 디지털 신호 프로세서(DSP) 등과 같은 집적 회로(IC) 및/또는 프로그래밍 가능한 로직을 포함하는 전자 회로 장치로서 구현될 수 있다.
본 발명의 일 실시예에서, PUF(10)로부터 생성된 비밀 정보는 비트 세트를 포함하는 암호 키일 수 있다.
이러한 애플리케이션에서, 키는 시스템에서 키가 필요할 때마다 PUF에서 생성된다.
PUF(10)는 특정 입력("챌린지"라고 함)으로 문의된 경우에 측정 가능한 출력("응답"이라고 함)을 생성하도록 구성된다. PUF 자체는 수학적 의미에서 "함수"가 아니라는 점에 유의해야 한다. 실제로, PUF에 대한 챌린지는 하나 이상의 가능한 응답을 가질 수 있다. 그러나, 주어진 챌린지에 대한 가능한 응답의 수는 제한적이며, 바람직하게는 높은 신뢰성의 PUF에 대해 오직 하나뿐이다. PUF는 오히려 특정(물리적) 시스템에 의해 수행되거나 그 시스템 상에서 실행되는 프로세스를 지정한다.
인가되는 챌린지와 이에 상응하는 측정된 응답으로 형성된 쌍을 챌린지-응답 쌍 또는 "CRP"라고 한다. 특정 PUF(10)에 의해 생성된 챌린지와 응답 사이의 관계를 PUF의 CRP 행동이라 한다.
PUF(10)에 적용되는 챌린지의 시퀀스 및 각 챌린지의 적용의 결과로써 얻어진 응답들은 비트 열의 시퀀스를 포함한다. 일부 실시예에서, 디코딩 및 양자화 단계들은 아날로그 물리적 자극에 챌린지로서 적용될 수 있고 이렇게 얻어진 아날로그 효과들의 측정들로부터 응답을 도출할 수 있다.
특정 PUF를 기반으로하는 특정 물리적 시스템에 액세스하지 않고 주어진 챌린지에 대한 특정 PUF의 응답을 얻는 것은 실질적으로 불가능한다. 따라서 PUF는 일련의 CRP를 구현하는데, 논리적으로 동일한 별개의 장치는 서로 다른 CRP를 생성하고 이는 설계자조차도 예측할 수 없다. 즉, CRP는 고유한 물리적 장치(따라서, PUF의 "복제 불가능한" 특성)와 연관된다. 결과적으로, PUF 함수는 그의 본질적인 물리적 속성을 사용하여 객체를 식별할 수 있다.
PUF(10)에 적용되는 각 챌린지는 비트 세트(또는 "비트열")를 포함한다. 챌린지는 비트들의 벡터로 나타낼 수 있다. 여기서, p개의 비트의 암호 키를 생성하려면 적어도 p개의 챌린지가 적용되며, 각 챌린지는 암호화 키의 비트를 생성하는 데 사용된다.
PUF(10)는 PUF 회로에 인가되는 챌린지에 응답하여 PUF의 물리적 변수의 두 값 사이의 차이를 제공하도록 구성된 임의의 유형의 PUF일 수 있다. 물리적 변수는 빛과 관련된 양, 전압, 지연과 같은 물리적 양을 나타낸다. PUF에 의해 측정된 물리적 변수차는 PUF 유형에 따라 다를 수 있다.
일부 실시예에서, 물리적 변수는 지연일 수 있으며, PUF(10)는 PUF의 두 경로 사이의 지연 차(이하, "시간 차"라고도 함)를 제공하고, 상기 두 경로는 다음의 둘 중 하나에 대응한다.
- PUF의 2개의 동일한 경로에 있어서, 물리적 변수차는 제1 경로의 출력에서 측정된 시간과 제2 경로의 출력에서 측정된 시간 간의 차이로 정의되는, 2개의 동일한 경로, 또는
- PUF의 동일한 경로의 두 가지 구성으로서, 물리적 변수차는 다음의 둘 사이의 차이로 정의되는 동일한 경로의 두 가지 구성:
· 제1 구성에 따라 구성된 경로의 출력에서 측정된 시간.
· 제2 구성에 따라 구성된 경로의 출력에서 측정된 시간.
지연 차를 측정하기에 적합한 PUF는 아비터(arbiter) PUF, 링 오실레이터 PUF, 루프 PUF와 같은 지연 기반 PUF(“지연 인트린직 PUF"라고도 함)를 포함한다. 지연 기반 PUF는 집적 회로(IC) 장치에 내장되며 레귤러 디지털 프리머티브로 구성된 빌딩 블록을 기반으로 하는 디지털 인트린직 PUF("실리콘 PUF"라고도 함)이다. 지연 기반 PUF는 디지털 지연 측정을 기반으로 한다. 지연 기반 PUF를 내장하는 IC 장치(100)는 외부 기기 없이도 PUF를 문의하고 판독할 수 있다. 지연 기반 PUF에서, 챌린지 및 응답은 바람직하게는 장치 내에서 산출된다. 지연 기반 PUF는 많은 챌린지를 수용할 수 있다. 예를 들어, 지연 기반 PUF에서, 지연은 챌린지 비트에 의해 제어되므로 많은 수의 챌린지 조합이 제공된다.
더 구체적으로, 지연 기반 PUF는 적어도 한 쌍의 구조적으로 동일한/대칭적인 서브 회로(로직 및 인터커넥트를 포함)를 포함하는 회로로서 구현될 수 있고, 2개의 서브 회로의 출력들 사이의 임의의 지연차를 측정할 수 있다.
예를 들어, 아비터 PUF는 다중 비트 입력(X)를 갖는 회로일 수 있고, 2개의 동일한 서브 회로에 의해 정의되는 2개의 경로 사이의 상대적인 지연 차에 기초하여 1비트 출력(Y)를 산출할 수 있다. 입력 비트는 PUF 회로의 성분을 제어하여 지연 경로를 결정한다. 회로는 각 입력(X)에 대한 한 쌍의 지연 경로를 생성할 수 있다. 특정 입력에 대한 출력을 평가하기 위해 두 경로에 동시에 상승 신호가 주어지고, 신호는 두 지연 경로를 경쟁하여(race), 처리 블록은 각각의 경로로부터의 신호를 처리하여 PUF 출력(Y)를 도출한다.
지연 기반 PUF의 2개의 대칭 서브 회로 각각은 블록 세트를 포함할 수 있고, 이들 중 적어도 일부는 PUF에 인가되는 챌린지의 비트에 의해 제어된다. 아비터 PUF와 같은 특정 유형의 지연 기반 PUF에서, PUF 요소는 동일하고 PUF 블록의 수는 챌린지에 포함된 비트 수와 동일하다(챌린지의 각 비트는 PUF 블록과 연관되며, 비트는 제어 비트로서 대응하는 PUF 블록에 입력된다).
여기서, n비트(C=c1...ci...cn)를 갖는 입력 챌린지 C가 주어지면, 지연 기반 PUF에서 경쟁 조건이 설정된다. 두 신호는 인가되는 챌린지(2개의 대칭적인/동일한 서브 회로에 해당하는 두 경로)에 의해 구성되는 PUF 회로의 두 경로를 따라 전파된다. 두 신호를 비교하여 어느 신호가 먼저 도착하는지를 결정한다(경쟁 조건). 래치와 같은 아비터 블록은 아비터 블록 입력에서 처음 도착한 신호에 따라 1비트 응답을 생성한다.
두 신호(일반적으로 상단 및 하단 신호)는 적어도 하나의 지연 스테이지를 통해 공급되며, 각 스테이지는 PUF 블록에 해당한다. PUF 블록의 활성화 또는 동작은 챌린지 C(C=c1c2 ... cn)의 비트(ci)에 의해 제어된다. 각각의 챌린지는 지연 경로의 상이한 구성에 대응한다.
챌린지의 비트는 유사 PUF 요소들(예를 들어, 아비터 PUF(APUF), 링 오실레이터 PUF(ROPUF) 또는 버터플라이 PUF(BPUF)를 위한 스위치 박스)을 제어한다. 예를 들어, 링 오실레이터 PUF의 경우, 챌린지는 i번째 링 오실레이터(특정 주파수로 진동하는 지연 루프)의 활성화를 제어하며, PUF 챌린지는 경쟁 신호의 두 경로를 정의하는 2개의 링 오실레이터의 선택을 활성화한다.
지연 기반 PUF에서, 1비트 응답을 생성하기 위해, 적어도 하나의 챌린지를 적용함으로써 시간 차동 변수가 측정된다. 지연 기반 PUF의 두 서브 회로는 동일한 레이아웃을 가지므로 두 서브 회로에서 발생한 두 신호 간의 지연차는 주로 공정 변화에만 의존한다.
각 스테이지(k)에 대한 지연차는 인가되는 챌린지(C)에 응답하는 상단 신호와 하단 신호 간의 지연차에 해당한다.
주어진 챌린지(C=c1,...cn)에 대한 총 지연차(ΔDC)는 각 단계에서 산출된 개별 지연의 합에 해당한다.
두 신호 간의 최종 시간차는 마지막 단계(n) 이후의 시간차이며, PUF에 의해 출력된 응답 비트(r)는 전체 시간차의 부호에 따라 정의된다.
딜레이 기반 PUF(일반적으로 피코 초 단위로 측정)의 출력에서 측정된 지연 차는 대개 가우스 분포로 근사된다. 종래의 지연 기반 PUF에서 공급 전압의 변화와 같은 환경 변화가 발생할 때, 응답 비트는 플립되어 PUF의 신뢰성에 영향을 줄 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 시스템(100)은 PUF(10)에 의해 측정된 양 차이로부터 헬퍼 데이터를 생성하며, 그 헬퍼 데이터는 신뢰성 높은 비밀 키 비트와 같은 매우 신뢰성있는 비밀 정보를 생성하는데 이용 가능하다. 특히, 헬퍼 데이터의 비트는 신뢰할 수 있는 키 비트를 나타낸다.
본 발명의 특정 실시예에 대한 다음의 설명은 단지 설명의 목적을 위한 것으로, 지연 기반 PUF에 대한 것이다. 지연 기반 PUF는 2개의 경로 사이의 지연차를 측정하며(PUF의 2개의 별개의 동일한 경로에 해당하거나 동일한 경로의 2개의 구성에 해당), 헬퍼 데이터는 이러한 지연차(이하 "델타값"이라고 함)로부터 생성된다.
본 명세서에서 사용되는 "신뢰성"이라는 용어는 PUF(10)가 환경적 요소 및 열 잡음에 관계없이 주어진 챌린지에 대해 항상 동일한 응답을 생성하는 PUF의 특성을 나타낸다. 신뢰성은 비트 오류율로 나타낼 수 있다. 비트 오류란 예상된 응답과 출력 응답 간의 차이를 말한다.
암호 키의 각 비트를 생성하기 위해, 본 발명의 특정 실시예에 따른 전자 시스템(100)은 다음 2개의 단계에 따라 동작한다:
- 등록 단계에 있어서, 등록 단계 동안 p개의 CRP 세트가 생성되며(p개의 챌린지는 이하 p개의 등록된 챌린지라고 하며, 여기서 p는 적어도 '1'과 동일하다), 이후, 적어도 p개의 비트를 포함하는 헬퍼 데이터가 p개의 챌린지를 적용함으로써 생성되며, 각각의 챌린지는 헬퍼 데이터의 비트를 생성하는데 사용되고, 각각의 챌린지에 대해, 인가되는 챌린지에 대한 응답으로 PUF 출력에서 얻어진 지연차("델타값")가 측정되며, 헬퍼 데이터 비트는 적어도 하나의 신뢰성 임계치를 사용하여 델타값으로부터 결정된다. 이렇게 얻어진 챌린지 및 헬퍼 데이터 세트는, 예를 들어, 로컬 비 휘발성 메모리 또는 외부 서버에 저장될 수 있다.
- 사용 단계에 있어서, 사용 단계 동안 p개의 비트의 암호 키는 p개의 등록된 챌린지를 적용하여 추출될 수 있고, 각각의 등록된 챌린지에 대해, 키 비트는 오류 정정의 사용을 필요로 하지 않고, 사용 단계 동안 인가되는 챌린지에 응답하여 PUF에 의해 출력된 지연차("델타값")로부터 그리고 인가되는 챌린지에 대응하는 헬퍼 데이터 비트로부터 결정될 수 있다.
시스템(100)은 각각의 헬퍼 데이터 비트를 생성하기 위해 적어도 하나의 비트 추출 함수를 적용할 수 있으며, 각각의 비트 추출 함수는 물리적 변수차와 관련된 조건에 따라 비트값을 반환할 수 있다.
특정 실시예에서, 각각의 헬퍼 데이터 비트 및 각 암호 키의 생성은 적어도 2개의 추출 함수 중 하나의 비트 추출 함수의 선택에 따라 달라질 수 있으며, 비트 추출 함수의 선택은 인가되는 챌린지에 대해 얻어지는 델타값으로부터 결정된다(헬퍼 데이터 비트 생성을 위한 등록 단계 동안 및 암호화 키 비트의 사용 단계 동안). 각 비트 추출 함수는 고려된 단계(등록 또는 사용 단계)에서 측정된 델타값과 관련된 조건에 따라 비트값을 제공한다.
헬퍼 데이터 비트는 각 비트값이 헬퍼 데이터 비트를 생성하는데 사용되는 비트 추출 함수를 나타내도록 생성될 수 있으며, 이러한 정보는 비밀 정보를 생성하는데 사용 가능하다.
결과적으로, 상기와 같이 생성된 헬퍼 데이터는 비밀 키에 관한 정보를 나타내지 않는다. 또한 키가 파생될 때마다 키가 동일하게 유지되도록 한다.
본 발명의 실시예는 키 생성에 한정되지 않으며 헬퍼 데이터가 사용되는 모든 암호화 애플리케이션을 포함한다. 본 발명의 다른 응용예에서, 델타 변수값으로부터 생성된 헬퍼 데이터는 콘텐츠 키가 PUF 등으로부터 얻어지는, 예를 들어, 인증, 키 저장, 탬퍼링 방지, 복제 보호 등에 사용될 수 있다. 이하, 본 명세서는 단지 설명의 목적으로 키생성에 관하여 설명한다.
일 실시예에서, 도 1에 도시된 바와 같이, 전자 시스템(100)은 헬퍼 데이터 생성부(2)를 포함할 수 있다. 헬퍼 데이터 생성부(2)는 PUF(10)에 의해 제공되는 델타값으로부터 헬퍼 데이터를 생성할 수 있다.
헬퍼 데이터 생성부(2)는 한 세트의 비트를 포함하는 헬퍼 데이터를 생성하도록 구성될 수 있으며, 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성된다. 헬퍼 데이터 생성부(2)는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차(델타값)로부터 각 헬퍼 데이터 비트를 생성할 수 있다.
시스템(100)은 비밀 정보를 추출하도록 구성된 비밀 정보 추출기(3)를 더 포함할 수 있다. 키 생성에 대한 하나의 가능한 응용예에서, 등록 단계 동안 생성된 헬퍼 데이터로부터 비밀 키 비트를 추출하기 위해 비밀 정보 추출기가 제공될 수 있다. 일 실시예에서, 비밀 키 비트는 등록 단계 동안 대응 헬퍼 데이터 비트를 생성하기 위해 사용된 것과 동일한 비트 추출 함수를 사용하여 헬퍼 데이터로부터 추출될 수 있다.
이렇게 생성된 암호 키는 다양한 암호 애플리케이션에서 사용될 수 있다. 도 1의 예에서, 전자 시스템(100)은 헬퍼 데이터로부터 생성된 암호 키를 입력으로서 수신하는 암호 장치(4)(당해 기술 분야에서 "암호 엔진"이라고도 함)를 포함할 수 있다. 암호 장치(4)는 예를 들어 인증 애플리케이션에 대해 키를 사용할 수 있다.
헬퍼 데이터 생성부(2)는 물리적 변수차의 값 및 적어도 하나의 신뢰성 임계치(S, S1, S2)에 따라 적어도 제1 비트 추출 함수(21) 및 제2 비트 추출 함수(22) 중 하나의 비트 추출 함수를 선택하도록 구성된 비트 추출 함수 선택부(20)를 포함할 수 있다.
비트 추출 함수 선택부(20)는 적어도 2개의 비트 추출 함수(21("M1"이라고도 함) 및 22("M2"라고도 함)) 중에서 하나의 비트 추출 함수를 선택하도록 구성될 수 있으며, 선택된 비트 추출 함수는 등록 단계 동안, 인가되는 챌린지에 대응하는 델타값에 따라, 인가되는 챌린지와 연관된 헬퍼 데이터 비트를 생성하는데 사용된다.
특정 실시예에서, 비트 추출 함수 선택부(20)는 물리적 변수차와 관련된 조건에 따라 비트 추출 함수 중 하나를 선택하도록 구성될 수 있다.
일 실시예에서, 예를 들어, 비트 추출 함수 선택부(20)는 다음을 선택하도록 구성될 수 있다:
- 물리적 변수차가 적어도 하나의 사전에 정의된 작은 간격 내에 위치하며, 각 간격은 주어진 값을 중심으로 하는(물리적 변수차는 따라서 주어진 값에 가깝다) 경우, 제1 비트 추출 함수.
- 물리적 변수차가 하나 이상의 신뢰성 임계치로부터 도출된 다른 주어진 값을 중심으로 하는 적어도 하나의 사전에 정의된 작은 간격 내에 위치하는(물리적 변수차는 신뢰성 임계치로부터 유도된 주어진 값에 근접함) 경우, 제2 비트 추출 함수.
일 실시예에서, 각 헬퍼 데이터 비트는 하나의 신뢰성 임계치(S)를 사용하여 델타값으로부터 결정될 수 있다. 신뢰성 임계치(S)는 최대 잡음 레벨을 지정하는 n보다 크거나 같도록 선택될 수 있다(S>2n). 주어진 델타(DELTA)값에 대해 간격[DELTA-n,DELTA+n] 내에 잡음이 존재한다고 가정한다.
제1 비트 추출 함수(21)는 물리적 변수차의 부호와 관련된 조건에 따라 비트값을 제공할 수 있다. 제2 비트 추출 함수(22)는 신뢰성 임계치(S)에 대한 물리적 변수차의 값과 연관된 다른 조건에 따라 비트값을 제공할 수 있다.
이러한 실시예에서, 선택부(20)는 델타값 및 신뢰성 임계치(S)와 관련된 조건을 테스트함으로써 제1 비트 추출 함수(M1)(21) 및 제2 비트 추출 함수(M2)(22) 중 하나의 비트 추출 함수를 선택하도록 구성될 수 있다. 보다 구체적으로, 선택부(20)는 다음을 선택하도록 구성될 수 있다:
- 상기 델타값이 -S 또는 S에 근접한 경우(즉, 상기 델타값이 신뢰성 임계치의 마이너스 값(-S)을 중심으로 하는 제1 작은 간격 또는 신뢰성 임계치(S)를 중심으로 하는 제2 작은 간격 내에 위치하는 경우)로서, 즉, 델타값이 간격([-S-n,-S+n] 또는 [S-n,S+n]) 내에 포함되는 경우, 제1 비트 추출 함수(M1)(21).
- 상기 델타값이 '0'에 근접한 경우(즉, 상기 델타값이 0을 중심으로 하는 제3 작은 간격 내에 위치하는 경우)로서, 즉, 델타값이 간격[-n,n] 내에 포함되는 경우(즉, 제1 간격과 제2 간격의 범위는 최대 잡음 레벨의 두 배(2n)와 같다), 제2 비트 추출 함수(M2)(22).
- 비트 추출 함수 중 하나(M1 및 M2 중 하나)가 예를 들어 랜덤하게 선택될 수 있는, 그 외의 경우(델타값이 위의 모든 간격에서 벗어난 경우).
본 명세서에 사용된 바와 같이, 델타값이 특정값 주변 범위 [-n,n] 내에 위치하고, n이 최대 잡음 레벨을 나타내는 경우, 델타값은 특정값에 "근접"한다고 한다.
각 비트 추출 함수(M1 또는 M2)는 델타 변수값의 함수로서 비트를 제공한다.
일 실시예에서, 도 3에 도시된 바와 같이, 제1 비트 추출 함수(M1)는 델타 변수의 부호에 따라 비트값을 반환할 수 있다.
제2 비트 추출 함수(M2)는 신뢰성 임계치(S)에 대한 델타 변수의 값에 따라 비트값을 반환할 수 있다. 특히, -S 및 S에 대한 델타값과 관련된 조건을 테스트함으로써 비트값을 결정할 수 있다.
이러한 실시예에서, 제1 비트 추출 함수(M1)(21)는 다음과 같이 정의될 수 있다:
- 델타값이 엄밀히 양수인 경우(델타>0), 추출된 비트(bi)의 값은 '1'로 설정된다(bi=1).
- 그 외의 경우, 즉, 델타값이 음수 또는 널인 경우(델타≤0), 비트(bi)의 값은 '0'으로 설정된다(bi=0).
또한, 제2 비트 추출 함수(M2)(22)는 다음과 같이 정의될 수 있다:
- 델타값이 -S보다 작거나(즉, -S보다 엄밀히 작거나) 또는 S보다 클 경우(즉, S보다 엄밀히 클 경우)(DELTA<-S 또는 DELTA>S), 추출된 비트(bi)의 값은 '0'으로 설정된다(bi=0).
- 그 외의 경우, 즉, 델타값이 간격[-S,S]에 포함되면 추출된 비트(bi)의 값은 '1'로 설정된다(bi=1).
코드 워드인 헬퍼 데이터 및 에러 정정 코드에 대한 디코더에 기반한 키 추출을 주로 사용하는 종래의 퍼지 추출과 비교할 때, 특정 실시예에 따라 M1으로 얻은 헬퍼 데이터 비트는, 헬퍼 데이터의 비트를 '1'로 고려하는 것으로 충분하기 때문에 복잡하지 않게 키를 추출할 수 있다. 그러나, 제1 비트 추출 함수(M1)에 의해 생성된 헬퍼 데이터를 사용하여 추출된 키 비트의 수는, 신뢰성 있는 비트의 수가 제조 프로세스에 따라 달라질 수 있고 따라서 예측할 수 없으므로 일정하지 않을 수 있다.
비밀 정보 추출기(3)는, 특정 실시예에 따라 비트 추출 함수(M1 및 M2)로 생성된 헬퍼 데이터를 사용하여 상황을 극복한다. 사용 단계에서, p개의 등록된 챌린지가 적용되어 각 챌린지에 대해 델타값을 제공한다. 각각의 인가되는 챌린지에 대해, 비밀 정보 추출기(3)는 사용 단계 동안 인가되는 챌린지에 대응하는 헬퍼 데이터 비트를 판독하고 판독한 값에 따라 헬퍼 데이터 비트로부터 적용될 비트 추출 함수를 결정하도록 구성된 보조 비트 추출 함수(30)를 사용할 수 있다. 헬퍼 데이터 비트의 값이 '0'인 경우, 사용 단계 동안 챌린지에 대해 측정된 델타값을 사용하여 챌린지에 대응하는 키 비트를 생성하기 위해 제1 비트 추출 함수(M1)(21)가 적용된다. 그 외의 경우, 즉, 헬퍼 데이터 비트의 값이 '1'이면, 사용 단계 동안 챌린지에 대해 측정된 델타값을 사용하여 챌린지에 대응하는 키 비트를 생성하기 위해 제2 비트 추출 함수(M2)(22)가 적용된다.
일 실시예에서, 헬퍼 데이터 생성부는 등록된 챌린지의 적용에 응답하여 측정된 델타값의 확률 분포로부터 등록 단계에서 신뢰성 임계치(S)를 선택하기 위한 신뢰성 임계치 생성부(5)를 포함할 수 있다. 특히, 신뢰성 임계치 생성부는 물리 변수차가 신뢰성 임계치의 마이너스 값(-S)보다 엄밀히 작은 값 또는 신뢰성 임계치(S)보다 엄밀히 큰 값을 취할 확률(Prob(DELTA<-S 또는 DELTA>S))과 관련된 조건으로부터 등록 단계 동안의 신뢰성 임계치(S)를 결정할 수 있다. 이 조건은 상기 확률이 사전에 정의된 확률값(Pt)와 같으면 만족되며, 상기 사전에 정의된 확률값은 '1'보다 엄밀히 작다(Pt<1). 이러한 조건은 아래의 식(1)에 의해 정의된다:
Prob(DELTA<-S 또는 DELTA>S)=Pt (1)
따라서, 신뢰성 임계치(S)는, 델타값이 -S보다 엄밀히 작거나 또는 S보다 엄밀히 큰 값을 취할 확률이 사전에 정의된 확률값(Pt)과 같아지도록 결정될 수 있다.
일 실시예에서, 사전에 정의된 확률값(Pt)은 0.5(1/2) 부근에서 선택될 수 있다. 특히, 사전에 정의된 확률값(Pt)은 1/2(0.5)로 설정될 수 있다. 일부 실시예에 대한 다음 설명은 사전에 정의된 확률값(Pt)이 1/2과 같은 경우에 대한 것이지만, 당업자는 다른값들이 선택될 수 있다는 것을 쉽게 이해할 것이다.
임계치(S)는, 델타값이 -S보다 엄밀히 작거나 또는 S보다 엄밀히 큰 값을 취할 확률이 1/2이 되도록 결정될 수 있다:
Prob(DELTA<-S 또는 DELTA>S)= 1/2 (2)
이는 델타 분포의 표준 편차(SIGMA)의 값 0.67449에 해당한다. 따라서 S는 인자 0.67449와 표준 편차(SIGMA)의 곱으로 결정될 수 있다.
대안적으로, 조건(1)을 만족하는 신뢰성 임계치는 미리 계산되어 헬퍼 데이터 발생기(2)에 입력될 수 있다.
따라서, 헬퍼 데이터 생성부(4)는, 복잡한 하드웨어 구현을 요구하지 않고, 등록 단계 동안 최적의 비트 추출 함수를 선택하여 신뢰성 있는 키 비트를 생성할 수 있게 한다.
도 3은 PUF 물리적 출력의 분포를 나타내는 3개의 다이어그램(A, B, C)를 보여준다. 여기서, y축은 특정 델타 변수값을 가지는 확률(확률 분포 함수(pdf))을 나타내고, x축은 델타 변수값을 나타낸다.
다이어그램(A)는 제1 비트 추출 함수에 의해 할당된 비트값을 델타 변수의 함수로 도시한다.
다이어그램(B)는 제2 비트 추출 함수에 의해 할당된 비트값을 델타 변수 및 신뢰성 임계치의 함수로 도시한다.
다이어그램(C)는 본 발명의 일부 실시예에 따른 M1 및 M2 중 비트 추출 함수의 선택을 도시한다.
일 실시예에서, 도 3에 도시된 바와 같이, 지연 기반 PUF의 분포는 중심이 있는 정규 법칙(대략 가우시안)을 따른다. 도 3의 다이어그램은 델타 변수 및 잡음의 분포를 고려한다. 높은 신뢰성을 가지는 PUF에 있어서, 검정으로 표시된 중앙 영역은, 이 영역이 보다 신뢰할 수 없는 데이터(신뢰할 수 없는 데이터)에 대응하기 때문에 가능한 좁은 것이 바람직하다. 도 3의 예에서, 임계치(S)의 선택된 위치는, 델타값이 -S보다 엄밀히 작은 값 또는 S보다 엄밀히 큰 값을 취할 확률이 식(1)에 따라 '1/2'과 같도록 결정된다: Prob(DELTA<-S 또는 DELTA>S)=1/2.
도 3의 다이어그램(C)을 참조하여, 다음을 확인할 수 있다:
- 델타값이 '0'에 근접할 경우([-n,n] 내에 포함), 추출기(M2)(22)가 사용된다.
- 델타값이 -S 또는 S에 근접할 경우([-n-S,-S+n] 또는 [-n+S,S+n] 내에 포함), 추출기(M1)(21)가 사용된다.
- 그 외의 경우, 비트 추출 함수들 중 하나(M1 및 M2 중 하나)가 랜덤하게 사용될 수 있다.
상기 예에서와 같이, 신뢰할 수 없는 영역(도 3의 검정으로 표시된 중앙 협소 영역)으로부터 충분히 멀리 떨어져 있도록 하는 비트 추출 함수(M1 또는 M2)가 항상 존재한다. 이러한 예에서, 이는 헬퍼 데이터 생성부(2)에 의해 전달되는 비트의 신뢰성을 보증한다.
이와 같이 얻어진 헬퍼 데이터는 관계(Prob(DELTA<-S 또는 DELTA>S)=1/2)가 만족되기 때문에 키 비트에 관한 어떤 정보도 제공하지 않는다. 즉, 이는 헬퍼 데이터 비트를 안 상태에서 키 비트가 '1'(일)과 같은 값을 취할 확률이 헬퍼 데이터 비트를 안 상태에서 키 비트가 '0'(영)과 같은 값을 취할 확률과 동일하다는 것을 의미한다. 두 확률 함수는 1/2과 같다.
Prob(비트=헬퍼 비트를 아는 '1')=Prob(비트=헬퍼 비트를 아는 '0')=1/2 (3)
본 발명은 공격에 대한 저항을 제공하는 이점을 가진다. 공격자가 헬퍼 데이터를 수정하면 어떠한 정보도 검색할 수 없다.
대안적인 실시예에서, 각 헬퍼 데이터 비트는 제1 신뢰성 임계치(S1) 및 제2 신뢰성 임계치(S2)를 포함하는 한 쌍의 신뢰성 임계치를 사용하여 델타값으로부터 결정될 수 있다.
신뢰성 임계치(S1, S2)는 제1 신뢰성 임계치(S1)가 S2+2n보다 엄밀히 크도록 결정될 수 있고(S1>S2+2n), 여기서 n은 최대 잡음 레벨을 나타낸다. 주어진 델타값에 대해 [DELTA-n,DELTA+n] 간격 내에 잡음이 존재한다고 가정한다.
이러한 실시예에서, 선택부(20)는 델타값 및 신뢰성 임계치(S1, S2)와 관련된 조건을 테스트하여 제1 비트 추출 함수(M'1)(21) 및 제2 비트 추출 함수(M'2)(22) 중에서 하나의 비트 추출 함수를 선택하도록 구성될 수 있다.
각 비트 추출 함수(21, 22)는 제1 및 제2 신뢰성 임계치(S1, S2)로부터 도출된 값에 대한 물리적 변수차의 값과 관련된 다른 조건에 따라 비트값을 제공할 수 있다.
보다 구체적으로, 선택부(20)는 다음과 같이 선택하도록 구성될 수 있다:
- 델타값(물리적 변수차)이 -S2 또는 S1에 근접한 경우(즉, 델타값이 제2 신뢰성 임계치의 마이너스 값(-S2)을 중심으로 하는 제1 작은 간격 또는 제1 신뢰성 임계치(S1)를 중심으로 하는 제2 작은 간격 내에 위치하는 경우)로서, 즉, 델타값이 간격([-S2-n,-S2+n] 또는 [S1-n,S1+n]) 내에 포함되어 -S2 또는 S1에 근접한다고 간주되는 경우(즉, 제1 및 제2 간격의 범위는 최대 잡음 레벨의 두 배(2n)와 같다), 제1 비트 추출 함수(M'1)(21).
- 델타값(물리적 변수차)이 -S1 또는 S2에 근접한 경우(즉, 델타값이 제1 신뢰성 임계치의 마이너스 값(-S1)을 중심으로 하는 제3 작은 간격 또는 제2 신뢰성 임계치(S2)를 중심으로 하는 제4 작은 간격 내에 위치하는 경우)로서, 즉, 델타값이 간격([-S1-n,-S1+n] 또는 [S2-n,S2+n])에 포함되어 -S1 또는 S2에 근접한다고 간주되는 경우(즉, 제3 및 제4 간격의 범위는 최대 잡음 레벨의 두 배(2n)와 같다), 제2 비트 추출 함수(M'2)(22).
- 그 외의 경우(델타값이 간격([-S2-n,-S2+n], [S1-n,S1+n], [-S1-n,-S1+n] 및 [S2-n,S2+n])에서 벗어난 경우), 선택부(20)는 비트 추출 함수 중 임의의 것(M'1 및 M'2 중 하나)을 예를 들어 랜덤하게 선택하는, 비트 추출 함수 중 임의의 것(M'1 및 M'2 중 하나).
각 비트 추출 함수(M'1 또는 M'2)는 비트를 델타 변수값의 함수로 제공한다.
한 쌍의 신뢰성 임계치를 사용하는 그러한 실시예들에서, 제1 비트 추출 함수 (M'1)(21)는 다음과 같이 정의될 수 있다:
- 델타값이 제1 임계치의 마이너스 값(-S1)보다 엄밀히 크거나 제2 임계치의 마이너스 값(-S2)보다 엄밀히 작으며, 여기서 S1>S2>0인 경우, 추출된 비트(bi)의 값은 '1'로 설정된다(bi=1).
- 그 외의 경우, 추출된 비트(bi)의 값은 '0'으로 설정된다(bi=0).
제2 비트 추출 함수(M'2)(22)는 다음과 같이 정의될 수 있다:
- 델타값이 제2 임계치의 마이너스 값(-S2)보다 엄밀히 크거나 제1 임계치(S1)보다 엄밀히 작으며, 여기서 S1>S2>0인 경우, 추출된 비트(bi)의 값은 '1'로 설정된다(bi=1).
- 그 외의 경우, 추출된 비트(bi)의 값은 '0'으로 설정된다(bi=0).
신뢰성 임계치 생성부(5)(도 2에 도시됨)는 등록된 챌린지의 적용에 응답하여 측정된 델타값의 확률 분포로부터 등록 단계에서 제1 및 제2 신뢰성 임계치(S1, S2)를 선택하도록 구성될 수 있다. 특히, 신뢰성 임계치 생성부(5)는, 델타값이 -Si보다 엄밀히 작은 값 또는 Si보다 엄밀히 큰 값을 취할 확률이 사전에 정의된 확률값(Pti)과 같도록 각 임계치(Si)를 결정할 수 있다. 사전에 정의된 확률값(Pti)은 1보다 엄밀히 작을 수 있다. 따라서, 제1 신뢰성 임계치(S1)(i=1)는, 델타값이 -S1보다 엄밀히 작은 값 또는 S1보다 엄밀히 큰 값을 취할 확률이 제1 사전에 정의된 확률값(Pt1)과 같도록 결정될 수 있고, 여기서 제1 사전에 정의된 확률값(Pt1)은 1보다 엄밀히 작다:
Prob(DELTA<-S1 또는 DELTA>S1)=Pt1 (4)
유사하게, 제2 신뢰성 임계치(S2)(i=2)는, 델타값이 -S2보다 엄밀히 작은 값 또는 S2보다 엄밀히 큰 값을 취할 확률이 제2 사전에 정의된 확률값(Pt2)과 같도록 결정될 수 있고, 여기서 제2 사전에 정의된 확률값(Pt2)은 1보다 엄밀히 작다:
Prob(DELTA<-S2 또는 DELTA>S2)=Pt2 (5)
또한, 일 실시예에서, 제1 및 제2 임계치는, 델타값이 -S1보다 엄밀히 작은 값 또는 S2보다 엄밀히 큰 값을 취할 확률이 보조 확률값(Pt12)와 같도록 더 결정될 수 있고, 여기서 보조 확률값(Pt12)은 1보다 엄밀히 작다:
Prob(DELTA<-S1 또는 DELTA>S2)=Pt12 (6)
일 실시예에서, 보조 확률값은 제1 확률값과 제2 확률값의 합의 함수이며, 여기서 제1 확률값은 제2 확률값보다 크다.
일 실시예에서, 확률값(Pt1, Pt2, Pt12)은 다음을 만족시킬 수 있다:
Figure pat00001
일 실시예에서, 사전에 정의된 확률값(Pt12)은 1/2로 설정되고, 따라서 Pt1+Pt2는 Pt1+Pt2=1을 만족시킬 수 있다. 다음으로, 델타값이 -S1보다 엄밀히 작은 값 또는 S2보다 엄밀히 큰 값을 취할 확률이 다음과 같도록 임계치(S1, S2)가 결정될 수 있다:
(Prob(DELTA<-S1 또는 DELTA>S2)= 1/2 (8)
대안적으로, 조건(1)을 만족하는 2개의 신뢰성 임계치(S1, S2)가 사전에 계산되어 헬퍼 데이터 생성부(2)에 입력될 수 있다.
따라서, 헬퍼 데이터 생성부(2)는, 복잡한 하드웨어 구현을 요구하지 않고, 등록 단계 동안 최적의 비트 추출 함수를 선택하여 신뢰성 있는 키 비트를 생성할 수 있게 한다.
도 4는 PUF 물리적 출력의 분포를 나타내는 세 개의 다이어그램(A, B, C)를 보여준다. 여기서, y축은 특정 델타 변수값을 가지는 확률을 나타내고, x축은 델타 변수값을 나타낸다.
다이어그램(A)는 제1 비트 추출 함수(M'1)에 의해 할당된 비트값을 델타 변수의 함수로 도시한다.
다이어그램(B)는 제2 비트 추출 함수(M'2)에 의해 할당된 비트값을 델타 변수 및 신뢰성 임계치의 함수로 도시한다.
다이어그램(C)는 본 발명의 일부 실시예에 따른 M'1 및 M'2 중 비트 추출 함수의 선택을 도시한다.
도 4에 도시된 바와 같이, 지연 기반 PUF의 분포는 중심이 있는 정규 법칙(대략 가우시안)으로 나타난다. 도 4의 예에서, 임계치(S1, S2)의 값들의 위치는 델타값이 -S1보다 엄밀히 낮은 값 또는 S2보다 엄밀히 큰 값을 취할 확률이 다음과 같도록 결정된다:
Prob(DELTA<-S1 또는 DELTA>S2)= 1/2 (9)
도 4의 다이어그램(C)에 도시된 바와 같이,
- 델타값이 -S1 또는 S2에 근접하면(-S1 또는 S2 주위의 +/- 간격 내에 포함) 추출기(M'2)(22)가 사용된다.
- 델타값이 -S2 또는 S1에 근접하면(-S2 또는 S1 주위의 +/- 간격 내에 포함) 추출기(M'1)(21)가 사용된다.
- 그 외의 경우, 비트 추출 함수들 중 하나(M'1 및 M'2 중 하나)가 랜덤하게 사용될 수 있다.
따라서, 본 실시예에서도, 신뢰할 수 없는 영역으로부터 충분히 멀리 떨어져 있도록 하는 비트 추출 함수(21 또는 22)가 항상 존재하여, 헬퍼 데이터 비트의 신뢰성을 보증한다.
이와 같이 얻어진 헬퍼 데이터는 조건(Prob(델타<-S1 또는 델타>S2)=1/2)이 만족되면 키 비트에 대한 어떤 정보도 제공하지 않는다. 다시 말해서, 이는 헬퍼 데이터 비트를 안 상태에서 키 비트가 '1'(일)과 같은 값을 취할 확률이 헬퍼 데이터 비트를 안 상태에서 키 비트가 '0'(영)과 같은 값을 취할 확률과 동일하다는 것을 의미한다. 두 확률 함수는 다음의 식(3)에 따라 1/2과 같다.
Prob(비트=헬퍼 비트를 아는 '1')=Prob(비트=헬퍼 비트를 아는 '0')=1/2 (3)
따라서, 이러한 실시예들에서, 공격자가 헬퍼 데이터를 수정하려고 시도하면, 그 공격자는 그 키와 연관된 어떠한 정보도 검색 할 수 없을 것이다.
본 발명의 특정 실시예에 대한 다음의 설명은 단지 설명의 목적을 위한 것으로, 도 3에 도시된 고유한 신뢰성 임계치(S) 및 비트 추출 함수(M1, M2)를 사용하는 실시예에 대한 것이다. 그러나, 당업자는 본 발명이 다른 실시예들에 적용될 수 있다는 것을 쉽게 이해할 것이다.
도 5는 PUF의 등록 단계 동안 환경 변화를 고려하여 헬퍼 데이터를 생성하는 전자 시스템(100)의 다른 실시예를 도시한다.
지연 기반 PUF의 환경 변화(온도 또는 공급 전압 변화와 같은 환경 요인)는 임계치(S)의 변화를 초래할 수 있다.
환경 변화가 임계치(S)에 미치는(결과적으로 PUF의 신뢰성에 영향을 미치는) 영향을 피하기 위해서, 키 추출부(3)는, 사용 단계에서 임계치(S)를 동적으로 정정하기 위한 보조 신뢰성 임계치 생성부(32)를 더 포함할 수 있다.
신뢰성 임계치 정정부(32)는 현재 임계치 값을 나타내는 기준 임계치(Sref) 및 기준 시간(Tref)을 사용하여 임계치(S)의 값을 업데이트하도록 구성될 수 있다.
기준값(Tref, Sref)은 등록 단계 동안 생성될 수 있다. 기준 시간(Tref)은 주어진 공개 기준 챌린지(예를 들어,'0'과 동일한 챌린지)로 얻을 수 있는 지연 체인의 특정 시간을 나타낸다.
기준 임계치(Sref)는 델타 분포의 표준 편차(SIGMA)를 산출함으로써 결정될 수 있다. 여기서, 속성(Prob(DELTA<-S 또는 DELTA>S)=Pt)을 만족시키기 위하여, 임계치(Sref)는 SIGMA와 '1'보다 작은 선택된 인자의 곱과 실질적으로 같을 수 있으며, 여기서 Pt는 예를 들어 1/2과 같을 수 있다. 여기서 Tref, Sref 및 델타에 대한 환경의 영향이 동일하기 때문에, 선택된 인자는 바람직하게는 0.6745(따라서 Sref=0.6745SIGMA)이다.
특정 실시예에서, 헬퍼 데이터 생성부(4)는 등록 단계 동안 생성된 헬퍼 데이터에 기준 임계치(Sref) 및 기준 시간(Tref)을 삽입할 수 있다. 그러한 실시예에서, 헬퍼 데이터는 다음 2개의 비트 부분들의 연결을 포함할 수 있다.
- 비트 추출 함수(M1/M2)를 사용하여 헬퍼 데이터 생성부에 의해 생성된 p개의 헬퍼 데이터 비트를 포함하는 제1 부분.
- 기준값(Sref, Tref)을 포함하는 제2 부분.
따라서 기준값은 헬퍼 데이터에 포함된다.
대안적으로, 헬퍼 데이터는 저장 장치(5)의 데이터 구조를 사용하여 기준값들과 연관되어 저장될 수 있다. 이러한 데이터 구조는 각 엔트리에 대해 다음을 포함하는 값의 트리플렛을 포함할 수 있다:
- 헬퍼 데이터 비트들,
- 기준 임계치(Sref), 및
- 기준 시간(Tref).
이러한 실시예에서, 헬퍼 데이터는 측정이 이루어지는 기준 시간(Tref) 및 간접적으로 주파수값을 내장한다(또는 이와 연관된다). 온도 또는 전압과 같은 새로운 조건이 나타나고 기준 조건에 영향을 주면 감지된 변경 사항이 S에 동적으로 적용될 수 있다.
보다 구체적으로, 보조 임계치 생성부(32)는 신뢰성 임계치(Sref)에 정정 인자를 적용하여 각 사용 단계에서 신뢰성 임계치(S)의 값을 결정할 수 있다. 정정 인자는 사용 단계에서 공개 기준 챌린지로 측정된 시간을 나타내는 측정된 시간(Tmeas) 및 헬퍼 데이터에 포함된 절대 기준 시간(Tref)에 따라 달라질 수 있다.
일 실시예에서, 정정 인자는 비율(Tmeas/Tref)에 의해 정의될 수 있으며, 여기서 Tmeas는 기준 시간(Tref)에 대한 것과 동일한 기준 챌린지에 대해 측정된 시간을 나타낸다. 신뢰성 임계치(S)는 다음과 같이 결정될 수 있다:
S=Sref×Tmeans/Tref (10)
헬퍼 데이터에 대한 공격을 피하기 위해, 일 실시예에서, 기준 파라미터(Sref, Tref)가 인코딩될 수 있다. 일 실시예에서, 기준 파라미터(Sref, Tref)는 배타적 OR 연산을 적용함으로써 제1 비트 추출 함수(M1)(21)을 사용하여 얻어진 키 비트와 연결될 수 있다. 비트 추출 함수(M1)은 신뢰성(S)에 독립적이므로, 기준값(Sref, Tref)은 제1 비트 추출 함수(M1)를 사용하여 얻어진 키 비트로 배타적 논리합(XOR) 연산을 함으로써 디코딩될 수 있다.
다른 실시예에서, 보조 신뢰성 임계치 생성부(32)는 사용 단계 동안 인가되는 p개의 챌린지에 대해 측정된 델타값의 확률 분포를 사용하여 사용 단계에서 신뢰성 임계치를 결정할 수 있다. 이러한 실시예에서, 헬퍼 데이터는 기준값(Sref, Tref)을 내장하지 않고, 비트 추출 함수(M1/M2)로 생성된 헬퍼 데이터 비트만을 포함할 수 있다. 환경 변화가 PUF에 미치는 영향을 제한하기 위해, 일 실시예에서는, 각 사용 단계에서 임계치(S)가 산출되어, 델타 변수의 절대값이 임계치(S)보다 큰 값을 취할 확률이, 1보다 작은 사전에 정의된 확률값(Pt')과 같을 수 있다.
Prob(|Delta|>S) =Pt' (11)
바람직한 실시예에서, 사전에 정의된 확률값(Pt')은 1/2과 동일하다.
이 신뢰성 임계치(S)는 다음과 같이 결정될 수 있다:
- 사용 단계 동안 적용된 p개의 챌린지에 대해 측정된 델타값에 대응하는 델타 분포의 표준 편차(SIGMA)를 산출하는 단계.
- SIGMA와 1보다 작은 선택된 인자를 곱하여 S를 결정하는 단계로서, 일실시예에서, 선택된 인자는 유리하게도 0.6745(S=0.6745SIGMA)와 동일하여 식(1)에 따라 DELTA에 대한 확률 조건, 특히 조건(Prob(DELTA<-S 또는 DELTA>S)= 1/2)을 만족시킬 수 있는, 단계.
2개의 임계치(S1, S2)를 사용하는 실시예에서, 확률 조건은 식(9)의 조건일 수 있다:
Prob(DELTA<-S1 또는 DELTA>S2)= 1/2
본 발명의 이러한 실시예는 헬퍼 데이터(공개 데이터)와 비밀 키 비트 사이에 의존성이 없음을 보장한다. 따라서, 생성된 헬퍼 데이터는 높은 신뢰성의 PUF를 보장하면서도 비밀 키에 대한 액세스를 방지한다.
본 발명은 헬퍼 데이터를 생성하기 위해 반드시 에러 정정을 사용할 필요는 없다.
도 6은 PUF 물리적 출력의 확률 분포를 도시하는 다이어그램이다. 여기서, y축은 특정 델타 변수값을 가지는 확률(확률 분포 함수(pdf))을 나타내고, x축은 델타 변수값을 나타낸다.
도 6에서,
- 영역 1은 Prob(비트=0|M1 또는 M2)에 해당한다.
- 영역 2는 Prob(비트=0|M1)에 해당한다.
- 영역 3은 Prob(비트=0 또는 1|M1 또는 M2)에 해당한다.
- 영역 4는 Prob(비트=1|M2)에 해당한다.
- 영역 5는 Prob(비트=1|M1 또는 M2)에 해당한다.
- 영역 6은 Prob(비트=1|M1)에 해당한다.
- 영역 7은 Prob(비트=0 또는 1|M1 또는 M2)에 해당한다.
여기서, Prob(비트=val|Mi)은 키 비트(bit)가 값(val)과 같을 확률을 나타내며, 추출기 Mi가 사용됨을 알 수 있다(i=1 또는 2).
도 6에 도시된 바와 같이, 추출기 중 어느 하나(M1 또는 M2)로 비트값 중 어느 하나('0' 또는 '1')를 가질 확률은 실질적으로 1/2과 같다.
본 발명의 일부 실시예는 종래 기술의 해결책과 달리 복잡한 하드웨어를 요구하지 않고, 등록 단계 동안 최상의 추출 방법을 선택할 수 있게 한다.
도 7은 특정 실시예에 따른 헬퍼 데이터 생성 방법의 예비 단계를 도시한다. 이 예비 단계 동안, 델타값 분포는 다음의 단계들에 따라 생성될 수 있다.
단계(600)에서, PUF(10)에 일련의 챌린지를 적용함으로써 등록 단계 동안 헬퍼 데이터가 생성된다.
단계(602)에서, 각각의 인가되는 챌린지에 대해, 델타값은 PUF(10)의 출력에서 측정된다.
단계(604)에서, 델타값은 저장부에 저장된다.
단계(602, 604)는 각각의 인가되는 챌린지에 대해 반복된다(블록(608)).
이와 같이 얻어진 저장부를 사용하여 델타값의 확률 분포를 구할 수 있다.
도 8은 특정 실시예에 따른 등록 단계(도 7) 동안 측정된 델타값을 사용하여 헬퍼 데이터를 생성하는 방법을 나타내는 흐름도이다.
단계(650)에서, 신뢰성 임계치는 저장된 데이터 값의 분포로부터 결정된다.
단계(652)에서, 등록 단계(도 7을 참조하여 기술된) 동안 적용된 각각의 i 번째 챌린지에 대해, 챌린지와 연관된 델타값은 저장부로부터 판독된다.
단계(654)에서, 현재 챌린지와 연관된 헬퍼 데이터의 i번째 헬퍼 데이터 비트는 챌린지에 대해 얻어진 델타값 및 신뢰성 임계치(S)로부터 결정된다.
단계(656)에서, 헬퍼 데이터 비트는 헬퍼 데이터의 비트 위치(i)에 저장된다.
단계(652 내지 656)는 모든 챌린지를 구할 때까지 다른 챌린지에 대해 반복된다(블록(658)).
이와 같이 얻어진 헬퍼 데이터는 p개의 챌린지에 대응하는 적어도 p개의 비트를 포함한다. 기준 임계치 및 시간값과 같은 추가 정보가 헬퍼 데이터에 삽입될 수 있다.
도 9는 특정 실시예에 따른 현재 챌린지에 대해 얻어진 델타값으로부터 도 8의 헬퍼 데이터 비트 결정 단계(단계(654))를 나타내는 흐름도이다.
단계(701)에서, 현재 챌린지에 대해 얻어진 델타값 및 신뢰성 임계치와 관련된 조건을 테스트하여 비트 추출 함수가 선택된다.
단계(702)에서, 선택된 비트 추출 함수(선택에 따라, M1 또는 M2)가 적용되어, 현재의 챌린지와 연관된 헬퍼 데이터 비트를 제공한다.
도 10은 일 실시예에 따른 등록 단계 동안 현재 챌린지에 대해 구현되는 도 9의 비트 추출 선택 단계를 도시한다.
단계(710)에서, 현재 챌린지에 대해 얻어진 델타 변수가 판독된다.
단계(712)에서, 델타 변수가 '0'에 근접한지(특히, 델타 변수가 [-n,n] 내에 포함되는지) 여부가 판단된다. 델타 변수가 0에 근접하다면, 제1 추출 함수(M1)가 단계(714)에서 선택된다.
그렇지 않으면, 델타 변수가 -S 또는 S에 근접한지(특히, 델타 변수가 [-n-S,-S+n] 또는 [-n+S,S+n] 내에 포함되는지) 여부가 단계(716)에서 판단된다. 델타 변수가 -S 또는 S에 근접하다면, 제2 추출 함수(M2)가 단계(718)에서 선택된다. 델타 변수가 -S 또는 S에 근접하지 않다면, 제1 또는 제2 추출 함수는 단계(720)에서 예를 들어 무작위로 선택된다.
도 11은 현재 챌린지에 대한 제1 추출 방법(M1)(도 10의 단계(714))을 적용하는 단계를 도시한다.
단계(1000)에서, 현재 챌린지와 연관된 델타값이 판독된다.
단계(1002)에서, 델타값이 양수인지가 판단된다. 델타값이 양수이면, 현재 챌린지에 대응하는 헬퍼 데이터 비트에 값 '1'이 할당된다(단계(1004)). 델타값이 양수가 아니면, 델타값이 음수이거나 널이면, 현재 챌린지에 대응하는 헬퍼 데이터 비트에 값 '0'이 할당된다(단계(1006)).
도 12는 현재 챌린지에 대한 제2 선택 추출 방법(M2)(도 10의 단계(718))을 적용하는 단계를 도시한다.
단계(1100)에서, 현재 챌린지와 연관된 델타값이 판독된다.
단계(1102)에서, 델타값이 -S보다 엄밀히 작은 값 또는 S보다 엄밀히 큰 값인지 여부가 판단된다. 델타값이 -S보다 엄밀히 작은 값 또는 S보다 엄밀히 큰 값이면, 현재의 챌린지에 대응하는 헬퍼 데이터 비트에 값 '0'이 할당된다(단계(1104)). 그렇지 않다면, 델타값이 음수이면, 현재의 챌린지에 대응하는 헬퍼 데이터 비트에 값 '1'이 할당된다(단계(1106)).
도 13은 일 실시예에 따른 사용 단계 동안 구현되는 헬퍼 데이터로부터 키를 생성하는 방법을 도시한다.
단계(1200)에서, 기준값(Sref, Tref) 및 측정된 시간(Tmeas)에 의존하는 정정 인자를 적용하여 신뢰성 임계치가 결정된다.
여기서, p개의 등록된 챌린지 세트가 PUF에 적용된다(블록(1202)).
각각의 현재 챌린지(i번째 챌린지)에 대해, 단계(1204)에서, 현재 챌린지에 대응하는 델타값이 측정된다.
단계(1206)에서, 현재 챌린지에 대응하는 헬퍼 데이터 비트가 판독된다.
단계(1208)에서, 헬퍼 데이터 비트 및 델타값으로부터 키 비트가 판단되고, 이렇게 얻어진 키 비트는 암호 키의 i번째 키 비트에 대응한다.
단계(1204 내지 1208)는 다른 챌린지에 대해 반복되어, 암호화 키의 p개의 키 비트를 제공한다.
도 14는 다른 실시예에 따른 키 추출 방법의 예비 단계를 도시한다. 사용 단계의 본 예비 단계 동안, p개의 인가되는 챌린지에 대응하는 델타값이 수집되고 신뢰성 임계치는 델타값의 확률 분포로부터 결정될 수 있다.
단계(1300)에서, 단계(600)의 PUF(10)에 p개의 챌린지 세트가 인가된다.
단계(1302)에서, 각각의 인가되는 챌린지에 대해, 델타값이 PUF(10)의 출력에서 측정된다.
단계(1304)에서, 델타값은 저장부에 저장된다.
단계(1302 및 1304)는 각각의 인가되는 챌린지에 대해 반복된다(블록(1306)).
단계(1308)에서, S는 델타값의 분포로부터 결정될 수 있으며, 특히 식(11)에 따라, 델타 변수의 절대값이 임계치(S)보다 큰 값을 취할 확률이 사전에 정의된 값(Pt')과 같도록 결정될 수 있다. 따라서, Pt'가 1/2인 실시예에서, S는 다음 조건을 만족하도록 결정될 수 있다:
Prob(|Delta|>S) =1/2 (12)
여기에는 다음이 포함될 수 있다:
- 단계(1300 내지 1306)에서 수집된 델타값에 대응하는 델타 분포의 표준 편차(SIGMA)를 산출하는 단계.
- 선택된 인자(일 실시예에서 0.6745와 동일)를 SIGMA와 곱함으로써 S를 결정(선택된 인자가 0.6745와 동일한 실시예에서 S=0.6745SIGMA)하는 단계.
일 실시예에서, S는 전술한 바와 같이 동적으로 조정 가능할 수 있다.
도 15는 도 14에서 고려된 실시예에 따른 사용 단계 동안 구현되는 헬퍼 데이터로부터 키를 생성하는 방법을 도시한다.
현재의 각 챌린지에 대해, 챌린지에 대응하는 델타값이 단계(1400)에서 판독된다.
단계(1402)에서, 당해 현재 챌린지에 대응하는 헬퍼 데이터 비트가 판독된다.
단계(1404)에서, 키 비트는 헬퍼 데이터 비트 및 델타값으로부터 결정되며, 키 비트는 암호 키의 i번째 키 비트에 대응하여 구해지고, 이는 도 13의 단계(1308)와 유사하다.
단계(1400 내지 1404)는 p개의 인가되는 챌린지 각각에 대해 반복되어, 암호화 키의 p개의 키 비트를 제공한다.
도 16은 신뢰성 임계치를 결정하는 단계(도 14의 단계(1308))를 설명하는 흐름도이다.
단계(1500)에서, 시간값(Tmeas)은 기준 챌린지에 대해 측정된다.
단계(1502)에서, 기준 임계치(Sref) 및 기준 시간(Tref)은 헬퍼 데이터로부터 검색된다.
단계(1504)에서, 신뢰성 임계치(s)는 S=Sref×Tmeans/Tref로 계산된다.
도 17은 특정 실시예에 따른 도 13 및 도 14의 키 비트 결정 단계(단계(1208 및 1404))를 도시하는 흐름도이다.
단계(1600)에서, 현재 챌린지에 대응하는 헬퍼 데이터 비트가 검색된다.
단계(1602)에서, 헬퍼 데이터 비트의 값이 '0'과 같은지가 결정된다. 헬퍼 데이터 비트의 값이 '0'과 같다면, 제1 비트 추출 방법(M1)이 단계(1602)에서 선택된다. 헬퍼 데이터 비트의 값이 '0'과 같지 않다면, 헬퍼 데이터 비트가 '1'과 같다면, 제2 비트 추출 방법이 단계(1604)에서 선택된다. 단계(1606)에서, 선택된 비트 추출 함수는 현재 챌린지에 해당하는 키 비트값을 제공한다.
도 18은 키 생성의 예시를 보여준다.
인가되는 챌린지에 대해 얻은 델타값을 사용하여 생성된 헬퍼 데이터는 다음과 같다:
Figure pat00002
상기 표에서 hi는 헬퍼 데이터의 i번째 비트를 지정한다.
헬퍼 데이터는 비트들(Si)을 포함하는 인코딩된 기준 임계치 및 비트들(Ti)을 포함하는 인코딩된 기준 시간을 내장한다:
Figure pat00003
헬퍼 데이터 비트에서 생성된 키 비트는 다음과 같이 표시된다:
Figure pat00004
K0, K3, K4 및 K6은 제1 비트 추출 함수(M1)('0'과 같은 헬퍼 데이터 비트에 해당)을 사용하여 생성되었다.
K1, K2 및 K5는 제2 비트 추출 함수(M2)('1'과 같은 헬퍼 데이터 비트에 해당)를 사용하여 생성되었다.
도 18의 예에서, 기준 임계치(Sref)의 비트들은 제1 비트 추출 함수(M1)를 사용하여 생성된 비트들 중 하나(K0, K3, K4 및 K6 중 하나)와 배타적 논리합(XOR) 연산을 적용하여 디코딩될 수 있다. 유사하게, 기준 시간(Tref)의 비트들은 제1 비트 추출 함수(M1)를 사용하여 생성된 비트들 중 하나(K0, K3, K4 및 K6 중 하나)와 배타적 논리합(XOR) 연산을 적용하여 디코딩될 수 있다.
본 발명의 특정 기술적 측면들이 조합되어 기술되었지만, 이들은 특정 애플리케이션들에서 개별적으로 사용될 수 있다는 것을 이해할 것이다.
특히, 상기 실시예가 2개의 비트 추출 함수들 중 하나의 비트 추출 함수의 선택과 연관되어 주로 설명되었지만, 특정 실시예에서, 헬퍼 데이터 생성부(2)는 단지 하나의 비트 추출 함수만을, 특히 제2 비트 추출 함수(M2)만을 포함하고 헬퍼 데이터를 생성하기 위해 그 함수(M2)를 적용할 수 있다. 이것은 키 비트의 신뢰성을 나타내는 비트를 갖는 헬퍼 데이터의 생성을 허용한다.
도 19는 다른 실시예에 따른 비밀 키를 생성하는 전자 시스템을 도시한다. 도시된 바와 같이, 헬퍼 데이터 발생기(2)는 제2 비트 추출 함수(M2)(22)만을 포함한다. 이러한 실시예에서, 신뢰성 임계치(S)는 최대 잡음 레벨(n)로 설정된다(S=n). 전술한 바와 같이, 제2 비트 추출 함수는, DELTA의 값이 임계치(S=n)보다 크거나 임계치의 마이너스 값(-S=-n)보다 작은 경우(즉, DELTA의 절대값이 잡음 레벨(S)의 절대값보다 큰 경우), '0'과 같은 비트값을 할당하고, 그 외의 경우 '1'과 같은 비트값을 할당한다. 그러한 실시예에서, 임계치(S)는 연관된 키 비트가 신뢰성 있는 것으로 간주되는 임계치를 나타낸다. 본 발명의 특정 응용예에서, 키 정보 생성부(3)는 이와 같이 얻어진 헬퍼 데이터의 각 비트의 값을 검사하여 연관된 키 비트의 신뢰성에 관한 정보를 얻을 수 있다. 보다 구체적으로, 그러한 실시예에서, '0'과 같은 헬퍼 데이터 비트는 신뢰할 수 있는 키 비트를 가리키고, '1'과 같은 헬퍼 데이터 비트는 신뢰할 수 없는 키 비트를 가리킨다. 특정 응용예에서, 키 정보 생성부(3)는 따라서 헬퍼 데이터 비트의 값을 검사함으로써 신뢰성 있는 키 비트를 선택할 수 있다. 도 19에 도시된 바와 같은 비밀 키 생성에 대한 본 발명의 가능한 응용예에서, 각각의 키 비트는 제2 추출 함수(22)를 적용하여 생성될 수 있다.
본 발명의 실시예는 또한 환경 변화(온도, 전압)가 신뢰성에 영향을 미치지 않도록 보장한다.
따라서 델타값으로부터 생성된 헬퍼 데이터를 사용하여 얻어진 모든 키 비트는 신뢰할 만한다.
에러 정정 코드(ECC)가 요구되지 않기 때문에, 본 발명의 실시예에 따른 헬퍼 데이터 추출 방법 및 장치는 에러 정정 코드에 대한 공격에 강하다.
상기의 응용예에 국한되지 않더라도, 본 발명의 일부 실시예는 사물인터넷(IoT)과 같은 대용량 시장에 특히 적합하다.
본 명세서에서 설명된 헬퍼 데이터 추출 시스템 및 방법은 하드웨어, 소프트웨어 또는 이들의 조합을 포함하는 다양한 수단에 의해 구현될 수 있다.
본 발명의 실시예가 다양한 예에 대한 설명으로 예시되었고, 이들 실시예가 상당히 상세하게 설명되었지만, 이로써 첨부된 청구 범위의 범위를 제한하거나 제한하는 것이 본 출원인의 의도는 아니다. 추가적인 장점들 및 수정들은 당업자에게 자명할 것이다. 따라서 보다 넓은 관점에서, 본 발명은 도시되고 설명된 특정 세부 사항, 대표적인 방법 및 예시적인 실시예에 제한되지 않는다. 특히, 본 발명은 특정 유형의 지연 기반 PUF에 제한되지 않는다. 또한 본 발명은 헬퍼 데이터의 특정 응용예에 제한되지 않는다.

Claims (15)

  1. 물리적 복제방지 기능(Physically Unclonable Function; PUF)을 포함하는 비밀 정보를 생성하는 전자 시스템으로서, 상기 PUF는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 물리적 변수의 두 값 사이의 차이를 제공하고, 상기 시스템은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여, 상기 PUF에 의해 제공되는 물리적 변수차를 측정하며,
    상기 시스템은,
    - 비트의 세트를 포함하는 헬퍼 데이터를 생성하는 헬퍼 데이터 생성부(2)로서, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되고, 상기 헬퍼 데이터 생성부는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차로부터 각각의 헬퍼 데이터 비트를 생성하는, 상기 헬퍼 데이터 생성부를 포함하며,
    상기 시스템은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 비밀 정보 생성부를 더 포함하는, 전자 시스템.
  2. 제1항에 있어서, 상기 헬퍼 데이터 생성부(2)는 각각의 헬퍼 데이터 비트를 생성하기 위해 적어도 하나의 비트 추출 함수(21)를 적용하고, 각각의 비트 추출 함수는 비트값을 반환하고 물리적 변수차와 관련된 조건에 의존하는, 전자 시스템.
  3. 제2항에 있어서, 상기 적어도 하나의 비트 추출 함수(21)의 조건은 적어도 하나의 신뢰성 임계치(S)에 대한 상기 물리적 변수차의 값에 더 의존하고, 상기 시스템은 등록 단계 동안 상기 적어도 하나의 신뢰성 임계치를 생성하는 임계치 생성부(5)를 포함하는, 전자 시스템.
  4. 제3항에 있어서, 상기 적어도 하나의 신뢰성 임계치는 고유한 임계치를 포함하고, 상기 고유한 임계치는 상기 등록 단계 동안 적용된 다수의 챌린지에 대해 측정된 상기 물리적 변수차의 확률 분포로부터 결정되는, 전자 시스템.
  5. 제4항에 있어서, 상기 고유한 신뢰성 임계치는, 상기 물리적 변수차가 상기 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값을 취하거나 상기 신뢰성 임계치보다 엄밀히 높은 값을 취할 확률과 관련된 조건에 따라 등록 단계 동안 결정되며, 상기 확률이 사전에 정의된 확률값과 같으면 상기 조건은 만족되며, 상기 사전에 정의된 확률값은 '1'보다 엄밀히 낮은 값을 가지는, 전자 시스템.
  6. 제5항에 있어서, 상기 사전에 정의된 확률값은 "1/2"과 같은, 전자 시스템.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서, 상기 적어도 하나의 비트 추출 함수는,
    - 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 높은 값을 가지거나 고유한 신뢰성 임계치보다 엄밀히 낮은 값을 가지는 경우, '1'과 같은 비트값을 반환하고,
    - 물리적 변수차가 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값을 가지거나 고유한 신뢰성 임계치보다 엄밀히 높은 값을 가지는 경우, '0'과 같은 비트값을 반환하는,
    하나의 비트 추출 함수를 포함하는, 전자 시스템.
  8. 제3항에 있어서, 상기 적어도 하나의 신뢰성 임계치는 제1 및 제2 신뢰성 임계치를 포함하고, 상기 제1 신뢰성 임계치는 상기 제2 신뢰성 임계치보다 엄밀히 높은 값을 가지고, 상기 신뢰성 임계치들은 엄밀히 양의 값을 가지며, 적어도 하나의 비트 추출 함수는 상기 제1 및 제2 신뢰성 임계치에 대한 물리적 변수차의 값에 의존하는, 전자 시스템.
  9. 제8항에 있어서, 상기 제1 신뢰성 임계치는 상기 제2 신뢰성 임계치와 최대 잡음 레벨의 두 배의 합보다 엄밀히 큰, 전자 시스템.
  10. 제9항에 있어서, 상기 임계치 생성부(5)는, 상기 물리적 변수차가 상기 제1 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제1 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 제1 확률값과 동일한 값을 가지도록, 상기 등록 단계 동안 상기 제1 신뢰성 임계치를 결정하고,
    상기 임계치 생성부(5)는, 상기 물리적 변수차가 상기 제2 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제2 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 제2 확률값과 동일한 값을 가지도록, 상기 등록 단계 동안 상기 제2 신뢰성 임계치를 결정하며,
    상기 제1 확률값 및 제2 확률값은 양의 값을 가지며 엄밀히 '1'보다 작은, 전자 시스템.
  11. 제10항에 있어서, 상기 물리적 변수차가 상기 제1 신뢰성 임계치의 마이너스 값보다 엄밀히 낮은 값 또는 상기 제2 신뢰성 임계치의 값보다 엄밀히 높은 값을 취할 확률이 보조 확률값과 동일한 값을 가지도록, 각각의 신뢰성 임계치가 상기 등록 단계 동안 더 결정되는, 전자 시스템.
  12. 제11항에 있어서, 상기 보조 확률값은 상기 제1 확률값과 상기 제2 확률값의 합의 함수이며, 상기 제1 확률값은 상기 제2 확률값보다 큰, 전자 시스템.
  13. 제12항에 있어서, 상기 제1 확률값과 상기 제2 확률값의 합은 '1'과 같은, 전자 시스템.
  14. 제2항 내지 제13항 중 어느 한 항에 있어서, 상기 비밀 정보 생성부(3)는 상기 헬퍼 데이터 비트의 값에 따라 상기 적어도 하나의 비트 추출 함수 중 하나를 선택하고, 선택된 비트 추출 함수를 적용하여 키 비트를 생성하는, 전자 시스템.
  15. PUF 회로를 사용하여 비밀 정보를 생성하는 방법으로서,
    상기 PUF 회로는 상기 PUF에 인가되는 챌린지에 응답하여 상기 PUF의 2개의 경로 사이의 물리적 변수차를 제공하도록 구성되고, 상기 방법은 등록 단계 동안 일련의 챌린지를 적용하고, 각 챌린지에 응답하여 상기 PUF에 의해 제공되는 물리적 변수차를 측정하는 단계를 포함하되,
    상기 방법은,
    - 비트들의 세트를 포함하는 헬퍼 데이터를 생성하는 단계를 포함하며, 상기 헬퍼 데이터의 비트는 각각의 인가되는 챌린지와 연관되어 생성되고, 상기 헬퍼 데이터를 생성하는 단계는 상기 연관된 챌린지의 적용에 응답하여 상기 PUF에 의해 측정된 물리적 변수차로부터 각 헬퍼 데이터 비트를 생성하는 단계를 포함하며,
    상기 방법은 상기 헬퍼 데이터로부터 비밀 정보를 추출하는 단계를 더 포함하는, 비밀 정보를 생성하는 방법.
KR1020170178851A 2016-12-23 2017-12-22 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법 KR102079854B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306808.3 2016-12-23
EP16306808.3A EP3340215B1 (en) 2016-12-23 2016-12-23 System and method for generating secret information using a high reliability physically unclonable function

Publications (2)

Publication Number Publication Date
KR20180074612A true KR20180074612A (ko) 2018-07-03
KR102079854B1 KR102079854B1 (ko) 2020-02-20

Family

ID=58264332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170178851A KR102079854B1 (ko) 2016-12-23 2017-12-22 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법

Country Status (4)

Country Link
US (1) US11005668B2 (ko)
EP (1) EP3340215B1 (ko)
KR (1) KR102079854B1 (ko)
CN (1) CN108243007B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200028661A (ko) * 2018-09-07 2020-03-17 충북대학교 산학협력단 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 결정 시간을 이용한 응답 신호의 불안정성을 감지하는 장치 및 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3563516B1 (en) * 2016-12-30 2020-09-16 Robert Bosch GmbH Pseudo-random generation of matrices for a computational fuzzy extractor and method for authentication
WO2018183572A1 (en) * 2017-03-29 2018-10-04 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
US11050574B2 (en) 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
JP7114833B2 (ja) * 2018-01-22 2022-08-09 ブリルニクスジャパン株式会社 固体撮像装置、固体撮像装置の駆動方法、および電子機器
CN109063515B (zh) * 2018-07-10 2020-09-04 湖北工业大学 针对仲裁器puf的可靠性增强结构及其增强方法
CN109033895B (zh) * 2018-07-16 2020-04-21 东南大学 一种基于改进的dapuf电路的轻量级认证体系
US11456865B2 (en) * 2018-11-13 2022-09-27 Ares Technologies, Inc. Biometric scanner apparatus and methods for its use
KR20220041048A (ko) * 2019-06-07 2022-03-31 오하이오 스테이트 이노베이션 파운데이션 하이브리드 부울 네트워크를 물리적으로 복제할 수 없는 함수로 사용하는 시스템 및 방법
US11783092B2 (en) * 2020-02-10 2023-10-10 Taiwan Semiconductor Manufacturing Company Limited Systems and methods for classifying PUF signature modules of integrated circuits
KR20210102740A (ko) * 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US11804971B2 (en) 2020-08-05 2023-10-31 Analog Devices, Inc. Correcting physical unclonable function errors based on short integers solutions to lattice problems
EP4047587A1 (en) * 2021-02-22 2022-08-24 HENSOLDT Sensors GmbH Chip device and method for a randomized logic encryption
US12047518B2 (en) 2021-03-18 2024-07-23 Analog Devices, Inc. Delay based PUF implementation with integrated determination of optimum configuration
CN115865353B (zh) * 2023-02-23 2023-05-30 湖北工业大学 基于瞬态效应环形振荡器的强puf电路及响应生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069190A2 (en) * 2005-12-14 2007-06-21 Nxp B.V. On-chip estimation of key-extraction parameters for physical tokens
US20140089685A1 (en) * 2011-06-02 2014-03-27 Mitsubishi Electric Corporation Key information generation device and key information generation method
EP2773061A2 (en) * 2013-02-28 2014-09-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2964278A1 (fr) * 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
US8525169B1 (en) * 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
GB2507988A (en) * 2012-11-15 2014-05-21 Univ Belfast Authentication method using physical unclonable functions
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US9787480B2 (en) * 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
DE102013227166B4 (de) * 2013-12-27 2016-01-14 Siemens Aktiengesellschaft Schaltkreiseinheit zur Bereitstellung eines kryptographischen Schlüssels
EP3332402B1 (en) * 2015-08-06 2020-10-07 Intrinsic ID B.V. Cryptographic device having physical unclonable function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069190A2 (en) * 2005-12-14 2007-06-21 Nxp B.V. On-chip estimation of key-extraction parameters for physical tokens
US20140089685A1 (en) * 2011-06-02 2014-03-27 Mitsubishi Electric Corporation Key information generation device and key information generation method
EP2773061A2 (en) * 2013-02-28 2014-09-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Saqib, Fareena, et al. "An ASIC Implementation of a Hardware-Embedded Physical Unclonable Function." IET Computers & Digital Techniques 8.6 (2014)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200028661A (ko) * 2018-09-07 2020-03-17 충북대학교 산학협력단 상호 보완적인 응답을 갖는 물리적 복제 방지 기능 회로에 적용 가능한 응답 결정 시간을 이용한 응답 신호의 불안정성을 감지하는 장치 및 방법

Also Published As

Publication number Publication date
US11005668B2 (en) 2021-05-11
CN108243007A (zh) 2018-07-03
CN108243007B (zh) 2021-01-12
EP3340215A1 (en) 2018-06-27
US20180183614A1 (en) 2018-06-28
KR102079854B1 (ko) 2020-02-20
EP3340215B1 (en) 2024-05-22

Similar Documents

Publication Publication Date Title
KR102079854B1 (ko) 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하여 비밀 정보를 생성하는 시스템 및 방법
KR102080375B1 (ko) 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하는 비밀 키 생성 시스템
KR102656990B1 (ko) 물리적 복제 방지 기능을 갖는 암호화 디바이스
Delvaux et al. Fault injection modeling attacks on 65 nm arbiter and RO sum PUFs via environmental changes
Armknecht et al. A formalization of the security features of physical functions
US9501664B1 (en) Method, apparatus and system to compensate for drift by physically unclonable function circuitry
Baturone et al. Improved generation of identifiers, secret keys, and random numbers from SRAMs
Kodýtek et al. Improved ring oscillator PUF on FPGA and its properties
KR20120118475A (ko) 물리적 복제불가 기능을 포함한 실리콘 집적 회로 및 이러한 회로를 테스트하기 위한 방법 및 시스템
US8950008B2 (en) Undiscoverable physical chip identification
CN106919764B (zh) 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法
Hemavathy et al. Arbiter puf—a review of design, composition, and security aspects
Sauer et al. Sensitized path PUF: A lightweight embedded physical unclonable function
Immler et al. Practical aspects of quantization and tamper-sensitivity for physically obfuscated keys
Zalivaka et al. FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability
Naveenkumar et al. Design and evaluation of XOR arbiter physical unclonable function and its implementation on FPGA in hardware security applications
Hu et al. Compact PUF design with systematic biases mitigation on Xilinx FPGAs
US10027492B1 (en) Method of and circuit for generating a physically unclonable function
CN113507362B (zh) 基于四元组比较策略的ro puf密钥生成方法
Usmani Applications Of Physical Unclonable Functions on ASICS and FPGAs
Tebelmann Side-Channel Analysis and Countermeasures for Physical Unclonable Functions
Masoumi et al. Design and implementation of a ring oscillator-based physically unclonable function on field programmable gate array to enhance electronic security
Kodýtek et al. Three counter value based ROPUFs on FPGA and their properties
Zadeh et al. Application of simple power analysis to stream ciphers constructed using feedback shift registers
Farahmandi et al. CAD for PUF Security

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