KR101663341B1 - 식별키 생성 장치 및 방법 - Google Patents
식별키 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR101663341B1 KR101663341B1 KR1020120028432A KR20120028432A KR101663341B1 KR 101663341 B1 KR101663341 B1 KR 101663341B1 KR 1020120028432 A KR1020120028432 A KR 1020120028432A KR 20120028432 A KR20120028432 A KR 20120028432A KR 101663341 B1 KR101663341 B1 KR 101663341B1
- Authority
- KR
- South Korea
- Prior art keywords
- identification key
- conductive layers
- short
- digital value
- inter
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/381—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using identifiers, e.g. barcodes, RFIDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
고도화된 정보화 사회에서는 고성능의 컴퓨터와 더불어, 임베디드 시스템(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를 식별키로 사용하기 위해서는, 첫째, 생성된 식별키의 난수성이 충분히 확보되어야 하고, 둘째, 시간의 흐름이나 사용 환경의 변화에 대하여 그 값이 변하지 않고 유지되어야 한다.
그러나, 종래의 기술들은 충분한 난수성 확보가 어렵고, 시간에 따른 물리적 특성의 변화 또는 사용 환경의 변화에 의하여, 생성된 식별키가 변화하는 문제를 해결하지 못하고 있다.
또한, 디지털 값의 형태를 갖는 식별키에서 디지털 값 0과 디지털 값 1 간의 밸런싱(balancing)이 확률적으로 보장되는 식별키 생성 장치 및 방법이 제공된다.
나아가, 제작 비용이 낮고, 제작 과정이 간단하며, 물리적으로 복제가 불가능하여 외부의 공격에 강한 PUF를 구현하는 식별키 생성 장치 및 방법이 제공된다.
일실시예에 따르면, 상기 식별키 생성부는 상기 전도성 레이어들 사이의 비아 또는 인터-레이어 컨택에 의해 단락되는지의 여부에 의해 상기 디지털 값을 생성한다. 이 경우, 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 상기 비아 또는 상기 인터-레이어 컨택의 사이즈에 의해 확률적으로 결정될 수 있다. 그리고 상기 비아 또는 상기 인터-레이어 컨택의 사이즈는 상기 반도체에 대응하는 디자인룰에서 제시된 사이즈와 상이할 수 있다. 예시적으로 상기 비아 또는 상기 인터-레이어 컨택의 사이즈는 상기 반도체에 대응하는 디자인룰에서 제시된 사이즈 보다 작다. 예시적으로, 상기 비아 또는 상기 인터-레이어 컨택의 사이즈는, 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는 확률과 단락되지 않는 확률이 임계치 이하의 차이가 되는 사이즈일 수 있다.
일실시예에 따르면, 상기 식별키 생성 장치가 제조되면서 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 고정되어 시불변이다.
일실시예에 따르면, 상기 독출부는 상기 전도성 레이어들 사이의 저항을 측정하여 측정된 저항에 따라 상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출한다.
일실시예에 따르면, 상기 식별키 생성 장치는 상기 독출한 상기 디지털 값을 가공하여 디지털 값 '0'과 디지털 값 '1'의 발생 확률을 보정하는 처리부를 더 포함할 수 있다.
다른 일측에 따르면, 식별키 생성 방법이 제시된다. 방법은, 반도체 제조 과정에서 단락 여부가 확률적으로 발생하도록 제조된 전도성 레이어들 사이가 단락되는지의 여부에 의해 디지털 값을 생성하는 식별키 생성 단계를 포함한다. 그리고 방법은 상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출하는 식별키 독출 단계를 포함한다. 여기서 상기 식별키 생성 단계는 상기 전도성 레이어들 사이의 비아 또는 인터-레이어 컨택에 의해 단락되는지의 여부에 의해 상기 디지털 값을 생성할 수 있다. 또한 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 상기 비아 또는 상기 인터-레이어 컨택의 사이즈에 의해 확률적으로 결정될 수 있다. 일실시예에 따르면, 상기 비아 또는 상기 인터-레이어 컨택의 사이즈는, 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는 확률과 단락되지 않는 확률이 임계치 이하의 차이가 되는 사이즈일 수 있다. 상기 반도체 제조 공정 이후 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 고정되어 시불변일 수 있다.
일실시예에 따르면, 상기 독출하는 단계는 상기 전도성 레이어들 사이의 저항을 측정하여 측정된 저항에 따라 상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출한다.
또한, 디지털 값의 형태를 갖는 식별키에서 디지털 값 0과 디지털 값 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 식별키 생성부
120: 식별키 독출부
130: 식별키 처리부
Claims (14)
- 반도체 제조 과정에서 발생하는 공정편차에 따라 단락 여부가 확률적으로 발생하도록 제조된 전도성 레이어들 사이가 단락되었는지의 여부에 의해 디지털 값을 생성하는 식별키 생성부; 및
상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출하는 식별키 독출부
를 포함하는 식별키 생성 장치. - 제1항에 있어서,
상기 식별키 생성부는 상기 전도성 레이어들 사이의 비아 또는 인터-레이어 컨택에 의해 단락되는지의 여부에 의해 상기 디지털 값을 생성하는 식별키 생성 장치. - 제2항에 있어서,
상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 상기 비아 또는 상기 인터-레이어 컨택의 사이즈에 의해 확률적으로 결정되는 식별키 생성 장치. - 제3항에 있어서,
상기 비아 또는 상기 인터-레이어 컨택의 사이즈는 상기 반도체에 대응하는 디자인룰에서 제시된 사이즈와 상이한 식별키 생성 장치. - 제3항에 있어서,
상기 비아 또는 상기 인터-레이어 컨택의 사이즈는, 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는 확률과 단락되지 않는 확률이 임계치 이하의 차이가 되는 사이즈인 식별키 생성 장치. - 제2항에 있어서,
상기 식별키 생성 장치가 제조되면서 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 고정되어 시불변인 식별키 생성 장치. - 제1항에 있어서,
상기 독출부는 상기 전도성 레이어들 사이의 저항을 측정하여 측정된 저항에 따라 상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출하는 식별키 생성 장치. - 제1항에 있어서,
상기 독출한 상기 디지털 값을 가공하여 디지털 값 '0'과 디지털 값 '1'의 발생 확률을 보정하는 처리부
를 더 포함하는 식별키 생성 장치. - 반도체 제조 과정에서 발생하는 공정편차에 따라 단락 여부가 확률적으로 발생하도록 제조된 전도성 레이어들 사이가 단락되었는지의 여부에 의해 디지털 값을 생성하는 식별키 생성 단계; 및
상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출하는 식별키 독출 단계
를 포함하는 식별키 생성 방법. - 제9항에 있어서,
상기 식별키 생성 단계는 상기 전도성 레이어들 사이의 비아 또는 인터-레이어 컨택에 의해 단락되는지의 여부에 의해 상기 디지털 값을 생성하는 식별키 생성 방법. - 제10항에 있어서,
상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 상기 비아 또는 상기 인터-레이어 컨택의 사이즈에 의해 확률적으로 결정되는 식별키 생성 방법. - 제11항에 있어서,
상기 비아 또는 상기 인터-레이어 컨택의 사이즈는, 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는 확률과 단락되지 않는 확률이 임계치 이하의 차이가 되는 사이즈인 식별키 생성 방법. - 제10항에 있어서,
상기 반도체 제조 과정 이후 상기 전도성 레이어들 사이가 상기 비아 또는 상기 인터-레이어 컨택에 의해 단락되는지의 여부는 고정되어 시불변인 식별키 생성 방법. - 제9항에 있어서,
상기 독출하는 단계는 상기 전도성 레이어들 사이의 저항을 측정하여 측정된 저항에 따라 상기 전도성 레이어들 사이가 단락되는지의 여부를 판단하여 상기 디지털 값을 독출하는 식별키 생성 방법.
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 KR20120089607A (ko) | 2012-08-13 |
KR101663341B1 true KR101663341B1 (ko) | 2016-10-14 |
Family
ID=46874290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120028432A Active KR101663341B1 (ko) | 2012-03-20 | 2012-03-20 | 식별키 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101663341B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018199539A1 (ko) * | 2017-04-27 | 2018-11-01 | 김태욱 | 식별키 생성장치 및 식별키 생성방법 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235261B2 (en) | 2013-07-26 | 2019-03-19 | Ictk Holdings Co., Ltd. | Apparatus and method for testing randomness |
KR101541597B1 (ko) | 2013-09-03 | 2015-08-03 | (주) 아이씨티케이 | 식별키 생성 장치 및 방법 |
KR101504025B1 (ko) * | 2013-09-06 | 2015-03-18 | (주) 아이씨티케이 | 식별 키 생성 장치 및 방법 |
KR101488616B1 (ko) | 2013-09-06 | 2015-02-06 | (주) 아이씨티케이 | 식별키 생성 장치 및 방법 |
KR101489091B1 (ko) * | 2013-09-30 | 2015-02-04 | (주) 아이씨티케이 | 반도체 공정을 이용한 식별키 생성 장치 및 방법 |
EP3057032B1 (en) * | 2013-10-08 | 2023-05-31 | ICTK Holdings Co., Ltd. | Apparatus and method for generating identification key |
KR101457305B1 (ko) | 2013-10-10 | 2014-11-03 | (주) 아이씨티케이 | 식별키 생성 장치 및 방법 |
KR102048175B1 (ko) * | 2019-03-25 | 2019-11-22 | 주식회사 아이씨티케이 홀딩스 | 식별 키 생성 장치 및 방법 |
KR102688616B1 (ko) * | 2021-07-19 | 2024-07-25 | 한양대학교 산학협력단 | 공정 편차에 기초한 식별 키 생성 방법 및 회로 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100926214B1 (ko) * | 2009-04-23 | 2009-11-09 | 한양대학교 산학협력단 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4314713B2 (ja) * | 2000-02-03 | 2009-08-19 | ソニー株式会社 | データ記録方法及び装置、データ再生方法及び装置、並びにデータ記録再生システム |
-
2012
- 2012-03-20 KR KR1020120028432A patent/KR101663341B1/ko active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100926214B1 (ko) * | 2009-04-23 | 2009-11-09 | 한양대학교 산학협력단 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018199539A1 (ko) * | 2017-04-27 | 2018-11-01 | 김태욱 | 식별키 생성장치 및 식별키 생성방법 |
US11362819B2 (en) | 2017-04-27 | 2022-06-14 | Taewook Kim | Identification key generating device and identification key generating method |
Also Published As
Publication number | Publication date |
---|---|
KR20120089607A (ko) | 2012-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10769309B2 (en) | Apparatus and method for generating identification key | |
US11729005B2 (en) | Apparatus and method for processing authentication information | |
KR101663341B1 (ko) | 식별키 생성 장치 및 방법 | |
CN106295408B (zh) | 集成电路及加密方法 | |
KR102178386B1 (ko) | 랜덤성 테스트 장치 및 방법 | |
KR20140026316A (ko) | 인증 정보 처리 장치 및 방법 | |
CN109428721B (zh) | 用于确定物理不可克隆功能电路的健康状况的方法或装置 | |
US11362819B2 (en) | Identification key generating device and identification key generating method | |
KR102050021B1 (ko) | 식별키 유용성 판별장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
PA0107 | Divisional application |
Comment text: Divisional Application of Patent Patent event date: 20120320 Patent event code: PA01071R01D Filing date: 20101209 Application number text: 1020100125633 |
|
PG1501 | Laying open of application | ||
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20121120 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20151209 Comment text: Request for Examination of Application Patent event code: PA02011R04I Patent event date: 20120320 Comment text: Divisional Application of Patent |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160120 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160830 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160929 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20160929 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20190819 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20200713 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20210629 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20220816 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20240701 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20250617 Start annual number: 10 End annual number: 10 |