KR100926214B1 - 공정편차를 이용한 디지털 값 생성 장치 및 방법 - Google Patents

공정편차를 이용한 디지털 값 생성 장치 및 방법 Download PDF

Info

Publication number
KR100926214B1
KR100926214B1 KR20090035416A KR20090035416A KR100926214B1 KR 100926214 B1 KR100926214 B1 KR 100926214B1 KR 20090035416 A KR20090035416 A KR 20090035416A KR 20090035416 A KR20090035416 A KR 20090035416A KR 100926214 B1 KR100926214 B1 KR 100926214B1
Authority
KR
South Korea
Prior art keywords
inverter
node
output terminal
terminal
logic threshold
Prior art date
Application number
KR20090035416A
Other languages
English (en)
Inventor
김동규
최병덕
Original Assignee
한양대학교 산학협력단
주식회사 시큐트론
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단, 주식회사 시큐트론 filed Critical 한양대학교 산학협력단
Priority to KR20090035416A priority Critical patent/KR100926214B1/ko
Application granted granted Critical
Publication of KR100926214B1 publication Critical patent/KR100926214B1/ko
Priority to US13/265,776 priority patent/US8749265B2/en
Priority to PCT/KR2009/007130 priority patent/WO2010123185A1/en
Priority to EP09843713.0A priority patent/EP2422368B1/en
Priority to US14/265,950 priority patent/US20150109022A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

식별키 생성을 위한 반도체 칩이 제공된다. 상기 반도체 칩은, 제1 논리 임계치를 갖는 제1 인버터, 제2 논리 임계치를 갖는 제2 인버터, 및 제1 스위치를 포함할 수 있다. 상기 제1 스위치는, 제1 단자 및 제2 단자를 구비할 수 있고, 입력되는 제1 전압 값에 따라 상기 제1 단자와 상기 제2 단자 사이를 단락 하거나 또는 개방하는 특성을 가질 수 있다. 또한, 상기 제1 인버터의 입력 단자, 상기 제2 인버터의 출력 단자, 및 상기 제1 스위치의 제1 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자, 상기 제2 인버터의 입력 단자, 및 상기 제1 스위치의 제2 단자는 제2 노드에 연결된다.
공정편차, 식별, 아이디, 무작위적 디지털 값

Description

공정편차를 이용한 디지털 값 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING DIGITAL VALUE USING PROCESS VARIATION}
본 발명의 실시예들은 식별키 생성을 위한 반도체 칩 및 식별 키 생성 방법에 관한 것이다.
최근 전자태그 등의 기술이 발달하면서 대량으로 생산하는 칩에 고유의 아이디(이하에서는 식별 키라 함)를 삽입해야 할 필요성이 증가하였다. 따라서, 무작위의 디지털 값(이를테면, 식별 키 또는 고유 아이디 등)을 생성하는 시스템 및 방법의 개발이 필요하게 되었다.
기존에는 무작위의 디지털 값을 생산하기 위한 방법의 일 예로 하드웨어 또는 소프트웨어를 통한 방법이 제시되었다.
그러나, 하드웨어 또는 소프트웨어를 통한 디지털 값의 생성은 하드웨어 및 소프트웨어 개발 또는 제작에 소요되는 경비로 인하여 칩 단가가 증가하는 문제점과 생산 속도의 한계를 가지고 있다.
따라서, 제작 비용이 낮고, 제작 과정이 간단하며, 복제가 불가능한 디지털 값을 생성하고 관리하는 시스템 및 방법은 절실하게 요구되고 있다.
한편, IC 칩 제작에 있어서, 하나의 칩 내에 복수 개의 동일한 회로 소자가 집적되는 경우가 있다. 이 경우에, 상기 복수 개의 동일한 소자는, 동일한 제조 공정에 의해, 동일한 웨이퍼(waper) 위에서, 동일한 디자인 룰에 따라 제작된다.
따라서, 거시적인 전기적 특성(characteristic) (또는 디지털 특성)은 동일하지만, 미시적인 전기적 특성(또는 아날로그 특성)은, 완전히 동일하지 못하다. 이러한 약간의 차이는 반도체 공정 내에 존재하는 공정편차(process variation)에 기인하며, 아무리 훌륭한 공정이라도 상기 공정편차를 (측정이 어려울 정도로)줄일 수 있을 뿐, 완전히 제거하는 것은 불가능하다.
본 발명의 일부 실시예는, 반도체 칩의 제조 공정의 공정편차를 이용하여, 구조가 간단하고, 물리적인 복제가 불가능한 디지털 값(이하에서는 "식별 키"라고도 함)을 생성하는 반도체 칩을 제공하기 위한 것이다.
본 발명의 다른 일부 실시예는, 인버터 소자의 정확한 논리 임계치를 알지 못하는 경우라도 동일한 공정에서 제조된 두 개의 인버터 소자의 논리 임계치를 비교함으로써 식별 키를 생성할 수 있는, 반도체 칩을 제공하기 위한 것이다.
본 발명의 일 실시예에 따르면, 반도체 칩에 있어서, N 비트(단, N은 자연수)의 디지털 값을 출력하는 N 개의 단위 셀을 포함하고, 상기 N 개의 단위 셀의 각각은, 한 쌍의 소자를 포함하고, 상기 한 쌍의 소자 중 제1 소자의 출력은 제2 소자의 입력에 연결되고, 상기 제2 소자의 출력은 상기 제1 소자의 입력에 연결되어, 서로 피드백 구조를 이루고, 상기 한 쌍의 소자 중 제1 소자 및 제2 소자 각각의 전기적 특성 값의 차이에 의해 제1 소자의 출력 값과 상기 제2 소자의 출력 값이 서로 다른 디지털 값으로 생성되는 반도체 칩이 제공된다.
여기서, 상기 한 쌍의 소자는 동일한 공정에서 제조되며, 상기 전기적 특성 값의 차이는 공정 편차(Process variation)에 기인할 수 있다.
본 발명의 일 실시예에 따르면, N 개(단, N은 자연수)의 단위 셀을 포함하고, 상기 N 개의 단위 셀의 출력 전압 값의 논리적 레벨을 이용하여 N 비트의 식별 키를 생성하는, 반도체 칩이 제공된다.
이 경우, 상기 N 개의 단위 셀의 각각은 한 쌍의 인버터 및 스위치를 포함할 수 있다. 이 경우, 상기 N 개의 단위 셀 중 적어도 하나는, 제1 논리 임계치를 갖는 제1 인버터, 제2 논리 임계치를 갖는 제2 인버터, 및 제1 스위치를 포함한다.
그리고 상기 제1 스위치는 제1 단자 및 제2 단자를 포함하며, 입력되는 제1 전압 값에 따라 상기 제1 단자와 상기 제2 단자 사이를 단락 하거나 또는 개방한다. 또한, 상기 제1 인버터의 입력 단자, 상기 제2 인버터의 출력 단자, 및 상기 제1 스위치의 제1 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자, 상기 제2 인버터의 입력 단자, 및 상기 제1 스위치의 제2 단자는 제2 노드에 연결된다.
한편, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조되며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 서로 동일하지 않을 수 있다.
한편, 상기 제1 스위치가 닫히는 경우, 상기 제1 노드와 상기 제2 노드가 단락되고, 상기 단락된 제1 노드 및 제2 노드의 전압 값은 상기 제1 논리 임계치와 상기 제2 논리 임계치 사이의 값이 된다.
그리고, 상기 제1 스위치가 닫힌 후 다시 열리는 경우, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 출력 단자 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여, 상기 식별 키가 생성된다.
본 발명의 일 실시예에 따르면, 상기 스위치가 닫힌 후 다시 열리는 경우, 상기 제1 인버터의 출력 단자의 전압 값의 논리적 레벨이 하이인 경우 상기 식별 키를 1으로 생성하고, 상기 제1 인버터의 출력 단자의 전압 값의 논리적 레벨이 로우인 경우 상기 식별 키를 0으로 생성한다.
상기 반도체 칩의 상기 제1 단위 셀은, 상기 제1 노드와 접지 사이에 연결되며, 항상 개방 상태에 있는 제2 스위치, 및 상기 제2 노드와 상기 제1 단위 셀의 출력 단자 사이에 연결되며, 상기 식별 키의 인식이 요구되는 경우 상기 제2 노드의 전압을 상기 제1 단위 셀의 출력 단자로 전달하는 제3 스위치를 더 포함할 수 있다
본 발명의 다른 일 실시예에 따르면, N 비트의 식별 키를 생성하는 식별 키 생성부, 및 생성된 상기 식별 키를 이용하여 보안 키를 생성하는 보안 키 생성부를 포함하는 반도체 칩이 제공된다. 이 경우, 상기 식별 키 생성부는 N 개의 단위 셀을 포함하고, 상기 N 개의 단위 셀의 각각은 공정편차에 기반하여 1 비트의 식별 키를 생성할 수 있다.
이 경우, 상기 N 개의 단위 셀 중 제1 단위 셀은, 제1 논리 임계치를 갖는 제1 인버터, 및 제2 논리 임계치를 갖는 제2 인버터를 포함하고, 상기 제1 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자는 제2 노드에 연결될 수 있다.
이 경우, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차 에 기인하여 동일하지 않을 수 있다.
상기 제1 노드와 상기 제2 노드를 단락한 후, 상기 제1 노드와 상기 제2 노드를 개방하는 경우, 상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여, 상기 제1 단위 셀에 대응하는 1 비트의 식별 키가 생성될 수 있다.
또한, 상기 반도체 칩은, 상기 보안 키를 이용하여 디지털 서명, 사용자 식별/인증 또는 데이터 암호화/복호화 중 적어도 하나를 수행하는 처리부를 더 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 제1 논리 임계치(Logic threshold)를 갖는 제1 인버터, 제2 논리 임계치를 갖는 제2 인버터, 및 제1 스위치를 포함하는 반도체 칩이 제공된다. 상기 반도체 칩은 1 비트의 식별 키를 생성할 수 있다.
이 경우, 상기 제1 스위치는 제1 단자 및 제2 단자를 구비하며, 입력되는 제1 전압 값에 따라 상기 제1 단자와 상기 제2 단자 사이를 단락 하거나 또는 개방한다. 한편 상기 제1 인버터의 입력 단자, 상기 제2 인버터의 출력 단자, 및 상기 제1 스위치의 제1 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자, 상기 제2 인버터의 입력 단자, 및 상기 제1 스위치의 제2 단자는 제2 노드에 연결된다.
이 경우, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조되며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 서로 동일하지 않은데, 이것 은 상기 공정의 공정편차에 기인한다.
본 실시예에서, 상기 입력되는 제1 전압 값의 논리적 레벨이 하이인 경우, 상기 제1 스위치는 상기 제1 노드 및 상기 제2 노드 사이를 단락한다. 이 경우, 단락된 상기 제1 노드 및 상기 제2 노드의 전압 값은 상기 제1 논리 임계치와 상기 제2 논리 임계치 사이의 값일 수 있다.
그리고, 상기 제1 노드와 상기 제2 노드가 단락된 이후에, 상기 입력되는 제1 전압 값의 논리적 레벨이 하이에서 로우로 변경되면, 상기 제1 스위치는 개방된다. 따라서 상기 제1 노드의 전압 값 및 상기 제2 노드의 전압 값은 서로 다르다.
이 경우, 상기 제1 노드의 전압 값의 논리적 레벨과 상기 제2 노드의 전압 값의 논리적 레벨은 다를 수 있다(이를테면, 둘 중 하나의 논리적 레벨이 "1"이면 다른 하나의 논리적 레벨은 "0"일 수 있음). 따라서, 본 실시예에서 상기 제1 노드 또는 상기 제2 노드 중 적어도 하나의 논리적 레벨에 기초하여, 식별 키를 생성할 수 있다
본 발명의 일 실시예에 따르면, 상기 제1 스위치의 개방 이후에, 상기 제2 노드의 전압 값의 논리적 레벨이 하이인 경우, 상기 식별 키를 1로 인식하고, 상기 제2 노드의 전압 값의 논리적 레벨이 로우인 경우, 상기 식별 키를 0으로 인식한다.
본 발명의 일 실시예에 따르면, 상기 반도체 칩은, 상기 제1 노드와 접지 사이에 연결되며 항상 개방 상태에 있는 제2 스위치, 및 상기 제2 노드와 출력 단 자 사이에 연결되며 입력되는 제2 전압 값에 따라 상기 제2 노드와 상기 출력 단자 사이를 단락 하거나 또는 개방하는 특성을 갖는 제3 스위치를 더 포함한다.
본 발명의 또 다른 일 실시예에 따르면, 공정편차에 기반하여 N 비트(단, N은 자연수)의 식별 키를 생성하는 식별 키 생성부, 및 생성된 상기 식별 키를 이용하여 보안 키를 생성하는 보안 키 생성부를 포함하는 반도체 칩이 제공된다. 이 경우, 상기 식별 키 생성부는, N 개의 단위 셀을 포함하고, 상기 N 개의 단위 셀의 각각은 공정편차에 기반하여 1 비트의 식별 키를 생성할 수 있다.
한편, 상기 반도체 칩은, 상기 보안 키를 이용하여 디지털 서명, 사용자 식별/인증 또는 데이터 암호화/복호화 중 적어도 하나를 수행하는 처리부를 더 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 제1 논리 임계치를 갖는 제1 인버터, 제2 논리 임계치를 갖는 제2 인버터, 및 비교기를 포함하는, 반도체 칩이 제공된다. 이 경우, 상기 비교기는, 제1 입력 단자, 제2 입력 단자 및 출력 단자를 포함하고, 상기 제1 입력 단자의 전압과 상기 제2 입력 단자의 전압을 비교한 결과에 따라 출력 단자의 전압의 논리적 레벨을 결정한다.
또한, 상기 제1 인버터의 입력 단자 및 상기 제1 인버터의 출력 단자는 상기 비교기의 제1 입력 단자에 연결되고, 상기 제2 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 상기 비교기의 제2 입력 단자에 연결된다.
이 경우, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차 에 기인하여 동일하지 않을 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 입력 단자와 출력 단자가 단락되어 있는 N 개(단, N은 자연수)의 인버터, 상기 N 개의 인버터 중 제1 논리 임계치를 갖는 제1 인버터와 제2 논리 임계치를 갖는 제2 인버터를 선택하는 선택부, 및 상기 선택된 제1 인버터의 출력 단자의 전압과 상기 선택된 제2 인버터의 출력 단자의 전압을 비교하는 비교기를 포함하는, 반도체 칩이 제공된다. 이 경우, 상기 비교기는, 상기 비교 결과에 따라, 상기 비교기의 출력 단자의 전압의 논리적 레벨을 결정한다.
한편, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않을 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 차동 증폭기 및 비교기를 포함하는, 반도체 칩이 제공된다. 이 경우, 상기 차동 증폭기는, 제1 입력 단자, 제2 입력 단자, 제1 출력 단자 및 제2 출력 단자를 포함한다. 또한, 상기 제1 입력 단자와 상기 제2 입력 단자가 단락되어 동일한 전압이 입력되는 경우, 상기 제1 출력 단자와 상기 제2 출력 단자의 전압이 공정편차로 인해 서로 동일하지 않다. 그리고, 상기 비교기는 상기 차동 증폭기의 제1 출력 단자의 전압과 상기 차동 증폭기의 제2 출력 단자의 전압을 비교한 결과에 따라, 상기 비교기의 출력 전압의 논리적 레벨을 결정한다.
본 발명의 또 다른 일 실시예에 따르면, N 개(단, N은 자연수)의 차동 증 폭기, 상기 N 개의 차동 증폭기 중 제1 차동 증폭기를 선택하는 선택부(단, 상기 제1 차동 증폭기는 제1 입력 단자, 제2 입력 단자, 제1 출력 단자 및 제2 출력 단자를 포함 함), 및 상기 선택된 제1 차동 증폭기의 제1 출력 단자의 전압과 상기 선택된 제1 차동 증폭기의 제2 출력 단자의 전압을 비교하는 비교기를 포함하는, 반도체 칩이 제공된다.
이 경우, 상기 제1 차동 증폭기는, 상기 제1 입력 단자와 상기 제2 입력 단자가 단락되어 동일한 전압이 입력되는 경우, 상기 제1 출력 단자와 상기 제2 출력 단자의 전압이 공정편차로 인해 서로 동일하지 않을 수 있다. 또한 상기 비교기는, 상기 비교 결과에 따라, 상기 비교기의 출력 단자의 전압의 논리적 레벨을 결정할 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 제1 논리 임계치를 갖는 제1 인버터의 입력 단자 및 제2 논리 임계치를 갖는 제2 인버터의 출력 단자에 연결되는 제1 노드와, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자에 연결되는 제2 노드 사이에 연결되는 제1 스위치를 닫아서, 상기 제1 노드와 상기 제2 노드 사이를 단락시키는 단계, 닫아진 상기 제1 스위치를 다시 열어서, 상기 제1 노드와 상기 제2 노드 사이를 개방 시키는 단계, 및 상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여 식별 키를 인식하는 단계를 포함하는, 식별 키 생성 방법이 제공된다.
이 경우, 상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것일 수 있고, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정편차에 기인하여 동일하지 않을 수 있다.
한편, 상기 식별 키를 인식하는 단계에서, 상기 제2 노드의 전압 값의 논 리적 레벨이 하이인 경우 상기 식별 키를 "1"로 생성하고, 상기 제2 노드의 전압 값의 논리적 레벨이 로우인 경우, 상기 식별 키를 "0"으로 생성할 수 있다.
본 발명의 일부 실시예에 따르면, 반도체 칩의 제조 공정의 공정편차를 이용하여 식별 키를 생성하는 회로의 구조가 간단하게 되고, 제조 단가가 낮아진다.
또한, 회로의 물리적인 복제가 불가능(동일한 설계 하에서 다른 회로를 만들더라도 동일한 식별 키가 생성되지 않음)하므로, 높은 보안성을 보장한다.
본 발명의 다른 일부 실시예에 따르면, 인버터 소자의 정확한 논리 임계치를 알지 못하는 경우라도, 동일한 공정에서 제조된 두 개의 인버터 소자의 논리 임계치를 비교함으로써 식별 키를 생성할 수 있다. 따라서, 생성되는 식별 키(디지털 값)에 있어서, "0"의 생성 빈도와 "1"의 생성 빈도가 유사해지는 효과가 있다.
또한, 본 발명의 다른 일부 실시예에 따르면, 반도체 칩 상의 매우 작은 면적을 이용하면서도, 생성되는 식별 키의 비트 수를 높일 수 있다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 식별 키 생성 반도체 칩(100)을 도시한다. 본 발명의 일부 실시예에 의한 상기 식별키 생성 반도체 칩(100)은 하나의 반도체 칩 상에서 구현될 수 있으나, 본 발명이 일부 실시예에 국한되어 제한적으로 해석되어서는 안 되며, 복수 개의 반도체 칩의 상호 연결, 또는 동일한 기능을 하는 다른 어떤 등가 회로/장치(equivalent circuit or apparatus)에 의한 구현을 ㅂ배제하는 것이 아니다.
현대 전자산업의 기초가 되고 있는 반도체 칩은 수 많은 공정과 수 많은 소자를 이용하여 제작되고, 다양한 산업 분야에서 활용되고 있다. 이러한 반도체 칩 제작 공정 시의 공정 편차로 인하여 발생하는 소자간의 전기적 특성 차이를 활용하면, 복제가 불가능하고, 영구적인 속성을 가질 수 있는 무작위적인(Random) 디지털 값(이하에서는 "식별 키(identification key)"라 한다)을 생성할 수 있다.
또한, 상기 반도체 칩은, 여러 반도체 소자를 이용하여 제작 가능한 여러 가지 형태의 칩, 모듈, 기타 시스템을 의미할 수 있다. 따라서, 이하에서 언급되는 반도체 칩은, 반도체 공정 이외의 공정에서 생산되는 다양한 종류의 칩까지 모두 포함하는 것으로 해석하여야 한다.
일반적으로 반도체 칩을 생산하는 공정은 다양하게 존재하고 있으나, 공정의 종류에 상관없이, 반도체 칩은 동일한 회로를 적어도 하나 포함할 수 있다.
이 경우, 반도체 칩 상에서 구현되는 소자에는, 능동소자와 수동소자가 있다. 이 때, 상기 능동소자는 트랜지스터 또는 다이오드이고, 상기 수동소자는 저항, 캐패시터, 인덕터 및 소자 간의 배선 중 적어도 하나일 수 있다. 다만 상기 트랜지스터, 다이오드, 저항, 캐패시터, 인덕터 및 배선은 능/수동 소자의 일 예에 불과하다.
본 발명의 실시예들은, 반도체 칩 상에서 구현되는 소자(또는 복수 개의 소자로 구성되는 회로, 이하 같다)를 제조하는 공정의 편차를 이용하여 무작위적이고(random), 물리적인 복제가 불가능하고, 한 번 제조된 이후에는 변하지 않는 식 별 키를 생성한다.
여기서, 상기 언급된 구체적인 소자들은, 예시적인 것에 불과하며, 본 발명은 다양한 소자 또는 회로의 제조 과정에 존재하는 공정편차를 이용하여 무작위적 디지털 값을 생성하는 것에 그 권리범위가 미친다.
본 발명의 일부 실시예에서, 상기 회로는 트랜지스터 회로, 인버터 회로, 증폭기 회로(이를테면, 차동 증폭기 회로 등) 일 수 있다. 다만, 이러한 회로는 상기 소자로 구성되는 회로의 일예에 불과하다. 즉, 본 발명은 상기 칩에 포함된 소자로 구성되는 회로를 이용한 실시예를 폭넓게 포함할 수 있다. 예를 들면, 상기 회로는 트랜지스터, 저항, 캐패시터 및 인덕터 중 적어도 하나를 포함하는 단일소자회로 또는 복수소자회로일 수 있다.
한편, 상기 공정편차는, 소자 또는 회로의 제조 공정 내에서, 다양한 파라미터의 편차에 기인할 수 있다. 이를테면, 트랜지스터의 경우, 유효 게이트 길이, 도핑 농도 관련 지수, 산화물 두께 관련 지수 또는 문턱전압 등의 파라미터가 상기 공정편차를 만들 수 있다.
본 발명의 일 실시예에 따르면, 상기 반도체 칩(100)은 1 비트(bit)의 디지털 식별 키(이를테면, "0" 또는 "1")를 생성할 수 있다.
그리고, 상기 반도체 칩(100)은 더 큰 회로의 단위 셀(Unit cell)로서 활용될 수도 있다. 따라서, 본 발명의 일부 실시예에 따르면, 상기 반도체 칩(100) 단위 셀을 N 개(단, N은 자연수) 배치함으로써, N 비트의 디지털 식별 키를 생성할 수도 있다.
제1 인버터(110)은 제1 논리 임계치(Logic threshold)를 갖는다. 그리고, 제2 인버터는 제2 논리 임계치를 갖는다.
상기 제1 인버터(110)와 상기 제2 인버터(120)는 동일한 제조 공정에 의해 제조되며, 상기 제1 논리 임계치와 상기 제2 논리 임계치는 상기 공정편차에 기인하여 동일하지 않다.
제1 스위치(130)는 제1 단자 및 제2 단자를 포함하며, reset 단자(131)에 입력되는 제1 전압 값에 따라 상기 제1 단자와 상기 제2 단자 사이를 단락 하거나 또는 개방한다. 도 1에 도시된 바와 같이, 상기 제1 스위치(130)는 transmission gate를 이용하여 구현될 수 있으나, 본 발명은 이에 한정되지 않으며, 노드들 사이를 단락(short)시키거나 개방(open)시키는 스위치 소자라면, 다른 응용 예도 가능하다.
이 경우, 상기 제1 인버터(110)의 입력 단자, 상기 제2 인버터(120)의 출력 단자, 및 상기 제1 스위치(130)의 제1 단자는 제1 노드(101)에 연결된다. 그리고, 상기 제1 인버터(110)의 출력 단자, 상기 제2 인버터(120)의 입력 단자, 및 상기 제1 스위치의 제2 단자는 제2 노드(102)에 연결된다.
본 발명의 일 실시예에 따르면, 제1 스위치(130)는 트랜스미션 게이트(Transmission gate)에 의해 구현될 수 있다. 이는 후술할 제2 스위치(150) 및 제3 스위치(140) 또한 마찬가지이다.
제1 스위치(130)의 reset 단자(131)에 논리적 레벨(Logical level) 하이(High)의 전압이 입력되는 경우, 상기 제1 스위치(130)는 상기 제1 노드(101) 및 상기 제2 노드 사이(102)를 단락한다. 이 때 reset bar 단자(132)에는 논리적 레벨 로우의 전압이 입력될 수 있다.
이 경우, 단락된 상기 제1 노드(101) 및 상기 제2 노드(102)의 전압 값은 상기 제1 논리 임계치와 상기 제2 논리 임계치 사이의 값일 수 있다.
그리고, 상기 제1 노드(101)와 상기 제2 노드(102)가 단락된 이후에, 상기 reset 단자(131)의 전압 값의 논리적 레벨이 하이(High)에서 로우(Low)로 변경되면, 상기 제1 스위치(130)는 개방된다. 따라서 상기 제1 노드(101)의 전압 값 및 상기 제2 노드(102)의 전압 값은 서로 다르다.
이를테면, 두 노드 중 하나의 논리적 레벨이 "1"이면 다른 하나의 논리적 레벨은 "0"일 수 있다. 이 경우, 제3 스위치(140)의 sel 단자(141)에 논리적 레벨 하이의 전압이 입력되고 sel bar 단자(142)에 논리적 레벨 로우의 전압이 입력되어, 상기 제3 스위치(140)가 닫히면(closed), 제2 노드(102)와 output 단자(143)이 단락되고, 상기 제2 노드(102)의 전압이 output 단자(143)에 전달된다.
그러면, output 단자(143)의 전압의 논리적 레벨을 판단하여, 상기 반도체 칩(100)이 생성하는 식별 키를 "1" 또는 "0"으로 판단할 수 있다.
한편, 제2 스위치(150)는 입력 단자(151)가 접지되어 있고, 입력 bar 단자(152)가 VDD에 연결되어 있으므로, 항상 개방(open)되어 있다. 제2 스위치(150)은 회로의 대칭성(symmetry)을 유지하기 위한 더미 스위치(dummy switch)로서 기능한다.
도 2는 본 발명의 일 실시예에 따른 식별키 생성 반도체 칩의 동작을 설명하기 위한 개념도이다.
제1 인버터(210)은 제1 논리 임계치를 갖는다. 그리고 제2 인버터(220)은 제2 논리 임계치를 갖는다. 논리 임계치(logic threshold)는 인버터의 입력 전압과 출력 전압이 동일한 값을 가지는 경우의 전압 값이다. 이러한 논리 임계치는, 동작 중인 인버터의 출력 단자와 입력 단자를 단락(short)시키는 경우의 전압 값으로 측정될 수 있다.
동일한 공정에서 제조되는 인버터들은, 이론상 동일한 논리 임계치를 갖도록 디자인 되지만, 상기한 바와 같이 실제 제조 공정에서는 공정편차가 존재하기 때문에, 실제로는 어느 두 개의 인버터도 완벽히 동일한 논리 임계치를 가질 수 없다.
본 발명의 일 실시예에 따르면, 상기 제1 인버터(210)와 상기 제2 인버터(220)는 동일한 제조 공정에서 제조된 것으로서, 공정편차에 기인한 논리 임계치의 차이를 갖는다.
상기 논리 임계치의 차이는, 공정에 따라 상이하지만, 이를테면 수 내지 수십 밀리볼트 정도의 크기일 수 있다. 따라서, 상기 제1 인버터(210)의 논리 임계치와 상기 제2 인버터(220)의 논리 임계치를 별도의 비교기 회로를 이용하여 측정하는 것은, 측정 상 오차 때문에 정확하지 않을 수 있다.
따라서, 두 인버터의 논리 임계치를 상대적으로 비교할 수 있는(즉, 별도의 비교기 회로를 이용하지 않고 측정하는) 방법이 요구된다. 본 발명의 일부 실시예들에서는, 두 개의 인버터 사이의 논리 임계치를 상대적으로(별도의 비교기 회로를 이용하지 않고 자체적으로) 비교하여, 어느 쪽의 논리 임계치가 큰지 판단할 수 있다.
만약 제2 인버터(220)가 존재하지 않는 경우라면, 제1 인버터(210)의 입력 단자와 출력 단자를 단락시키는 경우 제1 인버터(210)의 출력 전압은 상기 제1 인버터(210)의 논리 임계치와 같을 것이다. 또한, 제1 인버터(210)가 존재하지 않는 경우라면, 제2 인버터(220)의 입력 단자와 출력 단자를 단락시키는 경우 제2 인버터(220)의 출력 전압은 상기 제2 인버터(220)의 논리 임계치와 같을 것이다.
그러나, 도 2와 같이 제1 인버터(210)의 입력 단자와 제2 인버터(220)의 출력 단자가 단락되어 제1 노드에 연결되어 있고, 제1 인버터(210)의 출력 단자와 제2 인버터(220)의 입력 단자가 단락되어 제2 노드에 연결되는 경우는 위의 경우들과 다른 결과를 가져온다.
스위치(230)를 이용하여 상기 제1 노드와 상기 제2 노드를 단락시키는 경우, 단락된 상기 두 노드의 전압 값은, 상기 제1 인버터(210)의 논리 임계치와 상기 제2 인버터(220)의 논리 임계치의 사이의 값(평균 값이 아닐 수 있음, 이하 같다)이 된다.
상기 두 인버터의 논리 임계치 중 어느 쪽의 값이 높은 지와 무관하게, 상기 스위치(230)가 닫혀있는 동안은, 출력 전압의 값이 상기 두 인버터의 논리 임계치들의 사이의 값이 된다.
그리고, 그 후 스위치(230)을 열어서, 상기 제1 노드와 상기 제2 노드를 개방(open)시키는 경우, 상기 제1 노드와 상기 제2 노드 중 어느 하나의 전압 값의 논리적 레벨(logical level)은 "0"이 되고, 다른 하나의 논리적 레벨은 "1"이 된다.
이를테면, 만약 제1 인버터(210)의 논리 임계치가 상기 제2 인버터(220)의 논리적 임계치 보다 낮다고 가정하는 경우, 상기 스위치(230)가 닫혀서 제1 노드와 제2 노드가 단락된 동안의 제1 노드의 전압은 상기 제1 인버터(210)의 논리 임계치보다 높다.
따라서, 상기 스위치(230)가 다시 열려서 상기 제1 노드와 상기 제2 노드가 개방된 후, 제1 인버터(210)는 (자신의 입력 단자인) 제1 노드의 전압을 논리적 레벨 하이(High)로 인식하고, 따라서, 제1 인버터(210)의 출력 단자인 제2 노드의 전압을 논리적 레벨 로우(Low)로 만든다.
이 경우, 제2 인버터(220)는 (자신의 입력 단자인) 제2 노드의 전압을 논리적 레벨 로우로 인식하고, 따라서, 제2 인버터(220)의 출력 단자인 제1 노드의 전압을 논리적 레벨 하이로 만든다.
결국, 도 2의 출력 단자("Out")인 제2 단자의 전압의 논리적 레벨은 하이가 된다.
반대로, 만약 제1 인버터(210)의 논리 임계치가 상기 제2 인버터(220)의 논리적 임계치 보다 높다고 가정하는 경우, 상기 스위치(230)가 닫혀서 제1 노드와 제2 노드가 단락된 동안의 제1 노드의 전압은 상기 제1 인버터(210)의 논리 임계치보다 낮다.
따라서, 상기 스위치(230)가 다시 열려서 상기 제1 노드와 상기 제2 노드가 개방된 후, 제1 인버터(210)는 (자신의 입력 단자인) 제1 노드의 전압을 논리적 레벨 로우로 인식하고, 따라서, 제1 인버터(210)의 출력 단자인 제2 노드의 전압을 논리적 레벨 하이로 만든다.
이 경우, 제2 인버터(220)는 (자신의 입력 단자인) 제2 노드의 전압을 논리적 레벨 하이로 인식하고, 따라서, 제2 인버터(220)의 출력 단자인 제1 노드의 전압을 논리적 레벨 로우로 만든다.
결국, 도 2의 출력 단자("Out")인 제2 단자의 전압의 논리적 레벨은 로우가 된다.
상기한 바와 같이, 제1 인버터(210)의 논리 임계치와 제2 인버터(220)의 논리 임계치 중 어느 쪽이 높은 가에 따라, 스위치(230)의 단락-개방 이후의 출력 단자("Out")의 논리적 레벨은 하이(또는 "1")로 되거나, 또는 로우(또는 "0")으로 된다.
그런데, 동일한 제조 공정에서 제조된 상기 제1 인버터(210)와 제2 인버터(220) 중, 어느 쪽의 논리 임계치가 높을지는 랜덤하다. 그리고, 일단 제조되고 나서는, 상기 논리 임계치가 높은 쪽이 어느 쪽인지는 바뀌지 않는다.
결국, 도 2의 실시예를 통해, 1 비트의 식별 키("1"이 되거나 "0"이 될 확률은 동일하지만, 한 번 결정되고 나면 바뀌지 않는 값)를 생성할 수 있다.
상기 과정은, 도 3의 그래프를 참조하는 경우, 보다 명확히 이해될 수 있다.
도 3은 도 2를 참조하여 상술한 실시예 중, 제1 인버터(210)의 논리 임계치가 제2 인버터(220)의 논리 임계치보다 낮은 경우의 전압 특성(voltage characteristic) 곡선을 도시한다.
곡선(310)은 제1 인버터(210)의 전압 특성 곡선이고, 곡선(320)은 제2 인버터(220)의 전압 특성 곡선이다. 본 발명의 일 실시예에 따라 제1 인버터(210)와 제2 인버터(220)가 동일한 제조 공정에서 제조되는 경우, 곡선(310)과 곡선(320)은 거의 일치하지만, 공정편차 때문에 약간의 차이를 가진다.
곡선(310)과 기울기가 1인 직선(330)의 교점을 찾으면, 제1 인버터(210)의 논리 임계치인 V1을 결정할 수 있다. 또한, 곡선(320)과 직선(330)의 교점을 찾으면, 제2 인버터(220)의 논리 임계치인 V2를 결정할 수 있다.
본 실시예에서 V1은 V2보다 낮다. 따라서, 도 2의 스위치(230)가 닫혀서, 상기 제1 노드와 상기 제2 노드가 단락되는 경우("Reset"이라 함, 이하 같다), 제1 노드와 제2 노드의 전압(VReset)은 V1과 V2 사이의 어느 값이 된다.
그리고, 상기 스위치(230)가 다시 열려서 상기 제1 노드와 상기 제2 노드가 개방된 후, 제1 인버터(210)는 제1 노드의 전압(VReset)을 논리적 레벨 하이로 인식하고, 따라서, 제1 인버터(210)의 출력 단자인 제2 노드의 전압을 논리적 레벨 로우로 만든다.
이 경우, 제2 인버터(220)는 제2 노드의 전압(VReset)을 논리적 레벨 로우로 인식하고, 따라서, 제2 인버터(220)의 출력 단자인 제1 노드의 전압을 논리적 레벨 하이로 만든다.
따라서, 도 2의 출력 단자("Out")인 제2 단자의 전압의 논리적 레벨은 하이 가 된다.
도 4는 본 발명의 일 실시예에 따라, CMOS 인버터와 트랜스미션 게이트를 이용하여 도 1의 회로를 구현한 모습을 도시한다.
반도체 칩 상에서 인버터 소자로 배치될 수 있는 예는 CMOS(Complementary Metal-Oxide Semiconductor) 인버터이다. 하나의 PMOS와 하나의 NMOS를 포함하며, 입력 단자의 논리적 레벨을 반전(inverting)하여, 출력 단자의 논리적 레벨로 제공한다.
제1 인버터(410)의 입력 단자 및 제2 인버터(420)의 출력 단자는 제1 노드에 연결되어 있다. 그리고, 제1 인버터(410)의 출력 단자 및 제2 인버터(420)의 입력 단자는 제2 노드에 연결되어 있다.
그리고, 제1 스위치(430)의 Reset 단자에 논리적 레벨 "1"이 입력되면, 상기 제1 노드와 상기 제2 노드는 단락된다. 이 경우, Out 단자와 제2 노드 사이의 제2 스위치(440)의 Sel 단자에는 논리적 레벨 "0"이 입력되고, 따라서 상기 제2 스위치(440)는 열려 있다.
한편, 상기 제1 노드와 접지 사이에 연결된 제3 스위치(450)은 항상 열려 있는 더미 스위치(Dummy switch)이다. 상기 제3 스위치가 존재함으로써, 회로의 대칭성(Symmetry)을 유지하고, 따라서 회로 양쪽의 전기적 특성(이를 테면 커패시턴스(Capacitance) 등)이 동일하게 유지되는 것은, 도 1을 참조하여 전술한 바와 같다.
상기 Reset 단자의 논리적 레벨이 "1"으로부터 "0"으로 바뀌면, 제1 스위 치(430)은 열리게 되고, 상기 제1 노드와 상기 제2 노드 중 어느 하나의 전압의 논리적 레벨은 "1"이 되고, 다른 하나의 전압의 논리적 레벨은 "0"이 된다. 아직까지는 제2 스위치(440)의 Sel 단자의 논리적 레벨도 "0"으로 유지된다.
그리고, Sel 단자에 논리적 레벨 "1"이 입력되면, 제2 스위치(440)이 닫히게 되고, 상기 제2 노드의 전압이 Out 단자로 전달된다. 이 경우, Out 단자의 전압의 논리적 레벨을 측정하여 도 4의 반도체 칩이 생성하는 1 비트의 식별 키를 인식할 수 있다.
도 5는 도 1의 실시예에 따른 반도체 칩을 단위 셀 블록으로 표현한 모습을 도시한다.
본 발명의 일 실시예에 따르면, 도 1의 공정 편차를 이용한 식별 키 생성 반도체 칩(100)은 보다 큰 스케일의 반도체 칩의 일부에 포함될 수 있으며, 이 경우 반도체 칩(100)이 단위 셀(500)로써 표현할 수 있다.
상기 반도체 칩(100)의 내에 포함될 수 있는 제1 스위치(130)의 reset 단자(131)는 단자(501)로, 제2 스위치(140)의 sel 단자(141)는 단자(502)로, 그리고 output 단자(143)는 단자(503)로 각각 대표된다. DC 전압과 접지 단자 등 다른 단자는, 도시되지 않았다.
본 발명의 일 실시예에 따르면, 먼저, reset 단자(501)과 Sel 단자(502)에 각각 논리적 레벨 "1"과 "0"이 입력된다. 그리고, 상기 reset 단자(501)의 논리적 레벨이 "1"에서 "0"으로 바뀐다. 그 후, Sel 단자(502)의 논리적 레벨을 "0"에서 "1"로 바꾸고, output 단자(503)의 논리적 레벨을 측정하여 "1" 또는 "0"의 식별 키를 인식할 수 있다.
상기한 바와 같이, 이 경우, 상기 output 단자(503)의 논리적 레벨이 "1"일 확률과 "0"일 확률은 동일할 수 있으며, 여러 번 상기 과정을 반복하더라도 값은 바뀌지 않을 수 있다.
물론, 도 4를 참조하여 도시된 회로 역시 단위 셀(500)으로 표현될 수 있다.
도 6은 본 발명의 일 실시예에 따라, 도 5의 단위 셀 블록의 각 단자에 입력되는 전압의 논리적 레벨의 흐름도이다.
단계(S610)에서, 단위 셀(500)의 reset 단자(501)와 Sel 단자(502)에 각각 논리적 레벨 "1"과 "0"이 입력된다. 이 경우, 도 1의 제1 노드(101)와 제2 노드(102)가 단락된다. 그리고, 상기 제1 노드(101)과 상기 제2 노드(102)의 전압은, 상기 제1 인버터(110)의 논리 임계치와 제2 인버터의 논리 임계치 사이의 값이 된다.
단계(S620)에서, 상기 reset 단자(501)의 논리적 레벨이 "1"에서 "0"으로 바뀐다. Sel 단자(502)의 논리적 레벨은 "0"으로 유지된다.
그리고 단계(S630)에서, Sel 단자(502)의 논리적 레벨을 "0"에서 "1"로 바꾼다. 이 경우, Reset 단자(501)의 논리적 레벨은 여전히 "0"으로 유지된다. 그러면 스위치(140)이 닫히고, 제2 노드(102)의 전압이 output 단자(503)로 전달된다.
단계(S640)에서, 상기 output 단자(503)의 전압의 논리적 레벨이 "0"인지, 또는 "1"인지가 인식된다. 이 경우, 상기 output 단자(503)의 논리적 레벨이 "1" 일 확률과 "0"일 확률은 동일할 수 있다.
또한, 하나의 단위 셀(500)에 상기 단계(S610) 내지 단계(S620)을 여러 번 반복하더라도 상기 단계(S640)의 판단 결과는 동일하다.
도 7은 본 발명의 일 실시예에 따라, 도 5의 단위 셀을 M*N개(단, M 및 N은 자연수) 이용하여, (M*N) 비트의 식별 키를 생성하는 반도체 칩(700)을 도시한다.
Column 라인 제어부(Column line control logic)(710)는, 각 단위 셀들의 Reset 단자에 제1 입력 신호를 주고, 각 단위 셀들의 output 단자의 전압의 논리적 레벨을 측정하여 식별 키를 얻는다.
Row 라인 제어부(Row line control logic)(720)는, 각 단위 셀들의 Sel 단자에 입력 신호를 제2 입력 신호를 준다.
본 발명의 일 실시예에 따르면, Column 라인 제어부(710)가 "reset 1" 내지 "reset M"의 M 개의 단자에 논리적 레벨 "1"의 전압을 인가한다. 이 경우, Row 라인 제어부(720)는 "row 1" 내지 "row N"의 N 개의 단자에 논리적 레벨 "0"을 유지한다.
그리고, Column 라인 제어부(710)가 "reset 1" 내지 "reset M"의 M 개의 단자에 논리적 레벨 "1"의 전압을, 논리적 레벨 "0"으로 바꾼다.
그 후에, Row 라인 제어부(720)가 "row 1" 단자의 논리적 레벨을 "0"에서 "1"로 바꾸면, Column 라인 제어부(710)는 단위 셀(Unitcell 11) 내지 단위 셀(Unitcell 1M)의 M 비트의 식별 키를 인식한다.
그리고, Row 라인 제어부(720)가 "row 1" 단자의 논리적 레벨을 다시 "1"에 서 "0"로 바꾸고, "row 2" 단자의 논리적 레벨을 "0"에서 "1"로 바꾼다. 그러면, Column 라인 제어부(710)는 단위 셀(Unitcell 21) 내지 단위 셀(Unitcell 2M)의 M 비트의 식별 키를 인식한다.
이러한 과정을 "row N"까지 반복하는 경우, M 비트의 식별 키를 N 회 인식하므로, 상기 식별 키 생성 반도체 칩(700)은 총 (M*N) 비트의 식별 키를 인식하게 된다.
도 8은 본 발명의 일 실시예에 따른 반도체 칩(700)을 포함하는, RFID 통신 장치(800)를 도시한다. 상기 통신 장치(800) 또한 하나 또는 그 이상의 반도체 칩 상에서 구현될 수 있음은 당업자에게 자명하다. 따라서, 이하의 실시예에서 별다른 언급이 없더라도, 장치(apparatus), 시스템(system)은 반도체 칩 상에서 구현(On-chip)될 수 있는 것으로 이해되어야 한다.
통신 장치(800)는 안테나(830)를 통해 외부와 식별 정보(identification information) 등의 데이터를 송수신할 수 있다.
이 경우, 상기 통신 장치(800)는 고유 식별 키(이를 테면 128 비트의 이진수)를 보유할 수 있다. 본 발명의 일 실시예에 따르면, 도 7의 반도체 칩(700)에 의해, M*N 비트의 식별 키가 생성된다.
그리고, 식별키 생성 반도체 칩(700)에 의해 생성된 M*N 비트의 식별 키는, 제어부(810)에 의해 접근될 수 있으며, 제어부(810)는 상기 통신 장치(800)의 식별 정보를 외부와 교환하기 위해, 상기 식별 키를 이용할 수 있다.
상기 반도체 칩(700)에 의해 생성된 M*N 비트의 식별 키는, 메모리(820) 기타 저장장치에 저장되지 않고, 판독이 필요한 경우에만 직접 제어부(810)로부터 판독되기 때문에 보안 수준이 높다.
만약, 외부로부터 메모리(820)의 데이터 복제가 수행되는 경우라도, 상기 통신 장치(800)의 고유 식별 키는 노출되지 않을 수 있다.
도 9는 본 발명의 일 실시예에 따른 반도체 칩(700)을 포함하는, 임베디드 시스템(900)을 도시한다.
임베디드 시스템(900)은 대칭키 암호화 알고리즘을 통해 전자서명 등의 기능을 수행할 수 있다. 본 발명의 일 실시예에 따르면, 상기 임베디드 시스템(900)은 병원의 처방전 발급 자동화 기기일 수 있다. 그러나, 본 발명은 일부 응용 예에만 한정되지 않으며, 다양한 임베디드 시스템(이를 테면, 현금자동지급기(ATM))의 예가 가능하다.
식별 키 생성 반도체 칩(700)은, 생성된 M*N 비트의 식별 키를 암호화 모듈(Crypto Module)(910)에게 제공한다. 상기 암호화 모듈(910)은 상기 M*N 비트의 식별 키를 이용하여 암호화 키(Encrypted Key)를 생성할 수 있다. 그리고, 상기 생성된 암호화 키는 저장장치(이를테면 NAND 플래시 메모리)(920)에 저장될 수 있다.
그리고, 처리부(930)는 상기 암호화 키를 이용하여, 입출력 인터페이스(940)를 통해 외부와 통신할 수 있다.
도 10은 본 발명의 일 실시예에 따른 반도체 칩(700)을 포함하는, 공개키(Public Key) 기반의 통신 시스템을 도시한다.
공개키 기반의 통신 시스템에서, 식별 키 생성 반도체 칩(700)은, M*N 비트의 식별 키를 생성하여, 공개키 생성부(1010)에게 제공한다. 그리고, 상기 공개키 생성부(1010)는 상기 식별 키를 이용하여 공개키를 생성하고, 이를 중간 처리부(1020)(이를 테면, RSA(R. Rivest, A. Shamir, L. Adleman) 암호화 처리부 또는 ECC(Elliptic Curve Cryptosystem, 타원곡선암호시스템) 암호화 처리부 등)로 전달한다.
시스템(1000)의 중앙 처리부(1030)은 암호화 통신에 있어서, 이러한 공개키 암호화 방식을 통해 외부와 통신할 수 있다.
도 11은 본 발명의 일 실시예에 따른 반도체 칩을 포함하는, HMAC(Hash Message Authentication Code) 모듈을 도시한다.
본 발명의 일 실시예에 따르면, 시스템(1100)은, 식별 키 반도체 칩(700) 및 HMAC 처리부(1110)을 포함한다.
MAC(Message Authentication Code)는 메시지의 정확성을 확인하는 코드이다. 이러한 MAC에는 1) Unconditionally secure 방법, 2) Hash function을 기반으로 한 방법, 3) Stream cipher를 기반으로 한 방법, 및 4) block cipher를 기반으로 한 방법 등이 있다.
본 발명의 일 실시예에 따르면, HMAC 처리부(1110)는, Hash function을 이용하여, 메시지(M)을 처리하여, 처리된 메시지 (HMAC(M))을 생성한다. 이러한 과정에서, HMAC 처리부(1110)는, 상기 식별 키 생성 반도체 칩(700)에 의해 생성된 식별 키를 이용할 수 있다.
도 12는 본 발명의 일 실시예에 따라, 두 개의 인버터의 공정편차에 기인한 논리 임계치의 차이를 이용하여 식별 키를 생성하는 반도체 칩을 도시한다.
본 발명의 일 실시예에 따르면, 반도체 칩(1200)은 제1 인버터(1210), 제2 인버터(1220), 및 비교기(Comparator)(1230)을 포함한다.
본 발명의 일 실시예에 따르면, 제1 인버터(1210)와 제2 인버터(1220)는 동일한 공정에서 제조된 것이다. 그러나, 제1 인버터(1210)의 논리 임계치와 제2 인버터(1220)의 논리 임계치가 공정편차 때문에 서로 동일하지 않음은, 도 1 내지 도 3을 참조하여 상술한 바와 같다.
본 실시예에서는, 제1 인버터(1210)의 입력 단자와 출력 단자가 서로 단락되고, 상기 비교기(1230)의 제1 입력 단자에 연결된다. 그리고, 제2 인버터(1220)의 입력 단자와 출력 단자가 서로 단락되고, 상기 비교기(1230)의 제2 입력 단자에 연결된다.
이 경우, 상기 비교기(1230)의 제1 입력 단자의 전압 값은 상기 제1 인버터(1210)의 논리 임계치일 수 있다. 또한, 상기 비교기(1230)의 제2 입력 단자의 전압 값은 상기 제2 인버터(1220)의 논리 임계치일 수 있다.
결국, 비교기(1230)은 상기 제1 인버터(1210)와 상기 제2 인버터(1220)의 논리 임계치를 비교하여 어느 쪽이 더 높은 지에 따라, Out 단자의 전압 값을 달리하라 수 있다.
본 발명의 일 실시예에 따르면, 상기 Out 단자의 전압 값에 따라, 반도체 칩(1200)이 생성하는 식별 키를 "1" 또는 "0"의 1 비트 디지털 값으로 인식할 수 있다.
본 발명의 일 실시예에 따르면, 상기 반도체 칩(1200)은, 도 1의 반도체 칩(100)과 마찬가지로, 단위 셀(Unit cell)로써 기능할 수 있으며, 이 경우, 단위 셀인 반도체 칩(1200)을 여러 개 이용하여, N 비트의 식별 키를 생성할 수 있다. 상기 응용예는 도 13을 참조하여 보다 상세히 후술한다.
도 13은 본 발명의 일 실시예에 따른 반도체 칩을 도시한다.
본 발명의 일 실시예에 따르면, 반도체 칩(1300)은, 인버터(1311) 내지 인버터(1315)의 5 개의 인버터, 선택부(1320) 및 비교기(1330)을 포함한다.
선택부(1320)는 도 13에 도시된 5 개의 인버터 중, 어느 두 개를 선택한다. 이를테면, 인버터(1312)와 인버터(1313)가 선택될 수 있다.
이 경우, 비교기(1330)는, 인버터(1312)의 논리 임계치와 인버터(1313)의 논리 임계치를 비교하고, 상기 비교 결과에 따라 Out 단자로 출력 전압을 제공한다. 그리고 상기 Out 단자의 출력 전압의 논리적 레벨에 따라 1 비트의 식별 키가 생성될 수 있다.
그리고, 선택부(1320)가 다른 두 개의 인버터를 선택하는 경우, 상기 비교기(1330)은 다시 1 비트의 식별 키를 생성할 수 있다.
상기한 바와 같이, 선택부(1320)가 5 개의 인버터(1311 내지 1315) 중 두 개를 선택하고, 비교기(1330)가 선택된 두 개의 인버터의 논리 임계치를 비교함으로써 식별 키를 생성하는 경우, 최대 10 비트의 식별 키가 얻어질 수 있다.
본 실시예에서는 인버터가 5 개 포함되었으나, 본 발명은 이에 한정되지 않으며, 생성하고자 하는 식별 키의 비트 수, 회로의 면적 등을 고려하여 다양한 변경이 가능하다.
그리고, 반도체 칩 내에 집적될 수 있는 비교기(1330)의 면적이 인버터들(1331 내지 1335)의 면적에 비해 상당히 큰 것을 고려했기 때문에, 본 실시예에 서는 선택부(1320)를 통해 복수 개의 인버터와 하나의 비교기(1330)가 연결되었다. 그러나, 다른 응용 예에서는 인버터 두 개 당 비교기 하나가 짝을 이루어, N 비트의 식별 키를 생성할 수 있다.
도 14는 본 발명의 일 실시예에 따라, 차동 증폭기의 공정편차를 이용하여 식별 키를 생성하는 반도체 칩을 도시한다.
트랜지스터 및 저항 중 적어도 하나의 소자로 구성되는 차동 증폭기를 포함하는 반도체 칩(1400)은 제1 입력 단자(1411)와 제2 입력 단자의 전압의 차이를 증폭하여, 제1 출력 단자(1421)와 제2 출력 단자(1422) 사이의 전압 차이로서 제공한다.
따라서, 상기 제1 입력 단자(1411)과 제2 입력 단자(1422)를 단락시키는 경우, 이론적으로는, 출력 전압 값인 제1 출력 단자(1421)와 제2 출력 단자(1422) 사이의 전압 차이가 0이어야 한다.
그러나, 상기 공정편차에 의한 소자간의 전기적 특성 차이 때문에, 제1 출력 단자(1421)의 전압과 제2 출력 단자(1422)의 전압은 완전히 같지 않다.
따라서, 도 12의 인버터의 논리 임계치를 비교한 것과 같은 방법으로, 두 출력 단자 중 어느 출력 단자의 전압이 높은 지를 비교한다면, 1 비트의 식별 키를 생성할 수 있다.
이를테면, 제1 입력 단자(1411)와 제2 입력 단자(1412)를 단락시킨 경우에, 제1 출력 단자(1421)의 전압 값이 제2 출력 단자(1422)의 전압 값보다 높은 경우, 디지털 값 "1"로 인식하고, 반대의 경우에는 디지털 값 "0"으로 인식할 수 있다.
나아가, 상기 반도체 칩(1400)을 단위 셀로 하여, N 개의 단위 셀을 구성한다면, N 비트의 식별 키를 생성할 수 있다. 이러한 구성의 일 실시예는 도 15를 참조하여 보다 상세히 후술된다.
이러한 차동 증폭기 회로의 출력 단자 전압들의 차이는 트랜지스터 소자의 전기적 특성 차이뿐만 아니라, 상기 반도체 칩(1400) 내에 포함될 수 있는 저항, 캐패시터 또는 인덕터와 등의 수동소자(도시되지 않음)의 전기적 특성 차이에 의하여 발생할 수도 있다.
즉, 칩 제작 시의 공정 편차는 상기 수동소자의 형상/구조적 차이를 야기할 수 있으며, 이로 인하여 상기 수동소자는 실제 수치 값에 차이를 가질 수 있다.
한편, 도 14에서는 도시되지 않았으나, 상기 제1 출력 단자(1421)와 제2 출력 단자(1422)의 전압 값을 비교하는 데에는 도 12의 비교기(1230)와 같은 소자가 이용될 수 있다.
도 15는 본 발명의 일 실시예에 따른 반도체 칩을 도시한다.
본 발명의 일 실시예에 따르면, 반도체 칩(1500)은 6 개의 차동 증폭기(1511 내지 1516), 상기 6 개의 차동 증폭기 중 어느 하나를 선택하는 선택부(1520), 및 상기 선택부(1520)에 의해 선택된 차동 증폭기의 두 개의 출력 전압을 비교하여 1 비트의 식별 키를 생성하는 비교부(1530)를 포함한다.
이 경우, 상기 6 개의 차동 증폭기(1511 내지 1516)의 전체 입력 단자는 단락되며, 동일한 전압을 갖는다.
본 발명의 일 실시예에 따르면, 선택부(1520)는 6:1 MUX 소자일 수 있다. 다만, 이는 본 발명의 구현을 위한 일 실시예에 불과하며, 본 발명은 특정한 실시 예에 한정되지 않는다. 따라서, MUX 소자의 입력/출력 포트의 수는 변경될 수 있으며, 나아가 선택부(1520)는 MUX 소자가 아닌 다른 소자일 수도 있다. 상기 6:1 MUX 소자는 12 개의 입력 단자를 통해 입력 되는 6 개의 차동 증폭기의 출력 전압을 두 개의 출력 단자로 출력한다. 그리고, 이 두 개의 출력 단자는 비교부(1530)의 두 개의 입력 단자에 연결된다.
상기 실시예에서, 반도체 칩(1500)은 6 비트의 디지털 식별키를 생성할 수 있다.
그리고, 본 실시예에서, 반도체 칩 내에 집적될 수 있는 비교기(1330)의 면적이 차동 증폭기들(1511 내지 1516)의 면적에 비해 상당히 큰 것을 고려했기 때문에, 선택부(1530)를 통해 복수 개의 차동 증폭기와 하나의 비교기(1330)가 연결되었다. 그러나, 상기 비교기 하나에 연결될 수 있는 차동 증폭기의 개수는 생성하고자 하는 식별 키의 비트 수, 회로의 면적, 공정상 여러 가지 제약 사항 등에 따라 다양하게 변경될 수 있으며, 이러한 변형 역시 본 발명의 범위 내에 포함되는 것으로 이해되어야 한다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하 드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 반도체 칩을 도시한다.
도 2는 본 발명의 일 실시예에 따른 반도체 칩의 동작을 설명하기 위한 개념도이다.
도 3은 도 2의 실시예에 따른 두 개의 인버터의 논리 임계치 차이를 도시하는 그래프이다.
도 4는 본 발명의 일 실시예에 따라, CMOS 인버터와 트랜스미션 게이트를 이용하여 도 1의 회로를 구현한 모습을 도시한다.
도 5는 도 1의 실시예에 따른 반도체 칩을 단위 셀 블록으로 표현한 모습을 도시한다.
도 6은 본 발명의 일 실시예에 따라, 도 5의 단위 셀 블록의 각 단자에 입력되는 전압의 논리적 레벨의 흐름도이다.
도 7은 본 발명의 일 실시예에 따라, 도 5의 단위 셀을 M*N개 이용하여, (M+N) 비트의 식별 키를 생성하는 반도체 칩을 도시한다.
도 8은 본 발명의 일 실시예에 따른 반도체 칩을 포함하는, RFID 통신 장치를 도시한다.
도 9는 본 발명의 일 실시예에 따른 반도체 칩을 포함하는, 임베디드 시스템을 도시한다.
도 10은 본 발명의 일 실시예에 따른 반도체 칩을 포함하는, 공개키 기반의 통신 시스템을 도시한다.
도 11은 본 발명의 일 실시예에 따른 반도체 칩을 포함하는, HMAC(Hash Message Authentication Code) 모듈을 도시한다.
도 12는 본 발명의 일 실시예에 따라, 두 개의 인버터의 논리 임계치의 공정편차에 기반한 시스템을 도시한다.
도 13은 본 발명의 일 실시예에 따른 반도체 칩을 도시한다.
도 14는 본 발명의 일 실시예에 따라, 차동 증폭기의 공정편차에 기반한 반도체 칩을 도시한다.
도 15는 본 발명의 일 실시예에 따른 반도체 칩을 도시한다.

Claims (32)

  1. 반도체 칩에 있어서,
    N 비트(단, N은 자연수)의 디지털 값을 출력하는 N 개의 단위 셀
    을 포함하고,
    상기 N 개의 단위 셀의 각각은, 한 쌍의 소자를 포함하고,
    상기 한 쌍의 소자 중 제1 소자의 출력은 제2 소자의 입력에 연결되고, 상기 제2 소자의 출력은 상기 제1 소자의 입력에 연결되어, 서로 피드백 구조를 이루고,
    상기 한 쌍의 소자 중 제1 소자 및 제2 소자 각각의 전기적 특성 값의 차이에 의해 제1 소자의 출력 값과 상기 제2 소자의 출력 값이 서로 다른 디지털 값으로 생성되는 반도체 칩.
  2. 제1항에 있어서,
    상기 한 쌍의 소자는 동일한 공정에서 제조되며, 상기 전기적 특성 값의 차이는 공정 편차(Process variation)에 기인하는 반도체 칩.
  3. 반도체 칩에 있어서,
    N 비트(단, N은 자연수)의 식별 키를 출력하는 N 개의 단위 셀
    을 포함하고,
    상기 N 개의 단위 셀의 각각은,
    한 쌍의 인버터; 및
    스위치
    를 포함하고,
    상기 한 쌍의 인버터 중 하나의 인버터의 입력 단자는 다른 하나의 인버터의 출력 단자에 연결되고, 상기 하나의 인버터의 출력 단자는 상기 다른 하나의 인버터의 입력 단자에 연결되고,
    상기 스위치의 한쪽 단자는 상기 하나의 인버터의 입력 단자에 연결되고, 상기 스위치의 다른 쪽 단자는 상기 하나의 인버터의 출력 단자에 연결되는, 반도체 칩.
  4. 제3항에 있어서,
    상기 하나의 인버터 및 상기 다른 하나의 인버터는 동일한 공정에서 제조되며, 상기 하나의 인버터의 논리 임계치 및 상기 다른 하나의 인버터의 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않은, 반도체 칩.
  5. 제3항에 있어서,
    상기 스위치가 닫히는 경우, 상기 하나의 인버터의 입력 단자와 출력 단자, 및 상기 다른 하나의 인버터의 입력 단자와 출력 단자 사이가 단락되고, 상기 단락된 단자들의 전압 값은 상기 하나의 인버터의 논리 임계치와 상기 다른 하나의 논리 임계치 사이의 값인, 반도체 칩.
  6. 제5항에 있어서,
    상기 스위치가 닫힌 후 다시 열리는 경우, 상기 하나의 인버터의 출력 단자 및 상기 다른 하나의 인버터의 출력 단자 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여 식별 키를 생성하는, 반도체 칩.
  7. 제6항에 있어서,
    상기 스위치가 닫힌 후 다시 열리는 경우, 상기 하나의 인버터의 출력 단자의 전압 값의 논리적 레벨이 하이인 경우 상기 식별 키를 1으로 생성하고, 상기 하나의 인버터의 출력 단자의 전압 값의 논리적 레벨이 로우인 경우 상기 식별 키를 0으로 생성하는, 반도체 칩.
  8. 제3항에 있어서,
    상기 하나의 인버터의 입력 단자와 접지 사이에 연결되며, 항상 개방 상태에 있는 제2 스위치; 및
    상기 하나의 인버터의 출력 단자와, 상기 하나의 인버터를 포함하는 단위 셀의 출력 단자 사이에 연결되며, 상기 식별 키의 인식이 요구되는 경우 상기 하나의 인버터의 출력 단자의 전압을 상기 하나의 인버터를 포함하는 단위 셀의 출력 단자로 전달하는 제3 스위치
    를 더 포함하는, 반도체 칩.
  9. 반도체 칩에 있어서,
    N 비트(단, N은 자연수)의 식별 키를 생성하는 식별 키 생성부; 및
    생성된 상기 식별 키에 암호화 알고리즘을 적용하여 보안 키를 생성하는 보안 키 생성부
    를 포함하고,
    상기 식별 키 생성부는 N 개의 단위 셀을 포함하고,
    상기 N 개의 단위 셀의 각각은 공정편차에 기반하여 1 비트의 식별 키를 생성하는, 반도체 칩.
  10. 제9항에 있어서,
    상기 N 개의 단위 셀 중 제1 단위 셀은,
    제1 논리 임계치를 갖는 제1 인버터; 및
    제2 논리 임계치를 갖는 제2 인버터;
    를 포함하고,
    상기 제1 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자는 제2 노드에 연결되는, 반도체 칩.
  11. 제10항에 있어서,
    상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않은, 반도체 칩.
  12. 제11항에 있어서,
    상기 제1 노드와 상기 제2 노드 사이에 연결된 제1 스위치를 닫아서 상기 제1 노드와 상기 제2 노드 사이를 단락한 후, 닫아진 상기 제1 스위치를 다시 열어서 상기 제1 노드와 상기 제2 노드 사이를 개방하는 경우,
    상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여, 상기 제1 단위 셀에 대응하는 1 비트의 식별 키를 생성하는, 반도체 칩.
  13. 제12항에 있어서,
    상기 개방 후에, 상기 제2 노드의 전압 값의 논리적 레벨이 하이인 경우, 상기 제1 단위 셀에 대응하는 1 비트의 식별 키를 1로 생성하고, 상기 제2 노드의 전압 값의 논리적 레벨이 로우인 경우, 상기 제1 단위 셀에 대응하는 1 비트의 식별 키를 0으로 생성하는, 반도체 칩.
  14. 제11항에 있어서,
    상기 보안 키를 이용하여 디지털 서명, 사용자 식별/인증 또는 데이터 암호화/복호화 중 적어도 하나를 수행하는 처리부
    를 더 포함하는 반도체 칩.
  15. 제1 논리 임계치를 갖는 제1 인버터;
    제2 논리 임계치를 갖는 제2 인버터; 및
    제1 단자 및 제2 단자를 구비하며, 입력되는 제1 전압 값에 따라 상기 제1 단자와 상기 제2 단자 사이를 단락 하거나 또는 개방하는 특성을 갖는 제1 스위치
    를 포함하고,
    상기 제1 인버터의 입력 단자, 상기 제2 인버터의 출력 단자, 및 상기 제1 스위치의 제1 단자는 제1 노드에 연결되고, 상기 제1 인버터의 출력 단자, 상기 제2 인버터의 입력 단자, 및 상기 제1 스위치의 제2 단자는 제2 노드에 연결되고, 상기 제1 논리 임계치와 상기 제2 논리 임계치의 차이를 이용하여 식별 키를 생성하는, 반도체 칩.
  16. 제15항에 있어서,
    상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조되며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않은, 반도체 칩.
  17. 제15항에 있어서,
    상기 입력되는 제1 전압 값의 논리적 레벨이 하이인 경우, 상기 제1 스위치는 상기 제1 노드 및 상기 제2 노드 사이를 단락하고, 단락된 상기 제1 노드 및 상기 제2 노드의 전압 값은 상기 제1 논리 임계치와 상기 제2 논리 임계치 사이의 값인, 반도체 칩.
  18. 제17항에 있어서,
    상기 입력되는 제1 전압 값의 논리적 레벨이 하이에서 로우로 변경된 이후, 상기 제1 노드의 전압 값 및 상기 제2 노드의 전압 값 중 적어도 하나의 논리적 레벨에 기초하여 식별 키를 생성하는, 반도체 칩.
  19. 제18항에 있어서,
    상기 제2 노드의 전압 값의 논리적 레벨이 하이인 경우, 상기 식별 키를 1로 생성하고, 상기 제2 노드의 전압 값의 논리적 레벨이 로우인 경우, 상기 식별 키를 0으로 생성하는, 반도체 칩.
  20. 제15항에 있어서,
    상기 제1 노드와 접지 사이에 연결되며, 항상 개방 상태에 있는 제2 스위치; 및
    상기 제2 노드와 출력 단자 사이에 연결되며, 입력되는 제2 전압 값에 따라 상기 제2 노드와 상기 출력 단자 사이를 단락 하거나 또는 개방하는 특성을 갖는 제3 스위치
    를 더 포함하는, 반도체 칩.
  21. 제20항에 있어서,
    상기 입력되는 제1 전압 값의 논리적 레벨이 하이에서 로우로 변경된 이후에, 상기 입력되는 제2 전압 값은 로우에서 하이로 변경되고, 이 경우 상기 출력 단자의 전압 값의 논리적 레벨에 기초하여 상기 식별 키를 생성하는, 반도체 칩.
  22. 제1 논리 임계치를 갖는 제1 인버터;
    제2 논리 임계치를 갖는 제2 인버터; 및
    제1 입력 단자, 제2 입력 단자 및 출력 단자를 포함하고, 상기 제1 입력 단자의 전압과 상기 제2 입력 단자의 전압을 비교한 결과에 따라 출력 단자의 전압의 논리적 레벨을 결정하는 비교기
    를 포함하고,
    상기 제1 인버터의 입력 단자 및 상기 제1 인버터의 출력 단자는 상기 비교기의 제1 입력 단자에 연결되고, 상기 제2 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 상기 비교기의 제2 입력 단자에 연결되는, 반도체 칩.
  23. 제22항에 있어서,
    상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않은, 반도체 칩.
  24. 입력 단자와 출력 단자가 단락되어 있는 N 개(단, N은 자연수)의 인버터;
    상기 N 개의 인버터 중 제1 논리 임계치를 갖는 제1 인버터, 및 제2 논리 임계치를 갖는 제2 인버터를 선택하는 선택부; 및
    상기 선택된 제1 인버터의 출력 단자의 전압과 상기 선택된 제2 인버터의 출력 단자의 전압을 비교하는 비교기
    를 포함하고,
    상기 비교기는, 상기 비교 결과에 따라, 상기 비교기의 출력 단자의 전압의 논리적 레벨을 결정하는, 반도체 칩.
  25. 제24항에 있어서,
    상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정 편차에 기인하여 동일하지 않은, 반도체 칩.
  26. 제1 입력 단자, 제2 입력 단자, 제1 출력 단자 및 제2 출력 단자를 포함하고, 상기 제1 입력 단자와 상기 제2 입력 단자가 단락되어 동일한 전압이 입력되는 경우, 상기 제1 출력 단자와 상기 제2 출력 단자의 전압이 공정편차로 인해 서로 동일하지 않은 차동 증폭기; 및
    상기 차동 증폭기의 제1 출력 단자의 전압과 상기 차동 증폭기의 제2 출력 단자의 전압을 비교하는 비교기를 포함하고,
    상기 비교기는 상기 비교 결과에 따라, 상기 비교기의 출력 전압의 논리적 레벨을 결정하는, 반도체 칩.
  27. N 개(단, N은 자연수)의 차동 증폭기;
    상기 N 개의 차동 증폭기 중 제1 차동 증폭기를 선택하는 선택부(단, 상기 제1 차동 증폭기는 제1 입력 단자, 제2 입력 단자, 제1 출력 단자 및 제2 출력 단자를 포함 함); 및
    상기 선택된 제1 차동 증폭기의 제1 출력 단자의 전압과 상기 선택된 제1 차동 증폭기의 제2 출력 단자의 전압을 비교하는 비교기
    를 포함하고,
    상기 제1 차동 증폭기는, 상기 제1 입력 단자와 상기 제2 입력 단자가 단락되어 동일한 전압이 입력되는 경우, 상기 제1 출력 단자와 상기 제2 출력 단자의 전압이 공정편차로 인해 서로 동일하지 않고,
    상기 비교기는, 상기 비교 결과에 따라, 상기 비교기의 출력 단자의 전압의 논리적 레벨을 결정하는, 반도체 칩.
  28. 제1 논리 임계치를 갖는 제1 인버터의 입력 단자 및 제2 논리 임계치를 갖는 제2 인버터의 출력 단자에 연결되는 제1 노드와, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자에 연결되는 제2 노드 사이에 연결된 제1 스위치를 닫아서 상기 제1 노드와 상기 제2 노드 사이를 단락시키는 단계;
    상기 제1 스위치를 다시 열어서 상기 제1 노드와 상기 제2 노드 사이를 개방 시키는 단계; 및
    상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 전압 값의 논리적 레벨에 기초하여 식별 키를 생성하는 단계
    를 포함하는, 식별 키 생성 방법.
  29. 제28항에 있어서,
    상기 제1 인버터 및 상기 제2 인버터는 동일한 공정에서 제조된 것이며, 상기 제1 논리 임계치 및 상기 제2 논리 임계치는 상기 공정의 공정편차에 기인하여 동일하지 않은, 식별 키 생성 방법.
  30. 제29항에 있어서,
    상기 제1 노드와 상기 제2 노드를 단락시키는 단계는,
    상기 제1 노드와 상기 제2 노드 사이에 연결된 제1 스위치에 입력 되는 전압 값의 논리적 레벨을 하이로 인가하여 상기 제1 노드와 상기 제2 노드를 단락시키는, 식별 키 생성 방법.
  31. 제29항에 있어서,
    상기 식별 키를 생성하는 단계는,
    상기 제2 노드의 전압 값의 논리적 레벨이 하이인 경우, 상기 식별 키를 1로 생성하고, 상기 제2 노드의 전압 값의 논리적 레벨이 로우인 경우, 상기 식별 키를 0으로 생성하는, 식별 키 생성 방법.
  32. 제28항 내지 제31항 중 어느 한 항에 있어서,
    상기 방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록 매체.
KR20090035416A 2009-04-23 2009-04-23 공정편차를 이용한 디지털 값 생성 장치 및 방법 KR100926214B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20090035416A KR100926214B1 (ko) 2009-04-23 2009-04-23 공정편차를 이용한 디지털 값 생성 장치 및 방법
US13/265,776 US8749265B2 (en) 2009-04-23 2009-12-02 Semiconductor chip and method for generating digital value using process variation
PCT/KR2009/007130 WO2010123185A1 (en) 2009-04-23 2009-12-02 Semiconductor chip and method for generating digital value using process variation
EP09843713.0A EP2422368B1 (en) 2009-04-23 2009-12-02 Semiconductor chip and method for generating digital value using process variation
US14/265,950 US20150109022A1 (en) 2009-04-23 2014-04-30 Semiconductor chip and method for generating digital value using process variation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20090035416A KR100926214B1 (ko) 2009-04-23 2009-04-23 공정편차를 이용한 디지털 값 생성 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020090066726A Division KR20100117006A (ko) 2009-07-22 2009-07-22 공정편차를 이용한 디지털 값 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100926214B1 true KR100926214B1 (ko) 2009-11-09

Family

ID=41561533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20090035416A KR100926214B1 (ko) 2009-04-23 2009-04-23 공정편차를 이용한 디지털 값 생성 장치 및 방법

Country Status (4)

Country Link
US (2) US8749265B2 (ko)
EP (1) EP2422368B1 (ko)
KR (1) KR100926214B1 (ko)
WO (1) WO2010123185A1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR20120089607A (ko) * 2012-03-20 2012-08-13 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR101332517B1 (ko) 2012-08-21 2013-11-22 한양대학교 산학협력단 인증 정보 처리 장치 및 방법
WO2015034145A1 (ko) * 2013-09-06 2015-03-12 (주) 아이씨티케이 식별키 생성 장치 및 방법
WO2015053440A1 (ko) * 2013-10-08 2015-04-16 (주) 아이씨티케이 식별 키 생성 장치 및 방법
WO2015053441A1 (ko) * 2013-10-10 2015-04-16 (주) 아이씨티케이 식별키 생성 장치 및 방법
US10235261B2 (en) 2013-07-26 2019-03-19 Ictk Holdings Co., Ltd. Apparatus and method for testing randomness
US10846440B2 (en) 2015-11-03 2020-11-24 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Security apparatus and operation method thereof
US11095441B2 (en) 2015-11-03 2021-08-17 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
KR20230013573A (ko) 2021-07-19 2023-01-26 한양대학교 산학협력단 공정 편차에 기초한 식별 키 생성 방법 및 회로

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118826B1 (ko) 2011-02-15 2012-04-20 한양대학교 산학협력단 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
EP2506176A1 (en) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
ES2593302T3 (es) * 2011-03-31 2016-12-07 Ictk Co., Ltd. Aparato y método para generar un valor digital
WO2012133964A1 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
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
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
KR101541597B1 (ko) * 2013-09-03 2015-08-03 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101504025B1 (ko) * 2013-09-06 2015-03-18 (주) 아이씨티케이 식별 키 생성 장치 및 방법
KR102186475B1 (ko) 2013-12-31 2020-12-03 주식회사 아이씨티케이 홀딩스 랜덤한 디지털 값을 생성하는 장치 및 방법
US9970986B2 (en) * 2014-03-11 2018-05-15 Cryptography Research, Inc. Integrated circuit authentication
US10026648B2 (en) * 2016-03-08 2018-07-17 International Business Machines Corporation FDSOI with on-chip physically unclonable function
US9774317B1 (en) * 2016-08-29 2017-09-26 Amazon Technologies, Inc. Bistable-element for random number generation
CN106603227A (zh) * 2016-12-12 2017-04-26 江苏宝丰新能源科技有限公司 应用于并网逆变器软硬件加密方法
KR102341266B1 (ko) 2017-08-30 2021-12-20 삼성전자주식회사 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치
TWI662826B (zh) * 2018-03-23 2019-06-11 華邦電子股份有限公司 金鑰產生裝置及方法
JP6646103B2 (ja) 2018-05-30 2020-02-14 ウィンボンド エレクトロニクス コーポレーション 半導体装置
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100812850B1 (ko) 2000-12-01 2008-03-11 가부시키가이샤 히타치세이사쿠쇼 반도체 집적회로장치의 식별방법, 반도체 집적회로장치의제조방법, 반도체 집적회로장치 및 반도체 칩
KR20090007433A (ko) * 2006-04-13 2009-01-16 엔엑스피 비 브이 반도체 장치 및 그 식별자 생성 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002184188A (ja) * 2000-12-18 2002-06-28 Mitsubishi Electric Corp 半導体記憶装置
FR2822565B1 (fr) 2001-03-23 2004-09-10 Schlumberger Systems & Service Composant electronique securise
EP1465254A1 (de) * 2003-04-01 2004-10-06 Infineon Technologies AG Halbleiter-Chip mit einer Identifikationsnummer-Generierungseinheit
JP4272968B2 (ja) 2003-10-16 2009-06-03 エルピーダメモリ株式会社 半導体装置および半導体チップ制御方法
CN100585552C (zh) * 2004-02-12 2010-01-27 日立超大规模集成电路系统株式会社 随机数发生方法和半导体集成电路器件
US7291507B2 (en) * 2004-09-23 2007-11-06 Pixim, Inc. Using a time invariant statistical process variable of a semiconductor chip as the chip identifier
DE102005030142B3 (de) * 2005-06-28 2006-12-21 Infineon Technologies Ag Bistabile Kippstufe mit nichtflüchtiger Zustandsspeicherung
US7916519B2 (en) * 2009-02-09 2011-03-29 Vanguard International Semiconductor Corporation Burn-in methods for static random access memories and chips

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100812850B1 (ko) 2000-12-01 2008-03-11 가부시키가이샤 히타치세이사쿠쇼 반도체 집적회로장치의 식별방법, 반도체 집적회로장치의제조방법, 반도체 집적회로장치 및 반도체 칩
KR20090007433A (ko) * 2006-04-13 2009-01-16 엔엑스피 비 브이 반도체 장치 및 그 식별자 생성 방법

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR101663341B1 (ko) * 2012-03-20 2016-10-14 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR20120089607A (ko) * 2012-03-20 2012-08-13 한양대학교 산학협력단 식별키 생성 장치 및 방법
US10848328B2 (en) 2012-08-21 2020-11-24 Ictk Holdings Co., Ltd. Apparatus and method for processing authentication information
US11729005B2 (en) 2012-08-21 2023-08-15 Ictk Holdings Co., Ltd. Apparatus and method for processing authentication information
WO2014030911A1 (ko) * 2012-08-21 2014-02-27 (주) 아이씨티케이 인증 정보 처리 장치 및 방법
US9722786B2 (en) 2012-08-21 2017-08-01 Ictk Co., Ltd. Apparatus and method for processing authentication information
KR101332517B1 (ko) 2012-08-21 2013-11-22 한양대학교 산학협력단 인증 정보 처리 장치 및 방법
US10193701B2 (en) 2012-08-21 2019-01-29 Ictk Holdings Co., Ltd. Apparatus and method for processing authentication information
US10235261B2 (en) 2013-07-26 2019-03-19 Ictk Holdings Co., Ltd. Apparatus and method for testing randomness
WO2015034145A1 (ko) * 2013-09-06 2015-03-12 (주) 아이씨티케이 식별키 생성 장치 및 방법
US10658311B2 (en) 2013-09-06 2020-05-19 Ictk Holdings Co., Ltd. Device and method for generating identification key
US10224296B2 (en) 2013-09-06 2019-03-05 Ictk Holdings Co., Ltd. Device and method for generating identification key
US10134691B2 (en) 2013-10-08 2018-11-20 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
WO2015053440A1 (ko) * 2013-10-08 2015-04-16 (주) 아이씨티케이 식별 키 생성 장치 및 방법
US10032729B2 (en) 2013-10-10 2018-07-24 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
WO2015053441A1 (ko) * 2013-10-10 2015-04-16 (주) 아이씨티케이 식별키 생성 장치 및 방법
US10846440B2 (en) 2015-11-03 2020-11-24 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Security apparatus and operation method thereof
US11095441B2 (en) 2015-11-03 2021-08-17 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
US11849034B2 (en) 2015-11-03 2023-12-19 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
KR20230013573A (ko) 2021-07-19 2023-01-26 한양대학교 산학협력단 공정 편차에 기초한 식별 키 생성 방법 및 회로

Also Published As

Publication number Publication date
US8749265B2 (en) 2014-06-10
WO2010123185A1 (en) 2010-10-28
EP2422368A4 (en) 2012-12-05
EP2422368B1 (en) 2018-04-11
US20150109022A1 (en) 2015-04-23
US20120037711A1 (en) 2012-02-16
EP2422368A1 (en) 2012-02-29

Similar Documents

Publication Publication Date Title
KR100926214B1 (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
US20200364374A1 (en) Apparatus and method for generating identification key
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
Chen et al. The bistable ring PUF: A new architecture for strong physical unclonable functions
Baturone et al. Improved generation of identifiers, secret keys, and random numbers from SRAMs
US9590804B2 (en) Identification information generation device and identification information generation method
KR20120089607A (ko) 식별키 생성 장치 및 방법
He et al. Reliable and efficient PUF‐based cryptographic key generator using bit self‐tests
KR102071937B1 (ko) 식별키 생성장치 및 식별키 생성방법
Papakonstantinou et al. Physical unclonable functions (pufs) design technologies: Advantages and trade offs
KR20100117006A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR20170132120A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
US10848327B2 (en) Two bit/cell SRAM PUF with enhanced reliability
Tariguliyev et al. Reliability and security of arbiter‐based physical unclonable function circuits
US10999083B2 (en) Detecting unreliable bits in transistor circuitry
KR20160145529A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR20160030157A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR20150137045A (ko) 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR102050021B1 (ko) 식별키 유용성 판별장치
KR20120114186A (ko) 공정편차를 이용한 식별 키 생성 장치 및 방법
Ju A Physical Unclonable Function Based on Inter-Metal Layer Resistance Variations and an Evaluation of its Temperature and Voltage Stability
Baturone Castillo et al. Improved Generation of Identifiers, Secret Keys, and Random Numbers From SRAMs
Idriss et al. Highly Reliable Arbiter PUF Architecture
KAMAL et al. CMOS-Based Physically Unclonable Functions: A Survey
KEREN et al. A Method to Utilize Mismatch Size to Produce an Additional Stable Bit in a Tilting SRAM-Based PUF

Legal Events

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

Payment date: 20120831

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171102

Year of fee payment: 9