KR101681219B1 - 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증 - Google Patents

링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증 Download PDF

Info

Publication number
KR101681219B1
KR101681219B1 KR1020157023912A KR20157023912A KR101681219B1 KR 101681219 B1 KR101681219 B1 KR 101681219B1 KR 1020157023912 A KR1020157023912 A KR 1020157023912A KR 20157023912 A KR20157023912 A KR 20157023912A KR 101681219 B1 KR101681219 B1 KR 101681219B1
Authority
KR
South Korea
Prior art keywords
circuit
ring
ring oscillators
ring oscillator
puf
Prior art date
Application number
KR1020157023912A
Other languages
English (en)
Other versions
KR20150117284A (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 KR20150117284A publication Critical patent/KR20150117284A/ko
Application granted granted Critical
Publication of KR101681219B1 publication Critical patent/KR101681219B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/156Arrangements in which a continuous pulse train is transformed into a train having a desired pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

하나의 특성은, 물리적으로 클론가능하지 않은 기능 "PUF"를 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들(318)을 포함하는 집적 회로 "IC"에 관한 것이다. IC는, 연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들(320), 및 또한, 제 1 복수의 링 오실레이터들(318) 및 제 2 복수의 링 오실레이터들(320)에 커플링된 링 오실레이터 선택 회로(312)를 더 포함한다. 링 오실레이터 선택 회로(312)는, 제 1 복수의 링 오실레이터들(318) 및/또는 제 2 복수의 링 오실레이터들(320) 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들(322n)을 선택하도록 적응된다. 특히, 링 오실레이터 선택 회로(312)는 PUF 및 연령 센서 회로에 의해 공통적으로 공유된다. 또한, IC는, 2개의 링 오실레이터 출력들을 수신 및 비교하고 출력 신호(326)를 생성하도록 적응된 출력 기능 회로(314)를 더 포함할 수도 있다.

Description

링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증{INTEGRATED CIRCUIT IDENTIFICATION AND DEPENDABILITY VERIFICATION USING RING OSCILLATOR BASED PHYSICAL UNCLONABLE FUNCTION AND AGE DETECTION CIRCUITRY}
[0001] 다양한 특성들은 집적 회로들에 관한 것으로, 더 상세하게는, 링 오실레이터 기반 물리적인 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로(IC) 식별(ID) 및 IC 의존성 검증에 관한 것이다.
[0002] 퍼베이시브 컴퓨팅(Pervasive Computing)의 시대에서, 소프트웨어 저작권 보호, 위조 IC들(즉, 칩들), 및 시스템 신뢰성에 관련된 많은 보안 이슈들이 존재한다. 소프트웨어 보호는, 소프트웨어의 허가되지 않은 카피를 방지하기 위해 사용되는 컴퓨터 보안 기술군이다. 즉, 소프트웨어는, 사용자가 그것을 사용하도록 적절히 라이센싱(license)되는지를 결정하고, 그러한 경우에만 구동할 수 있어야 한다. 소프트웨어 보호와 관련된 다른 문제점은, 소프트웨어가 구동하고 있는 칩 또는 플랫폼이 모조 칩인지를 어떻게 식별할지이다. 모조 칩들은, 산업 전반에 걸쳐 급증하고 있고, 전자기기 공급 체인에 위협이 되고 있다. 따라서, 전자기기 공급 체인에서 모조 칩들의 사용을 식별 및 제한하는 것이 필수적이다.
[0003] 온-칩 물리 클론가능하지 않은 기능(PUF)은, IC들 내부에서 제조 프로세스 변화들을 활용하는 칩-고유 챌린지(challenge)-응답 메커니즘이다. 챌린지와 대응 응답 사이의 관계는 IC 내의 로직 및 상호접속부들에서의 복잡하고 통계적인 변경들에 의해 결정된다. IC들에서의 상이한 PUF 구현들이 종래 기술에서 발견될 수도 있다. 예를 들어, 링-오실레이터 기반 PUF는, 동일하게 레이-아웃된 링 오실레이터들의 주파수에서 랜덤하지만 정적인 변경들을 야기하는 IC의 제조 프로세스 변경들을 활용한다.
[0004] 도 1은, 종래 기술에서 발견되는 링 오실레이터 기반 PUF 회로(102)의 일 예의 개략적인 블록도를 도시한다. 복수의 링 오실레이터(RO)들(104)은 동시에 인에이블링될 수도 있으며, 그들의 출력들은 2개 또는 그 초과의 스위치(멀티플렉서)들(106, 108)에 전송된다. 챌린지는, 각각의 스위치(106, 108)가 복수의 RO들(104) 중에서 단일 RO를 그 후에 선택하게 하는 스위치들(106, 108)로의 입력으로서 서빙한다. 스위치들(106, 108)에 전송된 챌린지는, 각각의 스위치(106, 108)가 상이한 RO를 선택하도록 설계된다. 선택된 RO들 각각은, 그 각각이 그들을 동일하게 하려는 시도로 제조될 수도 있더라도, 반도체 레벨에서의 약간의 제조 변경들로 인해 그들과 연관된 약간 상이한 공진 주파수를 갖는다. PUF 출력 응답은, 카운터들(110 및 112)에 의해 측정/저장된 바와 같은 이들 선택된 링 오실레이터들의 주파수들의 페어-와이즈(pair-wise) 비교(114)에 의해 생성된다. 예를 들어, 제 1 카운터(110)가 제 2 카운터(112)보다 더 높은 주파수를 검출하면, 로직 "1"이 생성될 수도 있으며, 그렇지 않으면, 로직 "0"이 생성될 수도 있다. 이러한 방식으로, 행해진 비교들은 챌린지/응답 메커니즘을 표현하며, 여기서, 선택된 RO 쌍은 챌린지이고, RO 주파수 비교 결과는 응답이다.
[0005] 이상적으로, 챌린지로서 선택된 각각의 RO 쌍은 고유한 응답을 생성할 것이다. 생성된 응답은, 챌린지 입력에 기초한 시간 이전에 결정될 수 없어야 한다. 또한, PUF로의 동일한 챌린지 입력은 모든 각각의 시간에서 동일한 응답 출력을 생성해야 한다. 그러나, 다른 것들 중에서도, 시간에 걸치고 이들 속성들 중 하나 또는 그 초과를 사용하는 것은 참(true)으로 유지되지 않을 수도 있다. 예를 들어, 시간에 걸친 하나의 RO의 주파수는, 남용으로 인해 느려질 수도 있으며, 동일한 챌린지 입력은 상이한 응답 출력을 생성할 수도 있다(예를 들어, 로직 "1"은 "0"으로 플립(flip)될 수도 있음).
[0006] 상술된 것과 같은 RO-기반 PUF 회로는 칩 식별자 넘버를 생성하기 위해 사용될 수도 있다. 그러나, 이러한 방식으로만 생성되는 칩 식별자 넘버에만 의존하는 칩 식별 보안 시스템은 본질적으로 제한된다.
[0007] CMOS 프로세스 기술이 공격적인(aggressive) 스캐일링(scaling)을 계속 따르므로, 신뢰가능한 회로들을 설계하는 것은 각각의 기술적인 이정표(milestone)로 더욱 더 난제가 되고 있다. 전기장(electrical field)이 나노-스캐일 CMOS 디바이스들에서 계속 증가하므로, BTI(bias temperature instability), HCI(hot carrier injection), 및 TDDB(time-dependent dielectric breakdown)와 같은 신뢰성 이슈들이 더욱 유행하고 있다. 이들 난제들 중 가장 시급한 난제는, PMOS 트랜지스터들의 Si-SiO 인터페이스에서의 트랩(trap) 생성에 의해 야기되는 NBTI(negative bias temperature instability)이다. 따라서, 디지털 회로 열화의 정밀한 측정이 노화-내성 회로들을 설계하는 중요한 양상이다.
[0008] 도 2는, 종래 기술에서 발견되는 IC 연령 센서 회로(200)의 개략적인 블록도를 도시한다. 2개의 RO(202, 204) 출력들은, RO들(202, 204) 사이의 주파수 차이 fdiff를 결정하는 위상 비교기(206)에 커플링된다. 제 1 RO(202)(예를 들어, ROSTR)는, 그것이 칩의 공칭 공급 전압 VDD보다 큰 공급 전압 레벨 VDD _ STR로 거의 항상 파워 온되기 때문에(즉, 그것이 계속 동작하고 있기 때문에), "스트레스(stress)"받는다. 대조적으로, 제 2 RO(204)(예를 들어, ROREF)는 통상적으로 파워 오프된다(즉, 그것은 동작하지 않는다). 그 후, 측정이 소망되는 시간들 동안, RO들 둘 모두는 공칭 공급 전압 VDD에서 동작하게 되고(즉, 턴 온되고), RO들(202, 204) 사이의 주파수 차이는 위상 비교기(206)에 의해 측정된다. 시간에 걸쳐, 스트레스받는 RO(202)의 동작 주파수는 스트레스받지 않는 RO(204)의 동작 주파수에 비해 감소할 것이다(즉, fdiff는 증가할 것임). 그 후, IC 연령 센서 회로(200)의 연령, 및 그에 따라 차례로 센서 회로(200)가 상주하는 더 큰 회로의 연령은, fdiff가 시간에 걸쳐 증가한 양을 분석함으로써 결정될 수도 있다.
[0009] 상술된 회로들 각각은 IC의 활성 표면 상에서 귀중한 칩 영역을 점유한다. 따라서, 그러한 시스템들을 구현하기 위해 필요한 칩 영역에서의 감소로 PUF 보안 회로들 및 IC 연령 센서 회로들에 의해 부여된 이점들을 추출할 수 있는 개선된 회로 설계가 가치있다. 또한, 모조 칩들을 식별하고 칩 건강상태(health) 모니터링을 수행(즉, 칩 노화를 검출)하기 위한 시스템의 증가된 능력들에 대한 필요성이 항상 존재한다.
[0010] 일 특성은, 물리적으로 클론가능하지 않은 기능(PUF)을 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들, 연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들, 및 제 1 복수의 링 오실레이터들 및 제 2 복수의 링 오실레이터들에 커플링된 링 오실레이터 선택 회로를 포함하는 집적 회로를 제공하며, 여기서, 링 오실레이터 선택 회로는 제 1 복수의 링 오실레이터들 및/또는 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하도록 적응되고, 링 오실레이터 선택 회로는 PUF 및 연령 센서 회로에 의해 공통적으로 공유된다. 일 양상에 따르면, 집적 회로는, 2개의 링 오실레이터 출력들을 수신 및 비교하고 출력 신호를 생성하도록 적응된 출력 기능 회로를 더 포함한다. 다른 양상에 따르면, 제 1 복수의 링 오실레이터들 및 제 2 복수의 링 오실레이터들은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함한다. 또 다른 양상에 따르면, 선택 회로는, 복수의 제 1 링 오실레이터들 및 복수의 제 2 링 오실레이터들로부터 출력들을 수신하는 2개 또는 그 초과의 선택 스위치들을 포함하며, 선택 스위치는 적어도 2개의 링 오실레이터 출력들을 선택한다.
[0011] 일 양상에 따르면, 선택 회로는, 프로세싱 회로에 의해 수신된 챌린지에 응답하여 적어도 2개의 링 오실레이터 출력들을 선택한다. 다른 양상에 따르면, 선택 회로는, 챌린지에 응답하여 프로세싱 회로에 적어도 2개의 링 오실레이터 출력들을 제공한다. 또 다른 양상에 따르면, 제 1 복수의 링 오실레이터들은, 제 1 복수의 링 오실레이터들 중 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써, 물리적으로 클론가능하지 않은 기능을 구현하며, 여기서, 제 1 복수의 링 오실레이터들 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성한다. 다른 양상에 따르면, 선택적으로 인에이블링된 2개의 링 오실레이터들은 서로 적어도 10μm 떨어져 로케이팅된다.
[0012] 일 양상에 따르면, 제 2 복수의 링 오실레이터들은, 제 2 복수의 링 오실레이터들 중 제 1 링 오실레이터를 계속 구동시키고, 연령 검출이 확인되지 않으면 제 2 복수의 링 오실레이터들 중 제 2 링 오실레이터를 유휴상태(idle)로 유지하며, 제 1 링 오실레이터와 제 2 링 오실레이터 사이의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인함으로써, 연령 센서 회로를 구현한다. 다른 양상에 따르면, 제 2 복수의 링 오실레이터들의 제 1 및 제 2 링 오실레이터들은 서로의 10μm 내에 로케이팅된다. 또 다른 양상에 따르면, 제 2 복수의 링 오실레이터들의 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들은, 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들이 로케이팅되는 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 집적 회로의 다양한 부분들에 걸쳐 분포된다.
[0013] 다른 특성은, 물리적으로 클론가능하지 않은 기능(PUF)을 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들을 제공하는 단계, 연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들을 제공하는 단계, 링 오실레이터 선택 회로를 제공하는 단계, 제 1 복수의 링 오실레이터들 및 제 2 복수의 링 오실레이터들에 링 오실레이터 선택 회로를 커플링시키는 단계 - 링 오실레이터 선택 회로는 제 1 복수의 링 오실레이터들 및/또는 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하도록 적응됨 -, 및 PUF와 연령 센서 회로 사이에서 링 오실레이터 선택 회로를 공유하는 단계를 포함하는 집적 회로를 제조하는 방법을 제공한다. 일 양상에 따르면, 방법은, 2개의 링 오실레이터 출력들을 수신 및 비교하고 출력 신호를 생성하도록 적응된 출력 기능 회로를 제공하는 단계를 더 포함한다. 다른 양상에 따르면, 방법은, 제 1 복수의 링 오실레이터들과 제 2 복수의 링 오실레이터들 사이에서 적어도 하나의 링 오실레이터를 공유하는 단계를 더 포함한다. 또 다른 양상에 따르면, 선택 회로는, 복수의 제 1 링 오실레이터들 및 복수의 제 2 링 오실레이터들로부터 출력들을 수신하도록 적응된 2개 또는 그 초과의 선택 스위치들을 포함하며, 선택 스위치는 적어도 2개의 링 오실레이터 출력들을 선택한다. 다른 양상에 따르면, 선택 회로는, 프로세싱 회로에 의해 수신된 챌린지에 응답하여 적어도 2개의 링 오실레이터 출력들을 선택하도록 적응된다.
[0014] 일 양상에 따르면, 선택 회로는, 챌린지에 응답하여 프로세싱 회로에 적어도 2개의 링 오실레이터 출력들을 제공하도록 적응된다. 다른 양상에 따르면, 제 1 복수의 링 오실레이터들은, 제 1 복수의 링 오실레이터들 중 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써, 물리적으로 클론가능하지 않은 기능을 구현하도록 적응되며, 여기서, 제 1 복수의 링 오실레이터들 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성한다. 또 다른 양상에 따르면, 제 2 복수의 링 오실레이터들은, 제 2 복수의 링 오실레이터들 중 제 1 링 오실레이터를 계속 구동시키고, 연령 검출이 확인되지 않으면 제 2 복수의 링 오실레이터들 중 제 2 링 오실레이터를 유휴상태로 유지하며, 제 1 링 오실레이터와 제 2 링 오실레이터 사이의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인함으로써, 연령 센서 회로를 구현하도록 적응된다. 또 다른 양상에 따르면, 방법은, 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터의 쌍들이 로케이팅되는 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 집적 회로의 다양한 부분들에 걸쳐 제 2 복수의 링 오실레이터들의 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들을 분포하는 단계를 더 포함한다.
[0015] 다른 특성은, 물리적으로 클론가능하지 않은 기능(PUF)을 구현하기 위한 수단, 연령 센서 회로를 구현하기 위한 수단, 및 PUF를 구현하기 위한 수단 및 연령 센서 회로를 구현하기 위한 수단에 커플링된 신호를 선택하기 위한 수단을 포함하는 집적 회로를 제공하며, 여기서, 선택하기 위한 수단은, PUF를 구현하기 위한 수단 및 연령 센서 회로를 구현하기 위한 수단 중 적어도 하나로부터 적어도 2개의 신호 출력을 선택하도록 적응되고, 선택하기 위한 수단은, PUF를 구현하기 위한 수단 및 연령 센서 회로를 구현하기 위한 수단에 의해 공통적으로 공유된다. 일 양상에 따르면, 집적 회로는, 신호들을 비교하기 위한 수단을 더 포함하며, 비교하기 위한 수단은, PUF를 구현하기 위한 수단 및 연령 센서 회로를 구현하기 위한 수단 중 적어도 하나로부터 2개의 신호출력을 수신 및 비교하도록 적응되고, 비교하기 위한 수단은 출력 신호를 생성한다. 다른 양상에 따르면, PUF를 구현하기 위한 수단 및 연령 센서 회로를 구현하기 위한 수단은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함한다. 또 다른 양상에 따르면, PUF를 구현하기 위한 수단은, PUF를 구현하기 위한 수단의 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써 수행되며, 여기서, 제 1 복수의 링 오실레이터들 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성한다.
[0016] 일 양상에 따르면, 연령 센서 회로를 구현하기 위한 수단의 제 1 링 오실레이터를 계속 구동시키고, 연령 검출이 확인되지 않으면 연령 센서 회로를 구현하기 위한 수단의 제 2 링 오실레이터를 유휴상태로 유지하며, 제 1 링 오실레이터와 제 2 링 오실레이터 사이의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인함으로써, 연령 센서 회로를 구현하기 위한 수단이 수행된다. 다른 양상에 따르면, 연령 센서 회로를 구현하기 위한 수단의 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들은, 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들이 로케이팅되는 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 집적 회로의 다양한 부분들에 걸쳐 분포된다.
[0017] 다른 특성은, 적어도 하나의 프로세서에 의해 실행되는 경우, 프로세서로 하여금, 제 1 복수의 링 오실레이터들을 이용하여 물리적으로 클론가능하지 않은 기능(PUF)을 구현하게 하고, 제 2 복수의 링 오실레이터들을 이용하여 연령 센서 회로를 구현하게 하며, 그리고 제 1 복수의 링 오실레이터들 및 제 2 복수의 링 오실레이터들에 커플링된 링 오실레이터 선택 회로를 사용하여 제 1 복수의 링 오실레이터들 및/또는 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하게 하는 하나 또는 그 초과의 명령들이 저장된 컴퓨터 판독가능 저장 매체를 제공하며, 여기서, 링 오실레이터 선택 회로는 PUF 및 연령 센서 회로에 의해 공통적으로 공유된다.
[0018] 다른 특성은, 버스에 커플링된 복수의 컴포넌트들을 포함하는 전자 디바이스를 제공하며, 각각의 컴포넌트는, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로, 및 버스에 커플링된 프로세싱 회로를 구현하도록 구성된 링 오실레이터들의 어레이를 가지며, 프로세싱 회로는, 하나 또는 그 초과의 컴포넌트들에 대한 연령 정보를 획득하는 것, 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는 상이한 컴포넌트들로부터 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것 중 적어도 하나를 수행하도록 적응된다. 일 양상에 따르면, 링 오실레이터들의 각각의 어레이는, PUF를 구현하기 위한 제 1 복수의 링 오실레이터들 및 연령 센서 회로를 구현하기 위한 제 2 복수의 링 오실레이터들을 포함한다. 다른 양상에 따르면, 각각의 컴포넌트는, 프로세싱 회로에 의해 수신된 챌린지에 응답하여 적어도 2개의 링 오실레이터 출력들을 선택하는 선택 회로를 더 포함한다. 또 다른 양상에 따르면, 각각의 컴포넌트는, 2개의 링 오실레이터 출력들을 수신 및 비교하고, 비교에 기초하여 출력 신호를 생성하며, 출력 신호를 프로세싱 회로에 제공하도록 적응된 출력 기능 회로를 더 포함한다. 다른 양상에 따르면, 선택 회로는, 프로세싱 회로에 2개의 링 오실레이터 출력들을 제공한다.
[0019] 다른 특성은, 버스를 제공하는 단계, 프로세싱 회로를 제공하는 단계, 복수의 컴포넌트들을 제공하는 단계 - 각각의 컴포넌트는, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 구성된 링 오실레이터들의 어레이를 가짐 -, 복수의 컴포넌트들을 버스에 커플링시키는 단계, 및 프로세싱 회로를 버스에 커플링시키는 단계를 포함하는 전자 디바이스를 제조하는 방법을 제공하며, 프로세싱 회로는, 하나 또는 그 초과의 컴포넌트들에 대한 연령 정보를 획득하는 것, 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는 상이한 컴포넌트들로부터 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것 중 적어도 하나를 수행하도록 적응된다.
[0020] 다른 특성은, 통신하기 위한 수단에 커플링된 복수의 컴포넌트들 - 각각의 컴포넌트는, 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF)을 구현하기 위한 수단, 및 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하기 위한 수단을 가짐 -, 및 통신하기 위한 수단에 커플링된 프로세싱하기 위한 수단을 포함하는 전자 디바이스를 제공하며, 프로세싱하기 위한 수단은, 하나 또는 그 초과의 컴포넌트들에 대한 연령 정보를 획득하는 것, 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는 2개 또는 그 초과의 상이한 컴포넌트들로부터 PUF를 구현하기 위한 수단 및 회로 연령 정보를 제공하기 위한 수단으로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것 중 적어도 하나를 수행하도록 적응된다.
[0021] 다른 특성은, 적어도 하나의 프로세서에 의해 실행되는 경우, 프로세서로 하여금, 버스에 커플링되고 링 오실레이터들의 어레이를 각각 갖는 복수의 컴포넌트들이, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 하게 하고, 버스에 커플링된 프로세싱 회로가, 하나 또는 그 초과의 컴포넌트들에 대한 연령 정보를 획득하고, 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하며, 그리고/또는 상이한 컴포넌트들로부터 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하도록 하게 하는 하나 또는 그 초과의 명령들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
[0022] 도 1은, 종래 기술에서 발견되는 링 오실레이터 기반 PUF 회로의 일 예의 개략적인 블록도를 도시한다.
[0023] 도 2는, 종래 기술에서 발견되는 IC 연령 센서 회로의 개략적인 블록도를 도시한다.
[0024] 도 3은 예시적인 칩 식별 및 칩 건강상태 모니터링 장치의 고레벨 개략도를 도시한다.
[0025] 도 4는 링 오실레이터의 개략적인 블록도를 도시한다.
[0026] 도 5는 PUF 및 연령 센서 회로의 개략적인 블록도를 도시한다.
[0027] 도 6은 칩 식별 및 칩 건강상태 모니터링 장치의 개략적인 블록도를 도시한다.
[0028] 도 7은 전자 디바이스의 개략적인 블록도를 도시한다.
[0029] 도 8은 집적 회로를 구현하는 방법을 도시한다.
[0030] 도 9는 전자 디바이스를 구현하는 방법을 도시한다.
[0031] 다음의 설명에서, 본 발명의 다양한 양상들의 완전한 이해를 제공하기 위해 특정한 세부사항들이 제공된다. 그러나, 양상들이 이들 특정한 세부사항들 없이도 실시될 수도 있다는 것은 당업자들에 의해 이해될 것이다. 예를 들어, 회로들은, 불필요하게 상세히 양상들을 불명료하게 하는 것을 회피하기 위해 블록도들로 도시될 수도 있다. 다른 예시들에서, 잘-알려진 회로들, 구조들 및 기술들은 본 발명의 양상들을 불명료하게 하지 않기 위해 도시되지 않을 수도 있다.
[0032] 단어 "예시적인"은 예, 예시, 또는 예증으로서 기능하는 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에 설명된 임의의 구현 또는 양상은 본 발명의 다른 양상들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 유사하게, 용어 "양상들"은, 본 발명의 모든 양상들이 설명된 특성, 이점 또는 동작 모드를 포함한다는 것을 요구하지는 않는다. 본 명세서에서 사용된 바와 같이, 용어들 "칩 건강상태 모니터링" 또는 "건강상태 모니터링"은 간단히, IC 및/또는 IC 내의 모듈의 노화 및/또는 사용으로 인한 IC 및/또는 IC 내의 모듈의 신뢰성 및/또는 의존성을 검출하는 것을 지칭한다.
개관
[0033] 일 구현은, (예를 들어, 고유한 식별자들/키들을 생성하기 위한) 칩 연령 검출 및 PUF 능력들 둘 모두를 제공하는 링-오실레이터(RO)-기반 회로를 제공한다. 즉, 연령 검출 센서 및 PUF는, 하나 또는 그 초과의 링 오실레이터 체인들 및/또는 선택기 회로를 공유함으로써 동일한 링 오실레이터 회로 어레이를 이용하여 구현될 수도 있다. 공통 또는 공유 회로에서 이들 보안 및 칩 건강상태 모니터링 기능들 둘 모두를 집적하는 것은 다이에서 필요한 영역을 감소시킨다.
[0034] 다른 양상은, 호스트 시스템 내의 다수의 컴포넌트들에서 그러한 듀얼-목적 링 오실레이터 회로를 구현하기 위해 제공된다. 따라서, 호스트 시스템은, 시스템의 전체 건강상태를 결정하기 위해 개별 컴포넌트들을 모니터링할 수 있으며, 또한, 상이한 컴포넌트들의 2개 또는 그 초과의 그러한 링 오실레이터 회로들로부터의 출력들을 결합함으로써 보안 컴포넌트들(예를 들어, 키들, 식별자들 등)을 구축할 수도 있다.
예시적인 메커니즘
[0035] 도 3은 본 발명의 일 양상에 따른 예시적인 칩 식별 및 칩 건강상태 모니터링 장치(300)의 고레벨 개략도를 도시한다. 장치(300)는, PUF 및 연령 센서 회로(302), 프로세싱 회로(304), 및/또는 메모리 회로(306)를 포함할 수도 있다.
[0036] PUF 및 연령 센서 회로(302)는, RO 어레이(310), RO 선택기 회로(312)(예를 들어, 신호를 선택하기 위한 수단), 및 출력 기능 회로(314)(예를 들어, 신호들을 비교하기 위한 수단)를 포함한다. RO 어레이(310)는 복수의 RO들(316)을 포함한다. RO들(316)의 제 1 그룹은 PUF 모듈(318)과 연관될 수도 있지만, RO들(316)의 제 2 그룹은 칩 연령 센서 모듈(320)과 연관될 수도 있다. 특히, RO들(316) 중 하나 또는 그 초과는, (동일한 3개의 RO들을 포함하는 모듈들(318, 320) 둘 모두의 중첩한 파선들에 의해 표시된 바와 같이) PUF 모듈(318) 및 칩 연령 센서 모듈(320) 둘 모두와 연관된다. RO 어레이(310)에 도시되고 각각의 모듈(318, 320)과 연관된 RO들(316)의 수는 단지 예시적일 뿐이다.
[0037] RO 어레이(310)의 복수의 RO들(316) 각각은, 자신의 주파수를 표현하는 출력(322a, 322b, 322c, ..., 322n)을 갖는다. 이들 주파수 출력들은 RO 선택기 회로(312)로의 입력이다. RO 선택기 회로(312)는, 복수의 RO 주파수 출력들(322a, 322b, 322c, ..., 322n)의 RO 주파수들(324a, 324b) 중 2개(또는 그 초과)를 선택한다. 예를 들어, 선택기 회로(312)는, RO 주파수들(324a, 324b)을 선택하는 하나 또는 그 초과의 스위치들(예를 들어, 멀티플렉서들)을 포함할 수도 있다. 그 후, RO 주파수들(324a, 324b)은, 2개(또는 그 초과)의 주파수들(324a, 324b)을 분석하고 출력 응답(326)을 생성하는 출력 기능 회로(314)로 입력된다. 일 양상에서, 출력 기능 회로(314)는, 2개(또는 그 초과)의 입력 주파수들(324a, 324b) 중 어느 것이 큰지에 의존하여 자신의 출력 신호(예를 들어, 로직 "1" 또는 "0")를 변경시키는 간단한 비교기 회로일 수도 있다. 다른 양상들에서, 출력 기능 회로(314)는, 그 회로가 출력 스트링(326)을 생성하기 위해 2개(또는 그 초과)의 입력 주파수들(324a, 324b)에 대한 다른 분석들을 수행하도록 점점 복잡해질 수도 있다.
[0038] 다른 것들 중에서, 프로세싱 회로(304)는, PUF 및 연령 센서 회로(302)로의 입력으로서 기능하는 챌린지(328)를 생성한다. 상세하게, 챌린지(328)는, 2개(또는 그 초과)의 RO 주파수 출력들(322a, 322b, 322c, ... 322n) 중 어느 것을 출력들(324a, 324b)로서 선택할지를 RO 선택기 회로(312)에게 명령하는데이터를 포함한다. 챌린지(328)는 또한, RO 어레이(310) 내의 선택된 RO들(316)을 인에이블링 또는 디스에이블링(예를 들어, 파워 온 또는 파워 오프)하는 데이터를 포함할 수도 있다. 일 예에서, 챌린지(328)는, PUF 및 연령 센서 회로(302)가 식별자 값을 생성하기 위해 자신의 PUF 능력들을 이용하기 위한 요청일 수도 있다. 다른 예에 따르면, 챌린지(328)는, PUF 및 연령 센서 회로(302)가 칩 건강상태 모니터링 정보를 제공하기 위해 자신의 회로 연령 감지 능력들을 이용하기 위한 요청일 수도 있다. 어느 경우이든, 프로세싱 회로(304)는, 자신의 챌린지(328)에 대한 응답(326)을 PUF 및 연령 센서 회로(302)로부터 수신한다.
[0039] 일 예에 따르면, 메모리 회로(306)는, 예를 들어, 칩 식별자(330) 및/또는 칩 연령 값(332)을 저장하는 판독 전용 메모리(ROM)일 수도 있다. 메모리 칩(306)은 프로세싱 회로(304)에 통신가능하게 커플링될 수도 있다(334). 예를 들어, 프로세싱 회로(304)는, 칩 식별 챌린지(328)를 PUF 및 연령 센서 회로(302)에 이슈할 수도 있다. 자신의 PUF 능력들을 사용하면, PUF 및 연령 센서 회로(302)는, PUF 및 연령 센서 회로(302)가 상주하는 IC 또는 IC 서브모듈에 고유한 응답(326)으로서 칩 식별자 값을 생성할 수도 있다. 그 후, 프로세싱 회로(304)는, 메모리(306)에 저장된 칩 식별자(330)와 칩 식별자 값 응답(326)을 비교할 수도 있다. 2개가 매칭하면, 프로세싱 회로(304) 상에서 실행되고 있는 IC 및/또는 다른 소프트웨어는, 계속 일반적으로 동작할 수도 있으며, 그렇지 않으면, 에러 메시지가 생성될 수도 있고, IC 및/또는 프로세싱 회로(304)는 중단될 수도 있다. 다른 예로서, 프로세싱 회로(304)는, 건강상태 모니터링 챌린지(328)를 PUF 및 연령 센서 회로(302)에 이슈할 수도 있다. 자신의 건강상태 모니터링 능력들을 사용하면, PUF 및 연령 센서 회로(302)는 회로 연령 정보 응답(326)을 프로세싱 회로(304)에 제공할 수도 있다. 그 후, 프로세싱 회로(304)는, 메모리(306)에 저장된 만료 연령(332)과 회로 연령 정보 응답(326)을 비교할 수도 있다. 회로 연령 정보 응답(326) 값이 만료 연령(332)을 초과하지 않으면, 프로세싱 회로(304) 상에서 실행되고 있는 IC 및/또는 다른 소프트웨어는, 계속 일반적으로 동작할 수도 있으며, 그렇지 않으면, 에러 메시지가 생성될 수도 있고, IC 및/또는 프로세싱 회로(304)는 중단될 수도 있다.
[0040] 도 4는 일 양상에 따른 링 오실레이터(400)의 개략적인 블록도를 도시한다. RO(400)는 AND 게이트(402) 및 홀수의 인버터들(404a, 404b, ... 404n)을 포함한다. AND 게이트(402)는 적어도 2개의 입력 단자들(406, 408) 및 출력 단자(410)를 갖는다. 그 후, AND 게이트의 출력 단자(410)는 제 1 인버터(404a)로 입력될 수도 있다. 그 후, 인버터들(404a, 404b, ...)은 도시된 바와 같이 직렬로 접속된다. 그 후, RO(400)의 출력(412)은 AND 게이트의 입력 단자들(406) 중 하나에 커플링된다. 다른 입력 단자(408)는, 예를 들어, 도 3에 도시된 프로세싱 회로(304)와 유사한 프로세싱 회로에 의해 제어될 수도 있는 Enable 신호에 커플링된다. 도 4를 참조하면, RO(400)가 충분히 파워링(power)되고 Enable 신호가 높으면(예를 들어, 로직 값 "1"), RO 출력(412)은 로직 값들 사이에서 앞뒤로 토글링(즉, "1"과 "0" 사이에서 앞뒤로 토글링)될 것이다.
[0041] 도 5는 일 양상에 따른 PUF 및 연령 센서 회로(302)의 개략적인 블록도를 도시한다. 회로(302)는 복수의 RO들(502, 504, 506, 508, 510), 제 1 스위치(512), 제 2 스위치(514), 제 1 카운터(516), 제 2 카운터(518), 및 비교기(520)를 포함한다. 도 3 및 5를 참조하면, 복수의 RO들(502, 504, 506, 508, 510)은, 예를 들어, RO 어레이(310)일 수도 있다. 스위치들(512, 514)은, 예를 들어, RO 선택기(312)일 수도 있다. 유사하게, 카운터들(516, 518) 및 비교기(520)는, 예를 들어, 출력 기능 회로(314)일 수도 있다. RO들(502, 504, 506, 508, 510)은, 예를 들어, 도 4에 도시된 RO(400)일 수도 있다.
[0042] 도시된 예에서, RO들(502, 504, 506, 508, 510)은 그들의 기능에 의존하여 3개의 타입들로 분류/그룹화될 수도 있다. 제 1 그룹은, 회로(302)의 PUF 능력에 대해 주로 사용되는 제 1 복수의 RO들(502, 504, 506)(예를 들어, PUF를 구현하기 위한 수단)로 구성된다. N개의 그러한 RO들(502, 504, 506)이 존재할 수도 있으며, 여기서, N은 2보다 크거나 그와 동일한 임의의 양의 정수이다. 단지 일 예로서, N은 512, 1024, 또는 2048일 수도 있다. 특히, PUR RO들(502, 504, 506)은, 도 5에 도시된 하나 또는 그 초과의 Enable 신호들(즉, EnablePUF _1, EnablePUF _2, EnablePUF _ 3)을 사용하여 선택적으로 인에이블링될 수도 있다(즉, 종종 턴 온되고 종종 턴 오프됨).
[0043] 제 2 그룹은 건강상태 모니터링에 대해 주로 사용되는 적어도 하나의 RO(508)로 구성된다. 이러한 RO(508)는, 압도적으로 많은 시간에서 인에이블링되며, 따라서, "스트레스받는 RO"로 라벨링된다. 일 양상에서, 스트레스받는 RO(508)는, PUF RO들(502, 504, 506)과 같은 다른 회로에 의해 이용되는 공칭 공급 전압 VDD보다 큰 공급 전압 VDD _ STR을 이용할 수도 있다. 다른 양상에서, 스트레스받는 RO(508)는 다른 PUF RO들(502, 504, 506)에 의해 사용된 동일한 공칭 공급 전압 VDD를 이용할 수도 있다. 제 3 그룹은 건강상태 모니터링에 대해 주로 사용되는 적어도 하나의 RO(510)로 구성된다. 이러한 RO(510)는, 압도적으로 많은 시간에서 디스에이블링되며, 따라서, "유휴상태 기준 RO"로 라벨링된다. 스트레스받는 RO(508) 및 유휴상태 기준 RO(510)는 제 2 복수의 RO들로 고려될 수도 있으며, 연령 센서 회로를 구현하기 위한 수단이다.
[0044] 일 동작 모드에서, 회로(302)는 키 또는 식별자를 생성하기 위해 자신의 PUF 능력들을 이용할 수도 있다. 예를 들어, 회로(302)는, 도 3에 도시된 프로세싱 회로(304)와 같은 프로세싱 회로로부터 칩 식별자 또는 키 생성 챌린지(522)를 수신할 수도 있다. 도 5를 참조하면, 챌린지(522)는, 적절한 Enable 신호들(예를 들어, EnablePUF_1, EnablePUF _ 2, ... EnablePUF _N 중 2개)을 턴 온시킴으로써 복수의 PUF RO들(502, 504, 506)로부터 2개의 PUF RO들이 선택적으로 활성화/인에이블링되게 할 수도 있다. 챌린지(522)는 또한, 2개의 스위치들(512, 514)이, 선택적으로 활성화/인에이블링되었던 복수의 출력들(524, 526, 528) 중 2개의 상이한 RO 출력들을 선택 및 통과하게 할 것이다. 따라서, 각각의 스위치(512, 514)는 하나의 PUF RO 신호(530, 532)를 카운터(516, 518)에 제공한다. RO 출력들(530, 532)의 주파수는, 그들 각각의 카운터들(316, 318)의 값들을 증가시키도록 기능한다. 선택된 PUF RO들 사이의 작은 차이들로 인해, RO 출력들(530, 532)은 약간 상이한 주파수들을 가질 것이다. 그러므로, 카운터들(516, 518)은, 상이한 레이트들로 변하며, 시간의 미리 정의된 기간 이후 상이한 카운터 값들을 가질 것이다. 그 후, 카운터들(516, 518)은 비교기 회로(520)에 의해 비교되고, 출력 신호(534)는 비교에 기초하여 생성된다. 예를 들어, 제 1 카운터(516)의 값이 제 2 카운터(518)의 값보다 더 크면, 로직 "1"이 생성될 수도 있으며, 그렇지 않으면, 로직 "0"이 생성될 수도 있다. 이러한 프로세스는 복수회 수행될 수도 있으며, 각각의 횟수는 가급적, 충분한 길이(예를 들어, 비트 스트링)의 식별자 또는 키가 생성될 때까지 비교를 위해 상이한 PUF RO들(502, 504, 506)을 선택한다.
[0045] 다른 동작 모드에서, 회로(302)는, 회로(302)가 상주하는 IC 또는 IC 서브모듈의 회로 연령 정보를 제공하기 위해 자신의 건강상태 모니터링 능력들을 이용할 수도 있다. 예를 들어, 회로(302)는, 도 3에 도시된 프로세싱 회로(304)와 같은 프로세싱 회로로부터 칩 연령 요청 챌린지(522)를 수신할 수도 있다. 도 5를 참조하면, 챌린지(522)는 스트레스받는 RO(508) 및 유휴상태 기준 RO(510)가 측정 상태로 진입하게 할 수도 있다. 측정 상태 동안, 스트레스받는 RO(508)는 계속 인에이블링(즉, 여전히 동작)될 수도 있지만, 그것이 대체적으로 스트레스 공급 전압 VDD _ STR을 사용하고 있었다면, 그것은 공칭 공급 전압 VDD를 이용할 수도 있다(그렇지 않으면, 그의 공급 전압은 VDD로 유지됨). 또한, 유휴상태 기준 RO(510)는, 그것이 동작하게 되도록 EnableAS _Ref를 통해 인에이블링된다(즉, 그것은 공칭 공급 전압 VDD를 사용하여 파워 온되었음). 챌린지(522)는 또한, 2개의 스위치들(512, 514)이, 스트레스받은 및 유휴상태 기준 RO들(508, 510)의 출력들을 선택 및 통과하게 할 것이다. 스트레스받는 RO(508)가 대부분의 시간에서 동작상태로 유지된다는 사실로 인해, 그의 오실레이팅 주파수는 시간에 걸쳐 감소하지만, 유휴상태 기준 RO(510)의 오실레이팅 주파수는, 그것이 일반적으로 파워 오프되므로 비교적 동일하게 유지된다. 따라서, 스트레스받는 RO(508)와 유휴상태 기준 RO(510) 사이의 출력 주파수 차이는 시간의 경과에 걸쳐 증가한다. 그 후, 이들 2개의 RO들(508, 510)의 출력들(530, 532)은, 출력 응답 신호(534)가 생성될 수도 있도록 카운터들(516, 518) 및 비교기(520)에 제공된다. 예를 들어, 이러한 경우, 카운터 값들(516, 518) 사이의 실제 차이는, 2개의 RO들(508, 510) 사이의 주파수 차이의 추정을 제공하기 위한 출력(534)일 수도 있다. 값들에서의 차이는, IC 또는 IC 서브모듈의 회로 연령 정보를 전체적으로 확인하기 위해, (예를 들어, 도 3의 메모리 회로(306)에 저장된) 경험적으로 획득된 데이터와 비교될 수도 있다.
[0046] PUF RO들(502, 504, 506)만이 (예를 들어, 거의 항상 파워 온된 스트레스받는 RO(508)와는 달리) 전력을 보전하도록 선택적으로 인에이블링될 수도 있더라도, 그들의 오실레이팅 주파수들은 또한, 사용을 통해 시간에 걸쳐 감소할 수도 있다. 따라서, 2개의 PUF RO들의 출력 주파수들 사이의 차이는, 서로에 대해 시간에 걸쳐 변할 수도 있다. 이러한 차이는, 다른 PUF RO와 비교하여 더 낮은 오실레이팅 주파수를 이전에 가졌던 하나의 PUF RO가 동일한 PUF RO와 비교하여 약간 더 높은 오실레이팅 주파수를 추후에 가질 수도 있도록 충분히 극심할 수도 있다. 따라서, 2개의 PUF RO들 사이의 비교를 야기하는 챌린지(522)는, 출력 응답(534) 변화(예를 들어, 출력(534)에서의 비트 플립)를 초래할 수도 있다. 따라서, 회로(302)의 건강상태 모니터링 능력들은, 어떤 PUF RO들이 그들의 본래의 오실레이팅 주파수에서 너무 많은 변화를 경험하는지를 검출하여, 그들이 더 이상 신뢰가능하지 않도록 하는데 사용될 수도 있다(즉, 그들은, 다른 PUF RO들과 비교할 경우 출력(534)에서 비트 플립들을 야기하는 경향이 있음).
[0047] 따라서, 다른 동작 모드에 따라, 회로(302)는, 선택된 PUF RO(502, 504, 506) 경로의 신뢰도 정보를 제공하기 위해 자신의 건강상태 모니터링 능력들을 이용할 수도 있다. 예를 들어, 회로(302)는, 도 3에 도시된 프로세싱 회로(304)와 같은 프로세싱 회로로부터 경로 신뢰 요청 챌린지(522)를 수신할 수도 있다. 도 5를 참조하면, 챌린지(522)는 원하는 PUF RO, 예를 들어, PUF RO(504)가 EnablePUF _2를 통해 인에이블링되게 하고, 유휴상태 기준 RO(510)가 측정 상태로 진입(즉, RO(510)는 EnableAS _Ref를 통해 파워 온됨)하게 할 수도 있다. 챌린지(522)는 또한, 2개의 스위치들(512, 514)이, PUF RO(504) 및 유휴상태 기준 RO들(510)의 출력들을 선택 및 통과하게 할 것이다. PUF RO(504)의 오실레이팅 주파수가 (사용 때문에) 시간에 걸쳐 감소하고, 유휴상태 기준 RO(510)의 오실레이팅 주파수가 실질적으로 동일하게 유지된다는 사실로 인해, PUF RO(504)와 유휴상태 기준 RO(510) 사이의 주파수 차이는 시간에 걸쳐 너무 증가하게 된다. 그 후, 이들 2개의 RO들(504, 510)의 출력들(530, 532)은, 출력 응답 신호(534)가 생성될 수도 있도록 카운터들(516, 518) 및 비교기(520)에 제공된다. 예를 들어, 이러한 경우, 카운터 값들(516, 518) 사이의 실제 차이는, 2개의 RO들(504, 510) 사이의 주파수 차이의 추정을 제공하기 위한 출력(534)일 수도 있다. 값들에서의 차이는, 2개의 RO들(504, 510)의 본래 획득되고 저장된 주파수 차이 값들과 비교될 수도 있으며, 임의의 상당한 변화가 투영된(projected) PUF RO(504) 경로 신뢰도 이슈들을 위해 평가될 수도 있다.
[0048] 도 5는 단일의 스트레스받은 RO(508) 및 단일 기준 RO(510)를 도시한다. 그러나, PUF 및 연령 센서 회로(302)는 복수의 스트레스받은 RO들 및 복수의 기준 RO들을 포함할 수도 있다. 예를 들어, 복수의 스트레스받은 및/또는 기준 RO들은 IC의 다양한 물리적 부분들에 걸쳐 분포될 수도 있다. IC의 상이한 부분들이 상이한 스트레스들에 영향을 받을 수도 있으므로, IC의 몇몇 부분들은 더 확연한(pronounced) 노화 효과들을 경험할 수도 있다. 예를 들어, IC의 상이한 영역들은, 다이 상에서 상이한 프로세스 변경들, 온도에서의 상이한 변동들, 및/또는 공급 전압에서의 상이한 변동들을 경험할 수도 있다. 이들 효과들은 IC의 특정한 영역들에 로케이팅된 몇몇 회로 컴포넌트들에 부가적인 스트레스를 야기할 수도 있다. 따라서, IC의 상이한 부분들/영역들에 (RO들(508, 510)과 같은) 스트레스받는 및 기준 RO들을 배치시키는 것은, 배치 영역에 로컬한 노화 효과들을 정량화하는 것을 도울 수도 있으며, 심각한 노화를 경험하고 더 이상 신뢰가능하지 않은 PUF RO들의 결함있는 키 또는 식별자 생성을 검출하는 것을 도울 수도 있다. 따라서, 일 양상에 따르면, 스트레스받는 및 기준 RO들의 쌍은 초기 주파수 차이들을 최소화시키기 위해 서로에 대해 매우 근접하게 (예를 들어, 10μm 미만으로 떨어지게) 배치될 수도 있다. 다른 양상에 따르면, 스트레스받는 및 기준 RO들의 쌍은, 그들이 멀어지도록(예를 들어, 10μm보다 크게 떨어지게) 배치 및/또는 선택될 수도 있다.
[0049] 또한, 복수의 PUF RO들(502, 504, 506)은 IC의 다양한 부분들에 배치될 수도 있다. 2개의 상이한 PUF RO들이 상술된 바와 같이 키/식별자 비트를 생성하도록 비교를 위해 선택되는 경우, 선택된 PUF RO들은 IC의 상이한 부분들로부터 도래할 수도 있다. 즉, 챌린지(522)는 상세하게, 서로에 대해 바로 다음에 물리적으로 레이 아웃되는 2개의 PUF RO들 대신에, 적어도 특정한 임계 거리만큼 서로 물리적으로 떨어져 로케이팅되는 2개의 상이한 PUF RO들을 선택할 수도 있다. 전술한 단락에서 설명된 바와 같이, IC의 상이한 영역들은, 다이 상에서 상이한 프로세스 변경들, 온도에서의 상이한 변동들, 및/또는 공급 전압에서의 상이한 변동들을 경험할 수도 있다. 따라서, 서로 물리적으로 멀리있는 2개의 PUF RO들은, 그 멀리있는 PUF RO들의 쌍이 더 큰 제조 변경을 경험할 수도 있으므로, 서로 물리적으로 근접한 (예를 들어, 서로에 대해 바로 다음에 있는) 2개의 PUF RO들보다 그들의 동작 주파수들 사이에서 더 큰 차이를 가질 수도 있다. 따라서, 2개의 PUF RO들은, 그들의 동작 주파수들이 더 양호하게 구별가능하게 될 수도 있는 확률을 증가시키기 위해 IC의 상이한 부분들로부터 키/식별자 생성을 위해 선택될 수도 있다. 예를 들어, 선택된 2개의 PUF RO들은 IC 상에서 적어도 10μm, 50μm, 100μm, 200μm, 500μm, 또는 1000μm 떨어져 있을 수도 있다.
[0050] 도 6은 다른 양상에 따른 칩 식별 및 칩 건강상태 모니터링 장치(600)의 개략적인 블록도를 도시한다. 도 3에 도시된 장치(300)와 유사하게, 도 6에 도시된 장치(600)는 또한, PUF 및 연령 센서 회로(602), 프로세싱 회로(604), 및 메모리 회로(606)를 포함하며, 도 3의 장치(300)와 동일한 동작들을 수행한다. 도 6에 도시된 PUF 및 연령 센서 회로(602)는, 도 6의 PUF 및 연령 센서 회로(602)가 카운터들 및 비교기들(도 3 및 도 5 참조)을 포함할 수도 있는 출력 기능 회로(314)가 부족하다는 점을 제외하고, 도 3에 도시된 PUF 및 연령 센서 회로(302)와 동일하다. PUF 및 연령 센서 회로(602)는 RO 어레이(610) 및 RO 선택기 회로(612)를 포함한다. RO 선택기 회로(612)는, PUF 및 연령 센서 회로(602)와는 별개의 회로일 수도 있는 프로세싱 회로(604)에 2개(또는 그 초과)의 RO 출력들(624a, 624b)을 응답으로서 출력한다. 프로세싱 회로(302)는, 도 6의 PUF 및 연령 센서 회로(600)에 대한 출력 기능 회로(314)에 의해 수행되는 동일한 기능들을 수행할 수도 있다.
[0051] 도 7은 일 양상에 따른 전자 디바이스(700)의 개략적인 블록도를 도시한다. 전자 디바이스(700)는, 모바일 폰 및 컴퓨터와 같은 IC들을 갖는 임의의 디지털 전자 디바이스일 수도 있다. 전자 디바이스(700)는, 복수의 회로 모듈들(702, 704, 706, 708), 프로세싱 회로(720), 메모리 회로(722), 다른 프로세서(들)(724), 및 전술한 회로들을 상호접속시키는 하나 또는 그 초과의 버스들(710)을 포함한다. 회로 모듈들(702, 704, 706, 708)(또한, "컴포넌트들"로 본 명세서에서 지칭됨)은, 전자 디바이스(700)에 대해 상이한 기능들을 수행하는 별개의 IC들일 수도 있다. 예를 들어, 회로 A(702)는 멀티미디어 서브시스템 회로일 수도 있고, 회로 B(704)는 암호화 프로세싱 회로일 수도 있고, 회로 C(706)는 모뎀 회로일 수도 있으며, 회로 N(708)은 저전력 오디오 회로일 수도 있다. 물론, 전자 디바이스(700)는 훨씬 더 많은 회로 모듈들을 가질 수도 있다.
[0052] 도시된 예에서, 각각의 회로 모듈(702, 704, 706, 708)은 그 자신의 PUF 및 연령 센서 회로(PUF/ASC)(712, 714, 716, 718)를 포함한다. PUF/ASC들(712, 714, 716, 718)은, 도 3에 도시된 PUF 및 연령 센서 회로(302) 또는 도 6에 도시된 PUF 및 연령 센서 회로(602) 중 어느 하나일 수도 있다. 각각의 회로 모듈(702, 704, 706, 708)이 그 자신의 PUF/ASC(712, 714, 716, 718)를 포함하므로, 각각의 회로 모듈(702, 704, 706, 708)은, 키/식별자들 및/또는 건강상태 모니터링 정보를 생성하고 전자 디바이스의 프로세싱 회로(720)에 제공할 수도 있다(파선들의 화살표는, 모듈들(702, 704, 706, 708)과 프로세싱 회로(720) 사이의 통신을 표시함). 프로세싱 회로(720)는 메모리 회로(722)에 저장된 데이터에 대한 응답을 검증할 수도 있다.
[0053] 일 예에 따르면, PUF/ASC들(712, 714, 716, 718)은, 도 3에 도시된 PUF 및 연령 센서 회로(302)와 동일하다. 이러한 경우, 프로세싱 회로(720)는, 챌린지를 각각의 PUF/ASC(712, 714, 716, 718)에 전송할 수도 있으며, PUF/ASC(712, 714, 716, 718) 그 자체는, 필요한 RO 주파수 비교들을 수행하고, 응답을 프로세싱 회로(720)에 역으로 전송할 것이다. 예를 들어, PUF/ASC들(712, 714, 716, 718)은, 칩 식별자 또는 키 생성 챌린지에 응답하여 키 또는 식별자 스트링을 생성할 수도 있다. 다른 예로서, PUF/ASC(712, 714, 716, 718)는 칩 연령/건강상태 요청 챌린지에 응답하여 회로 연령 정보를 제공할 수도 있다. 예를 들어, 모듈들(702, 704, 706, 708)과 프로세싱 회로(720) 사이에서의 버스(710)를 통한 통신들을 최소화시키기 위해 모듈들(702, 704, 706, 708)의 수가 높으면(예를 들어, 5 또는 그 초과), 로컬적으로 생성된 출력 응답 프로세싱 방식이 사용될 수도 있다.
[0054] 다른 예에 따르면, PUF/ASC들(712, 714, 716, 718)은, 도 6에 도시된 PUF 및 연령 센서 회로(602)와 동일하다. 이러한 경우, 프로세싱 회로(720)는, 챌린지를 각각의 PUF/ASC(712, 714, 716, 718)에 전송할 수도 있으며, 응답으로, 프로세싱 회로(720)는 PUF/ASC들(712, 714, 716, 718)로부터 2개(또는 그 초과)의 RO 출력들을 수신할 것이다. 그 후, 프로세싱 회로(720)는 필요한 RO 주파수 비교들을 수행할 것이다. 예를 들어, PUF/ASC들(712, 714, 716, 718)은, 칩 식별자 또는 키 생성 챌린지에 응답하여 2개의 RO 출력들을 프로세싱 회로(720)에 제공할 수도 있다. 그 후, 프로세싱 회로(720)는, 그 회로가 수신하는 이들 RO 출력들에 기초하여 키 또는 식별자 스트링 그 자체를 생성할 것이다. 예를 들어, RO 출력들을 모듈들(702, 704, 706, 708)로부터 프로세싱 회로(720)에 통신하는 것이 타이밍 및/또는 전력 소비 관점으로부터 성가시지는 않을 것이므로, 모듈들(702, 704, 706, 708)의 수가 낮으면(예를 들어, 4 또는 그 미만), 그러한 중앙에 로케이팅된 출력 응답 프로세싱 방식이 사용될 수도 있다.
[0055] 각각의 칩 상에서의 PUF/ASC들(712, 714, 716, 718)의 그러한 분산 시스템은, 프로세싱 회로(720)가 회로 모듈들(702, 704, 706, 708) 중 임의의 모듈이 노화로 인해 신뢰가능하지 않을 수도 있는지를 결정하게 한다. 그것은 또한, 프로세싱 회로(720)가 단지 하나 대신 수 개의 상이한 PUF/ASC들(712, 714, 716, 718)로부터의 응답들에 기초하여 키 또는 식별자(예를 들어, 제 2 고유한 식별자 또는 키)를 생성하게 한다. 이것은, 더 큰 엔트로피 및 더 많은 보안 키 또는 식별자 생성을 허용한다.
[0056] 도 8은 본 발명의 일 양상에 따른, 집적 회로를 제조하는 방법(800)을 도시한다. 먼저, 물리적으로 클론가능하지 않은 기능(PUF)을 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들이 제공된다(802). 다음으로, 연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들이 제공된다(804). 다음으로, 링 오실레이터 선택 회로가 제공된다(806). 다음으로, 링 오실레이터 선택 회로는 제 1 복수의 링 오실레이터들 및 제 2 복수의 링 오실레이터들에 커플링되며, 여기서, 링 오실레이터 선택 회로는, 제 1 복수의 링 오실레이터들 및/또는 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하도록 적응된다(808). 최종적으로, 링 오실레이터 선택 회로는 PUF와 연령 센서 회로 사이에서 공유된다(810).
[0057] 도 9는 본 발명의 일 양상에 따른, 전자 디바이스를 제조하는 방법(900)을 도시한다. 먼저, 버스 및 프로세싱 회로가 제공된다(902). 다음으로, 복수의 컴포넌트들이 제공되며, 여기서, 각각의 컴포넌트는, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 구성된 링 오실레이터들의 어레이를 갖는다(904). 다음으로, 복수의 컴포넌트들은 버스에 커플링된다(906). 다음으로, 프로세싱 회로는 또한 버스에 커플링되며, 여기서, 프로세싱 회로는, 하나 또는 그 초과의 컴포넌트들에 대한 연령 정보를 획득하는 것, 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는 상이한 컴포넌트들로부터 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것 중 적어도 하나를 수행하도록 적응된다(908).
[0058] 도 3-9에 도시된 컴포넌트들, 단계들, 특성들, 및/또는 기능들 중 하나 또는 그 초과는, 단일 컴포넌트, 단계, 특성 또는 기능으로 재배열 및/또는 결합되거나, 수 개의 컴포넌트들, 단계들, 또는 기능에 임베딩될 수도 있다. 부가적인 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들은 또한, 본 발명을 벗어나지 않으면서 부가될 수도 있다. 도 3-7에 도시된 장치, 디바이스들, 및/또는 컴포넌트들은 도 8 및 9에 설명된 방법들, 특성들, 또는 단계들 중 하나 또는 그 초과를 수행하도록 구성될 수도 있다. 본 명세서에 설명된 알고리즘들은 또한, 효율적으로 소프트웨어에 구현되고 그리고/또는 하드웨어에 임베딩될 수도 있다.
[0059] 또한, 본 발명의 일 양상에서, 도 3 및 6에 도시된 프로세싱 회로(304, 604)는, 도 8에 설명된 알고리즘들, 방법들, 및/또는 단계들을 수행하도록 상세하게 설계 및/또는 하드-와이어링(hard-wired)된 특수화된 프로세서들(예를 들어, 주문형 집적 회로(예를 들어, ASIC))일 수도 있다. 따라서, 그러한 특수화된 프로세서(예를 들어, ASIC)는 도 8에 설명된 알고리즘들, 방법들, 및/또는 단계들을 실행하기 위한 수단의 일 예일 수도 있다. 또한, 본 발명의 다른 양상에서, 도 7에 도시된 프로세서(724)는, 도 9에 설명된 알고리즘들, 방법들, 및/또는 단계들을 수행하도록 상세하게 설계 및/또는 하드-와이어링된 특수화된 프로세서(예를 들어, 주문형 집적 회로(예를 들어, ASIC))일 수도 있다. 따라서, 그러한 특수화된 프로세서(예를 들어, ASIC)는 도 9에 설명된 알고리즘들, 방법들, 및/또는 단계들을 실행하기 위한 수단의 일 예일 수도 있다.
[0060] 또한, 본 발명의 양상들은, 흐름도, 흐름 다이어그램, 구조도, 또는 블록도로서 도시된 프로세스로서 설명될 수도 있음을 유의한다. 흐름도가 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 그의 동작들이 완료되는 경우 종결된다. 프로세스는, 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응하는 경우, 그의 종결은 그 함수의 호출(calling) 함수 또는 메인 함수로의 리턴에 대응한다.
[0061] 또한, 저장 매체는, 판독-전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체들, 광학 저장 매체들, 플래시 메모리 디바이스들 및/또는 다른 머신-판독가능 매체들을 포함하는 데이터를 저장하기 위한 하나 또는 그 초과의 디바이스들, 및 정보를 저장하기 위한 프로세서-판독가능 매체들, 및/또는 컴퓨터-판독가능 매체들을 표현할 수도 있다. 용어들 "머신-판독가능 매체", "컴퓨터-판독가능 매체", 및/또는 "프로세서-판독가능 매체"는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들과 같은 비-일시적인 매체들을 포함할 수도 있지만 이에 제한되지는 않는다. 따라서, 본 명세서에 설명된 다양한 방법들은, "머신-판독가능 매체", "컴퓨터-판독가능 매체", 및/또는 "프로세서-판독가능 매체"에 저장될 수도 있고, 하나 또는 그 초과의 프로세서들, 머신들, 및/또는 디바이스들에 의해 실행될 수도 있는 명령들 및/또는 데이터에 의해 완전히 또는 부분적으로 구현될 수도 있다.
[0062] 또한, 본 발명의 양상들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 결합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체 또는 다른 저장부(들)와 같은 머신-판독가능 매체에 저장될 수도 있다. 프로세서는 필요한 태스크들을 수행할 수도 있다. 코드 세그먼트는, 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트(statement)들의 임의의 결합을 표현할 수도 있다. 코드 세그먼트는, 정보, 데이터, 독립변수(argument)들, 파라미터들, 또는 메모리 콘텐츠들을 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 독립변수들, 파라미터들, 데이터 등은, 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 통해 전달, 포워딩, 또는 송신될 수도 있다.
[0063] 본 명세서에 기재된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 엘리먼트들, 및/또는 컴포넌트들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 컴포넌트들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
[0064] 본 명세서에 기재된 예들과 관련하여 설명된 방법들 또는 알고리즘들은, 프로세싱 유닛, 프로그래밍 명령들, 또는 다른 지시들의 형태로 직접 하드웨어로, 프로세서에 의해 실행가능한 소프트웨어 모듈, 또는 이 둘의 결합으로 구현될 수도 있으며, 단일 디바이스에 포함되거나 다수의 디바이스들에 걸쳐 분산될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링될 수도 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
[0065] 당업자들은, 본 명세서에 기재된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 추가적으로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다.
[0066] 본 명세서에 설명된 본 발명의 다양한 특성들은 본 발명을 벗어나지 않으면서 상이한 시스템들에서 구현될 수 있다. 본 발명의 전술한 양상들은 단지 예들일 뿐이며, 본 발명을 제한하는 것으로서 해석되지 않음을 유의해야 한다. 본 발명의 양상들의 설명은, 청구항들의 범위를 제한하는 것이 아니라 예시적인 것으로 의도된다. 그러므로, 본 발명의 교시들은, 다른 타입들의 장치들에 용이하게 적용될 수 있으며, 많은 대안들, 변형들, 및 변경들은 당업자들에게 명백할 것이다.

Claims (44)

  1. 집적 회로로서,
    물리적으로 클론가능하지 않은 기능(PUF)을 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들;
    연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들; 및
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들에 커플링된 링 오실레이터 선택 회로를 포함하며,
    상기 링 오실레이터 선택 회로는, 상기 제 1 복수의 링 오실레이터들 및/또는 상기 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하도록 구성되고,
    상기 링 오실레이터 선택 회로는 상기 PUF 및 상기 연령 센서 회로에 의해 공통적으로 공유되는, 집적 회로.
  2. 제 1 항에 있어서,
    2개의 링 오실레이터 출력들을 수신 및 비교하고 출력 신호를 생성하도록 구성된 출력 기능 회로를 더 포함하는, 집적 회로.
  3. 제 1 항에 있어서,
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함하는, 집적 회로.
  4. 제 1 항에 있어서,
    상기 링 오실레이터 선택 회로는, 상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들로부터 출력들을 수신하는 2개 또는 그 초과의 선택 스위치들을 포함하며,
    상기 선택 스위치들의 각각은 하나의 링 오실레이터 출력을 선택하는, 집적 회로.
  5. 제 1 항에 있어서,
    상기 링 오실레이터 선택 회로는, 프로세싱 회로에 의해 수신된 챌린지(challenge)에 응답하여 상기 적어도 2개의 링 오실레이터 출력들을 선택하는, 집적 회로.
  6. 제 5 항에 있어서,
    상기 선택 회로는, 상기 챌린지에 응답하여 상기 프로세싱 회로에 상기 적어도 2개의 링 오실레이터 출력들을 제공하는, 집적 회로.
  7. 제 1 항에 있어서,
    상기 제 1 복수의 링 오실레이터들은, 상기 제 1 복수의 링 오실레이터들 중 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써, 상기 물리적으로 클론가능하지 않은 기능을 구현하고,
    상기 제 1 복수의 링 오실레이터들 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성하는, 집적 회로.
  8. 제 7 항에 있어서,
    상기 선택적으로 인에이블링된 2개의 링 오실레이터들은 서로 적어도 십(10)μm 떨어져 로케이팅되는, 집적 회로.
  9. 제 1 항에 있어서,
    상기 제 2 복수의 링 오실레이터들은,
    상기 제 2 복수의 링 오실레이터들 중 제 1 링 오실레이터를 계속 구동시키고;
    연령 검출이 확인되지 않으면, 상기 제 2 복수의 링 오실레이터들 중 제 2 링 오실레이터를 유휴상태로 유지하며; 그리고,
    상기 제 1 링 오실레이터와 상기 제 2 링 오실레이터 사이에서의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인
    함으로써, 상기 연령 센서 회로를 구현하는, 집적 회로.
  10. 제 9 항에 있어서,
    상기 제 2 복수의 링 오실레이터들의 상기 제 1 링 오실레이터 및 상기 제 2 링 오실레이터는 서로의 십(10)μm 내에 로케이팅되는, 집적 회로.
  11. 제 9 항에 있어서,
    상기 제 2 복수의 링 오실레이터들 중 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들은, 상기 계속 구동하는 링 오실레이터들 및 상기 유휴상태의 링 오실레이터들의 쌍들이 로케이팅되는 상기 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 상기 집적 회로의 상이한 부분들에 로케이팅되는, 집적 회로.
  12. 집적 회로를 제조하는 방법으로서,
    물리적으로 클론가능하지 않은 기능(PUF)을 부분적으로 구현하도록 구성된 제 1 복수의 링 오실레이터들을 제공하는 단계;
    연령 센서 회로를 부분적으로 구현하도록 구성된 제 2 복수의 링 오실레이터들을 제공하는 단계;
    링 오실레이터 선택 회로를 제공하는 단계;
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들에 상기 링 오실레이터 선택 회로를 커플링시키는 단계 - 상기 링 오실레이터 선택 회로는, 상기 제 1 복수의 링 오실레이터들 및/또는 상기 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하도록 구성됨 -; 및
    상기 PUF와 상기 연령 센서 회로 사이에서 상기 링 오실레이터 선택 회로를 공유하는 단계를 포함하는, 집적 회로를 제조하는 방법.
  13. 제 12 항에 있어서,
    상기 2개의 링 오실레이터 출력들을 수신 및 비교하고 출력 신호를 생성하도록 구성된 출력 기능 회로를 제공하는 단계를 더 포함하는, 집적 회로를 제조하는 방법.
  14. 제 12 항에 있어서,
    상기 제 1 복수의 링 오실레이터들과 상기 제 2 복수의 링 오실레이터들 사이에서 적어도 하나의 링 오실레이터를 공유하는 단계를 더 포함하는, 집적 회로를 제조하는 방법.
  15. 제 12 항에 있어서,
    상기 링 오실레이터 선택 회로는, 상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들로부터 출력들을 수신하도록 구성된 2개 또는 그 초과의 선택 스위치들을 포함하며,
    상기 선택 스위치들의 각각은 하나의 링 오실레이터 출력을 선택하는, 집적 회로를 제조하는 방법.
  16. 제 12 항에 있어서,
    상기 링 오실레이터 선택 회로는, 프로세싱 회로에 의해 수신된 챌린지에 응답하여 상기 적어도 2개의 링 오실레이터 출력들을 선택하도록 구성되는, 집적 회로를 제조하는 방법.
  17. 제 16 항에 있어서,
    상기 선택 회로는, 상기 챌린지에 응답하여 상기 프로세싱 회로에 상기 적어도 2개의 링 오실레이터 출력들을 제공하도록 구성되는, 집적 회로를 제조하는 방법.
  18. 제 12 항에 있어서,
    상기 제 1 복수의 링 오실레이터들은, 상기 제 1 복수의 링 오실레이터들 중 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써, 상기 물리적으로 클론가능하지 않은 기능을 구현하도록 구성되고,
    상기 제 1 복수의 링 오실레이터들 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성하는, 집적 회로를 제조하는 방법.
  19. 제 18 항에 있어서,
    상기 선택적으로 인에이블링되도록 구성된 2개의 링 오실레이터들은 서로 적어도 십(10)μm 떨어져 로케이팅되는, 집적 회로를 제조하는 방법.
  20. 제 12 항에 있어서,
    상기 제 2 복수의 링 오실레이터들은,
    상기 제 2 복수의 링 오실레이터들 중 제 1 링 오실레이터를 계속 구동시키고;
    연령 검출이 확인되지 않으면, 상기 제 2 복수의 링 오실레이터들 중 제 2 링 오실레이터를 유휴상태로 유지하며; 그리고,
    상기 제 1 링 오실레이터와 상기 제 2 링 오실레이터 사이에서의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인
    함으로써, 상기 연령 센서 회로를 구현하도록 구성되는, 집적 회로를 제조하는 방법.
  21. 제 20 항에 있어서,
    상기 제 2 복수의 링 오실레이터들의 상기 제 1 링 오실레이터 및 상기 제 2 링 오실레이터는 서로의 십(10)μm 내에 로케이팅되는, 집적 회로를 제조하는 방법.
  22. 제 20 항에 있어서,
    계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들이 로케이팅되는 상기 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 상기 집적 회로의 상이한 부분들에, 상기 제 2 복수의 링 오실레이터들의 상기 계속 구동하는 링 오실레이터들 및 상기 유휴상태의 링 오실레이터들의 쌍들을 로케이팅시키는 단계를 더 포함하는, 집적 회로를 제조하는 방법.
  23. 집적 회로로서,
    물리적으로 클론가능하지 않은 기능(PUF)을 구현하기 위한 수단;
    연령 센서 회로를 구현하기 위한 수단; 및
    상기 PUF를 구현하기 위한 수단 및 상기 연령 센서 회로를 구현하기 위한 수단에 커플링된 신호를 선택하기 위한 수단을 포함하며,
    상기 선택하기 위한 수단은, 상기 PUF를 구현하기 위한 수단 및 상기 연령 센서 회로를 구현하기 위한 수단 중 적어도 하나로부터 출력되는 적어도 2개의 신호들을 선택하도록 구성되고,
    상기 선택하기 위한 수단은, 상기 PUF를 구현하기 위한 수단 및 상기 연령 센서 회로를 구현하기 위한 수단에 의해 공통적으로 공유되는, 집적 회로.
  24. 제 23 항에 있어서,
    신호들을 비교하기 위한 수단을 더 포함하며,
    상기 비교하기 위한 수단은, 상기 PUF를 구현하기 위한 수단 및 상기 연령 센서 회로를 구현하기 위한 수단 중 적어도 하나로부터 출력되는 2개의 신호들을 수신 및 비교하도록 구성되고,
    상기 비교하기 위한 수단은 출력 신호를 생성하는, 집적 회로.
  25. 제 23 항에 있어서,
    상기 PUF를 구현하기 위한 수단 및 상기 연령 센서 회로를 구현하기 위한 수단은, 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함하는, 집적 회로.
  26. 제 23 항에 있어서,
    상기 PUF를 구현하기 위한 수단은, 상기 PUF를 구현하기 위한 수단의 적어도 2개의 링 오실레이터들을 선택적으로 인에이블링시킴으로써 수행되고,
    상기 PUF를 구현하기 위한 수단 중에서의 제조 변경들로 인한 주파수 변경들은 고유한 식별자를 생성하는, 집적 회로.
  27. 제 23 항에 있어서,
    상기 연령 센서 회로를 구현하기 위한 수단은,
    상기 연령 센서 회로를 구현하기 위한 수단의 제 1 링 오실레이터를 계속 구동시키고;
    연령 검출이 확인되지 않으면, 상기 연령 센서 회로를 구현하기 위한 수단의 제 2 링 오실레이터를 유휴상태로 유지하며; 그리고,
    상기 제 1 링 오실레이터와 상기 제 2 링 오실레이터 사이에서의 차동 주파수 측정을 수행함으로써 회로 연령 정보를 확인
    함으로써, 수행되는, 집적 회로.
  28. 제 27 항에 있어서,
    상기 연령 센서 회로를 구현하기 위한 수단의 계속 구동하는 링 오실레이터들 및 유휴상태의 링 오실레이터들의 쌍들은, 상기 계속 구동하는 링 오실레이터들 및 상기 유휴상태의 링 오실레이터들의 쌍들이 로케이팅되는 상기 집적 회로의 부분에 로컬인 회로 신뢰도 정보를 생성하기 위해 상기 집적 회로의 상이한 부분들에 로케이팅되는, 집적 회로.
  29. 하나 또는 그 초과의 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    제 1 복수의 링 오실레이터들을 이용하여 물리적으로 클론가능하지 않은 기능(PUF)을 구현하게 하고;
    제 2 복수의 링 오실레이터들을 이용하여 연령 센서 회로를 구현하게 하며; 그리고
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들에 커플링된 링 오실레이터 선택 회로를 사용하여 상기 제 1 복수의 링 오실레이터들 및/또는 상기 제 2 복수의 링 오실레이터들 중 적어도 하나로부터 적어도 2개의 링 오실레이터 출력들을 선택하게 하며,
    상기 링 오실레이터 선택 회로는 상기 PUF 및 상기 연령 센서 회로에 의해 공통적으로 공유되는, 컴퓨터 판독가능 저장 매체.
  30. 제 29 항에 있어서,
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함하는, 컴퓨터 판독가능 저장 매체.
  31. 전자 디바이스로서,
    버스에 커플링된 복수의 컴포넌트들 - 각각의 컴포넌트는, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 구성된 링 오실레이터들의 어레이를 가짐 -; 및
    상기 버스에 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는,
    하나 또는 그 초과 컴포넌트들에 대한 연령 정보를 획득하는 것,
    상기 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는
    상이한 컴포넌트들의 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것
    중 적어도 하나를 수행하도록 구성되는, 전자 디바이스.
  32. 제 31 항에 있어서,
    링 오실레이터들의 각각의 어레이는, 상기 PUF를 구현하기 위한 제 1 복수의 링 오실레이터들 및 상기 연령 센서 회로를 구현하기 위한 제 2 복수의 링 오실레이터들을 포함하는, 전자 디바이스.
  33. 제 32 항에 있어서,
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함하는, 전자 디바이스.
  34. 제 32 항에 있어서,
    각각의 컴포넌트는, 상기 프로세싱 회로에 의해 수신된 챌린지에 응답하여 적어도 2개의 링 오실레이터 출력들을 선택하는 선택 회로를 더 포함하는, 전자 디바이스.
  35. 제 34 항에 있어서,
    각각의 컴포넌트는 출력 기능 회로를 더 포함하며,
    상기 출력 기능 회로는,
    상기 2개의 링 오실레이터 출력들을 수신 및 비교하고,
    비교에 기초하여 출력 신호를 생성하며; 그리고,
    상기 프로세싱 회로에 상기 출력 신호를 제공
    하도록 구성되는, 전자 디바이스.
  36. 제 34 항에 있어서,
    상기 선택 회로는, 상기 프로세싱 회로에 상기 2개의 링 오실레이터 출력들을 제공하는, 전자 디바이스.
  37. 전자 회로를 제조하는 방법으로서,
    버스를 제공하는 단계;
    프로세싱 회로를 제공하는 단계;
    복수의 컴포넌트들을 제공하는 단계 - 각각의 컴포넌트는, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 구성된 링 오실레이터들의 어레이를 가짐 -;
    상기 복수의 컴포넌트들을 상기 버스에 커플링시키는 단계; 및
    상기 버스에 상기 프로세싱 회로를 커플링시키는 단계를 포함하고,
    상기 프로세싱 회로는,
    하나 또는 그 초과 컴포넌트들에 대한 연령 정보를 획득하는 것,
    상기 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는
    상이한 컴포넌트들의 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것
    중 적어도 하나를 수행하도록 구성되는, 전자 회로를 제조하는 방법.
  38. 제 37 항에 있어서,
    링 오실레이터들의 각각의 어레이는, 상기 PUF를 구현하기 위한 제 1 복수의 링 오실레이터들 및 상기 연령 센서 회로를 구현하기 위한 제 2 복수의 링 오실레이터들을 포함하는, 전자 회로를 제조하는 방법.
  39. 제 38 항에 있어서,
    상기 제 1 복수의 링 오실레이터들 및 상기 제 2 복수의 링 오실레이터들은 적어도 하나의 공통적으로 공유된 링 오실레이터를 포함하는, 전자 회로를 제조하는 방법.
  40. 제 38 항에 있어서,
    각각의 컴포넌트는, 상기 프로세싱 회로에 의해 수신된 챌린지에 응답하여 적어도 2개의 링 오실레이터 출력들을 선택하는 선택 회로를 더 포함하는, 전자 회로를 제조하는 방법.
  41. 제 40 항에 있어서,
    각각의 컴포넌트는 출력 기능 회로를 더 포함하며,
    상기 출력 기능 회로는,
    상기 2개의 링 오실레이터 출력들을 비교하고,
    비교에 기초하여 출력 신호를 생성하며; 그리고,
    상기 프로세싱 회로에 상기 출력 신호를 제공
    하도록 구성되는, 전자 회로를 제조하는 방법.
  42. 제 40 항에 있어서,
    상기 선택 회로는, 상기 프로세싱 회로에 상기 2개의 링 오실레이터 출력들을 제공하는, 전자 회로를 제조하는 방법.
  43. 전자 디바이스로서,
    통신하기 위한 수단에 커플링된 복수의 컴포넌트들 - 각각의 컴포넌트는, 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF)을 구현하기 위한 수단, 및 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하기 위한 수단을 가짐 -; 및
    상기 통신하기 위한 수단에 커플링된 프로세싱하기 위한 수단을 포함하며,
    상기 프로세싱하기 위한 수단은,
    하나 또는 그 초과 컴포넌트들에 대한 연령 정보를 획득하는 것,
    상기 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하는 것, 및/또는
    상이한 컴포넌트들의 2개 또는 그 초과의 상기 PUF를 구현하기 위한 수단 및 상기 회로 연령 정보를 제공하기 위한 수단으로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하는 것
    중 적어도 하나를 수행하도록 구성되는, 전자 디바이스.
  44. 하나 또는 그 초과의 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    버스에 커플링되고 링 오실레이터들의 어레이를 각각 갖는 복수의 컴포넌트들이, (a) 고유한 식별자 또는 키의 생성을 보조하기 위해 물리적으로 클론가능하지 않은 기능(PUF), 및 (b) 대응하는 컴포넌트에 대한 회로 연령 정보를 제공하는 연령 센서 회로를 구현하도록 하게 하고; 그리고,
    상기 버스에 커플링된 프로세싱 회로가,
    상기 컴포넌트들 중 하나 또는 그 초과에 대한 연령 정보를 획득하고,
    상기 컴포넌트들 중 적어도 하나에 대한 고유한 식별자 또는 키를 획득하며, 그리고/또는
    상이한 컴포넌트들의 링 오실레이터들의 2개 또는 그 초과의 어레이들로부터 획득된 정보를 결합함으로써 제 2 고유한 식별자 또는 키를 생성하도록 하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020157023912A 2013-02-11 2014-02-05 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증 KR101681219B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/764,507 US9083323B2 (en) 2013-02-11 2013-02-11 Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry
US13/764,507 2013-02-11
PCT/US2014/014896 WO2014124023A1 (en) 2013-02-11 2014-02-05 Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry

Publications (2)

Publication Number Publication Date
KR20150117284A KR20150117284A (ko) 2015-10-19
KR101681219B1 true KR101681219B1 (ko) 2016-12-01

Family

ID=50156929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157023912A KR101681219B1 (ko) 2013-02-11 2014-02-05 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증

Country Status (7)

Country Link
US (1) US9083323B2 (ko)
EP (1) EP2954615B1 (ko)
JP (2) JP6359035B2 (ko)
KR (1) KR101681219B1 (ko)
CN (1) CN104969468B (ko)
TW (1) TWI545900B (ko)
WO (1) WO2014124023A1 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE102013203415B4 (de) * 2013-02-28 2016-02-11 Siemens Aktiengesellschaft Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
US8981810B1 (en) 2013-04-22 2015-03-17 Xilinx, Inc. Method and apparatus for preventing accelerated aging of a physically unclonable function
US9082514B1 (en) * 2013-04-22 2015-07-14 Xilinx, Inc. Method and apparatus for physically unclonable function burn-in
US9444618B1 (en) * 2013-04-22 2016-09-13 Xilinx, Inc. Defense against attacks on ring oscillator-based physically unclonable functions
KR102186475B1 (ko) 2013-12-31 2020-12-03 주식회사 아이씨티케이 홀딩스 랜덤한 디지털 값을 생성하는 장치 및 방법
US9224030B2 (en) 2014-01-10 2015-12-29 Qualcomm Incorporated Sensor identification
JP6354172B2 (ja) * 2014-01-20 2018-07-11 富士通株式会社 半導体集積回路及び認証システム
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
DE102014218218A1 (de) * 2014-09-11 2016-03-17 Robert Bosch Gmbh Verfahren zum Erzeugen eines kryptographischen Schlüssels in einem System-on-a-Chip
US10036773B1 (en) 2014-12-11 2018-07-31 University Of South Florida Aging-sensitive recycling sensors for chip authentication
US9501664B1 (en) * 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
EP3265943B1 (en) * 2015-03-05 2021-04-28 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10002810B2 (en) 2015-06-25 2018-06-19 International Business Machines Corporation On-chip combined hot carrier injection and bias temperature instability monitor
TW201708835A (zh) 2015-08-04 2017-03-01 財團法人工業技術研究院 電子電路監測系統及電子電路監測方法
WO2017075516A1 (en) * 2015-10-29 2017-05-04 The Regents Of The University Of California Aging sensor and counterfeit integrated circuit detection
US10142335B2 (en) 2015-12-18 2018-11-27 International Business Machines Corporation Dynamic intrinsic chip identification
US10073138B2 (en) * 2015-12-22 2018-09-11 Intel Corporation Early detection of reliability degradation through analysis of multiple physically unclonable function circuit codes
US10032521B2 (en) 2016-01-08 2018-07-24 Synopsys, Inc. PUF value generation using an anti-fuse memory array
US9762241B1 (en) * 2016-06-30 2017-09-12 Intel Corporation Physically unclonable function circuit including memory elements
CN106020170B (zh) * 2016-07-07 2019-03-15 工业和信息化部电子第五研究所 SoC健康监测的方法、装置及系统
US11797994B2 (en) * 2016-07-15 2023-10-24 Maxim Integrated Products, Inc. Systems and methods for a secure payment terminal without batteries
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
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
CN106372539B (zh) * 2016-08-31 2019-12-03 电子科技大学 变频环形振荡器puf电路及其控制方法
US9806719B1 (en) * 2016-09-29 2017-10-31 Intel Corporation Physically unclonable circuit having a programmable input for improved dark bit mask accuracy
CN106546908B (zh) * 2016-10-27 2019-05-21 电子科技大学 集成电路芯片
EP3340214B1 (en) * 2016-12-21 2021-01-20 Secure-IC SAS Synthetic physically unclonable function
US9811689B1 (en) 2016-12-27 2017-11-07 Macronix International Co., Ltd. Chip ID generation using physical unclonable function
CN106874799B (zh) * 2017-02-27 2020-02-18 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于时钟分布网络的物理不可克隆函数生成方法
US10564213B2 (en) 2017-02-27 2020-02-18 International Business Machines Corporation Dielectric breakdown monitor
CN107271879B (zh) * 2017-05-31 2020-07-31 上海华力微电子有限公司 半导体芯片老化测试装置及方法
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
CN107483180B (zh) * 2017-08-21 2020-05-01 湖南大学 一种高稳定性物理不可克隆函数电路
US11159167B2 (en) * 2017-09-25 2021-10-26 Intel Corporation Techniques for reducing uneven aging in integrated circuits
EP3483772A1 (en) * 2017-11-14 2019-05-15 Nagravision S.A. Integrated circuit personalisation with data encrypted with the output of a physically unclonable function
US10841107B2 (en) 2017-11-20 2020-11-17 Analog Devices, Inc. Efficient delay-based PUF implementation using optimal racing strategy
CN108199845B (zh) * 2017-12-08 2021-07-09 中国电子科技集团公司第三十研究所 一种基于puf的轻量级认证设备及认证方法
JP6585215B2 (ja) * 2018-03-16 2019-10-02 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
US10554209B2 (en) 2018-03-22 2020-02-04 Intel Corporation Adaptive aging tolerant apparatus
CN108540109A (zh) * 2018-04-11 2018-09-14 中国电子科技集团公司第五十八研究所 基于环形振荡器的物理指纹生成电路及方法
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
US11258596B2 (en) * 2018-08-13 2022-02-22 Taiwan Semiconductor Manufacturing Company Ltd. System to generate a signature key and method of operating the same
US10320387B1 (en) * 2018-09-28 2019-06-11 Nxp Usa, Inc. Static state control of a digital logic circuit within an integrated circuit during low power mode
KR102600349B1 (ko) * 2018-11-16 2023-11-09 한국전자통신연구원 링 발진기 구조 기반의 비밀 정보 생성 장치 및 방법
CN109784099B (zh) * 2018-12-18 2023-01-10 上海华虹集成电路有限责任公司 一种基于查找表的新型强物理不可克隆函数的构建方法
KR20200082982A (ko) * 2018-12-31 2020-07-08 삼성전자주식회사 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치
CN110135000B (zh) * 2019-04-15 2023-06-30 深圳市纽创信安科技开发有限公司 芯片年龄判断方法、装置、ip模块及芯片
US11196575B2 (en) * 2019-04-24 2021-12-07 International Business Machines Corporation On-chipset certification to prevent spy chip
CN112019129B (zh) * 2019-05-31 2022-04-01 蜂巢传动系统(江苏)有限公司保定研发分公司 驱动保护方法、桥式驱动系统及电机控制器
KR102212513B1 (ko) 2019-09-16 2021-02-04 성균관대학교산학협력단 PUF(physically unclonable function) 회로 및 PUF 셀을 이용한 사용자 인증 용 개인 키 생성 방법
CN111130536B (zh) * 2019-12-09 2023-04-28 宁波大学 一种同时具有老化检测和puf功能的电路
CN111800129B (zh) * 2020-06-22 2022-11-11 华中科技大学 一种支持环境感知的puf单元、puf和混合puf
KR20220019156A (ko) 2020-08-06 2022-02-16 삼성전자주식회사 물리적 복제 방지 셀들을 포함하는 포함하는 보안 장치 및 그것의 동작 방법
CN111966329B (zh) * 2020-08-18 2023-03-21 合肥工业大学 一种基于物理不可克隆函数puf的真随机数发生器
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
TWI768532B (zh) * 2020-11-04 2022-06-21 國立彰化師範大學 電路老化監測系統及其方法
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法
TWI750021B (zh) * 2021-02-01 2021-12-11 瑞昱半導體股份有限公司 可靠度偵測裝置與可靠度偵測方法
US11750192B2 (en) * 2021-02-24 2023-09-05 Nvidia Corp. Stability of bit generating cells through aging
US12047518B2 (en) 2021-03-18 2024-07-23 Analog Devices, Inc. Delay based PUF implementation with integrated determination of optimum configuration
KR102650331B1 (ko) * 2021-08-09 2024-03-21 포항공과대학교 산학협력단 물리적 복제 방지 기능을 구현하는 반도체 장치
US20220029838A1 (en) * 2021-09-22 2022-01-27 Intel Corporation Method, System and Apparatus for Protection of Multi-Die Structures
CN115277029A (zh) * 2022-09-28 2022-11-01 南方电网数字电网研究院有限公司 基于物理不可克隆函数的芯片信息的加密认证方法及系统
CN115865353B (zh) * 2023-02-23 2023-05-30 湖北工业大学 基于瞬态效应环形振荡器的强puf电路及响应生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503882A (ja) 2004-06-16 2008-02-07 トランスメータ・コーポレーション 負バイアス温度不安定性を測定するシステム及び方法
JP2008503883A (ja) 2004-06-16 2008-02-07 トランスメータ・コーポレーション 時間依存性絶縁破壊を測定するためのシステムおよび方法
WO2008056612A1 (fr) 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
WO2011027553A1 (ja) 2009-09-07 2011-03-10 日本電気株式会社 経年劣化診断装置、経年劣化診断方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7205854B2 (en) 2003-12-23 2007-04-17 Intel Corporation On-chip transistor degradation monitoring
US7579689B2 (en) * 2006-01-31 2009-08-25 Mediatek Inc. Integrated circuit package, and a method for producing an integrated circuit package having two dies with input and output terminals of integrated circuits of the dies directly addressable for testing of the package
JP2009016586A (ja) * 2007-07-05 2009-01-22 Nec Electronics Corp 半導体装置およびその製造方法
US20090276232A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Warranty monitoring and enforcement for integrated circuit
US8468186B2 (en) 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
US8549363B2 (en) 2010-01-08 2013-10-01 International Business Machines Corporation Reliability and performance of a system-on-a-chip by predictive wear-out based activation of functional components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503882A (ja) 2004-06-16 2008-02-07 トランスメータ・コーポレーション 負バイアス温度不安定性を測定するシステム及び方法
JP2008503883A (ja) 2004-06-16 2008-02-07 トランスメータ・コーポレーション 時間依存性絶縁破壊を測定するためのシステムおよび方法
WO2008056612A1 (fr) 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
WO2011027553A1 (ja) 2009-09-07 2011-03-10 日本電気株式会社 経年劣化診断装置、経年劣化診断方法

