[go: up one dir, main page]

KR101092039B1 - 집적회로의 인증 방법 및 장치 - Google Patents

집적회로의 인증 방법 및 장치 Download PDF

Info

Publication number
KR101092039B1
KR101092039B1 KR1020047016570A KR20047016570A KR101092039B1 KR 101092039 B1 KR101092039 B1 KR 101092039B1 KR 1020047016570 A KR1020047016570 A KR 1020047016570A KR 20047016570 A KR20047016570 A KR 20047016570A KR 101092039 B1 KR101092039 B1 KR 101092039B1
Authority
KR
South Korea
Prior art keywords
chip
response
circuit
measurement
puf
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1020047016570A
Other languages
English (en)
Other versions
KR20040102110A (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 KR20040102110A publication Critical patent/KR20040102110A/ko
Application granted granted Critical
Publication of KR101092039B1 publication Critical patent/KR101092039B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • 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
    • 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/72Protecting 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 in cryptographic circuits
    • 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
    • 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/77Protecting 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 in smart cards
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/544Marks applied to semiconductor devices or parts, e.g. registration marks, alignment structures, wafer maps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/57Protection from inspection, reverse engineering or tampering
    • H01L23/576Protection from inspection, reverse engineering or tampering using active circuits
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • 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/2103Challenge-response
    • 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/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • 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
    • 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/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54433Marks applied to semiconductor devices or parts containing identification or tracking information
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54433Marks applied to semiconductor devices or parts containing identification or tracking information
    • H01L2223/5444Marks applied to semiconductor devices or parts containing identification or tracking information for electrical read out
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54473Marks applied to semiconductor devices or parts for use after dicing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • 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/34Encoding or coding, e.g. Huffman coding or error correction
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Manufacturing & Machinery (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)

Abstract

한 그룹의 소자가 공통 설계에 기초하여 제조된다. 각각의 소자는 그룹 내에서 그 소자에 대하여 고유하게 대응하는 복수의 측정가능한 특성을 가지며, 각각의 소자는 상기 측정가능한 특성을 측정하기 위한 측정 모듈을 가진다. 상기 한 그룹의 소자들 중 하나에 대한 인증은, 상기 소자의 복수의 측정가능한 특성들 의 하나 또는 그 이상에 대한 선택적 측정에 의해 가능하게 된다.
Figure R1020047016570
인증자, 아이덴티티, 스마트카드, 카드 리더, 스위치 회로

Description

집적회로의 인증 방법 및 장치{AUTHENTICATION OF INTEGRATED CIRCUITS}
본 발명은 집적회로의 인증에 관한 것이다.
동일 리쏘그래피 매스크를 사용하여 제조된 집적회로는 제조업체에 의해 칩에 이식된 일련번호와 같이 칩내에 고유 식별자를 이식함으로써 고유하게 식별될 수 있다. 고유 식별자를 생성하기 위한 또다른 예는 칩내에 트랜지스터의 어레이를 통합시키고, 어레이를 이루고 있는 트랜지스터의 임계 전압을 측정하며, 그 측정치를 식별자로써 출력하는 것이다. 동일 리쏘그래피 매스크로 구성된 소정수의 칩에 대하여, 어레이내의 트랜지스터의 수가 충분이 크다면, 어레이로부터 생성된 식별자는 고유한 것이 될 것이다. 칩 제조에서의 공정 변동(process variations)으로 인해, 임계 전압이 정확하게 일치하는 트랜지스터의 어레이를 갖는 2개의 칩은 존재하지 않을 것이다.
칩내에 비밀리에 이식되는 고유 식별자는 칩을 인증하는데 사용될 수 있다. 인증은 그 칩이 위조품이 아니라는 것을 사용자에게 제공하거나, 혹은 특정 처리 결과가 다른 칩이 아닌 그 칩에 의해 처리되었다는 것을 제공하는 것을 의미한다. 고유 식별자의 예로는 스마트카드에 이식된 보안키를 들 수 있다. 카드 리더가 스마트카드로부터 보안키를 읽어들여, 이것을 데이타베이스에 사전 저장된 보안키와 비교한다. 이 둘이 일치하는 경우, 스마트카드가 인증되며, 카드 판독기는 스마트카드와 업무처리를 진행한다. 보안키는 불법사용자(adversary)가 키를 복제하여 아이덴티티(identity)를 속일 수 없도록 보안을 유지할 필요가 있다.
불법사용자는 예를들어 집적회로의 패키지와 레이어를 제거하는 것과 같은 무력적인 방법 또는 예를들어 집적회로 칩을 시뮬레이션하여 전원 레일과 접지 레일을 관측함으로써 보안키를 판정하려고 하는 차등 전원 분석과 같은 비무력적인 방법을 이용하여 보안키를 찾아내고자 칩을 조사할 것이다. 칩에 대한 물리적인 가해를 방지하기 위해, 침입의 검출에 대한 침입 및 소거 감지 정보를 검출하도록 칩의 패키징내에 감지 회로가 포함될 수도 있을 것이다.
정확하게 복사하기가 어려운 다수의 세트의 측정가능한 물리적 특성을 갖는 집적회로를 설계함으로써, 물리적 특성의 서브세트를 선택적으로 측정하고 그 측정 결과를 사전 저장된 측정치와 비교함으로써 칩을 인증하는 것이 가능하다. 이들이 일치하면, 칩은 인증된다. 칩은 측정가능한 물리적 특성의 수가 충분히 많아서 불법사용자로 하여금 물리적 특성의 전부를 철저하게 측정하여 그 측정 결과를 저장하는 것이 불가능하게 하도록 설계될 수 있다. 칩은 또한 불법사용자가 물리적인 특성의 서브세트를 측정하여 칩의 모델을 작성하기가 곤란하도록 구성될 수도 있다. 물리적 특성의 어느 서브세트가 선택되어 측정될 것인지를 불법사용자가 미리 알 수 없기 때문에, 불법사용자는 요구(challenge)에 응답하여 정확한 측정치를 생성함으로써 칩의 아이덴티티를 위조하는 것은 불가능하다. 칩의 아이덴티티는 불 법사용자가 칩의 소유권내에 있을 경우에만 획득될 수 있다. 칩을 인증하기 위한 보안키 또는 보안키들은 칩 자체와 분리될 수 없다.
일반적으로, 일측면에서, 본 발명은 공통 설계에 기초하여 제조된 소자의 그룹으로부터 제1 소자를 제공하는 단계를 포함하는 방법을 특징으로 하며, 각각의 소자는 그 소자에 대한 그룹에서 고유한 것인 대응하는 복수의 측정가능한 특성을 갖고, 측정가능한 특성을 측정하기 위한 측정 모듈을 갖는다. 본 방법은 또한 소자의 복수의 측정가능한 특성 중의 하나 또는 그 이상의 선택적인 측정에 의해 제1 소자의 인증을 가능하게 하는 단계를 더 포함한다.
본 발명의 실시예는 다음 특징 중의 하나 또는 그 이상을 포함할 수도 있을 것이다. 제1 소자의 인증을 가능하게 하는 단계는 선택 정보를 제1 소자에 전송하고, 선택 정보를 기초로 복수의 특성 중의 하나의 특성의 선택적인 측정에 의해 생성된 응답 정보를 제1 소자로부터 수신하고, 수신된 응답 정보를 제1 소자 및 선택 정보와 관련하여 저장함으로써 제1 소자를 등록(enroll)하는 단계를 포함한다. 제1 소자의 인증을 가능하게 하는 단계는 선택 정보를 제1 소자에 전송하고, 특성 중의 하나의 특성의 선택적인 측정에 의해 생성된 응답 정보를 수신하는 단계들을 반복하고, 수신된 응답 정보를 저장된 응답 정보와 비교함으로써 제1 소자를 인증하는 단계를 더 포함한다.
제1 소자를 등록하는 단계와 제1 소자를 인증하는 단계의 각각은 선택 정보에 기초하여 복수의 특성 중의 한 특성을 선택적으로 측정하는 단계와, 측정 정보를 생성하는 단계를 포함한다. 본 방법은 소자 그룹의 각각을 등록하는 단계를 더 포함하며, 소자 그룹의 각각을 등록하는 단계는 소자의 각각에 대하여, 측정가능한 특성의 서브세트를 식별하는 선택 정보를 소자에 전송하는 단계와, 선택 정보로 식별된 측정가능한 특성의 서브세트의 각각에 대한 선택적인 측정에 의해 생성된 응답 정보를 소자로부터 수신하는 단계와, 수신된 응답 정보를 제1 소자 및 선택 정보에 관련하여 저장하는 단계를 포함한다.
본 방법은 소자의 각각에 대해 측정가능한 특성의 상이한 서브세트를 결정하는 단계를 더 포함한다. 각각의 소자에 대해 상이한 서브세트를 결정하는 단계는 각각의 서브세트의 멤버를 무작위로 선택하는 단계를 포함한다. 본 방법은 제1 소자를 인증하는 단계를 더 포함하며, 제1 소자를 인증하는 단계는, 제1 소자에 대해 측정가능한 특성의 서브세트 중의 한 서브세트를 식별하는 선택 정보를 제1 소자에 전송하는 단계와, 측정가능한 특성의 서브세트 중의 식별된 서브세트의 선택적인 측정에 의해 생성된 응답 정보를 제1 소자로부터 수신하는 단계와, 수신된 응답 정보를 제1 소자의 등록 동안에 수신된 저장된 응답 정보와 비교하는 단계를 포함한다.
본 방법은 소자를 공통 설계에 따른 소자의 그룹으로 제조하는 단계를 더 포함한다. 소자를 제조하는 단계는 공통 세트의 리쏘그래피 매스크에 따라 소자의 그룹을 제조하는 단계를 포함한다. 소자의 대응하는 복수의 측정가능한 특성은 소자의 제조 동안에 결정된 특성을 포함한다. 소자의 제조 동안에 결정된 특성은 제조 공정의 제어되지 않은 특성을 포함한다. 소자 그룹으로부터 제1 소자를 제공하는 단계는 제1 집적회로를 제공하는 단계를 포함한다.
대응하는 복수의 측정가능한 특성은 집적회로내의 복수의 신호 경로의 지연 특성을 포함한다. 복수의 신호 경로는 회로 부품 세트의 각각을 경유하는 다수의 경로를 포함한다. 회로 부품은 수동 전송 라인을 포함한다. 회로 부품은 능동 반도체 구성요소를 포함한다. 능동 반도체 구성요소는 논리 게이트를 포함한다. 대응하는 복수의 측정가능한 특성은 광학적 특성을 포함한다. 광학적 특성은 반사 특성을 포함한다. 반사 특성은 스페클 패턴(speckle patterns)을 포함한다.
각각의 소자의 측정가능한 특성의 수는 2, 4, 16, 256, 216, 232, 264 또는 2128 보다 클 것이다. 각각의 소자는 복수의 측정가능한 특성을 갖는 기능성 부품 및 측정가능한 부품을 포함한다. 본 방법은 소자를 패키지내에 패키징하는 단계를 더 포함한다. 기능성 부품 및 측정가능한 부품은 기능성 부품이 복수의 측정가능한 특성을 변경하지 않고서는 물리적으로 액세스될 수 없는 방식으로 패키지내에 배치된다.
본 방법은 식별자를 포함하는 선택 정보를 인코딩하는 선택 신호를 제1 소자에서 수신하는 단계와, 이 식별자를 사용하여 복수의 측정가능한 특성 중의 한 특성을 선택하는 단계를 더 포함한다. 측정가능한 특성 중의 하나를 선택하는 단계는 식별자를 인자(argument)로서 사용하는 단방향 함수를 적용하는 단계를 포함한다. 단방향 함수를 적용하는 단계는 추가로 제2 식별자를 인자(argument)로서 사용한다. 제2 식별자는 소자의 식별을 포함한다. 소자의 식별은 소자에 저장된 일련 번호를 포함한다. 제2 식별자는 신분의 식별을 포함한다.
본 방법은 선택된 특성을 측정하는 단계를 포함한다. 선택된 특성은 선택된 신호 경로의 지연 특성을 포함한다. 지연 특성을 측정하는 단계는 선택된 지연 경로를 사용하여 발진 신호를 생성하는 단계를 포함한다. 지연 특성을 측정하는 단계는 발진 신호의 발진 주파수에 관련된 양을 결정하는 단계를 더 포함한다. 발진 주파수에 관련된 양을 결정하는 단계는 타이밍 조절된 구간 동안의 발진의 횟수를 카운트하는 단계를 포함한다. 발진 주파수에 관련된 양을 결정하는 단계는 발진 신호에 위상 고정 루프를 적용하는 단계를 포함한다. 선택된 특성을 측정하는 단계는 소자의 환경의 변화에 기인한 선택된 특성의 측정에서의 변동을 보상하는 단계를 포함한다.
본 방법은 기준 특성을 측정하는 단계와, 기준 특성의 측정치에 대한 선택된 특성의 측정치의 비율을 연산하는 단계를 더 포함한다. 본 방법은 선택된 특성의 측정치에서의 오차를 보정하는 단계를 더 포함한다. 본 방법은 측정된 특성을 사용하여 응답 정보를 판정하는 단계와, 응답 정보를 인코딩한 제1 장치로부터의 응답 신호를 전송하는 단계를 더 포함한다. 응답 정보를 판정하는 단계는 측정된 특성을 인자로서 사용하는 단방향 함수를 적용하는 단계를 포함한다. 본 방법은 소자에 의해 생성된 결과를 인코딩한 결과 신호를 제공하는 단계를 더 포함하며, 여기서 단방향 함수를 적용하는 단계는 그 결과로부터 판정된 인자를 추가로 사용한다. 본 방법은 소자내의 프로세서에 관한 오퍼레이션을 실행하기 위한 코드를 수용하는 단계를 더 포함하며, 여기서 단방향 함수를 적용하는 단계는 코드로부터 판정된 인자를 추가로 사용한다.
본 방법은 소자내에서의 실행을 위한 명령어를 수용하는 단계를 더 포함하며, 여기서 단방향 함수를 적용하는 단계는 명령어로부터 판정된 인자를 추가로 사용한다. 응답 신호를 제공하는 단계는 명령어가 소자내에서 실행되었다는 액크노리지먼트(acknowledgment)를 제공하는 단계를 포함한다. 본 방법은 제2 식별자를 인코딩한 제2 선택 신호를 제1 소자에서 수용하는 단계와, 제2 식별자에 따라 선택된 특성 중의 제2 특성을 측정하는 단계와, 특성 중의 제2 특성에 대한 측정치를 인코딩한 결과 신호를 제공하는 단계를 더 포함한다. 단방향 함수를 적용하는 단계는 특성 중의 제2 특성에 대한 측정치로부터 결정된 인자를 추가로 사용한다.
본 방법은 식별자를 포함하는 선택 정보를 인코딩한 선택 신호를 제1 소자에서 수신하는 단계와, 식별자를 사용하여 복수의 측정가능한 특성 중의 제1 특성을 선택하는 단계와, 역시 식별자를 사용하여 복수의 측정가능한 특성 중의 제2 특성을 선택하는 단계를 더 포함한다. 본 방법은 제1 측정치를 생성하기 위해 제1 선택된 특성을 측정하는 단계와, 제2 측정치를 생성하기 위해 제2 선택된 특성을 측정하는 단계와, 제1 측정치를 제2 측정치에 대해 비교하는 단계를 더 포함한다. 본 방법은 제1 측정치와 제2 측정치의 비교에 따른 1-비트 응답을 생성하는 단계를 더 포함한다. 본 방법은 식별자를 포함하는 선택 정보를 인코딩한 선택 신호를 수신하고, 식별자를 사용하여 복수의 측정가능한 특성 중의 제1 특성 및 제2 특성을 선택하고, 제1 측정치 및 제2 측정치를 생성하기 위해 측정가능한 특성 중의 제1 특성 및 제2 특성을 측정하고, n-비트 응답 중의 1비트를 생성하기 위해 제1 측정치와 제2 측정치를 비교하는 단계들을 n-1회 반복함으로써 n-비트 응답을 생성하는 단계를 더 포함한다.
본 방법은 제1 동작 모드에서, 제1 식별자를 인코딩한 제1 선택 신호를 제1 소자에서 수용하는 단계와, 제1 식별자를 인자로서 사용하는 제1 단방향 함수를 적용하는 단계와, 제1 단방향 함수의 결과를 사용하여 복수의 특성 중의 하나를 선택하는 단계와, 선택된 특성을 측정하는 단계와, 선택된 특성의 식별자와 측정된 특성을 인코딩하는 제1 응답 신호를 제공하는 단계를 더 포함한다. 제2 동작 모드에서는, 제2 식별자를 인코딩한 제2 선택 신호를 제1 소자에서 수용하는 단계와, 제2 식별자를 사용하여 복수의 특성 중의 하나를 선택하는 단계와, 선택된 특성을 측정하는 단계와, 측정된 특성을 인자로서 사용하는 제2 단방향 함수를 적용하는 단계와, 제2 단방향 함수를 적용한 결과를 인코딩하는 제2 응답 신호를 제공하는 단계를 포함한다. 제2 식별자는 제1 식별자를 인자로서 사용하는 제1 단방향 함수를 적용한 결과와 동일하다.
전반적으로, 또다른 관점에서, 본 발명은 공통 설계에 기초하여 제조된 소자의 그룹으로부터 제1 소자를 제공하는 단계를 포함하는 방법을 특징으로 하며, 각각의 소자가 그 소자에 대한 그룹에서 고유한 것인 대응하는 복수의 측정가능한 특성을 갖고, 측정가능한 특성은 이산적인 값(discrete values)을 갖는다. 본 방법은 소자의 복수의 측정가능한 특성 중의 하나 또는 그 이상의 특성에 대한 선택적인 측정에 의해 제1 소자의 인증을 가능하게 하는 단계를 더 포함한다. 대응하는 복수의 측정가능한 특성은 제1 소자내의 복수의 신호 경로의 지연 특성을 포함한다. 대응하는 복수의 측정가능한 특성은 광학적 특성을 포함한다.
전반적으로, 또다른 관점에서, 본 발명은 공통 설계에 기초하여 제조된 소자의 그룹으로부터 제1 소자를 제공하는 단계를 포함하는 방법을 특징으로 하며, 각각의 소자는 그 소자에 대한 그룹 내에서 고유한 것인 대응하는 복수의 측정가능한 특성을 갖고, 각각의 소자는 프로세서를 갖는다. 본 방법은 제1 소자의 복수의 측정가능한 특성 중의 하나 또는 그 이상을 선택적으로 측정하는 단계와, 제1 소자의 프로세서에 관한 오퍼레이션을 실행하기 위한 코드를 수용하는 단계와, 코드로부터 결정된 제1 인자를 사용하는 단방향 함수를 적용하는 단계를 더 포함한다.
본 발명의 실시예는 다음 특징 중의 하나 또는 그 이상을 포함할 수도 있을 것이다. 단방향 함수를 적용하는 단계는 측정된 특성으로부터 판정된 제2 인자를 사용하는 단계를 더 포함한다. 코드는 공개 암호화 키를 포함한다. 본 방법은 측정된 특성으로부터 구해진 값을 암호화하기 위해 공개 암호화 키를 사용함으로써 제2 인자를 결정하는 단계를 더 포함한다. 코드는 측정가능한 특성의 서브세트를 식별하는 선택 정보를 포함한다. 복수의 측정가능한 특성 중의 하나 또는 그 이상을 선택적으로 측정하는 단계는 선택 정보에 의해 식별된 측정가능한 특성의 서브세트의 각각을 선택적으로 측정하는 단계를 포함한다. 단방향 함수를 적용하는 단계는 선택 정보로부터 결정된 제2 인자를 사용하는 단계를 더 포함한다. 대응하는 복수의 측정가능한 특성은 제1 소자내의 복수의 신호 경로의 지연 특성을 포함한다.
전반적으로, 또다른 관점에서, 본 발명은 공통 설계에 기초하여 제조된 소자의 그룹으로부터 제1 소자를 제공하는 단계를 포함하는 방법을 특징으로 하며, 각 각의 소자는 그 소자에 대한 그룹내에서 고유한 것인 대응하는 복수의 전기적으로 측정가능한 특성을 갖는다. 본 방법은 소자의 복수의 측정가능한 특성 중의 하나 또는 그 이상의 특성에 대한 선택적인 측정에 의해 제1 소자의 인증을 가능하게 하는 단계를 더 포함한다.
본 발명의 실시예는 다음 특징 중의 하나 또는 그 이상을 포함할 수도 있을 것이다. 대응하는 복수의 측정가능한 특성은 제1 소자내의 복수의 신호 경로의 지연 특성을 포함한다.
전반적으로, 또다른 관점에서, 본 발명은 공통 설계에 기초하여 제조된 소자의 그룹으로부터 선택된 소자를 포함하는 장치를 특징으로 하며, 그룹내의 각각의 소자는 그 소자에 대한 그룹 내에서 고유한 것인 대응하는 복수의 측정가능한 특성을 갖으며, 각각의 소자는 선택된 특성을 측정하는 측정 부품을 포함한다.
본 발명의 실시예는 다음의 특징 중의 하나 또는 그 이상을 포함할 수도 있을 것이다. 소자는 집적회로를 포함한다. 집적회로는 신호 경로를 포함하며, 복수의 측정가능한 특성은 신호 경로의 지연 특성을 포함한다. 집적회로는 회로 부품의 세트를 포함하며, 신호 경로는 회로 부품의 세트의 각각을 경유하는 경로를 포함한다. 소자는 프로세서를 더 포함한다. 프로세서는 단방향 함수를 시행한다. 소자는 발광 부품의 어레이와, 광검출 부품의 어레이와, 발광 부품의 하나 또는 그 이상이 광을 방출하고 있을 때 광검출 부품의 어레이에 의해 검출될 수 있는 스페클 패턴을 생성하는 광투과 매체를 포함한다. 본 장치는 소자와 관련된 식별자 및 응답을 저장하기 위한 저장 소자를 더 포함하며, 각각의 식별자는 하나 또는 그 이 상의 측정가능한 특성을 식별하며, 각각의 응답은 하나 또는 그 이상의 식별자에 대응하고, 하나 또는 그 이상의 식별자에 의해 식별된 측정가능한 특성의 하나 또는 그 이상의 측정치로부터 구해진다.
본 발명의 다른 특징 및 장점은 다음의 상세한 설명, 첨부 도면, 그리고 청구범위에 의해 명백해질 것이다.
도 1은 물리적 랜덤 기능(PUF)을 구현하는 칩을 도시하는 도면이다.
도 2는 칩을 인증하기 위해 PUF 회로를 사용하기 위한 프로세스를 도시하는 도면이다.
도 3은 PUF 회로를 도시하는 도면이다.
도 4는 지연 회로를 도시하는 도면이다.
도 5 및 도 6은 도 4의 지연 회로에 사용된 스위치를 도시하는 도면이다.
도 7은 타이밍도이다.
도 8A 및 도 8B는 지연 회로를 도시하는 도면이다.
도 9는 보상된 PUF 회로를 포함하는 칩을 도시하는 도면이다.
도 10 및 도 11은 보상된 PUF 회로를 도시하는 도면이다.
도 12는 에러 정정을 갖는 개량된 PUF 회로를 도시하는 도면이다.
도 13A는 제어된 PUF(CPUF) 회로를 도시하는 도면이고, 도 13B는 CPUF 칩을 도시하는 도면이다.
도 14는 CPUF 칩을 도시하는 도면이다.
도 15 내지 도 30은 각각 제어 알고리듬 및 제어 알고리듬과 관련되는 엔티티간의 관계를 예시하는 도면이다.
도 31은 익명의 소개를 위한 프로그램을 도시하는 도면이다.
도 32는 스마트카드 및 카드 리더를 도시하는 도면이다.
도 33 내지 도 35는 타이밍도를 도시하는 도면이다.
도 36은 자체-발진 루프를 도시하는 도면이다.
도 37 내지 도 45는 실험 데이타를 나타내는 그래프이다.
도 46 및 도 47은 실험에 사용된 지연 회로를 도시하는 도면이다.
도 48 및 도 49는 실험 데이타를 나타내는 그래프이다.
도 50A 및 도 50B는 복제 또는 변조가 용이하지 않은 PUF 칩을 도시하는 도면이다.
도 51 내지 도 53은 PUF 회로를 도시하는 도면이다.
도 54는 PUF 소자를 도시하는 도면이다.
도 55는 발진 주파수를 측정하기 위해 PLL을 사용하는 PUF 회로를 도시하는 도면이다.
도 56은 PUF 회로를 도시하는 도면이다.
첨부 도면의 여러 도면에 걸쳐 동일한 도면부호는 동일한 구성요소를 나타낸다.
PUF로 구현된 IC
도 1을 참조하면, 반도체 집적회로(이하, "IC" 또는 "칩"으로 지칭됨)(50)는 기능성 모듈(52) 및 물리적 랜덤 함수(또한 물리적 미지 함수 또는 "PUF"로도 지칭됨) 회로(100)를 포함한다. 칩(50)은 칩 설계에 따라, 예를들어 칩에 대하여 리쏘그래피 매스크의 세트에 따라 제조되는 특정한 예의 칩이다.
PUF 회로(100)는 칩을 제조하기 위한 리쏘그래피 매스크에 기초하거나 또는 칩의 비파괴적 물리적 검사에 기초하는 것과 같은 칩의 설계에 기초하여 예측하기가 용이하지 않은 방식으로 입력을 출력으로 맵핑하는 물리적인 랜덤 함수(PUF)의 구현예이다. PUF 회로에 의해 입력을 출력으로 맵핑하는 것은 PUF 회로의 출력이 모든 가능한 출력의 범위 중에서 균등하게 분포되도록 반드시 진정하게 "랜덤"하게 되어야만 하지는 않는다. 예를들어, 특정한 PUF 회로의 제조에 좌우되어, 그 PUF 회로에 의해 생성된 출력이 특정한 값 주변에 더욱 집중되는 것이 가능하다. 기능성 모듈(52)은 예를들어, 입력 라인(107) 상의 데이타를 수신하고, 그 데이타를 처리하며, 메시지 라인(109) 상의 데이타를 처리하는 것에 기초하여 메시지를 생성함으로써 요구된 오퍼레이션을 시행한다.
PUF 회로(100)는 신호 라인(106) 상의 입력을 수신하고, 라인(108) 상의 출력을 생성한다. 각각의 [입력, 출력]쌍은 칩(50)에 대한 특정의 것이며, 칩(50)과 관련된 물리적 구조의 부분의 특성을 좌우한다. 동일한 리쏘그래피 매스크를 사용하여 제조된 상이한 칩은 예를들어 제조 공정에서의 사소한 변동으로 인해 일반적으로 다소의 상이한 물리적 구조를 가질 것이다. 따라서, 이러한 상이한 칩들은 일반적으로 동일한 PUF 입력을 상이한 출력으로 맵핑할 것이다. 더욱 상세하게 하 술되는 바와 같이, [입력, 출력]쌍은 칩(50)을 인증 및 식별하기 위해 사용되거나, 메시지가 위조 칩에 의해서가 아니라 예를들어 칩(50)과 같은 특정 칩에 의해서 생성된다는 것을 입증하기 위해 사용될 수 있다.
하술된 설명에서, "PUF"라는 용어는 입력을 출력으로 맵핑하는 물리적인 랜덤 함수를 지칭하며, "PUF 회로"라는 용어는 함수를 구현하는 회로를 지칭한다. "PUF f 회로"라는 용어는 특정한 물리적 랜덤 함수 f를 구현하는 회로를 지칭한다. "PUF 칩"이라는 용어는 PUF 회로를 포함하는 칩을 지칭한다.
칩(50)은 칩(50)의 회로 패턴을 한정하는 리쏘그래피 매스크의 세트를 사용하여 제조된다. 칩의 세트를 생산하기 위해 동일한 리쏘그래피 매스크가 사용될 때, 제조 공정에서의 사소한 변동으로 인하여, 정확하게 동일한 2개의 칩은 존재하지 않는다. 상이한 칩에 걸쳐서뿐만 아니라 각각의 칩내에서도 여러 파라미터(예를들어, 전도 와이어의 길이와 폭, 도핑 영역의 농도, 유전체층의 두께)에서 사소한 변동이 존재할 것이다. 기능성 모듈(52)은 충분히 견고하게 되도록 설계되어, 파라미터의 변동에도 불구하고 기능성 모듈(52)에 의해 수행된 기능이 동일한 세트의 리쏘그래피 매스크로 제조된 모든 칩에 대해 동일성을 유지하게 된다. 한편, PUF 회로(100)는 상이한 칩에 걸쳐 다양한 파라미터에서의 변동의 장점을 취하도록 설계된다. PUF 회로(100)의 "함수"는 일반적으로 동일한 세트의 리쏘그래피 매스크를 사용하여 제조된 상이한 칩에 대해 상이하다. 동일 세트의 리쏘그래피 매스크를 사용하여 제조된 상이한 PUF 회로(100)는 일반적으로 동일한 입력을 상이한 출력으로 맵핑한다.
PUF 회로(100)는 측정가능한 부품(102) 및 측정 회로(104)를 포함한다. PUF 회로(100)에 의해 구현된 함수는 측정가능한 부품(102)내의 다수의 별도의 물리적 특성에 좌우되며, 이 물리적 특성은 PUF에 대한 입력에 따라 조합되어 PUF의 출력을 판정한다. 측정 회로(104)는 물리적 특성의 조합을 측정하여 출력을 판정하도록 설계된다. 출력은 실제 측정치의 가공된 버젼을 나타낼 것이며, 여기서 가공은 실제의 물리적 파라미터를 숨기기 위해서뿐만 아니라 측정 오차와 환경적 조건의 영향을 감소시키거나 정정하도록 설계된다. 개개의 물리적 특성은 소자의 물리적인 조사에 의해 예측 또는 측정하기가 용이하지 않으며, 그 물리적 특성이 알려진 경우에도 칩(50)의 복사본을 정확하게 복제하는 것을 불가능하게 하거나, 불가능하지 않은 경우에는 매우 어렵게 할 것이다.
인증
칩(50)의 PUF 회로(100)의 일응용예는 칩의 아이덴티티를 인증하는 것이다. 이 응용예에서, PUF에 대한 가능한 [입력, 출력]쌍의 서브세트는 먼저 신호 라인(106) 상의 상이한 입력을 PUF 회로(100)에 제공하고 신호 라인(108) 상의 대응 출력을 기록함으로써 판정된다. 이 입력은 PUF 회로가 별도의 물리적인 특성의 다양한 조합을 사용하도록 선택된다. PUF 회로의 출력은 보안이 유지되며, 사용되어 왔던 입력의 세트들도 보안이 유지된다.
칩(50)의 아이덴티티가 인증될 때에, 대응 출력이 기록되어 보안 유지되는 입력 중의 하나가 신호 라인(106) 상의 입력으로써 PUF 회로(100)에 제공된다. PUF 회로(100)의 출력 라인(108) 상의 출력은 저장된 대응 출력과 비교된다. 이들이 일치한다면, 칩은 인증된다. 이러한 입력은 "요구(challenge)"로 지칭되고, 그 출력은 요구에 대한 "응답"으로 지칭된다. 일반적으로, 요구 및 응답은 2진수로 표현된 이산적인 값이다.
소정 칩의 모든 성공적인 인증시에, 요구-응답쌍의 세트가 불법사용자에게 노출될 가능성이 있다. 동일한 요구-응답쌍은 재사용되지 않는 것이 바람직하다. 요구-응답쌍의 데이타베이스는 칩을 식별하고자 하는 사람에 의해 유지된다. 이 데이타베이스는 모든 가능한 요구-응답쌍의 작은 서브세트를 감당하기 위해 필요하다. 데이타베이스가 요구-응답쌍을 전부 사용하는 경우, 아래에 설명된 방법을 사용하여 칩으로부터 새로운 요구-응답쌍이 생성될 수도 있을 것이다.
도 2는 칩을 인증하기 위해 PUF 회로를 사용하기 위한 일반적인 접근방식을 예시하는 프로세스(268)를 설명하는 도면이다.
단계 270 : 제조업체가 PUF 회로(100)를 포함하는 칩(50)을 설계한다. 칩을 제조하기 위한 패턴을 포함하고 있는 리쏘그래피 매스크의 세트가 칩 설계에 기초하여 생성된다.
단계 271 : 제조업체는 n개의 칩을 제조하기 위해 리쏘그래피 매스크의 세트를 사용한다. 각각의 칩은 리쏘그래피 매스크의 동일 패턴으로 구성되는 PUF 회로를 포함하지만, 제조 공정에서의 랜덤한 변동으로 인해, 상이한 측정가능한 물리적 특성을 갖는다.
단계 272 : 요구-응답쌍의 세트가 각각의 칩에 대해 생성된다.
단계 273 : 요구-응답쌍이 보안 위치에 저장된다.
단계 274 : 칩이 칩 소유자에게 배포된다.
단계 275 : 칩 X(제조된 n개의 칩중의 하나)가 인증될 필요가 있을 때, 칩 X와 관련된 요구 응답 쌍이 보안 위치로부터 검색된다. 요구가 칩에 전송된다.
단계 276 : 응답이 칩으로부터 검색된다.
단계 277 : 칩으로부터 검색된 응답이 보안 위치로부터 검색된 응답과 비교된다. 응답이 일치한다면, 칩이 인증된다.
일례에서, 단계 "270" 및 단계 "271"은 칩의 제조업체에 의해 수행되며, 단계 "272" 내지 단계 "277"은 칩을 고객에게 배포하고자하는 엔티티(예를들어, 은행)에 의해 수행되며, 추후에 서비스에 대한 액세스를 부여할지의 여부를 판정하기 위해 칩을 인증한다.
또다른 예에서, 칩이 제조된 후, 칩은 칩 소유자에게 배포된다. 칩 소유자는 요구 응답쌍의 세트를 작성할 것이며, 요구 응답쌍의 세트를 최종 사용자에게 배포한다. 최종 사용자는 최종 사용자에게만 알려지는 신규 요구 응답쌍을 생성하기 위해 칩 소유자로부터 검색된 요구 응답쌍을 사용할 수도 있을 것이다.
칩(50)은 스마트카드의 아이덴티티의 인증을 허용하기 위해 스마트카드내에 이식되어 카드 홀더로 하여금 스마트카드 회사에 의해 제공된 서비스에 대한 액세스를 얻을 수 있도록 할 수 있다. 각각의 스마트카드는 일련번호를 가지며, 스마트카드 회사는 각각의 일련번호와 관련된 요구 응답쌍의 세트를 갖는다. 스마트카드가 카드 리더에 제공될 때, 카드 리더는 스마트카드 일련번호에 기초하여 하나 또는 그 이상의 요구를 선택한다. 요구는 칩(50)에 보내지고, 칩은 하나 또는 그 이상의 응답을 생성하여 이들은 다시 카드 리더에 보낸다. 카드 리더는 수신된 응답을 저장된 응답에 비교한다. 응답이 일치하면, 스마트카드가 인증되며, 이것은 스마트카드가 요구 응답쌍을 생성하기 위해 원래 사용된 칩과 동일한 칩을 포함하고 있다는 것을 의미한다.
칩(50)은 또한 "인증된 실행"에 사용될 수도 있다. 칩(50)의 소유자는 최종 사용자로 하여금 데이타를 처리하여 연산 결과를 생성하도록 칩에 대한 액세스를 획득하도록 할 수 있다. 소유자는 최종 사용자가 칩의 처리 권한에 대한 액세스를 획득하도록 하기 위해 최종 사용자에게 요구-응답쌍(CRP : Cnallenge-Response Pairs)의 세트를 배포한다. 최종 사용자는 요구를 칩에게 보내며, 연산 결과가 다른 위조 칩에 의해서가 아니라 그 칩에 의해 실제로 발생되었다는 것을 검증하기 위해 칩으로부터 응답을 수신한다.
상기의 스마트카드 및 인증된 실행 응용예에서, 불법사용자는 칩(50)에 전송된 요구와 칩으로부터 수신된 응답을 가로채어 다양한 유형의 공격을 시작한다. 이것은 차후에 더욱 상세하게 설명될 제어 알고리듬을 사용함으로써 방지될 수 있다.
PUF 회로(100)의 출력은 입력에 의해 선택되는 물리적인 특성의 조합에 기초를 둔다. PUF 회로(100)는 조합의 수(또는 가능한 입력의 수)가 충분히 커서 칩(50)을 점유하고 있는 불법사용자가 [입력, 출력]쌍의 전부를 측정하여 저장하는 것이 너무 광범위하여 불가능하게 되도록 설계된다. 따라서, 불법사용자가 예를들 어 모든 가능한 [입력, 출력]쌍을 복사본에 저장하는 것에 의해 PUF 회로(100)의 기능성을 포함한 칩(50)의 기능성을 복사사는 것이 불가능하게 된다. 유효한 [입력, 출력]쌍을 기록하기 위해 초기에 사용되었던 가능한 입력의 서브세트가 불법사용자로부터 보안으로 유지되어 그 서브세트가 불법사용자에 의해 예측될 수 없는 한, 불법사용자는 칩(50)의 행동을 차후에 모조하기 위해 요구될 수도 있는 모든 [입력, 출력]쌍을 실제적으로 측정할 수 없다.
물리적 특성의 각각의 조합은 칩의 아이덴티티를 인증하기 위해 사용될 수 있는 칩의 다수의 "서명" 중의 하나로 보여질 수 있다. 제조 공정 변동으로 인한 칩내의 변동을 사용함으로써, 레지스터 또는 메모리셀과 같은 저장 장치에 어떠한 서명 정보를 저장할 필요없이 칩 상에 다수의 서명을 저장하는 것이 가능하다. 서명은 정확하게 복제될 수 없는 PUF 칩의 와이어링 및 부품과 관련되며, 저장되지 않아 불법사용자에 의해 독출될 수 없다.
PUF 회로(100)는 불법사용자가 칩(50)에 대한 물리적인 검사 또는 측정에 의해 PUF 회로의 모델을 작성하고 이러한 모델에 기초하여 차후에 칩(50)의 행동을 모조하기가 곤란하도록 설계된다. 물리적 특성의 조합의 측정은 일반적으로 칩내의 와이어 및 소자들간의 상호작용으로 인해 개개의 물리적인 특성의 측정에 대한 비선형적 및 비일률적인 함수가 된다. 불법사용자에게 칩의 완전한 매스크 정보 및 칩에 대한 제한되지 않은 물리적인 액세스가 제공된다 하더라도, 불법사용자는 모델의 파라미터를 획득하기 위해 PUF 회로(100)에 의해 구현된 함수를 반전시키는 것이 곤란하게 된다.
칩(50)은 불법사용자가 특정한 양의 시간 동안 소자의 소유권을 갖는 경우에도 불법사용자가 합법적 소유자의 요구에 대한 응답을 발생할 수 있는 확률이 낮다는 점에 "보안"된다. 칩이 그 합법적 소유자에게 되돌려주어진 후, 그 소유자는 자신만이 보안 위치에 저장된 요구의 선택된 서브세트에 대해 정확한 응답을 갖고 있다는 것을 알게 된다. 그밖의 누군가가 소자의 아이덴티티를 위조하기 위해 정확한 응답을 생성할 수 있는 확률은 매우 낮다.
불법사용자가 위조 칩을 제조하기 위해 동일한 리쏘그래피 매스크를 사용한다면, 제조 공정 본연의 통계적 변동으로 인해, 위조 칩이 원래의 칩과 동일한 합법 사용자의 요구에 대한 응답을 제공할 확률은 매우 낮다. 개념적으로, 불법사용자는 원본 칩과 일치하는 요구-응답쌍을 갖는 위조품을 생산해서 찾아내기 위해 거대한 수의 칩을 제조하여 각각의 칩에 대해 광범위한 측정치를 작성할 수 있지만, 이러한 방법은 실현 가능하지 않을 것이다.
칩(50)을 인증하기 위해 어느 입력이 사용될지를 예측함에 있어서의 어려움에 결부되어, 물리적 특성의 어느 조합이 요구된 출력을 결정할지를 불법사용자가 예측하는 것도 어려울 것이다. 또한, PUF 회로(100)는 개개의 특성의 지식이 조합의 모델을 형성하기 위해 사용될 수 없는 방식으로 개개의 물리적 특성의 조합을 형성하는 것이 바람직하다.
불법사용자가 칩(50)을 소유하고 있는 동안에 획득된 다수의 출력에 대해 칩(50)을 검사하는 경우에도, 이들 출력으로부터 PUF 회로(100)의 물리적 특성을 획득하는데 어려움이 있을 것이다. 불법사용자가 칩을 소유하고 있지 않을 때, 불법 사용자가 이전에 획득하였던 출력으로부터 추가의 출력을 생성하는 것도 어려울 것이다.
PUF 회로(100)는 또한 PUF 함수를 판정하는 물리적 특성을 측정하려는 시도가 PUF 회로 자체의 기능성을 파괴하여 결과적으로 측정될 특성을 파괴하지 않고서는 용이하게 수행될 수 없도록 설계되는 것이 바람직하다.
지연 기반의 PUF
PUF 회로(100)의 일례에서, 측정가능한 부품(102)의 물리적 특성은 PUF 회로(100)의 적어도 일부를 형성하는 전도 와이어나 트레이스와 반도체 부품의 경로를 따라 경로 지연량을 포함한다. 동일한 세트의 리쏘그래피 매스크를 사용하여 칩이 제조될 때, 예를들어 제조 단계 동안의 처리 온도 및 압력 변동으로 인해 제조시의 "랜덤" 변동이 존재한다. 제조시의 랜덤 변동은 PUF 회로에서의 랜덤 변동의 결과로 나타난다. 이 랜덤 변동의 일례로는 상이한 칩에 걸쳐 대응하는 와이어 및 소자에 대한 경로 지연량이 상이하다는 점을 들 수 있다. 실험을 통해 지연 변동은 5% 또는 그 이상인 것으로 나타났다. 더욱이, 동일한 작동 조건에 대해, 이들 지연 변동은 특정 칩에 대해 비교적 일정하게 유지한다.
작동 온도와 같이 칩의 작동 조건에 관련되는 다른 요소 또한 경로 지연량에서의 변동을 초래할 수도 있을 것이다. 이러한 변동은 추후에 상세히 설명되는 바와 같이 PUF 회로(100)로 구현된 보상 기술을 사용하여 해결된다.
또한, 경로 지연량의 측정치에서의 변동 또는 오차가 존재할 수도 있을 것이 다. 측정 회로는 충분히 높은 정확도로 경로 지연량을 측정하는 것이 가능하여 경로 지연값에서의 변동이 주로 제조 공정에서의 변동에 기인하고 측정치 변동에 의해서는 거의 영향을 받지 않도록 설계된다. 이에 의해, 측정 오차 및 변동은 개개의 칩을 식별하여 인증하는 성능에는 영향을 주지 않게 된다.
도 3을 참조하면, PUF 회로(100)의 예로 지연 회로(111)를 사용하는 PUF 회로(101)가 도시되어 있다. 지연 회로(111)는 함께 포함된 다수의 별도 지연 경로로 구성되는 전체적인 지연 경로를 식별하며, 각각의 별도 지연 경로는 전도 와이어나 트레이스와 반도체 부품으로 구성된다. 체인내의 구성요소간의 상호작용 때문에, 전체적인 지연량은 반드시 지연량의 단순한 합과 같이 구성요소의 개개의 지연량의 단순 함수가 되지는 않는다.
지연 회로(111)의 경로 지연량은 지연 회로(111)를 발진기 블록(122)을 형성하도록 사용함으로써, 그리고 카운터 블록(123)을 사용하여 발진기 블록의 발진 주파수를 측정함으로써 측정된다. 발진기 블록(122)은 신호 라인(106) 상의 입력 신호에 의해 선택된 신호 경로에 좌우되는 주파수에서 자체 발진하며, 카운터 블록(123)은 소정 주기의 시간내에서 발진의 횟수를 카운트한다.
발진기 블록(122)은 지연 회로(111)의 일단부(126)에서 신호를 반전시키는 인버터(124)를 포함한다. 인버터(124)의 출력은 AND 게이트(130)의 입력단(128)에 접속된다. AND 게이트(130)의 다른 입력단은 카운트 신호(COUNT)를 수신하도록 연결된다. 카운트 신호가 하이일 때, 인버터(124)와, AND 게이트(130)와, 지연 회로(111)내의 선택된 신호 경로는 부궤환 루프를 형성하며, 신호 라인(134) 상의 발진 신호를 생성하기 위해 자체 발진한다. 발진 주파수는 선택된 신호 경로의 경로 지연에 좌우되어 변화한다.
카운터 블록(123)은 신호 라인에 접속되어 발진 신호와 클럭 신호를 동기시키도록 사용되는 버퍼 회로(138)를 포함한다. 버퍼 회로(138)의 출력단(140)은 AND 게이트(142)의 입력단에 접속된다. AND 게이트(142)의 다른 입력단은 카운트 신호(COUNT)를 수신하도록 접속된다. 카운트 신호가 하이일 때, 라인(134) 상의 발진 신호는 버퍼 회로(138) 및 AND 게이트(142)를 통과하여 AND 게이트의 출력단(144)으로 진행한다. 발진 신호의 상승 구간은 카운트 신호가 하이를 유지하는 주기 동안에 카운터(136)에 의해 카운트된다. 출력단(146)에서의 카운트값은 지연 회로(111)내의 선택된 신호 경로에 대한 경로 지연의 측정치를 나타낸다. 더 높은 카운트값은 더 낮은 지연량을 나타내며, 그 반대도 성립한다. 입력 신호가 요구(challenge)를 나타낼 때, 카운트값(또는 카운트값의 가공된 버젼)은 요구에 대한 PUF 회로(101)의 응답을 나타낸다.
도 4를 참조하면, 지연 회로(111)는 128개의 스위치(112)를 포함한다. 지연 회로(111)는 128비트(b1 내지 b128)를 포함하는 입력 신호를 수신하며, 각각의 입력 비트는 스위치(112) 중의 하나를 제어한다. bi=1 이라면, 스위치는 교차된다(도 5를 참조). bi=0 라면, 스위치는 비교차된다(도 6을 참조). 초기에, 신호 라인(114) 상의 x 지점에서의 상승 구간은 신호 라인(116, 118)을 향하게 된다. 상승 구간은 AND 게이트(120)의 입력단에 접속하는 y 및 z 지점에 도달할 때까지 입력 신호에 좌우되는 상보형 경로에 후속하는 스위치(112)를 통과한다. x 지점에서의 상승 전이 내지 y 또는 z 지점에서의 상승 전이의 사이에 특성적 지연이 존재하며, 입력 x에서의 하강 전이 내지 y 또는 z 지점에서의 하강 전이에 대해 또다른 특성적 지연이 존재한다.
도 7은 지연 회로(111)의 지연 특성을 나타내는 타이밍도이다. 지연량 Δ1은 x 지점에서의 상승 전이와 y 또는 z 지점에서의 상승 전이간의 특성적 지연보다 더 길다(여기서, z 지점에서의 상승 전이는 나중에 발생한다). 지연량 Δ2는 x 지점에서의 하강 전이 내지 y 또는 z 지점에서의 하강 전이 사이의 특성적 지연량보다 짧다(여기서, y 지점에서의 하강 전이가 더 먼저 발생한다). 인버터(124)와 AND 게이트(130)의 지연량의 합이 Δ3라면, 발진 블록(122)의 주기 T는 Δ12 +2Δ3가 된다. 일례에서, 인버터(124)와 AND 게이트(130)의 지연량은 상승 구간과 하강 구간에 대해 상이할 수도 있을 것이다.
지연 회로(111)에서, 측정가능한 특성은 신호 경로의 경로 지연량이다. 상이한 입력 신호는 지연 회로(111)내에서 상이한 신호 경로를 선택하며, 상이한 경로 지연량이 측정 회로(104)에 의해 측정된다. 동일한 세트의 리쏘그래피 매스크를 사용하여 제조되는 상이한 지연 회로(111)는 동일 입력 신호가 제공될 때에 다소 상이한 경로 지연량을 나타낼 것이다. 상이한 지연 회로(111)는 동일한 요구에 대해 상이한 응답을 출력할 것이다. 고유하게 식별될 수 있는 상이한 지연 회로(111)의 수는 스위치(112)의 수가 증가할 때에 기하급수적으로 증가한다.
도 8A를 참조하면, 지연 회로(160)는 지연 회로(1110(도 3)에 대한 다른 설계이다. 지연 회로(111)에서와 같이, 지연 회로(160)는 멀티플렉서(184)가 후속되는 n-1개의 스테이지(162)를 포함하며, 여기서 n은 요구의 비트수이다. 각각의 스테이지(162)는 스위치 블록(164)과 가변 지연 버퍼(166)를 포함한다. 스위치 블록(164)은 2개의 멀티플렉서(166, 168)와, 4개의 버퍼(170, 172, 174, 176)를 포함한다. 각각의 스테이지(162)는 상위 경로(178)와 하위 경로(180)를 갖는다. 지연 회로(160)의 입력단(182)에서는 상승(또는 하강) 구간이 상위 및 하위 경로(178, 180) 모두에게 보내진다. 각각의 스테이지(162)에서, 그 스테이지에 대한 요구 비트(challenge bit)의 값에 좌우되어, 상승(또는 하강) 구간의 경로가 교차하거나 교차하지 않을 수도 있다. 즉, 하위 경로로부터의 구간이 상위 경로로 진행하며, 그 반대도 성립한다. 그리고나서, 입력단(182)이 자체 발진을 유도하도록 궤환되기 위해 2개의 구간 중의 하나가 출력 멀티플렉서(184)에 의해 선택된다.
2개의 지연 회로가 특정 요구에 대해 동일한 응답을 발생할수도 있을 확률이 존재한다. PUF 회로(101)를 갖는 칩을 식별하고자 하는 시도가 있을 때마다 2개 또는 그 이상의 요구가 사용되어, 2개 또는 그 이상의 지연 회로가 모든 요구에 대하여 일치 응답(identical response)을 갖는 확률이 낮아지게 된다. 이용 가능한 요구-응답쌍의 수는 지연 회로(160)내의 스테이지(162)의 수를 증가시킴으로써 증가될 수 있다. 그 이유는 측정될 수 있는 지연 회로(160)내의 신호 경로의 수가 스테이지(162)의 수에 기하급수적으로 비례하기 때문이다.
전체 신호 경로의 지연량은 신호 경로간에 다수의 공유가 존재하기 때문에 독립적이지 못하다. 가변 지연 버퍼(166)를 사용함으로써, 불법사용자는 이러한 종속성을 밝혀내기가 더욱 어렵게 된다. 가변 지연 버퍼(166)는 2개 쌍의 버퍼를 갖는다. 제1 쌍은 버퍼 "170" 및 버퍼 "172"를 포함하며, 제2 쌍은 버퍼 "174" 및 버퍼 "176"을 포함한다. 각각의 쌍의 버퍼에서, 한 버퍼는 항상 온 상태인 반면, 다른 버퍼는 다른 쌍의 버퍼에 접속하는 경로가 로우일 때에만 항상 활성화된다. 버퍼쌍이 회로에 걸쳐 2개의 구간 경쟁 사이에 복잡한 비일률적 상호작용을 추가하기 때문에, 경로들간의 종속성은 밝혀내기가 더욱 어렵게 된다(예를들어, 한 회로 구성요소의 경로 지연이 더 길게 된다면, 총경로지연은 더 짧게 될 가능성이 있다). 이에 의해, 불법사용자가 선형 방정식을 풀어 개개의 지연 회로 구성요소의 지연량을 획득하는 것이 방지된다.
도 8A의 지연 회로(160)는 상위 경로(178) 또는 하위 경로(180)에서의 어느 신호가 더 빠른지를 지연 경로에 걸쳐 부분적으로 결정하고 그 결정에 기초하여 지연 경로를 더 낮추도록 스위치를 설정하는 중재기를 추가함으로써 개선될 수 있다.
도 8B를 참조하면, 지연 회로(1030)는 128-비트 요구를 수신하는 129개의 스테이지(162)를 포함한다. 각각의 스테이지는 스위치 블록(164) 및 가변 지연 버퍼(166)를 포함한다. 상위 경로(178) 및 하위 경로(180)는 스테이지를 관통하여 진행한다. 중재기(1032)는 2개의 연속적인 스테이지, 예를들어 100번째 요구 비트와 101번째 요구 비트를 수신하는 스테이지를 접속시키는 상위 경로 및 하위 경로에 접속된다. 중재기(1032)는 상위 경로(178)와 하위 경로(180) 상의 신호(100번째 요구 비트를 수신하는 스테이지 이후의) 중의 어느 것이 더 빠른지를 판정하며, 또 다른 스테이지(예를들어, 127번째 및 128번째 요구 비트를 수신하는 스테이지들 사이의 스테이지(1034)) 다운 스트림으로 전송되는 신호 라인(1036) 상의 출력을 생성한다. 라인(1036) 상의 신호는 스테이지(1034)내의 스위치 블록(164)이 교차되는지 아니면 교차되지 않는지를 판정한다. 이에 의해, 불법사용자에게 알려지지 않은 "보안 요구 비트"가 효과적으로 발생된다.
보상된 PUF
측정가능한 부품(102)의 측정가능한 특성(지연 회로(160)내의 신호 경로의 경로 지연량과 같은)은 주변 온도 및 전원 전압의 변동과 같은 주변 조건의 변동으로 인해 변화할 수도 있을 것이다. 이러한 변동을 보상하기 위해 옵션의 회로가 칩(50)에 추가된다. 환경적 변동을 보상하는 회로를 갖는 PUF 회로는 보상된 PUF 회로로 지칭될 것이다.
도 9를 참조하면, 칩(50)은 보상된 PUF 회로(149)를 포함하며, 이 회로는 PUF 회로(101)와 기준 회로(148)의 출력들의 비율을 취하여 출력을 생성한다. 이 예에서, 기준 회로(148)는 PUF 회로(101)의 발진 주파수에서의 변화량에 비례하여 발진 주파수를 변화시키는 단순한 자체 발진 루프이다. PUF 회로(101) 및 기준 회로(148)의 출력들은 제산기(152)에 전송된다. 비율은 보상된 PUF 회로(149)의 응답이 된다. PUF 회로(101) 및 기준 회로(148)가 다소 동등하게 주변 조건에 의해 영향을 받기 때문에, 제산기(152)에 의해 생성된 비율은 주변 조건에 의해 덜 영향을 받게 될 것이다.
작동 동안에, 칩(50)내의 회로의 온도는 저항성 발열로 인해 증가한다. 보상된 PUF(149)는 PUF 회로(101)와 기준 회로(148)의 출력의 비율의 안정성을 보장하기 위해 회로가 작동 동안에 균일하게 발열되도록 설계된다.
거의 동일한 주파수에서 발진하는 2개의 발진 루프가 존재할 때, 발진 신호는 서로 간섭하여 2개의 신호가 단일 발진 주파수로 고정될 수도 있을 것이다. 따라서, PUF 회로(101)에 대한 요구는 PUF 회로(101)와 기준 회로(148)의 발진 주파수들이 발진 신호의 간섭을 방지하기 위해 충분히 상이하도록 선택된다.
도 10을 참조하면, 또다른 예의 보상된 PUF 회로(149)는 동일한 입력 신호를 수신하는 2개의 PUF 회로(148, 150)를 포함한다. PUF 회로(148, 150)의 출력의 비율은 보상된 PUF 회로(149)의 출력을 생성하기 위해 사용된다.
도 11을 참조하면, 또다른 예의 보상된 PUF(153)는 PUF 회로(101), 레지스터(156) 및 제산기(152)를 포함한다. 제1 입력값은 레지스터(156)에 저장되는 제1 출력값을 생성하기 위해 PUF 회로(101)에 전송된다. 제2 입력값은 제2 출력값을 생성하기 위해 PUF 회로(101)에 전송된다. 제1 및 제2 출력값 모두가 2개의 출력값의 비율을 계산하기 위해 제산기(152)에 전송된다. 그 비율은 보상된 PUF(153)의 출력이 된다.
주변 조건의 변화가 큰 경우(예를들어, 주변 온도가 30도 이상 변화하는 경우), 출력의 비율을 사용하는 것은 환경적 변화의 영향을 억제하는데 충분하지 못할 수도 있을 것이다. 상이한 온도 범위에 대해 CRP의 세트가 생성된다. 예를들어, 온도가 20∼50℃ 사이일 때에 한 세트의 CRP가 사용되고, 온도가 45∼75℃ 사 이일 때에는 다른 세트의 CRP가 사용된다. PUF 회로는 2개 또는 3개의 상이한 PUF를 구현함으로써 나타내질 수 있으며, 그들 중의 하나만이 온도에 좌우되어 나타내어진다.
회로는 역시 지연량도 변화시킬 수 있지만, 그 효과는 온도 효과보다 적다.
전원의 변화 또한 PUF 회로의 출력에 영향을 줄 수도 있을 것이다. 그러나, 전원전압이 대폭적으로 변하지 않는 한(정확한 수는 사용된 특정 PUF 회로에 좌우됨) 상이한 발진 루프로부터의 출력의 비율을 취하는 것이 전원 변동으로부터의 영향을 보상하기에 충분한 것으로 실험을 통해 입증되었다.
오차 보정
물리적 현상의 측정치는 오차를 갖고 있을 수 있다. 지연 회로(111)의 경로 지연량을 측정하기 위해 자체 발진 루프가 사용되는 PUF 회로(101)(도 3)에서, 경로 지연량은 고정된 양의 시간 동안에 정수(integer number)의 발진을 측정함으로써 양자화된다. 이러한 양자화는 측정 오차를 처리하는 한 방법이다. 즉, 측정에서의 소소한 변동(오차)은 동일한 양자화된 양으로 될 것이다. 그러나, 측정될 양이 2개의 양자화 레벨 사이에서 낮아진다면, 측정값에서의 작은 변동은 상이한 양자화값을 초래할 수도 있을 것이다.
도 12를 참조하면, 개량된 PUF 회로(264)는 에러 검사 및 정정(ECC) 모듈(190)을 포함하며, 이 모듈은 카운터 블록(123)에 의해 생성된 발진 카운트수를 처리하기 위해 더 수학적인 버젼의 양자화를 실시하여 PUF(100)에 의해 동일한 요구 가 수신될 때 동일한 응답이 생성되도록 한다. ECC 모듈(190)은 표준의 독립 회로로써 실시되거나, 혹은 ECC 알고리듬을 실행하는 마이크로프로세서에 의해 구현될 수도 있을 것이다.
다수의 응답(r1,r2,…,rn)을 얻기 위해 다수의 요구(c1,c2 ,…,cn)가 PUF 회로(149 또는 152)와 같은 보상된 PUF 회로에 통과된다. 응답(r1∼rn)은 물리적 특성의 측정에서의 사소한 변동을 보정하기 위해 ECC 모듈(190)에 전송된다. ECC 모듈(190)은 데이타 버스(266) 상에 n개의 보정된 응답(r1',r2',…,rn')을 생성한다.
요구-응답쌍의 세트가 작성될 때, ECC 모듈(190)이 측정치의 사소한 변동을 보정하도록 하기 위해 용장도 정보(redundancy information)가 발생된다. 이러한 변동은 예를들어 양자화 오차 및 측정 잡음의 결과일 것이다. 요구-응답쌍의 후속 사용시에, 용장도 정보는 요구와 함께 향상된 PUF 회로(264)에 제공된다. 용장도 정보가 응답의 모든 비트에 주어지지 않는다는 점은 중요하다.
다음은 측정될 양이 양자화 레벨의 중간값 부근이 되도록 양자화 레벨의 경계를 조정함에 의한 오차 보정의 방법을 설명한다. 이 방법은 측정치의 사소한 변동으로 인한 상이한 양자화값의 생성을 방지한다.
ECC 모듈(190)의 일실시예에서, 정보의 단일 비트 b가 각각의 보상된 측정치로부터 추출되도록 하나 또는 그 이상의 보상된 측정치에 대해 오차 검사 및 보정이 수행된다. 추출은 측정된 값을 δ의 스텝 사이즈로 양자화하고 양자화된 값 모듈로 2를 취함으로써 수행된다.
용장도 정보가 작성될 때(예를들어, 새로운 요구-응답쌍이 작성될 때) 연산되는 보상된 측정치를 d로 하고, 용장도 정보가 사용될 때(예를들어, 요구-응답쌍이 사용될 때) 연산되는 보상된 측정치를 m으로 한다. b를
Figure 112004046910738-pct00001
로 정의하면, 여기서 ε=δ-[δ]-1/2, d는 양자화 구간의 중간치이고, d와 동일한 방법으로 양자화되는 m의 가능성은 증가된다. 파라미터 ε는 용장도 정보의 일부로써 PUF 칩의 외부로 전송되며, d의 저순차 비트를 잠재적인 불법사용자에게 보여줄 것이다.
ε의 비트는 δ가 공통 설계에 기초하여 제조된 상이한 칩에 걸친 d의 표준 편차 미만일 때 d로부터 추출되는 비트 b에 대한 반대의 정보를 제공하지 않는 것으로 가정할 수 있다. δ를 선택하기 위해 고려될 필요가 있는 요소들은 차후에 설명될 것이다.
보상된 측정치에서의 오차는 수정된 해밍 코드(modified Hamming code)와 패리티 체크의 프로덕트를 사용함으로써 보정될 수 있다. 2오더 유한 필드 이상의 열 벡터에 의해 표현된 2k-1 비트 메세지의 수정된 해밍 코드를 연산하기 위해, 메시지는 k 행 매트릭스에 의해 승산되며, 이 매트릭스는 그 i번째 열이 i의 이진 표 현이 된다. 예를들어, 1011001에 대한 용장도 정보는 다음에 의해 연산된다:
Figure 112004046910738-pct00002
1011001에 대한 용장도 정보는 따라서 001이 된다.
수정된 해밍 코드는 비용장도 비트 상의 단일 오차를 보정할 수 있다. 오차를 보정하기 위해, 오류가 있는 메시지에 대해 용장도 정보를 연산하며, 이를 정확한 메시지에 대한 용장도 정보로 배타적-OR 연산한다. 그 결과는 0가 아니라면 메시지내의 오류성 비트의 오프셋의 2진 인코딩이 되며,어느 경우든 오차가 없게 된다.
예를들어,
Figure 112004046910738-pct00003
Figure 112004046910738-pct00004
는 3번째 비트가 변경되었다는 것을 나타내며, 이것은 실제로 존재하는 경우이다. 수정된 해밍 코드는 메시지내의 하나의 오류를 검출할 수 있다.
패리티 비트를 추가함으로써, 두번째 오류를 검출할 수는 있지만, 오류를 보정할 수는 없다. 두번째 오류는 2개의 비트가 오류를 가지고 있을 때 패리티 비트가 보정될 것이기 때문에 검출될 수 있지만, 수정된 해밍 코드는 오류를 지적해줄 것이다.
수정된 해밍 코드는 메시지에 제로를 끼워넣음으로써 2k-1로 표현될 수 없는 길이를 갖는 메시지에 적용될 수 있다.
수정된 해밍 코드는 먼저 w·h 비트를 w-열과 h-행 어레이로 배열함으로써 발생되는 프로덕트 코드를 작성함으로써 향상될 수 있다. 프로덕트 코드는 수정된 해밍 코드에 기초하며, 하나의 패리티 비트가 각각의 행에 추가되고, 각각의 열에도 하나의 패리티 비트가 추가된다.
행당 하나의 오류가 존재할 때, 수정된 해밍 코드는 오류의 전부를 보정할 수 있다. 행이 2개의 오류를 갖고 있을 때, 해밍 코드는 오류를 보정할 수 없지만, 그 행에 대한 패리티 비트가 그 행이 2개의 오류를 갖고 있다는 것을 나타내줄 것이다. 오직 하나의 행만이 2개의 오류를 갖고 있다면, 오류성 행의 어느 비트가 정확하지 않은지를 판정하기 위해 열에 대한 패리티 비트가 사용될 수 있다. 프로덕트 코드는 하나 이하의 행이 2개의 오류를 갖고 있고 2개보다 많은 오류를 갖고 있는 행이 없을 때에 오류를 보정할 수 있다.
프로덕트 코드는 다음과 같이 개선될 수 있다. 행 패리티 비트는 보정된 행 의 비트로부터 이들을 직접적으로 계산할 수 있기 때문에 대부분의 시각에서 중복적이다. 행 패리티 비트 전체적으로 계산될 수는 없지만 오류가 여전히 보정될 수 있는 유일한 경우는 하나의 행이 2개의 오류를 갖고 있고 나머지 행이 기껏해야 하나의 오류를 갖고 있을 때이다. 그 경우, 행 패리티가 행 데이타로부터 계산된다면, 정확히 패리티들 중의 하나가 잘못을 나타내게 될 것이다. 이것은 패리티를 저장하는 대신 행 패리티에 대해 수정된 해밍 코드를 사용할 수 있고, 단지 행 패리티가 어떻게 되어야만 하는지에 관한 용장도 정보를 저장한다는 것을 의미한다. 이러한 방식으로, 약간의 여분 비트가 절약될 수 있다.
다음은 프로덕트 코드를 작성하기 위해 파라미터 코드 w와 h를 어떻게 선택하는지에 관해 설명한다. 일예에서, 출력 해쉬(h)는 불법사용자가 가지지 못한 적어도 B 식별 비트로 표현된다. 무력 공격을 방지하는 B의 가능한 값은 약 80이다. 제어된 PUF 회로(아래에 설명됨)에 의해 사용된 프로토콜이 채용되어, 상이한 수의 요구가 PUF 회로가 그들 요구 중의 하나에 합법적 응답을 제공할 때까지 테스트된다. 천천히 변화하는 주변 파라미터로 인한 오류를 방지하기 위해 상이한 요구가 테스트된다. PUF 회로 상에서 수행하기 위한 예상된 수(expected number)의 측정치의 Bexp를 감소시키도록 파라미터 w와 h가 선택된다.
식별 비트의 수를 연산하기 위해, 불법사용자가 오류율 p를 갖는 것으로 가정하면, 불법사용자의 최대 채널 용량은 다음과 같다:
C = 1 + p·log2(P) + (1-P)·log2(1-p)
불법사용자는 Ba=c·w·h + R 비트의 정보를 가지며, 여기서,
R = w + h·[log2(w)+1] + [log2(h)+1]
는 용장도 비트의 수이다. PUF 회로로부터 추출되는 식별 비트의 수는 블록내의 비트의 수와 불법사용자가 갖는 비트의 수 w·h·Ba간의 차가 된다. w×h 비트의 다수의 블록은 B 비트의 식별 정보가 이용가능하기 전에 전송된다. 파라미터 Btot는 B 정보 비트를 얻기 위해 요구되는 비트의 수를 표현하기 위해 사용될 것이다.
PUF 측정치에 대한 오차율 q를 알고서 B 정보 비트를 모으기 위해 요구되는 모든 비트들을 정확하게 보정하는 확률을 연산하는 것은 베르누이 분포의 적용에 의해 이루어진다. 소정 행을 보정하는 확률과 소정 행에서 2개의 오류를 검출하는 확률이 계산된다. 이들 확률을 사용함으로써, 하나 보다 많은 행에서 2개의 오류를 검출하는 확률과 어떠한 행에서 2개 보다 많은 오류를 가질 확률을 계산하는 것이 가능하게 된다. 이들은 전체 블록을 보정할 확률에 대한 더 낮은 한계를 제공한다. 블록을 모두 올바르게 모을 확률 Psucc는 판독되는 블록의 수로부터 감산된다. 확률 Psucc는 수행할 예상된 수의 물리적인 측정치를 감산하기 위해 사용될 수 있다.
도 37내의 데이타는 δ가 주어진다면 p와 q의 값을 찾아내도록 사용될 수 있다. δ/2의 값은 그래프 상의 수직 라인에 대응한다. 약 60% 이상의 값에 대해, p와 q는 그래프의 수직 라인에서 직접적으로 판독될 수 있다. p에 대하여서는 2개의 상이한 필드 프로그래머블 게이트 어레이(FPGA)에 대응하는 가장 높은 플로트의 값을 취해야만 한다. q에 대하여서는 우리가 이것을 인식할 수 있기를 희망하는 주변 조건에서 동일 FPGA에 대응하는 최저 플로트의 값을 취해야만 한다. 표 1은 각종 파라미터의 예를 전술된 오류 보정 방법을 사용한 이들 파라미터에 대한 최적의 오류 보정 솔루션과 함께 나타내고 있다.
경우 δ/2 p q h w Psucc Btot Bexp
1 ≒250 55% 70% 10 3 4.7·10-29% 870 1.9
2 ≒500 68% 90% 30 3 20% 540 268
3 ≒1500 95% 99% 31 30 58% 930 161
표 1에 나타내진 경우 1에서, p의 값은 그 값이 너무 낮아 그래프의 밖으로 직접 판독되지 못하기 때문에 근사치이다. 경우 3에서, p의 값은 너무 높아서, 저순차 비트의 측정이 실제로 추출되는 비트에 대해 아무것도 알려주지 못할 것으로 가정된다.
우수한 오류 보정 솔루션은 예상된 수의 물리적인 측정치를 w와 h의 함수로써 계산하는 C 프로그램에 의해 연산된다. 표 1은 거의 측정 오차가 없을 때 우수한 트레이드오프를 찾아내기가 더 용이하여 δ가 그에 따라 선택되어야만 한다는 것을 나타낸다. 경우 2 및 경우 3은 측정 오류가 제한되는 한 적합한 솔루션이 광범위한 값의 δ에 대해 발견될 수 있다는 것을 나타낸다. δ가 너무 크다면, p와 q는 오류 보정을 수행하기 어려운 것으로 매우 근접하게 된다.
100㎒ 클럭과 측정당 2×10000 사이클을 가정하면, 3을 지수로 하여 매초당 CPUF 평가가 수행될 수 있다.
오류 보정을 향상시키는 한가지 방법은 모듈로 4 또는 8을 감소시킴으로써 각각의 보상된 측정치로부터 2 또는 3비트를 추출하는 것이다. 측정치로부터의 각각의 비트는 δ의 그 자신의 값과, 그에 따라 p 및 p의 그 자신의 값에 대응한다. 따라서, 3개 레벨의 비트를 서로 독립적으로 보정하는 것이 바람직하다. 각각의 레벨의 비트는 w와 h에 대한 그 자신의 설정치를 가질 것이며, 블록 사이즈의 포괄적인 최적화가 수행될 것이다. 이러한 방식으로 더 많은 정보를 추출함으로써, 더 적은 측정치를 사용하면서도 동일한 양의 오류 보정을 달성하는 것이 가능하게 될 것이다.
측정당 다수의 비트를 사용할 때, 오류는 서로 상관될 것이다. 특히, 높은 순차의 비트가 잘못될 것으로 발견된다면, 더 낮은 순차의 비트들이 무작위로 될 수도 있을 것이다. 따라서, 이들을 삭제부분으로써 간주할 수 있으며, 낮은 순차의 비트를 통해 더 많은 오류를 보정하고자 삭제부분 정보를 고려할 수 있다.
제어된 PUF
칩(50)의 다른 버젼에서는, PUF 회로(예를들어, 100)에 대한 액세스를 제한하기 위해 하나 또는 그 이상의 제어 모듈이 추가된다. PUF 회로 및 제어 모듈은 분리하기 곤란한 방식으로 물리적으로 링크되며, PUF 회로는 제어 모듈에 의해 구현된 제어 알고리듬을 통해서만 액세스될 수 있다. "제어된 PUF(CPUF) 회로"라는 용어는 PUF 회로와 하나 또는 그 이상의 제어 모듈의 조합을 지칭하기 위해 사용될 것이다.
CPUF 칩은 제어 알고리듬을 구현하는 제어 모듈이 PUF 회로를 기초로 하는 물리적 시스템에 의해 보호되도록 설계될 수 있다. 알고리듬을 우회하려는 시도는 PUF 회로의 변경을 초래하기가 쉬울 것이다.
PUF 회로에 제공되는 입력(또는 요구)를 제한하고, 제어된 PUF 회로의 외부로 제공되는 출력(예를들어, 응답)에 대한 정보를 제한하고, 및/또는 PUF에 의해 인증될 기능성을 구현하기 위해, 한가지 유형의 제어 알고리듬이 사용될 수 있다.
아래에 도시된 바와 같이, 일례에서, 제어를 사용함으로써, 약한 PUF 회로가 불법사용자가 위조하기 더욱 어려운 강한 회로로 개선될 수 있다. 또다른 예에서, 제어는 CPUF 칩과 CPUF 칩의 기능성을 사용하려고 시도하는 사용자간에 공유되는 보안을 확립하기 위해 사용될 수 있다.
개선된 PUF
불법사용자는 다수의 적용식으로 선택된 입력에 대해 PUF 회로의 출력을 측정함으로써 PUF 회로의 모델을 구축하도록 시도할 것이다. 그 입력은 입력-출력쌍이 PUF 회로의 모델을 구축하기 위한 파라미터를 획득하기 위해 풀어질 수 있는 방정식 세트를 확립하기 위해 사용될 수 있도록 선택된다. 모델은 그리고나서 PUF 회로를 시뮬레이션하고 복제하도록 사용될 수 있다. 이것은 불법사용자로 하여금 용이하게 풀 수 있는 방정식을 유도할 수 있는 특정 입력을 선택하는 것을 곤란하 게 하도록 PUF 회로 부근에 제어를 추가함으로써 방지될 수 있다.
도 13A를 참조하면, 개량된 PUF g 회로(186)의 기능 블록도는 PUF f 회로(188) 및 ECC 모듈(190), 랜덤 해쉬 모듈(192) 및 랜덤 해쉬 모듈(194)을 포함한다. 모듈(190, 192, 194)은 독립형 회로에 의해 또는 소프트웨어 코드를 실행하는 마이크로프로세서에 의해 구현될 수 있다. 개량된 PUF g 회로(186)의 요구는 신호 라인(198)을 통해 해쉬 모듈(192)에 전송된다. 동시에, PUF f 회로(188)의 출력에서의 소소한 오류를 보정하기 위해 용장도 정보가 ECC 모듈(190)에 전송된다. 랜덤 해쉬 모듈(192)은 단방향 랜덤 해쉬 함수 h3를 실행하며, 이 함수는 요구에 적용될 때 신호 라인(200)을 통해 PUF f 회로(188)에 전송되는 입력이 되는 해쉬 값을 생성한다. 해쉬 값은 또한 라인(205)을 통해 해쉬 모듈(194)에 전송된다.
랜덤 해쉬 모듈(192, 194)은 하드웨어 회로에 의해 또는 마이크로프로세서(도시 생략) 상에서 실행되는 소프트웨어에 의해 구현될 수 있다.
PUF f 회로(188)는 PUF f 회로(199)에 대한 입력에 좌우된 발진 주파수를 갖는 하나 이상의 자체 발진 루프 회로(도 3에 도시된 것과 같은)를 포함한다. PUF f 회로(188)는 특정 입력이 신호 라인(198)을 통해 수신될 때 신호 라인(202)을 통해 특정 카운트 값을 출력한다. 카운트 값은 ECC 모듈(190)을 통과하며, 이 모듈은 용장도 정보를 사용하여 측정치에서의 통계적 변동 및 부정확도로 인한 카운트 값에서의 사소한 변동을 제거한다. ECC 모듈(190)은 라인(203)을 통해 랜덤 해쉬 모듈(194)에 전송되는 출력을 생성한다. ECC 모듈(190)의 출력은 단방향 랜덤 해 쉬 함수 h4를 구현하는 랜던 해쉬 모듈(194)에 통과된다. 랜던 해쉬 모듈(194)의 출력은 신호 라인(204) 상에서 생성되며, PUF g 회로(186)의 응답을 표현한다.
라인(203) 상의 신호에서의 작은 차이는 라인(204) 상의 랜덤 해쉬 모듈(194)의 출력에서의 커다란 차이가 될 것이다. 랜덤 해쉬 모듈(194)을 사용함으로써, 라인(204) 상의 응답으로부터 PUF 회로(188)의 하부 물리적 특성에 관한 정보를 획득하는 것이 어렵게 된다.
ECC 모듈(190)을 사용함으로써, 특정 입력이 라인(200)을 통해 PUF f 회로(188)에 전송될 때 동일 출력이 라인(203) 상에서 생성된다. 이로써, PUF 회로(188)의 물리적 특성의 측정에서의 사소한 변동에도 불구하고 동일한 요구가 라인(198) 상에 제공될 때, 동일한 응답이 라인(204) 상에서 생성될 수 있다. ECC 모듈(190)은 하드웨어 회로에 의해 또는 마이크로프로세서(도시 생략)로 실행되는 소프트웨어에 의해 구현될 수도 있다.
개량된 PUF g 회로(186)에서, x가 요구를 나타낸다면, 신호 라인(202) 상의 PUF f 회로(188)의 출력은 f(h3(x))로 표현될 수 있다. h3(x)가 단방향 랜덤 해쉬 함수이기 때문에, 불법사용자는 x가 주어진 h3(x)를 결정하기가 곤란하다. 그러므로, 불법사용자가 PUF f 회로(188)의 모델을 확립하기 위해 사용될 수 있는 PUF f 회로(188)에 대한 입력의 세트를 찾아낸다 하더라도, 불법사용자가 PUF f 회로(188)에 대한 이들 입력들을 제공할 수 없기 때문에, 즉 불법사용자가 요구된 입력 h3(x)를 생성하기 위해 정확한 요구 x를 제공하는 방식을 갖지 못하기 때문에, 개량 된 PUF g 회로(186)는 타협되지 않는다.
물리적인 공격에 대해 견고하게 되는 PUF g 회로(186)에 대해서는, PUF f 회로(188)에 액세스를 제어하는 모듈이 회로(188)와 서로 엉키게 되어, 불법사용자가 물리적 탐지를 통해 제어 모듈을 우회하기가 어렵게 된다. 특히, 불법사용자는 PUF f 회로(188)의 응답이 출력 랜덤 해쉬 모듈 h2(194)을 통과하기 전에 이 응답을 직접 판독하는 것이 불가능하게 되고, PUF 회로에 대한 요구를 직접 전송함으로써 입력 랜덤 모듈 h1(192)을 우회하는 것이 불가능하게 된다.
신호 경로의 경로 지연량이 PUF f 모듈(188)의 측정가능한 물리적 특성인 경우, 신호 경로를 형성하는 금속 와이어링 및 소자는 집적회로내에서 랜덤 해쉬 모듈(192, 194) 및 신호 라인(200, 202)의 상단(또는 주변)에 구성되어, 불법사용자가 신호 경로의 경로 지연량의 변경과 그에 따른 함수 f의 변경 없이는 랜덤 해쉬 모듈(192, 194) 또는 신호 라인(200, 202)을 물리적으로 액세스할 수 없다.
도 13B는 기판(104), 제어 논리층(1042), 논리 및 전원 와이어층(1044) 및 지연 와이어층(1046)을 포함하는 칩(50)의 예를 도시한다. 제어 논리(1042)는 랜덤 해쉬 모듈(192, 194)을 포함한다. 제어 논리는 또한 다른 제어 기능을 제공하기 위해 사용되는 마이크로프로세서(예를들어, 도 14의 "51")를 포함할 수도 있다. 논리 및 전원 와이어층(1044)은 보호될 필요가 있는 전원 와이어 및 다른 논리 회로를 포함한다. 지연 와이어층(1046)은 PUF 모듈의 신호 경로를 형성하는 금속 와이어링 및 소자를 포함한다.
신호 라인(204) 상에 생성된 개량된 PUF g 회로(186)의 응답은 g(x)=h4(ECC(f(h3(x))), h3(x))로써 기록될 수 있다. 랜덤 해쉬 모듈(194)을 사용함으로써, PUF g 회로(186)의 출력은 더욱 많은 랜덤성을 나타낼 것이다. PUF f 회로(188) 및 ECC 모듈(190)에 의해 생성된 유사 출력은 매우 상이한 해쉬 값(CPUF g 회로(186)의 출력이 되는)에 대해 해쉬될 것이다. 이에 의해, 불법사용자는 유사 요구에 대한 응답을 사용함에 의해 하나의 요구에 대한 응답을 추출하는 것이 불가능하게 된다. 랜덤 해쉬 함수 h4를 갖는 PUF f 회로(188)의 출력을 사전 구성하고, 모듈(192 내지 194)의 출력을 라인(205)을 통과시킴으로써, 출력 랜덤 해쉬 함수를 통해 출력을 실행하기 전에 PUF 회로로부터 충분한 정보가 추출되지 않는 한, 시스템은 비물리적 공격에 더 많은 저항성을 가질 수 있게 된다. 지연 회로의 경우, 수백 비트의 정보가 시스템으로부터 추출될 때까지 다수의 경로 지연량이 측정된다. 그 측정치는 랜덤 해쉬 함수 h2에 통과된다.
복수의 경로 지연량을 측정하는 일실시예에서, 랜덤 해쉬 함수 h3는 매우 넓은 출력(즉, 대량의 출력 비트)을 제공하도록 선택된다. 이 출력은 한번에 하나씩 PUF 회로(188)에 전송되는 다수의 상이한 요구로 나누어진다. 응답들은 연결 및 ECC 모듈(190)에 의한 보정이 이루어져 단일의 응답으로 되며, 이 단일 응답이 랜덤 해쉬 모듈 h4(194)에 전송된다.
복수의 신분
일부 사용자는 자신이 추적될 수 있다고 느끼기 때문에 고유 식별자를 갖는 칩을 사용하는 것을 불편하게 느낄 수도 있다. 예를들어, 인증된 실행에서, PUF 칩이 한 엔티티에 대한 연산 서비스를 제공하도록 하는 PUF 칩의 소유자는 동일 칩이 또다른 엔티티에 대한 연산 서비스를 제공한다는 것이 알려지길 원하지 않을 수도 있다. 프라이버시에 대한 이해관계를 경감시키기 위해, 개선된 PUF g 회로(186)는 회로의 소유자에 의해 선택될 수 있는 라인(197) 상의 신분 번호를 수신하도록 설계된다. 요구는 해쉬 값을 발생하기 위해 신분 번호로 해쉬되며, 해쉬 값은 개량된 PUF g 회로(186)의 나머지에 대한 입력으로써 사용된다. 이것은 다음과 같이 표현될 수 있다;
Input = h3(Challenge, Personality)
상이한 신분 번호가 요구-응답쌍의 상이한 세트에 대응한다. 상이한 신분 번호를 사용함으로써, 소유자는 다수의 상이한 PUF 회로를 갖는 효과가 있다.
인증된 실행에서, 소유자는 개량된 PUF g 회로(186)가 제1 응용예에 연산 서비스를 제공하고 있을 때에 제1 신분 번호를 선택할 수 있을 것이고, 개량된 PUF g 회로(186)가 제2 응용예에 대한 연산 서비스를 제공하고 있을 때에 제2 신분 번호를 선택할 수 있을 것이다. 제1 및 제2 응용예는 이들이 동일한 개량된 PUF g 회로(186)와 상호작용한다는 것을 알지 못할 것이다.
고유 ID
임의의 2개의 PUF가 상이하도록 보장하기 위해, 실제 요구는 PUF의 나머지에 통과되는 해쉬 값을 발생하기 위해 고유 식별자와 조합될 수 있으며, 이 식별자는 PUF 회로로부터 분리되고 칩에 고유의 것이 된다. 개량된 PUF g 칩(186)에서, 식별자는 고유한 2진수를 생성하는 하드웨어 결합 회로로 될 수 있는 식별자 모듈(196)에 의해 생성된다. 사용되는 고유 식별자는 보안될 필요가 없으며, 예를들어 칩의 일련번호가 될 수 있다. 똑같은 2개의 일련번호가 존재하지 않기 때문에, 일치하는 2개의 PUF가 존재하지 않을 것이다. 2개의 CPUF가 동일한 하위 PUF f를 공유하는 경우에도, 불법사용자는 PUF f 회로(188)를 직접 탐지할 수 없기 때문에 이것을 알 방법이 없다.
궤환
불법사용자의 문제점에 더 많은 복잡성을 추가하기 위해, CPUF g 회로(186)는 하나의 응답을 발생하기 위해 복수회 사용될 수도 있을 것이다. 한 라운드로부터의 보정된 응답은 PUF 회로내로 궤환될 수도 있다. 소수의 라운드가 완료된 후, 이들의 출력 전부는 요구와, 신분과, 식별자 모듈(196)에 의해 생성된 식별자와 함께 통합되고, 전체적인 응답을 생성하기 위해 랜덤 해쉬 함수에 통과될 수도 있다.
CPUF 칩
도 14를 참조하면, 반도체칩(48)은 CPUF 칩의 구현예이다. 칩(48)은 PUF 회 로(100) 및 마이크로프로세서(51)를 포함한다. PUF 회로(100)는 측정가능한 부품(102) 및 측정 회로(104)를 포함한다. 마이크로프로세서(51)는 PUF 회로(100)가 특정 보안 프로토콜에 후속하는 소프트웨어 코드를 사용함으로써 액세스될 수 있도록 제어 알고리듬을 시행한다. 소프트웨어 코드는 마이크로프로세서(51)로 하여금 기능성 모듈(52)이 연산을 수행하여 연산 결과를 생성하도록 하게 하는 코드를 포함할 수도 있다. 소프트웨어 코드는 마이크로프로세서(51)로 하여금 연산 결과 또는 PUF 회로(100)의 출력에 제어를 추가하기 위한(예를들어, 랜덤 해쉬 함수를 적용하거나 암호화를 추가하기 위한) 제어 모듈(54)을 시행하도록 하는 코드를 포함할 수도 있다. 보안 프로토콜은 마이크로프로세서(54)가 측정가능한 부품(102)의 물리적 특성과 엉키게 되도록 하고, 이러한 방식으로 마이크로프로세서(54)와의 어떠한 참견이 PUF 회로(100)의 출력을 변화시킬 것이다.
보안 프로토콜은 소프트웨어 코드 및 연산이 측정가능한 부품(102)의 물리적 특성의 측정치와 엉키도록 하는 방식으로 랜덤 해쉬 함수 및 암호화의 사용을 요구한다.
제어 모듈(54) 및 기능성 모듈(52)에 의해 수행된 제어 및 기능은 고정되지 않지만, 소프트웨어 코드 실행 마이크로프로세서(51)에 좌우된다.
제어 알고리듬은 불법사용자가 PUF 회로(100)로부터 생성된 측정치를 직접 획득하지 못하도록 한다. 이에 의해, 불법사용자는 PUF 회로를 시뮬레이션하여 복제하기 위해 PUF 회로(100)의 모델을 확정하기가 어렵게 된다. 제어 알고리듬은 또한 불법사용자가 마이크로프로세서(51)에 의해 생성된 연산 결과를 직접 획득하 지 못하게 한다. 이에 의해, 연산 결과의 인증성을 검증하는 것이 가능하게 된다. 또한, 제어 알고리듬은 사용자로 하여금 PUF 회로(100)에는 고유한 것하고 사용자에게는 개인적인 것인 요구-응답쌍을 생성(비보안 채널을 통해)할 수 있도록 한다.
"CPUF 칩"이라는 용어는 제어를 통해(제어 알고리듬을 실행하는 마이크로프로세서를 통해 또는 전용의 제어 회로를 통해) 액세스만 될 수 있는 PUF 회로를 포함하는 칩을 지칭하기 위해 사용될 것이다. "CPUF 소자"라는 용어는 CPUF 칩을 포함하는 소자를 지칭하기 위해 사용될 것이다.
제어 알고리듬은 "사전요구(prechallenge)"가 CPUF 칩에 대한 입력으로 제공된다면 CPUF 칩(48)의 출력에만 응답이 전송되도록 한다. 사전요구는 새로운 요구-응답쌍을 생성하기 위한 프로세스에서 사용된 요구를 생성하기 위해 사용된다. 신규 요구-응답쌍이 생성된 후, 사전요구는 버려질 수 있다.
제어 알고리듬은 요구가 CPUF 칩(48)의 입력으로 제공될 때 CPUF 칩이 내부적으로 사용되는 보안키를 생성할 수 있지만 그 보안키를 출력하거나 요구에 대한 응답을 출력하지 않도록 설계된다. 보안키는 CPUF 칩(48)에 의해 생성된 메시지를 암호화하기 위해 또는 메시지에 대한 메시지 인증 코드(MAC)를 생성하기 위해 사용될 수 있다. 이에 의해, 요구-응답쌍(CRP)의 세트가 보안 채널을 통해 생성되어 추후에 비보안 채널에서 사용될 수 있게 된다. 불법사용자에게는 액세스 가능하지 않은 보안키를 사용함으로써, 소위 "맨-인-더-미들(man-in-the-middle)"로 지칭되는 공격이 방지될 수 있다.
맨-인-더-미들 공격
이하는 맨-인-더-미들 공격에 대한 간략한 설명이다. PUF 회로(100)의 사용은 칩(50)의 인증을 허용한다. 그러나, 사람 또는 기계가 비보안 통신 채널을 통해 칩과 상호작용할 때, 불법사용자는 칩(50)의 입력 및 출력을 가로챔으로써 맨-인-더-미들 공격을 수행할 수도 있을 것이다. 예를들어, 잔여 금액을 나타내는 정보를 저장하는 PUF 칩을 전화 카드가 포함하는 것으로 가정한다. 전화 카드를 사용하는 사람이 전화 통화를 마친 후, 카드 리더는 전화 카드에게 잔여 시간 또는 금액에서 특정 양을 차감하도록 명령한다. 불법사용자는 카드 리더로부터의 요구를 판독하기 위해 실제 전화 카드와 닮은 위조 카드를 사용하고, 응답을 발생하기 위해 그 요구를 실제 전화 카드에 전송하고, 위조 카드를 통해 카드 리더에 정확한 응답을 전송할 수 있다. 카드 리더는 실제로는 위조 카드와 상호작용하고 있을 때 마치 실제 전화 카드에 대해 상호작용하고 있는 것처럼 행동할 것이다. 위조 카드는 실제로는 위조 카드가 양을 차감하지 않을 때에도 마치 차감을 수행하도록 카드 리더의 명령을 따르고 있는 것처럼 행동하도록 설계될 수 있다.
스마트카드 상의 PUF 회로(100)는 요구를 수신하고 응답을 발생하는 사람이 인증 스마트카드를 소유하고 있다는 것을 카드 리더가 탐지하도록 하지만, 스마트카드가 카드 리더에 의해 요청된 특정 조작을 실제로 수행하는 것을 반드시 보장하지는 않는다.
맨-인-더-미들 공격의 또다른 예는 사용자가 인증된 실행을 수행하기 위해 PUF 칩을 사용하기를 원하는 상황에서 나타난다. 사용자는 실행할 프로그램을 PUF 칩에 전송한다. 프로그램은 PUF 상에서 실행한다. 불법사용자는 자신이 선택한 프로그램으로 사용자의 프로그램을 대체하고, 자신의 프로그램을 PUF 칩 상에서 실행하도록 할 수 있다. 불법사용자의 프로그램은 사용자가 기대하고 있는 메시지처럼 보이는 메시지를 발생할 수 있지만, 이 메시지는 실제로는 위조품이다.
제어 알고리듬
이하에서는 요구-응답쌍(CRP)을 생성하기 위해 사용된 프로세스와, 메시지를 인증하기 위한 보안키를 생성하도록 CRP를 사용하기 위한 프로세스를 설명한다. 도 15를 참조하면, 소유자(234)는 CRP를 생성하기 위해 보안 통신 채널(514)을 통해 CPUF 칩(48)과 통신한다. 도 16을 참조하면, CRP를 생성하기 위해서, 요구를 생성하기 위해 사전 요구가 단방향 랜덤 해쉬 모듈 h1(191)에 전송되며, 이 요구는 응답을 발생하기 위해 PUF 회로(100)에 전송된다. 랜덤 해쉬 모듈 h1(191)은 제어 모듈(54)의 일부이며, 마이크로프로세서에 액세스 가능한 메모리(도시 생략)에 저장되는 서브루틴을 사용하여 마이크로프로세서(51)에 의해 시행된다. 그 응답은 칩(48)에서 나와 소유자(234)에게 전송된다.
이후, 설명을 간략화하기 위해, 오류 정정 코딩을 위한 프로시져는 생략된다.
도 17은 CRP를 생성하기 위한 프로세서(512)의 타임라인 다이아그램을 도시한다. 프로세스(512)는 다음의 단계를 포함한다:
단계 520 : 소유자(234)는 사전요구를 무작위로 선택하고, 이것을 제어 모듈(54)에 전송한다.
단계 522 : 제어 모듈(54)은 수식 challenge=h1(prechallenge)을 사용하여 요구를 연산하고, 그 요구를 PUF 회로에 전송한다.
단계 524 : PUF 회로(100)는 수식 response=f(challenge)=f(h1(prechallenge))에 기초하여 응답을 생성하고, 이 응답을 제어 모듈(54)에 전송한다.
단계 526 : 제어 모듈(54)은 이 응답을 소유자(234)에게 출력한다.
단계 528 : 소유자(234)는 수식 challenge=h1(prechallenge)를 사용하여 요구를 계산한다.
단계 520 내지 단계 528은 CRP의 세트가 작성될 때까지 무작위로 선택된 사전요구를 사용하여 수회 반복된다. CRP는 보안 위치에 저장되며, 사전요구가 버려진다.
도 18을 참조하면, CRP의 세트가 작성된 후, 소유자(234)(또는 소유자(234)로부터 CRP의 세트를 획득한 사람)는 비보안 통신 채널(226)을 통해 CPUF 칩(48)을 인증하기 위해 CRP를 사용할 수 있다. 불법사용자(235)는 소유자(234)와 CPUF 칩(48)간의 통신을 도청할 수도 있을 것이다. 불법사용자(235)는 또한 CPU 칩(48)를 점유할 수도 있을 것이다.
도 19를 참조하면, CPUF 칩(48)을 인증하기 위해, 소유자(234)는 요구를 PUF 회로(100)(CPUF 칩의)에 전송하며, PUF 회로는 메시지(예를들어, 기능성 모듈(52) 에 의해 생성된)를 암호화하고 암호화된 메시지에 대한 메시지 인증 코드(MAC)를 생성하기 위해 암호화 및 MAC 모듈(195)에 의해 사용되는 응답을 생성한다. 암호화 및 MAC 모듈(195)은 제어 모듈(54)의 일부이다.
메시지의 MAC은 메시지와, 메시지 전송자와 메시지 수신자 사이에서 공유되는 보안키를 요약하기 위해 해쉬 함수를 사용함으로써 생성될 수 있다. MAC은 통상적으로 메시지와 함께 수신자에게 전송된다. 수신자는 동일 보안키와 전송자에 의해 사용되는 해쉬 함수를 사용하여 수신된 메시지에 대해 MAC을 연산하고, 연산된 결과를 수신된 MAC과 비교한다. 2개의 값이 일치하면, 메시지는 정확하게 수신되며, 수신자는 전송자가 보안키의 지식을 가진 커뮤니티의 멤버라고 확증한다. MAC을 연산하기 위한 알고리듬의 예는 2002년 3월 6일자로 National Institute of Standards and Technology에 의해 이슈된 Federal Information Processing Standards Publication 1998에 설명된 바와 같은 키드-해쉬 메시지 인증 코드(HMAC : Keyed-Hash Message Authentication Code) 알고리듬이 있다.
소유자(234)가 암호화된 메시지 및 MAC을 수신할 때, 소유자는 메시지를 획득하기 위해 응답을 사용하여 암호화된 메시지를 해독할 수 있다. 소유자는 암호화된 메시지의 무결성을, 응답을 사용하여 암호화된 메시지에 대한 MAC을 생성하고 자신이 생성한 MAC을 자신이 수신한 MAC과 비교함으로써 검증할 수 있다. MAC이 일치하면, 메시지가 위조 칩에 의해서가 아니라 CPUF 칩(48)에 의해 실제로 생성되었다는 높은 확률이 존재한다.
도 20은 CPUF 칩(48)을 인증하기 위한 프로세스(518)의 타이밍도를 도시한 다. 프로세스(518)는 다음의 단계를 포함한다:
단계 530 : 소유자(234)는 데이타베이스로부터 사전 저장된 요구-응답쌍을 수신하고, 요구를 포함하고 있는 프로그램을 제어 모듈(54)에 전송한다.
단계 532 : 제어 모듈(54)은 명령을 기능성 모듈(52)에 전송한다. 명령은 기능성 회로가 디폴트 메시지로 응답하도록 요청하는 단순한 명령어일 수도 있다. 명령은 또한 기능성 회로가 데이타를 처리하도록 하고 처리 결과를 나타내는 메시지를 생성하도록 하는 데이타를 갖는 프로그램 세그먼트를 포함할 수도 있다.
단계 534 : 기능성 회로(52)는 제어 모듈(54)에 메시지를 전송한다.
단계 536 : 제어 모듈(54)은 PUF 회로(100)에 요구를 전송한다.
단계 538 : PUF 회로(100)는 수식 response=f(challenge)에 기초하여 응답을 생성하고, 그 응답을 제어 모듈(54)에 전송한다.
단계 540 : 제어 모듈(54)은 응답을 사용하여 메시지를 암호화한다.
단계 542 : 제어 모듈(54)은 응답을 사용하여 암호화된 메시지의 MAC을 생성한다.
단계 544 : 제어 모듈(54)은 암호화된 메시지 및 MAC을 소유자(234)에게 전송한다.
단계 548 : 소유자(234)는 응답을 사용하여 암호화된 메시지의 MAC을 계산한다.
단계 550 : 소유자(234)는 연산된 MAC과 수신된 MAC을 비교하여 암호화된 메시지의 인증성을 판정한다.
단계 552 : 소유자는 암호화된 메시지를 응답을 사용하여 해독하여 메시지를 생성한다.
일 시나리오에서, 사용자가 비보안 채널(226)을 통해 CPUF 칩(48)을 인증하려고 시도할 때, CPUF 칩은 CPUF 칩에 의해 생성된 메시지를 타협하고자 하는 불법사용자(235)의 점유에 있을 수도 있다. 불법사용자는 인증 메시지를 허위 메시지로 대체하려고 시도할 것이다. 그와 같이 하기 위해, 불법사용자는 정확한 MAC을 생성하기 위해 응답을 획득해야만 한다. 그러나, 불법사용자는 응답에 대한 지식을 갖지 못한다. 불법사용자는 요구를 가로챌 수는 있지만, 사전요구가 칩에 대한 입력으로 제공될 때에만 응답이 칩의 외부로 전송되기 때문에 응답을 획득할 수 없으며, 요구로부터 사전요구를 획득하기 위해 해쉬 함수를 반전할 수 없다. 불법사용자가 응답을 획득할 수 없기 때문에, 불법사용자는 맨-인-더-미들 공격을 행하고 CPUF 칩(48)으로부터 메시지를 타협할 수 없다.
칩(48)을 물리적 공격에 대해 견고하게 하기 위해, 제어 모듈(54)은 불법사용자가 물리적인 탐지를 통해 제어 모듈(54)을 우회할 수 없도록 PUF 회로(100)와 엉키게 된다. 이것은 제어 모듈(54)을 둘러싸는 하나 이상의 층 상에 측정가능한 부품을 구성함으로써 달성될 수 있으며, 이로써 불법사용자는 측정가능한 물리적 특성을 변경하지 않고서는, 그리고 그에 의해 PUF 회로(100)에 의해 실시된 함수를 변경시키지 않고서는 제어 모듈(54)을 액세스할 수 없다.
CRP의 관리
도 17의 프로세스(512)에서, 소유자(234)는 보안 채널(514)을 통해 CPUF 칩(48)과 통신되는 것으로 가정된다. 이하는 소유자에게만 알려진 예전 CRP을 점유한 소유자(234)가 비보안 채널(226)을 통해 신규 CRP를 생성하도록 하는 프로세스를 설명한다.
도 21을 참조하면, 소유자(234)는 예전 요구 및 신규 사전요구를 CPUF 칩(48)에 전송한다. 사전요구는 무작위로 선택된 번호이다. 신규 사전요구는 신규 요구를 생성하기 위해 해쉬 모듈(191)을 통과하며, 이 신규 요구는 신규 응답을 생성하기 위해 PUF 회로(100)에 통과된다. 예전 요구는 예전 응답을 생성하기 위해 PUF 회로(100)에 통과되며, 이 예전 응답은 보안키를 생성하기 위해 해쉬 모듈 h2(193)에 통과된다. 보안키는 메시지를 암호화하고 암호화된 메시지에 대한 MAC을 생성하기 위해 암호화 및 MAC 모듈(195)에 의해 사용된다. 암호화된 메시지 및 MAC은 칩밖으로 전송되어 소유자(234)에게 향해진다. 소유자(234)는 예전 응답을 갖기 때문에 MAC을 계산할 수 있고, 보안키를 계산할 수 있다. 소유자는 MAC을 사용하여 암호화된 메시지의 인증성을 체크할 수 있고, 신규 응답을 얻기 위해 암호화된 메시지를 해독할 수 있다.
불법사용자가 보안키에 대한 지식을 갖지 못하기 때문에, 불법사용자는 신규 응답을 획득하기 위해 암호화된 메시지를 해독할 수 없다. 불법사용자가 신규 응답을 위조 응답으로 대체하거나 위조 보안키를 사용한다면, 소유자는 MAC이 정확하지 않을 것이기 때문에 알 것이다.
도 22는 소유자(234)가 소유자에게만 알려진 예전 CRP로부터 신규 CRP를 생성하도록 하는 프로세스(560)의 타임라인 다이아그램을 도시한다. 소유자(234)는 비보안 채널을 통해 CPUF 칩과 통신한다. 프로세스(560)는 다음의 단계를 포함한다:
단계 562 : 소유자(234)는 신규 사전요구를 무작위로 선택하며, 예전 CRP내의 예전 요구와 신규 사전요구를 제어 모듈(54)에 전송한다.
단계 564 내지 555 : 신규 응답이 신규 사전요구로부터 생성되며, 도 17의 단계 522 내지 524와 유사하다.
단계 568 : 제어 모듈(54)은 예전 요구를 PUF 회로(100)에 전송한다.
단계 570 : PUF 회로(100)은 예전 응답을 생성하고, 이것을 제어 모듈(54)에 전송한다.
단계 572 내지 578 : 단계 539 내지 544와 유사하며, 제어 모듈(54)은 예전 응답으로부터 보안키를 생성하고, 보안키를 사용하여 신규 응답을 암호화하며, 암호화된 신규 응답에 대한 MAC을 생성하고, 암호화된 신규 응답 및 MAC을 소유자(234)에게 전송한다.
단계 580 내지 586 : 단계 546 내지 552와 유사하며, 소유자(234)는 보안키를 계산하고, MAC을 계산하며, 계산된 MAC을 제어 모듈(54)로부터 전송된 MAC과 비교한다. 이들이 일치한다면, 암호화된 신규 응답은 인증된 것이다. 소유자(234)는 신규 응답을 획득하기 위해 신규 응답을 해독한다.
단계 588 : 소유자(234)는 수식 new challenge = h1(new prechallenge)를 사용하여 신규 요구를 계산한다.
도 22의 프로세스(560)에서, 신규 CRP를 발생하는 소유자(234)가 아무도 모르는 예전 CRP를 이미 갖고 있는 것으로 가정된다. 도 23을 참조하면, 사용자(592)가 소유자(234)로부터 예전 CRP를 획득하고, 사용자가 예전 CRP를 사용하여 신규 CRP를 생성하길 희망하면, 프로세스(560)는 소유자(234)가 도청 및 신규 응답을 획득하지 못하도록 할 수 없다. 이것은 소유자(234)가 예전 응답으로부터 보안키를 계산할 수 있기 때문이다. 이하에서는 소유자(234)가 신규 응답에 대해 학습하지 않도록 하는 방식으로 사용자(592)가 신규 CRP를 생성하도록 하는 프로세스를 설명한다. 이것은 신규 응답을 공개키 암호화 알고리듬을 사용하여 사용자의 공개키로 암호화함으로써 달성된다.
도 24를 참조하면, 사용자(592)는 예전 요구, 신규 사전요구 및 자신의 공개키를 CPUF 칩(48)에 전송한다. 예전 요구는 예전 응답을 생성하기 위해 PUF 회로(100)에 전송되며, 예전 응답은 보안키를 생성하기 위해 해쉬 모듈(194)에 전송된다. 신규 사전요구는 신규 요구를 발생하기 위해 해쉬 모듈(192)에 통과되며, 신규 요구는 신규 응답을 생성하기 위해 PUF 회로(100)에 통과된다. 신규 응답은 암호화된 신규 응답을 생성하기 위해 사용자의 공개키를 사용하여 암호화 모듈(201)에 의해 암호화된다. MAC 모듈(203)은 암호화된 신규 응답에 대한 MAC을 생성하기 위해 보안키를 MAC 키로써 사용한다. 암호화된 신규 응답 및 MAC은 칩(48)의 외부 로 전송되며, 사용자(592)에게 향해진다. 사용자(592)는 자신이 예전 응답을 가지고 있기 때문에 보안키로부터 MAC을 계산할 수 있다. MAC을 체킹함으로써, 사용자(592)는 암호화된 신규 응답의 무결성을 검증할 수 있다. 사용자(592)는 암호화된 신규 응답을 해독하여 신규 응답을 얻기 위해 자신의 개인키를 사용할 수 있다.
불법사용자는 보안키를 알지 못하기 때문에 신규 응답을 획득하거나 위조 응답을 삽입할 수 없다. 소유자는 사용자의 공개키로 암호화된 메시지를 해독할 수 없기 때문에 신규 응답을 획득할 수 없다.
프로세스(590)를 실시하기 위해, 예전 요구, 신규 사전요구 및 사용자의 공개키를 포함하고 있는 소프트웨어 프로그램이 I/O 포트(105)를 통해 제어 모듈(54)에 전송된다. 프로그램은 제어 모듈(54)이 신규 응답을 생성하고 신규 응답을 암호화하며 신규 응답에 대한 MAC을 생성하고 암호화된 신규 응답과 MAC을 프로세스(590)에 따라 출력하도록 한다.
도 25는 사용자(592)가 소유자(234)로부터 획득된 예전 CRP로부터 신규 CRP를 생성하도록 하는 프로세스(590)의 타임라인 다이아그램을 도시한다. 사용자(592)는 비보안 채널을 통해 CPUF 칩(48)과 통신한다. 프로세스(590)는 다음의 단계를 포함한다:
단계 593 : 도 22의 단계 562 내지 572와 유사하다.
단계 594 : 제어 모듈(54)이 사용자의 공개키를 사용하여 신규 응답을 암호화한다.
단계 596 : 단계 576 내지 584와 유사하다.
단계 598 : 신규 응답을 획득하기 위해 사용자의 개인키를 사용하여 암호화된 신규 메시지를 해독한다.
단계 600 : 단계 588과 유사하다.
제어 알고리듬의 실시예
이하에서는 CPUF 칩과 그 칩을 인증하거나 인증된 방식으로 그 칩을 사용하고자 하는 엔티티간에 공유되는 보안키를 생성하기 위해 사용되는 제어 알고리듬의 실시예를 설명한다.
ㆍOutput(argI,…) : 이 프로시져는 CPUF 칩의 외부로 결과(argI,…)를 전송하기 위해 사용된다. 비보안 링크를 통해 CPUF 칩의 외부로 전송되는 어떠한 결과도 불법사용자에게 가시적이 될 가능성이 있다.
ㆍEncryptAndMac(message, key) : 이 프로시져는 키(key)를 암호화 키로 사용하여 메시지(message)를 암호화하고, 암호화된 메시지의 MAC을 키를 사용하여 생성하기 위해 사용된다.
ㆍPublicEncrypt(message, public_key) : 이 프로시져는 공개키 암호화 알고리듬에 따라 공개키(public_key)를 사용하여 메시지를 암호화하기 위해 사용된다.
ㆍMAC(message, key) : 이 프로시져는 키(key)를 사용하여 메시지의 MAC을 생성한다.
제어 알고리듬은 PUF가 프로그램에 의해 액세스만 될 수 있도록 설계된다. 예를들어, 프로그램은 출력이 원시 프로시져를 포함하고 있는 프로그램에 좌우되는 2개의 원시 프로시져를 사용함으로써 PUF를 액세스한다. 원시 프로시져는 다음과 같이 정의된다:
ㆍGetResponse(PreChallenge)=f(h1(h1(program),PreChallenge)):
ㆍGetSecret(Challenge)=h2(h1(Program),f(Challenge)):
여기서, f는 PUF이고, h1 및 h2는 공개적으로 이용 가능한 단방향 랜덤 해쉬 함수(또는 의사 랜덤 해쉬 함수)이며, Program은 인증 방식으로 실행되는 프로그램(즉, 인증될 필요가 있는 Program의 실행으로부터의 결과)이다. Program은 Challenge 또는 PreChallenge에 대한 값을 포함할 것이다. 프로그램은 또한 원시 함수 GetResponse 및/또는 GerSecret에 대한 호출을 포함할 것이며, 그래서 Getresponse 또는 GetSecret를 평가하는 것은 Program의 해쉬를 연산하는 것을 필요로 한다. 프로그램은 "프로그램 시작" 구문 및 "프로그램 종료" 구문을 가질 것이다. hi(Program)을 평가할 때, "프로그램 시작"과 "프로그램 종료" 사이에 있는 프로그램 코드는 해쉬 값을 생성하기 위해 해쉬 함수 hi에 통과된다. hi가 충돌-저항(collision-resistant) 해쉬 함수라고 가정하면, Program이 임의의 방식으로 변경되는 경우, GetResponse 및 GetSecret에 대한 값은 마찬가지로 변화할 것이다.
도 26은 사전요구, 요구, 응답 및 공유된 보안 사이에서 진행하는 가능한 방식을 요약한 다이아그램이다. GRP 및 GSP는 각각 GetResponse 및 GetSecret를 호출하는 프로그램이다. 도면에서, 아래로 이동하는 것은 해쉬 값을 계산함으로써 용이하게 달성된다. 위로 이동하는 것은 단방향 함수인 이들 해쉬 함수를 반전하는 단계를 수반할 것이기 때문에 용이하지 않다. 좌에서 우로 이동하는 것은 해쉬 값이 GetResponse 및 GetSecret 원시 프로시져에서 사용되는 프로그램에 대해서는 용이하며, 모든 다른 프로그램에 대해서는 용이하지 않다. 우에서 좌로 이동하는 것은 PUF가 단방향 해쉬 함수를 반전할 수 없는 것으로 가정한다면 용이하지 않다.
제어 프로그램
아래는 보안키를 생성하고 요구-응답쌍을 관리하기 위해 사용되는 프로그램의 예이다. 이들 프로그램을 사용함에 있어서, CPUF는 프로그램 실행 사이에 상태를 보존할 필요가 없다.
프로그램 Obtain Secret Program은 사용자와 CPUF 칩간에 공유될 수 있는 보안을 획득하기 위해 사용되는 프로그램의 예이다.
/* Obtain Secret Program */
begin program
Secret = GetSecret(Challenge);
/* Program uses Secret as a Shared *
* secret with the user */
end program
여기서, Challenge는 프로그램을 전송하고 있는 사용자에 의해 알려진 요구-응답쌍으로부터의 요구이다.
GetSecret(Challenge)를 평가하기 위해, h1(h1(Program),f(Challenge))를 평가하는 것이 필요하다. h1(Program)을 평가함에 있어서, Challenge의 실제값을 포함한 "프로그램 시작"과 "프로그램 종료" 사이에 포함된 모든 것은 해쉬 함수 h1 를 통해 실행된다. Challenge에 대해 상이한 값을 갖는 동일한 프로그램 코드는 상이한 프로그램 해쉬를 가질 것이며, 그 결과 상이한 보안으로 나타난다.
사용자는 요구-응답쌍을 갖고 있고 Challenge에 대한 응답을 알기 때문에 Secret를 판정할 수 있다. 사용자는 Secret를 판정하기 위해 h1(h1(Program),response)를 계산할 수 있다. 반대로, 불법사용자는 보안이 무엇인지 판정할 수 없을 것이다. 불법사용자는 CPUF에 전송된 프로그램을 살펴봄으로써 어떤 Challenge인지 확인할 수 있다. 그러나, CPUF 칩이 불법사용자가 PUF의 측정가능한 물리적 특성을 수정하지 않고서 PUF를 액세스할 수 없는 방식으로 설계되기 때문에, 불법사용자는 어떤 응답인지를 밝혀내기 위해 PUF를 탐지할 수 없다.
보안키를 사용하는 제어 프로그램을 사용함으로써, 본 명세서에 설명된 제어 알고리듬은 공개키 암호화 시스템이 사용되는 현존 어플리케이션에 용이하게 적용될 수 있다. 공개키 암호화 시스템에서, 보안을 유지한 채 다른 개인과 통신하고자 하는 개인은 개인에 의해 판독만 가능하게 될 메시지를 암호화하기 위해 개인의 공개키를 사용할 수 있다. 공개키는 이미 공개키를 알고 있고 인증된 채널과 함께 공존하는 일부의 신뢰적인 집단으로부터 획득된다. CPUF를 가지고, 장치와 보안을 유지한 채 통신하고자 하는 개인은 그가 장치와 공유하고 그가 통신하기 위해 사용 할 수 있는 대칭키를 생성하기 위해 요구-응답쌍 중의 요구를 사용한다. 요구-응답쌍은 인증된 및 개인적 채널이 함께 존재하는 신뢰적인 집단으로부터 초기에 획득된다.
신규 CRP를 얻기 위해 제어 프로그램을 사용
다음의 설명에서, CPUF 칩(48)의 소유자 또는 사용자는 프로그램을 칩(48)(도 14 참조)의 입력/출력 포트(105)를 통해 CPUF의 제어 모듈(54)에 전송한다.
도 27을 참조하면, CPUF 칩에 대해 보안 링크를 갖는 소유자(234)는프로세스(602)에 따라 신규 CRP를 획득하기 위해 프로그램 Bootstrapping Program을 사용할 수 있다.
/* Bootstraping Program */
begin program
Response = Getresponse(PreChallenge);
Output(Response)
end program
프로세스(602)는 프로세스(512)(도 17)와 유사하다. 아래의 설명은 프로세스(512)의 단계와 상이한 프로세스(602)의 단계에 초점을 둔다. 단계 604에서, 소유자(234)는 사전요구(PreChallenge)를 무작위로 선택하고, 사전요구를 포함하고 있는 프로그램(Bootstrapping Program)을 제어 모듈(54)에 전송한다. 단계 606 및 608에서, 신규 CRP에 대한 요구는 수식 "challenge=h1(h1(Bootstrapping Program),PreChallenge)"를 사용하여 계산된다. 신규 CRP에 대한 응답은 Response이며, 신규 CRP에 대한 요구는 "h1(h1(Bootstrapping Program),PreChallenge)"이다.
도 28을 참조하면, CPUF 칩에 대한 비보안 링크를 갖고 다른 누구에게도 알려지지 않은 동시에 예전에 전혀 사용되지 않은 CRP를 갖는 소유자(234)는 프로시져(610)에 따라 신규 CRP를 획득하기 위해 프로그램 Renewal Program 을 사용할 수 있다.
/* Renewal Program */
begin program
NewResponse = GetResponse(preChallenge);
Output(EncryptAndMAC(NewResponse,
GetSecret(OldChallenge)));
end program
프로세스 "610"은 프로세스 "560"(도 22)과 유사하다. 이하의 설명은 프로세스 "560"에서의 단계와 상이한 프로세스 "610"의 단계에 초점을 둔다. 단계 612에서, 소유자(234)는 사전요구 PreChallenge에 대해 임의 값을 선택하고, 예전 CRP로부터 요구에 대한 OldChallenge의 값을 선택한다. 소유자(234)는 신규 사전요구 및 예전 요구를 포함하고 있는 프로그램(Renewal Program)을 제어 모듈(54)에 전송한다. 단계 614 및 620에서, 신규 요구는 수식 "challenge=h1(h1(Renewal Program),PreChallenge)"를 사용하여 계산된다. 단계 616 및 618에서, 보안키는 수식 "secret key=h2(h2(Renewal Program), old response)=h2(h2 (Renewal Program),f(OldChallenge))"를 사용하여 계산된다. 신규 CRP의 응답은 NewResponse 이며, 신규 CRP의 요구는 "h2(h2(Renewal Program),PreChallenge)"이다.
프로세스 610에서, 불법사용자는 프로그램을 인터럽트하고 그 프로그램을 자신의 프로그램으로 교체하며 OldChallenge 를 그가 응답을 알고 있는 요구로 대체하려고 시도할 수도 있다. 불법사용자는 신규 응답을 생성하여 신규 응답을 사용자에게 넘겨주기 위해 CPUF 칩을 통해 프로그램을 실행하도록 시도할 수도 있다. 그러나, 그와 같이 행하면, 불법사용자는 자신이 가로챌려고 시도하는 것과는 상이한 응답을 얻을 것이다. 그 이유는 OldChallenge 가 프로그램의 일부이고 GetResponse 가 사전요구를 응답을 생성하기 위해 실행되는 프로그램의 해쉬 함수와 조합하기 때문이다.
다음의 설명에서, "인증자"는 CPUF에 대한 CRP의 자신의 개인 리스트를 갖고 있으며 사용자에 의해 신뢰받는 사람이다. 칩의 제조업체는 다른 사용자에 대해 인증자로써 행동할 수 있다. 사용자가 CRP의 자신의 개인 리스트를 구축한 후, 두번째 사용자가 첫번째 사용자를 신뢰한다면, 그 사용자는 다른 사용자에 대한 인증자로써 행동할 수도 있다. 예를들어, 사용자가 칩의 소유자를 신뢰한다면, 칩의 소유자는 인증자로써 행동할 수 있다. 인증자는 신규 CRP를 작성하고 신규 CRP를 보안 채널을 통해 사용자에게 전송하기 위해 Renewal Program을 사용할 수 있다. 인증자에 의해 인증되는 CRP는 "인증된 CRP"로 지칭된다. 사용자는 그리고나서 아래에 나타낸 Private Renewal Program을 사용하여 인증자가 알지 못한 CRP를 생성한다. 사용자에게 개인적인 것이고 다른 누구에게도 알려지지 않은 CRP는 "개인 CRP"로 지칭된다.
도 29를 참조하면, 인증된 CRP를 획득한 사용자(592)는 아래에 나타낸 프로그램 Private Renewal Program 을 CPUF 칩(48)에 전송함으로써 프로세스(622)에 따른 개인 CRP를 생성할 수 있다. 여기서, 사용자(592)와 CPUF 칩(48)간의 링크가 비보안이고 인증된 CRP가 이전에 전혀 사용되지 않은 것으로 가정된다.
/* Private Renewal Program */
begin program
NewResponse = GetResponse(PreChallenge);
Message = PublicEncrypt(NewResponse, Publickey);
Output(Message, MAC(Message,
GetSecret(OldChallenge)));
end program
프로세스 "622"는 프로세스 "590"(도 25)와 유사하다. 이하의 설명은 프로세스 "560"의 단계와 상이한 프로세스 "610"의 단계에 중점을 둔다. 단계 624에서, 사용자(592)는 신규 사전요구, 예전 요구 및 사용자의 공개키(PublicKey)를 포함하고 있는 프로그램(Private Renewal Program)을 CPUF 칩(48)에 전송한다. Private Renewal Program 에서, PreChallenge는 사용자(592)에 의해 무작위로 선택된 임의 번호이고, OldChallenge는 인증된 CRP내의 요구이며, PublicKey는 사용자의 공개키이다.
단계 626 및 632에서, 신규 요구는 수식 "challenge=h1(h1(Private Renewal Program),PreChallenge)"를 사용하여 계산된다. 단계 628 및 630에서, 보안키는 수식 "secret key=h2(h2(Private Renewal Program), old response)=h2(h 2(Private Renewal Program),f(OldChallenge))"를 사용하여 계산된다. 신규 CRP의 응답은 NewResponse 이고, 신규 CRP의 요구는 "h1(h1(Private Renewal Program), PreChallenge)"이다.
NewResponse 가 사용자의 공개키로 암호화되었기 때문에 사용자 이외의 누구도 이것을 판독하기는 쉽지 않다. 불법사용자가 PublicKey를 자신의 공개키로 대체한다면, 그는 PublicKey가 프로그램의 일부이고 그에 따라 GetResponse의 출력을 간접적으로 변경하기 때문에 상이한 응답을 얻을 것이다. MAC은 사용자가 예전 CRP를 공유하는 사람(아마도, 사용자에게 CRP를 방금 소개한 인증자)에 의해서 망각될 수 있다. 그 사람이 신뢰할 수 있는 사람이라고 가정하면, 사용자는 MAC이 CPUF 칩에 의해 생성된 것이고 그에 따라 NewResponse가 실제로 CPUF에 의해 생성된 응답이라는 것을 확신할 수 있다.
익명성을 유지하기 위한 복수 신분의 구현
도 9의 CPUF g 회로(186)에서, 사용자는 라인(197) 상의 PersonalitySelect 신호에 대해 상이한 번호를 사용함으로써 CPUF g 회로(186)에 대하여 상이한 신분을 선택할 수 있다. 이하에서는 신분의 선택을 구현하기 위한 제어 알고리듬을 설명한다. 자신의 아이덴티티를 숨기고자 하는 CPUF 칩(48)(도 14)의 소유자는 CPUF 칩의 "익명의 소유자"로써 지칭된다. CPUF 칩의 익명의 소유자의 아이덴티티에 관한 정보의 모든 소스가 다른 프로토콜 레이어에 의해 제거되는 것으로 한다. 제어 알고리듬은 CPUF 칩(48)이 익명의 소유자의 아이덴티티를 누설하지 못하도록 설계된다. 트래픽 분석(단순히 타이밍을 고려한 노드에의 메시지의 도착을 메시지의 출발과 상관시키는)이 이용 가능하지 않은 익명화된 제공을 사용하는 충분한 사람이 존재하는 것으로 가정된다.
제어 알고리듬은 CPUF 칩(48)에 전송되는 프로그램이 PersonalitySelect를 자유롭게 설정할 수 없도록 설계된다. 그렇지 않다면, 이들 프로그램은 CPUF 칩(48)을 알려진 신분으로 하여 신분 선택기를 갖는 목적을 깨뜨릴 수 있다. 신분의 선택을 구현하기 위해, 다음의 원시 프로시져가 CPUF 칩(48)에 의해 시행된다:
ㆍChangePersonality(Seed) : 이 프로시져는 신분을 h(PersonalitySelect,Seed)로 변경하며, 여기서 h는 랜덤 해쉬 함수이다.
ㆍRunProg(Program) : 이 프로시져는 PersonalitySelect를 변경하지 않고서 인자로서 제공되는 프로그램을 실행한다. 프로그램이 외부 세계에서 CPUF 칩내로 로드되고 RunProg을 통과하지 않고서도 실행될 때, PersonalitySelect는 제로, 즉 디폴트 신분으로 설정된다.
ㆍDecrypt(message,key) : 이 프로시져는 암호화 키 key로 암호화된 메시지 message를 해독하기 위해 사용된다.
ㆍHashWithProg(x) : 이 프로시져는 h(h(program),x)를 연산하기 위해 사용된다.
ㆍHash(…) : 이 프로시져는 랜덤 해쉬 함수이다.
ㆍBlind(message,factor) : 이 프로시져는 블라인딩 팩터 factor를 메시지 message에 적용하기 위해 사용된다. 블라인딩 팩터는 후술될 것이다.
현재 신분의 선택
CPUF 칩(48)의 익명의 소유자가 CPUF 칩의 디폴트 신분이 아닌 신분을 나타내고자 원할 때, 그 소유자는 CPUF 칩에 전송되는 모든 프로그램을 가로채어 이들을 자기 자신의 코드의 일부분으로 감싼다:
/* Select Personality Program */
ESeed =
/* the personality seed encrypted with Secret */
EProgram =
/* the encapsulated program encrypted with
Secret */
begin program
Secret = GetSecret(Challenge);
Seed = Decrypt(ESeed, Secret);
Program = Decrypt(EProgram, Secret);
ChangePersonality(Seed);
RunProg(Program);
end program
Select Personality Program에서, "프로그램 시작" 전에 나타나는 라인은 프로그램과 동반하지만 프로그램의 해쉬에 참여하지 않는 데이타의 일부이다. EProgram이 해쉬에 포함되었다면, 암호화키가 암호화된 프로그램에 좌우될 것이기 때문에 EProgram을 암호화하는 것은 가능하지 않을 것이다. Seed는 Secret로 암호화된 임의적으로 선택된 시드 값인 Eseed로부터 구해진다. Challenge는 익명의 소유자의 CRP 중의 하나에 대한 요구이다.
프로그램을 이러한 방식으로 감쌈으로써, 익명의 소유자는 CPUF가 사용자의 프로그램을 실행할 때 CPUF가 나타내는 신분을 변경하는 것이 가능하게 된다. 사용자의 프로그램이 사용중인 신분을 판정하도록 하는 원시 프로시져는 존재하지 않는다. ChangePersonality와 함께 사용되는 시드는 사용자가 자신이 어느 신분을 사용중인지를 알아낼 방법이 없도록 암호화된다. 사용자의 프로그램이 암호화되어서, 소유자의 통신을 모니터링한다 하더라도, 사용자는 CPUF에 전송되고 있는 프로그램이 자기 자신의 프로그램인지를 판정할 수 없다.
익명의 제공
이하에서는 "익명의 제공"에 대한 프로세스를 설명한다. 익명의 소개에서, CPUF 칩의 소유자는 사용자가 CPUF 칩 상의 인증된 실행을 수행하기 위해 CRP를 사용할 수 있도록 인증자에 의해 인증된 CRP를 사용자에게 준다. 소유자는 CRP가 어느 CPUF에 대응하는지를 사용자에게 드러내고 싶어 하지 않는다. 익명의 제공 후, 사용자는 인증된 CRP를 획득하며, 다른 CRP를 생성하고 CPUF 칩 상의 인증된 실행을 수행하기 위해 CRP를 사용할 수 있다. 그러나, 사용자는 그가 어느 CPUF를 사용중인지와, 자신이 다른 사용자 또는 인증자와 동일한 CPUF와 통신하고 있는지의 여부를 판정할 수 없을 것이다.
도 30은 익명의 제공을 위한 모델을 예시한다. 사용자(222)는 CPUF 칩(224)에 대한 CRP를 갖지 못하며, CRP에 대한 자기 자신의 개인 리스트를 구축하고자 한다. 인증자(232) 및 소유자(234)는 서로 통신하며, 소유자(234)와 사용자(222)가 서로 통신하며, 소유자(234)는 CPUF 칩(224)과 통신한다. 인증자(232), 소유자(234) 및 사용자(222)간의 통신 채널은 보안(개인 및 인증) 채널이다. 소유자(234)와 CPUF 칩(224)간의 통신 채널(226)은 비보안 채널이다. 인증자(232)와 사용자(222)는 그들의 CRP가 동일한 CPUF 칩용인지의 여부를 판정하기 위해 잠재적으로 결탁할 수도 있다.
익명의 제공을 위한 프로토콜의 예는 "블라인딩"으로 지칭되는 프로시져를 사용하며, 이 프로시져는 다음의 예를 사용하여 설명될 수 있다: 앨리스는 밥이 자신을 위해 메시지에 서명하기를 원하지만, 그녀는 밥이 자신이 서명한 것이 무엇인지를 알게되는 것을 원하지 않는다. 이를 행하기 위해, 앨리스는 "블라인딩 팩터" 를 적용함으로써 메시지를 감춘다. 밥은 장막이 쳐진 메시지(blinded message)를 수신하고, 그것에 서명하며, 서명된 블라인드 메시지를 앨리스에게 반환한다. 앨리스는 밥의 서명에 손상을 입히지 않고서 블라인딩 팩터를 제거할 수 있다. 그 결과의 메시지는 밥에 의해 서명되었지만, 밥이 다수의 메시지를 서명하였다면, 밥은 어느 장막이 쳐지지 않은 메시지를 어느 경우에 자신이 서명하였는지를 말할 수 없다.
익명의 제공을 위한 프로토콜은 다음의 단계를 포함한다:
단계 300 : CPUF 칩의 소유자는 인증자로부터의 요구와 사용자의 공개키를 수집한다. 소유자는 도 31에 도시된 프로그램을 CPUF 칩에 전송한다.
단계 302 : 소유자는 CPUF 칩으로부터의 출력을 해독하고, MAC을 체크하며, 인증자의 공개키로 암호화된 프로그램(MAC에 참여하는 유일한 부분)의 복사본과 함께 인증자에게 Mesg5를 건네준다.
단계 304 : 인증자는 프로그램을 해독하고, 그 프로그램이 공무상의 익명의 제공 프로그램인지를 체크하며, CertSecret를 계산하기 위해 그 프로그램을 해쉬한다. 인증자는 그리고나서 Mesg4가 인증되었는지를 MAC을 가지고 검증할 수 있다. 인증자는 Mesg4에 서명하고, 그 결과물을 소유자에게 전송한다.
단계 306 : 소유자는 메시지의 장막을 걷고, 서명된 버젼의 Mesg3를 가지고 종결한다. 소유자는 Mesg3내의 서명 및 MAC을 체크하여, 인증자가 사용자에게 자신의 아이덴티티를 통신하지 않았다는 것을 확인한다. 소유자는 언블라인드 메시지를 사용자에게 전송한다. 이 메시지는 실제로 인증자에 의해 서명된 Mesg3의 버 젼이다.
단계 308 : 사용자는 서명을 체크하며, CRP를 얻기 위해 자신의 보안키로 Mesg2를 해독한다.
상기의 프로토콜에서, UserPubKey 및 CertChallenge는 사용자가 CPUF 칩에 전송하는 메시지를 인증자의 요구 또는 사용자의 공개키와 상관시키기 용이하지 않도록 암호화된다. Seed는 인증자 또는 사용자로 하여금 사용자가 드러나는 신분을 어떻게 자발적으로 얻는지를 알지 못하도록 함호화된다. PreChallengeSeed는 인증자로 하여금 인증자가 단계 304에서 프로그램을 조사할 때 새로이 작성된 요구를 찾아내지 못하도록 암호화된다. Mesg5와 Mesg6간의 암호화는 CPUF로부터 사용자로의 메시지와 소유자로부터 인증자로의 메시지의 상관을 방지한다.
하나 이상의 층의 인캡슐레이션이 사용될 수도 있다. 익명의 제공을 통해 CPUF의 신분에 대한 액세스를 얻은 엔티티는 다른 집단에게 이 PUF를 제공할 수 있다. 특히, 그는 그가 수신한 서명된 CRP를 다시 인증자에게 전송하여, 그 인증자가 자신이 CPUF를 다른 집단에 익명으로 제공할 때에 자신의 신분에 대한 인증자로써 작용하도록 할 수 있다.
CPUF 칩 및 제어 알고리듬은 예를들어 스마트카드 응용장치 및 인증된 실행장치내에서 사용될 수 있다.
스마트카드 응용예
도 32를 참조하면, 스마트카드(206)는 PUF 회로(209), 기능성 회로(278) 및 제어 회로(280)를 갖는 집적회로(208)를 포함한다. PUF 회로(209)는 요구에 선택가능한 다수의 신호 경로를 갖는 지연 회로(210)를 갖는다. 예로써, 요구는 64-비트 숫자일 수도 있다. 스마트카드(206)는 프로그램을 수신하기 위해 입력/출력 포트(212)를 포함한다. 카드 리더(214)는 스마트카드를 인증하기 위해 사용된다. 카드 리더(214)는 스마트카드(206)를 수신하기 위한 포트, 프로세서(218) 및 요구-응답쌍을 저장하기 위한 저장장치(220)를 포함한다. 프로세서(218)는 요구를 선택하고, 요구를 포함하는 프로그램을 스마트카드(206)에 전송하며, 스마트카드로부터 메시지를 수신한다. 메시지는 기능성 회로(278)에 의해 생성된 연산 결과와, 요구에 대한 응답을 포함하고 있다. 프로세서(218)는 응답을 생성하기 위해 메시지를 처리하고, 스마트카드로부터 수신된 응답을 요구와 관련된 저장장치(220)에 저장된 응답과 비교한다. 응답이 일치할 때, 스마트카드(206)가 인증된다.
도 33은 CPUF 칩을 갖는 스마트카드를 인증하기 위한 프로세스(370)를 예시한다. 스마트카드 회사는 동일 리쏘그래피 매스크를 사용하여 제조되는 PUF 칩을 갖는 다수의 스마트카드를 제작한다. 각각의 스마트카드는 고유한 일련번호를 갖는다. 프로세스(370)는 다음의 단계를 포함한다:
단계 372 : 스마트카드 회사는 스마트카드를 선택하고, 프로세스(602)(도 27)를 사용하여 그 스마트카드에 대한 CRP의 세트를 작성한다. CRP는 보안된 데이타베이스에 저장된다.
단계 374 : 스마트카드 회사는 스마트카드를 스마트카드 홀더에게 분배하고, 스마트카드 일련번호를 카드 홀더의 계좌에 연계시킨다.
단계 376 : 카드 홀더가 자신의 계좌를 액세스하여 스마트카드 회사에 의해 제공된 서비스를 사용하고자 할 때, 카드 홀더는 스마트카드를 인증을 위해 카드 리더에 제공한다.
단계 378 : 카드 리더는 보안된 데이타베이스로부터 사전 저장된 CRP를 검색하고, 아래에 설명된 프로세스(634)에 따라 스마트카드를 인증한다.
도 34를 참조하면, 프로세스 "634"는 카드 리더가 CPUF 칩(48)을 포함하고 있는 스마트카드를 인증하도록 한다. 프로세스 "634" 프로세스 "518"(도 20)과 유사하다. 다음의 설명은 프로세스 "518"의 단계와 상이한 프로세스 "634"의 단계에 초점을 둔다. 단계 636에서, 카드 리더는 아래에 나타낸 프로그램 Smartcard Program 을 스마트카드에게 전송한다.
/* Smartcard Program */
begin program
Secret = GetSecret(Challenge);
/* The program contains an instruction to
cause the smartcard to generate Message
to send to the bank */
Output(Message, MAC((Message, R), Secret));
end program
Smartcard Program에서, R 은 단일 사용 번호이고, Challenge는 카드 리더의 요구이다. 단계 638 및 642에서, 보안키는 수식 "secret key=h2(h2(program),response)"를 사용하여 계산된다. 단계 640 및 644에서, MAC은 수식 "MAC((message,R),response)"를 사용하여 계산된다. 단일 사용 번호 R은 스마트카드가 실행예 사이에서 보존되는 상태를 갖는 경우에 유용하다. 그 경우, 메시지의 신선도를 보장하는 것이 중요하다. 스마트카드의 메시지의 프라이버시가 조건이라면, 메시지가 MAC을 생성하기 위해 사용되는 것과 동일한 키로 암호화되는 상이한 프로그램이 사용될 수 있다.
스마트카드 회사가 카드 홀더에게 스마트카드를 제공하기 전에, 스마트카드 회사는 새로운 CRP 세트를 작성한다. 스마트카드(206)가 인증될 때마다, 신규 CRP의 서브세트가 사용된다. CRP의 세트가 구축될 때, 스마트카드 회사는 프로그램 Renewal Program 및 Private Renewal Program을 사용하여 새로운 세트의 CRP를 작성한다.
PUF를 갖지 않은 스마트카드가 사용될 때, 스마트카드를 점유하고 있는 불법사용자가 여러 종류의 공격을 통해 핵심 정보(스마트카드내의 어딘가에 감춰진 디지탈 키)를 추출함으로써 복제품을 생산하는 것이 가능하다. 누군가 일정한 시간 동안 자신의 카드의 트랙을 분실한다면, 그 사람의 카드는 잠재적으로 복제될 가능성이 있다. 따라서, 스마트카드를 물리적 점유하고 있다는 것은 안전하지 않다는 것을 의미한다. 인증 및 식별될 수 있는 스마트카드 상의 PUF를 가지고 있다면, 불법사용자에 의해 추출될 수 있는 디지탈 키에 대한 필요성이 더 이상 존재하지 않는다. 스마트카드 하드웨어 자체가 보안키가 된다. 이 키는 복사될 수 없다. 그러므로, 사람이 PUF-스마트카드의 제어를 상실하고, 그것을 회복하여 사용을 재개할 수 있다. 이러한 방식으로, 보안의 영구적인 침해를 야기함이 없이 PUF-스마트카드를 다른 사람에게 빌려줄 수 있다.
PUF는 원본 카드를 점유하고 있는 사람을 검사하기 위해 신용 카드에 사용하기에 적합하다(즉, 친구로부터 신용 카드를 빌려, 키 정보를 추출하고, 신용 카드를 반납하고나서 위조품을 만들 수 없다).
불법사용자가 "서비스의 거절" 공격을 수행하지 못하도록 하기 위해, 스마트카드는 카드 리더가 자신이 가지고 있는 제한된 수의 CRP 중의 하나를 가지고 스마트카드에 요구하기 전에 디지탈 요구-응답 프로토콜을 사용하여 카드 자신을 식별하도록 요구될 수도 있다.
인증된 실행예
인증된 실행예에서, CPUF 칩은 특정 프로세서 상의 실행의 증거를 요구하는 응용예에 사용된다. 예를들어, 대부분의 컴퓨터 사용자는 자신의 컴퓨터의 처리 성능의 일부만을 사용한다. 비사용 컴퓨터 성능을 분산 방식으로 연결하여 대형 연산을 수행하도록 할 수 있다. 그러나, 연산을 요청한 사람이 컴퓨터가 어떠한 속임수없이 실행되고 있다는 것을 알아내는 방법을 갖지 않기 때문에 이러한 유형의 연산은 신뢰적이지 못하다. CPUF 칩이 사용된다면, 특정 연산이 특정 칩 상에서 수행되었다는 것을 증명하는 인증서가 발생되도록 할 수 있을 것이다. 그러므로, 연산을 요청한 사람은 칩의 소유자를 신뢰하는 대신 칩을 생산했다고 보증할 수 있는 칩 제조업체의 신뢰성을 믿을 수 있다.
인증된 실행예는 두 가지 방식으로 수행될 수 있다. 연산은 보안 칩 상에서 직접 수행되거나 보안 칩 상의 감독 코드에 의해 수준 높은 대화 방식으로 모니터링되는 더 신속한 비보안 칩 상에서 수행될 수 있다.
CPUF 칩은 소프트웨어 라이센싱을 용이하게 하고 지적 재산권 보호를 향상시키기 위해 사용될 수 있다. 예를들어, 소프트웨어 코드는 인증될 수 있는 특정 프로세서 상에서 실행하도록 설계될 수 있다. 표절된 코드는 실행에 실패할 것이다. 한가지 방법은 한 명령어씩 주고 받는 방식으로 CPUF 요구-응답쌍을 사용하여 소프트웨어 코드를 암호화하는 것이다. 명령어는 CPUF 칩의 내부에서 해독될 것이며, 의도된 칩에 의해 해독될 수 있다.
예시와 같이, 앨리스는 CPUF 칩을 가지고 있는 밥의 컴퓨터 상에서 주말내내 광범위한 연산의 프로그램을 실행하고자 희망한다. 밥은 이전에 전혀 사용되지 않은 CRP를 가지고 있다. 앨리스는 그 결과물을 밥 또는 그 누구라도 손대지 못하도록 하기를 희망한다. 앨리스는 어떠한 CRP도 가지고 있지 않다. 이하에서는 앨리스가 개인적인 CRP를 획득하고 그 CRP를 CPUF 칩 상에서 인증된 실행예를 수행하기 위해 사용할 수 있도록 해주는 프로세스 "400"를 설명한다. 도 35를 참조하면, 프로세스 "400"은 다음의 단계를 포함한다:
단계 382 : 밥은 CRP를 앨리스에게 전송한다.
단계 384 : 앨리스는 그녀가 밥으로부터 얻은 CRP에 기초하여 프로세스(622)(도 29)를 사용하여 자신에게 개인적인 새로운 CRP를 생성한다.
단계 386 : 앨리스가 더 많은 CRP를 생성하기를 희망하면, 앨리스는 단계 384에서 자신이 구축한 CRP에 기초하여 프로세스(610)(도 28)를 사용하여 그렇게 할 수 있다.
단계 388 : 앨리스는 프로세스(634)와 유사한 프로세스를 사용하여 인증된 실행예를 수행하기 위해 아래에 나타낸 프로그램 Certified Execution Program을 CPUF 칩에 전송한다.
/* Certified Execution Program */
begin program
Secret = GetSecret(Challenge);
Subroutine for instructing the
functional circuit in the CPUF
chip to perform certified
executions to generate a result,
which is put into Result.
Output(Result, MAC(Result, Secret));
end program
Certified Execution Program에서, Challenge 는 앨리스가 단계 386 및 388에서 발생한 요구이다.
프로세스 "400"은 단일 용도 난수를 사용하지 않는다. 인증된 실행예에서, 무효화될 수 없는 순수한 연산이 수반되는 것으로, 즉 동일 연산이 수행되는 때에 상관없이 연산이 동일한 결과를 생성할 것이다.
인증된 실행예를 수행할 때, 앨리스는 연산을 정확하게 수행하기 위해 밥의 CPUF 칩에 위탁한다. 이것은 연산을 수행하기 위해 사용된 모든 자원(메모리, CPU 등)이 CPUF 칩에 대해 이루어지고 CPUF 특성화에 포함되는 것인지를 보장하기가 더 용이해진다. CPUF 칩이 오프칩 자원을 보안하에서 활용할 수 있도록 설계하는 것이 가능하다. 또한 CPUF 칩이 다른 네트워킹된 CPUF 칩 및 장치의 성능을 인증된 실행예를 이용하여 사용할 수 있도록 CPUF 칩을 설계하는 것도 가능하다. CPUF는 자신이 사용하고 있는 컴퓨터의 각각에 대한 CRP를 가질 수 있고, 전술된 프로토콜을 사용하여 연산을 수행할 수 있다.
실험 데이타
고유하게 식별될 수 있는 PUF를 구축할 수 있는 가능성을 판정하기 위해 Xilinx XC2s299 필드 프로그래머블 게이트 어레이(FRGA)을 사용하여 실험이 시행되었다. FPGA는 대용량으로 제조되고, 제조 공정은 수율 및 성능을 최대로 하기 위해 가능한 한 동일한 IC들을 생산하도록 조정되었다. 실험은 예측 가능성을 위해 설계된 매우 최적화된 제조 공정조차도 신뢰 가능한 식별이 가능하도록 충분한 변동가능성을 갖는 것으로 나타났다.
도 36을 참조하면, 자체 발진 루프(236)는 지연 회로(238)와 FPGA에서의 탐색표에 의해 시행되는 스위칭 회로(240)(점선으로 둘러싸인)를 포함한다. 탐색표의 동작은 XOR 게이트 및 멀티플렉서(242)에 의해 모델링될 수 있다. 라인(245) 상의 신호는 2개의 신호로 복사되며, 이들 신호는 상위 경로(247)와 하위 경로(249) 사이의 지연 회로(238) 및 스위치 회로에 입력된다. 경로(247, 249) 상의 신호는 각각 신호 라인(239, 237)을 통해 스위칭 회로(240)에 입력된다. 스위칭 회로(240)의 출력(251)은 상승 구간 또는 하강 구간 중의 하나인 더 저속의 전이가 라인(237, 239)을 통해 그 입력단에 도달할 때 스위칭한다. 회로(240)는 지연 회로로부터의 양쪽 출력이 동일 레벨에 있을 때 상태를 변경하는 플립플롭과 유사하다.
상이한 조건에서 상이한 FPGA에 대해 다수의 프로파일이 생성된다. 프로파일은 128개의 요구 응답쌍의 측정치를 표현한다. 모든 프로파일은 동일 요구를 사용하여 구축된다. 2개의 프로파일에서의 응답의 차이점을 비교함으로써, 차이점의 분포가 획득된다. 대부분의 차이점이 제로 부근에 있다면, 프로파일은 근접한 것이 된다. 차이점이 제로에서 떨어져 있다면, 프로파일은 구분적인 것이 된다. 실험 결과는 차이점의 분포가 통상적으로 가우시안(Gaussian)이라는 것을 나타낸다. 따라서, 2개의 프로파일간의 차이점은 표준 편차에 의해 특징지워질 수 있다.
도 37을 참조하면, 각각의 라인은 제1 프로파일과 제2 프로파일간의 차이점을 나타낸다. 수평축은 허용오차를 나타내고, 수직축은 소정 요구에 대해 응답에서의 차이가 수평축 상에 나타내진 응답에서의 차이보다 더 낮게 될 확률을 나타낸다. 제1 프로파일은 다른 라인에 대해 동일하게 유지되며, 실온에서 제1 테스트 보드 상에서 실행된 "아베(Abe)"로 지칭된 FPGA 칩에 의해 생성된 응답을 측정함으로써 획득된다. 라인(242)에 대해서는, 제2 프로파일은 제2 시간 동안 실온에서 제1 테스트 보드 상의 아베에 의해 생성된 응답을 측정함으로써 획득된다. 2개의 프로파일간의 차이의 표준 편차 σ는 약 1×10-5이다. 측정치가 동일 온도하에서 동일 보드 상의 동일 칩에 대해 이루어졌기 때문에, 그 결과는 테스트 보드의 전원 변동을 나타낸다.
라인 244에 대해서는, 실온에서 제2 테스트 보드 상의 아베 칩에 의해 생성된 응답을 측정함으로써 제2 프로파일이 획득된다. 이 경우, σ는 약 2.5×10-5이다. 측정이 다른 테스트 보드에서 수행되었기 때문에, 그 결과는 다른 테스트 보드에 걸친 전원 변동을 반영한다. 라인 246, 248 및 250에 대해서는, 실온보다 섭씨 10, 20 및 30도 이상의 온도에서 제1 테스트 보드 상의 아베 칩으로부터의 응답을 측정함으로써 제2 프로파일이 획득된다. 이 경우, σ는 약 5×10-5 내지 1×10-4이다. 라인 252 및 254에 대해서는, 제2 프로파일은 각각 제1 테스트 보드 상의 "Hal" 및 "Walt"로 표시된 FPGA 칩으로부터의 응답을 측정함으로써 획득된다. 이 경우, σ는 약 4×10-4이다. 이 실험은 동일 테스트 보드 상의 2개의 상이한 칩의 프로파일들간의 차이가 다른 시간에서 측정된 동일 테스트 보드 상의 동일 칩, 또는 상이한 테스트 보드 상의 동일 칩, 또는 상이한 온도(섭씨 30도 정도 차이나는)에서 측정된 동일 테스트 보드 상의 동일 칩의 프로파일들간의 차이보다 더 크다는 것을 보여준다. 이것은 칩의 지연 특성을 측정하는 것에 기초하여 상이한 FPGA를 구분하는 것이 가능하다는 것을 예증한다. 데이타는 각각의 요구가 섭씨 30도의 변동이 허용될 때에는 FPGA의 아이덴티티에 대해 0.7 비트의 정보를 제공할 수 있고, 섭씨 10도의 변동이 허용된다면 1.5비트의 정보를 제공할 수 있다는 것을 보여준다.
10억개의 상이한 부품을 구별하기 위해서는, 1018=260 개의 부품을 식별하기 위해 충분한 수의 비트가 요구된다. 허용되는 온도 변동에 따라서 이들 60 비트의 정보를 획득하기 위해 총 40 내지 90개의 요구가 필요로 된다. 여기서 제공되는 개수는 고려되는 PUF 회로에 좌우된다. 회로의 레이아웃을 적절하게 설계함으로써, 더 많은 비트가 각각의 요구로부터 추출될 수 있는 PUF를 구성하는 것이 가능할 것이다.
다른 실험은 도 3의 PUF 회로(101)를 구현하기 위해 FPGA를 사용하여 시행된다. 실험에서, 각각의 FPGA는 도 3의 회로(101)와 같은 8개의 자체 발진 루프가 구비된다. 각각의 루프는 32개의 버퍼(그 입력을 그 출력으로 짧은 지연량으로 복사하는 논리 게이트) 및 인버터를 포함한다. 루프의 주파수는 특정 주기의 시간(대표적으로, 외부 50㎒ 발진기의 220 싸이클) 동안 발생된 발진의 수를 측정함으로써 측정된다. 루프의 주기는 60㎱ 정도이다.
실험 결과에 대한 다음의 설명에서, 표준 편차는 백만분의 일 단위(ppm)로 제공된다. 주파수 f0 주변의 n ppm의 편차는 (n-f0)/106의 편차에 대응한다.
도 38을 참조하면, 그래프(472)는 상이한 FPGA 상의 4개의 PUF의 측정치에 대한 히스토그램을 나타낸다. 수평축은 임의 단위를 사용한 지연량을 나타낸다. 수직축은 확률 밀도를 나타낸다. 이 히스토그램은 4개의 상이한 FPGA에 대한 측정 오차와 FPGA간의 변동과의 관계를 나타낸다. 각각의 피크는 상이한 FPGA를 나타낸다. 피크의 폭은 측정 오차를 나타낸다. 측정은 보상없이 이루어졌다.
도 39를 참조하면, 그래프(474)는 상이한 FPGA 상의 4개의 보상된 PUF의 측정치에 대한 히스토그램을 나타낸다. 수평축은 보상된 측정치를 나타내고, 각각의 데이타 포인트는 2개의 측정치의 비율을 나타낸다. 수직축은 확률 밀도를 나타낸다. 이 히스토그램은 4개의 상이한 FPGA에 대한 측정 오차와 FPGA간의 변동과의 관계를 나타낸다. 보상된 측정치를 갖는 FPGA간 지연량에서의 표준 편차는 측정을 위해 사용된 루프의 쌍에 따라서 5000 내지 30000ppm의 범위를 갖는다. 히스토그램(472, 474)에서의 4개의 피크는 FPGA간 변동이 측정 오차보다 더 크다는 것을 나타낸다. 이것은 다소의 온도 오차에도 불구하고 상이한 FPGA를 구별하는 것이 가능하다는 것을 나타낸다.
도 40을 참조하면, 그래프(476)는 턴온 또는 턴오프된 FPGA 상의 다른 루프로 발진 루프의 측정치를 표현하는 2개의 히스토그램을 나타낸다. 수평축은 임의의 단위를 사용한 시간 측정을 나타낸다. 수직축은 확률밀도를 나타낸다. 다른 루프의 영향(약 10ppm인 2개의 피크간의 거리에 의해 표시된 바와 같은)은 측정 오차(피크의 폭으로 표시된 바와 같은)보다 작다. 그러므로, 한 루프에서 다른 루프로의 간섭은 2개의 루프가 인접 주파수에서 발진하지 않는 한 칩의 식별을 방해하지 않아야 한다.
도 41을 참조하면, 그래프(478)는 각각 상이한 전원 전압에 대한 발진 주파수의 측정치를 표현하는 2개의 히스토그램을 나타낸다. 수평축은 볼트 단위의 전원을 나타낸다. 수직축은 보상된 지연량을 나타낸다. FPGA의 2.5V 작동 지점 부근에서, 전압에 대한 보상된 측정치의 변동은 약 3000ppm/V 이다. 실제로, 외부 전원 변동은 1% 내에서 유지될 수 있으며, 이것은 1%×2.5V×3000ppm/V = 75ppm에 대응한다. 따라서, 흔히 이용 가능한 전압 조정기는 전원 전압을 허용 가능한 경계내에서 유지하기에 충분할 것이다. 이 실험에서, 보상된 온도는 약 2.7V의 극값(extremum)을 갖는다. 정격 2.5V 대신에 2.7V에서 FPGA를 실행함으로써, 측정치의 견고성이 더욱 향상될 수 있다.
도 42를 참조하면, 그래프(480)는 주변 온도가 25℃에서부터 50℃까지 변화될 때 주파수 측정값대 시간(1/2초 샘플링 구간에서의)을 나타낸다. 2개의 FPGA는 동시에 동일 온도 변화폭을 경험하지 않았다. 수평축은 시간((100ms를 단위로 한)을 나타낸다. 수직축은 지연량을 나타낸다. 주파수에서의 변동은 보상된 온도에 대해 약 50000ppm 이다.
도 43을 참조하면, 그래프(482)는 보상된 온도로 주파수에서의 변동이 100ppm 으로 감소된다는 것을 나타낸다. 수평축은 시간(100ms를 단위로 한)을 나타낸다. 수직축은 보상된 온도를 나타낸다.
도 44를 참조하면, 그래프(484)는 도 42에서의 측정치의 히스토그램을 나타낸다. 수평축은 지연량을 나타낸다. 수직축은 확률 밀도를 나타낸다.
도 45를 참조하면, 그래프(486)는 도 43에서의 측정치의 히스토그램을 나타 낸다. 수평축은 보상된 온도를 나타낸다. 수직축은 확률 밀도를 나타낸다. 그래프(482, 486)는 2개의 FPGA가 25℃ 온도 변동에도 불구하고 보상된 온도로 구별될 수 있다는 것을 나타낸다.
도 46 및 도 47을 참조하면, 실험이 12개 스테이지의 디멀티플렉서(486)를 갖는 디멀티플렉서 회로(484)를 포함한 2개의 PUF 회로에 대해 이루어진다. 각각의 디멀티플렉서(486)는 입력(488) 상의 신호를 2개의 출력(490) 중의 하나로 스위칭한다.
도 48 및 도 49를 참조하면, 그래프(492, 494)는 2개의 상이한 FPGA 상의 디멀티플렉서 회로(484)에 대한 보상된 경로 지연 측정치대 요구를 나타낸다. 각각의 그래프에서, 수평축은 요구 번호를 나타내고, 수직축은 보상된 온도를 나타낸다. 그래프는 요구에 대한 응답의 종속성이 존재하는 것으로 나타낸다. 그래프는 요구와 응답간의 관계의 특정 패턴을 보여준다. 이 패턴은 2개의 FPGA에 공통적이며, 지연 회로의 소정 스테이지내의 경로간의 커다란 차이로 인한 것이다. 2개의 FPGA간의 차이를 확인하기 위해, 2개의 플로트간의 소눈금 차이를 봐야만 한다(즉, 50% 변동을 담당하는 플로트 상의 1% 변동을 찾아야 함). 이들 차이는 2개의 칩에 대한 플로트간의 텍스쳐에서의 차이로 보인다.
물리적으로 혼동된 키
도 50A를 참조하면, CPUF 칩(256)의 예는 칩의 인증 또는 칩의 연산 결과를 가능하게 하는 보안(또는 키)를 발생하기 위해 칩 상에 저장된 일정값을 사용한다. 칩(256)은 기능성 모듈(52), PUF 회로(100) 및 제어 모듈(54)을 포함한다. 칩(256)은 결과를 연산하도록 기능성 회로에 명령하는 I/O 포트(257)를 통해 사용자에 의해 전송된 프로그램을 수신한다. 칩(256)은 칩(256)이 제조된 후에 메모리내에 기입되는 2개의 상수 번호, 상수 A 및 상수 B를 저장하는 EEPROM(444)를 추가적으로 포함한다. 제어 모듈(54)은 2개의 번호 중의 하나를 선택하도록 멀티플렉서(442)를 제어하고, 선택된 번호를 사전요구로써 사용하여, 제1 보안을 생성하는 PUF 회로(100)에 전송되는 요구를 생성한다. 제어 모듈(54)은 "반-암호화 및 서명된" 메시지를 생성하기 위해서 기능성 모듈(52)로부터의 연산 결과를 암호화 및 서명하기 위해 제1 보안을 사용한다. 메시지에 서명한다는 것은 메시지에 대한 MAC을 생성한다는 것을 의미한다. 그리고나서, 제어 모듈(54)은 2개의 번호 중의 나머지를 선택하도록 멀티플렉서(442)를 제어하며, 그 선택된 번호를 사용하여 PUF 회로(100)가 제1 보안을 생성하도록 한다. 제어 모듈(54)은 제2 보안을 사용하여 반-암호화 및 서명된 메시지를 암호화 및 서명함으로써 완전-암호화 및 서명된 메시지를 생성하며, 이 메시지는 칩(256)의 사용자에게 출력된다.
칩 (256)은 PUF 회로(100)내의 지연 라인의 배선이 제어 모듈(54) 및 PUF 회로(100)의 출력단을 덮도록 설계된다. 불법사용자는 위에 덮혀있는 배선을 관통하여 PUF 회로(100)의 물리적 특성이 변경되도록 하지 않고서는 PUF 회로(100)의 출력을 측정할 수 없다. 불법사용자가 제1 보안을 측정할 수 있다 하더라도, 불법사용자는 제1 보안을 측정할 때 PUF 회로가 수정되기 때문에 제2 보안을 획득할 수 없을 것이다. 불법사용자는 최종 메시지를 해독 또는 타협하기 위해 양자의 보안 을 획득할 수 없을 것이다.
도 50B를 참조하면, CPUF 칩(700)은 ROM(704)에 저장되는 내용을 해독하기 위해 사용된 응답을 생성하는 PUF 회로(100)를 포함한다. ROM(704)내의 내용은 k-비트 키 K를 사용하여 암호화된다. PUF 회로(100)는 칩(700)에 저장된 요구(702)를 수신하기 위해 견고하게 배선되며, 라인(706)을 통해 k-비트 응답을 출력한다. 라인(706) 상의 응답은 배타적-or 연산을 통해 퓨즈(708)의 내용과 조합되어 라인(714) 상의 키 K를 생성한다. 퓨즈는 그 차단 여부에 따라 '0' 또는 '1'을 나타낸다. 해독기(712)는 키 K를 수신하고, ROM(704)의 내용을 해독한다. ROM(704)의 내용은 예를들어 프로그램이 될 것이다. 마이크로콘트롤러(716)는 해독된 내용에 따라 연산을 수행한다.
다수의 칩(700)이 공통 설계에 기초하여 제조된다. 이들 칩을 제조하는 비용을 절감하기 위해, 동일한 ROM(704)이 각각의 칩(700)에 대해 사용되어, 키 K는 모든 칩에 대해 동일하다. PUF 회로(100)로부터의 응답은 각각의 칩에 대해 상이하지만, 각각의 칩에 대해 대략적으로 퓨즈 비트를 설정함으로써, 라인(714)을 통해 해독기(712)에 전송되는 키는 ROM(704)을 해독하기 위해 요구되는 것과 동일한 키가 되도록 설정될 수 있다.
칩을 제조하는 일례에서, 퓨즈 비트는 칩이 제조업체에 의해 테스트되고 있는 동안에 설정된다. 초기화 회로(718)는 라인(720)을 통해 제조업체로부터 키 K를 수신하고, 라인(722)을 통해 PUF 회로(100)로부터 응답을 수신한다. 초기화 회로(718)는 정확한 키 K를 생성하기 위해 요구되는 퓨즈 비트를 계산하며, 그에 따 라 퓨즈(708)를 버닝(burning)한다. 이러한 방식으로, PUF 회로(100)로부터의 응답은 결코 칩(700)을 벗어날 수 없다.
칩(700)은 복제될 수 없다. 불법사용자가 퓨즈의 상태를 판정할 수 있다하더라도, PUF 회로(100)의 응답을 판정할 수는 없다. 그러므로, K의 값은 보안으로 유지될 수 있다.
동기식 논리 회로를 사용한 PUF
PUF 회로는 회로의 출력이 입력에 응답하여 클럭 사이클의 주기가 상이할 때 상이하게 되도록 클럭 조정된 회로를 사용하여 구현될 수도 있다. 클럭 조정된 회로를 갖는 집적회로칩의 세트가 리쏘그래피 매스크의 세트를 사용하여 제조될 때, 각각의 칩은 상이한 다이, 웨이퍼 및 공정에 걸친 제조시의 변동으로 인해 그 지연 특성에 있어서 고유한 것이 된다. 클럭 조정된 회로는 특정 타이밍 제약이 충족되는 가정으로 설계된다. 부품 및 와이어의 지연량은 최악의 경우의 동작에 대해서 특징지워지며, 클럭 주기는 레지스터의 홀드 타임 및 셋업 타임 제약을 고려한 모든 레지스터대 레지스터 경로에 걸친 최악의 경우의 지연보다 다 크게 되도록 선택된다. 클럭 주기가 충분히 클 때, 지연 특성에서의 변동에도 불구하고, 상이한 칩은 동일 조합의 논리 기능성을 가질 것이다. 타이밍 제약이 충족되지 않도록 클럭 조정된 회로를 구동하는 클럭 신호의 주기를 의도적으로 감소시킴으로써, 정확한 동일 기능성을 갖는 상이한 칩은 그들의 지연 특성이 상이하기 때문에 상이한 동작을 가질 것이다.
소정 칩을 식별하기 위해, 입력 자극의 시퀀스가 칩에 전송된다. 클럭 주기는 입력 자극이 특정 와이어 및 게이트를 자극하도록 선택된다. 칩의 출력 응답이 특정 시각에서 샘플링된다. 입력 자극이 칩내의 다수의 경로를 경험하도록 하고 샘플링 시간을 적절하게 선택함으로써, 출력 응답은 칩내의 다수의 게이트 및 와이어의 지연량에 좌우될 것이다. 입력 자극 및 칩의 관련 응답은 칩의 보안 서명이 된다.
칩내의 경로의 수는 입력 또는 칩내의 게이트의 수에 따라 기하급수적으로 증가한다. 입력 자극이 주어지면, 게이트의 일부 서브세트의 지연은 칩의 출력 응답을 판정할 것이다. 기하급수적인 수의 입력 자극이 존재하기 때문에, 서명을 작성하기 위해 자극이 어떻게 사용되는지를 추측하기가 매우 곤란하다.
도 51을 참조하면, PUF 회로(450)는 레지스터(453)에 의해 단절된 궤환 루프를 갖는 조합 논리 회로(452)에 의해 표현될 수 있다. 회로(452)는 라인(454) 상의 입력 비트 벡터를 라인(456) 상의 출력 비트 벡터로 맵핑한다. 맵핑은 라인(458) 상의 클럭 신호의 주기에 좌우된다. 클럭 신호의 주기를 변경함으로써, 동일한 입력 비트 벡터는 예측 불가능한 방식으로 상이한 출력 비트 벡터를 생성하도록 회로(452)내의 다른 와이어 및 부품을 자극할 것이다. 예측 불가능성은 제조 공정에서의 변동으로 인한 회로내의 변동에 기인한다. 또한, 각각의 게이트, 와이어 또는 경로의 지연은 부근 와이어, 입력 자극에 의해 방전 및 충전되는 커패시턴스의 값의 변동에 대한 복잡한 함수가 된다.
PUF 회로(450)를 사용하기 위해, 클럭 신호에서의 변동이 라인(456) 상의 상 이한 출력을 발생하도록 라인(454) 상의 입력 자극 및 라인(458) 상의 클럭 신호의 주기가 선택된다. 라인(454) 상의 입력은 n-비트 폭의 비트 벡터이고, 라인(456) 상의 출력은 m-비트 폭의 비트 벡터인 것으로 상정된다. 라인(454) 상의 입력 신호는 입력 전이의 시퀀스(즉, 하이에서 로우로 또는 로우에서 하이로)가 된다. 예를들어, 라인(454)이 3-비트 폭이라면, 3개 전이의 시퀀스의 예는 <1,0,1> → <0,0,0> → <1,1,0>이다. 입력 전이의 시퀀스의 수는 전이의 수에 기하급수적으로 비례하며, 입력 전이의 각각의 시퀀스는 상이한 클럭 주기에 대응할 수 있다. 상이한 입력 자극 및 응답은 PUF 회로(450)의 보안 서명으로써 사용된다.
보안 서명
일반적으로, 보안 서명은 서명의 세트 {S}로써 나타낼 수 있으며, 여기서 각각의 서명 sj∈S 는 〈Vi j, clock_periodi j,Oi j〉을 포함하고, 1≤i≤Kj, Vi j = (vi1 j,…,vik j)는 회로에 대한 입력의 시퀀스이며, 여기서 각각의 vik j는 회로(452)의 n개 입력에 적용된 n-비트 벡터이다. {Oi j}는 회로의 출력 응답의 시퀀스이며, m-비트 출력에서 생성된 Kj 비트 벡터의 벡터이다. clock_periodi j는 회로가 클럭 조정되는 클럭 주기이다. {Vi j, clock_periodi j}는 입력 자극으로 지칭될 것이며, {Oi j}는 회로 응답으로 지칭될 것이다. {Oi j}를 판정하기 위해, {Vi j}는 클럭 주기로써 {clock_periodi j}를 사용하여 회로에 적용되며, 라인(456) 상의 회로(452)의 출력이 측정된다. 입력 자극 및 회로 응답은 보안 위치에 저장되며, 칩(450)의 일련번호로 찾아낼 수 있다.
"foo"가 되도록 주장하는 회로가 인증기관(AA)에 의해 인증될 필요가 있을 때, 인증기관은 칩 "foo"의 일련 번호에 인덱스되는 서명{S}의 세트로부터 서명 sj를 선택한다. 인증기관은 칩을 자극하기 위해 입력 자극 {Vi j, clock_period i j}을 사용하고, 칩으로부터의 응답을 측정한다. 측정된 응답이 {Oi j}와 상이하다면, 칩은 "foo"가 아니다. 응답이 일치한다면, 인증기관은 상이한 서명 sj으로 프로세스를 반복한다.
{Oi j}이 2개의 구분적 칩에 대해 동일할 확률은 2개의 칩이 동일 응답을 갖도록 하기 위해 충족될 필요가 있는 지연 관계의 수에 좌우된다. 예컨대, 경로 지연은 예를들어 0에서 1로 그리고 다시 0로 또는 그 반대와 같이 클럭이 급변동을 발생하지 못하게 하기 위해 특정 양만큼 클럭 주기 미만 또는 클럭 주기 이상이 되어야만 할 수도 있다. 또다른 예로써, 상이한 칩에 걸쳐 칩들의 상대적 관계를 유지하기 위해 회로의 2개의 서브경로에 대해 칩들의 지연량은 5% 보다 훨씬 큰 양만 큼 변하여야만 할 수도 있다.
예시와 같이, Kj=2로 하고, 〈vi1, vi2〉입력쌍은 단일 전이가 칩내의 신호 경로를 통해 출력단으로 전파하도록 한다. 경로의 길이가 D 라면, D≤clock_period2 인지 아니면 D>clock_period2 인지의 여부에 좌우되어, 상이한 응답이 결과로 나타날 것이다. 인증기관이 칩 "foo"의 보안 서명인 S로부터 서명의 쌍을 사용하고, 서명의 쌍이 {{{wa,wb}, D-ε, {oc, od}}, {{wa, wb}, D+ε, {oc', od'}}}인 것으로 한다. 제1 서명에서의 입력 자극에 대해, 칩내의 경로를 따른 전이는 서명을 제시간에 클럭되도록 하지 않을 것이다. 제2 서명에서의 입력 자극에 대해서는, 전이는 서명을 제시간에 클럭되게 할 것이다. 이 경우, 출력 응답은 2개의 자극이 칩 "foo"에 인가될 때 2개의 자극에 대해 상이하게 될 것이다.
불법사용자가 위조 칩 "bar"를 생성하고자 한다면, 그 경로의 지연은 양자의 자극에 대해 "foo"와 동일한 출력 응답을 발생하기 위해 구간(D-ε, D+ε]내에 있어야만 한다. ε이 작을 수록, 이것이 달성될 수 있는 확률이 낮아진다. 서명의 쌍에 대해 동일 출력 응답을 발생하는 2개의 칩의 확률을 pi로 한다. pi<1 인 것은 명백하다. T개의 상이한 경우에 대한 서명과 같이 T개쌍의 서명이 존재한다면, 위조품이 동일한 서명을 가질 확률은 T가 커짐에 따라 Pi T→0 가 될 것이며, 경로의 지연량이 독립적인 것으로 가정하면, 경로가 어떠한 소자 또는 와이어를 공유하지 않다면 이것은 참이 될 것이다.
복수의 경로를 민감하게 하는 보안 서명에 입력 자극을 사용함으로써, 불법사용자에게 제공된 연산 장벽은 증가된다. 출력에서의 단일 전이가 여전히 존재할 동안, 전이가 발생하는 시각에 영향을 주는 지연을 갖는 더 많은 소자 및 와이어가 존재할 것이다. 이에 의해, 2개의 칩이 서명에 대해 동일 응답을 가질 확률을 감소시킬 수 있다.
동일 세트의 리쏘그래피 매스크로 제조된 칩의 세트내의 각각의 게이트 및 와이어의 지연이 1ns의 편균을 갖는 정상 분포 및 0.05ns의 표준 편차를 후속하는 것으로 간주한다. 경로가 100개의 게이트 및 와이어의 시퀀스라면, 경로 지연은 100ns의 평균을 갖는 정상 분포와 0.5ns의 표준 편차를 후속한다. 소정 칩내의 경로가 100ns의 평균치에 해당하는 지연을 갖는 것으로 한다. 그러면, 100의 0.5ns내의 경로 지연을 갖는 또다른 IC의 확률은 0.68이 된다. 측정 정확도를 0.5ns로 하면, 이들 2개의 칩이 단일 자극에 대해 동일 출력을 발생할 확률은 0.68이다. 64개의 입력 자극이 64개의 상이한 세트의 경로를 자극하기 위해 가해진다면, 64개 자극에 대한 출력이 모두 동일하게 될 확률은 10-10 미만이다. 따라서, 평균 경로 지연을 갖는 원래의 칩이 제공된다면, 동일 리쏘그래피 매스크를 사용하여 제조된 백만개의 칩 중의 하나 이상이 동일한 서명을 가질 확률은 대략 106×10-10 = 10-4 이다.
온도 변화를 보상하기 위해, 서명이 도 20의 회로(450)에 대해 발생될 때, 상이한 온도에 대해 상이한 서명이 생성된다. 인증 동안, 특정 온도에 있는 특정 칩의 서명이 사용된다.
불법사용자의 위조를 더욱 어렵게 하기 위해, 게이트 및 와이어의 지연량이 사용된 패키지에 대해 작은 종속성(예를들어, ± 5%)을 갖도록 칩 패키징내에 전도 입자가 뿌려질 수 있다.
도 52를 참조하면, 경로(예를들어, 라인(462)에서 라인(464)까지)를 여러 사항에 민감하게 하기 위해 "급변동 발생기"(460)가 추가될 수도 있다. 회로내의 임의 지연 하에서 이벤트가 경로 P를 따라 전파하도록 입력 벡터쌍이 존재한다면, 경로 P는 단일 사항에 민감한 것이 된다. 이렇게 함으로써 불법사용자가 입력 자극을 가하여 출력 경로 지연을 측정함으로써 밀접한 관계의 방정식 체계를 획득하여 게이트 및 와이어 지연량을 생성하기 위해 이 방정식을 푸는 것을 방지한다.
회로의 예
도 53을 참조하면, 회로(466)는 함수
Figure 112004046910738-pct00005
를 실행한다. 회로(466)는 클럭 입력되는 회로의 일부이고, 회로(466)의 출력은 입력 신호 a 및 b가 각각 라인(469) 및 라인(471) 상에 나타난 1 클럭 싸이클 후에 또다른 회로에 의해 사용되는 것으로 한다. 클럭 싸이클의 길이에 좌우되어, 회로(466)의 출력은 상이하게 될 것이다. 인버터를 포함한 게이트에서의 지연량은 모든 1이고, 와이어의 지연량은 0인 것으로 한다. 회로가 clock_period≥3 에서 클럭된다면, 회로(466)는 모든 X에 대해 f(X)를 응답할 것이다. Y=〈a=0, b=0〉로 한다. X=〈a=0,b=1〉가 Y 후에 인가되고 클럭 주기가 clock_period≥2 라면, 회로(466)의 출력은 f(X)와 동일 하게 1이 될 것이다. 그러나, 회로(466)가 1≤clock_period<2 이 되는 주기로 클럭된다면, 출력은 0이 될 것이다. 클럭 주기가 1.95가 되도록 선택되면, 상단 AND 게이트(468) 또는 OR 게이트(470) 중의 하나의 지연이 0.95 미만인 경우, 동일 리쏘그래피 매스크를 사용하여 제조된 상이한 회로는 상기의 (X, Y)쌍의 시퀀스에 대한 출력으로써 여전히 1을 발생하는 것이 가능하다.
Y=〈a=1, b=0〉가 적용되고 X=〈a=0,b=1〉가 후속되면, f(X)=1 이 된다. 회로(466)의 출력은 clock_period≥3 인 경우 1이고, 2≤clock_period〈3 인 경우 0이며, clock_period〈2 인 경우 1이다.
입력 자극 및 클럭 주기를 선택
소정 PUF 회로에 대해 어느 자극 및 클럭 주기를 사용할지를 판정하기 위해, 칩내의 와이어 및 게이트의 근사적인 지연량을 갖는 PUF 회로의 모델이 사용될 수 있다. 타이밍-근접 모델을 Af로 지칭하기로 한다. 모델 Af에 대해 분석이 수행될 수 있으며, 출력에서의 파형이 임의의 입력 자극, 즉 벡터쌍에 대해 무엇과 닮았는지를 찾아낸다. 이 분석은 칩의 사이즈에서 선형적 시간을 취한다. 출력 파형에서의 특정 전이가 선택될 수 있다. 2개의 클럭 주기가 선택되며, 그 하나는 전이 전의 ε이고, 나머지 하나는 전이 후의 ε이다. 전이는 출력이 전이의 양측에서 ε보다 더 큰 시간 동안 꾸준하다. PUF 회로는 PUF 회로가 선택된 입력 자극 및 클럭 주기에 대해 Af와 동일한 응답을 발생하도록 하기 위해 검증된다. 응답이 동 일하다면, ε은 더 작게 될 수 있고, 검증이 반복된다.
2개의 칩이 서명에서 입력 자극에 대해 동일 응답을 발생할 확률이 매우 작게 되도록 서명의 세트가 충분히 크게 될 필요가 있다. 10-10의 확률에 대해, 64개의 자극이 요구된다. 서명의 저장 요건은 각각의 서명에서의 입력 자극의 사이즈에 크게 좌우되며, 이 입력 자극의 사이즈는 ∑jN×Kj 비트이고, 여기서 N은 칩에 대한 입력의 개수, Kj는 j번째 서명의 입력 자극의 길이이다. 입력의 개수 N은 패키지에 의해 제한된다. 보편적으로, N≤500 이고, Kj≥2 이다.
PUF 칩은 칩을 알려진 상태로 위치시키는 포괄적 리셋을 가질 수도 있다. 한편, 칩을 알려진 상태로 위치시키는 전달 시퀀스는 제1 서명이 적용되기 전에 적용될 수 있다. Kj=2 로 가정하면, 하나의 인증은 서명의 세트를 저장하기 위해 약 100 KByte 를 필요로 한다.
다른 실시예
본 발명의 다수의 예가 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 정신으로부터 일탈함이 없이 다양한 수정이 이루어질 수 있음을 이해할 수 있을 것이다. 예를들어, 도 13A에서, 랜덤 해쉬 모듈 h3(193)은 "거리 d 인코더"에 의해 대체될 수도 있다. 이러한 인코더는 상이한 구성요소의 이미지가 적어도 d 비트들 상에서는 상이하도록 맵핑하며, 이것은 PUF 회로(188)에 대한 입력의 적어도 d 비 트들이 공격자에 의해 직접 선택될 수 없다는 것을 의미한다.
도 14에서, 기능성 모듈(52) 및 제어 모듈(54)은 단일 마이크로프로세서를 사용하여 구현될 수 있다. 마이크로프로세서는 수신된 소프트웨어 코드에 기초하여 데이타의 연산 및 처리를 수행한다. 도 50에서, PUF 회로(100)에 대한 요구를 발생하기 위해 제어 모듈(54)에 의해 사용된 사전요구가 되도록 해쉬 함수에 통과되는 하나의 상수(예를들어, 칩 일련번호)를 사용함으로써 CPUF 칩이 더 간단하게 구성될 수 있다. 집적회로(102)는 다수의 신호 지연량의 측정이 동시에 가능하도록 하기 위해 하나보다 많은 발진 루프 회로(114)를 포함할 수도 있다. 지연 회로(116)는 지연이 요구의 복잡한 함수가 되는 다른 유형의 회로에 의해 대체될 수도 있다. 임의 알고리듬을 실행할 필요가 없는 일부 CPUF 실시예에서, 프로그램의 작용은 하드웨어로 실시될 수도 있다. 기능성 회로 및 PUF는 동일 칩 상에 있을 필요가 없으며, 이들은 다중칩 모듈내의 상이한 반도체 칩 상에 존재할 수 있다. PUF 회로의 입력 및 출력은 디지탈화된 값이 아닌 아날로그 값이 될 수도 있다.
측정가능한 물리적 특성은 경로 지연량이 아닌 다른 특성일 수도 있다. 예를들어, 도 54를 참조하면, PUF 소자(500)는 모두 기판(510) 상에 제조되는 집적회로(501), 발광 다이오드(LED) 어레이(502) 및 촬상 소자(CCD) 어레이(504)를 포함한다. 에폭시(506)가 LED 어레이(502)와 CCD 어레이(504)를 감싼다. 에폭시(506)는 반사층(508)으로 코팅되어, 어레이(502)의 LED에 의해 방출된 광이 반사층(508)에 의해 반사되어 CCD 어레이(504)에 의해 검출될 것이다. 광이 에폭시(506)를 통과할 때, 에폭시(506)에 고유의 것인 스페클 패턴이 CCD 어레이(504)에 의해 검출 될 것이다. 스페클 패턴의 콘트래스트를 유지하기 위해 소수의 LED만이 동일 시각에 턴온된다.
약간의 PUF 소자가 제조될 때, 에폭시층은 각각의 소자에 대해 다소 상이한 광학적 투과 성질을 가질 것이다. 그러므로, 동일한 조합의 LED는 상이한 소자를 위한 CCD 어레이에서 상이한 스페클 패턴을 발생할 것이다. LED의 조합을 결정하는 제어 신호는 "요구"로 나타내질 수 있으며, CCD 어레이(504)에 의해 검출된 패턴은 "응답"으로 나타내질 수 있다. 이러한 요구-응답쌍은 PUF 소자(500)의 아이덴티티를 인증하기 위해 사용될 수 있다. 에폭시를 사용하는 장점은 에폭시가 상단한 범위의 온도에 걸쳐 안정하다는 점이다. 그러므로, 환경 변동의 영향을 보상하기 위한 회로가 더 간략화될 수 있다.
도 3의 PUF 회로(101)내의 발진 루프(122)의 발진 주파수를 측정하는 다른 방법은 위상 고정 루프(PLL) 회로를 사용하는 것이다. 도 55를 참조하면, PUF 회로(1000)는 발진기 루프(122)와 발진기 루프의 발진 주파수를 측정하기 위해 사용된 PLL 회로(1002)를 포함한다. 발진기 루프(122)는 입력(또는 요구)을 수신하는 지연 회로(111)를 포함한다. PLL 회로(1002)는 위상 검출기(1004), 전하 펌프(1006), 루프 필터(1008), 전압 제어 발진기(VCO)(1010), 주파수 분할기(1012) 및 카운터(1014)를 포함한다. 주파수 분할기(1012)는 신호 라인(1016) 상의 출력을 생성하고, 이 출력은 위상 검출기(1014)에 전송된다. 라인(1016) 상의 신호를 라인(134) 상의 신호(발진 루프(122)로부터 인입되는)와 비교함으로써, PLL 회로(1002)는 라인(1016, 134) 상의 신호가 동일 주파수를 갖는 상태로 정착된다. 카 운터(1014)는 그 주파수를 판정하고, PUF 회로(1000)의 출력(또는 응답)이 되는 라인(1018) 상의 출력을 생성한다.
도 56을 참조하면, PUF 회로(1010)는 지연 회로(1012) 및 지연 회로(1014)를 포함한다. 각각의 지연 회로(1012, 1014)는 지연 회로내의 2128개의 신호 경로 중의 하나를 선택하는 128-비트 요구를 수신한다. "카운트" 신호의 전이(상승 또는 하강 구간)가 양쪽 지연 회로(1012, 1014)에 전송된다. 상승 구간은 지연 회로(1012, 1014)내의 신호 경로를 통과하고, 각각 라인(1016)과 라인(1018)에서 지연 회로를 빠져나온다. 라인(1016, 1018) 상의 신호는 중재기(1020)에 전송되며, 중재기는 라인(1016) 상의 전이가 라인(1018) 상의 전이보다 더 신속하게 도달한다면 "1"을 발생하고, 라인(1018) 상의 전이가 더 신속하게 도달하면 "0"을 발생한다.
발진 주파수를 측정하지 않고서 1-비트 디지탈 응답이 얻어질 수 있다. 이 회로는 온도 변동이 지연 회로(1012, 1014) 상에 동일한 효과를 갖기 때문에 직접적으로 보상된 값을 발생한다. 지연 회로(1012, 1014)에서의 전이는 모두 고속 상승(또는 저속 하강)이며, 출력값을 변화시키지 않을 것이다. 중재기는 데이타 입력단 및 클럭 입력단이 되는 2개의 입력단을 갖는 플립플롭을 사용하여 구현될 수 있는 단순한 회로이다. 데이타가 클럭 이전에 도달하면, 플립플롭은 1을 발생하고, 그렇지 않으면 0을 발생한다. 여기서, 라인(1016) 상의 신호가 데이타 입력으로써 사용되며, 라인(1018) 상의 신호가 클럭 입력으로써 사용된다. 64-비트 응답을 발생하기 위해, 64개의 128-비트 요구가 PUF 회로(1010)에 전송된다.
도 14에서, 기능성 모듈(52) 및 제어 모듈(54)은 마이크로프로세서(51) 상에서 실행되는 소프트웨어 서브루틴으로 구현되었다. 다른 예에서는, 기능 모듈(52) 및 제어 모듈(54)이 전용 하드웨어 회로를 사용하여 구현될 수 있다.
도 16, 도 17, 도 19 내지 도 22, 도 25 및 도 27 내지 도 29에서, PUF 회로(100)는 개량된 PUF 회로(186)(도 13A)에 의해 대체될 수 있다.
도 50에서, 제어 회로(54) 및 기능성 회로(52)는 프로그램 코드를 수신하고 제어 및 연산 기능을 수행하는 마이크로콘트롤러에 의해 대체될 수도 있다.
따라서, 다른 실시예들도 다음의 청구범위의 기술사상내에 있는 것이다.

Claims (82)

  1. 인증을 가능케하기 위한 방법에 있어서,
    공통 설계에 기초하여 제조되는 한 그룹의 소자들로부터 제1 소자를 제공하는 단계로서, 상기 그룹 내의 각 소자는, 각 소자 고유의 복수의 특성들을 가지며, 상기 복수의 특성들은 측정가능하고, 각 소자에는 측정 모듈이 내장되어 있으며, 상기 측정 모듈은 상기 복수의 특성들을 측정하기 위한 것인, 상기 제1 소자를 제공하는 단계와;
    상기 소자의 복수의 특성들 중 하나 이상의 특성으로 이루어진 선택된 한 서브셋(subset)을 측정하고, 상기 선택된 한 서브셋의 측정 결과를, 상기 제1 소자의 상기 선택된 한 서브셋에 대하여 이전에 측정되어 미리저장된 측정치와 비교함으로써, 제1 소자의 인증을 가능하게 하는 단계
    를 포함하는, 인증을 가능케하기 위한 방법.
  2. 제1항에 있어서, 상기 제1 소자의 인증을 가능하게 하는 단계는 상기 제1 소자를 등록하는 단계를 포함하며, 상기 제1 소자를 등록하는 단계는,
    선택 정보(selection information)를 제1 소자에 전송하는 단계와;
    상기 선택 정보를 기초로 상기 복수의 특성들 중의 한 특성의 측정에 의해 생성된 응답 정보를 상기 제1 소자로부터 수신하는 단계와;
    상기 수신된 응답 정보를 제1 소자 및 상기 선택 정보와 연관하여 저장하는 단계를 포함하는 인증을 가능케하기 위한 방법.
  3. 제2항에 있어서, 상기 제1 소자의 인증을 가능하게 하는 단계는 상기 제1 소자를 인증하는 단계를 더 포함하며, 상기 제1 소자를 인증하는 단계는,
    상기 선택 정보를 상기 제1 소자에 전송하고, 상기 특성들 중의 한 특성의 측정에 의해 생성된 응답 정보를 수신하는 단계와;
    상기 수신된 응답 정보를 저장된 응답 정보와 비교하는 단계
    를 포함하는 것인, 인증을 가능케하기 위한 방법.
  4. 제3항에 있어서, 상기 제1 소자를 등록하는 단계와 상기 제1 소자를 인증하는 단계의 각각은 상기 선택 정보에 기초하여 상기 복수의 특성들 중의 한 특성을 측정하는 단계와, 측정 정보를 생성하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  5. 제1항에 있어서, 상기 한 그룹의 소자들 각각을 등록하는 단계를 더 포함하며, 상기 한 그룹의 소자들 각각을 등록하는 단계는, 소자들 각각에 대하여,
    상기 특성들의 서브셋(subset)을 식별하는 선택 정보를 해당 소자에 전송하는 단계와;
    상기 선택 정보에서 식별되는 상기 서브셋의 특성들 각각에 대한 측정에 의해 생성된 응답 정보를 상기 소자로부터 수신하는 단계와;
    상기 수신된 응답 정보를 상기 제1 소자 및 선택 정보와 연관하여 저장하는 단계
    를 포함하는 것인, 인증을 가능케하기 위한 방법.
  6. 제5항에 있어서, 소자의 각각에 대해 특성들의 상이한 서브셋을 결정하는 단계를 더 포함하는, 인증을 가능케하기 위한 방법.
  7. 제6항에 있어서, 상기 각각의 소자에 대해 상이한 서브셋을 결정하는 단계는 서브셋들 각각의 멤버를 무작위로 선택하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  8. 제5항에 있어서, 제1 소자를 인증하는 단계를 더 포함하며,
    상기 제1 소자를 인증하는 단계는,
    상기 제1 소자에 대한 특성들의 서브셋들 중 한 서브셋을 식별하는 선택 정보를 상기 제1 소자에 전송하는 단계와;
    특성들의 상기 서브셋들 중 식별된 한 서브셋의 측정에 의해 생성된 응답 정보를 상기 제1 소자로부터 수신하는 단계와;
    상기 수신된 응답 정보를 상기 제1 소자의 등록 동안에 수신된 저장된 응답 정보와 비교하는 단계
    를 포함하는 것인, 인증을 가능케하기 위한 방법.
  9. 제1항에 있어서, 상기 소자들을 공통의 설계에 따른 소자들의 그룹으로 제조하는 단계를 더 포함하는, 인증을 가능케하기 위한 방법.
  10. 제9항에 있어서, 상기 소자들을 제조하는 단계는 공통 세트의 리쏘그래피 마스크에 따라 소자들의 그룹을 제조하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  11. 제1항에 있어서, 상기 소자의 상기 복수의 특성들은 소자들의 제조 동안에 결정된 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  12. 제11항에 있어서, 상기 소자들의 제조 동안에 결정된 특성은 제조 공정의 제어되지 않은 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  13. 제1항에 있어서, 상기 한 그룹의 소자들로부터 제1 소자를 제공하는 단계는 제1 집적회로를 제공하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  14. 제13항에 있어서, 상기 복수의 특성들은 상기 제1 집적회로 내의 복수의 신호 경로의 지연 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  15. 제14항에 있어서, 상기 복수의 신호 경로는 한 세트의 회로 부품들 각각을 경유하는 다수의 경로를 포함하는 것인, 인증을 가능케하기 위한 방법.
  16. 제15항에 있어서, 상기 한 세트의 회로 부품은 수동 전송 라인을 포함하는 것인, 인증을 가능케하기 위한 방법.
  17. 제15항에 있어서, 상기 한 세트의 회로 부품은 능동 반도체 요소를 포함하는 것인, 인증을 가능케하기 위한 방법.
  18. 제17항에 있어서, 상기 능동 반도체 요소는 논리 게이트를 포함하는 것인, 인증을 가능케하기 위한 방법.
  19. 제1항에 있어서, 상기 복수의 특성들은 광학적 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  20. 제19항에 있어서, 상기 광학적 특성은 반사 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  21. 제20항에 있어서, 상기 반사 특성은 스페클 패턴(speckle pattern)을 포함하는 것인, 인증을 가능케하기 위한 방법.
  22. 제1항에 있어서, 각 소자의 특성의 수는 2 보다 큰 것인, 인증을 가능케하기 위한 방법.
  23. 제1항에 있어서, 각 소자의 특성의 수는 4 보다 큰 것인, 인증을 가능케하기 위한 방법.
  24. 제1항에 있어서, 각 소자의 특성의 수는 16 보다 큰 것인, 인증을 가능케하기 위한 방법.
  25. 제1항에 있어서, 각 소자의 특성의 수는 256 보다 큰 것인, 인증을 가능케하기 위한 방법.
  26. 제1항에 있어서, 각 소자의 특성의 수는 216 보다 큰 것인, 인증을 가능케하기 위한 방법.
  27. 제1항에 있어서, 각 소자의 특성의 수는 232 보다 큰 것인, 인증을 가능케하기 위한 방법.
  28. 제1항에 있어서, 각 소자의 특성의 수는 264 보다 큰 것인, 인증을 가능케하기 위한 방법.
  29. 제1항에 있어서, 각 소자의 특성의 수는 2128 보다 큰 것인, 인증을 가능케하기 위한 방법.
  30. 제1항에 있어서, 각 소자는 복수의 측정가능한 특성을 갖는 측정가능한 컴포넌트 및 기능성 컴포넌트를 포함하는 것인, 인증을 가능케하기 위한 방법.
  31. 제30항에 있어서, 상기 소자를 패키지 내에 패키징하는 단계를 더 포함하는 것인, 인증을 가능케하기 위한 방법.
  32. 제31항에 있어서, 상기 복수의 특성들을 변경하지 않고서는 기능성 컴포넌트가 물리적으로 액세스될 수 없는 방식으로, 상기 패키지 내에 상기 기능성 컴포넌트 및 측정가능한 컴포넌트가 배치되는 것인, 인증을 가능케하기 위한 방법.
  33. 제1항에 있어서,
    식별자를 포함하는 선택 정보를 인코딩한 선택 신호를 상기 제1 소자에서 수신하는 단계와;
    상기 식별자를 사용하여 상기 복수의 특성들 중 한 특성을 선택하는 단계를 더 포함하는, 인증을 가능케하기 위한 방법.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 제33항에 있어서, 선택된 상기 특성을 측정하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  40. 제39항에 있어서, 선택된 상기 특성은 선택된 신호 경로의 지연 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  41. 제40항에 있어서, 지연 특성을 측정하는 단계는 상기 선택된 지연 경로를 사용하여 발진 신호를 생성하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  42. 제41항에 있어서, 상기 지연 특성을 측정하는 단계는 상기 발진 신호의 발진 주파수에 관련된 양을 결정하는 단계를 더 포함하는 것인, 인증을 가능케하기 위한 방법.
  43. 제42항에 있어서, 상기 발진 주파수에 관련된 상기 양을 결정하는 단계는 정해진 시간구간(timed interval) 동안의 발진의 횟수를 카운트하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  44. 제42항에 있어서, 상기 발진 주파수에 관련된 양을 결정하는 단계는 발진 신호에 위상 고정 루프를 적용하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  45. 제39항에 있어서, 상기 선택된 특성을 측정하는 단계는 소자의 환경의 변화에 기인한 선택된 특성의 측정에서의 변동을 보상하는 단계를 포함하는 것인, 인증을 가능케하기 위한 방법.
  46. 제39항에 있어서, 기준 특성을 측정하는 단계와, 상기 기준 특성의 측정치에 대한 상기 선택된 특성의 측정치의 비율을 계산하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  47. 제39항에 있어서, 상기 선택된 특성의 측정치에서의 오차를 보정하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  48. 제39항에 있어서,
    상기 측정된 특성을 사용하여 응답 정보를 판정하는 단계와;
    응답 정보를 인코딩한 응답 신호를 제1 소자로부터 전송하는 단계
    를 더 포함하는 인증을 가능케하기 위한 방법.
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 제1항에 있어서,
    식별자를 포함하는 선택 정보를 인코딩한 선택 신호를 제1 소자에서 수신하는 단계와;
    상기 식별자를 사용하여 상기 복수의 특성들 중 제1 특성을 선택하는 단계와;
    역시 상기 식별자를 사용하여 상기 복수의 특성들 중 제2 특성을 선택하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  57. 제56항에 있어서,
    제1 측정치를 생성하기 위해 제1 선택된 특성을 측정하는 단계와;
    제2 측정치를 생성하기 위해 제2 선택된 특성을 측정하는 단계와;
    상기 제1 측정치를 상기 제2 측정치와 비교하는 단계를 더 포함하는 것인 인증을 가능케하기 위한 방법.
  58. 제57항에 있어서, 상기 제1 측정치와 상기 제2 측정치의 비교에 따라 1-비트 응답을 생성하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  59. 제58항에 있어서, 식별자를 포함하는 선택 정보를 인코딩한 선택 신호를 수신하고, 상기 식별자를 사용하여 상기 복수의 특성들 중의 제1 특성 및 제2 특성을 선택하고, 상기 제1 측정치 및 제2 측정치를 생성하기 위해 상기 복수의 특성들 중의 제1 특성 및 제2 특성을 측정하고, n-비트 응답 중 1비트를 생성하기 위해 상기 제1 측정치와 제2 측정치를 비교하는 단계들을 n-1회 반복함으로써 n-비트 응답을 생성하는 단계를 더 포함하는 인증을 가능케하기 위한 방법.
  60. 삭제
  61. 삭제
  62. 인증을 가능케하기 위한 방법에 있어서,
    공통 설계에 기초하여 제조되는 한 그룹의 소자들로부터 제1 소자를 제공하는 단계로서, 상기 그룹 내의 각 소자는, 각 소자 고유의 복수의 특성들을 가지며, 상기 복수의 특성들은 측정가능하고 이산값을 갖는 것인, 상기 제1 소자를 제공하는 단계와;
    상기 소자의 복수의 특성들 중 하나 이상의 특성으로 이루어진 선택된 한 서브셋을 측정하고, 상기 선택된 한 서브셋의 측정 결과를, 상기 제1 소자의 상기 선택된 한 서브셋에 대하여 이전에 측정되어 미리저장된 측정치와 비교함으로써, 제1 소자의 인증을 가능하게 하는 단계
    를 포함하는 인증을 가능케하기 위한 방법.
  63. 제62항에 있어서, 상기 복수의 특성들은 상기 제1 소자내의 복수의 신호 경로의 지연 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  64. 제62항에 있어서, 상기 복수의 특성들은 광학적 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 인증을 가능케하기 위한 방법에 있어서,
    공통 설계에 기초하여 제조되는 한 그룹의 소자들로부터 제1 소자를 제공하는 단계로서, 상기 그룹 내의 각 소자는, 각 소자 고유의 복수의 특성들을 가지며, 상기 복수의 특성들은 전기적으로 측정가능한 것인, 상기 제1 소자를 제공하는 단계와;
    상기 소자의 복수의 특성들 중 하나 이상의 특성으로 이루어진 선택된 한 서브셋을 측정하고, 상기 선택된 한 서브셋의 측정 결과를, 상기 제1 소자의 상기 선택된 한 서브셋에 대하여 이전에 측정되어 미리저장된 측정치와 비교함으로써, 제1 소자의 인증을 가능하게 하는 단계
    를 포함하는 인증을 가능케하기 위한 방법.
  74. 제73항에 있어서, 상기 복수의 특성들은 상기 제1 소자 내의 복수의 신호 경로의 지연 특성을 포함하는 것인, 인증을 가능케하기 위한 방법.
  75. 인증을 가능케하기 위한 장치에 있어서,
    공통 설계에 기초하여 제조되는 한 그룹의 소자들로부터 선택된 제1 소자로서, 상기 그룹 내의 각 소자는, 각 소자 고유의 복수의 특성들을 가지며, 상기 복수의 특성들은 측정가능하고, 각 소자에는 측정 컴포넌트가 내장되어 있으며, 상기 측정 컴포넌트는 상기 소자의 복수의 특성들 중 하나 이상의 특성으로 이루어진 선택된 한 서브셋을 측정하기 위한 것인, 상기 제1 소자와;
    상기 선택된 한 서브셋의 측정 결과를, 상기 제1 소자의 상기 선택된 한 서브셋에 대하여 이전에 측정되어 미리저장된 측정치와 비교하기 위한 비교 컴포넌트
    를 포함하는, 인증을 가능케하기 위한 장치.
  76. 제75항에 있어서, 상기 소자는 집적회로를 포함하는 것인, 인증을 가능케하기 위한 장치.
  77. 제76항에 있어서, 상기 집적회로는 신호 경로를 포함하며, 상기 복수의 특성들은 신호 경로의 지연 특성을 포함하는 것인, 인증을 가능케하기 위한 장치.
  78. 제77항에 있어서, 상기 집적회로는 한 세트의 회로 부품을 포함하며, 상기 신호 경로는 상기 한 세트의 회로 부품들 각각을 경유하는 경로를 포함하는 것인, 인증을 가능케하기 위한 장치.
  79. 삭제
  80. 삭제
  81. 삭제
  82. 제75항에 있어서, 상기 소자와 연관된 식별자 및 응답을 저장하기 위한 저장 소자를 더 포함하며, 각각의 식별자는 하나 이상의 측정가능한 특성을 식별하고, 각각의 응답은 하나 이상의 상기 식별자에 대응하며 하나 이상의 상기 식별자에 의해 식별된 측정가능한 특성들 중 하나 이상의 측정치로부터 유도되는 것인, 인증을 가능케하기 위한 장치.
KR1020047016570A 2002-04-16 2003-04-14 집적회로의 인증 방법 및 장치 Expired - Lifetime KR101092039B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US37314002P 2002-04-16 2002-04-16
US60/373,140 2002-04-16
US38737302P 2002-06-10 2002-06-10
US60/387,373 2002-06-10
US44490603P 2003-02-03 2003-02-03
US44491003P 2003-02-03 2003-02-03
US60/444,906 2003-02-03
US60/444,910 2003-02-03
US10/407,603 2003-04-04
US10/407,603 US7840803B2 (en) 2002-04-16 2003-04-04 Authentication of integrated circuits
PCT/US2003/011469 WO2003090259A2 (en) 2002-04-16 2003-04-14 Authentication of integrated circuits

Publications (2)

Publication Number Publication Date
KR20040102110A KR20040102110A (ko) 2004-12-03
KR101092039B1 true KR101092039B1 (ko) 2011-12-12

Family

ID=29255688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047016570A Expired - Lifetime KR101092039B1 (ko) 2002-04-16 2003-04-14 집적회로의 인증 방법 및 장치

Country Status (7)

Country Link
US (7) US7840803B2 (ko)
EP (3) EP2302555B1 (ko)
JP (2) JP4733924B2 (ko)
KR (1) KR101092039B1 (ko)
AU (1) AU2003221927A1 (ko)
CA (1) CA2482635C (ko)
WO (1) WO2003090259A2 (ko)

Families Citing this family (446)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128041A (en) 1991-05-15 1992-07-07 Pall Corporation Microporous membrane, method of manufacture, and method of use
FR2823398B1 (fr) * 2001-04-04 2003-08-15 St Microelectronics Sa Extraction d'une donnee privee pour authentification d'un circuit integre
FR2825873A1 (fr) * 2001-06-11 2002-12-13 St Microelectronics Sa Stockage protege d'une donnee dans un circuit integre
US20040078183A1 (en) * 2002-10-21 2004-04-22 Victor Drabkin System and method of system response testing and modeling
US8100323B1 (en) 2002-12-26 2012-01-24 Diebold Self-Service Systems Division Of Diebold, Incorporated Apparatus and method for verifying components of an ATM
US7558969B1 (en) 2003-03-06 2009-07-07 National Semiconductor Corporation Anti-pirate circuit for protection against commercial integrated circuit pirates
US7877604B2 (en) * 2003-05-16 2011-01-25 Intrinsic Id B.V. Proof of execution using random function
USRE43922E1 (en) 2003-06-13 2013-01-15 National Semiconductor Corporation Balanced cells with fabrication mismatches that produce a unique number generator
FR2857535A1 (fr) * 2003-07-09 2005-01-14 Atmel Corp Procede et systeme pour brouiller le contenu d'une cellule dans un circuit integre.
KR101087824B1 (ko) * 2003-10-16 2011-11-30 파나소닉 주식회사 암호화 통신 시스템 및 통신장치
WO2005041000A1 (en) * 2003-10-23 2005-05-06 Koninklijke Philips Electronics N.V. Method for protecting information carrier comprising an integrated circuit
US7302060B2 (en) * 2003-11-10 2007-11-27 Qualcomm Incorporated Method and application for authentication of a wireless communication using an expiration marker
US8966579B2 (en) 2003-12-30 2015-02-24 Entrust, Inc. Method and apparatus for providing authentication between a sending unit and a recipient based on challenge usage data
US8230486B2 (en) * 2003-12-30 2012-07-24 Entrust, Inc. Method and apparatus for providing mutual authentication between a sending unit and a recipient
US8612757B2 (en) * 2003-12-30 2013-12-17 Entrust, Inc. Method and apparatus for securely providing identification information using translucent identification member
US9191215B2 (en) * 2003-12-30 2015-11-17 Entrust, Inc. Method and apparatus for providing authentication using policy-controlled authentication articles and techniques
US8060915B2 (en) * 2003-12-30 2011-11-15 Entrust, Inc. Method and apparatus for providing electronic message authentication
US9281945B2 (en) 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
KR20060127921A (ko) * 2004-01-27 2006-12-13 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 전력 분석 공격에 대한 방어 방법
FR2866772B1 (fr) * 2004-02-20 2006-04-28 Viaccess Sa Procede d'appariement d'un terminal recepteur avec une pluralite de cartes de controle d'acces
EP1733555A4 (en) * 2004-02-23 2009-09-30 Lexar Media Inc SAFE COMPACT FLASH
US8358815B2 (en) 2004-04-16 2013-01-22 Validity Sensors, Inc. Method and apparatus for two-dimensional finger motion tracking and control
US8131026B2 (en) 2004-04-16 2012-03-06 Validity Sensors, Inc. Method and apparatus for fingerprint image reconstruction
US8229184B2 (en) 2004-04-16 2012-07-24 Validity Sensors, Inc. Method and algorithm for accurate finger motion tracking
US8165355B2 (en) 2006-09-11 2012-04-24 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array for use in navigation applications
US8447077B2 (en) 2006-09-11 2013-05-21 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array
US8175345B2 (en) 2004-04-16 2012-05-08 Validity Sensors, Inc. Unitized ergonomic two-dimensional fingerprint motion tracking device and method
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
WO2005106774A2 (en) 2004-04-23 2005-11-10 Validity Sensors, Inc. Methods and apparatus for acquiring a swiped fingerprint image
US8042163B1 (en) * 2004-05-20 2011-10-18 Symatec Operating Corporation Secure storage access using third party capability tokens
TW200540611A (en) * 2004-06-04 2005-12-16 Hon Hai Prec Ind Co Ltd System and method for verifying delay of a motherboard layout
US7848518B2 (en) * 2004-06-29 2010-12-07 Seagate Technology Llc Stable disc controller ID from unstable comparator outputs
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
EP1784796A1 (en) * 2004-08-23 2007-05-16 Koninklijke Philips Electronics N.V. Position and orientation detection for an optical identifier
WO2006033065A1 (en) * 2004-09-20 2006-03-30 Koninklijke Philips Electronics N.V. Sharing a secret by using random function
FR2875949A1 (fr) * 2004-09-28 2006-03-31 St Microelectronics Sa Verrouillage d'un circuit integre
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
WO2006041780A1 (en) 2004-10-04 2006-04-20 Validity Sensors, Inc. Fingerprint sensing assemblies comprising a substrate
WO2006038183A1 (en) * 2004-10-04 2006-04-13 Koninklijke Philips Electronics N.V. Two-way error correction for physical tokens
JP2008517365A (ja) 2004-10-15 2008-05-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 真性乱数生成器を備えた集積回路
EP1817746A1 (en) * 2004-10-18 2007-08-15 Koninklijke Philips Electronics N.V. Secure sensor chip
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
WO2006053304A2 (en) 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof
US7071751B1 (en) * 2004-12-17 2006-07-04 Xilinx, Inc. Counter-controlled delay line
US20060133607A1 (en) * 2004-12-22 2006-06-22 Seagate Technology Llc Apparatus and method for generating a secret key
US7512795B2 (en) * 2005-01-04 2009-03-31 Motorola, Inc. Method and apparatus for authenticating components
JP2008532111A (ja) * 2005-02-02 2008-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャリブレート方法、装置、デバイス、システム及びプログラム
US7677461B2 (en) * 2005-03-10 2010-03-16 Mil. Digital Labeling Inc. Digital labels for product authentication
US7813507B2 (en) * 2005-04-21 2010-10-12 Intel Corporation Method and system for creating random cryptographic keys in hardware
DE102005024379A1 (de) * 2005-05-27 2006-11-30 Universität Mannheim Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur
US20070019805A1 (en) * 2005-06-28 2007-01-25 Trustees Of Boston University System employing systematic robust error detection coding to protect system element against errors with unknown probability distributions
EP1905188B1 (en) * 2005-07-07 2018-05-30 Intrinsic ID B.V. Method, apparatus and system for verifying authenticity of an object
CA2552085A1 (en) * 2005-07-14 2007-01-14 Nikolajs Volkovs System and method of message authentication
EP1748343A1 (en) * 2005-07-29 2007-01-31 STMicroelectronics Limited Circuit personalisation
JP2009506613A (ja) 2005-08-23 2009-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理的な一方向関数による情報キャリア認証
US9004355B2 (en) * 2005-09-29 2015-04-14 Cardfree Inc Secure system and method to pay for a service provided at a reservation
US8622292B2 (en) * 2005-09-29 2014-01-07 Jeffrey Bart Katz Reservation-based preauthorization payment system
US7372304B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for glitch detection in a secure microcontroller
US20080231418A1 (en) * 2005-10-17 2008-09-25 Koninklijke Philips Electronics, N.V. Integrated Physical Unclonable Function (Puf) with Combined Sensor and Display
EP1941653B1 (en) * 2005-10-17 2020-11-04 Intrinsic ID B.V. Integrated puf
US8384546B2 (en) * 2005-11-14 2013-02-26 Massachusetts Institute Of Technology Enhanced security protocol for radio frequency systems
EP1958373B1 (en) * 2005-11-29 2009-03-25 Koninklijke Philips Electronics N.V. Physical secret sharing and proofs of vicinity using pufs
WO2007063475A2 (en) * 2005-11-29 2007-06-07 Koninklijke Philips Electronics N.V. Proofs of vicinity using cpufs
JP2009519537A (ja) * 2005-12-14 2009-05-14 エヌエックスピー ビー ヴィ 物理的トークンに対するキー抽出パラメータのチップ上評価
EP1977511B1 (en) * 2006-01-24 2011-04-06 Verayo, Inc. Signal generator based device security
WO2007104923A1 (en) * 2006-03-16 2007-09-20 British Telecommunications Public Limited Company Methods, apparatuses and software for authentication of devices temporarily provided with a sim to store a challenge-response
US20090265758A1 (en) * 2006-04-11 2009-10-22 Koninklijke Philips Electronics N.V. Attach detection with coating puf
WO2007116368A1 (en) * 2006-04-11 2007-10-18 Koninklijke Philips Electronics N.V. Noisy low-power puf authentication without database
KR101059005B1 (ko) * 2006-04-13 2011-08-23 엔엑스피 비 브이 반도체 장치, 그 식별자 생성 방법 및 그 식별 방법
US20080007798A1 (en) * 2006-07-07 2008-01-10 Advmatch Technology, Inc. Image sensor without opto-mechanical system and manufacturing method thereof
US20080049266A1 (en) * 2006-07-07 2008-02-28 Advmatch Technology, Inc. Image sensor without opto-mechanical system and manufacturing method thereof
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
US7477112B1 (en) 2006-08-16 2009-01-13 Xilinx, Inc. Structure for the main oscillator of a counter-controlled delay line
US20080091975A1 (en) * 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks
US8510608B2 (en) * 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
JPWO2008056613A1 (ja) * 2006-11-06 2010-02-25 パナソニック株式会社 認証装置
US8594326B2 (en) * 2006-11-28 2013-11-26 Koninklijke Philips N.V. Method of generating arbitrary numbers given a seed
EP2100263B1 (en) * 2006-12-06 2010-10-20 Koninklijke Philips Electronics N.V. Controlling data access to and from an rfid device
US8495383B2 (en) * 2006-12-14 2013-07-23 Nokia Corporation Method for the secure storing of program state data in an electronic device
US7613580B2 (en) * 2007-04-12 2009-11-03 Sun Microsystems, Inc. Method and apparatus for generating an EMI fingerprint for a computer system
US7613576B2 (en) * 2007-04-12 2009-11-03 Sun Microsystems, Inc. Using EMI signals to facilitate proactive fault monitoring in computer systems
US8107212B2 (en) 2007-04-30 2012-01-31 Validity Sensors, Inc. Apparatus and method for protecting fingerprint sensing circuitry from electrostatic discharge
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
WO2008152577A1 (en) * 2007-06-14 2008-12-18 Intrinsic Id Bv Method and device for providing digital security
WO2009013673A2 (en) * 2007-07-20 2009-01-29 Nxp B.V. Device with a secure virtual machine
US8230490B2 (en) * 2007-07-31 2012-07-24 Keycorp System and method for authentication of users in a secure computer system
ATE544123T1 (de) * 2007-09-19 2012-02-15 Verayo Inc Authentifizierung mit physikalisch unklonbaren funktionen
NL1036049A1 (nl) * 2007-10-16 2009-04-20 Asml Holding Nv Securing authenticity of integrated circuit chips.
US8316454B2 (en) * 2007-10-24 2012-11-20 Scytl Secure Electronic Voting S.A. Method and system for protection of user information registrations applicable in electoral processes
US8601285B2 (en) * 2007-11-23 2013-12-03 Nokia Corporation Method for secure program code execution in an electronic device
US8204281B2 (en) 2007-12-14 2012-06-19 Validity Sensors, Inc. System and method to remove artifacts from fingerprint sensor scans
US8276816B2 (en) 2007-12-14 2012-10-02 Validity Sensors, Inc. Smart card system with ergonomic fingerprint sensor and method of using
EP2223460A4 (en) * 2007-12-20 2011-12-28 Bce Inc NON-CONTACT LABEL WITH SIGNATURE AND ASSOCIATED APPLICATIONS
US8495375B2 (en) * 2007-12-21 2013-07-23 Research In Motion Limited Methods and systems for secure channel initialization
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
DE102008003946A1 (de) * 2008-01-11 2009-07-23 Micronas Gmbh Schaltung und Verfahren zur Generierung einer echten, schaltungsspezifischen und zeitinvarianten Zufallszahl
US8713708B1 (en) * 2008-03-03 2014-04-29 Csr Technology Inc. Method and apparatus for controlling the use of data stored on a media sample
US8005276B2 (en) 2008-04-04 2011-08-23 Validity Sensors, Inc. Apparatus and method for reducing parasitic capacitive coupling and noise in fingerprint sensing circuits
US8116540B2 (en) 2008-04-04 2012-02-14 Validity Sensors, Inc. Apparatus and method for reducing noise in fingerprint sensing circuits
US10374812B2 (en) * 2008-06-27 2019-08-06 Koninklijke Philips Electronics N.V. Device, system and method for verifying the authenticity integrity and/or physical condition of an item
GB2474999B (en) 2008-07-22 2013-02-20 Validity Sensors Inc System and method for securing a device component
CA2732006A1 (en) * 2008-07-31 2010-02-04 Koolspan, Inc. System for and method of remote secure backup
US8966660B2 (en) 2008-08-07 2015-02-24 William Marsh Rice University Methods and systems of digital rights management for integrated circuits
US20100083000A1 (en) * 2008-09-16 2010-04-01 Validity Sensors, Inc. Fingerprint Sensor Device and System with Verification Token and Methods of Using
US7761714B2 (en) * 2008-10-02 2010-07-20 Infineon Technologies Ag Integrated circuit and method for preventing an unauthorized access to a digital value
US8391568B2 (en) 2008-11-10 2013-03-05 Validity Sensors, Inc. System and method for improved scanning of fingerprint edges
US8683210B2 (en) * 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
US20100138654A1 (en) * 2008-12-01 2010-06-03 Apple Inc. System and method for authentication based on particle gun emissions
CA2747553C (en) 2008-12-18 2016-06-07 Sean Maclean Murray Validation method and system for use in securing nomadic electronic transactions
CA2729231C (en) 2008-12-18 2019-01-15 Bce Inc. Processing of communication device signatures for use in securing nomadic electronic transactions
DE102009005255A1 (de) * 2009-01-14 2010-07-15 Khs Ag Verfahren zur Verifikation einer Kennzeichnungsschaltung
US8600122B2 (en) 2009-01-15 2013-12-03 Validity Sensors, Inc. Apparatus and method for culling substantially redundant data in fingerprint sensing circuits
US8278946B2 (en) 2009-01-15 2012-10-02 Validity Sensors, Inc. Apparatus and method for detecting finger activity on a fingerprint sensor
US8374407B2 (en) 2009-01-28 2013-02-12 Validity Sensors, Inc. Live finger detection
US8242790B2 (en) * 2009-02-23 2012-08-14 Lewis James M Method and system for detection of tampering related to reverse engineering
US8598890B2 (en) * 2009-02-23 2013-12-03 Lewis Innovative Technologies Method and system for protecting products and technology from integrated circuits which have been subject to tampering, stressing and replacement as well as detecting integrated circuits that have been subject to tampering
EP2230793A3 (en) * 2009-03-16 2011-09-07 Technische Universität München On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF
JP5423088B2 (ja) * 2009-03-25 2014-02-19 ソニー株式会社 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US8260708B2 (en) 2009-04-17 2012-09-04 Empire Technology Development Llc Usage metering based upon hardware aging
US8850281B2 (en) * 2009-05-12 2014-09-30 Empire Technology Development Llc Digital signatures
US9032476B2 (en) * 2009-05-12 2015-05-12 Empire Technology Development Llc Secure authentication
US8379856B2 (en) * 2009-06-17 2013-02-19 Empire Technology Development Llc Hardware based cryptography
US20100329448A1 (en) * 2009-06-30 2010-12-30 Rane Shantanu D Method for Secure Evaluation of a Function Applied to Encrypted Signals
CN102696045B (zh) * 2009-07-10 2015-07-01 塞尔蒂卡姆公司 用于执行设备的顺序化的系统和方法
FR2948793B1 (fr) * 2009-07-28 2014-10-31 Thales Sa Procede securise de reconstruction d'une mesure de reference d'une donnee confidentielle a partir d'une mesure bruitee de cette donne, notamment pour la generation de cles cryptographiques
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
US8811615B2 (en) * 2009-08-05 2014-08-19 Verayo, Inc. Index-based coding with a pseudo-random source
US8370787B2 (en) * 2009-08-25 2013-02-05 Empire Technology Development Llc Testing security of mapping functions
US8387071B2 (en) * 2009-08-28 2013-02-26 Empire Technology Development, Llc Controlling integrated circuits including remote activation or deactivation
US7898283B1 (en) * 2009-08-31 2011-03-01 Farinaz Koushanfar Lightweight secure physically unclonable functions
US8800057B2 (en) * 2009-09-24 2014-08-05 Samsung Information Systems America, Inc. Secure content delivery system and method
US8799666B2 (en) 2009-10-06 2014-08-05 Synaptics Incorporated Secure user authentication using biometric information
WO2011047069A1 (en) * 2009-10-13 2011-04-21 Tiger's Lair Inc. Method and apparatus for ensuring consistent system configuration in secure applications
DE102009051201B4 (de) * 2009-10-29 2012-12-20 Siemens Aktiengesellschaft Authentifikation und Datenintegritätschutz eines Tokens
US9336428B2 (en) 2009-10-30 2016-05-10 Synaptics Incorporated Integrated fingerprint sensor and display
US9274553B2 (en) 2009-10-30 2016-03-01 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US9400911B2 (en) 2009-10-30 2016-07-26 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US20110107092A1 (en) * 2009-11-02 2011-05-05 Advanced Micro Devices, Inc. Performance based authentication method and apparatus for secure communication
US20110154061A1 (en) * 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
US8610454B2 (en) * 2010-01-12 2013-12-17 Stc.Unm System and methods for generating unclonable security keys in integrated circuits
US8421890B2 (en) 2010-01-15 2013-04-16 Picofield Technologies, Inc. Electronic imager using an impedance sensor grid array and method of making
US8791792B2 (en) 2010-01-15 2014-07-29 Idex Asa Electronic imager using an impedance sensor grid array mounted on or about a switch and method of making
US8866347B2 (en) 2010-01-15 2014-10-21 Idex Asa Biometric image sensing
FR2955394B1 (fr) * 2010-01-18 2012-01-06 Inst Telecom Telecom Paristech Circuit integre en silicium comportant une fonction physiquement non copiable, procede et systeme de test d'un tel circuit
US9666635B2 (en) 2010-02-19 2017-05-30 Synaptics Incorporated Fingerprint sensing circuit
US8716613B2 (en) 2010-03-02 2014-05-06 Synaptics Incoporated Apparatus and method for electrostatic discharge protection
US8458489B2 (en) 2010-03-25 2013-06-04 Empire Technology Development Llc Differential uncloneable variability-based cryptography
WO2011138823A1 (ja) * 2010-05-06 2011-11-10 三菱電機株式会社 ビット列生成装置及びビット列生成方法
DE102010020460B4 (de) * 2010-05-11 2023-12-21 Bundesdruckerei Gmbh Sicherheits- oder Wertdokument, Verfahren zu dessen Herstellung und zu dessen Verifikation
US9001040B2 (en) 2010-06-02 2015-04-07 Synaptics Incorporated Integrated fingerprint sensor and navigation device
EP2579499A1 (en) * 2010-06-07 2013-04-10 Mitsubishi Electric Corporation Signal processing system
US8619979B2 (en) 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US8842827B2 (en) 2010-07-16 2014-09-23 Intryca, Inc. Mobile phone aided operations system and method
US8694687B2 (en) 2010-07-16 2014-04-08 Intryca, Inc. Computing-system identifier using software extraction of manufacturing variability
US8516269B1 (en) 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US8667265B1 (en) 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US8848905B1 (en) 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
WO2012015433A1 (en) 2010-07-30 2012-02-02 Empire Technology Development, Llc. Aging-based usage metering of components
DE102010038703B3 (de) 2010-07-30 2012-01-26 Robert Bosch Gmbh Verfahren zur Erzeugung eines Herausforderungs-Antwort-Paars in einer elektrischen Maschine sowie elektrische Maschine
US8590038B2 (en) * 2010-08-20 2013-11-19 Via Technologies, Inc. Revokeable MSR password protection
US8331096B2 (en) 2010-08-20 2012-12-11 Validity Sensors, Inc. Fingerprint acquisition expansion card apparatus
FR2964278A1 (fr) 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
US8694778B2 (en) * 2010-11-19 2014-04-08 Nxp B.V. Enrollment of physically unclonable functions
ES2534403T3 (es) * 2010-11-24 2015-04-22 Intrinsic Id B.V. Función física no clonable
JP2012118884A (ja) * 2010-12-02 2012-06-21 Toshiba Corp プロセッサ及び半導体装置
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
EP2665225B1 (en) * 2011-01-13 2018-04-11 Mitsubishi Electric Corporation Bit generation device and bit generation method
US20120183135A1 (en) * 2011-01-19 2012-07-19 Verayo, Inc. Reliable puf value generation by pattern matching
US8538097B2 (en) 2011-01-26 2013-09-17 Validity Sensors, Inc. User input utilizing dual line scanner apparatus and method
US8594393B2 (en) 2011-01-26 2013-11-26 Validity Sensors System for and method of image reconstruction with dual line scanner using line counts
EP2686767B1 (en) 2011-03-15 2019-06-05 Irdeto B.V. Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme
US9406580B2 (en) 2011-03-16 2016-08-02 Synaptics Incorporated Packaging for fingerprint sensors and methods of manufacture
JP5776927B2 (ja) * 2011-03-28 2015-09-09 ソニー株式会社 情報処理装置及び方法、並びにプログラム
CN102156843B (zh) * 2011-03-28 2015-04-08 威盛电子股份有限公司 数据加密方法与系统以及数据解密方法
EP3467716B1 (en) * 2011-03-31 2020-11-04 ICTK Holdings Co., Ltd. Apparatus and method for generating a digital value
WO2012133964A1 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
US8613111B2 (en) * 2011-04-28 2013-12-17 International Business Machines Corporation Configurable integrated tamper detection circuitry
US8667283B2 (en) 2011-05-09 2014-03-04 Verayo, Inc. Soft message signing
EP2525298B1 (en) * 2011-05-17 2016-07-13 Nxp B.V. Authentication method
US20130141137A1 (en) * 2011-06-01 2013-06-06 ISC8 Inc. Stacked Physically Uncloneable Function Sense and Respond Module
CN103733203B (zh) * 2011-06-13 2017-03-29 意法半导体亚太私人有限公司 延迟或者阻止部件的伪造和/或克隆
JP6014214B2 (ja) * 2011-06-20 2016-10-25 ルネサスエレクトロニクス株式会社 暗号通信システムおよび暗号通信方法
US8762723B2 (en) 2011-07-07 2014-06-24 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
DE102011081421A1 (de) * 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
JP5747327B2 (ja) * 2011-08-26 2015-07-15 学校法人 名城大学 情報セキュリティシステム,ホスト,デバイス,その制御方法
US10043052B2 (en) 2011-10-27 2018-08-07 Synaptics Incorporated Electronic device packages and methods
US9036891B2 (en) 2011-10-30 2015-05-19 The United States Of America As Represented By The Secretary Of The Air Force Intrinsic physical layer authentication of integrated circuits
DE102011085487A1 (de) * 2011-10-31 2013-05-02 Rohde & Schwarz Gmbh & Co. Kg Integrierte Schaltung mit schlüsselbasierter Freischaltung von technischen Funktionen
US8590010B2 (en) * 2011-11-22 2013-11-19 International Business Machines Corporation Retention based intrinsic fingerprint identification featuring a fuzzy algorithm and a dynamic key
US20130135080A1 (en) * 2011-11-28 2013-05-30 Upm Rfid Oy Tag forgery protection
WO2013080921A1 (ja) * 2011-12-01 2013-06-06 日本電気株式会社 デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
US8700916B2 (en) * 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
JPWO2013088939A1 (ja) 2011-12-13 2015-04-27 日本電気株式会社 識別情報生成装置及び識別情報生成方法
US9361482B2 (en) 2011-12-22 2016-06-07 Mitsubishi Electric Corporation Device specific information generation device and device specific generation method
US9195877B2 (en) 2011-12-23 2015-11-24 Synaptics Incorporated Methods and devices for capacitive image sensing
US9544141B2 (en) 2011-12-29 2017-01-10 Intel Corporation Secure key storage using physically unclonable functions
US9785299B2 (en) 2012-01-03 2017-10-10 Synaptics Incorporated Structures and manufacturing methods for glass covered electronic devices
EP2615571A1 (en) * 2012-01-16 2013-07-17 Gemalto SA Method of generating an identifier of an electronic device
US20130187764A1 (en) * 2012-01-20 2013-07-25 Alien Technology Corporation Dynamic analog authentication
US20130212642A1 (en) * 2012-02-12 2013-08-15 John J. Walsh Resilient Device Authentication System
JP5906821B2 (ja) * 2012-03-06 2016-04-20 日本電気株式会社 デバイス固有情報生成装置及びデバイス固有情報生成方法
US20140103344A1 (en) * 2012-03-12 2014-04-17 Mohammad Tehranipoor Detection of recovered integrated circuits
DE102012204708A1 (de) 2012-03-23 2013-09-26 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Authentifizierung eines Objekts
US9251329B2 (en) 2012-03-27 2016-02-02 Synaptics Incorporated Button depress wakeup and wakeup strategy
US9137438B2 (en) 2012-03-27 2015-09-15 Synaptics Incorporated Biometric object sensor and method
US9268991B2 (en) 2012-03-27 2016-02-23 Synaptics Incorporated Method of and system for enrolling and matching biometric data
US9600709B2 (en) 2012-03-28 2017-03-21 Synaptics Incorporated Methods and systems for enrolling biometric data
US9032217B1 (en) * 2012-03-28 2015-05-12 Amazon Technologies, Inc. Device-specific tokens for authentication
US9152838B2 (en) 2012-03-29 2015-10-06 Synaptics Incorporated Fingerprint sensor packagings and methods
JP6069876B2 (ja) * 2012-04-06 2017-02-01 凸版印刷株式会社 Icチップ認証システム
EP2836960B1 (en) 2012-04-10 2018-09-26 Idex Asa Biometric sensing
WO2013155522A1 (en) * 2012-04-13 2013-10-17 Lewis Innovative Technologies, Inc. Electronic physical unclonable functions
DE102012206726A1 (de) 2012-04-24 2013-10-24 Robert Bosch Gmbh Verfahren zum Feststellen der Originalität eines Bauteils
US9018972B1 (en) 2012-06-04 2015-04-28 Sandia Corporation Area-efficient physically unclonable function circuit architecture
US9971353B2 (en) * 2012-07-03 2018-05-15 Qualcomm Incorporated Systems, methods, and apparatus related to electric vehicle parking and wireless charging
JP5968705B2 (ja) * 2012-07-13 2016-08-10 ルネサスエレクトロニクス株式会社 半導体装置の製造方法
DE102012212471B3 (de) * 2012-07-17 2013-11-21 Siemens Aktiengesellschaft Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen
US9258129B2 (en) * 2012-07-18 2016-02-09 Sypris Electronics, Llc Resilient device authentication system
US9996480B2 (en) 2012-07-18 2018-06-12 Analog Devices, Inc. Resilient device authentication system with metadata binding
US20140041040A1 (en) * 2012-08-01 2014-02-06 The Regents Of The University Of California Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions
US8941405B2 (en) 2012-08-03 2015-01-27 International Business Machines Corporation FET pair based physically unclonable function (PUF) circuit with a constant common mode voltage
KR101419745B1 (ko) * 2012-08-07 2014-07-17 한국전자통신연구원 물리적 복제 방지 기능을 기반으로 하는 인증 요청 장치, 인증 처리 장치 및 인증 수행 방법
US8741713B2 (en) 2012-08-10 2014-06-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
CN102855422B (zh) * 2012-08-21 2015-03-04 飞天诚信科技股份有限公司 一种盗版加密锁的识别方法和装置
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9202040B2 (en) 2012-10-10 2015-12-01 Globalfoundries Inc. Chip authentication using multi-domain intrinsic identifiers
US9279856B2 (en) * 2012-10-22 2016-03-08 Infineon Technologies Ag Die, chip, method for driving a die or a chip and method for manufacturing a die or a chip
US8861736B2 (en) * 2012-11-19 2014-10-14 International Business Machines Corporation Reliable physical unclonable function for device authentication
US9514673B2 (en) 2012-11-22 2016-12-06 Lg Display Co., Ltd. Organic light emitting display device
US9038133B2 (en) 2012-12-07 2015-05-19 International Business Machines Corporation Self-authenticating of chip based on intrinsic features
US9722805B2 (en) 2012-12-11 2017-08-01 Mitsubishi Electric Corporation Integrated security device and signal processing method used for an integrated security device
US9449153B2 (en) * 2012-12-20 2016-09-20 Qualcomm Incorporated Unique and unclonable platform identifiers using data-dependent circuit path responses
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
CN104995841B (zh) 2013-01-06 2018-02-09 英派尔科技开发有限公司 基于老化的泄漏能量减小方法和系统
US9665762B2 (en) 2013-01-11 2017-05-30 Synaptics Incorporated Tiered wakeup strategy
US9262259B2 (en) 2013-01-14 2016-02-16 Qualcomm Incorporated One-time programmable integrated circuit security
US9015500B2 (en) * 2013-01-16 2015-04-21 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
US8934312B2 (en) 2013-01-30 2015-01-13 International Business Machines Corporation Process variation skew in an SRAM column architecture
US8995658B2 (en) 2013-02-13 2015-03-31 Honeywell International Inc. Physics-based key generation
KR101359855B1 (ko) * 2013-02-18 2014-02-10 충북대학교 산학협력단 전하 펌프 기반 물리적 복제 불가 함수 시스템
US9367701B2 (en) * 2013-03-08 2016-06-14 Robert Bosch Gmbh Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9071428B2 (en) * 2013-03-15 2015-06-30 University Of Connecticut Methods and systems for hardware piracy prevention
EP2779067B1 (en) * 2013-03-15 2019-05-08 Maxim Integrated Products, Inc. Secure authentication based on physically unclonable functions
CN103198268B (zh) * 2013-03-18 2016-06-08 宁波大学 一种可重构多端口物理不可克隆函数电路
KR101393806B1 (ko) 2013-04-03 2014-05-12 충북대학교 산학협력단 다단계 물리적 복제 불가 함수 시스템
US20140331288A1 (en) * 2013-05-01 2014-11-06 Verayo, Inc. Access gating of noisy physical functions
US9088278B2 (en) 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
JP5885178B2 (ja) * 2013-05-15 2016-03-15 三菱電機株式会社 機器真贋判定システム、機器真贋判定方法、および半導体チップが搭載された組み込み機器
WO2014192077A1 (ja) * 2013-05-28 2014-12-04 三菱電機株式会社 認証処理装置および認証処理方法
JP6129654B2 (ja) 2013-06-13 2017-05-17 株式会社東芝 認証装置、認証方法およびプログラム
US10459784B2 (en) 2013-06-28 2019-10-29 Infineon Technologies Ag Frequency signal generator, a frequency modulated continuous wave radar system and a method for generating a frequency signal
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
US10152530B1 (en) 2013-07-24 2018-12-11 Symantec Corporation Determining a recommended control point for a file system
CA2919797A1 (en) * 2013-08-06 2015-02-12 Ologn Technologies Ag Systems, methods and apparatuses for prevention of unauthorized cloning of a device
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
KR20150024676A (ko) 2013-08-27 2015-03-09 (주) 아이씨티케이 반도체 프로세스의 포토 마스크를 변형하여 puf를 생성하는 방법 및 장치
US10048939B2 (en) 2013-08-28 2018-08-14 Stc.Unm Systems and methods for analyzing stability using metal resistance variations
WO2015031683A1 (en) * 2013-08-28 2015-03-05 Stc.Unm Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings
US11303461B2 (en) 2013-09-02 2022-04-12 Samsung Electronics Co., Ltd. Security device having physical unclonable function
US10044513B2 (en) 2013-09-02 2018-08-07 Samsung Electronics Co., Ltd. Security device having physical unclonable function
KR101489088B1 (ko) 2013-09-03 2015-02-04 (주) 아이씨티케이 식별키 생성 장치 및 방법
US9366718B2 (en) 2013-09-12 2016-06-14 Cisco Technology Inc. Detection of disassembly of multi-die chip assemblies
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
EP3066611B1 (en) * 2013-11-04 2019-10-30 Marvell World Trade Ltd. Method and apparatus for authenticating a semiconductor die
US9342710B2 (en) 2013-11-21 2016-05-17 Nxp B.V. Electronic tamper detection
US9465960B2 (en) 2013-12-04 2016-10-11 Honeywell International Inc. Physics-based authentication
WO2015089346A1 (en) 2013-12-13 2015-06-18 Battelle Memorial Institute Electronic component classification
DE102013227166B4 (de) * 2013-12-27 2016-01-14 Siemens Aktiengesellschaft Schaltkreiseinheit zur Bereitstellung eines kryptographischen Schlüssels
WO2015105687A1 (en) * 2014-01-08 2015-07-16 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
JP6354172B2 (ja) 2014-01-20 2018-07-11 富士通株式会社 半導体集積回路及び認証システム
US9729317B2 (en) * 2014-01-30 2017-08-08 Mentor Graphics Corporation Optical physical uncloneable function
US9279850B1 (en) * 2014-02-14 2016-03-08 Altera Corporation Physically unclonable functions with enhanced margin testing
US9190360B2 (en) 2014-02-17 2015-11-17 Globalfoundries Inc. Photoresist collapse method for forming a physical unclonable function
EP2911086A1 (en) * 2014-02-19 2015-08-26 Renesas Electronics Europe GmbH Integrated circuit with parts activated based on intrinsic features
US9970986B2 (en) * 2014-03-11 2018-05-15 Cryptography Research, Inc. Integrated circuit authentication
US9202554B2 (en) 2014-03-13 2015-12-01 International Business Machines Corporation Methods and circuits for generating physically unclonable function
GB201406002D0 (en) * 2014-04-03 2014-05-21 Univ Lancaster Unique identifier
US10958451B2 (en) * 2014-04-09 2021-03-23 Ictk Holdings Co., Ltd. Authentication apparatus and method
DE102014206943A1 (de) * 2014-04-10 2015-10-15 Siemens Aktiengesellschaft Schlüsselerzeugungsvorrichtung und Verfahren zum Erzeugen eines Schlüssels
US9485094B1 (en) * 2014-04-21 2016-11-01 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions
US9715590B2 (en) 2014-05-05 2017-07-25 Analog Devices, Inc. System and device for verifying the integrity of a system from its subcomponents
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9292692B2 (en) * 2014-05-05 2016-03-22 Sypris Electronics, Llc System and device for verifying the integrity of a system from its subcomponents
US9806718B2 (en) 2014-05-05 2017-10-31 Analog Devices, Inc. Authenticatable device with reconfigurable physical unclonable functions
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10060973B1 (en) 2014-05-29 2018-08-28 National Technology & Engineering Solutions Of Sandia, Llc Test circuits for integrated circuit counterfeit detection
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
WO2015200196A1 (en) * 2014-06-25 2015-12-30 Sypris Electronics, Llc System and device binding metadata with hardware intrinsic properties
DE102014215467A1 (de) * 2014-08-05 2016-02-04 Siemens Aktiengesellschaft Erzeugen eines Identifizierers für eine Schaltung
US9900287B1 (en) 2014-09-12 2018-02-20 Verily Life Sciences, LLC Transmitting sensitive information securely over unsecured networks without authentication
EP3202041A1 (en) 2014-10-01 2017-08-09 Universita' Degli Studi di Udine Integrated device for implementing a physical unclonable function and a physical unclonable constant
CN107004380B (zh) 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
DE102014222222A1 (de) * 2014-10-30 2016-05-04 Robert Bosch Gmbh Verfahren zur Absicherung eines Netzwerks
JP2016091177A (ja) 2014-10-31 2016-05-23 株式会社アドバンテスト 認証端末
JP6240589B2 (ja) * 2014-10-31 2017-11-29 株式会社アドバンテスト 認証システム、認証方法およびサービス提供システム
MA40917A (fr) * 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
JP2016111446A (ja) * 2014-12-03 2016-06-20 株式会社メガチップス メモリコントローラ、メモリコントローラの制御方法及びメモリシステム
US9501664B1 (en) 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
US9703989B1 (en) 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
KR102302361B1 (ko) * 2014-12-31 2021-09-15 삼성전자 주식회사 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템
WO2016109626A1 (en) * 2014-12-31 2016-07-07 Vasco Data Security, Inc. Methods, systems and apparatus for recognizing genuine products
US9876645B1 (en) * 2015-02-17 2018-01-23 Amazon Technologies, Inc. Tamper detection for hardware devices
US9940486B2 (en) * 2015-02-23 2018-04-10 Cisco Technology, Inc. Detection of hardware tampering
EP3265943B1 (en) * 2015-03-05 2021-04-28 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
WO2016190936A1 (en) * 2015-03-09 2016-12-01 Massachusetts Institute Of Technology Waveguide with dielectric light reflectors
WO2016190937A1 (en) * 2015-03-09 2016-12-01 Massachusetts Institute Of Technology Phosphor-loaded waveguide
JP6419614B2 (ja) * 2015-03-17 2018-11-07 株式会社東芝 データ生成装置および認証システム
US9996996B2 (en) * 2015-04-16 2018-06-12 Siebels Asset Management Research Ltd. Protected article management
CA2982497A1 (en) * 2015-04-16 2016-10-20 Temporal Defense Systems, Llc Methods and systems for self-detection of post-production external hardware attachments
US9576914B2 (en) 2015-05-08 2017-02-21 Globalfoundries Inc. Inducing device variation for security applications
US10135615B2 (en) 2015-05-11 2018-11-20 The Trustees Of Columbia University In The City Of New York Voltage and temperature compensated device for physically unclonable function
USD776664S1 (en) * 2015-05-20 2017-01-17 Chaya Coleena Hendrick Smart card
US9887978B2 (en) 2015-06-23 2018-02-06 Veritas Technologies Llc System and method for centralized configuration and authentication
US10757104B1 (en) 2015-06-29 2020-08-25 Veritas Technologies Llc System and method for authentication in a computing system
CN106714075B (zh) * 2015-08-10 2020-06-26 华为技术有限公司 一种处理授权的方法和设备
US10382417B2 (en) * 2015-08-31 2019-08-13 Mentor Graphics Corporation Secure protocol for chip authentication
EP3378054B1 (en) 2015-11-20 2021-03-17 Intrinsic ID B.V. Puf identifier assignment and testing method and device
JP2017118229A (ja) 2015-12-22 2017-06-29 ソニー株式会社 情報処理装置、情報処理方法、プログラム
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US10212601B2 (en) 2016-01-21 2019-02-19 Motorola Mobility Llc Hardware verification with RFID-stored build information
US10026648B2 (en) 2016-03-08 2018-07-17 International Business Machines Corporation FDSOI with on-chip physically unclonable function
FR3051600B1 (fr) * 2016-05-20 2018-12-07 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif electronique a identification de type puf
JP6794297B2 (ja) * 2016-05-25 2020-12-02 ヌヴォトンテクノロジージャパン株式会社 認証装置および認証方法
US10452872B2 (en) * 2016-05-26 2019-10-22 Raytheon Company Detection system for detecting changes to circuitry and method of using the same
US10445531B2 (en) * 2016-05-26 2019-10-15 Raytheon Company Authentication system and method
GB201609781D0 (en) 2016-06-03 2016-07-20 Irdeto Bv Secured chip
JP6383384B2 (ja) * 2016-06-24 2018-08-29 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
IT201600072154A1 (it) 2016-07-11 2018-01-11 Ibm Dispositivi elettronici con circuiti di sicurezza individuali
US10778422B2 (en) 2016-07-13 2020-09-15 International Business Machines Corporation Lithographically defined intrinsic identifier
US11797994B2 (en) * 2016-07-15 2023-10-24 Maxim Integrated Products, Inc. Systems and methods for a secure payment terminal without batteries
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10715340B2 (en) 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10803374B2 (en) * 2016-08-08 2020-10-13 Silvio Micali Counterfeit prevention
US10522472B2 (en) 2016-09-08 2019-12-31 Asml Netherlands B.V. Secure chips with serial numbers
JP6585018B2 (ja) 2016-09-12 2019-10-02 株式会社東芝 認証サーバ、認証システムおよび認証方法
US10418324B2 (en) 2016-10-27 2019-09-17 Asml Netherlands B.V. Fabricating unique chips using a charged particle multi-beamlet lithography system
US10572675B2 (en) 2016-11-02 2020-02-25 Cisco Technology, Inc. Protecting and monitoring internal bus transactions
US11095461B2 (en) * 2016-11-04 2021-08-17 Stc.Unm System and methods for entropy and statistical quality metrics in physical unclonable function generated bitstrings
US10121011B2 (en) * 2016-11-16 2018-11-06 The United States Of America As Represented By The Secretary Of The Air Force Apparatus, method and article of manufacture for partially resisting hardware trojan induced data leakage in sequential logics
US10547460B2 (en) * 2016-11-18 2020-01-28 Qualcomm Incorporated Message-based key generation using physical unclonable function (PUF)
US11362845B2 (en) * 2016-11-30 2022-06-14 Taiwan Semiconductor Manufacturing Co., Ltd. Secure communication between server device and clients utilizing strong physical unclonable functions
US10930535B2 (en) 2016-12-02 2021-02-23 Applied Materials, Inc. RFID part authentication and tracking of processing components
US11080431B1 (en) 2016-12-15 2021-08-03 United States Of America As Represented By The Secretary Of The Air Force Mixed-signal process-specific function
DE102017100941A1 (de) * 2017-01-18 2018-07-19 Adtran GmbH Authentifizierung und Zugriff auf eine Vorrichtung einer Festnetzkommunikationsvorrichtung
CN108345352B (zh) * 2017-01-24 2024-03-05 精工爱普生株式会社 电路装置、振荡器件、物理量测定装置、电子设备以及移动体
JP6972562B2 (ja) 2017-01-24 2021-11-24 セイコーエプソン株式会社 回路装置、発振デバイス、物理量測定装置、電子機器及び移動体
JP6867582B2 (ja) * 2017-02-22 2021-04-28 富士通株式会社 信号処理システム
WO2018162938A1 (en) * 2017-03-10 2018-09-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Methods and system for labeling and detecting a clone-resistant physical unit
CN106991340B (zh) * 2017-03-17 2018-05-15 广州小微电子技术有限公司 芯片加密方法
EP3602365B1 (en) * 2017-03-24 2024-02-14 Visa International Service Association Authentication system using secure multi-party computation
ES2684846B1 (es) * 2017-03-31 2019-05-10 Univ Madrid Carlos Iii Dispositivo y procedimiento para la identificación unívoca de un circuito integrado
US10789550B2 (en) 2017-04-13 2020-09-29 Battelle Memorial Institute System and method for generating test vectors
KR102050021B1 (ko) * 2017-04-27 2019-11-28 김태욱 식별키 유용성 판별장치
US11270184B2 (en) * 2017-04-27 2022-03-08 Silvio Micali Counterfeit prevention
US11741332B2 (en) 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys
KR101980964B1 (ko) * 2017-05-24 2019-05-21 성균관대학교산학협력단 카운터 기반 물리적 복제 방지 함수 장치 및 이를 이용한 챌린지-응답 획득 방법
US10944579B2 (en) * 2017-05-26 2021-03-09 Combined Conditional Access Development And Support, Llc Device pairing and authentication
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US10938580B2 (en) 2017-06-06 2021-03-02 Analog Devices, Inc. System and device employing physical unclonable functions for tamper penalties
WO2019011607A1 (en) 2017-07-10 2019-01-17 Intrinsic Id B.V. GENERATION OF A SECURE KEY FROM AN UNCONCLABLE PHYSICAL FUNCTION SOLICITED
US11061997B2 (en) * 2017-08-03 2021-07-13 Regents Of The University Of Minnesota Dynamic functional obfuscation
CN107292636A (zh) * 2017-08-17 2017-10-24 上海焕云网络技术有限公司 一种基于天然生物信息的商品防伪验证系统
DE102017126217B4 (de) * 2017-11-09 2019-06-27 Infineon Technologies Ag PUF-Arbiter-Schaltung
US10841107B2 (en) 2017-11-20 2020-11-17 Analog Devices, Inc. Efficient delay-based PUF implementation using optimal racing strategy
US10429743B2 (en) 2017-11-30 2019-10-01 International Business Machines Corporation Optical mask validation
US10650111B2 (en) 2017-11-30 2020-05-12 International Business Machines Corporation Electrical mask validation
IL256108B (en) 2017-12-04 2021-02-28 Elbit Systems Ltd A system and method for identifying the state of use and originality of a product
US10854251B2 (en) 2017-12-15 2020-12-01 Google Llc Physical identifiers for authenticating an identity of a semiconductor component
US10897364B2 (en) * 2017-12-18 2021-01-19 Intel Corporation Physically unclonable function implemented with spin orbit coupling based magnetic memory
US10715321B2 (en) * 2017-12-22 2020-07-14 Micron Technology, Inc. Physical unclonable function using message authentication code
US10906506B2 (en) 2017-12-28 2021-02-02 Micron Technology, Inc. Security of user data stored in shared vehicles
GB201800280D0 (en) * 2018-01-08 2018-02-21 Artificial Intelligence Res Group Limited Hypercomputation with programmable matter
US10924277B2 (en) 2018-01-25 2021-02-16 Micron Technology, Inc. Certifying authenticity of stored code and code updates
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
CN110324141B (zh) * 2018-03-30 2024-08-13 恩智浦有限公司 抵抗旁信道攻击的物理不可克隆函数和其对应的方法
US10404454B1 (en) 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy
US10778661B2 (en) 2018-04-27 2020-09-15 Micron Technology, Inc. Secure distribution of secret key using a monotonic counter
US10749694B2 (en) 2018-05-01 2020-08-18 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US11044107B2 (en) 2018-05-01 2021-06-22 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US10742406B2 (en) * 2018-05-03 2020-08-11 Micron Technology, Inc. Key generation and secure storage in a noisy environment
JP6550502B1 (ja) * 2018-05-10 2019-07-24 ウィンボンド エレクトロニクス コーポレーション 固有データ生成装置、半導体装置および認証システム
KR102113633B1 (ko) * 2018-05-28 2020-05-20 한국과학기술연구원 사용자 인증 시스템에 사용되는 puf 장치 및 그것의 동작 방법
US10778451B2 (en) * 2018-07-30 2020-09-15 United States Of America As Represented By The Secretary Of The Navy Device and method for hardware timestamping with inherent security
US12013259B2 (en) * 2018-09-26 2024-06-18 Infineon Technologies Ag Providing compensation parameters for sensor integrated circuits
US10839109B2 (en) 2018-11-14 2020-11-17 Massachusetts Institute Of Technology Integrated circuit (IC) portholes and related techniques
US10878133B2 (en) * 2018-11-18 2020-12-29 Nuvoton Technology Corporation Mitigation of side-channel attacks using small-overhead random pre-charging
WO2020112484A1 (en) * 2018-11-26 2020-06-04 Kansas State University Research Foundation Puf-ipa: a puf-based identity preserving lightweight authentication protocol using binary string shuffling
EP3667529B1 (de) * 2018-12-14 2024-02-28 Siemens Aktiengesellschaft Verfahren und vorrichtung zum authentisieren einer fpga-konfiguration
FR3091929B1 (fr) * 2019-01-22 2021-03-19 St Microelectronics Crolles 2 Sas Détermination de la dispersion d'un composant électronique
US11205018B2 (en) 2019-02-14 2021-12-21 International Business Machines Corporation Device identification via chip manufacturing related fingerprints
US10585139B1 (en) 2019-02-14 2020-03-10 Science Applications International Corporation IC device authentication using energy characterization
US11245680B2 (en) 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
US11194978B2 (en) 2019-07-12 2021-12-07 Northrop Grumman Systems Corporation Combined radio frequency identification (RFID)-based asset management and component authentication
EP3771140B1 (en) 2019-07-23 2021-08-25 Nokia Technologies Oy Securing a provable resource possession
US11797718B2 (en) 2019-08-23 2023-10-24 Cryptography Research, Inc. Anti-tamper shield based on strings of series resistors
DE102019123555B4 (de) * 2019-09-03 2022-12-01 Infineon Technologies Ag Physisch obfuskierter schaltkreis
GB201913058D0 (en) * 2019-09-10 2019-10-23 Ttp Plc Unit verification method and device
CA3152175A1 (en) * 2019-09-23 2021-04-01 Carlos Moreno A method and apparatus for detection of counterfeit parts, compromised or tampered components or devices, tampered systems such as local communication networks, and for secure identification of component
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses
JP7312267B2 (ja) * 2019-10-09 2023-07-20 シャープ株式会社 情報処理装置及び情報処理方法
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
US10979054B1 (en) 2020-01-14 2021-04-13 Nuvotonn Technology Corporation Coupling of combinational logic circuits for protection against side-channel attacks
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
US10761809B1 (en) * 2020-03-12 2020-09-01 Katholieke Universiteit Leuven Random number generator
US11079337B1 (en) 2020-03-17 2021-08-03 International Business Machines Corporation Secure wafer inspection and identification
US11734409B2 (en) 2020-04-17 2023-08-22 University Of South Florida Determining electronic component authenticity via electronic signal signature measurement
KR20210142820A (ko) * 2020-05-19 2021-11-26 삼성전자주식회사 공개키와 비밀키를 저장하는 비휘발성 메모리 장치, 전자 장치 및 서비스 제공자
US20230261884A1 (en) * 2020-06-26 2023-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Security component and method of operation
GB2599408A (en) * 2020-09-30 2022-04-06 Nchain Holdings Ltd Physically unclonable functions
GB2599634A (en) * 2020-09-30 2022-04-13 Nchain Holdings Ltd Physically unclonable functions
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
US11575023B2 (en) 2020-11-11 2023-02-07 International Business Machines Corporation Secure chip identification using random threshold voltage variation in a field effect transistor structure as a physically unclonable function
US11761903B2 (en) 2020-11-23 2023-09-19 International Business Machines Corporation Wafer inspection and verification
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法
US11574111B1 (en) 2020-12-31 2023-02-07 Cadence Design Systems, Inc. Electronic design tracing and tamper detection using automatically generated layout patterns
DE102021200770A1 (de) 2021-01-28 2022-07-28 Continental Automotive Gmbh Anordnung, die eine mehrschicht- leiterplatte aufweist, undverfahren zum betreiben einer mehrschicht- leiterplatte
EP4047587A1 (en) * 2021-02-22 2022-08-24 HENSOLDT Sensors GmbH Chip device and method for a randomized logic encryption
GB2605168B (en) * 2021-03-24 2023-03-29 Cirrus Logic Int Semiconductor Ltd An integrated circuit having a secure area
EP4086950A1 (en) * 2021-05-06 2022-11-09 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Semiconductor device with back side protection mechanism
WO2022233720A1 (en) * 2021-05-06 2022-11-10 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Semiconductor device with back side protection mechanism
WO2023046476A1 (en) 2021-09-23 2023-03-30 Intrinsic Id B.V. Random number generation using sparse noise source
US11775696B2 (en) * 2021-10-21 2023-10-03 Hart Intercivic, Inc. Systems, tamper-evident assemblies and methods to detect tampering and/or provide cryptographic evidence of tampering
CN116129955A (zh) 2021-11-12 2023-05-16 三星电子株式会社 存储设备和包括该存储设备的存储系统
IT202100030332A1 (it) * 2021-11-30 2023-05-30 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
KR102688000B1 (ko) * 2021-12-02 2024-07-25 광주과학기술원 채널상태정보를 이용하는 puf 기반 사물인터넷 디바이스 및 그 인증 방법
CN114491681B (zh) * 2022-01-10 2025-04-25 温州大学 一种电压控制的处理器spuf
CN114417437B (zh) * 2022-01-26 2023-07-04 湖北工业大学 一种基于芯片-pcb延时的混合型puf电路及生成响应方法
WO2023186414A1 (en) 2022-03-28 2023-10-05 Intrinsic Id B.V. Hamming distance based matching for puf strings
US12081238B2 (en) * 2022-12-20 2024-09-03 Xilinx, Inc. Registration of a PUF signature and regeneration using a trellis decoder
CN116707772A (zh) * 2023-08-04 2023-09-05 山东天河科技股份有限公司 一种控制器芯片的身份信息管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187546A (ja) 1996-10-25 1998-07-21 Fuji Xerox Co Ltd 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
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カード
US6933627B2 (en) 1991-01-08 2005-08-23 Nextek Power Systems Inc. High efficiency lighting system
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.
DE69414864T2 (de) * 1993-09-09 1999-05-12 British Telecommunications P.L.C., London Schlüsselverteilung in einem netzwerk mit vielfachzugriff unter verwendung von quanten-kryptographie
US5577121A (en) * 1994-06-09 1996-11-19 Electronic Payment Services, Inc. Transaction system for integrated circuit cards
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
US5583933A (en) * 1994-08-05 1996-12-10 Mark; Andrew R. Method and apparatus for the secure communication of data
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
US5598475A (en) * 1995-03-23 1997-01-28 Texas Instruments Incorporated Rolling code identification scheme for remote control applications
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
EP0787328B1 (en) * 1995-08-11 2002-10-23 International Business Machines Corporation Method for verifying the configuration of a computer system
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
US5896300A (en) * 1996-08-30 1999-04-20 Avant| Corporation Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets
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
JPH10326837A (ja) * 1997-03-25 1998-12-08 Toshiba Corp 半導体集積回路装置の製造方法、半導体集積回路装置、半導体装置、及び、半導体装置の製造方法
FR2764413B1 (fr) * 1997-06-10 1999-07-09 Sgs Thomson Microelectronics Procede d'authentification de circuit integre
US7249108B1 (en) * 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6161052A (en) * 1997-10-28 2000-12-12 Micron Electronics, Inc. Method for identifying a component with physical characterization
US6289292B1 (en) * 1997-10-28 2001-09-11 Micron Technology, Inc. System for identifying a component with physical characterization
US6049624A (en) * 1998-02-20 2000-04-11 Micron Technology, Inc. Non-lot based method for assembling integrated circuit devices
JPH11260931A (ja) * 1998-03-15 1999-09-24 Toshiba Microelectronics Corp 半導体集積回路装置の市場故障率推定方法、半導体集積回路装置の製造方法及びテスト用半導体集積回路装置
US7224713B2 (en) * 1998-04-09 2007-05-29 Andrzej Partyka Telemetry system with authentication
US6188715B1 (en) * 1998-04-09 2001-02-13 Andrzej Partyka Frequency hopping system for intermittent transmission with receiver using individual tracking, FFT, and authentication
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
ATE370490T1 (de) * 1998-06-03 2007-09-15 Cryptography Res Inc Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6330668B1 (en) * 1998-08-14 2001-12-11 Dallas Semiconductor Corporation Integrated circuit having hardware circuitry to prevent electrical or thermal stressing of the silicon circuitry
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
US6366622B1 (en) * 1998-12-18 2002-04-02 Silicon Wave, Inc. Apparatus and method for wireless communications
US6301695B1 (en) * 1999-01-14 2001-10-09 Xilinx, Inc. Methods to securely configure an FPGA using macro markers
US6324676B1 (en) * 1999-01-14 2001-11-27 Xilinx, Inc. FPGA customizable to accept selected macros
US6305005B1 (en) * 1999-01-14 2001-10-16 Xilinx, Inc. Methods to securely configure an FPGA using encrypted macros
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US6795837B1 (en) * 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
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
US6898709B1 (en) * 1999-07-02 2005-05-24 Time Certain Llc Personal computer system and methods for proving dates in digital data files
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
JP2001053739A (ja) * 1999-08-10 2001-02-23 Zeon Joho System Kk 暗号化通信方法
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
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
US6898708B2 (en) * 1999-12-07 2005-05-24 Sanyo Electric Co., Ltd. Device for reproducing data
US7005733B2 (en) 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US6973570B1 (en) * 1999-12-31 2005-12-06 Western Digital Ventures, Inc. Integrated circuit comprising encryption circuitry selectively enabled by verifying a device
US6553558B2 (en) * 2000-01-13 2003-04-22 Texas Instruments Incorporated Integrated circuit layout and verification method
JP2001257672A (ja) * 2000-03-14 2001-09-21 Mitsubishi Electric Corp 認証方法、認証装置、認証システム、および、icカード
US7093128B2 (en) * 2000-04-06 2006-08-15 Sony Corporation Information recording/reproducing apparatus and method
BR0017218A (pt) * 2000-04-20 2003-06-24 Yutaka Yasukura Método de inquirição de informação eletrônica
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
US6813599B1 (en) * 2000-07-17 2004-11-02 Silicon Graphics, Inc. Efficient memory structure simulation for sequential circuit design verification
JP5079204B2 (ja) 2000-08-03 2012-11-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 対称鍵暗号のための線形変換
EP1316171A4 (en) * 2000-08-04 2006-05-03 First Data Corp PERSONNEL AND CONTOUR DIGITAL SIGNATURE SYSTEM
JP2002073181A (ja) * 2000-08-30 2002-03-12 Nec Corp 動作保証電圧制御方式
JP2002073424A (ja) * 2000-08-31 2002-03-12 Mitsubishi Electric Corp 半導体装置、端末装置および通信方法
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
WO2002050910A1 (en) * 2000-12-01 2002-06-27 Hitachi, Ltd Semiconductor integrated circuit device identifying method, semiconductor integrated circuit device producing method, and semiconductor integrated circuit device
US7316934B2 (en) * 2000-12-18 2008-01-08 Zavitan Semiconductors, Inc. Personalized hardware
US6578190B2 (en) * 2001-01-11 2003-06-10 International Business Machines Corporation Process window based optical proximity correction of lithographic images
US7441126B2 (en) * 2001-01-16 2008-10-21 Russell Dellmo Secure wireless LAN device including tamper resistant feature and associated method
WO2002078249A1 (en) * 2001-03-23 2002-10-03 Kent Ridge Digital Labs 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
US6865502B2 (en) * 2001-04-04 2005-03-08 International Business Machines Corporation Method and system for logic verification using mirror interface
FR2823398B1 (fr) * 2001-04-04 2003-08-15 St Microelectronics Sa Extraction d'une donnee privee pour authentification d'un circuit integre
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
US7110982B2 (en) * 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
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 機器認証管理システム及び機器認証管理方法
WO2003046986A2 (en) * 2001-11-28 2003-06-05 Koninklijke Philips Electronics N.V. Semiconductor device, and means for checking the authenticity
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
US7260726B1 (en) * 2001-12-06 2007-08-21 Adaptec, Inc. Method and apparatus for a secure computing environment
US7251730B2 (en) * 2001-12-21 2007-07-31 Qualcomm Incorporated Method and apparatus for simplified audio authentication
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US6707345B2 (en) * 2002-01-14 2004-03-16 Ip-First, Llc Oscillator frequency variation mechanism
US6886023B2 (en) * 2002-01-14 2005-04-26 Ip-First, Llc Apparatus for generating random numbers
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
DE10302625B4 (de) 2003-01-23 2005-09-29 Infineon Technologies Ag Bipolartransistor und Verfahren zum Herstellen desselben
US7331001B2 (en) * 2003-04-10 2008-02-12 O2Micro International Limited Test card for multiple functions testing
US9281945B2 (en) 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
US7249408B2 (en) * 2004-03-24 2007-07-31 Headway Technologies, Inc. Method of manufacturing a thin-film magnetic head

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187546A (ja) 1996-10-25 1998-07-21 Fuji Xerox Co Ltd 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置

Also Published As

Publication number Publication date
AU2003221927A1 (en) 2003-11-03
US7904731B2 (en) 2011-03-08
US7840803B2 (en) 2010-11-23
EP2302555A3 (en) 2011-08-10
US20060221686A1 (en) 2006-10-05
US8386801B2 (en) 2013-02-26
US7818569B2 (en) 2010-10-19
US7757083B2 (en) 2010-07-13
EP2320344A3 (en) 2011-07-06
JP4733924B2 (ja) 2011-07-27
EP2320344A2 (en) 2011-05-11
KR20040102110A (ko) 2004-12-03
JP2011123909A (ja) 2011-06-23
EP1497863A2 (en) 2005-01-19
US20120033810A1 (en) 2012-02-09
JP2005523481A (ja) 2005-08-04
US20060271792A1 (en) 2006-11-30
WO2003090259A3 (en) 2004-07-08
US7681103B2 (en) 2010-03-16
JP5335829B2 (ja) 2013-11-06
US20070183194A1 (en) 2007-08-09
US20060271793A1 (en) 2006-11-30
EP2320344B1 (en) 2018-09-12
WO2003090259A2 (en) 2003-10-30
CA2482635A1 (en) 2003-10-30
EP2302555B1 (en) 2016-10-05
AU2003221927A8 (en) 2003-11-03
US20030204743A1 (en) 2003-10-30
US20090222672A1 (en) 2009-09-03
CA2482635C (en) 2014-09-16
EP2302555A2 (en) 2011-03-30

Similar Documents

Publication Publication Date Title
KR101092039B1 (ko) 집적회로의 인증 방법 및 장치
US10742421B1 (en) Methods and systems for anonymous hardware attestation
US11153098B2 (en) Systems, devices, and methods for recording a digitally signed assertion using an authorization token
US10735205B1 (en) Methods and systems for implementing an anonymized attestation chain
Zalivaka et al. Reliable and modeling attack resistant authentication of arbiter PUF in FPGA implementation with trinary quadruple response
Gassend Physical random functions
Guajardo et al. Physical unclonable functions and public-key crypto for FPGA IP protection
Herder et al. Physical unclonable functions and applications: A tutorial
US7178025B2 (en) Access system utilizing multiple factor identification and authentication
WO2021113881A1 (en) Secure computing hardware apparatus
KR20180102627A (ko) 프라이버시-보존, 상호 puf-기반 인증 프로토콜
EP2339777A2 (en) Method of authenticating a user to use a system
Plusquellic et al. Privacy-preserving authentication protocols for IoT devices using the SiRF PUF
Nandalal et al. Design of programmable hardware security modules for enhancing blockchain based security framework
Plusquellic PUF-based authentication
HK1153015A (en) Key generation
HK1153015B (en) Key generation
Guajardo et al. Intrinsic physical unclonable functions in field programmable gate arrays

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20041015

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20080411

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20100222

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20100929

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20110930

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20111202

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20111202

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20141121

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20141121

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20151123

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20151123

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20161123

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20171124

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20181122

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20181122

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20191126

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20191126

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20201124

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20211123

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20221122

Start annual number: 12

End annual number: 12

PC1801 Expiration of term

Termination date: 20231014

Termination category: Expiration of duration