KR101366376B1 - 신호 제너레이터에 기반한 장치 보안 - Google Patents

신호 제너레이터에 기반한 장치 보안 Download PDF

Info

Publication number
KR101366376B1
KR101366376B1 KR1020087019908A KR20087019908A KR101366376B1 KR 101366376 B1 KR101366376 B1 KR 101366376B1 KR 1020087019908 A KR1020087019908 A KR 1020087019908A KR 20087019908 A KR20087019908 A KR 20087019908A KR 101366376 B1 KR101366376 B1 KR 101366376B1
Authority
KR
South Korea
Prior art keywords
subset
value
signal generator
volatile
circuit
Prior art date
Application number
KR1020087019908A
Other languages
English (en)
Other versions
KR20080106180A (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 KR20080106180A publication Critical patent/KR20080106180A/ko
Application granted granted Critical
Publication of KR101366376B1 publication Critical patent/KR101366376B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • 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

Abstract

장치에 내장된 복수의 신호 제너레이터 회로에서 서브세트가 선택되고, 상기 장치에 대한 휘발성 값은 선택된 상기 서브세트로부터 생성된다. 상기 휘발성 값은 장치의 인증 및/또는 상기 장치에서 수행되는 암호화 절차를 위하여 사용될 수 있다. 신호 제너레이터 회로는 오실레이터 회로를 포함할 수 있고, 서브세트의 선택은 회로의 서브세트의 출력, 예를 들어, 출력 진동 주파수의 비교에 따를 수 있다.

Description

신호 제너레이터에 기반한 장치 보안{SIGNAL GENERATOR BASED DEVICE SECURITY}
본 출원은 여기에서 참조로 통합되고, 2006년 1월 24일에 출원된, 미국 가출원 시리얼 No.60/761,821,"RING OSCILLATOR BASED DEVICE IDENTIFICATION"의 이점을 주장한다.
본 출원은 다음과 같이 출원 중인 미국 특허에 관련한다: 2005년 11월 14일에 출원되고, 2006년 9월 21일에 US2006/0210082A1으로 공개된 시리얼 No. 11/273,920, "VOLATILE DEVICE KEYS AND APPLICATIONS THEREOF"; 2005년 11월 14일에 출원되고, 2006년 9월 21일에 US2006/0209584A1으로 공개된 시리얼 No. 11/272,995, "SECURELY FIELD CONFIGURABLE DEVICE"; 및 2003년 4월 4일에 출원되고, 2003년 10월 30일에 US2003/0204743A1으로 공개된 시리얼 No. 10/407,603, "AUTHENTICATION OF INTEGRATED CIRCUITS".
본 발명은 장치 보안을 위한 신호 제너레이터의 용도에 관한 것이다.
집적 회로(칩)와 같이 장치에 내장된 비밀 키 또는 다른 값들은 장치를 인증하기 위하여 사용될 수 있다. 이와 같은 접근 방식의 일 예는 스마트 카드에 내장된 비밀 키를 사용하는 것이다. 비밀 키는 읽혀지는 목적은 아니지만, 스마트 카드 로 보내지는 메시지를 해독하는데 사용될 수 있다. 비밀 키를 알고 있는 서비스 제공자는 암호화된 메시지를 해독하도록 요청하거나 스마트 카드가 키를 소유하고 있는 것을 증명하는 다른 암호 프로토콜을 사용하는 것에 의하여 스마트 카드를 인증할 수 있다. 비밀 키는 비밀을 유지하여 상대편이 키를 복사하여 잘못된 신분으로 가장할 수 없도록 한다.
집적 회로의 인증은 제조 과정에서의 변화에 기반한 장치 간의 다른 특성을 사용하도록 제안되었다. 회로 지연에 기반한 이와 같은 접근 방식은, 여기에서 참조로 통합된 미국 출원 공개 US2008/0204743A1, "Authetication of Integrated Circuits"에 기술되어 있다.
US2003/0204743A1에서 기술되는 키를 생성하는 하나의 접근 방식은 자가 진동 회로의 주파수를 측정하는 것이다. 다른 접근 방식은 두 개의 자가 진동 회로의 측정 주파수의 비율을 이용하는 것이다. 비율의 이용은 예를 들어, 회로의 환경 상태로 인한 변화에 대한 보상을 제공한다.
일 양태에서, 일반적으로, 하나의 장치에 내장된 다수의 신호 제너레이터 회로(Signal Generator Circuits)의 서브세트(예를 들어, 쌍(pair), 셋(triple) 또는 그 이상)가 선택된 후, 상기 장치에 관한 휘발성 값(Volatile Value)이 선택된 서브세트로부터 생성된다. 신호 제너레이터 회로 각각은 오실레이터(Oscillator) 회로를 포함할 수 있고, 서브세트 선택은 회로의 서브세트의 출력의 비교, 예를 들어 출력 진동 주파수(Oscillation Frequency)의 비교에 따를 수 있다.
다른 양태에서, 일반적으로, 집적 회로(Integrated Circuit)는 다수의 신호 제너레이터 회로, 및 다수의 신호 제너레이터 회로에서 서브세트의 선택을 출력하기 위하여 상기 신호 제너레이터 회로에 연결된 선택 회로를 포함한다. 상기 회로는 또한 선택된 서브세트에 따른 값을 출력하기 위하여 신호 제너레이터 회로에 연결된 휘발성 값 제너레이터(Volatile Value Generator)를 포함한다.
다른 양태에서, 일반적으로, 컴퓨터 인식 가능 미디어에 저장된 소프트웨어는 장치로 하여금 장치에 내장된 복수의 신호 제너레이터 회로에서 서브세트를 선택하고, 선택된 서브세트로부터 장치에 대한 휘발성 값을 생성하는 기능을 수행하도록 할 수 있다. 상기 소프트웨어는 상기 기능을 수행하기 위하여 프로그래밍이 가능한 회로를 설정하기 위한 데이터를 포함하거나(예를 들어, 퍼스낼러티 매트릭스 및 FPGA), 상기 장치를 제작하기 위하여 장치 사양(Device Specification)을 생성하는 인스트럭션(Instruction)(예를 들어, 베릴로그)을 포함할 수 있다.
다른 양태에서, 일반적으로, 장치에 내장된 신호 제너레이터 회로의 세트에서 서브세트가 선택된다. 선택된 서브세트로부터 장치에 관한 휘발성 값이 만들어진다.
양태들은 다음의 특성 중 하나 이상을 포함할 수 있다.
신호 제너레이터 회로는 오실레이터(Oscillator)를 포함한다.
각 서브세트는 한 쌍의 회로로 이루어져 있다.
각 서브세트는 두 개 또는 그 이상의 회로로 구성된 미리 결정된 그룹의 쌍을 포함한다.
쌍을 선택하는 것과 관련된 정보는 예를 들어, 회로를 호스팅하는 장치 내부 또는 외부에서 비휘발성 형태로 저장된다.
에러 정정 정보(Error Correction Information)는 생성된 휘발성 값으로부터 계산된다. 상기 에러 정정 정보는 예를 들어, 장치 내부 또는 외부에 저장된다.
장치는 휘발성 값을 사용하여 인증된다. 상기 장치는 또한 휘발성 값으로부터의 반복된 재생성을 사용하여 반복적으로 인증될 수 있다. 휘발성 값을 사용하는 장치에서 암호화 과정은 데이터에 적용될 수도 있다.
장치를 위한 휘발성 값은 선택된 서브세트로부터 재생성된다. 휘발성 값을 재생성하는 것은 회로의 서브세트의 선택을 특정하는 저장된 정보를 사용하는 것을 포함할 수 있다. 휘발성 값을 재생성하는 것은 생성된 휘발성 값으로부터 계산된 저장된 에러 정정 정보를 사용하는 것을 포함할 수 있다.
회로의 서브세트를 선택하고 휘발성 값을 생성하는 것은 등록 절차(Enrollment Procedure)의 일부로 수행될 수 있다.
서브세트의 선택을 특정하는 정보를 저장하는 것은 등록 절차의 일부로써 수행될 수 있다.
휘발성 값을 생성하는 것은 선택된 서브세트 각각으로부터 값을 이루는 서로 다른 부분을 생성하는 것을 포함한다. 예를 들어, 값의 다른 비트는 선택된 서브세트 각각으로부터 생성된다.
서브세트는 해당 회로의 서브세트와 연관된 예상 에러율(anticipated Error Rates)에 따라 선택된다.
서브세트는 회로의 서브세트 출력을 비교하여 선택된다. 예를 들어, 서브세트는 회로의 서브세트 진동 주파수를 비교하여 선택된다. 미리 정의된 기준에 따라 다른 진동 주파수를 가진 서브세트가 선택될 수 있다.
다른 양태에서, 일반적으로, 집적 회로는 신호 제너레이터 회로 세트, 및 상기 신호 제너레이터 회로의 서브세트의 선택을 출력하기 위하여 신호 제너레이터 회로에 연결된 선택 회로를 포함한다. 회로는 또한 선택된 서브세트에 따른 식별자를 출력하기 위하여 신호 제너레이터 회로에 연결된 휘발성 값 제너레이터를 포함할 수도 있다.
양태들은 다음의 특성 중 하나 이상을 포함할 수 있다.
신호 제너레이터 회로는 오실레이터를 포함한다.
집적 회로는 복수의 신호 제너레이터 회로의 서브세트의 선택을 검색하고 제공하기 위하여 회로에 인터페이스를 포함한다. 예를 들어, 상기 인터페이스는 회로에서 외부 저장소(Storage)에 대한 인터페이스(Interface)이다.
집적 회로는 복수의 신호 제너레이터 회로에서 서브세트를 선택하기 위한 저장부를 포함한다.
집적 회로는 에러 제어 정보에 따른 휘발성 값 제너레이터로부터 출력된 값을 정정하도록 구성되고 휘발성 키 발생기에 연결된 에러 정정 모듈(Error Correction Module)을 포함한다. 회로는 예를 들어, 외부 저장부로부터 에러 제어 정보를 검색하고 제공하는 인터페이스를 포함할 수 있고, 회로는 에러 제어 정보를 위한 저장부를 포함할 수 있다.
다른 양태에서, 일반적으로, 소프트웨어는 장치가 상기 예시한 방법들의 모든 단계를 수행할 수 있도록 하기 위하여 컴퓨터 판독 가능한 미디어에 저장될 수 있다.
다른 양태에서, 일반적으로, 소프트웨어는 장치가 상기 장치에 내장된 복수의 신호 제너레이터 회로에서 서브세트를 선택하고, 상기 선택된 서브세트로부터 장치에 대한 휘발성 값을 생성하도록 하기 위한 컴퓨터 판독 가능한 미디어에 저장될 수 있다.
소프트웨어는 상기 기능을 수행하기 위해 프로그래밍 가능한 회로(예를 들어, FPGA)를 설정하거나, 장치(예를 들어, ASIC)를 제작하기 위한 장치 사양을 만들기 위한 데이터를 포함할 수 있다.
소프트웨어는 컴퓨팅 시스템이 상기 기능을 수행하도록 하기 위한 인스트럭션(instruction) 포함할 수 있다.
다른 양태에서, 일반적으로, 장치는 상기 예시한 어떤 방법에 대해서도 모든 단계를 수행하기 위하여 설정된다.
양태들은 다음의 장점의 하나 이상을 가질 수 있다.
비교적 특이하고 예측할 수 없는 값으로부터의 유니크는 장치 위에 만들어질 수 있고 후에 값을 공개하지 않고 다시 만들어질 수 있다. 이는 안전한 방법으로 장치 위에 암호화 과정의 적용 및 인증을 허용한다. 값은 필수적으로 장치를 식별할 필요는 없고, 오히려 장치 보안에 기본적으로 사용되는 값으로부터의 예측불가능성의 등급을 제공한다.
발명의 다른 특징 및 장점은 다음의 설명 및 청구항으로부터 명확하다.
도 1은 비트 제너레이터의 블록 다이어그램이다.
도 2는 멀티플 비트 생성 접근 방식의 블록 다이어그램이다.
도 3은 페어 선택 과정의 플로우챠트이다.
도 4A 및 4B는 각각 멀티플 비트 제너레이터의 등록 및 런타임 용도에 관련된 블록 다이어그램이다.
도 5 및 도 6은 비트 제너레이터의 구체예들이다.
장치에서 휘발성 값을 생성하는 접근 방식은 일련의 신호 제너레이터를 사용한다. 예를 들어, 휘발성 값은 예를 들어, 장치의 인증 및/또는 (인증 및 데이터 암호화를 포함하는) 암호화 과정에 사용될 수 있다. 몇몇 예에서, 휘발성 값은 암호화를 위한 휘발성 키로써 사용된다. 신호 제너레이터의 일 예는 자가 진동 회로(예를 들어, 링 오실레이터)인데, 이는 아래에서 자세히 살펴본다. 이진 키와 같은 "휘발성" 값은 일시적인, 예를 들어 값가 생성되거나 일시적으로 저장되는 장치로부터 파워가 제거되면 없어지는 값을 말한다. 즉, 휘발성 값은 저장된 형태로부터 값이 결정되는, 예를 들어 가변 링크(fusible link)를 사용하는 이진 형태 또는 전기적으로 쓸 수 있는 읽기 전용 메모리에 저장되지 않는다. 자가 진동 회로의 주파수는 상기 장치와 연관된 휘발성 값을 생성하고 반복적으로 재생성하는데 사용될 수 있고, 상기 값은 상기 장치에 저장된 비휘발성 값 또는 상기 장치 외부에 공개 된 값으로부터 얻을 수 없다.
몇몇 예에서, 링 오실레이터 각각은 동일한 설계 디자인을 가지므로, 제작 관련 또는 환경 변동이 없으면, 링 오실레이터 각각은 동일한 주파수를 가지는 것으로 예상된다. 예를 들어, 각각의 링 오실레이터는 대략 2GHz에서 진동하는 고정된 수(예를 들어, 5)의 인버터를 포함하는 루프로부터 형성될 수 있다.
도 1을 참조하면, 휘발성 키를 생성하는 몇몇 접근 방식은 N개의 분리된 링 오실레이터 112를 포함하는 오실레이터 회로 110를 포함하는 싱글 비트 제너레이터 100를 사용한다. 제작상의 변동으로 인하여, 각각의 링 오실레이터(k)는 다른 오실레이터의 주파수와 일반적으로 다른 주파수를 가지는 주기적인 신호 Sk 114를 출력한다. 셀렉터 120는 두 개의 링 오실레이터 i 및 j를 식별하는 제어 인풋 122을 수용하고, 주파수 비교기 130에 대응하는 주기적인 신호 Si 및 Sj 쌍을 통과시킨다. 주파수 비교기 130는 신호의 주파수 차 Δij(예를 들어, 차 Si-Sj, 또는, 대안으로 나누기 Si/Sj)로 특정되는 양을 출력한다. Si〉Sj라면, 일 비트 아웃풋 bij는 1로 설정되고, 다른 경우는 0으로 설정된다.
도 2를 참조하면, 멀티플 비트 제너레이터 200는 복수의 링 오실레이터 쌍들을 선택하고, 각 쌍은 멀티 비트 아웃풋 B 220의 일 비트 22를 만들며, 이는 휘발성 키 값로 사용될 수 있다. 특히, 제어 인풋 R 210은 멀티 비트 아웃풋의 대응 비트 각각을 만들기 위하여 사용하는 오실레이터 쌍들의 시퀀스를 구체화한다. 제어 인풋은 예를 들어, N(N-1)개의 가능한 인풋 쌍들의 비트 마스크 또는 어떠한 동등 한 데이터 표시로부터 결정될 수 있다.
도 3을 참조하면, 아래에서 더 살펴보는 바와 같이, 제어 인풋 R을 위하여 사용하는 쌍의 선택은 특정 장치에 대한 링 오실레이터 주파수의 차를 특정하는 N(N-1)개의 양 Δij 310 가운데 일부의 등록 시간 발생에 기초할 수 있다. 페어 셀렉터 300는 제어 인풋 R 210을 생성하는 차 또는 멀티플 비트 아웃풋을 생성하는데 사용하는 쌍들의 동등한 사양에 적용된다.
도 4A를 참조하면, 등록 단계에서, 장치 상의 등록 회로는 멀티 비트 제너레이터 200 뿐만 아니라 페어 셀렉터 300를 포함하고, 오실레이터 쌍들의 선택 R에 의존한다. 선택 R, 또는 비휘발성 방법으로 R을 공개하지 않고 R을 재생성하도록 하는 양은 장치 내부 또는 외부에 저장된다. 휘발성 키 B는 예를 들어, 보안 등록 로직 440에 따라 장치에서 사용된다. 부가적으로, 에러 정정 코드(ECC) 모듈은 에러 정정 정보 E를 만들고, 또한 장치 내부 또는 외부에 저장된다.
도 4B를 참조하면, 사용 단계(즉, 런 타임)에서, 양 R이 멀티 비트 제너레이터 200를 통과하고, 잠재적인 비트 에러를 가진 B의 한 버전인
Figure 112008058059414-pct00001
를 생성한다. 이렇게 생성된 값은 등록 단계 동안 생성된 B의 값와 전형적으로 매치하는
Figure 112008058059414-pct00002
를 생성하기 위하여 보관된 에러 정정 정보 E를 사용하는 에러 정정 모듈을 통과한다. 이렇게 에러 정정된 값은 예를 들어, 보안 런타임 로직 450에 따라 사용된다.
일반적으로, 장치상에 N개의 오실레이터가 주어져 있는 경우, N개의 오실레이터의 주파수에 대한 N!(N 팩토리얼)개의 다른 배열이 있다. 각 배열은 주파수가 독립적이고 거의 동등하다고 가정하고 있다. 그러므로, 주파수의 N(N-1)개의 쌍대 비교는 log2(N!)개의 정보의 독립적인 비트를 제공한다. 예를 들어,
Figure 112008058059414-pct00003
실제로, 특정 장치에 있어서, 오실레이터의 서로 다른 쌍들의 비교로부터 생성된 비트는 등록 및 런타임 사용 사이의 다른 에러 가능성(즉, 비트의 플리핑)을 나타낸다. 예를 들어, 거의 동일한 주파수를 가지는 두 오실레이터는 하나의 순서를 가지는 하나의 용도(예를 들어, 등록) 및 반대 순서를 가지는 다른 용도(예를 들어, 런타임)일 수 있다. 이 현상을 조절하는 하나의 접근 방식은 에러를 정정하기 위하여 에러 정정 접근 아웃라인을 사용하는 것이다. 오실레이터 쌍은 제한된 수의 비슷한 주파수를 가질 것이고, 그러한 비트 에러의 제한된 수는 전형적으로 정정되어야 할 것이다.
이러한 효과에 대한 다른 접근 방식은 등록 단계 동안 결정된 특정 오실레이터 쌍들에 대한 예상 에러율을 필수적으로 사용하고, 오실레이터 쌍들의 선택 과정에서 이러한 예상을 사용하는 것이다. 예를 들어, 주파수 차 Δij는 고 에러율의 예측용인 주파수 사이의 작은 차이를 가지는 에러율을 대신하여 사용된다.
아래에서 기술되는 선택 접근 방식은 에러율을 줄이고 에러 정정 단계에 대한 요구를 제거할 수 있도록 하거나, 적어도 예를 들어, BCH 에러 정정 접근 방식 을 사용하는 것보다 더욱 간단한, 간략한 에러 정정 접근 방식을 사용하도록 한다.
도 5를 참조하면, 비트 제너레이터 장치 500는 N개의 링 오실레이터 512를 사용한다. 모든 오실레이터의 아웃풋은 두 개의 멀티플렉서 520로 공급되고, 이들은 모두 한 쌍의 오실레이터의 아웃풋을 선택한다. 멀티플렉서 각각의 아웃풋은 카운터 530로 공급된다. 카운터가 공통 카운트(예를 들어, 제로)에서 시작하는 샘플링 간격의 마지막에, 카운터의 아웃풋은 비교기 540를 통과하고, 이는 어떠한 카운터가 더 큰 값을 가지느냐에 따라 아웃풋 비트 값을 결정한다. 장치 500는 생성된 각각의 비트를 위하여 카운터로 공급하는 오실레이터 신호를 선택하는 다른 제어 인풋 값을 가지는 멀티플 비트를 시간적으로 연속하도록 생성하는데 사용될 수 있다. 대안으로, 셀렉터와 카운터가 다수 존재하는 예에서, 멀티플 비트를 동시에 생성할 수 있다.
도 6을 참조하면, 다른 장치 600에서, 오실레이터 612는 장치 상에 쌍으로(예를 들어, 서로 인접하거나, 거의 붙어서) 위치하고, 이는 제어 인풋에 따라 선택된 쌍들과 다른 쌍의 차를 비교하는, 하나의 오실레이터의 절대적인 주파수가 아닌 하나의 오실레이터 쌍을 이루는 두 오실레이터 사이의 주파수 차(예를 들어, 절대차)이다. 예를 들어, 진동 주파수는 칩의 온도 변화에 영향을 끼치도록 제작되는 칩에 대하여 전체적인 경향을 가질 수 있다. 그러한 경향은 다른 오실레이터들의 상대적인 주파수의 예측 가능성(또는 동등하게 더 낮은 확률 엔트로피)의 등급을 나타낼 수 있다. 시스템 스큐(systematic skew)는 더 많은 링 오실레이터가 예측 불가능한 어떤 비트 수를 생성하기 위하여 요구된다는 것을 의미할 수 있다.
몇몇 제작 접근 방식은 시스템 스큐에 더욱 민감할 수 있다. 예를 들어, 시스템 스큐는 FPGA 장치보다 ASIC 장치에서 덜 현저하고, 링 오실레이터 어레이의 각 치수는 FPGA 장치보다 100-1000배 더 작을 수 있으며, 이는 다른 국부적인 요소와 비교하여 스큐 효과의 중요성을 줄일 수 있다.
몇몇 예에서, 도 6에서 나타내고 있는 메커니즘은 FPGA 장치에서 발견될 수 있는 것과 같은 시스템 스큐를 본질적으로 제거한다. 이 메커니즘은 링 오실레이터 주파수 자체 대신 인접 링 오실레이터들의 주파수 간의 거리 D=|F1-F2|를 사용하여 저주파 시스템 스큐를 감소/제거한다. 이러한 거리 또는 "델타" 주파수는 키 비트를 생성하는 것에 비유된다.
도 6에서 도시된 장치는 N 쌍의 오실레이터(612)를 가진다. 제어 인풋은 하나의 쌍(예를 들어, 링 오실레이터 j-A 및 j-B)으로부터 셀렉터(620) 가운데 하나를 통과하여 두 개의 카운터(630)까지의 신호 및 다른 쌍(예를 들어, k-A 및 k-B)로부터 두 개의 다른 카운터(630)까지의 신호를 발생시킨다. 합산기(635)는 각 쌍으로부터의 카운터 차에 대한 차를 계산한다. 즉, C[j-A]가 j번째 쌍으로부터의 선택된 A 카운터의 카운트를 나타낸다면, 합산기는 |C[j-A]-C[j-B]|-|C[k-A]-C[k-B]|를 계산한다.
키 값에서 연속적인 비트를 생성하기 위하여 오실레이터 쌍들을 선택하는 접근 방식의 몇 가지 예(또는, 도 6에서 도시된 접근 방식에서, 국부적인 오실레이터 쌍들의 쌍들)에서는 특정 장치의 오실레이터의 특성에 관련된 측정을 사용한다. 이 선택은 장치 외부에서 선택된 쌍들을 필수적으로 공개하지 않고, 칩에서 내부적으 로 행해질 수도 있다.
첫 번째 예에서, 모든 링 오실레이터의 주파수 배열은 휘발성 키의 비트를 생성하기 위하여 칩 상에서 식별된다. N개의 링 오실레이터가 있는 예에서, i번째 오실레이터의 주파수는 fi로 나타낸다. 오실레이터의 배열을 찾기 위하여, 칩 상의 한 프로세싱 요소는 링 오실레이터들의 모든 가능한 쌍(i,j)들을 비교하고, fi>fj(i≠j)라면 1을 생성하고, 아니면 0을 생성한다. 이러한 방법은 N개의 링 오실레이터로부터 (N*(N-1)/2)비트를 생성하고, N!(N 팩토리얼)개의 가능한 배열 또는 log2(N!)개의 독립적인 비트를 효율적으로 나타낸다.
모든 쌍들이 비교되는 실험에서, 한 비트의 플립 가능성은 각 비트를 생성하는데 사용되는 오실레이터들의 주파수 분리에 따라 비교된다. 5개의 인버터를 가지는 오실레이터에 대하여 2MHz보다 더 떨어진 주파수를 가지는 오실레이터 쌍들에 의하여 생성되는 비트들은 필수적으로 에러가 없다.
다른 예는 충분히 다른(예를 들어, 적어도 2MHz만큼 다른) 주파수를 가지는 오실레이터 쌍들로부터만 비트를 만들어, 부가적인 에러 정정 방법을 필수적으로 요구하지 않는 응답 비트를 생성하는 것이다. 등록 단계에서, 주파수는 비교되고, 충분히 분리된 쌍들의 리스트를 나타내는 데이터는 장치 내부 또는 외부에 저장된다. 응답 비트를 만들기 위하여 오직 "강한" 쌍들만을 사용하는 예를 적용하는 시도는 장치가 장치 내부 또는 외부에 저장된 데이터의 정보를 누설하지 않고 환경적인 변화를 가지고도 동일한 세트의 쌍들을 사용하는 것을 보장한다. 예를 들어, 장 치는 등록 단계 동안 비트 벡터(즉, 각 (i,j) 오실레이터 쌍마다 한 비트)를 만들 수 있고, 각 쌍을 사용할 것인지 아닌지를 지시한다. 그러나, 이 비트 벡터가 어떻게 저장되는지와 접근 가능한지에 의하여, 어떠한 링 오실레이터들이 서로 인접하고 있는지에 대한 정보가 노출될 수 있다.
다른 예에서, 각 링 오실레이터의 주파수는 모든 링 오실레이터의 평균 주파수와 비교된다. 하나의 오실레이터가 평균보다 빠르면, 그 오실레이터와 연관된 응답은 1이고, 그렇지 않으면 0이다. 그러므로, 이 실시예에서, N비트는 N 개의 오실레이터로부터 만들어진다. 오실레이터의 서브세트는 그들의 주파수가 평균과 얼마나 차이가 나는지에 따라 휘발성 키를 만드는데 사용되지 않는 평균에 가까운 오실레이터와 함께 선택된다. 평균과 충분히 다른 주파수를 가지는 오실레이터에 대한 식별은 장치 내부 또는 외부에 저장될 수 있고 이후에 휘발성 값을 재생성하기 위하여 사용될 수 있다. 이 식별 정보는 어떤 특정 오실레이터가 평균 주파수보다 빠르거나 느린지 아닌지에 대한 정보를 나타내는 것은 아니라는 것에 주목한다.
몇 가지 적용에서 (덜 알려진 정보와 같은) 장점을 능가할 수 있는 이 실시예의 한 가지 가능한 제한은 응답 비트가 균일하게 분포될 수 없다는 것이다. 한 비트는 칩 상에서 얻어진 평균과 링 오실레이터 주파수를 비교하여 생성되므로, 다른 오실레이터로부터의 응답 비트는 서로 관련될 수 있다. 예를 들어, 오직 두 개의 링 오실레이터가 있다면(n=2), 평균 주파수는 항상 두 개의 링 오실레이터 주파수 사이에 있고, 그 결과, 응답은 00 또는 11이 아닌, 10 또는 01이다.
몇 가지 예는 도 4A-B에 나타낸 일반적인 접근 방식을 따르지만, 에러 정정 코드를 대체하거나 에러율을 줄이는 것에 의하여 에러 정정 코드의 복잡성을 줄이는 것을 목표로 한다. 교정(calibration)을 위하여 칩은 응답(B) 뿐만 아니라 에러 감소(정정) 정보(E)를 생성한다. 동일한 응답을 재생성하기 위하여, 칩은 동일한 에러 감소 정보를 주어진다.
몇몇 예에서, N개의 오실레이터를 가진 장치의 교정을 위하여, N개의 비트 마스크는 각 오실레이터를 사용하는지 아닌지를 식별하도록 생성된다. 예를 들어, 마스크 내의 한 비트는 대응하는 진동 주파수가 평균에 매우 가깝거나 대응하는(예를 들어, 인접한) 쌍이 매우 가까운 주파수를 가진 오실레이터들로 구성되는 경우 설정된다. 재생성을 위하여, 마스크 비트가 설정되지 않은 오실레이터 또는 쌍들 만이 사용된다.
몇몇 실시예에서, N개의 오실레이터를 가진 장치의 교정을 위하여, M=N*(N-1)/2 비트 마스크는 각 오실레이터 쌍을 사용하는지 아닌지를 식별하도록 생성된다. 상기 비트는 대응하는 쌍이 매우 가까운 주파수를 가진 오실레이터들로 구성되는 경우 설정된다. 부가적으로, 상대방이 마스크로부터 오실레이터의 배열을 추측하지 못하도록 하기 위하여, M개의 비트 마스크에서 몇몇 부가적인 비트가 랜덤하게 설정되므로, 어떠한 오실레이터 쌍이 가까이 있는지 아닌지를 추측하는 것은 어렵게 된다. 재설정을 위하여, 마스크 비트가 설정되지 않은 오실레이터 쌍들만이 사용된다. 마스크 비트는 저장 공간을 절약하기 위하여 압축될 수 있다.
몇몇 예에서, 비트 벡터를 저장하거나 비트 벡터를 압축하는 것보다, 비트 벡터 생성에 사용될 수 있는 양이 저장되고, 필요할 때 비트 벡터가 만들어진다. 예를 들어, 상기 양은 선형 피드백 시프트 레지스터(LFSR)와 같은 유사 랜덤 넘버 제너레이터를 위한 씨드(seed)일 수 있다. 적절한 비트 벡터를 생성하기 위하여, 많은 씨드들은 생성되는 휘발성 값으로부터의 질에 따라 측정되는 결과적인 비트 벡터의 질에 따라 각각 테스트될 수 있다. 예를 들어, 특정 씨드 값에 대하여, M 개의 오실레이터 쌍들은 씨드로부터 만들어지고, 연관된 M비트의 휘발성 값으로부터의 재생성과 관련된 각 비트 에러 확률은 비교된 오실레이터 주파수들 사이의 차를 사용하여 평가된다. 휘발성 값에서 비트에 대한 에러 가능성은 전체 값에 대한 비트 에러의 예측된 수를 얻기 위하여 합해진다. 초기 씨드는 변경되고, 상기 프로세스는 반복된다. 가장 낮은 예상 에러 수를 가지는 M개의 응답 비트를 만드는 씨드가 선택된다. 이 씨드는 공개적으로 칩 내부 또는 외부에 저장되고, 필수적으로 도 4A의 페어 셀렉션(R)의 기능을 수행한다. ECC는 부가적으로 예상 에러 수에 기초하여 선택된다.
몇몇 예에서, 가능한 N*(N-1)/2 오실레이터 페어는 미리 설정된 방법으로 P 그룹으로 분할되고, 각각은 K개의 오실레이터(예를 들어, N*(N-1)/2=P*K)를 가진다. 교정 동안, (K-1) 비트 벡터는 그룹별로 생성된다. 그룹에 대한 벡터에서 (K-1) 비트는 상기 그룹의 첫 번째 오실레이터 쌍으로부터 생성되는 비트와 동일 그룹에서 다른 쌍으로부터 생성되는 K번째 비트들의 두 번째의 각각을 XOR 연산하여 얻어진다. 이러한 P(K-1) 벡터들은 칩 내부 또는 외부에 공개적으로 저장된다. 재생성 동안, 각각의 링 오실레이터 쌍으로부터의 비트들이 만들어진다. 주어진 그룹에 대하여, (K-1)비트 벡터가 다시 만들어지고, 상기 그룹에 대하여 저장된 (K-1)비트 벡터와 함께 XOR 연산된다. 얻어진 (K-1) 비트 벡터의 메이저리티 보팅(Majority Voting)은 그룹의 첫 번째 쌍으로부터 생성된 비트의 플립 여부를 결정하는데 사용된다.
부연하여, K=4이고, 특정 그룹이 비트 r1, r2, r3, r4를 생성하는 쌍들과 대응하는 경우를 고려한다. r1 xor r2, r1 xor r3, r1 xor r4를 생성하고, 교정 동안 이를 저장한다. 재생성 동안, 원래 생성된 비트 r1, r2, r3, r4는 확실하게 알려져 있지 않고, 동일한 쌍들은 새로운 비트 r1', r2', r3', r4'을 생성한다. r1의 자리에 r1'을 생성하는 것보다, (r1 xor r2 xor r2'), (r1 xor r3 xor r3') 및 (r1 xor r4 xor r4')을 계산하고 이들 세 비트 가운데 메이저리티 보팅을 r1의 재생성 값로 사용한다.
몇몇 예에서, N개의 오실레이터는 각각이 K개의 오실레이터로 구성된 M개의 그룹을 형성하도록 나누어진다(N≥M*K). 그룹들은 다른 그룹의 진동 주파수와 가능한 멀리 떨어지도록 등록 시간에 결정된다. 그룹 내의 진동 주파수는 서로 가깝다. 이를 달성하기 위하여, 몇몇 오실레이터는 제거될 수 있다(그룹에 포함되지 않음). 비트들을 생성하기 위하여, 그룹들은 쌍대 비교 및 메이저리티 보팅에 의하여 비교된다. 즉, 그룹 A의 첫 번째 오실레이터는 다른 그룹 B의 첫 번째와 비교되고, 그룹 A의 두 번째 오실레이터는 그룹 B의 두 번째와 비교된다. 메이저리티 보팅은 응답 비트를 결정하기 위하여 택해진다. 즉, 그룹의 각 쌍은 그룹 전체가 높은 주파수를 가지는지 낮은 주파수를 가지는지에 따라 각 비트의 휘발성 값을 생성한다.
몇몇 예에서, 에러 정정 접근 방식은 재생성된 휘발성 값에서 각 비트들의 에러의 다른 가능성을 밝히기 위하여 맞추어진다. 예를 들어, 여분의 비트들은 에러가 더욱 일어나기 쉬운 비트를 보호하기 위하여 사용된다. 이러한 최적화는 신드롬 비트(E)의 전체 수를 더욱 작게 할 수 있다.
등록 시간 또는 재생성 시간에, 어떠한 비트가 에러를 가지기 쉬운지와 오직 작은 수의 비트만이 플립하기 쉽다는 것이 알려져 있고, 에러는 서칭 접근 방식을 사용하여 정정될 수 있다. 등록 동안, 휘발성 값으로부터의 일 방향 해쉬가 저장된다. 휘발성 값(B)의 비트를 재생성하기 위하여, 먼저, 값(
Figure 112008058059414-pct00004
)을 재생성하고, 교정된 값과 비교하여 몇 위치에서 에러를 가질 수 있다. 재생성 값에서 에러를 가지기 쉬운 위치를 재생성 시간에 알면, 값 B를 얻었는지 아닌지를 보기 위하여 해쉬를 계산하고, 저장된 해쉬와 비교하기 위하여 잠재적으로 잘못된 비트의 다른 0/1 조합이 시도된다. 이러한 서치는 값 B가 재생성될 때까지 계속한다.
몇몇 예에서, 에러 제어 정보(E) 및/또는 선택 정보(R)는 저장될 필요가 없다. 이와 같은 예에서, 장치 특이 정보가 교정 후에 남아있지 않으므로 장점을 가질 수 있다.
몇몇 실시예에서, 오실레이터 쌍들로부터 생성된 비트들은 오프셋과 그들의 주파수들의 비교에 기반하여 결정된다. 일 예에서, 오실레이터 쌍(i,j)이 i≠j인 경우 fj-t<fi<fj+t이면 1을 생성하고, 그 이외에는 0을 생성한다. 다른 예에서, 오실레이터 쌍(i,j)이 i≠j인 경우 fi>fj+t이면 1을 생성하고, 그 이외에는 0을 생성한다.
상기 기술된 구체예들은 다양한 칩 테크놀로지를 사용할 수 있다. 예를 들어, 오실레이터는 FPGA(필드 프로그래머블 게이트 어레이) 상에 위치하거나 ASIC(어플리케이션 특이 집적 회로)내로 설계될 수 있다. 칩 내, 칩에 걸쳐서 또는 온도 또는 진동 주파수의 변화에 의존하는 전압과 같은 오실레이터의 특성은 성능을 예견하기 위하여 사용될 수 있다. 예를 들어, 휘발성 키의 비트 에러율은 오실레이터를 감싸는 장치의 제작 과정 특성에 기초하여 예견될 수 있다. 예견된 성능은 장치상에 재생성되는 휘발성 값으로부터의 바람직한 특성을 얻기에 적절한 에러 정정의 정도 또는 많은 오실레이터를 선택하기 위하여 사용될 수 있다.
상기 기술된 접근 방식들은 참조에 의해 본 문서에 포함된 함께 출원 중인 출원에서 기술된 어프로치와 결합될 수 있다. 예를 들어, 오실레이터에 의하여 생성된 휘발성 값은 상기 장치에 있는 시도와 결합되어 상기 시도에 대한 응답을 만들 수 있다. 다른 실시예로써, 휘발성 값은 공개적/사적인 암호 키 쌍을 만들기 위하여 사용될 수 있고, 사적인 키는 장치 외부로 노출되지 않는다.
링 오실레이터 또는 쌍들을 선택하기 위한 상기 기술된 접근 방식들은 오실레이터가 아닌 다른 신호 제너레이터의 선택 또는 두 개 이상의 오실레이터의 서브세트의 선택을 위하여 사용될 수 있다. 또한, 신호 제너레이터의 주파수가 아닌 다른 특성이 사용될 수 있다.
상기 기술된 접근 방식들은 저장된 인스트럭션에 의하여 조절되는 프로세서 또는 전용 회로와 프로세서들의 조합을 사용하여, 전용 로직 회로를 가진 장치에서 사용될 수 있다. 프로세서에 대한 인스트럭션들은 장치 내부 또는 기계가 읽을 수 있는 외부 매체(예를 들어, ROM)에 저장될 수 있다. 예를 들어, 상기 프로세서는 휘발성 값에 대한 비트들을 결정하기 위한 진동 카운트를 만들고 오실레이터 셀렉터 회로를 제어하기 위해 장치 외부에 저장된 인스트럭션을 사용하는 일반 목적의 프로세서 코어를 포함할 수 있다. 선택 정보 또는 에러 제어 정보와 같은 값으로부터의 저장은 플래쉬 메모리, 전기적으로 쓸 수 있는 읽기 전용 메모리, 가용 링크 등을 포함하는 다양한 기술을 사용할 수 있다. 몇몇 장치는 FPGA를 설정하는 인스트럭션 또는 데이터, 또는 ASIC의 회로 설계를 구체화하는데 사용되는 인스트럭션 또는 데이터(예를 들어, 베릴로그)로 표현될 수 있다.
앞의 설명은 설명되기 위한 것으로, 첨부된 청구항의 범위로 정의되는 본 발명의 범위를 제한하지 않는다. 다른 구체예들은 다음 청구항들의 범위 내에 있다.

Claims (30)

  1. 장치에 내장된 복수의 신호 제너레이터 회로(Signal Generator Circuits)에서 신호 제너레이터 회로의 서브세트를 선택하는 단계; 및
    선택된 상기 서브세트의 출력신호들로부터 상기 장치에 대한 휘발성 값(Volatile Value)을 생성하는 단계를 포함하고,
    상기 값은 상기 신호 제너레이터 회로의 상기 동일 서브세트의 차후의 선택에 의해 재생성되는 것을 특징으로 하는 장치 인증 방법.
  2. 제 1 항에 있어서,
    상기 신호 제너레이터 회로는 오실레이터(Oscillators)를 포함하는 것을 특징으로 하는 장치 인증 방법.
  3. 제 1 항에 있어서,
    상기 서브세트 각각은 한 쌍의 회로로 구성되는 것을 특징으로 하는 장치 인증 방법.
  4. 제 1 항에 있어서,
    상기 서브세트 각각은 두 개 또는 그 이상의 회로로 이루어진 미리 결정된 그룹을 한 쌍 포함하는 것을 특징으로 하는 장치 인증 방법.
  5. 제 1 항에 있어서,
    상기 서브세트의 선택을 특정하는 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  6. 제 1 항에 있어서,
    생성된 상기 휘발성 값으로부터 계산된 에러 정정 정보(Error Correction Information)를 저장하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  7. 제 1 항에 있어서,
    상기 휘발성 값을 사용하여 상기 장치를 인증하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  8. 제 1 항에 있어서,
    상기 휘발성 값을 사용하여 상기 장치에서 데이터에 암호화 과정을 적용하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  9. 제 1 항에 있어서,
    선택된 상기 서브세트로부터 상기 장치에 대한 휘발성 값을 재생성하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  10. 제 9 항에 있어서,
    상기 휘발성 값을 재생성하는 단계는 상기 회로의 서브세트의 선택을 특정하기 위해 저장된 정보를 사용하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  11. 제 9 항에 있어서,
    상기 휘발성 값을 재생성하는 단계는 생성된 휘발성 값으로부터 계산되어 저장된 에러 정정 정보를 사용하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  12. 제 1 항에 있어서,
    상기 회로에서 서브세트를 선택하는 단계 및 상기 휘발성 값을 생성하는 단계는 등록 절차(Enrollment Procedure)의 일부로써 수행되는 것을 특징으로 하는 장치 인증 방법.
  13. 제 12 항에 있어서,
    상기 등록 절차의 일부로써 상기 서브세트의 선택을 특정하는 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 장치 인증 방법.
  14. 제 1 항에 있어서,
    상기 휘발성 값을 생성하는 단계는 선택된 상기 서브세트 각각으로부터 상기 값의 다른 부분을 생성하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  15. 제 14 항에 있어서,
    상기 휘발성 값을 생성하는 단계는 선택된 상기 서브세트의 각각으로부터 상기 값의 다른 비트를 생성하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  16. 제 1 항에 있어서,
    상기 서브세트를 선택하는 단계는 상기 회로에서 대응하는 서브세트와 연관되는 예상 에러율(anticipated error rates)에 따라 상기 서브세트를 선택하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  17. 제 1 항에 있어서,
    상기 서브세트를 선택하는 단계는 상기 회로의 서브세트의 출력을 비교하여 상기 서브세트를 선택하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  18. 제 17 항에 있어서,
    상기 서브세트를 선택하는 단계는 상기 회로의 서브세트의 진동 주파수(Oscillation Frequency)를 비교하여 서브세트를 선택하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  19. 제 18 항에 있어서,
    상기 회로의 서브세트의 진동 주파수를 비교하여 서브세트를 선택하는 단계는 미리 정의된 기준에 따라 상이한 진동 주파수를 가지는 서브세트를 선택하는 것을 포함하는 것을 특징으로 하는 장치 인증 방법.
  20. 복수의 신호 제너레이터 회로(Signal Generator Circuits);
    상기 복수의 신호 제너레이터 회로에서 선택된 상기 신호 제너레이터 회로의 서브세트의 선택을 출력하기 위하여 상기 신호 제너레이터 회로에 연결된 선택 회로(Selection Circuitry); 및
    선택된 상기 서브세트에서의 출력신호에 따른 값을 출력하기 위하여 상기 신호 제너레이터 회로에 연결된 휘발성 값 제너레이터(Volatile Value Generator)를 포함하는 집적 회로.
  21. 제 20 항에 있어서,
    상기 신호 제너레이터 회로는 오실레이터(Oscillators)를 포함하는 것을 특징으로 하는 집적 회로.
  22. 제 20 항에 있어서,
    상기 집적 회로는 상기 복수의 신호 제너레이터 회로에서 서브세트의 선택을 제공하고, 그리고 회수(retrieving)하기 위한 상기 회로에 대한 인터페이스(Interface)를 더 포함하는 것을 특징으로 하는 집적 회로.
  23. 제 20 항에 있어서,
    상기 집적 회로는 상기 복수의 신호 제너레이터 회로에서 서브세트를 선택하 기 위한 저장부(Storage)를 더 포함하는 것을 특징으로 하는 집적 회로.
  24. 제 20 항에 있어서,
    상기 집적 회로는 에러 제어 정보에 따라 상기 휘발성 값 제너레이터로부터 출력된 값을 정정하도록 고안된 상기 휘발성 값 제너레이터(Volatile Value Generator)에 연결된 에러 정정 모듈(Error Correction Module)을 더 포함하는 것을 특징으로 하는 집적 회로.
  25. 제 24 항에 있어서,
    상기 집적 회로는 에러 제어 정보를 제공하고 회수하기 위한 상기 회로에 대한 인터페이스를 더 포함하는 것을 특징으로 하는 집적 회로.
  26. 제 24 항에 있어서,
    상기 집적 회로는 상기 에러 제어 정보를 위한 저장부(Storage)를 더 포함하는 것을 특징으로 하는 집적 회로.
  27. 제 1 항 내지 제 19 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  28. 삭제
  29. 삭제
  30. 삭제
KR1020087019908A 2006-01-24 2007-01-24 신호 제너레이터에 기반한 장치 보안 KR101366376B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US76182106P 2006-01-24 2006-01-24
US60/761,821 2006-01-24
PCT/US2007/060964 WO2007087559A2 (en) 2006-01-24 2007-01-24 Signal generator based device security

Publications (2)

Publication Number Publication Date
KR20080106180A KR20080106180A (ko) 2008-12-04
KR101366376B1 true KR101366376B1 (ko) 2014-02-24

Family

ID=38269076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019908A KR101366376B1 (ko) 2006-01-24 2007-01-24 신호 제너레이터에 기반한 장치 보안

Country Status (10)

Country Link
US (1) US8630410B2 (ko)
EP (1) EP1977511B1 (ko)
JP (1) JP5248328B2 (ko)
KR (1) KR101366376B1 (ko)
AT (1) ATE504884T1 (ko)
CA (1) CA2637986C (ko)
DE (1) DE602007013697D1 (ko)
HK (1) HK1125201A1 (ko)
TW (1) TWI416921B (ko)
WO (1) WO2007087559A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465998A (en) * 2008-12-04 2010-06-09 Sony Corp Generating a unique hardware identifier using clock signals
US9031232B2 (en) 2010-01-15 2015-05-12 Mitsubishi Electric Corporation Bit sequence generation apparatus and bit sequence generation method
EP2579499A1 (en) 2010-06-07 2013-04-10 Mitsubishi Electric Corporation Signal processing system
JP5724305B2 (ja) * 2010-11-10 2015-05-27 日本電気株式会社 デバイス固有情報生成装置、デバイス固有情報生成方法および認証装置
WO2012095972A1 (ja) 2011-01-13 2012-07-19 三菱電機株式会社 ビット生成装置及びビット生成方法
KR101118826B1 (ko) * 2011-02-15 2012-04-20 한양대학교 산학협력단 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US8850608B2 (en) 2011-03-07 2014-09-30 University Of Connecticut Embedded ring oscillator network for integrated circuit security and threat detection
US8667283B2 (en) 2011-05-09 2014-03-04 Verayo, Inc. Soft message signing
KR101514166B1 (ko) 2011-06-02 2015-04-21 미쓰비시덴키 가부시키가이샤 키 정보 생성 장치 및 키 정보 생성 방법
KR101778530B1 (ko) * 2011-06-14 2017-09-15 삼성전자 주식회사 영상 처리 방법 및 장치
EP2730048A2 (en) 2011-07-07 2014-05-14 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
JP5747327B2 (ja) * 2011-08-26 2015-07-15 学校法人 名城大学 情報セキュリティシステム,ホスト,デバイス,その制御方法
EP2751583B1 (fr) * 2011-08-29 2016-04-13 Asahi Kasei Microdevices Corporation Dispositif de mesure d'une durée d'un niveau d'un signal électrique
US20140103344A1 (en) * 2012-03-12 2014-04-17 Mohammad Tehranipoor Detection of recovered integrated circuits
US9218477B2 (en) * 2012-04-13 2015-12-22 Lewis Innovative Technologies Electronic physical unclonable functions
EP2933944B1 (en) * 2012-12-11 2017-09-20 Mitsubishi Electric Corporation Integrated security device and signal processing method used by integrated security device
DE102013204272A1 (de) * 2013-03-12 2014-09-18 Robert Bosch Gmbh Verfahren zum Erkennen einer Korrelation
CN105229965B (zh) 2013-05-15 2018-10-09 三菱电机株式会社 设备真伪判定系统以及设备真伪判定方法
JP6037450B2 (ja) * 2013-05-20 2016-12-07 日本電気株式会社 端末認証システムおよび端末認証方法
US20150026545A1 (en) * 2013-07-18 2015-01-22 Verayo, Inc. System and method for generating constellation-based information coding using physical noisy pseudo-random sources
DE102014203648A1 (de) * 2014-02-28 2014-06-05 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
MA40917A (fr) * 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
US9703989B1 (en) 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
EP3238199B1 (en) 2014-12-24 2020-06-17 Intrinsic ID B.V. Secure key generation from biased physical unclonable function
US10841107B2 (en) * 2017-11-20 2020-11-17 Analog Devices, Inc. Efficient delay-based PUF implementation using optimal racing strategy
US11442492B2 (en) * 2019-03-04 2022-09-13 Intel Corporation Clock glitch mitigation apparatus and method
FR3106424B1 (fr) 2020-01-17 2022-02-11 Ic’Alps Procédé pour générer une donnée unique propre à un circuit intégré en silicium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204743A1 (en) * 2002-04-16 2003-10-30 Srinivas Devadas Authentication of integrated circuits

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985614A (en) 1987-01-16 1991-01-15 Rand Mcnally & Company Object verification apparatus and method
DE3736882C2 (de) 1987-10-30 1997-04-30 Gao Ges Automation Org Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis
JPH0424889A (ja) 1990-05-21 1992-01-28 Toshiba Corp 個人認証機能付きicカード
US5177352A (en) 1991-06-06 1993-01-05 The United States Of America As Represented By The United States Department Of Energy Integrated optical tamper sensor with planar waveguide
US5204902A (en) 1991-09-13 1993-04-20 At&T Bell Laboratories Cellular telephony authentication arrangement
GB9121591D0 (en) 1991-10-11 1991-11-27 Pilkington Micro Electronics Data security arrangement for semiconductor programmable logic devices
US5247577A (en) 1992-05-13 1993-09-21 Intel Corporation Methods and apparatus for securely enabling features in highly integrated electronic circuits
US5375169A (en) 1993-05-28 1994-12-20 Tecsec, Incorporated Cryptographic key management method and apparatus
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5768382A (en) 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
FR2738971B1 (fr) 1995-09-19 1997-10-10 Schlumberger Ind Sa Procede de determination d'une cle de cryptage associee a un circuit integre
US5828751A (en) 1996-04-08 1998-10-27 Walker Asset Management Limited Partnership Method and apparatus for secure measurement certification
US5883956A (en) 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JP3311260B2 (ja) 1996-12-17 2002-08-05 富士通株式会社 半導体装置及び半導体記憶装置
US5920628A (en) 1997-01-09 1999-07-06 Washington University Method and apparatus for fingerprinting and authenticating various magnetic media
US5844803A (en) 1997-02-17 1998-12-01 Micron Technology, Inc. Method of sorting a group of integrated circuit devices for those devices requiring special testing
US6038315A (en) 1997-03-17 2000-03-14 The Regents Of The University Of California Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy
US7249108B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US6289292B1 (en) 1997-10-28 2001-09-11 Micron Technology, Inc. System for identifying a component with physical characterization
US6161052A (en) 1997-10-28 2000-12-12 Micron Electronics, Inc. Method for identifying a component with physical characterization
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6941180B1 (en) 1998-08-27 2005-09-06 Addison M. Fischer Audio cassette emulator
US6363485B1 (en) 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
DE19843424A1 (de) 1998-09-22 2000-03-23 Fraunhofer Ges Forschung Vorrichtung zum Liefern von Ausgangsdaten als Reaktion auf Eingangsdaten und Verfahren zum Überprüfen der Authentizität und Verfahren zum verschlüsselten Übertragen von Informationen
US6305005B1 (en) 1999-01-14 2001-10-16 Xilinx, Inc. Methods to securely configure an FPGA using encrypted macros
US6324676B1 (en) 1999-01-14 2001-11-27 Xilinx, Inc. FPGA customizable to accept selected macros
US6301695B1 (en) 1999-01-14 2001-10-09 Xilinx, Inc. Methods to securely configure an FPGA using macro markers
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
US6402028B1 (en) 1999-04-06 2002-06-11 Visa International Service Association Integrated production of smart cards
US7216232B1 (en) 1999-04-20 2007-05-08 Nec Corporation Method and device for inserting and authenticating a digital signature in digital data
US6386456B1 (en) 1999-06-04 2002-05-14 International Business Machines Corporation Memory card identification system
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7131001B1 (en) 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
EP1100058A1 (de) 1999-11-12 2001-05-16 Infineon Technologies AG Elektronisches Bauelement und Verfahren zum Schützen einer in dem Bauelement enthaltenen integrierten Schaltung
US20010032318A1 (en) 1999-12-03 2001-10-18 Yip Kun Wah Apparatus and method for protecting configuration data in a programmable device
US6246254B1 (en) 1999-12-06 2001-06-12 International Business Machines Corporation Method and circuit for providing copy protection in an application-specific integrated circuit
EP1237323A4 (en) 1999-12-07 2005-09-07 Sanyo Electric Co DATA PLAYBACK DEVICE
US7005733B2 (en) 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
TWI245997B (en) * 2000-04-06 2005-12-21 Distribution Systems Res Inst IP communication system, IP transfer network, gateway device, server, network point device, medium router, terminal device and terminal communication method
FR2810139B1 (fr) 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
CN100431293C (zh) 2000-08-03 2008-11-05 皇家菲利浦电子有限公司 对称-密钥加密的线性变换方法和系统
JP2002149396A (ja) 2000-11-07 2002-05-24 Hitachi Ltd データプロセッサ、半導体集積回路及びcpu
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
JPWO2002050910A1 (ja) 2000-12-01 2004-04-22 株式会社日立製作所 半導体集積回路装置の識別方法と半導体集積回路装置の製造方法及び半導体集積回路装置
US7441126B2 (en) 2001-01-16 2008-10-21 Russell Dellmo Secure wireless LAN device including tamper resistant feature and associated method
US7380131B1 (en) * 2001-01-19 2008-05-27 Xilinx, Inc. Copy protection without non-volatile memory
US20040148509A1 (en) 2001-03-23 2004-07-29 Yong Dong Wu Method of using biometric information for secret generation
FR2822565B1 (fr) * 2001-03-23 2004-09-10 Schlumberger Systems & Service Composant electronique securise
US20020150252A1 (en) 2001-03-27 2002-10-17 Leopard Logic, Inc. Secure intellectual property for a generated field programmable gate array
FR2825873A1 (fr) 2001-06-11 2002-12-13 St Microelectronics Sa Stockage protege d'une donnee dans un circuit integre
GB0114317D0 (en) 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US6941263B2 (en) * 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US7191339B1 (en) 2001-09-10 2007-03-13 Xilinx, Inc. System and method for using a PLD identification code
JP2003101533A (ja) 2001-09-25 2003-04-04 Toshiba Corp 機器認証管理システム及び機器認証管理方法
CN100378991C (zh) 2001-11-28 2008-04-02 Nxp股份有限公司 半导体器件,卡,系统以及初始化和检验半导体器件的真实性和身份的方法
FR2833119A1 (fr) 2001-11-30 2003-06-06 St Microelectronics Sa Generation de quantites secretes d'identification d'un circuit integre
US7203310B2 (en) 2001-12-04 2007-04-10 Microsoft Corporation Methods and systems for cryptographically protecting secure content
US7251730B2 (en) 2001-12-21 2007-07-31 Qualcomm Incorporated Method and apparatus for simplified audio authentication
US6966022B1 (en) 2002-04-04 2005-11-15 Adaptec, Inc. System and method for determining integrated circuit logic speed
US6738788B1 (en) 2002-04-17 2004-05-18 Icid, Llc Database system using a record key having some randomly positioned, non-deterministic bits
US20030204731A1 (en) 2002-04-29 2003-10-30 Pochuev Denis A. Method and apparatus to enhance the security of data
KR100453504B1 (ko) 2002-04-30 2004-10-20 주식회사 케이티프리텔 소프트웨어 인증 방법 및 시스템
US20030219121A1 (en) 2002-05-24 2003-11-27 Ncipher Corporation, Ltd Biometric key generation for secure storage
US6802447B2 (en) 2002-08-26 2004-10-12 Icid, Llc Method of authenticating an object or entity using a random binary ID code subject to bit drift
US7568113B2 (en) 2003-01-24 2009-07-28 Johan Paul Marie Gerard Linnartz Reliable storage medium access control method and device
ATE416431T1 (de) 2003-05-16 2008-12-15 Koninkl Philips Electronics Nv Ausführungsbeweis mit zufallsfunktion
US8032760B2 (en) 2003-05-21 2011-10-04 Koninklijke Philips Electronics N.V. Method and system for authentication of a physical object
EP1631987A2 (en) 2003-05-26 2006-03-08 Koninklijke Philips Electronics N.V. Semiconductor device, method of authentifying and system
WO2004114122A2 (en) 2003-06-26 2004-12-29 Koninklijke Philips Electronics N.V. Secure number generator and content distribution network employing the same
EP1678568A1 (en) 2003-10-23 2006-07-12 Koninklijke Philips Electronics N.V. Method for protecting an information carrier comprising an integrated circuit
JP2007510349A (ja) 2003-10-29 2007-04-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理ランダム関数を共有する信頼できるフォワード秘密鍵のシステム及び方法
WO2005048256A2 (en) 2003-11-14 2005-05-26 Koninklijke Philips Electronics N.V. A data carrier having security mark and apparatus for handling such data carrier.
ATE421126T1 (de) 2003-11-17 2009-01-15 Koninkl Philips Electronics Nv Informationsträger mit einer nicht klonbaren optischen kennung
JP4448139B2 (ja) 2003-12-12 2010-04-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スペックルに基づいた物理的にクローニング不能な機能の検出用の方法及び装置
US7210634B2 (en) 2004-02-12 2007-05-01 Icid, Llc Circuit for generating an identification code for an IC
CN1922679A (zh) 2004-02-24 2007-02-28 皇家飞利浦电子股份有限公司 鉴别信息载体的散斑图
ATE407494T1 (de) * 2004-07-06 2008-09-15 Proton World Int Nv Stromverschlüsselung des inhalts eines speichers, welcher ausserhalb eines prozessors angeordnet ist
JP2008514097A (ja) 2004-09-20 2008-05-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ランダムファンクションを利用した秘密の共有
US20090183248A1 (en) 2004-10-04 2009-07-16 Koninklijke Philips Electronics, N.V. Two-way error correction for physical tokens
JP2008517365A (ja) 2004-10-15 2008-05-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 真性乱数生成器を備えた集積回路
CN101044514A (zh) 2004-10-18 2007-09-26 皇家飞利浦电子股份有限公司 安全传感器芯片
WO2006067739A2 (en) 2004-12-22 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for key generation and proving authenticity
WO2006082540A2 (en) 2005-02-02 2006-08-10 Koninklijke Philips Electronics N.V. Method, apparatus, device, system, program, for calibrating
JP2008542899A (ja) 2005-06-01 2008-11-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ヘルパーデータシステムのテンプレート更新
EP1905188B1 (en) 2005-07-07 2018-05-30 Intrinsic ID B.V. Method, apparatus and system for verifying authenticity of an object
CN101243513A (zh) 2005-08-23 2008-08-13 皇家飞利浦电子股份有限公司 使用物理单向函数的信息载体鉴别
EP1927067A2 (en) 2005-09-14 2008-06-04 Koninklijke Philips Electronics N.V. Device, system and method for determining authenticity of an item
ATE426969T1 (de) 2005-11-29 2009-04-15 Koninkl Philips Electronics Nv Beweise der physischen nahe unter verwendung von cpufs
JP2009517910A (ja) 2005-11-29 2009-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Pufsを使用した物理的な共有秘密及び周辺の証明
WO2007072450A2 (en) 2005-12-23 2007-06-28 Koninklijke Philips Electronics N.V. Puf protocol with improved backward security
EP2016736A1 (en) 2006-04-11 2009-01-21 Koninklijke Philips Electronics N.V. Noisy low-power puf authentication without database
CN101495957A (zh) 2006-07-31 2009-07-29 皇家飞利浦电子股份有限公司 产生随机位串的设备和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204743A1 (en) * 2002-04-16 2003-10-30 Srinivas Devadas Authentication of integrated circuits

Also Published As

Publication number Publication date
TW200737896A (en) 2007-10-01
DE602007013697D1 (ko) 2011-05-19
WO2007087559A3 (en) 2007-10-18
CA2637986A1 (en) 2007-08-02
EP1977511B1 (en) 2011-04-06
WO2007087559A2 (en) 2007-08-02
HK1125201A1 (en) 2009-07-31
TWI416921B (zh) 2013-11-21
JP2009524998A (ja) 2009-07-02
CA2637986C (en) 2017-01-10
ATE504884T1 (de) 2011-04-15
US20070250938A1 (en) 2007-10-25
JP5248328B2 (ja) 2013-07-31
EP1977511A2 (en) 2008-10-08
US8630410B2 (en) 2014-01-14
KR20080106180A (ko) 2008-12-04

Similar Documents

Publication Publication Date Title
KR101366376B1 (ko) 신호 제너레이터에 기반한 장치 보안
US11544371B2 (en) Secure hardware signature and related methods and applications
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US10910079B2 (en) Programming device arranged to obtain and store a random bit string in a memory device
Majzoobi et al. Slender PUF protocol: A lightweight, robust, and secure authentication by substring matching
Guajardo et al. FPGA intrinsic PUFs and their use for IP protection
JP5113074B2 (ja) 情報セキュリティ装置
EP2302555B1 (en) Error correction for physical uncloneable function
KR101360696B1 (ko) 비-네트워크 알에프아이디-피유에프 인증
US8667265B1 (en) Hardware device binding and mutual authentication
US20120183135A1 (en) Reliable puf value generation by pattern matching
US10742406B2 (en) Key generation and secure storage in a noisy environment
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
Anandakumar et al. FPGA-based Physical Unclonable Functions: A comprehensive overview of theory and architectures
KR20170100602A (ko) 물리적 복제방지 기능으로부터 암호화 키 생성
US20110040817A1 (en) Circuit and method for generating a true, circuit-specific and time-invariant random number
WO2009079050A2 (en) Authentication with physical unclonable functions
WO2017194335A2 (en) Programming device arranged to obtain and store a random bit string in a memory device
Hiller et al. Systematic low leakage coding for physical unclonable functions
EP3214567B1 (en) Secure external update of memory content for a certain system on chip
Lee et al. Samsung physically unclonable function (SAMPUF™) and its integration with Samsung security system
Millwood et al. A Generic Obfuscation Framework for Preventing ML-Attacks on Strong-PUFs through Exploitation of DRAM-PUFs
Zalivaka et al. NAND Flash Memory Devices Security Enhancement Based on Physical Unclonable Functions
TW202147097A (zh) 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法
Amelino et al. Designing an SRAM PUF-based Secret Extractor for Resource-Constrained Devices Mario Barbareschi, Pierpaolo Bagnasco

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee