KR20120089607A - 식별키 생성 장치 및 방법 - Google Patents

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

Info

Publication number
KR20120089607A
KR20120089607A KR1020120028432A KR20120028432A KR20120089607A KR 20120089607 A KR20120089607 A KR 20120089607A KR 1020120028432 A KR1020120028432 A KR 1020120028432A KR 20120028432 A KR20120028432 A KR 20120028432A KR 20120089607 A KR20120089607 A KR 20120089607A
Authority
KR
South Korea
Prior art keywords
identification key
identification
present
generated
generation unit
Prior art date
Application number
KR1020120028432A
Other languages
English (en)
Other versions
KR101663341B1 (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 한양대학교 산학협력단
Priority to KR1020120028432A priority Critical patent/KR101663341B1/ko
Publication of KR20120089607A publication Critical patent/KR20120089607A/ko
Application granted granted Critical
Publication of KR101663341B1 publication Critical patent/KR101663341B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/381Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using identifiers, e.g. barcodes, RFIDs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

반도체 제조 공정에서 제공되는 디자인 룰을 의도적으로 위반하여, 회로를 구성하는 노드 간의 단락여부가 확률적으로 결정될 수 있도록 함으로써 식별키를 생성하는 식별키 생성 장치가 제공된다. 상기 식별키 생성 장치는, 반도체 칩 내의 전도성 레이어 사이를(between conductive layers) 전기적으로 연결하기 위한 콘택(contact) 또는 비아(via)가 상기 전도성 레이어를 단락 하는지의 여부를 이용하여 식별키를 생성하는 식별키 생성부, 및 상기 비아가 상기 전도성 레이어를 단락 하는지의 여부를 독출하여 상기 식별키를 독출하는 식별키 독출부를 포함할 수 있다.

Description

식별키 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING IDENTIFICATION KEY}
디지털 보안 분야에 연관되며, 보다 특정하게는 전자장치의 보안, 임베디드 시스템(Embedded system) 보안, SoC(System on Chip) 보안, 스마트 카드(Smart Card) 보안, USIM(Universal Subscriber Identity Module) 보안 등을 위하여 필요한 암호화 및 복호화 방법과 디지털 서명 등에 사용되는 식별키를 생성하는 장치 및 방법에 연관된다.
정보화 사회가 고도화 됨에 따라 개인 프라이버시 보호의 필요성도 높아지고 있고, 정보를 암호화 및 복호화하여 안전하게 전송하는 보안 시스템을 구축하는 기술이 반드시 필요한 중요 기술로 자리잡고 있다.
고도화된 정보화 사회에서는 고성능의 컴퓨터와 더불어, 임베디드 시스템(Embedded System)이나 SoC(System on Chip) 형태의 컴퓨팅 디바이스의 사용도 급속하게 늘어나고 있다. 예를 들면, RFID(Radio-Frequency IDentification), 스마트 카드(Smart Card), USIM(Universal Subscriber Identity Module), OTP(One Time Password) 등의 컴퓨팅 디바이스가 광범위하게 활용되고 있다.
이러한 컴퓨팅 디바이스에 보안 시스템을 구축하기 위해서는 암호화 및 복호화 알고리즘에 사용되는 암호키(Cryptographic-key)나 고유의 아이디가 사용되는 데, 이하에서는 암호키(Cryptographic-key)나 고유의 아이디를 식별키로 언급한다. 이러한 식별키는 외부에서 암호학적으로 안전한 PRN(Pseudo Random Number)를 외부에서 생성하여 플래시 메모리(Flash Memory)나 이이피롬(EEPROM, Electrically Erasable Programmable Read-Only Memory, EEPROM) 등의 비휘발성 메모리에 저장하는 방법이 주로 사용되고 있다.
최근에는 컴퓨팅 디바이스에 저장된 식별키에 대하여, 부채널 공격(side channel attack), 역공학(reverse engineering) 공격 등의 다양한 공격이 이루어지고 있는 추세이다. 이런 공격에 대하여 안전하게 식별키를 생성 및 저장하는 방법으로 PUF(Physical Unclonable Function) 기술이 개발되고 있다.
PUF(Physically Unclonable Function)는 전자시스템에 존재하는 미세한 물리적 특성 차이를 이용하여 식별키를 생성하고, 변하지 않도록 유지 또는 저장하기 위한 기술로서 하드웨어 핑거프린트(hardware fingerprint)라고도 한다.
PUF를 식별키로 사용하기 위해서는, 첫째, 생성된 식별키의 난수성이 충분히 확보되어야 하고, 둘째, 시간의 흐름이나 사용 환경의 변화에 대하여 그 값이 변하지 않고 유지되어야 한다.
그러나, 종래의 기술들은 충분한 난수성 확보가 어렵고, 시간에 따른 물리적 특성의 변화 또는 사용 환경의 변화에 의하여, 생성된 식별키가 변화하는 문제를 해결하지 못하고 있다.
반도체 제조 공정을 이용하여 진성 난수 값을 생성하고, 생성 이후에는 그 값이 절대로 변하지 않은 성질이 있는 PUF 기술을 개발하여 식별키로 사용하기 위한 목적으로, 식별키 생성 장치 및 방법이 제공된다.
또한, 디지털 값의 형태를 갖는 식별키에서 디지털 값 0과 디지털 값 1 간의 밸런싱(balancing)이 확률적으로 보장되는 식별키 생성 장치 및 방법이 제공된다.
나아가, 제작 비용이 낮고, 제작 과정이 간단하며, 물리적으로 복제가 불가능하여 외부의 공격에 강한 PUF를 구현하는 식별키 생성 장치 및 방법이 제공된다.
본 발명의 일측에 따르면, 반도체 제조 공정에서 제공되는 디자인 룰을 의도적으로 위반하여, 회로를 구성하는 노드 간의 단락여부가 확률적으로 결정될 수 있도록 함으로써 식별키를 생성하는 식별키 생성 장치가 제공된다.
본 발명의 일실시예에 따르면, 상기 식별키 생성 장치는, 반도체 칩 내의 전도성 레이어 사이를(between conductive layers) 전기적으로 연결하기 위한 콘택(contact) 또는 비아(via)가 상기 전도성 레이어를 단락 하는지의 여부를 이용하여 식별키를 생성하는 식별키 생성부, 및 상기 비아가 상기 전도성 레이어를 단락 하는지의 여부를 독출하여 상기 식별키를 독출하는 식별키 독출부를 포함하는, 식별키 생성 장치가 제공된다.
본 발명의 일실시예에 따르면, 상기 식별키 생성부는, 상기 반도체의 공정 디자인 룰에서 규정한 사이즈보다 의도적으로 작게 설계된 콘택 또는 비아를 포함하는 회로로 구성된다. 이와 같이 의도적으로 작게 설계된 콘택 또는 비아는 상기 전도성 레이어 사이의 단락을 확률적으로 결정하게 된다.
또한, 콘택 또는 비아에 의해서 전도성 레이어의 단락 여부가 결정되고 나면, 이는 시간에 따라 또는 사용 환경에 따라 변화하는 특성이 아니므로, 생성 이후에는 절대로 그 값이 절대로 변하지 않는다.
본 발명의 일실시예에 따르면, 상기 식별키 생성부는, 상기 콘택 또는 비아가 상기 전도성 레이어 사이를 단락 하는 확률과 단락 하지 못하는 확률이 가급적 같도록 콘택 또는 비아의 사이즈가 설정된다. 이는 상기 식별키 생성부에 의하여 생성되는 디지털 값이 0일 확률과 1일 확률이 가급적 1/2로 같도록 하기 위함이다.
한편, 상기 식별키 생성부는, 한 쌍의 전도성 레이어와, 그 사이를 연결하는 하나의 콘택 또는 비아를 이용하여 1 비트의 디지털 값을 생성하는 회로로 구성되며, 이와 같은 회로를 N 개 사용하여 N 비트의 식별키를 생성할 수 있다.
만일, 상기 식별키 생성부에서 생성한 N 비트의 식별키를 구성하는 디지털 값이 0일 확률과 1일 확률이 1/2에 가깝지 않을 경우, 생성된 식별키의 난수성은 저하된다.
따라서, 본 발명의 일실시예에 따르면, 생성된 식별키의 난수성을 확보하기 위하여 상기 식별키를 처리하는 식별키 처리부를 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 상기 식별키 생성 장치는, 상기 식별키 독출부가 독출한 식별키를 입력 받아, 상기 식별키를 구성하는 디지털 값들을 k 개 단위로 그룹핑 하여 복수 개의 디지털 값 그룹을 생성하고, 상기 복수 개의 디지털 값 그룹 중 제1 그룹 및 제2 그룹을 비교하여, 상기 제1 그룹에 포함된 k개의 디지털 비트로 구성된 값이 상기 제2 그룹에 포함된 k개의 디지털 비트로 구성된 값보다 큰 경우, 상기 제1 그룹과 상기 제2 그룹을 대표하는 디지털 값을 1로 결정하여 상기 식별키를 처리하는, 식별키 처리부를 더 포함할 수 있다.
이상적으로는, 0과 1이 생성될 확률이 1/2로 같을 때, 생성되는 식별키의 난수성이 최대로 확보되지만, 실제로 0과 1이 생성될 확률이 정확히 1/2로 같기는 매우 힘들다. 그러나, 이와 같이 k개의 비트를 그룹핑을 하여 두 그룹을 비교할 경우에는, 비록 0과 1이 발생할 확률이 1/2로 같지 않더라도, 두 개의 그룹은 동등한 조건에 있으므로, 상기 제1그룹이 상기 제2 그룹보다 큰 값을 가질 확률과 작은 값을 가질 확률은 같아진다.
다만, 여기서 상기 제1그룹과 상기 제2 그룹이 같은 값을 가질 수도 있으며 이럴 경우에는, 상기 제1 그룹과 상기 제2 그룹의 대표하는 디지털 값을 1또는 0 어느 한 쪽으로 결정하거나, 혹은 결정하지 않을 수도 있다. 이렇게 함으로써, 비록 식별키 생성 장치에서 0과 1일 생성될 확률이 1/2로 같지 않은 경우라 할지라도, 식별키 처리부를 통하여 최종적으로 0과 1일 생성될 확률은 동등해지며, 이로써 난수성을 확보할 수 있다.
본 발명의 일실시예에 따르면, 이와 같이 식별키 처리부를 포함한 식별키 생성 상치에서 M 비트의 식별키를 생성하기 위해서는, 만일 k개의 비트씩 그룹핑할 경우, M x k 비트를 생성하여야 하나, 상기 제1 그룹과 상기 제2 그룹의 값이 같아서 대표값을 결정하지 않을 경우가 있으므로, M x k 비트보다 충분히 많은 비트를 생성할 수 있도록 회로를 구성한다.
본 발명의 다른 일측에 따르면, 반도체 전도성 레이어 사이의 간격 (spacing)을 갖고, 상기 전도성 레이어 사이가 단락 되는지의 여부를 이용하여 식별키를 생성하는 식별키 생성부, 및 상기 전도성 레이어 사이가 단락 되는지의 여부를 독출하여 상기 식별키를 독출하는 식별키 독출부를 포함하는, 식별키 생성 장치가 제공된다.
본 발명의 다른 일측에 따르면, 반도체 전도성 레이어 사이의 간격(spacing)을 갖고, 상기 반도체 전도성 레이어 사이 사이가 단락 되는지의 여부를 이용하여 식별키를 생성하는 식별키 생성부, 및 상기 전도성 레이어 사이 사이가 단락 되는지의 여부를 독출하여 상기 식별키를 독출하는 식별키 독출부를 포함하고, 상기 반도체 전도성 레이어 사이의 간격(spacing)은 반도체 제조 공정에서 제공되는 디자인 룰을 위반하는 크기로 설정되는, 식별키 생성 장치가 제공된다.
이 경우, 상기 식별키 생성부는, 상기 반도체 전도성 레이어 사이 사이가 단락되는 확률과 단락되지 않는 확률의 차이가 소정의 오차 범위 내에 있도록 하는 상기 반도체 전도성 레이어 사이의 간격을 가질 수 있다.
본 발명의 또 다른 일측에 따르면, 반도체 제조 공정에서 제공되는 디자인 룰을 의도적으로 위반하여, 회로를 구성하는 노드 간의 단락여부가 확률적으로 결정될 수 있도록 함으로써 식별키를 생성하는 식별키 생성 단계, 및 상기 회로를 구성하는 노드 간의 단락 여부를 독출하여 식별키를 독출하는 식별키 독출 단계를 포함하는, 식별키 생성 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 반도체 전도성 레이어 사이의 간격(spacing)을 갖고, 상기 반도체 전도성 레이어 사이 사이가 단락 되는지의 여부를 이용하여 식별키를 생성하는 식별키 생성 단계, 및 상기 전도성 레이어 사이 사이가 단락 되는지의 여부를 독출하여 상기 식별키를 독출하는 식별키 독출 단계를 포함하고, 상기 반도체 전도성 레이어 사이의 간격(spacing)은 반도체 제조 공정에서 제공되는 디자인 룰을 위반하는 크기로 설정되는, 식별키 생성 방법이 제공된다.
반도체 제조 공정을 이용하여, 무작위의(random) 식별키를 생성하고, 생성 이후에는 그 값이 변하지 않아 신뢰성이 높다.
또한, 디지털 값의 형태를 갖는 식별키에서 디지털 값 0과 디지털 값 1 간의 밸런싱이 확률적으로 보장되어 난수성이 확보된다.
나아가, 식별키 생성을 위한 비용이 낮고, 제작 과정이 간단하며, 물리적으로 복제가 불가능하여 외부의 공격에 강하다.
도 1은 본 발명의 일실시예에 따른 식별키 생성 장치를 도시한다.
도 2는 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 개념도이다.
도 3은 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 그래프이다.
도 4는 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 개념도이다.
도 5는 본 발명의 일실시예에 따른 식별키 생성부에서 식별키를 생성할 수 있도록 하는 콘택 또는 비아 어레이를 도시한다.
도 6은 본 발명의 일실시예에 따라 도 5의 콘택 또는 비아 어레이를 이용하여 식별키를 생성하는 식별키 생성부의 구성을 도시한다.
도 7은 본 발명의 일실시예에 따른 식별키 처리부가 식별키를 처리하는 과정을 설명하기 위한 개념도이다.
도 8은 본 발명의 일실시예에 따른 식별키 생성 방법을 도시한다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 식별키 생성 장치(100)를 도시한다.
식별키 생성부(110)는, 반도체 공정을 이용하여 시간에 따라 변하지 않는 식별키를 생성하며, 생성된 식별키는 무작위적(random)이지만, 시간이 지나더라도 변하지는 않는다.
식별키 생성부(110)가 생성한 식별키는 이를 테면, N 비트(단 N은 자연수)의 디지털 값일 수 있다.
생성되는 식별키의 신뢰성에 있어서 가장 중요한 요소는, 생성된 식별키의 난수성 (또는, '무작위성'이라고도 할 수 있음) 과 시간에 따라 값이 변하지 않는 불변성이다.
본 발명의 실시예에 따른 식별키 생성부(110)는 반도체 제조 공정 상 생성되는 노드(node) 간의 단락(short) 여부가 난수성을 갖도록 구성되며, 또한 노드 간의 단락 여부는 시간에 따라 또는 사용 환경에 따라 변하지 않으므로 한 번 생성된 식별키는 변하지 않는다.
본 발명의 일실시예에 따르면, 식별키 생성부(110)는 반도체 제조 공정 상 생성되는 전도성 레이어들(conductive layers) 사이에 형성되는 콘택 또는 비아(via)에 의해 전도성 레이어들의 단락 여부에 따라 식별키를 생성한다.
콘택 또는 비아는 전도성 레이어들 사이를 연결하도록 설계되는 것이어서, 통상적으로 콘택 또는 비아 사이즈는 전도성 레이어들 사이를 단락시키도록 결정된다. 그리고 통상적인 디자인 룰(rule)에서는 전도성 레이어들 사이를 단락시키는 것이 보장되도록 최소한의 콘택 또는 비아 사이즈가 정해져 있다.
그러나, 본 발명의 일실시예에 따른 식별키 생성부(110)의 구현에 있어서는, 콘택 또는 비아의 사이즈를 디자인 룰에서 정해진 것보다 의도적으로 작게 하여, 일부의 콘택 또는 비아는 전도성 레이어들 사이를 단락시키고, 다른 일부의 콘택 또는 비아는 전도성 레이어들 사이를 단락시키지 못하게 되며, 이러한 단락 여부는 확률적으로 결정된다.
기존의 반도체 공정에서는 콘택 또는 비아가 전도성 레이어들 사이를 단락시키지 못하면 공정 상 실패한 것이 되나, 이를 난수성을 갖는 식별키 생성에 이용하는 것이다.
상기 실시예에 따른 콘택 또는 비아의 사이즈 설정은 도 2 내지 도 3을 참조하여 보다 상세히 후술한다.
한편, 본 발명의 다른 일실시예에 따르면, 식별키 생성부(110)는 반도체 제조 공정 상에서 전도성 라인들 간의 간격 (spacing)을 디자인 룰보다 의도적으로 작게 결정하여, 전도성 라인들 사이의 단락 여부가 확률적으로 결정되도록 하여, 난수성을 갖는 식별키를 생성한다.
이러한 실시예 또한, 종래의 반도체 제조 공정에서, 전도성 라인들 사이의 오픈을 보장하는 디자인 룰, 즉, 일정 수준 이상의 간격을 의도적으로 벗어나서, 무작위의 식별키를 생성하는 것이다.
상기 실시예에 따른 전도성 라인 간격 의 설정은 도 4를 참조하여 보다 상세히 후술한다.
식별키 생성부(110)는 상기한 실시예들에 따라 생성된 식별키를 전기적으로 생성한다. 전도성 레이어 사이를 콘택 또는 비아가 단락시키고 있는지, 또는 전도성 라인들 사이가 단락되고 있는지는, 리드 트랜지스터(read transistor)를 이용하여 식별할 수 있으며, 이러한 구성은 도 6을 참조하여 보다 상세히 후술한다.
한편, 상기한 콘택 또는 비아의 사이즈 조정을 이용하는 실시예에서, 콘택 또는 비아의 사이즈를 조정하여 전도성 레이어들 사이를 단락하는 콘택 또는 비아와 그렇지 못한 비아의 비율이 가급적 1/2로 동일한 확률을 가지도록 조정한다고 해도, 단락이 되는 경우(이를 테면 디지털 값 0)와 그렇지 않은 경우(이를 테면 디지털 값 1)의 비율이 확률적으로 완전히 동일한 것이 보장되지 않을 수도 있다.
즉, 콘택 또는 비아의 사이즈가 디자인 룰에서 정해진 값으로 커질수록 단락이 되는 확률이 커지고, 반대로 작아질수록 단락이 되지 않는 확률이 커지는데, 단락되는 경우와 단락되지 않는 경우의 확률, 어느 한 쪽이 커지게 되면, 생성된 식별키의 난수성이 저하된다.
이러한 문제는 상기한 전도성 라인 사이의 간격(spacing)을 조정하는 실시예에서도 마찬가지이다.
따라서 본 발명의 일실시예에 따르면, 식별키 생성 장치(100)는 식별키 생성부(110)가 생성한 식별키를 처리하여, 난수성이 보장되도록 하는 식별키 처리부(130)를 더 포함한다. 참고로, 본 명세서에서는 '식별키 처리부'라는 용어를 사용하지만, 이는 생성된 식별키를 별도의 기법이나 알고리즘을 통해 가공하는 것으로 한정되어 해석되어서는 안 되며, 생성된 식별키의 난수성을 보장하기 위해 0과 1 사이의 밸런싱(balancing)을 수행하는 일련의 구성을 의미하는 것으로 이해되어야 한다.
이러한 식별키 처리부(130)의 동작은 도 7을 참조하여 보다 상세히 후술한다.
도 2는 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 개념도이다.
반도체 제조 공정에서 메탈 1 레이어(202)와 메탈 2 레이어(201) 사이에 비아들이 형성된 모습의 도시되었다.
비아 사이즈를 디자인 룰에 따라 충분히 크게 한 그룹(210)에서는 모든 비아가 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키고 있으며, 단락 여부를 디지털 값으로 표현하면 모두 0이 된다.
한편, 비아 사이즈를 너무 작게 한 그룹(230)에서는 모든 비아가 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키지 못하고 있다. 따라서 단락 여부를 디지털 값으로 표현하면 모두 1이 된다.
그리고, 비아 사이즈를 그룹(210)과 그룹(230) 사이로 한 그룹(220)에서는, 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키고, 다른 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키지 못하고 있다.
본 발명의 일실시예에 따른 식별키 생성부(110)는, 그룹(220)와 같이, 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키고, 다른 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키지 못하도록 비아 사이즈를 설정하여 구성된다.
비아 사이즈에 대한 디자인 룰은 반도체 제조 공정에 따라 상이한데, 이를테면 0.18 미크론(um)의 CMOS(Complementary metal??oxide??semiconductor) 공정에서 비아의 디자인 룰이 0.25 미크론으로 설정된다고 하면, 상기 본 발명의 일실시예에 따른 식별키 생성부(110)에서 비아 사이즈를 0.19 미크론으로 설정하여, 메탈 레이어들 사이의 단락 여부가 확률적으로 분포하도록 한다.
이러한 단락 여부의 확률 분포는 50%의 단락 확률을 갖도록 하는 것이 이상적이며, 본 발명의 일실시예에 따른 식별키 생성부(110)는 상기 확률 분포가 최대한 50%에 가깝게 비아 사이즈를 설정하여 구성된다. 이러한 비아 사이즈 설정에서는 공정에 따른 실험에 의하여 비아 사이즈를 결정할 수 있다.
도 3은 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 그래프이다.
그래프에서 비아의 사이즈가 커질수록, 메탈 레이어들 사이의 단락 확률이 1에 가까운 것을 확인할 수 있다. 디자인 룰에 따른 비아 사이즈는 Sd로서, 메탈 레이어들 사이의 단락이 충분히 보장되는 값이다.
그리고, SM은 이론적으로 메탈 레이어의 단락 확률이 0.5가 되는 비아 사이즈인데, 상기한 바와 같이, 공정에 따라 값이 상이하며 실험에 의해 최대한 비슷한 값을 찾을 수는 있지만, 정확한 SM을 찾는 것은 어렵다.
따라서, 본 발명의 일실시예에 따른 식별키 생성부(110)에서는 구체적인 실험에 따라 메탈 레이어들 사이의 단락 여부가 0.5에서 소정의 허용 오차를 갖는 Sx1과 Sx2 범위 내(상기 Sx1 과 Sx2는 별도로 도시하지 않지만, 도시된 Sx 근처의 일정한 마진을 갖는 영역임)에서 설정될 수 있다.
도 4는 본 발명의 일실시예에 따른 식별키 생성부의 구성을 설명하기 위한 개념도이다.
상기한 바와 같이, 본 발명의 다른 일실시예에 따르면, 메탈 라인들 사이의 간격을 조정하여 메탈 라인들 사이의 단락 여부가 확률적으로 결정되도록 할 수 있다.
메탈 라인들 사이의 단락이 충분히 보장되도록 메탈 라인 간격을 작게 한 그룹(410)에서는 모든 경우에서 메탈 라인들이 단락되었다.
그리고, 메탈 라인 간격을 매우 크게 한 그룹(430)에서는 모든 경우에서 메탈 라인들이 단락되지 않았다.
본 발명의 일실시예에 따른 식별키 생성부(110)에서는, 그룹(420)과 같이, 메탈 라인들 중 일부는 단락되고 일부는 단락되지 않도록, 단락이 확률적으로 이루어지는 메탈 라인 간격을 설정한다.
도 5는 본 발명의 일실시예에 따른 식별키 생성부(110)가 식별키를 생성하기 위해 반도체 레이어에 형성된 비아 또는 콘택 어레이의 예시적 구조를 도시하는 개념도이다.
반도체 기판(substrate)에 적층된 메탈 레이어 사이에 가로 M개, 세로 N 개(단, M 및 N은 자연수), 총 M*N 개의 비아가 형성된 모습이 도시되었다.
식별키 생성부(110)는 M*N 개의 비아들 각각이 메탈 레이어들 사이를 단락시키는지(디지털 값 0) 또는 단락시키지 못하는지(디지털 값 1)의 여부에 따라, M*N 비트(bit)의 식별키를 생성한다.
그리고, 이렇게 생성된 M*N 비트의 식별키는 식별키 독출부(120)에 의해 독출된다.
도 6은 본 발명의 일실시예에 따른 식별키 생성부(120)의 구체적인 회로 구성을 도시한다.
본 발명의 일실시예에 따르면, 식별키 생성부(120)는 레퍼런스 전압 VDD와 그라운드(ground) 사이에서 리드 트랜지스터를 이용하여 단락 여부를 검사한다.
풀다운 회로로 구성되는 도 6의 예에서(본 명세서에서 별다른 언급이 없더라도 풀다운 회로에 대한 설명은 풀업 회로로 구성되는 예로 확장될 수 있음은 자명하며, 별도의 설명은 생략함), 식별키 생성부(110) 내의 개별 비아가 메탈 레이어들을 단락시키면 출력 값은 0으로 되고, 그렇지 않으면 출력 값이 1로 된다. 이러한 과정을 통해 식별키 생성부(110)가 식별키를 생성한다.
물론, 메탈 라인들 사이의 단락을 이용하는 실시예도 동일하게 식별키가 생성된다.
다만, 본 발명의 일실시예에 따른 도 6의 식별키 생성부(120)의 구성은 하나의 실시예에 불과하며, 본 발명이 이러한 일부 실시예에 의해 제한적으로 해석되는 것은 아니다.
따라서, 식별키 생성부(110) 내의 메탈 레이어 간 또는 메탈 라인 간의 단락 여부를 검사하여 디지털 값을 생성할 수 있는 구성이라면, 본 발명의 사상을 벗어나지 않는 범위에서 다른 변형이 가능하며, 이러한 구성 또한 본 발명의 범위에서 배제되지 않는다.
한편, 이렇게 식별키 생성부(110)에 의해 생성된 식별키는, 식별키 독출부(120)로 전달되어 저장되는데, 식별키 독출부(120)는 생성된 식별키를 입력으로 받아 저장하는 레지스터 또는 플립 플롭(도시하지 않음)일 수 있다.
이하에서는 별도의 언급이 없더라도, 생성된 식별키를 판독하여 보관하는 레지서터 또는 플립 플롭 뿐만 아니라, 균등한 역할을 하는 다른 구성 또한 식별키 독출부(120)로 이해될 수 있다.
도 7은 본 발명의 일실시예에 따른 식별키 처리부가 식별키를 처리하는 과정을 설명하기 위한 개념도이다.
본 발명의 일실시예에 따르면, 식별키 처리부(130)는 식별키 생성부(110)가 생성하는 M*N 비트의 디지털 값을 소정의 개수로 묶어서 그룹핑 한다.
물론, 본 명세서에서는 개념상 디지털 값을 그룹핑하는 것으로 도 7을 참조하여 설명하고 있으나, 이는 어디까지나 예시적인 실시예에 불과하며, 레지스터 또는 플립 플롭으로 구성되는 식별키 독출부(120)에서 레지스터 또는 플립 플롭들을 그룹핑하는 것도 충분히 가능하며, 이는 본 기술분야의 통상의 지식을 가진 자라면 별다른 어려움이 없이 적용 가능하므로, 본 발명의 범위에서 벗어나는 것으로 해석되어서는 안 된다.
도 7의 예시에서는, 4 개의 디지털 값이 하나의 그룹으로 그룹핑 되었다.
그리고, 식별키 처리부는 그룹(710)과 그룹(720)가 각각 생성한 4비트의 디지털 값의 크기를 비교한다. 그리고, 그룹(710)의 4비트 디지털 값이 그룹(720)의 4비트 디지털 값보다 크면, 상기 그룹(710)과 그룹(720)을 대표하는 디지털 값은 1로 결정한다.
반대로, 그룹(710)의 4비트 디지털 값이 그룹(720)의 4비트 디지털 값보다 작으면, 상기 그룹(710)과 그룹(720)을 대표하는 디지털 값은 0으로 결정한다.
물론, 그룹(720)의 4비트 디지털 값이 그룹(710)의 4비트 디지털 값보다 큰 경우에, 대표 디지털 값을 1로 결정할 수도 있다.
만일, 그룹(710)의 4비트 디지털 값과 그룹(720)의 4비트 디지털 값이 같을 경우에는, 대표 디지털 값을 1 또는 0으로 결정하거나, 아니면, 대표값을 결정하지 않을 수도 있다.
이러한 방식으로 그룹(730)과 그룹(740)을 비교하여 대표 디지털 값을 생성하는 등, 생성된 식별키를 이용하여 최종적으로 식별키를 결정할 수 있다.
이러한 과정이 식별키의 난수성을 높이는 식별키 처리 과정으로 이해될 수 있다.
식별키 생성부(110) 내에서는 단락되는 비율(디지털 값 0)과 단락되지 않는 비율(디지털 값 1)이 서로 달라서, 0과 1의 밸런싱(balancing)이 맞추어지지 않는 경우도 있는데, 그러한 경우라도, 각 비트에서 1과 0이 생성될 확률은, (비록 그 확률이 50%는 아니라 하더라도) 두 개의 그룹이 서로 동등하기 때문에, 두 개의 그룹 중 어느 한 그룹이 다른 한 그룹보다 큰 디지털 값을 가질 확률은 50%이다. 따라서, 상기한 과정을 통해서는 0과 1의 확률적 밸런싱이 맞추어진다고 이해될 수 있다.
한편, 원래 생성된 식별키가 M*N 비트였다면, 상기 도 7에서 식별키 처리부(130)가 최종적으로 결정한 식별키는 (M*N/8) 비트일 수 있다. 8 비트의 디지털 값을 이용하여 새로운 1 비트의 디지털 값을 결정하기 때문이다.
또한, 이상에서 설명한 식별키 처리부(130)의 그룹핑이나 식별키 처리 과정은 본 발명의 일실시예에 불과하며, 디지털 값 0과 1의 밸런싱을 유지하기 위한 식별키 처리 과정은 본 발명의 사상을 벗어나지 않는 범위에서 얼마든지 변경될 수 있다.
이렇게 식별키 생성부(110)가 생성하고 식별키 처리부(130)가 결정한 새로운 식별키는, 난수성을 갖고, 한 번 생성되면 이론적으로 영구히 변하지 않는 신뢰성 있는 값이 된다.
따라서, 본 발명의 실시예들에 의하면, 시간에 따라 값이 변하지 않는 무작위수의 특징을 갖는 신뢰 가능한 식별키를, 큰 제조 비용을 들이지 않고 간편하게 제조할 수 있다.
또한, 반도체 제조 과정 중에 이러한 무작위적인 식별키가 생성되고, 이러한 식별키는 제조 완료 후에도 시불변하므로, 종래의 방법에서와 같이 별도의 비휘발성 메모리에 외부에서 식별키를 기입하는 과정이 불필요하다. 따라서, 식별키가 외부로 출입하는 과정이 없고, 반도체 칩의 설계 도면이 유출된다 하더라도 제조 공정 상의 물리적 특성의 차이에 의하여 식별키가 생성되어 복제가 불가능하므로 보안성이 월등히 우수하다. 또한, 비휘발성 메모리 제조 공정이 불필요하므로 제조 비용도 절감될 수 있다.
도 8은 본 발명의 일실시예에 따른 식별키 생성 방법을 도시한다.
단계(810)에서 식별키 생성부(110)가 식별키를 생성한다.
본 발명의 실시예에 따르면, 식별키 생성부(110)는 반도체 제조 공정 상 생성되는 노드(node) 간의 단락(short) 여부가 난수성을 갖도록 구성되며, 또한 노드 간의 단락 특성은 물리적으로 변하지 않으므로 한 번 생성된 식별키는 변하지 않는다.
본 발명의 일실시예에 따르면, 식별키 생성부(110)는 반도체 제조 공정 상 생성되는 전도성 레이어들(metal layers) 사이에 형성되는 콘택 또는 비아(via)의 단락 여부에 따라 식별키를 생성하며, 상기 실시예에 따른 콘택 또는 비아의 사이즈 설정은 도 2 내지 도 3을 참조하여 상술한 바와 같다.
한편, 본 발명의 다른 일실시예에 따르면, 식별키 생성부(110)는 반도체 제조 공정 상에서 전도성 라인들 간의 간격(spacing)을 조정하여, 전도성 라인들 중 일부는 단락되고 일부는 단락되지 않도록 하여, 난수성을 갖는 식별키를 생성한다. 이러한 실시예는 도 4 내지 도 6를 참조하여 상술한 바와 같다.
단계(820)에서, 식별키 독출부(120)는 상기한 실시예들에 따라 생성된 식별키를 레지스터 또는 플립 플롭을 통해 저장하여 보관한다. 식별키의 생성과 독출 과정에서 전도성 레이어 사이를 콘택 또는 비아가 단락시키고 있는지, 또는 전도성 라인들 사이가 단락되고 있는지는, 리드 트랜지스터(read transistor)를 이용하여 식별할 수 있으며, 이러한 과정은 도 6을 참조하여 상술한 바와 같다.
그리고, 단계(830)에서 식별키 처리부(130)는 식별키 생성부(110)가 생성한 식별키를 처리하여, 난수성이 보장되도록 한다.
이러한 식별키 처리 과정은 도 7을 참조하여 상술한 바와 같다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 식별키 생성 장치
110: 식별키 생성부
120: 식별키 독출부
130: 식별키 처리부

Claims (1)

  1. 반도체 제조 공정에서 제공되는 디자인 룰을 의도적으로 위반하여, 회로를 구성하는 노드 간의 단락여부가 확률적으로 결정될 수 있도록 함으로써 식별키를 생성하는 식별키 생성부; 및
    상기 회로를 구성하는 노드 간의 단락 여부를 독출하여 식별키를 독출하는 식별키 독출부
    를 포함하는, 식별키 생성 장치.
KR1020120028432A 2012-03-20 2012-03-20 식별키 생성 장치 및 방법 KR101663341B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120028432A KR101663341B1 (ko) 2012-03-20 2012-03-20 식별키 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120028432A KR101663341B1 (ko) 2012-03-20 2012-03-20 식별키 생성 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100125633A Division KR101139630B1 (ko) 2010-12-09 2010-12-09 식별키 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120089607A true KR20120089607A (ko) 2012-08-13
KR101663341B1 KR101663341B1 (ko) 2016-10-14

Family

ID=46874290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120028432A KR101663341B1 (ko) 2012-03-20 2012-03-20 식별키 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101663341B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101488616B1 (ko) * 2013-09-06 2015-02-06 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101504025B1 (ko) * 2013-09-06 2015-03-18 (주) 아이씨티케이 식별 키 생성 장치 및 방법
WO2015046682A1 (ko) * 2013-09-30 2015-04-02 (주) 아이씨티케이 반도체 공정을 이용한 식별키 생성 장치 및 방법
WO2015053440A1 (ko) * 2013-10-08 2015-04-16 (주) 아이씨티케이 식별 키 생성 장치 및 방법
EP3032421A4 (en) * 2013-07-26 2017-04-19 ICTK Co. Ltd. Device and method for testing randomness
EP3057031A4 (en) * 2013-10-10 2017-05-24 ICTK Co. Ltd. Apparatus and method for generating identification key
US9859228B2 (en) 2013-09-03 2018-01-02 Ictk Co., Ltd. Device and method for generating identification key
KR20190035641A (ko) * 2019-03-25 2019-04-03 주식회사 아이씨티케이 홀딩스 식별 키 생성 장치 및 방법
WO2023003319A1 (ko) * 2021-07-19 2023-01-26 한양대학교 산학협력단 공정 편차에 기초한 식별 키 생성 회로

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102071937B1 (ko) 2017-04-27 2020-01-31 김태욱 식별키 생성장치 및 식별키 생성방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010078159A (ko) * 2000-02-03 2001-08-20 이데이 노부유끼 데이터 기록방법 및 장치, 데이터 재생방법 및 장치,그리고 데이터 기록재생시스템
KR100926214B1 (ko) * 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010078159A (ko) * 2000-02-03 2001-08-20 이데이 노부유끼 데이터 기록방법 및 장치, 데이터 재생방법 및 장치,그리고 데이터 기록재생시스템
KR100926214B1 (ko) * 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3032421A4 (en) * 2013-07-26 2017-04-19 ICTK Co. Ltd. Device and method for testing randomness
US10235261B2 (en) 2013-07-26 2019-03-19 Ictk Holdings Co., Ltd. Apparatus and method for testing randomness
US9859228B2 (en) 2013-09-03 2018-01-02 Ictk Co., Ltd. Device and method for generating identification key
WO2015034145A1 (ko) * 2013-09-06 2015-03-12 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101504025B1 (ko) * 2013-09-06 2015-03-18 (주) 아이씨티케이 식별 키 생성 장치 및 방법
KR101488616B1 (ko) * 2013-09-06 2015-02-06 (주) 아이씨티케이 식별키 생성 장치 및 방법
US10224296B2 (en) 2013-09-06 2019-03-05 Ictk Holdings Co., Ltd. Device and method for generating identification key
US9984982B2 (en) 2013-09-06 2018-05-29 Ictk Co., Ltd. Device and method for generating identification key
US10002262B2 (en) 2013-09-30 2018-06-19 Ictk Co., Ltd. Device and method for generating identification key by using semiconductor process
WO2015046682A1 (ko) * 2013-09-30 2015-04-02 (주) 아이씨티케이 반도체 공정을 이용한 식별키 생성 장치 및 방법
EP3054396A4 (en) * 2013-09-30 2017-05-24 ICTK Co. Ltd. Device and method for generating identification key by using semiconductor process
WO2015053440A1 (ko) * 2013-10-08 2015-04-16 (주) 아이씨티케이 식별 키 생성 장치 및 방법
US10134691B2 (en) 2013-10-08 2018-11-20 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
EP3057032A4 (en) * 2013-10-08 2017-05-24 ICTK Co. Ltd. Apparatus and method for generating identification key
US10032729B2 (en) 2013-10-10 2018-07-24 Ictk Holdings Co., Ltd. Apparatus and method for generating identification key
EP3057031A4 (en) * 2013-10-10 2017-05-24 ICTK Co. Ltd. Apparatus and method for generating identification key
KR20190035641A (ko) * 2019-03-25 2019-04-03 주식회사 아이씨티케이 홀딩스 식별 키 생성 장치 및 방법
WO2023003319A1 (ko) * 2021-07-19 2023-01-26 한양대학교 산학협력단 공정 편차에 기초한 식별 키 생성 회로

Also Published As

Publication number Publication date
KR101663341B1 (ko) 2016-10-14

Similar Documents

Publication Publication Date Title
KR101139630B1 (ko) 식별키 생성 장치 및 방법
US11729005B2 (en) Apparatus and method for processing authentication information
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
KR20120089607A (ko) 식별키 생성 장치 및 방법
KR102178386B1 (ko) 랜덤성 테스트 장치 및 방법
KR101882289B1 (ko) 인증 정보 처리 장치 및 방법
KR102071937B1 (ko) 식별키 생성장치 및 식별키 생성방법
KR102050021B1 (ko) 식별키 유용성 판별장치

Legal Events

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