KR20170087048A - 식별키 생성 장치 및 그 관리 방법 - Google Patents

식별키 생성 장치 및 그 관리 방법 Download PDF

Info

Publication number
KR20170087048A
KR20170087048A KR1020170009084A KR20170009084A KR20170087048A KR 20170087048 A KR20170087048 A KR 20170087048A KR 1020170009084 A KR1020170009084 A KR 1020170009084A KR 20170009084 A KR20170009084 A KR 20170009084A KR 20170087048 A KR20170087048 A KR 20170087048A
Authority
KR
South Korea
Prior art keywords
identification key
resistors
group
threshold value
resistance
Prior art date
Application number
KR1020170009084A
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 (주) 아이씨티케이
Publication of KR20170087048A publication Critical patent/KR20170087048A/ko

Links

Images

Classifications

    • 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
    • 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
    • G06K9/00006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/06Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration
    • H01L27/0611Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration integrated circuits having a two-dimensional layout of components without a common active region
    • H01L27/0617Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration integrated circuits having a two-dimensional layout of components without a common active region comprising components of the field-effect type
    • H01L27/0629Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration integrated circuits having a two-dimensional layout of components without a common active region comprising components of the field-effect type in combination with diodes, or resistors, or capacitors
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Lock And Its Accessories (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance)을 제공하고, 상기 복수 개의 저항 중 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하고, 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 판독함으로써 신뢰성을 향상시킨 식별키 생성 장치 및 방법이 제공된다.

Description

식별키 생성 장치 및 그 관리 방법{APPARATUS FOR GENERATING IDENTIFICATION KEY AND MANAGING METHOD THEREOF}
디지털 보안 분야에 연관되며, 보다 구체적으로는 암호화 및 복호화 방법과 디지털 서명 등에 사용되는 식별키를 생성하는 장치 및 그 관리 방법에 연관된다.
PUF (Physically Unclonable Function)는 예측 불가능한 (Unpredictable) 디지털 값을 제공할 수 있다. 개개의 PUF들은 정확한 제조 공정이 주어지고, 동일한 공정에서 제조되더라도, 상기 개개의 PUF들이 제공하는 디지털 값은 다르다.
PUF는 복제가 불가능한 POWF (Physical One-Way Function practically impossible to be duplicated) 또는 PRF (Physical Random Function)로 지칭될 수도 있다.
이러한 PUF의 특성이 보안 및/또는 인증을 위한 암호 키의 생성에 이용될 수 있다. 이를테면, 디바이스를 다른 디바이스와 구별하기 위한 유니크 키(Unique key to distinguish devices from one another)를 제공하기 위해 PUF가 이용될 수 있다.
한국 등록특허 10-1139630호(이하 '630 특허)에서 PUF를 구현하는 방법이 제시된 바 있다. '630 특허에서는 반도체의 공정 변이를 이용하여 반도체의 전도성 레이어들(Conductive layers or conductive nodes) 사이의 인터-레이어 콘택(Inter-layer contact) 또는 비아(via)의 생성 여부가 확률적으로 결정되도록 하여 PUF를 생성하는 방법이 제시되었다.
'630 특허에서 제시된 실시예들 중 하나는, 전도성 레이어들 사이에 형성될 비아(Via)의 사이즈를 작게 설계함으로써 비아가 형성되는 경우와 그렇지 않은 경우가 랜덤하게 발생하도록 하는 것이다. 그래서 인위적 추측이 불가능한 랜덤 디지털 값이 생성되었다.
한국 등록특허 10-1139630호
일측에 따르면, 식별키 생성 장치는 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance)을 제공하는 식별키 제공부, 상기 복수 개의 저항 중 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 판별부, 및 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 제공하는 판독부를 포함한다.
일실시예에서, 식별키 생성 장치는 상기 복수 개의 저항 중에서 상기 제1 그룹에 포함되는 저항을 식별하는 정보를 메모리에 기록하는 컨트롤러를 더 포함한다. 일실시예에서, 상기 제1 그룹에 포함되는 저항을 식별하는 상기 정보는 상기 복수 개의 저항 중 상기 제1 그룹에 포함되는 저항의 어드레스이다.
일실시예에서, 상기 복수 개의 저항은 상기 전도성 레이어들 사이에 배치되는 컨택 또는 비아 중 어느 하나이다.
일실시예에서, 상기 판별부는, 제1 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제1 임계 값 보다 큰지 여부를 판별하기 위한 제1 판별 엘리먼트, 및 상기 제1 시간 구간과 상이한 제2 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제2 임계 값 보다 큰지 여부를 판별하기 위한 제2 판별 엘리먼트를 포함한다.
일실시예에서, 상기 판별부는 상기 복수 개의 저항 각각의 크기가 상기 제3 임계 값 - 상기 제3 임계 값은 상기 제1 임계 값보다 크고 상기 제2 임계 값보다 작음 - 보다 큰지 여부를 판별하는 제3 판별 엘리먼트를 더 포함하고, 상기 판독부는 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항에 대해 상기 제3 임계 값과의 비교 결과를 이용하여 상기 식별키를 제공한다.
다른 일측에 따르면, 식별키 생성 장치는 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance)을 제공하는 식별키 제공부, 상기 복수 개의 저항 각각에 인가되는 출력 전압을 선택 트랜지스터 오프(off) 상태에서 공급 전압으로 풀-업 하는 풀-업 저항을 이용하여, 상기 복수 개의 저항 중 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 판별부, 및 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 제공하는 판독부를 포함한다.
일실시예에서, 상기 판별부는, 상기 복수 개의 저항 중, 상기 선택 트랜지스터가 턴 온 된 후 상기 출력 전압이 임계 전압 이하로 방전 되는 데에 소요되는 시간이 제1 임계 시간보다 길고 제2 임계 시간보다 작은 저항을 제1 그룹으로 판별한다.
일실시예에서, 상기 판독부는, 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 이용하여, 상기 출력 전압이 상기 임계 전압 이하로 방전되는 데에 소요되는 시간을 제3 임계 시간 - 상기 제3 임계 시간은 상기 제1 임계 시간보다 길고 상기 제2 임계 시간보다 짧음 - 과 비교한 결과에 따라 상기 식별키를 판독한다.
일실시예에서, 상기 판별부는, 상기 복수 개의 저항 중, 상기 선택 트랜지스터가 턴 온 된 후 미리 결정된 기준 시간이 소요된 후의 상기 출력 전압이 제1 임계 전압보다 크고 제2 임계 전압보다 작은 저항을 제1 그룹으로 판별한다.
일실시예에서, 상기 판독부는 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 이용하여, 상기 출력 전압을 제3 임계 전압 - 상기 제3 임계 전압은 상기 제1 임계 전압보다 크고 상기 제2 임계 전압보다 작음 - 과 비교한 결과에 따라 상기 식별키를 판독한다.
다른 일측에 따르면, 식별키 생성 방법은 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance) 중, 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 단계, 및 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 생성하는 단계를 포함한다.
일실시예에서, 식별키 생성 방법은 상기 복수 개의 저항 중에서 상기 제1 그룹에 포함되는 저항을 식별하는 정보를 메모리에 기록하는 단계를 더 포함한다. 일실시예에서, 상기 제1 그룹에 포함되는 저항을 식별하는 상기 정보는 상기 복수 개의 저항 중 상기 제1 그룹에 포함되는 저항의 어드레스이다.
일실시예에서, 상기 복수 개의 저항은 상기 전도성 레이어들 사이에 배치되는 컨택 또는 비아 중 어느 하나이다.
일실시예에서, 상기 제1 그룹을 판별하는 단계는, 제1 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제1 임계 값 보다 큰지 여부를 판별하는 단계, 및 상기 제1 시간 구간과 상이한 제2 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제2 임계 값 보다 큰지 여부를 판별하는 단계를 포함한다.
일실시예에서, 상기 제1 그룹을 판별하는 단계는, 상기 복수 개의 저항 각각의 크기가 상기 제3 임계 값 - 상기 제3 임계 값은 상기 제1 임계 값보다 크고 상기 제2 임계 값보다 작음 - 보다 큰지 여부를 판별하는 단계를 더 포함하고, 상기 식별키를 생성하는 단계는, 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항에 대해 상기 제3 임계 값과의 비교 결과를 이용하여 상기 식별키를 생성하는 단계를 포함한다.
도 1은 일실시예에 따른 식별키 생성 장치를 설명하기 위한 블록도이다.
도 2는 일실시예에 따른 식별키 생성 장치의 비아 PUF에 대한 특성을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 식별키 생성 장치의 비아 PUF에 대한 특성을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 식별키 생성 장치에서 인터레이어 컨택 또는 비아의 저항을 판별하는 과정을 설명하기 위한 도면이다.
도 5a 내지 도 5b는 일실시예에 따른 식별키 생성 장치의 판별부를 설명하기 위한 도면이다.
도 6a 내지 도 6c는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
도 7은 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
도 8은 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
도 9a 및 9b는 일실시예에 따른 식별키 생성 장치의 판별부를 설명하기 위한 도면이다.
도 10a 및 10b는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
도 11 및 12는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
하기에서 설명될 실시예들은 사용자의 지문을 인식하는 데 사용될 수 있다. 이하, 사용자의 지문을 인식하는 동작은 그 사용자를 인증하거나 식별하는 동작을 포함할 수 있다. 사용자를 인증하는 동작은, 예를 들어 그 사용자가 기 등록된 사용자인지 여부를 판단하는 동작을 포함할 수 있다. 이 경우, 사용자를 인증하는 동작의 결과는 참 또는 거짓으로 출력될 수 있다. 사용자를 식별하는 동작은, 예를 들어 그 사용자가 기 등록된 복수의 사용자들 중 어느 사용자에 해당하는지를 판단하는 동작을 포함할 수 있다. 이 경우, 사용자를 식별하는 동작의 결과는 어느 하나의 기 등록된 사용자의 아이디로 출력될 수 있다. 만약 그 사용자가 기 등록된 복수의 사용자들 중 어느 사용자에도 해당하지 않는 경우, 그 사용자가 식별되지 않음을 알리는 신호가 출력될 수도 있다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인증하는데 적용될 수 있다. 실시예들은 사용자 인증을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인증하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 식별키 생성 장치를 설명하기 위한 블록도이다.
일실시예에서, 식별키 생성 장치(100)는 식별키 제공부(110), 판별부(120) 및 판독부(130)을 포함할 수 있다. 식별키 생성 장치(100)는 메모리(미도시) 및 컨트롤러(미도시)를 더 포함할 수 있다.
식별키 제공부(110)는, 반도체 공정을 이용하여 난수성을 가지는 식별키를 제공한다. 일실시예에서, 식별키 제공부(110)는 반도체의 전도성 레이어들에 대응하는 제1 노드(111) 및 제2 노드(112)와 노드 간을 연결하는 인터레이어 컨택(inter-layer contact) 또는 비아(via)(113)를 포함할 수 있다.
일반적으로 인터레이어 컨택 또는 비아는 전도성 레이어 간을 연결하도록 설계되는 구성이지만, 일실시예에서 인터레이어 컨택 또는 비아(113)는 반도체 공정 상에서 노드 간을 무작위적으로 단락시키거나(short) 단락시키지 않도록(open) 하는 난수성을 가지도록 의도적으로 설계될 수 있다. 이에 대해서는 '630 특허에서 자세히 언급된 바 있다. 한편 이와 같이 형성된 인터레이어 컨택/비아(113)의 연결 특성은 이에 의해 연결되는 제1 노드(111) 및 제2 노드(112) 간의 저항 값으로 측정되고 표현할 수 있다. 이 경우, 인터레이어 컨택/비아(113)의 저항 값을 일정한 임계 값과 비교하여 전기적 단락 여부를 판단할 수 있다.
한편 식별키 생성 장치(100)에 의해 제공되는 식별키는 시간이 지나더라도 변하지 않는 시불변성을 가지는 것이 바람직하다. 의도적으로 난수성을 가지도록 설계된 복수 개의 인터레이어 컨택/비아(113)의 경우 확률적으로 다양한 저항 값 분포를 가지는데, 일단 생성(manufactured)되고 나면 그 연결 상태 (이를테면, 저항의 값이나 그 저항 값을 임계치와 비교하여 디지털화 한 바이너리 값)은 변하지 않는 것이 시불변성(invariant over time)이다.
그런데, 자연발생적인 노이즈의 영향, 온도 습도 등 환경의 영향 및/또는 시간의 흐름에 의한 회로의 에이징 등 여러 가지 원인에 의해 제1 노드와 제2 노드 사이의 저항 값은 미세하게 나마 변화될 수 있다. 이러한 변화는 시불변성의 측면에서는 부정적인(negative) 요소이다. 다시 말해, 소자의 에이징이나 환경 변화로 인해 저항 값이 약간 변화했는데, 이 때문에 임계치를 넘지 않던 (또는 넘던) 저항 값이 넘게 되는 (또는 넘지 않게 되는) 경우, 해당 소자 부분의 디지털화 된 결과 값은 달라질 수 있다는 것을 쉽게 이해할 수 있다. 또한, 물리적인 값이 변화하지 않았다고 하더라도, '측정'의 오류는 필연적인 계측 현상이므로, 이 역시 상기한 시불변성에는 부정적인 요소로 작용한다. 따라서 이러한 시불변성을 제거할 수 있도록 실시예들은 해결 수단을 제시한다.
시불변성에 도전적인 이러한 문제를 풀기 위하여, 판별부(120)는 시불변성이 보장되지 않을 수 있는 것으로 예상되는 저항 값 범위의 인터레이어 컨택/비아(113)의 저항을 제1 그룹(미사용 또는 무효-invalid- 그룹)으로 판별하고, 판독부(130)는 PUF가 제공하는 바이너리 값 중 상기 제1 그룹에 속하지 않은 인터레이어 컨택/비아(113)의 저항에 기초하여 그 PUF의 식별키를 디지털 값 형태로 제공할 수 있다.
예를 들어, 식별키 생성 장치(100)는 컨트롤러를 이용하여 판별부(120)에 의해 제1 그룹에 포함되는 저항으로 판별된 저항을 식별하는 정보를 메모리(미도시)에 기록할 수 있다. 이 때, 메모리에 저장되는 식별 정보는 제1 그룹에 포함되는 저항의 어드레스일 수 있다. 메모리에 저장된 어드레스에 대응하는 저항은 시변성을 가지는 것으로 인식되어, 식별키 제공 시에 사용되지 않도록 제외된다. 이처럼 식별키 생성 장치(100)는 판독부(130)에서 식별키를 독출할 때 시불변성이 보장되지 않을 것으로 예상되는 제1 그룹의 저항을 제외시킴으로써 최종적으로 제공되는 식별키의 신뢰성을 높일 수 있다.
도 2 및 도 3은 일실시예에 따른 식별키 생성 장치의 비아 PUF에 대한 특성을 설명하기 위한 도면이다. 위에서 설명된 바와 같이, 난수성을 가지도록 설계된 복수 개의 비아는 예를 들어 반도체 공정 상에서 형성되는 비아 홀의 크기 등에 따라 확률적으로 다양한 저항 값 분포를 가질 수 있으며, 따라서 도 2에 도시된 저항(210, 220, 230, 240)으로 모델링 될 수 있다.
저항(210, 220, 230, 240)의 크기가 각각 Ra, Rb, Rc, Rd 이고, Ra<Rb<Rc<Rd 라 할 때, 임계 값 Rth가 Rb<Rth<Rc 의 값을 가진다면 저항(210) 및 저항(220)은 short 로 판독되고 저항(230) 및 저항(240)은 open 으로 판독될 수 있다. 여기서, 저항(210) 및 저항(240)의 경우 Rth 와의 차이가 상대적으로 크기 때문에 시불변성을 가질 것으로 기대되는 반면에, 저항(220) 및 저항(230)의 경우 Rth 와의 차이가 상대적으로 작기 때문에 식별키 판독 시의 노이즈 등의 조건에 따라 시변성 문제가 발생할 가능성이 높다.
결국, 저항(220) 및 저항(230)이 식별키 제공에 함께 이용되는 경우 최종적으로 제공되는 식별키의 신뢰성이 저하될 수 있다. 따라서, 시불변성이 보장되지 않을 것으로 예상되는 저항(220) 및 저항(230)을 식별키 생성에서 제외하는 것이 바람직하다.
도 4는 일실시예에 따른 식별키 생성 장치에서 인터레이어 컨택 또는 비아의 저항을 판별하는 과정을 설명하기 위한 도면이다. 일실시예에 따른 식별키 생성 장치는 시불변성이 보장되지 않을 것으로 예상되는 저항을 미리 판별하여 선택하고, 이에 대응하는 어드레스 값을 별도의 메모리 소자에 저장하여 둘 수 있다.
여기서 메모리 소자에 저장되는 데이터는 시변성을 가지는 것으로 인식되는 저항의 어드레스이므로, 보안을 요구하는 정보는 아니다. 한편, 위에서 설명된 실시예와 반대로 시불변성이 보장될 것으로 예상되는 저항의 어드레스를 메모리 소자에 저장하는 방식으로 구현하는 것도 가능하다.
이 때, 신뢰성 판단을 위한 제1 임계 값(Rth .min) 및 제2 임계 값(Rth .max)이 선택될 수 있다. 각 저항으로부터 식별키 생성에 이용될 디지털 값 0 또는 1을 판독하기 위한 기준을 제3 임계 값(Rth .nor)이라 하면, 제3 임계 값(Rth .nor)은 제1 임계 값(Rth.min)보다 크고 제2 임계 값(Rth .max)보다 작은 값을 가질 수 있다.
제1 임계 값(Rth .min) 및 제2 임계 값(Rth .max)은 신뢰성이 낮은 저항을 판별하기 위한 임계 값으로서, Ra 및 Rb 간의 경계 값 또는 Rc 및 Rd 의 경계 값에 신뢰성을 높이기 위하여 일정한 마진을 적용한 값으로 선택될 수 있다. 예를 들어, 판별 대상인 저항의 크기를 Rvia 라 할 때, Rvia<Rth.min인 경우 높은 신뢰성으로 short 로 독출되고 Rvia>Rth . max인 경우 높은 신뢰성으로 open 으로 독출될 수 있다. 그러나, Rth .min<Rvia<Rth.max인 경우, 신뢰성이 낮은 저항으로 판별되어 식별키 생성에서 제외될 수 있다.
일실시예에서, Rvia와 Rth .min, Rth .nor, Rth .max의 관계는 다음의 표 1과 같이 나타낼 수 있다.
Rvia Rth .min(=10k) Rth .nor(=100k) Rth .max(=1M)
Rvia <10k Short Short Short
Rvia = 10k Open/short Short Short
10k< Rvia <100k Open Short Short
Rvia = 100k Open Open/short Short
100k< Rvia <1M Open Open Short
Rvia = 1M Open Open Open/short
Rvia >1M Open Open Open
표 1에 기재된 예에서, Rth .min=10k, Rth .nor=100k 및 Rth .max=1M 의 값이 각각 선택되었다. 일실시예에서, 판별부는 Rvia 와 각각의 임계 값을 비교하기 위하여 각각의 임계 값에 대응하는 3 종류의 판별 엘리먼트를 포함할 수 있다. 각각의 판별 엘리먼트는 트랜지스터 또는 저항 등을 포함할 수 있다.
Rvia<10k 인 경우, 3 종류의 판별 엘리먼트에서 모두 short로 판별될 수 있다. Rvia=10k 의 경우, 노이즈 등의 요인에 의해서 Rth .min 판별 엘리먼트에서는 open 또는 short로 판별될 수 있다. Short로 판별되는 경우에는 Rth .min<10k 와 동일하며, 안정적으로 short 가 되고, open으로 판별되는 경우에는 신뢰성이 낮은 short일 수 있다. 10k<Rvia<100k 인 경우, Rth .min 판별 엘리먼트에서 open 으로 판별되고 나머지 판별 엘리먼트에서 short로 판별될 수 있다. Rvia=100k 의 경우, 노이즈 등의 요인에 의해서 Rth .nor 판별 엘리먼트에서 open 또는 short로 판별될 수 있다. Short로 판별되는 경우에는 10k<Rvia<100k 와 동일하고, open으로 판별되는 경우에는 100k<Rvia<1M 와 동일하다. 100k<Rvia<1M 인 경우, Rth .max 판별 엘리먼트에서 short 로 판별되고 나머지 판별 엘리먼트에서 open으로 판별될 수 있다. Rvia=1M 의 경우, 노이즈 등의 요인에 의해서 Rth .max 판별 엘리먼트에서 open 또는 short 로 판별될 수 있다. Short로 판별되는 경우에는 100k<Rvia<1M 와 동일하고, open으로 판별되는 경우에는 Rvia>1M 와 동일하다. Rvia>1M 의 경우, 3종류의 판별 엘리먼트에서 모두 open으로 판별될 수 있다.
도 5a 내지 도 5b는 일실시예에 따른 식별키 생성 장치의 판별부를 설명하기 위한 도면이다.
일실시예에서, 판별부는 제1 트랜지스터(501), 제2 트랜지스터(502) 및 제3 트랜지스터(503) 및 선택 트랜지스터(505)를 포함할 수 있다. 도 5a에는 식별키를 제공하는 비아(504)가 함께 도시된다.
제1 트랜지스터(501), 제2 트랜지스터(502) 및 제3 트랜지스터(503)는 각각 기준 저항 값 Rvia 값을 Rth.min, Rth.nor, Rth.max 과 비교하도록 구성될 수 있다.
예를 들어, 제1 트랜지스터(501)가 선택된 경우 Rvia 와 Vx 의 관계가 도 5b의 506과 같이 되도록 구성될 수 있다. 즉, Rvia 값이 Rth .min 일 때 Vx = Vth 를 만족하도록 구성될 수 있다. 이러한 구성을 통해, 제1 트랜지스터(501)를 이용하여 Rvia 와 Rth.min 값을 비교할 수 있다.
또한, 제2 트랜지스터(502)가 선택된 경우 Rvia 와 Vx 의 관계가 도 5b의 507과 같이 되도록 구성될 수 있다. 즉, Rvia 값이 Rth .nor 일 때 Vx = Vth 를 만족하도록 구성될 수 있다. 이러한 구성을 통해, 제2 트랜지스터(502)를 이용하여 Rvia 와 Rth.nor 값을 비교할 수 있다.
또한, 제3 트랜지스터(503)가 선택된 경우 Rvia 와 Vx 의 관계가 도 5b의 508과 같이 되도록 구성될 수 있다. 즉, Rvia 값이 Rth .max 일 때 Vx = Vth 를 만족하도록 구성될 수 있다. 이러한 구성을 통해, 제3 트랜지스터(503)를 이용하여 Rvia 와 Rth.max 값을 비교할 수 있다.
도 6a 내지 도 6c는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
일실시예에서, 판독부는 도 6a에 도시된 바와 같은 인버터(600)를 포함할 수 있다. 인버터(600)는 Vth 를 logic threshold voltage 로 가지도록 구성될 수 있다. 예를 들어, 인버터(600)는 도 6b에 도시된 바와 같이 판별부의 출력 전압 VX 에 대한 판독부로 사용될 수 있다.
도 6c를 참조하면 Vx > Vth 인 부분에서는 VPUF 가 0이 될 수 있고, Vx < Vth 인 부분에서는 VPUF 가 1이 될 수 있다. 다른 일실시예에서, VPUF는 설명되는 예와 반대의 값을 갖도록 설계될 수 있다. 따라서, 판별 단계에서는 3개의 트랜지스터(501, 502, 503)를 하나씩 선택하여 Vx 값을 독출하고, 식별키 판독 단계에서는 제2 트랜지스터(502)만 선택할 수 있다.
Rvia < Rth .min 인 경우, 3개의 트랜지스터(501, 502, 503)를 하나씩 선택하여 독출한 값이 각각 0, 0, 0 이 되어 시불변성이 보장되는 short로 판별할 수 있다.
한편, Rth .min < Rvia < Rth .nor 인 경우, 3개의 트랜지스터(501, 502, 503)를 하나씩 선택하여 독출한 값이 각각 1, 0, 0 이 되어 시불변성이 보장되지 않는 short로 판별할 수 있다.
한편, Rth .min < Rvia < Rth .nor 인 경우, 3개의 트랜지스터(501, 502, 503)를 하나씩 선택하여 독출한 값이 각각 1, 1, 0 이 되어 시불변성이 보장되지 않는 open으로 판별할 수 있다.
한편, Rvia > Rth . max인 경우, 3개의 트랜지스터(501, 502, 503)를 하나씩 선택하여 독출한 값이 각각 1, 1, 1 이 되어 시불변성이 보장되는 open으로 판별할 수 있다.
도 7 및 도 8은 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다. 예를 들어, 도 6a 에 도시된 인버터(600)에 대한 대안적 구성으로서, 도 7의 로직 버퍼(700) 또는 도 8의 쉬미트(Schmitt) 트리거 인버터(800)가 이용될 수 있다.
로직 버퍼(700) 및/또는 쉬미트 트리거 인버터(800)는 Vth 를 logic threshold voltage 로 가지도록 구성될 수 있으며, 위에서 도 6b 및 도 6c를 참조하여 설명된 바와 같이, 판별부의 출력 전압 Vx 에 대한 판독부로 사용될 수 있다.
도 9a 및 9b는 일실시예에 따른 식별키 생성 장치의 판별부를 설명하기 위한 도면이다.
일실시예에서, 식별키 생성 장치의 판별부는 선택 트랜지스터가 off 상태에 있는 동안 Vx 를 VDD까지 풀업(pull-up) 시키기 위한 풀업 저항(910) 및 선택 트랜지스터(505)를 포함할 수 있다. 도 9a에는 식별키를 제공하는 비아(504)가 함께 도시된다.
선택 트랜지스터(505)가 on 상태가 된 후 Rvia 값에 따라서 풀업된 전압이 방전되는 속도가 RC 지연으로 인하여 달라질 수 있고, 이를 이용하여 Rvia 값을 측정하여 비아의 전기적 단락 여부(open/short)를 판별할 수 있다.
예를 들어, 선택 트랜지스터(505)가 on 상태가 된 후의 방전 속도가 Rth .max 에 대응하는 방전 속도보다 느린 경우, 도 9b의 920과 같이 표현될 수 있으며 Rvia > Rth.max 로 판별될 수 있다.
한편, 선택 트랜지스터(505)가 on 상태가 된 후의 방전 속도가 Rth .max 에 대응하는 방전 속도보다 빠르고 Rth .nor 에 대응하는 방전 속도보다 느린 경우, 도 9b의 930과 같이 표현될 수 있으며 Rth.min < Rvia < Rth.nor 로 판별될 수 있다.
한편, 선택 트랜지스터(505)가 on 상태가 된 후의 방전 속도가 Rth .nor 에 대응하는 방전 속도보다 빠르고 Rth .min 에 대응하는 방전 속도보다 느린 경우, 도 9b의 940과 같이 표현될 수 있으며 Rth.min < Rvia < Rth.nor 로 판별될 수 있다.
한편, 선택 트랜지스터(505)가 on 상태가 된 후의 방전 속도가 Rth .min 에 대응하는 방전 속도보다 빠른 경우, 도 9b의 950과 같이 표현될 수 있으며 Rvia < Rth.min 로 판별될 수 있다.
도 10a 및 10b는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
일실시예에서, 식별키 생성 장치의 판독부는 선택 트랜지스터가 off 상태에 있는 동안 Vx 를 VDD까지 풀업(pull-up) 시키기 위한 풀업 저항(Rpu) 및 선택 트랜지스터(select)를 포함할 수 있다. 도 10a에는 식별키를 제공하는 비아(Rvia)가 함께 도시된다.
선택 트랜지스터가 on 상태가 된 후 Rvia 값에 따라서 풀업된 전압이 임계 전압(Vth)까지 방전되는 시간이 RC 지연으로 인하여 달라질 수 있고, 이를 이용하여 Rvia 값으로부터 식별키를 판독할 수 있다.
예를 들어, 풀업된 전압이 임계 전압(Vth)까지 방전되는 시간을 t라 할 때, 제1 임계 시간(tth .min) 및 제2 임계 시간(tth .max)을 기준으로 시변성을 갖는 식별키 생성부를 확인할 수 있다. 또한, 제3 임계 시간(tth .nor)을 기준으로 최종 식별키를 독출할 수 있다.
구체적으로, 도 10b의 1010 및 1020과 같이 t≥tth .nor 인 경우, PUF=1 로 판독될 수 있고, 도 10b의 1030 및 1040과 같이 t≤tth . nor인 경우 PUF=0 으로 판독될 수 있다. 다른 일실시예에서, 판독되는 PUF는 설명되는 예와 서로 반대의 값을 갖도록 설계될 수 있다.
한편, 도 10b의 1020과 같이 tth .max≥t≥tth .nor 인 경우 및 도 10b의 1030과 같이 tth .min≤t≤tth .nor 인 경우, 판독되는 Rvia 의 시불변성이 보장되지 않는 것으로 결정될 수 있다. 식별키 생성 장치는 판독부에서 식별키를 독출할 때 시불변성이 보장되지 않을 것으로 예상되는 저항을 제외시킴으로써 최종적으로 제공되는 식별키의 신뢰성을 높일 수 있다.
도 11 및 12는 일실시예에 따른 식별키 생성 장치의 판독부를 설명하기 위한 도면이다.
일실시예에서, 판독부(1120)는 선택 트랜지스터가 on 상태가 된 후 풀업된 전압이 임계 전압(Vth)까지 방전되는 시간을 측정하기 위하여, 식별키 생성부(1110)의 출력 Vx가 임계 전압 Vth 이상을 유지하는 지속시간을 클럭(1130)에 기초하여 측정할 수 있다. 이를 위하여, 판독부(1120)는 비교기(1121), 카운터(1122), 로직(1123)을 포함할 수 있다.
구체적으로, 판독부(1120)는 비교기(1121)를 통해 식별키 생성부(1110)의 출력 Vx를 임계 전압(Vth)과 비교하여, Vx≥Vth 인 경우에만 카운터(1122)의 enable 신호(EN)에 1의 값을 제공할 수 있다. 이처럼 식별키 생성부(1110)의 출력 Vx가 임계 전압 Vth 이상을 유지하는 지속시간이 클럭 기반으로 측정되면, 로직(1123)을 이용하여 카운터(1122)의 출력(On)을 제1 임계 시간(tth .min) 및/또는 제2 임계 시간(tth.max)과 비교하여 시변성을 갖는 식별키 생성부를 확인할 수 있으며, 제3 임계 시간(tth.nor)와 비교하여 최종 식별키를 독출할 수 있다.
예를 들어, 도 12의 1210 및 1220과 같이 t≥tth .nor 인 경우, PUF=1 로 판독될 수 있고, 도 12의 1230 및 1240과 같이 t≤tth . nor인 경우 PUF=0 으로 판독될 수 있다. 다른 일실시예에서, 판독되는 PUF는 설명되는 예와 서로 반대의 값을 갖도록 설계될 수 있다.
한편, 도 12의 1220과 같이 tth .max≥t≥tth .nor 인 경우 및 도 12의 1230과 같이 tth.min≤t≤tth.nor 인 경우, 판독되는 Rvia 의 시불변성이 보장되지 않는 것으로 결정될 수 있다. 식별키 생성 장치는 판독부에서 식별키를 독출할 때 시불변성이 보장되지 않을 것으로 예상되는 저항을 제외시킴으로써 최종적으로 제공되는 식별키의 신뢰성을 높일 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (18)

  1. 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance)을 제공하는 식별키 제공부;
    상기 복수 개의 저항 중 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 판별부; 및
    상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 제공하는 판독부
    를 포함하는 식별키 생성 장치.
  2. 제1항에 있어서,
    상기 복수 개의 저항 중에서 상기 제1 그룹에 포함되는 저항을 식별하는 정보를 메모리에 기록하는 컨트롤러
    를 더 포함하는 식별키 생성 장치.
  3. 제2항에 있어서,
    상기 제1 그룹에 포함되는 저항을 식별하는 상기 정보는 상기 복수 개의 저항 중 상기 제1 그룹에 포함되는 저항의 어드레스인 식별키 생성 장치.
  4. 제1항에 있어서,
    상기 복수 개의 저항은 상기 전도성 레이어들 사이에 배치되는 컨택 또는 비아 중 어느 하나인 식별키 생성 장치.
  5. 제1항에 있어서,
    상기 판별부는,
    제1 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제1 임계 값 보다 큰지 여부를 판별하기 위한 제1 판별 엘리먼트; 및
    상기 제1 시간 구간과 상이한 제2 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제2 임계 값 보다 큰지 여부를 판별하기 위한 제2 판별 엘리먼트
    를 포함하는 식별키 생성 장치.
  6. 제5항에 있어서,
    상기 판별부는 상기 복수 개의 저항 각각의 크기가 제3 임계 값 - 상기 제3 임계 값은 상기 제1 임계 값보다 크고 상기 제2 임계 값보다 작음 - 보다 큰지 여부를 판별하는 제3 판별 엘리먼트
    를 더 포함하고,
    상기 판독부는 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항에 대해 상기 제3 임계 값과의 비교 결과를 이용하여 상기 식별키를 제공하는,
    식별키 생성 장치.
  7. 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance)을 제공하는 식별키 제공부;
    상기 복수 개의 저항 각각에 인가되는 출력 전압을 선택 트랜지스터 오프(off) 상태에서 공급 전압으로 풀-업 하는 풀-업 저항을 이용하여, 상기 복수 개의 저항 중 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 판별부; 및
    상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 제공하는 판독부
    를 포함하는 식별키 생성 장치.
  8. 제7항에 있어서,
    상기 판별부는, 상기 복수 개의 저항 중, 상기 선택 트랜지스터가 턴 온 된 후 상기 출력 전압이 임계 전압 이하로 방전 되는 데에 소요되는 시간이 제1 임계 시간보다 길고 제2 임계 시간보다 작은 저항을 제1 그룹으로 판별하는,
    식별키 생성 장치.
  9. 제8항에 있어서,
    상기 판독부는, 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 이용하여, 상기 출력 전압이 상기 임계 전압 이하로 방전되는 데에 소요되는 시간을 제3 임계 시간 - 상기 제3 임계 시간은 상기 제1 임계 시간보다 길고 상기 제2 임계 시간보다 짧음 - 과 비교한 결과에 따라 상기 식별키를 판독하는,
    식별키 생성 장치.
  10. 제7항에 있어서,
    상기 판별부는, 상기 복수 개의 저항 중, 상기 선택 트랜지스터가 턴 온 된 후 미리 결정된 기준 시간이 소요된 후의 상기 출력 전압이 제1 임계 전압보다 크고 제2 임계 전압보다 작은 저항을 제1 그룹으로 판별하는,
    식별키 생성 장치.
  11. 제10항에 있어서,
    상기 판독부는 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 이용하여, 상기 출력 전압을 제3 임계 전압 - 상기 제3 임계 전압은 상기 제1 임계 전압보다 크고 상기 제2 임계 전압보다 작음 - 과 비교한 결과에 따라 상기 식별키를 판독하는,
    식별키 생성 장치.
  12. 반도체의 공정편차에 기인한 상기 반도체의 전도성 레이어들 사이의 무작위적 연결 상태에 따라 생성되는 복수 개의 저항(resistance) 중, 제1 임계 값보다 크고 제2 임계 값보다 작은 저항 값을 갖는 제1 그룹을 판별하는 단계; 및
    상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항을 판독하여 디지털 값 형태인 식별키를 생성하는 단계
    를 포함하는 식별키 생성 장치 관리 방법.
  13. 제12항에 있어서,
    상기 복수 개의 저항 중에서 상기 제1 그룹에 포함되는 저항을 식별하는 정보를 메모리에 기록하는 단계
    를 더 포함하는 식별키 생성 장치 관리 방법.
  14. 제13항에 있어서,
    상기 제1 그룹에 포함되는 저항을 식별하는 상기 정보는 상기 복수 개의 저항 중 상기 제1 그룹에 포함되는 저항의 어드레스인 식별키 생성 장치 관리 방법.
  15. 제12항에 있어서,
    상기 복수 개의 저항은 상기 전도성 레이어들 사이에 배치되는 컨택 또는 비아 중 어느 하나인 식별키 생성 장치 관리 방법.
  16. 제12항에 있어서,
    상기 제1 그룹을 판별하는 단계는,
    제1 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제1 임계 값 보다 큰지 여부를 판별하는 단계; 및
    상기 제1 시간 구간과 상이한 제2 시간 구간에서, 상기 복수 개의 저항 각각의 크기가 상기 제2 임계 값 보다 큰지 여부를 판별하는 단계
    를 포함하는 식별키 생성 장치 관리 방법.
  17. 제16항에 있어서,
    상기 제1 그룹을 판별하는 단계는, 상기 복수 개의 저항 각각의 크기가 제3 임계 값 - 상기 제3 임계 값은 상기 제1 임계 값보다 크고 상기 제2 임계 값보다 작음 - 보다 큰지 여부를 판별하는 단계를 더 포함하고,
    상기 식별키를 생성하는 단계는, 상기 복수 개의 저항 중 상기 제1 그룹에 속하지 않는 적어도 하나의 저항에 대해 상기 제3 임계 값과의 비교 결과를 이용하여 상기 식별키를 생성하는 단계를 포함하는,
    식별키 생성 장치 관리 방법.
  18. 제12항 내지 제17항 중 어느 한 항의 식별키 생성 장치 관리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020170009084A 2016-01-19 2017-01-19 식별키 생성 장치 및 그 관리 방법 KR20170087048A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160006564 2016-01-19
KR20160006564 2016-01-19

Publications (1)

Publication Number Publication Date
KR20170087048A true KR20170087048A (ko) 2017-07-27

Family

ID=59362771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170009084A KR20170087048A (ko) 2016-01-19 2017-01-19 식별키 생성 장치 및 그 관리 방법

Country Status (5)

Country Link
US (1) US11044086B2 (ko)
EP (1) EP3407535B1 (ko)
KR (1) KR20170087048A (ko)
CN (1) CN108886470B (ko)
WO (1) WO2017126900A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459306B1 (ko) * 2022-05-31 2022-10-26 엘아이지넥스원 주식회사 신뢰도를 이용한 물리적 복제방지 기능 기반의 보안 장치 및 그를 위한 방법
US11901001B2 (en) 2021-06-15 2024-02-13 Samsung Electronics Co., Ltd. Memory device having physical unclonable function and memory system including the memory device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258778B2 (en) * 2019-02-28 2022-02-22 Advanced New Technologies Co., Ltd. System and method for blockchain-based data management
FR3111006B1 (fr) * 2020-05-28 2023-05-26 St Microelectronics Crolles 2 Sas Dispositif intégré de fonction physique non-clonable

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2746962B1 (fr) 1996-04-01 1998-04-30 Schlumberger Ind Sa Dispositif de securite d'une pastille semi-conductrice
US6778003B1 (en) * 2003-04-30 2004-08-17 Micron Technology, Inc. Method and circuit for adjusting a voltage upon detection of a command applied to an integrated circuit
JP4373415B2 (ja) * 2006-07-05 2009-11-25 オリンパスメディカルシステムズ株式会社 生体内情報取得装置
KR100796693B1 (ko) * 2006-10-17 2008-01-21 삼성에스디아이 주식회사 플라즈마 표시 장치 및 그 구동 장치와 구동 방법
US8129671B2 (en) * 2007-12-11 2012-03-06 Renesas Electronics Corporation Power supply dependent optical receiver and amplifier and photocoupler using the same
KR20090068987A (ko) * 2007-12-24 2009-06-29 주식회사 시큐트론 공정편차에 기반한 식별 시스템 및 방법
KR101139630B1 (ko) 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR101332517B1 (ko) 2012-08-21 2013-11-22 한양대학교 산학협력단 인증 정보 처리 장치 및 방법
US8861736B2 (en) 2012-11-19 2014-10-14 International Business Machines Corporation Reliable physical unclonable function for device authentication
JP5689569B2 (ja) 2013-02-01 2015-03-25 パナソニックIpマネジメント株式会社 不揮発性記憶装置
KR101457305B1 (ko) * 2013-10-10 2014-11-03 (주) 아이씨티케이 식별키 생성 장치 및 방법
JP6380804B2 (ja) * 2014-04-16 2018-08-29 パナソニックIpマネジメント株式会社 乱数処理装置および乱数処理方法
CN105632543B (zh) 2014-11-21 2018-03-30 松下知识产权经营株式会社 具有防篡改性的非易失性存储装置及集成电路卡

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11901001B2 (en) 2021-06-15 2024-02-13 Samsung Electronics Co., Ltd. Memory device having physical unclonable function and memory system including the memory device
KR102459306B1 (ko) * 2022-05-31 2022-10-26 엘아이지넥스원 주식회사 신뢰도를 이용한 물리적 복제방지 기능 기반의 보안 장치 및 그를 위한 방법

Also Published As

Publication number Publication date
WO2017126900A1 (ko) 2017-07-27
CN108886470A (zh) 2018-11-23
EP3407535A4 (en) 2019-09-04
EP3407535A1 (en) 2018-11-28
US11044086B2 (en) 2021-06-22
CN108886470B (zh) 2021-09-17
EP3407535B1 (en) 2023-08-09
US20190036690A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
US10769309B2 (en) Apparatus and method for generating identification key
TWI627586B (zh) 處理認證資訊的裝置及方法
KR20170087048A (ko) 식별키 생성 장치 및 그 관리 방법
CN106295408B (zh) 集成电路及加密方法
US9262259B2 (en) One-time programmable integrated circuit security
JP2016105278A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
KR20150117284A (ko) 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증
KR101663341B1 (ko) 식별키 생성 장치 및 방법
US9661015B2 (en) Randomizing countermeasures for fault attacks
US20170286687A1 (en) Protection of data stored in a volatile memory
KR101359783B1 (ko) 부정합 부하 저항 소자 기반 물리적 복제 불가 함수 시스템
US10032729B2 (en) Apparatus and method for generating identification key
US10224296B2 (en) Device and method for generating identification key
CN113742791A (zh) Puf电路、芯片、设备及挑战响应对生成方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal