KR20120112336A - 디지털 값 생성 장치 및 방법 - Google Patents

디지털 값 생성 장치 및 방법 Download PDF

Info

Publication number
KR20120112336A
KR20120112336A KR1020120105644A KR20120105644A KR20120112336A KR 20120112336 A KR20120112336 A KR 20120112336A KR 1020120105644 A KR1020120105644 A KR 1020120105644A KR 20120105644 A KR20120105644 A KR 20120105644A KR 20120112336 A KR20120112336 A KR 20120112336A
Authority
KR
South Korea
Prior art keywords
digital value
inverter
node
unit
digital
Prior art date
Application number
KR1020120105644A
Other languages
English (en)
Other versions
KR101891089B1 (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 KR20120112336A publication Critical patent/KR20120112336A/ko
Application granted granted Critical
Publication of KR101891089B1 publication Critical patent/KR101891089B1/ko

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/0723Record 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 the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H85/00Protective devices in which the current flows through a part of fusible material and this current is interrupted by displacement of the fusible material when this current becomes excessive
    • H01H85/02Details
    • H01H85/0241Structural association of a fuse and another component or apparatus
    • 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
    • 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/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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)
  • Emergency Protection Circuit Devices (AREA)

Abstract

무작위의 디지털 값을 생성하고, 상기 생성된 디지털 값의 시불변성을 보장하는 디지털 값 생성 장치가 제공된다. 디지털 값 생성 장치의 디지털 값 생성부는 반도체의 공정 편차를 이용하여 무작위의 디지털 값을 생성할 수 있다. 그리고, 상기 디지털 값 생성부에 연결되는 디지털 값 동결부는 상기 생성된 디지털 값에 대응하여 제1 상태 또는 제2 상태 중 어느 한 상태로 고정되어 상기 디지털 값을 동결할 수 있다.

Description

디지털 값 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING DIGITAL VALUE}
디지털 보안 분야에 연관되며, 보다 특정하게는 전자장치의 보안, 임베디드 시스템(Embedded system) 보안, SoC(System on Chip) 보안, 스마트 카드(Smart Card) 보안, USIM(Universal Subscriber Identity Module) 보안 등을 위하여 필요한 암호화 및 복호화 방법과 디지털 서명 등에 사용되는 식별키를 생성하는 장치 및 방법에 연관된다.
최근 전자태그 등의 기술이 발달하면서 대량으로 생산되는 칩에 고유의 아이디(이하에서는 식별 키라 함)를 삽입해야 할 필요성이 증가하였다. 따라서, 무작위의 디지털 값(이를테면, 식별 키 또는 고유 아이디 등)을 생성하는 장치 및 방법의 개발이 필요하게 되었다.
하지만 식별 키를 장치 또는 칩의 고유 아이디로 활용하기 위해서는, 생성된 식별 키를 구성하는 디지털 비트들이 '1'일 확률과 '0'일 확률이 완전히 랜덤한 무작위성(Randomness)과 한 번 생성된 식별 키는 시간이 지나도 변하지 않는 시불변성(Time-invariance)이 높은 수준으로 보장되어야 한다.
그러나, 종래의 디지털 값을 생성하는 장치로부터 생성되는 디지털 값은 무작위성은 만족하지만, 노이즈, 차동 노화(differential aging) 등으로 인하여 신뢰성 즉, 시불변성(time invariant)을 만족하기는 어렵다는 문제가 있었다.
따라서, 노이즈에 강하고 외부 온도 등의 환경 변화에도 강한 시불변성이 보장되는 복제가 불가능한 디지털 값을 생성하는 장치 및 방법이 절실하게 요구되고 있다.
반도체 칩의 제조 공정의 공정편차를 이용하여 물리적으로 복제가 불가능한 PUF를 구현함으로써, 구조가 간단하면서도 무작위적 디지털 값을 생성하고, 생성된 값은 시불변성이 보장되도록 동결(Freezing)하는 장치 및 방법을 제공한다.
노이즈 및 환경 변화에도 강하고 시불변성이 보장되는 신뢰할 수 있는 무작위의 디지털 값을 생성할 수 있는 디지털 값 생성 장치 및 방법을 제공한다.
일측에 따르면, 반도체의 공정 편차를 이용하여 무작위의 디지털 값을 생성하는 디지털 값 생성부, 및 상기 디지털 값 생성부에 연결되고 상기 생성된 디지털 값에 대응하여 제1 상태 또는 제2 상태 중 어느 한 상태로 고정되어 상기 디지털 값을 동결하는 디지털 값 동결부를 포함하는 디지털 값 생성 장치가 제공된다.
여기서 상기 디지털 값 생성부는 PUF(Physically Unclonable Function)를 포함할 수 있다.
일실시예에 따르면, 상기 PUF는, 동일한 공정에서 제조되며, 상기 제조 과정에서의 공정편차에 따라 전기적 특성 값의 차이를 갖는 제1 인버터 및 제2 인버터를 포함하고, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자는 제1 노드에 연결되고 상기 제1 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 상기 제1 노드와 상이한 제2 노드에 연결되어, 상기 제1 노드 및 상기 제2 노드가 단락되었다 개방되는 경우 상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
다른 일실시예에 따르면, 상기 PUF는, 차동증폭기를 포함하고, 상기 차동 증폭기의 두 개의 입력 노드가 단락되는 경우의 두 개의 출력 노드 각각의 전압 차이를 비교하여, 상기 디지털 값이 생성된다.
또 다른 일실시예에 따르면, 상기 PUF는, SR 래치를 포함하고, 상기 SR 래치의 두 개의 입력 노드 각각에 동시에 논리적 레벨 '1'을 입력한 후, 상기 두 개의 입력 노드 각각에 동시에 논리적 레벨 '0'을 입력한 경우, 상기 SR 래치의 두 개의 출력 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
또 다른 일실시예에 따르면, 상기 PUF는, SR 래치를 포함하고, 상기 SR 래치의 두 개의 입력 노드 각각에 동시에 논리적 레벨 '0'이 입력된 상태에서 상기 SR 래치의 두 개의 출력 노드 사이를 단락시키고, 다시 상기 두 개의 출력 노드를 개방한 경우, 상기 SR 래치의 두 개의 출력 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
일실시예에 따르면, 상기 디지털 값 동결부는, 상기 디지털 값 생성부의 초기 구동 시 생성된 상기 디지털 값에 대응하여 과전류를 받아 끊어지거나 또는 끊어지지 않음으로써 상기 디지털 값을 동결하는 적어도 하나의 퓨즈를 포함한다.
이 경우, 상기 제1 상태는 상기 퓨즈가 끊어진 상태이고, 상기 제2 상태는 상기 퓨즈가 끊어지지 않은 상태일 수 있다.
다른 일실시예에 따르면, 상기 디지털 값 동결부는, 상기 디지털 값 생성부의 초기 구동 시 생성된 상기 디지털 값에 의해 프로그램 되어 상기 디지털 값을 고정하는 적어도 하나의 OTP(One Time Programmable) 소자를 포함한다.
다른 일측에 따르면, 반도체의 공정 편차를 이용하여 무작위의 디지털 값을 생성하는 디지털 값 생성부, 및 상기 디지털 값 생성부에 연결되고 상기 생성된 디지털 값을 저장하는 디지털 값 저장부를 포함하는 디지털 값 생성 장치가 제공된다.
여기서 상기 디지털 값 생성부는 PUF(Physically Unclonable Function)를 포함할 수 있다.
일실시예에 따르면, 상기 PUF는, 동일한 공정에서 제조되며, 상기 제조 과정에서의 공정편차에 따라 전기적 특성 값의 차이를 갖는 제1 인버터 및 제2 인버터를 포함하고, 상기 제1 인버터의 출력 단자 및 상기 제2 인버터의 입력 단자는 제1 노드에 연결되고 상기 제1 인버터의 입력 단자 및 상기 제2 인버터의 출력 단자는 상기 제1 노드와 상이한 제2 노드에 연결되어, 상기 제1 노드 및 상기 제2 노드가 단락되었다 개방되는 경우 상기 제1 노드 및 상기 제2 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
다른 일실시예에 따르면, 상기 PUF는, 차동증폭기를 포함하고, 상기 차동 증폭기의 두 개의 입력 노드가 단락되는 경우의 두 개의 출력 노드 각각의 전압 차이를 비교하여, 상기 디지털 값이 생성된다.
또 다른 일실시예에 따르면, 상기 PUF는, SR 래치를 포함하고, 상기 SR 래치의 두 개의 입력 노드 각각에 동시에 논리적 레벨 '1'을 입력한 후, 상기 두 개의 입력 노드 각각에 동시에 논리적 레벨 '0'을 입력한 경우, 상기 SR 래치의 두 개의 출력 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
또 다른 일실시예에 따르면, 상기 PUF는, SR 래치를 포함하고, 상기 SR 래치의 두 개의 입력 노드 각각에 동시에 논리적 레벨 '0'이 입력된 상태에서 상기 SR 래치의 두 개의 출력 노드 사이를 단락시키고, 다시 상기 두 개의 출력 노드를 개방한 경우, 상기 SR 래치의 두 개의 출력 노드 중 적어도 하나의 논리적 레벨을 이용하여 상기 디지털 값이 생성된다.
한편, 상기 디지털 값 저장부는, 상기 디지털 값 생성부의 초기 구동 시 생성된 상기 디지털 값을 저장하는 적어도 하나의 비휘발성 메모리 소자를 포함할 수 있다.
이 경우, 상기 비휘발성 메모리 소자는 MTP(Multi Time Programmable or Many Time Programmable) 소자일 수 있다.
한편, 상기 비휘발성 메모리 소자는 EEPROM(Electrically Erasable and Programmable Read Only Memory), 플래시(Flash) 메모리, SONOS(Silicon-Oxide-Nitride-Oxide-Silicon), FRAM(Ferroelectrics Random Access Memory) 및 RRAM(Resistive Random Access Memory) 중 적어도 하나일 수도 있다.
또 다른 일측에 따르면, 디지털 값 생성 장치의 디지털 값 생성부가, 상기 디지털 값 생성부에 포함되는 적어도 하나의 소자의 공정 편차를 이용하여 무작위의 디지털 값을 생성하는 단계, 및 상기 디지털 값 생성부에 연결되는 디지털 값 동결부가, 상기 생성된 디지털 값에 대응하여 제1 상태 또는 제2 상태 중 어느 한 상태로 고정되어 상기 디지털 값을 동결하는 단계를 포함하는 디지털 값 생성 방법이 제공된다.
이 경우, 상기 디지털 값을 동결하는 단계는, 상기 디지털 값 생성부의 초기 구동 시 생성된 상기 디지털 값에 대응하여 상기 디지털 값 동결부에 포함되는 적어도 하나의 퓨즈에 과전류 인가하는 단계, 및 상기 적어도 하나의 퓨즈가 상기 과전류에 의해 끊어졌는지의 여부에 따라 상기 디지털 값을 물리적으로 동결하는 단계를 포함할 수 있다.
한편, 상기 디지털 값을 동결하는 단계는, 상기 디지털 값 생성부의 초기 구동 시 생성된 상기 디지털 값에 대응하여 상기 디지털 값 동결부에 포함되는 적어도 하나의 OTP(One Time Programmable) 소자를 프로그램 하는 단계, 및 상기 적어도 하나의 OTP 소자가 프로그램되었는지의 여부에 따라 상기 디지털 값을 동결하는 단계를 포함할 수도 있다.
또 다른 일측에 따르면, 디지털 값 생성 장치의 디지털 값 생성부가, 상기 디지털 값 생성부에 포함되는 적어도 하나의 소자의 공정 편차를 이용하여 무작위의 디지털 값을 생성하는 단계, 및 상기 디지털 값 생성부에 연결되는 디지털 값 저장부가, 상기 생성된 디지털 값을 저장하는 단계를 포함하는 디지털 값 생성 방법이 제공된다.
이 경우, 상기 디지털 값을 저장하는 단계는, 상기 생성된 상기 디지털 값을 상기 디지털 값 생성부에 포함되는 적어도 하나의 비휘발성 메모리 소자를 프로그램 하는 단계일 수 있다.
한편, 상기 비휘발성 메모리 소자는 MTP(Multi Time Programmable or Many Time Programmable) 소자일 수 있다.
일실시예에 따르면, 상기 비휘발성 메모리 소자는 EEPROM(Electrically Erasable and Programmable Read Only Memory), 플래시(Flash) 메모리, SONOS(Silicon-Oxide-Nitride-Oxide-Silicon), FRAM(Ferroelectrics Random Access Memory) 및 RRAM(Resistive Random Access Memory) 중 적어도 하나일 수 있다.
반도체 칩의 제조 공정의 공정편차를 이용하여 디지털 값을 생성하는 회로의 구조가 간단하면서도 시불변성이 만족됨에 따라 상기 디지털 값의 신뢰성이 높아지게 된다.
또한, 동일한 설계 하에서 다른 반도체 칩을 만들더라도 동일한 식별 키가 생성되지 않음으로써 반도체 칩의 물리적인 복제가 불가능하므로, 높은 보안성을 보장한다.
도 1은 일측에 따른 디지털 값 생성 장치를 도시한 블록도이다.
도 2는 일실시예에 따른 디지털 값 생성 장치의 디지털 값 동결부의 예시적 구성을 도시한다.
도 3은 다른 일실시예에 따른 디지털 값 동결부의 예시적 구성을 도시한다.
도 4는 다른 일측에 따른 디지털 값 생성 장치를 도시한 블록도이다.
도 5는 일실시예에 따른 디지털 값 생성부의 구성을 설명하기 위한 예시적 회로도이다.
도 6은 도 5의 디지털 값 생성부의 구성의 동작을 설명하기 위한 개념적 그래프이다.
도 7은 다른 일실시예에 따른 디지털 값 생성부의 구성을 설명하기 위한 예시적 회로도이다.
도 8은 또 다른 일실시예에 따른 디지털 값 생성부의 구성을 설명하기 위한 예시적 회로도이다.
도 9는 또 다른 일실시예에 따른 디지털 값 생성부의 구성을 설명하기 위한 예시적 회로도이다.
도 10은 도 8의 실시예에 따른 디지털 값 생성부에, 도 2의 실시예에 따른 디지털 값 동결부가 결합된 예시적 디지털 값 생성 장치의 회로 구성을 도시한다.
도 11은 도 10의 실시예에 따라 디지털 값 동결부에서 디지털 값 동결이 수행되는 과정을 설명하기 위한 예시적 그래프이다.
도 12는 다양한 일실시예들에 따라 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 예시적 회로도들을 도시한다.
도 13은 다른 일실시예에 따라 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 14는 다른 일실시예에 따라 디지털 값 생성부가 도 5의 실시예에 의해 구현되는 경우에, 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 다양한 예시적 회로도들을 도시한다.
도 15는 다른 일실시예에 따라 디지털 값 생성부가 도 5의 실시예에 의해 구현되고 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 16은 다른 일실시예에 따라 디지털 값 생성부가 도 7의 실시예에 의해 구현되는 경우에, 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 다양한 예시적 회로도들을 도시한다.
도 17는 다른 일실시예에 따라 디지털 값 생성부가 도 7의 실시예에 의해 구현되고 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 18은 다른 일측에 따른 디지털 값 생성 방법을 도시하는 흐름도이다.
도 19는 또 다른 일측에 따른 디지털 값 생성 방법을 도시하는 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 도면들을 참조하여 설명되는 실시예들은, 기술적 사상과 구성 및 동작을 전달하기 위한 예시적인 것들에 불과하며, 본 발명은 이러한 실시예들에 국한되어 해석되어서는 안 된다.
따라서, 후술하는 실시예들에도 불구하고, 기술 분야의 통상의 지식을 가진 자가 이하의 실시예들에 기초하여 다양한 변형이나 응용을 하더라도, 사상을 벗어나지 않는 범위에서는 이러한 변형이나 응용이 본 발명에서 배제되는 것으로 이해되어서는 안 된다.
도 1은 일측에 따른 디지털 값 생성 장치를 도시한 블록도이다.
일실시예에 따른 디지털 값 생성 장치는 디지털 값 생성부(110) 및 디지털 값 동결부(120)를 포함한다.
상기 디지털 값 생성부(110)는 상기 디지털 값 생성부(110)에 인가되는 신호에 대응하여 무작위의(Random) 디지털 값을 생성한다. 상기 무작위의 디지털 값은, 상기 디지털 값 생성부(110)를 구현하는 적어도 하나의 반도체 소자를 제조하는 과정에서 발생하는 반도체 공정 상의 공정편차에 의해 생성된다. 이 부분을 보다 구체적으로 설명한다.
반도체 공정에서 공정편차는 다양한 이유에 의해 발생한다. 이를테면, 트랜지스터를 제조하는 경우, 유효 게이트 길이, 도핑 농도 관련 지수, 산화물 두께 관련 지수 또는 문턱전압 등의 파라미터가 공정편차의 원인이 될 수 있다. 이러한 공정 편차는 자연현상에 기인하는 것이므로, 공정편차를 작게 할 수는 있어도 완전히 제거하는 것은 불가능하다.
따라서 일반적으로는 공정편차가 작은 반도체 제조 공정이 우수한 것으로 인식되어 반도체 공정의 기술분야에서는 공정 편차를 줄이기 위한 다양한 시도를 하고 있다.
그러나, 본 발명에 따른 디지털 값 생성부(110)는 오히려 이러한 반도체 공정의 공정편차를 이용하여, 무작위로 결정되는 디지털 값을 생성한다. 이를테면, 무작위로 결정되는 디지털 값은 '1' 또는 '0' 중 어느 하나이다.
그런데, 반도체 공정 편차를 이용하여 디지털 값 생성부(110)가 무작위의 디지털 값을 생성한 경우, 상기한 바와 같이, 노이즈, 차동 노화(differential aging), 외부 온도 등의 환경 변화에 의해 시불변성(time invariant)을 보장할 수 없는 문제가 있을 수 있다. 이러한 시불변성의 보장은 생성된 디지털 값이 보안/인증 분야에서 활용될 수 있는 지의 여부를 결정하는 신뢰성에 직결되는 것이므로, 이러한 부분에 대한 해결이 요구된다.
따라서, 일실시예에 따르면, 디지털 값 동결부(120)는, 상기 디지털 값 생성부(110)에 의해 생성된 디지털 값에 대해, 노이즈나 외부 온도 등의 환경 변화에도 강한 시불변성을 보장한다.
일실시예에 따르면, 상기 디지털 값 동결부(120)는 상기 디지털 값 생성부(110)에 연결되며, 상기 디지털 값 생성부(110)가 생성한 디지털 값에 대응하여 제1 상태 또는 제2 상태 중 어느 한 상태로 고정되어 상기 디지털 값을 동결(freezing)한다.
상기 제1 상태와 제2 상태의 각각은 상기 생성된 디지털 값을 판독할 수 있는, 이를테면 '1' 또는 '0'에 대응하는 값들일 수 있다.
이하에서는 도 2 이하를 참조하여, 다양한 실시예들에 대해 설명한다. 먼저, 도 2 및 도 3을 참조해서 디지털 값 동결부(120)의 예시적 구현들을 설명하고, 도 5 내지 도 9를 참조해서 디지털 값 생성부(110)의 예시적 구현들을 설명한다.
나아가, 이러한 디지털 값 생성부(110) 및 디지털 값 동결부(120)를 포함한 예시적 회로 구성 예들은 도 10 내지 도 17을 참조하여 설명한다.
한편, 다른 일측에 따르면, 상기 시불변성의 보장을 위해, 디지털 값 동결부(120)에 대신하여, 상기 생성된 디지털 값을 저장하여 제공하는 디지털 값 저장부가 포함된다. 이러한 다른 일측에 대해서는 도 4를 참조하여 설명한다.
도 2는 일실시예에 따른 디지털 값 생성 장치의 디지털 값 동결부의 예시적 구성을 도시한다.
일실시예에 따르면, 도 1의 디지털 값 생성 장치(100)의 디지털 값 동결부(120)에는 퓨즈들(201 및 202)을 포함하는 퓨즈부(210) 및 상기 생성된 디지털 값에 따라 상기 퓨즈들(201 및 202)의 물리적으로 연결 상태를 변경하는 퓨즈 제어부(220)가 포함된다.
디지털 값 생성부(110)가 out 단자 및 out_bar 단자를 통해, 서로 상보적인 디지털 값, 이를테면 각각 '1'과 '0'을 제공하면, 디지털 값 동결부(120)의 퓨즈 제어부(220)는 퓨즈부(210)에 포함된 퓨즈(201) 또는 퓨즈(202) 각각에 제어 신호 C 및 Cb를 전달한다. 그러면, 상기 제어 신호 C 및 Cb에 의해, 상기 퓨즈(201) 또는 퓨즈(202) 중 어느 하나에 과전류가 인가됨으로써 퓨즈가 물리적으로 끊어진다.
이를 테면, out 단자의 값이 '1'인 경우, 상기 퓨즈 제어부(220)는 퓨즈(201)을 끊을 수 있다. 물론, 디지털 값 '1'에 대응하는 퓨즈를 끊는 경우뿐만 아니라, 디지털 값 '0'에 대응하는 퓨즈를 끊는 반대의 실시예도 가능하다. 이하에서, 디지털 값 '1' 또는 '0'에 대응하여 어떤 실시예가 설명되더라도 이처럼 반대의 실시예도 얼마든지 가능하다.
한편, 퓨즈가 끊어지기 위해 퓨즈(201) 및 퓨즈(202)의 단자들(211, 212, 213 및 214) 중 적어도 일부는 Vdd 전압에 연결되거나, 그라운드(ground)에 연결될 수 있다. 또한, 실시예들에 따라서는 단자들(211, 212, 213 및 214)이 디지털 값 생성부에 포함된 일부 노드들에 각각 연결될 수도 있다. 이러한 구성은 도 12, 도 14 및 도 16 등을 참고하여 보다 구체적으로 후술된다.
이렇게 디지털 값 생성부(110)가 생성한 디지털 값에 따라, 디지털 값 동결부(120)가 물리적으로 상태 변경을 하여, 되돌이킬 수 없는 상태로 고정될 수 있다. 따라서, 디지털 값 생성부(110)가 생성한 무작위 디지털 값(random digital value)에 시불변성이 보장된다.
추후에, 상기 디지털 값을 독출하는 경우에는, 전기적으로 디지털 값 동결부(120) 내의 퓨즈부(210)에 포함된 퓨즈들(201 및 202) 중 어느 퓨즈가 끊어졌는지, 어느 퓨즈가 끊어지지 않았는지를 식별함으로써 상기 디지털 값을 독출할 수 있다.
또한, 다른 일실시예에서는 퓨즈들(201 및 202) 중 어느 퓨즈가 끊어졌는지, 어느 퓨즈가 끊어지지 않았는지에 의해 디지털 값 생성 장치 내의 회로 연결 상태가 고정되어, 디지털 값 생성부(110)의 출력 값이 동결되고, 이러한 출력 값을 상기 디지털 값으로 판독할 수도 있다.
참고로, 일실시예에 따르면, 상기 디지털 값 생성부(110)는 하나의 디지털 값 또는 상보적 디지털 값 쌍(pair)을 생성하는 단위 셀(unit cell)을 N 개 포함 - 상기 N은 자연수 - 하여 N 비트(bit)의 디지털 값을 생성할 수도 있다.
이 경우에는, 디지털 값 동결부(120)도 퓨즈부(210)를 N 개 포함하여, N 비트의 디지털 값을 동결할 수 있다. 여기서, 만약 어느 단위 셀에 대응하는 퓨즈부(210)의 퓨즈들(201 및 202) 둘 다가 끊어진 경우, 또는 반대로 둘 다가 끊어지지 않은 경우에는 해당 단위 셀의 값은 무효(invalid)로 처리할 수도 있다.
이처럼, 본 명세서 전반에 걸쳐, 설명의 편의를 위해 디지털 값 생성부(100)가 하나의 디지털 값 또는 디지털 값 쌍을 생성하는 내용을 설명하더라도, 본 발명이 이러한 내용에 의해 한정적으로 해석되어서는 안 된다.
따라서, 별다른 언급이 없더라도, 이러한 디지털 값 생성부에 N 개의 단위셀이 포함되어, N 개의 디지털 값이 생성되고 동결(또는 저장)될 수 있는 것은, 회로의 확장성(scalability)에 의해 당업자에게 자명하다.
또한, 명세서 전반에 걸쳐, 디지털 값 생성부(110)가 생성한 디지털 값에 따라 물리적으로 상태가 변경되어 상기 디지털 값을 동결하는 실시예가 도 2의 퓨즈부(210)의 구성을 참조하여 설명될 수 있으나, 이러한 내용은 일부 실시예에 불과하며, 생성된 디지털 값에 의해 물리적 구조가 변경되어 생성된 디지털 값에 대한 시불변성을 제공할 수 있는 다른 어떤 변형 실시예 또한 본 발명에서 배제되지 않는다.
한편, 일실시예에 따르면, 상기 디지털 값 동결부(120)는 한 번 프로그램 가능한(One Time Programmable) OTP 소자에 의해 구현될 수도 있다.
물론, 넓은 의미에서는 물리적 상태 변경에 의해 상기 생성된 디지털 값을 한 번 저장할 수 있는 상기 퓨즈부(210) 또한 OTP 소자로 이해될 수 있으나, 이하에서는 퓨즈부(210) 구성은 제외하고, 비휘발성(Non Volatile) 메모리의 예시들로서 한 번 프로그램 가능한 소자를 OTP 소자로 지칭하기로 한다. 이러한 실시예는 아래 도 3을 참조하여 상술한다.
도 3은 다른 일실시예에 따른 디지털 값 동결부의 예시적 구성을 도시한다.
본 실시예에서는 디지털 값 생성부(110)가 생성한 디지털 값 쌍이 out 단자와 out_bar 단자를 통해 제어부(330)로 전달되면, 제어부(330)의 제어 신호 C 및 Cb에 의해 디지털 값 동결부(120)에 포함된 OTP 소자들의 게이트(gate)가 제어됨으로써, 비휘발성 OTP 소자(310 및 320)에 상기 디지털 값이 프로그램된다. 이 경우, 상기 디지털 값은 한 번 프로그램 된 후 변경되지 않는다.
따라서, 도 2의 실시예에서의 퓨즈부(210)에서 설명한 바와 유사하게, 디지털 값 생성부(110)가 생성한 무작위의 디지털 값에 시불변성이 보장된다.
이를 테면, out 단자를 통해 디지털 값 '1', out_bar 단자를 통해 디지털 값 '0'이 제어부(320)에 전달되면, 제어부(320)의 제어 신호 C 및 Cb에 의해 OTP 소자(310)에 디지털 값 '1'이 프로그램 되고, OTP 소자(320)에 디지털 값 '0'이 프로그램 되며, 이 값은 다시 쓰기가 불가능하다.
OTP 소자들(310 및 320) 양단의 단자들은 실시예에 따라 디지털 생성 장치(100) 내의 노드들 중 일부에 각각 연결될 수 있으며, 이러한 연결의 다양한 예들이 도 13, 도 15 및 도 17 등을 참조하여 후술된다.
물리적으로 OTP 소자들(310 및 320)을 구현하는 방법은 다양한 실시예가 있을 수 있으며, 당업자에게는 프로그램 가능한 읽기 전용 메모리(programmable read-only memory, PROM) 또는 필드 프로그램 가능한 읽기 전용 메모리(Field Programmable read-only memory, FPROM)로 잘 알려져 있다. 따라서, 이러한 OTP 소자들(310 및 320)의 물리적 구현에 대해서는 더 이상의 구체적 설명을 하지 않더라도 당업자에게는 명확히 이해되고 재현될 수 있다.
상기 도 1 내지 도 3의 실시예에서는, 디지털 값 생성 장치(100)에 최초로 전압(또는 전류)가 인가되는 과정에서, 디지털 값 생성부(110) 내의 반도체 소자(들)의 공정 편차에 기인하여 디지털 값 또는 디지털 값 쌍이 생성되고, 이 값이 즉시 퓨즈부(210) 또는 OTP 소자들(310 및 320)에 물리적으로 동결되었다.
그러나, 실시예에 따라서는 이러한 동결(freezing)을 대체하여, 비휘발성 메모리(Non Volatile Memory, NVM)에 상기 생성된 디지털 값을 저장하는 것도 가능하다. 이러한 다른 실시예가 도 4를 참조하여 설명된다.
도 4는 다른 일측에 따른 디지털 값 생성 장치(400)를 도시한 블록도이다.
디지털 값 생성부(410)가 out 단자 및 out_bar 단자 각각에 상보적 디지털 값을 생성하면, 이 디지털 값이 비휘발성 메모리인 디지털 값 저장부(420)에 저장된다.
일실시예에 따르면, 상기 디지털 값 저장부(420)는 상기한 OTP 소자에 의해 구현될 수도 있고, MTP(Multiple Time Programmable or Multi Time Programmable) 소자에 의해 구현될 수도 있다.
MTP 소자는 다시쓰기(rewritable) 특성을 갖는 비휘발성 메모리(NVM) 전체를 포함하는 개념으로 이해될 수 있다. 이러한 MTP 소자에는 통상적으로 알려져 있는 EEPROM(Electrically Erasable and Programmable Read Only Memory), 플래시(Flash) 메모리, SONOS(Silicon-Oxide-Nitride-Oxide-Silicon), FRAM(Ferroelectrics Random Access Memory), RRAM(Resistive Random Access Memory) 등 어떠한 형태의 비휘발성 메모리 소자도 가능하다.
따라서, 디지털 값 저장부(420)가 MTP 소자에 의해 구현되는 경우, 매우 다양한 구현 방식의 실시예가 가능하다.
도 1 내지 도 3의 실시예들에서는 디지털 값이 디지털 값 생성부(110)로부터 생성되면 물리적으로 해당 값이 퓨즈부(210)나 OTP 소자(310 및 320)에 프로그램 되고, 이렇게 프로그램 된 값은 물리적/전기적으로 이전의 값으로 돌아갈 수 없는 비가역성(irreversibility)를 가졌다. 따라서, 디지털 값이 동결된 것으로 표현하였다.
그러나, 도 4를 참조하여 설명한 본 실시예에서는 이러한 비가역성을 보장하지는 않지만, 제조/구현 비용의 절감이나 기타 다양한 필요에 의해 디지털 값 생성부(410)가 생성한 디지털 값을 비휘발성 메모리 소자인 디지털 값 저장부(420)에 저장(store)하는 것에서 차이가 있다.
따라서, 도 4의 실시예에서는 디지털 값 저장부(420)가 다시 프로그램될 여지가 있기 때문에, 도 1 내지 도 3의 실시예에서와 같은 수준의 시불변성을 제공하는 것은 아니지만, 디지털 값 저장부(420)에 대한 다시 쓰기(rewriting)을 방지한다면 역시 상당히 높은 수준의 시불변성이 보장될 수 있다.
상기한 설명에서는 디지털 값 저장부(420)가 비휘발성 메모리 소자로 구현되는 내용을 제시하였으나, 본 발명은 디지털 값 생성부(410)가 생성한 디지털 값을 저장하여 시불변성을 보장할 수 있는 다른 어떠한 형태의 메모리 소자의 변형을 배제하지 않는다.
디지털 값 저장부(420)를 도입한 배경과 그 구현 방법들은, 상기한 설명에 의해 당업자에게 충분히 이해되고 재현될 수 있으므로, 더 이상의 자세한 설명은 생략한다. 이하에서는, 디지털 값 생성부(110 또는 410) 구현에 대한 다양한 실시예들에 대해 도 5 이하를 참조하여 상세히 설명한다.
도 5는 일실시예에 따른 디지털 값 생성부(110 또는 410)의 구성을 설명하기 위한 예시적 회로도이다.
일실시예에 따르면, 디지털 값 생성부(110 또는 410)는 도 5에 도시된 회로(500)에 의해 구현된다.
제1 인버터(510)은 제1 논리 임계치(Threshold)를 갖는다. 그리고 제2 인버터(520)는 제2 논리 임계치를 갖는다. 논리 임계치(logic threshold)는 인버터의 입력 전압과 출력 전압이 동일한 값을 가지는 경우의 전압 값이다. 이러한 논리 임계치는, 동작 중인 인버터의 출력 단자와 입력 단자를 단락(short)시키는 경우의 전압 값으로 측정될 수 있다.
동일한 공정에서 제조되는 인버터들은, 이론상 동일한 논리 임계치를 갖도록 디자인 되지만, 상기한 바와 같이 실제 제조 공정에서는 공정편차가 존재하기 때문에, 실제로 제조된 어느 두 개의 인버터도 완벽히 동일한 논리 임계치를 가질 수 없다.
일 실시예에 따르면, 상기 제1 인버터(510)와 상기 제2 인버터(520)는 동일한 제조 공정에서 제조된 것으로서, 공정편차에 기인한 논리 임계치의 차이를 갖는다.
상기 논리 임계치의 차이는, 공정에 따라 상이하지만, 이를테면 수 내지 수십 밀리볼트 정도의 크기일 수 있다. 따라서, 상기 제1 인버터(510)의 논리 임계치와 상기 제2 인버터(520)의 논리 임계치를 별도의 비교기 회로를 이용하여 측정하는 것은, 측정 상 오차 때문에 정확하지 않을 수 있다.
따라서, 본 실시예에서는 두 인버터의 논리 임계치를 상대적으로 비교할 수 있는(즉, 별도의 비교기 회로를 이용하지 않고 측정하는) 방법을 도 5의 회로(500)으로 구현하였다.
회로(500)에 따르면, 두 개의 인버터(510 및 520) 사이의 논리 임계치를 상대적으로 비교하여, 어느 쪽의 논리 임계치가 큰지 판단할 수 있다.
만약 제2 인버터(520)가 존재하지 않는 경우라면, 제1 인버터(510)의 입력 단자와 출력 단자를 단락시키는 경우 제1 인버터(510)의 출력 전압은 상기 제1 인버터(510)의 논리 임계치와 같을 것이다.
또한, 제1 인버터(510)가 존재하지 않는 경우라면, 제2 인버터(520)의 입력 단자와 출력 단자를 단락시키는 경우 제2 인버터(520)의 출력 전압은 상기 제2 인버터(520)의 논리 임계치와 같을 것이다.
그러나, 도 5에 도시된 바와 같이, 제1 인버터(510)의 입력 단자와 제2 인버터(520)의 출력 단자가 단락되어 제1 노드(501)에 연결되어 있고, 제1 인버터(510)의 출력 단자와 제2 인버터(520)의 입력 단자가 단락되어 제2 노드(502)에 연결되는 경우는 위의 경우들과 다른 결과를 가져온다.
스위치(530)를 닫아서(close) 상기 제1 노드(501)와 상기 제2 노드(502)를 단락(short)시키는 경우, 단락된 상기 두 노드의 전압 값은, 상기 제1 인버터(510)의 논리 임계치와 상기 제2 인버터(520)의 논리 임계치의 사이의 특정한 값(평균 값이 아닐 수 있음, 이하 같다)이 된다.
상기 두 인버터(510 및 520)의 논리 임계치 중 어느 쪽의 값이 높은 지와 무관하게, 상기 스위치(530)가 닫혀있는 동안은, 제1 노드(501) 및 제2 노드(502)의 전압은 상기 두 인버터(510 및 520)의 논리 임계치들의 사이에 있는 상기 특정한 값이 된다.
그리고, 그 후 스위치(530)을 열어서(open), 상기 제1 노드(501)와 상기 제2 노드(502) 사이를 개방(open)시키는 경우, 상기 제1 노드(501)와 상기 제2 노드(502) 중 어느 하나의 전압 값의 논리적 레벨(logical level)은 '0'이 되고, 다른 하나의 논리적 레벨은 '1'이 된다.
이를테면, 만약 제1 인버터(510)의 논리 임계치가 상기 제2 인버터(520)의 논리적 임계치 보다 낮다고 가정하는 경우, 상기 스위치(530)가 닫혀서 제1 노드(501)와 제2 노드(502)가 단락된 동안의 제1 노드(501)의 전압은 상기 제1 인버터(510)의 논리 임계치보다 높다.
따라서, 상기 스위치(530)가 다시 열려서 상기 제1 노드(501)와 상기 제2 노드(502) 사이가 개방된 후, 제1 인버터(510)는 (자신의 입력 단자인) 제1 노드(501)의 전압을 논리적 레벨 하이(High)로 인식하고, 따라서, 제1 인버터(510)의 출력 단자인 제2 노드(502)의 전압을 논리적 레벨 로우(Low)로 만든다.
이 경우, 제2 인버터(520)는 (자신의 입력 단자인) 제2 노드(502)의 전압을 논리적 레벨 로우로 인식하고, 따라서, 제2 인버터(520)의 출력 단자인 제1 노드(501)의 전압을 논리적 레벨 하이로 만든다.
결국, 회로(500)의 출력(Out)인 제2 노드(502)의 논리적 레벨은 하이가 된다.
반대로, 만약 제1 인버터(510)의 논리 임계치가 상기 제2 인버터(520)의 논리적 임계치 보다 높다고 가정하는 경우, 상기 스위치(530)가 닫혀서 제1 노드(501)와 제2 노드(502)가 단락된 동안의 제1 노드(501)의 전압은 상기 제1 인버터(510)의 논리 임계치보다 낮다.
따라서, 상기 스위치(530)가 다시 열려서 상기 제1 노드(501)와 상기 제2 노드(502) 사이가 개방된 후, 제1 인버터(510)는 (자신의 입력 단자인) 제1 노드(501)의 전압을 논리적 레벨 로우로 인식하고, 따라서, 제1 인버터(510)의 출력 단자인 제2 노드(502)의 전압을 논리적 레벨 하이로 만든다.
이 경우, 제2 인버터(520)는 (자신의 입력 단자인) 제2 노드(502)의 전압을 논리적 레벨 하이로 인식하고, 따라서, 제2 인버터(520)의 출력 단자인 제1 노드(501)의 전압을 논리적 레벨 로우로 만든다.
결국, 회로(500)의 출력(Out)인 제2 노드(502)의 전압의 논리적 레벨은 로우가 된다.
상기한 바와 같이, 제1 인버터(510)의 논리 임계치와 제2 인버터(520)의 논리 임계치 중 어느 쪽이 높은 가에 따라, 스위치(530)의 단락-개방 이후의 출력(Out)의 논리적 레벨은 하이(디지털 값 '1')로 되거나, 또는 로우(디지털 값 '0')로 된다.
그런데, 동일한 제조 공정에서 제조된 상기 제1 인버터(510)와 제2 인버터(520) 중, 어느 쪽의 논리 임계치가 높을 지는 랜덤하다. 그리고, 일단 제조되고 나서는, 어느 쪽의 논리 임계치가 높은지는 쉽게 바뀌지 않는다. 다만, 논리적 임계치의 차이가 매우 작거나, 노이즈, 외부 온도 등 환경 변화가 커지는 경우, 어느 쪽의 논리 임계치가 높은지가 바뀔 수 있다. 이러한 상황이 자주 발생되는 것은 아니나, 보안/인증 등의 인증 키 등의 구현에 사용되기 위해서는 완벽한 시불변성이 보장되어야 한다.
따라서, 회로(500)에 의해 디지털 값이 생성되는 경우, 이 값이 일실시예에 따른 도 1의 디지털 값 동결부(120)에서 동결되거나, 또는 다른 실시예에 따른 도 4의 디지털 값 저장부(420)에 저장됨으로써, 시불변성이 보장될 수 있다.
한편, 다시 한 번 반복하여 강조하지만, 회로(500)은 1 비트(bit)의 디지털 값을 생성할 수 있는 단위 셀(unit cell)로 이해될 수 있으며, 이러한 단위 셀이 N 개 제공되는 경우, N 비트의 디지털 값이 제공될 수 있으며, 이하에서 별다른 언급이 없더라도, 디지털 값 생성부(110 또는 410)의 구현에 있어서는 이러한 확장성이 명확히 이해되어야 한다.
상기 인버터의 논리적 임계치 차이에 대한 내용은, 아래 도 6의 그래프를 참조하여 보다 상세히 설명한다.
도 6은 도 5를 참조하여 상술한 실시예 중, 제1 인버터(510)의 논리 임계치가 제2 인버터(520)의 논리 임계치보다 낮은 경우의 전압 특성(voltage characteristic) 곡선을 도시한다.
곡선(610)은 제1 인버터(510)의 전압 특성 곡선이고, 곡선(620)은 제2 인버터(520)의 전압 특성 곡선이다. 일 실시예에 따라 제1 인버터(510)와 제2 인버터(520)가 동일한 제조 공정에서 제조되는 경우, 곡선(610)과 곡선(620)은 거의 일치하지만, 공정편차 때문에 도 6에서 도시된 바와 같이 약간의 차이를 가진다.
곡선(610)과 기울기가 1인 직선(630)의 교점을 찾으면, 제1 인버터(610)의 논리 임계치인 V1을 결정할 수 있다. 또한, 곡선(620)과 직선(630)의 교점을 찾으면, 제2 인버터(620)의 논리 임계치인 V2를 결정할 수 있다.
본 실시예에서 V1은 V2보다 낮다. 따라서, 도 5의 스위치(530)가 닫혀서, 상기 제1 노드(501)와 상기 제2 노드(502)가 단락되는 경우("Reset"이라 함, 이하 같다), 제1 노드(501)와 제2 노드(502)의 전압(VReset)은 V1과 V2 사이의 어느 값이 된다.
그리고, 상기 스위치(530)가 다시 열려서 상기 제1 노드(501)와 상기 제2 노드(502)가 개방된 후, 제1 인버터(510)는 제1 노드(501)의 전압(VReset)을 논리적 레벨 하이로 인식하고, 따라서, 제1 인버터(510)의 출력 단자인 제2 노드(502)의 전압을 논리적 레벨 로우로 만든다.
이 경우, 제2 인버터(520)는 제2 노드(502)의 전압(VReset)을 논리적 레벨 로우로 인식하고, 따라서, 제2 인버터(520)의 출력 단자인 제1 노드(501)의 전압을 논리적 레벨 하이로 만든다.
따라서, 도 5의 회로(500)의 출력(Out)인 제2 노드(502)의 전압의 논리적 레벨은 하이가 된다.
이상에서는 도 4 내지 도 5를 참조하여, 반도체 공정편차를 이용한 소자 간 특성 차이에 의해 무작위의 디지털 값을 설명하는 다양한 실시예들 중, 인버터를 이용하는 하나의 실시예에 의해 설명하였다.
그러나, 인터버의 구성이 도 5의 회로(500)과 같이 한정되는 것은 아니며, 사상을 벗어나지 않는 범위에서 반도체 공정편차를 이용하여 소자들 간의 특성 값 차이를 이용하여 무작위의 디지털 값을 생성할 수 있는 다양한 실시예들 또한 본 발명에 포함되는 것으로 이해되어야 한다.
한편, 인버터가 아니더라도, 다양한 전자회로들, 이를테면 차동증폭기(Differential Amplifier)나 래치(Latch) 회로 등에 의해 디지털 값 생성부(110 또는 410)가 구현될 수 있다. 이하에서는 도 7 내지 도 9를 참조하여, 이러한 다양한 실시예들 중 일부를 설명한다.
도 7은 다른 일실시예에 따른 디지털 값 생성부(110 또는 410)의 구성을 설명하기 위한 예시적 회로도이다.
본 실시예에서는 차동증폭기 회로(700)가 디지털 값 생성부(110 또는 410) 구현에 이용되었다.
차동증폭기의 두 입력 단자(711 및 712)를 단락시키는 경우, 반도체 공정편차 때문에 제1 출력 노드(721)와 제2 출력 노드(722)에는 서로 다른 디지털 값, 이를테면 '1' 및 '0'이 출력된다.
차동증폭기 회로(700)은 원래 제1 입력 단자(711)와 제2 입력 단자(712)의 전압의 차이를 증폭하여, 제1 출력 노드(721)와 제2 출력 노드(722) 사이의 전압 차이로서 제공하는 회로이다.
따라서, 상기 제1 입력 노드(711)와 제2 입력 노드(722)를 단락시키는 경우, 이론적으로는, 출력 인 제1 출력 노드(721)와 제2 출력 노드(722) 사이의 전압 차이가 0이어야 한다.
그러나, 차동증폭기 회로(700)에 포함되는 소자들, 이를테면 트랜지스터(Transistor)들의 반도체 제조 공정편차에 의한 전기적 특성 차이 때문에, 두 입력 노드들(711 및 712)을 단락시키는 경우에 제1 출력 노드(721)의 전압과 제2 출력 노드(722)의 전압 차이는 0이 아니다.
또한, 상기한 트랜지스터들 소자의 전기적 특성 차이뿐만 아니라, 차동증폭기 회로(700) 내에 포함될 수 있는 저항, 커패시터 또는 인덕터와 등의 수동소자(도시되지 않음)의 전기적 특성 차이에 의해서도 이러한 전압 차이가 발생되기도 한다.
즉, 칩 제작 시의 공정 편차는 상기 수동소자의 형상/구조적 차이를 야기할 수 있으며, 이로 인하여 상기 수동소자는 실제 수치 값에 차이를 가질 수 있다.
따라서, 입력 노드들(711 및 712)이 단락되는 경우에 두 출력 노드들(721 및 722) 중 어느 출력 단자의 전압이 높은 지를 비교한다면, 1 비트의 식별 키를 생성할 수 있다.
이를테면, 제1 입력 노드(711)와 제2 입력 노드(712)를 단락시킨 경우에, 제1 출력 노드(721)의 전압 값이 제2 출력 노드(722)의 전압 값보다 높은 경우, 디지털 값 '1'로 인식하고, 반대의 경우에는 디지털 값 '0'으로 인식할 수 있다.
또한, 상기한 바와 같이 이러한 단위 셀을 N 개 구현하는 경우, N 비트의 디지털 값을 생성할 수도 있다.
도 8은 또 다른 일실시예에 따른 디지털 값 생성부(110 또는 410)의 구성을 설명하기 위한 예시적 회로도이다.
본 실시예에서는 디지털 값 생성부(110 또는 410)의 구현에 SR 래치(Set-Reset Latch)가 이용되었다. 도 8에서는 SR 래치를 구현하는 많은 예들 중, 예시적으로 도 8의 (a)와 (b) 두 가지가 도시되었다.
도 8의 (a) 구현은 NOR 게이트(gate)를 사용한 것이고, (b) 구현은 NAND 게이트를 사용한 것이다.
NOR 게이트와 NAND 게이트 구현들에서 동일한 논리적 입출력이 되도록 하기 위해, NAND 게이트 구현 (b)에서의 두 입력 Sb 및 Rb는, 각각 NOR 게이트 구현(a)에서의 두 입력 S 및 R의 반전 신호이다.
본 실시예에 따라 회로 구현 (a) 또는 (b)에 의해 디지털 값 생성부(110 또는 410)을 구현하기 위해, 먼저 S와 R 모두에 1이 입력된다.
SR 래치의 이론적인 논리 테이블(Logic Table)에 따르면 S와 R 모두 논리 값 '0'이 입력되는 경우, 출력 값인 Q와 그 반전 값인 Qb는 어떤 값을 가지는지 정의되지 않는다(undefined). 또한, S와 R 모두 논리 값 '1'이 입력되는 경우, 출력 값인 Q와 Qb는 모두 논리 값 '0'을 출력한다. 이 상태에서 S와 R이 동시에 '0'으로 바뀌게 되면, Q와 Qb는 두 NOR을 구성하고 있는 소자의 특성 값 차이에 의하여 그 값이 서로 상보적으로 결정된다. 즉, Q가 '1'이 되고 Qb가 '0'이 되거나, 또는 반대로 Q가 '0'이 되고 Qb가 '1'이 된다.
두 경우 중 어느 경우가 실제 결과가 될 지는 랜덤하다. 왜냐하면 회로 (a)의 NOR 게이트들 또는 회로 (b)의 NAND 게이트를 구성하는 소자의 특성(문턱전압, 이동도(mobility) 등)이 서로 다른데, 그 결과는 예측할 수 없기 때문이다.
따라서, 도 8의 (a) 또는 (b)에 의해 구현되는 디지털 값 생성부(110 또는 410)에서 무작위의 디지털 값이 생성될 수 있다.
도 9는 또 다른 일실시예에 따른 디지털 값 생성부의 구성을 설명하기 위한 예시적 회로도이다.
SR 래치를 이용하는 점에서는 도 8과 유사하나, 출력 노드들 Q와 Qb 사이에 스위치(910)가 더 부가되었다.
그리고, 입력 노드 S와 R 모두에 논리 값 '0'을 입력하고 스위치(910)을 닫는다. 그러면, 출력 노드들 Q와 Qb의 전압은 동일한 값이 되며, 이 값은 논리값 '1'에 해당하는 전압 값과 논리값 '0'의 해당하는 전압 값 사이의 어떤 특정 값이 된다.
그 후에 스위치(910)을 다시 열면 각 NOR 게이트의 논리 임계치에 따라, 출력 노드 Q는 '1'이 되고 Qb는 '0'이 되는 경우이거나, 또는 반대로 출력 노드 Q는 '0'이 되고 Qb는 '1'이 되는 경우가 되며, 두 경우 중 어느 경우가 실제 결과가 될 지는 랜덤하다.
상기한 도 8에서와 마찬가지로 이러한 무작위성은 NOR 게이트들을 구성하는 소자의 특성(문턱전압, 이동도 등)이 서로 다른데, 그 결과는 예측할 수 없기 때문이다.
따라서 도 9에 도시된 회로에 의해 구현되는 디지털 값 생성부(110 또는 410)에서 무작위의 디지털 값이 생성될 수 있다.
이하에서는 도 10 이하를 참조하여 디지털 값 생성부(110)에 디지털 값 동결부(120)가 결합되어 디지털 값 생성 장치(100)가 구현된 구체적인 회로도의 예들을 설명하기로 한다.
도 10은 도 8의 SR 래치를 이용한 실시예에 따른 디지털 값 생성부에, 도 2의 실시예에 따른 디지털 값 동결부(120)가 결합된 예시적 디지털 값 생성 장치의 회로 구성을 도시한다.
디지털 값 생성부(1010)의 구성은 도 8을 참조하여 상술한 SR 래치의 구체적인 회로 구현으로 이해될 수 있다.
디지털 값 생성부(1010)에 의해 두 개의 출력 단자 out 및 out_bar에 서로 다른 디지털 값, 이를테면 각각 '1'과 '0'이 생성되는 경우, 이 결과에 의해 디지털 값 동결부(1020) 내의 퓨즈들(1021) 중 어느 한 쪽이 과전류를 인가 받아 끊어지게 된다.
따라서, 어느 쪽의 퓨즈가 끊어졌는지를 전기적으로 식별하면, 디지털 값 생성부(1010)에 의해 생성되어 디지털 값 동결부(1020)에 의해 동결된 디지털 값을 식별할 수 있다.
퓨즈가 끊어지게 되는 과정은 도 11의 그래프를 참조하여 더 설명한다.
도 11은 도 10의 실시예에 따라 디지털 값 동결부(1020)에서 디지털 값 동결이 수행되는 과정을 설명하기 위한 예시적 그래프이다.
도 10의 디지털 값 생성부(1010)가 최초로 구동되는 경우(First operation), 출력들 out과 out_bar의 차이에 의해, 예를 들면 퓨즈 2에 과전류가 인가되어 퓨즈 2가 끊어지게 됨으로써 디지털 값이 동결된다.
한편, 도 10에서 구성된 퓨즈(1021)의 배치 예시들은 다양한 실시예들 중 일부에 불과하다. 따라서, 이하에서는 도 12를 참조하여 도 10에 도시된 실시예 외에도 퓨즈의 다양한 배치를 몇 가지 더 설명한다.
도 12는 다양한 일실시예들에 따라 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 예시적 회로도들을 도시한다.
(a)는 SR 래치를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (d)에서는 SR 래치들과 함께 배치될 수 있는 퓨즈의 다양한 위치들(1210, 1220 및 1230)을 도시한다.
구체적인 동작에 대해서는 상기한 도 8 내지 도 11을 통해 충분히 이해될 수 있으므로, 자세한 설명은 생략한다.
한편, 도 3을 통해 상술한 바와 같이, 상기 퓨즈들을 대신하여 OTP 소자들에 의해 디지털 값 동결이 수행될 수도 있으며, 이러한 실시예가 도 13을 참조하여 설명된다.
도 13은 다른 일실시예에 따라 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 12와 마찬가지로, (a)는 SR 래치를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (d)에서는 SR 래치들과 함께 배치될 수 있는 OTP 소자들의 다양한 위치들(1310, 1320 및 1330)을 도시한다.
마찬가지로, 이러한 소자들에 의해, 디지털 값이 동결되는 과정은 도 3 등을 참조하여 충분히 이해될 수 있으므로, 자세한 설명은 생략한다.
이하에서는 SR 래치의 구성뿐만 아니라, 도 5 내지 도 6을 참조하여 설명한 인터버를 이용하는 실시예들에 따른 디지털 값 생성부에, 디지털 값 동결부가 결합될 수 있는 다양한 회로 배치들이 예시적으로 제시된다.
도 14는 다른 일실시예에 따라 디지털 값 생성부가 도 5의 실시예에 의해 구현되는 경우에, 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 다양한 예시적 회로도들을 도시한다.
(a)는 도 5를 참조하여 설명한 인버터를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (e)에서는 인버터들과 함께 배치될 수 있는 퓨즈의 다양한 위치들(1410, 1420, 1430 및 1440)을 도시한다.
한편, 본 실시예에서도, 상기 퓨즈들을 대신하여 OTP 소자들에 의해 디지털 값 동결이 수행될 수도 있으며, 이러한 실시예가 도 15에 제시된다.
도 15는 다른 일실시예에 따라 디지털 값 생성부가 도 5의 실시예에 의해 구현되고 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 14와 마찬가지로, (a)는 인버터를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (e)에서는 인버터들 과 함께 배치될 수 있는 OTP 소자들의 다양한 위치들(1510, 1520, 1530 및 1540)을 도시한다.
도 16은 다른 일실시예에 따라 디지털 값 생성부가 도 7의 실시예에 의해 구현되는 경우에, 디지털 값 동결부가 디지털 값 생성 장치 내에 배치된 다양한 예시적 회로도들을 도시한다.
(a)는 도 7을 참조하여 설명한 차동증폭기를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (d)에서는 차동증폭기와 함께 배치될 수 있는 퓨즈의 다양한 위치들(1610, 1620 및 1630)을 도시한다.
한편, 본 실시예에서도, 상기 퓨즈들을 대신하여 OTP 소자들에 의해 디지털 값 동결이 수행될 수도 있으며, 이러한 실시예가 도 17에 제시된다.
도 17는 다른 일실시예에 따라 디지털 값 생성부가 도 7의 실시예에 의해 구현되고 디지털 값 동결부가 OTP 소자에 의해 구현되는 경우, 디지털 값 동결부의 다양한 구성들을 설명하기 위한 회로도들을 도시한다.
도 16과 마찬가지로, (a)는 차동증폭기를 통해 구현되는 디지털 값 생성부의 구현을 도시하며, (b) 내지 (d)에서는 차동증폭기와 함께 배치될 수 있는 OTP 소자들의 다양한 위치들(1710, 1720 및 1730)을 도시한다.
도 18은 다른 일측에 따른 디지털 값 생성 방법을 도시하는 흐름도이다.
단계(1810)에서, 도 1의 디지털 값 생성 장치(100)의 디지털 값 생성부(110)에 입력 신호가 인가된다. 이러한 입력 신호 인가는, 전압 인가, 전류 구동, 초기 구동(first operation) 등으로 이해될 수 있다.
그러면 단계(1820)에서, 디지털 값 생성부(110)는 반도체 공정편차에 기인하는 반도체 소자들의 특성 값 차이를 이용하여 디지털 값을 생성한다. 디지털 값 생성부(110)가 단계(1820)에서 무작위의 디지털 값을 생성하는 과정은 도 1 내지 도 3, 도 5 내지 도 9를 참조하여 상술한 바와 같다.
단계(1830)에서는, 디지털 값 동결부(120)가 상기 단계(1820)에서 생성된 무작위의 디지털 값을 동결하여, 시불변성을 보장하게 된다.
이러한 디지털 값의 동결 과정은 도 2 내지 도 3, 도 10 내지 도 17을 참조하여 상술한 바와 같다.
도 19는 또 다른 일측에 따른 디지털 값 생성 방법을 도시하는 흐름도이다.
단계(1910)에서 입력 신호가 인가되고, 디지털 값 생성부(410)가 무작위의 디지털 값을 생성하는 과정은 도 18의 단계(1810 내지 1820)과 유사하다.
그러나, 도 18의 실시예와 다른 점은, 생성된 무작위의 디지털 값이 도 4를 참조하여 설명한 디지털 값 저장부(420)에 저장된다는 점이다. 이러한 디지털 값 저장부(420)의 다양한 실시예에 대해서는 도 4을 참조하여 상술한 바와 같다.
이러한 다양한 실시예들에 따르면, 반도체 제조 공정 상의 공정편차를 이용하여 무작위 디지털 값이 생성되고, 이 디지털 값이 시간의 흐름에 따른 소자의 에이징(aging)이나 주변 환경(이를 테면 온도)의 변화, 또는 노이즈에 의해 변경되지 않도록 디지털 값 동결 또는 저장에 의해 시불변성이 보장되었다.
따라서, 보안/인증을 포함한 다양한 응용 분야에서 식별 키 등으로서 사용될 수 있는 신뢰성 있는 무작위의 디지털 값이 제공될 수 있다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 디지털 값 생성부
120: 디지털 값 동결부

Claims (1)

  1. PUF가 생성한 디지털 값을 동결하여 제공하는 디지털 값 동결 장치.
KR1020120105644A 2011-03-31 2012-09-24 디지털 값 생성 장치 및 방법 KR101891089B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110029431 2011-03-31
KR1020110029431 2011-03-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120033362A Division KR101237456B1 (ko) 2011-03-31 2012-03-30 디지털 값 생성 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096030A Division KR20180098482A (ko) 2011-03-31 2018-08-17 디지털 값 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120112336A true KR20120112336A (ko) 2012-10-11
KR101891089B1 KR101891089B1 (ko) 2018-08-24

Family

ID=47282509

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020120033362A KR101237456B1 (ko) 2011-03-31 2012-03-30 디지털 값 생성 장치 및 방법
KR1020120105644A KR101891089B1 (ko) 2011-03-31 2012-09-24 디지털 값 생성 장치 및 방법
KR1020180096030A KR20180098482A (ko) 2011-03-31 2018-08-17 디지털 값 생성 장치 및 방법
KR1020180145633A KR20180128373A (ko) 2011-03-31 2018-11-22 디지털 값 생성 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020120033362A KR101237456B1 (ko) 2011-03-31 2012-03-30 디지털 값 생성 장치 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020180096030A KR20180098482A (ko) 2011-03-31 2018-08-17 디지털 값 생성 장치 및 방법
KR1020180145633A KR20180128373A (ko) 2011-03-31 2018-11-22 디지털 값 생성 장치 및 방법

Country Status (10)

Country Link
US (3) US9105432B2 (ko)
EP (3) EP2693370B1 (ko)
JP (4) JP2014522134A (ko)
KR (4) KR101237456B1 (ko)
CN (1) CN103548040B (ko)
DK (1) DK2693370T3 (ko)
ES (1) ES2593302T3 (ko)
PL (1) PL2693370T3 (ko)
TW (2) TWI613596B (ko)
WO (1) WO2012134239A2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012134239A2 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
JP5956313B2 (ja) * 2012-11-13 2016-07-27 ルネサスエレクトロニクス株式会社 認証回路
KR20140126787A (ko) 2013-04-22 2014-11-03 (주) 아이씨티케이 PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
JP6106043B2 (ja) 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
KR102178386B1 (ko) 2013-07-26 2020-11-12 주식회사 아이씨티케이 홀딩스 랜덤성 테스트 장치 및 방법
US10038446B2 (en) * 2013-08-21 2018-07-31 Carnegie Mellon University Reliability of physical unclonable function circuits
US10048939B2 (en) 2013-08-28 2018-08-14 Stc.Unm Systems and methods for analyzing stability using metal resistance variations
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 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR102186475B1 (ko) * 2013-12-31 2020-12-03 주식회사 아이씨티케이 홀딩스 랜덤한 디지털 값을 생성하는 장치 및 방법
US9970986B2 (en) * 2014-03-11 2018-05-15 Cryptography Research, Inc. Integrated circuit authentication
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
KR101580196B1 (ko) * 2014-12-15 2015-12-24 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
KR102222449B1 (ko) * 2015-02-16 2021-03-03 삼성전자주식회사 탭이 내장된 데이터 수신기 및 이를 포함하는 데이터 전송 시스템
US9391030B1 (en) * 2015-02-19 2016-07-12 International Business Machines Corporation On-chip semiconductor device having enhanced variability
KR101922931B1 (ko) 2015-11-03 2018-11-28 주식회사 아이씨티케이 홀딩스 보안 장치 및 그 동작 방법
EP3373186B1 (en) 2015-11-03 2020-12-30 ICTK Holdings Co., Ltd. Apparatus and method for generating identification key
KR101799905B1 (ko) * 2016-02-17 2017-11-21 충북대학교 산학협력단 메모리를 이용한 물리적 복제 불가능 함수 보안 칩
US9747982B1 (en) * 2016-02-22 2017-08-29 Arm Ltd. Device and method for generating random numbers
JP6383384B2 (ja) 2016-06-24 2018-08-29 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
CN106168896B (zh) * 2016-07-05 2018-10-09 北京大学深圳研究生院 一种真随机数发生器
US9774317B1 (en) * 2016-08-29 2017-09-26 Amazon Technologies, Inc. Bistable-element for random number generation
JP6471130B2 (ja) 2016-09-20 2019-02-13 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびセキュリティシステム
US9864006B1 (en) * 2016-11-30 2018-01-09 International Business Machines Corporation Generating a unique die identifier for an electronic chip
CN106814991B (zh) * 2017-01-23 2019-12-13 北京大学 基于rram的无偏真随机数生成方法和生成器
JP6339714B2 (ja) * 2017-03-03 2018-06-06 ルネサスエレクトロニクス株式会社 半導体集積回路装置
WO2018175973A1 (en) 2017-03-23 2018-09-27 Arizona Board Of Regents On Behalf Of Arizona State University Physical unclonable functions with copper-silicon oxide programmable metallization cells
US10381088B2 (en) * 2017-03-30 2019-08-13 Silicon Storage Technology, Inc. System and method for generating random numbers based on non-volatile memory cell array entropy
CN108875417B (zh) * 2017-05-09 2020-05-08 中芯国际集成电路制造(上海)有限公司 Puf特征值的生成方法和具有puf的器件
TWI627555B (zh) * 2017-10-16 2018-06-21 旺宏電子股份有限公司 物理不可複製函數辨識之產生方法及其產生之裝置
CN107689872A (zh) * 2017-11-24 2018-02-13 北京中电华大电子设计有限责任公司 一种实现物理不可克隆功能的电路结构
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
JP2018142396A (ja) * 2018-05-10 2018-09-13 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US10839872B2 (en) 2018-07-03 2020-11-17 Ememory Technology Inc. Random bit cell using an initial state of a latch to generate a random bit
KR102129668B1 (ko) * 2018-08-13 2020-07-02 충북대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US11277272B2 (en) * 2018-11-07 2022-03-15 Samsung Electronics Co., Ltd. Integrated circuit and method for challenge-response physically unclonable function
WO2020102934A1 (zh) * 2018-11-19 2020-05-28 深圳市汇顶科技股份有限公司 信号产生电路以及相关方法
US10824396B2 (en) * 2019-01-28 2020-11-03 Nuvoton Technology Corporation Random number generator based on meta-stability of shorted back-to-back inverters
US10734047B1 (en) * 2019-01-29 2020-08-04 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
US11244722B2 (en) 2019-09-20 2022-02-08 Arizona Board Of Regents On Behalf Of Arizona State University Programmable interposers for electrically connecting integrated circuits
CN111082925B (zh) * 2019-10-23 2021-07-30 中山大学 基于aes算法和puf技术的嵌入式系统加密保护装置和方法
KR20210053029A (ko) 2019-11-01 2021-05-11 삼성전자주식회사 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법
US20220400003A1 (en) * 2019-11-20 2022-12-15 Lg Electronics Inc. Apparatus for generating non-copyable digital value, and method therefor
US11935843B2 (en) 2019-12-09 2024-03-19 Arizona Board Of Regents On Behalf Of Arizona State University Physical unclonable functions with silicon-rich dielectric devices
US11601120B2 (en) 2021-02-03 2023-03-07 Nuvoton Technology Corporation Attack-resistant ring oscillators and random-number generators
CN117529777A (zh) * 2021-06-28 2024-02-06 罗姆股份有限公司 熔断器存储电路及半导体装置

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995004A (en) * 1989-05-15 1991-02-19 Dallas Semiconductor Corporation RAM/ROM hybrid memory architecture
US5978297A (en) * 1998-04-28 1999-11-02 Micron Technology, Inc. Method and apparatus for strobing antifuse circuits in a memory device
US6289454B1 (en) * 1998-06-29 2001-09-11 Vlsi Technology, Inc. Memory configuration which support multiple cryptographical algorithms
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
US6516415B1 (en) * 1999-04-23 2003-02-04 Geneticware Co., Ltd Device and method of maintaining a secret code within an integrated circuit package
US6631390B1 (en) * 2000-03-06 2003-10-07 Koninklijke Philips Electronics N.V. Method and apparatus for generating random numbers using flip-flop meta-stability
US6555204B1 (en) 2000-03-14 2003-04-29 International Business Machines Corporation Method of preventing bridging between polycrystalline micro-scale features
US6906557B1 (en) * 2000-06-30 2005-06-14 Intel Corporation Fuse sense circuit
WO2002050910A1 (fr) 2000-12-01 2002-06-27 Hitachi, Ltd Procede d'identification de dispositif de circuit integre semi-conducteur, procede de production de dispositif de circuit integre semi-conducteur et dispositif correspondant
US6434077B1 (en) * 2001-03-13 2002-08-13 Mosaid Technologies, Inc. Method and apparatus for selectively disabling logic in a semiconductor device
US6549050B1 (en) * 2001-09-13 2003-04-15 Cypress Semiconductor Corp. Programmable latch that avoids a non-desired output state
JP3604674B2 (ja) * 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
US6641050B2 (en) * 2001-11-06 2003-11-04 International Business Machines Corporation Secure credit card
EP1391853A1 (fr) * 2001-11-30 2004-02-25 STMicroelectronics S.A. Diversification d'un identifiant unique d'un circuit intégré
FR2833119A1 (fr) * 2001-11-30 2003-06-06 St Microelectronics Sa Generation de quantites secretes d'identification d'un circuit integre
US6777992B2 (en) * 2002-04-04 2004-08-17 The Regents Of The University Of Michigan Low-power CMOS flip-flop
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7302458B2 (en) * 2003-03-14 2007-11-27 Nxp B.V. Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
US6728137B1 (en) * 2003-04-29 2004-04-27 Ememory Technology Inc. Method for programming and reading a plurality of one-time programmable memory blocks
EP1743380B1 (en) * 2004-05-06 2016-12-28 Sidense Corp. Split-channel antifuse array architecture
US7012827B2 (en) * 2004-05-07 2006-03-14 Taiwan Semiconductor Manufacturing Co., Ltd. Multiple electrical fuses shared with one program device
JP2006012211A (ja) * 2004-06-22 2006-01-12 Toshiba Corp 半導体集積回路
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
JP4524176B2 (ja) 2004-12-17 2010-08-11 パナソニック株式会社 電子デバイスの製造方法
US7230473B2 (en) 2005-03-21 2007-06-12 Texas Instruments Incorporated Precise and process-invariant bandgap reference circuit and method
KR100752645B1 (ko) * 2005-06-25 2007-08-29 삼성전자주식회사 누설 전류 패스를 차단할 수 있는 퓨즈 회로
US9129671B2 (en) 2006-04-13 2015-09-08 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
US7518899B2 (en) * 2006-11-01 2009-04-14 International Business Machines Corporation Method of providing optimal field programming of electronic fuses
WO2008056612A1 (fr) 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US7986024B2 (en) * 2007-06-29 2011-07-26 Infineon Technologies Ag Fuse sensing scheme
US7782668B2 (en) * 2007-11-01 2010-08-24 Jonker Llc Integrated circuit embedded with non-volatile one-time-programmable and multiple-time programmable memory
JP2009277326A (ja) * 2008-05-16 2009-11-26 Nec Electronics Corp フューズデータ読み出し回路
US7761714B2 (en) * 2008-10-02 2010-07-20 Infineon Technologies Ag Integrated circuit and method for preventing an unauthorized access to a digital value
US8203861B2 (en) * 2008-12-30 2012-06-19 Invensas Corporation Non-volatile one-time—programmable and multiple-time programmable memory configuration circuit
KR100926214B1 (ko) 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
KR20100117006A (ko) * 2009-07-22 2010-11-02 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US20110154061A1 (en) * 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
US8619979B2 (en) * 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US8583710B2 (en) * 2010-09-17 2013-11-12 Infineon Technologies Ag Identification circuit and method for generating an identification bit using physical unclonable functions
US8848477B2 (en) * 2010-10-04 2014-09-30 Intrinsic Id B.V. Physical unclonable function with improved start-up behavior
US8300450B2 (en) * 2010-11-03 2012-10-30 International Business Machines Corporation Implementing physically unclonable function (PUF) utilizing EDRAM memory cell capacitance variation
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
WO2012134239A2 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
CN103748831B (zh) * 2011-08-16 2017-07-21 Ictk有限公司 机对机通信中基于puf的装置间的安全认证装置及方法
US8950008B2 (en) * 2012-07-30 2015-02-03 International Business Machines Corporation Undiscoverable physical chip identification
US8928347B2 (en) * 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9088278B2 (en) * 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management

Also Published As

Publication number Publication date
JP2017130970A (ja) 2017-07-27
US9105432B2 (en) 2015-08-11
US20130093502A1 (en) 2013-04-18
CN103548040A (zh) 2014-01-29
ES2593302T3 (es) 2016-12-07
EP2693370A2 (en) 2014-02-05
TW201303741A (zh) 2013-01-16
JP2015080252A (ja) 2015-04-23
JP2014522134A (ja) 2014-08-28
KR101891089B1 (ko) 2018-08-24
US20150304115A1 (en) 2015-10-22
EP3118778A1 (en) 2017-01-18
KR20180128373A (ko) 2018-12-03
EP2693370B1 (en) 2016-08-17
EP3118778B1 (en) 2018-08-29
TWI613596B (zh) 2018-02-01
WO2012134239A3 (ko) 2013-01-03
TW201702940A (zh) 2017-01-16
EP3467716B1 (en) 2020-11-04
US9729334B2 (en) 2017-08-08
JP2016181927A (ja) 2016-10-13
KR20180098482A (ko) 2018-09-04
EP3467716A1 (en) 2019-04-10
EP2693370A4 (en) 2014-10-22
KR20120112246A (ko) 2012-10-11
US20170310490A1 (en) 2017-10-26
WO2012134239A2 (ko) 2012-10-04
CN103548040B (zh) 2017-12-26
KR101237456B1 (ko) 2013-02-26
DK2693370T3 (en) 2016-09-26
TWI566184B (zh) 2017-01-11
PL2693370T3 (pl) 2017-03-31

Similar Documents

Publication Publication Date Title
KR101237456B1 (ko) 디지털 값 생성 장치 및 방법
US10749695B2 (en) Physical unclonable function for non-volatile memory
US10911229B2 (en) Unchangeable physical unclonable function in non-volatile memory
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US9870829B2 (en) Flash memory apparatus for physical unclonable function and embodying method of the same
TWI715160B (zh) 隨機位元電路及隨機位元電路的操作方法
Gao et al. Efficient erasable PUFs from programmable logic and memristors
US10848327B2 (en) Two bit/cell SRAM PUF with enhanced reliability
US10999083B2 (en) Detecting unreliable bits in transistor circuitry
CN116502287A (zh) 集成电路以及用于实现物理不可复制功能的相应方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
N231 Notification of change of applicant
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right