Also Published As

Publication number Publication date
JP6377865B2 (ja) 2018-08-22
CN104969468B (zh) 2018-10-16
WO2014124023A1 (en) 2014-08-14
TW201444289A (zh) 2014-11-16
TWI545900B (zh) 2016-08-11
JP6359035B2 (ja) 2018-07-18
US9083323B2 (en) 2015-07-14
EP2954615A1 (en) 2015-12-16
EP2954615B1 (en) 2018-08-08
JP2016508003A (ja) 2016-03-10
KR20150117284A (ko) 2015-10-19
JP2018082483A (ja) 2018-05-24
CN104969468A (zh) 2015-10-07
US20140225639A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
KR101681219B1 (ko) 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증
US9337837B2 (en) Physical unclonable function generation and management
US9015500B2 (en) Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
JP6096930B2 (ja) データ依存型回路経路応答を使用する一意でクローン化不能なプラットフォーム識別子
WO2015098207A1 (ja) Id生成装置、id生成方法、およびid生成システム
US9712166B2 (en) Data generating device and authentication system
US20170269151A1 (en) Aging control of a system on chip
JP2009524998A (ja) 信号発生器をベースとした装置セキュリティ
US9276583B1 (en) Soft dark bit masking with integrated load modulation and burn-in induced destabilization for physically unclonable function keys
US10223532B2 (en) Protection of data stored in a volatile memory
WO2008015603A1 (en) Device and method for generating a random bit string
CN110366838A (zh) 包括物理不可克隆电路的随机数生成器
TW202401027A (zh) 感知竄改的老化感測器
US11879938B2 (en) Method for detecting perturbations in a logic circuit and logic circuit for implementing this method
Samarin et al. IP core protection using voltage-controlled side-channel receivers
JP2008289086A (ja) 半導体装置
US20140164788A1 (en) Secure Switch Between Modes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 4