KR20200130053A - 물리 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법 - Google Patents
물리 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR20200130053A KR20200130053A KR1020190095660A KR20190095660A KR20200130053A KR 20200130053 A KR20200130053 A KR 20200130053A KR 1020190095660 A KR1020190095660 A KR 1020190095660A KR 20190095660 A KR20190095660 A KR 20190095660A KR 20200130053 A KR20200130053 A KR 20200130053A
- Authority
- KR
- South Korea
- Prior art keywords
- puf
- data
- cells
- stable
- puf cells
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000013507 mapping Methods 0.000 claims abstract description 157
- 238000003860 storage Methods 0.000 claims abstract description 7
- 238000009826 distribution Methods 0.000 claims description 103
- 230000002902 bimodal effect Effects 0.000 claims description 3
- 238000011017 operating method Methods 0.000 claims 2
- 239000004065 semiconductor Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 102100037224 Noncompact myelin-associated protein Human genes 0.000 description 4
- 101710184695 Noncompact myelin-associated protein Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 101001005165 Bos taurus Lens fiber membrane intrinsic protein Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- 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
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- 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)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명의 실시 예에 따른 보안 장치는 복수의 PUF(Physical Unclonable function) 셀들을 포함하는 PUF 셀 어레이, PUF 셀 어레이를 제어하여 보안 키를 생성하도록 구성된 컨트롤러를 포함한다. 컨트롤러는 복수의 PUF 셀들 각각으로부터 로우 데이터를 수신하도록 구성된 수신기, 복수의 PUF 셀들 각각으로부터 읽어진 로우 데이터 중 불안정 데이터를 제거하여 안정 데이터를 추출하고, 복수의 PUF 셀들 중 안정 데이터와 대응하는 안정 PUF 셀들을 기반으로 매핑 테이블을 생성하도록 구성된 매핑 테이블 생성기, 매핑 테이블을 저장하도록 구성된 저장 회로, 매핑 테이블을 기반으로 안정 PUF 셀들 각각으로부터 센싱 데이터를 읽도록 구성된 PUF 셀 제어기, 및 안정 PUF 셀들 각각으로부터 읽어진 센싱 데이터를 기반으로 보안 키를 생성하도록 구성된 비트 판별기를 포함한다.
Description
본 발명은 보안 장치에 관한 것으로, 좀 더 상세하게는 PUF(physical unclonable function) 셀들을 포함하는 보안 장치 및 그것의 동작 방법에 관한 것이다.
통신 기술 및 모바일 장치와 관련된 기술에 있어서, 보안 및 암호화와 관련된 기술이 중요해지고 있다. 소프트웨어 방식에 의해 생성되는 키(key)는 해킹을 통해 유출될 수 있으므로, 최근 하드웨어 방식에 기반하는 보안 방식이 발전하고 있다.
일 예로서, 물리적 복제 방지 기능(PUF; physically unclonable function; PUF)을 갖는 반도체 장치가 개발되고 있다. PUF는 반도체 장치에서 PVT 변이(Process, Voltage, Temperature variation)에 따라 랜덤하게 고유 키를 생성하는 기능 또는 장치를 가리킨다. PUF는 PVT 변이에 따라 랜덤한 키를 생성하기 때문에, 다양한 환경 요인에 따라 키에 대한 에러가 발생할 수 있다. 이러한 에러는 PUF를 갖는 반도체 장치 또는 보안 장치의 신뢰성을 저하시키는 요인이 된다.
본 발명의 목적은 향상된 신뢰성을 갖는 PUF 셀들을 포함하는 보안 장치 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 보안 장치는 복수의 PUF(Physical Unclonable function) 셀들을 포함하는 PUF 셀 어레이, 및 상기 PUF 셀 어레이를 제어하여 보안 키를 생성하도록 구성된 컨트롤러를 포함하고, 상기 컨트롤러는 상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 수신하도록 구성된 수신기, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 불안정 데이터를 제거하여 안정 데이터를 추출하고, 상기 복수의 PUF 셀들 중 상기 안정 데이터와 대응하는 안정 PUF 셀들을 기반으로 매핑 테이블을 생성하도록 구성된 매핑 테이블 생성기, 상기 매핑 테이블을 저장하도록 구성된 저장 회로, 상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들 각각으로부터 센싱 데이터를 읽도록 구성된 PUF 셀 제어기, 및 상기 안정 PUF 셀들 각각으로부터 읽어진 상기 센싱 데이터를 기반으로 상기 보안 키를 생성하도록 구성된 비트 판별기를 포함한다.
본 발명의 실시 예에 따른 복수의 PUF(Physical Unclonable Function) 셀들을 포함하는 보안 장치의 동작 방법은 상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 읽는 단계, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 복수의 안정 데이터를 추출하는 단계, 상기 복수의 PUF 셀들 중 상기 추출된 복수의 안정 데이터와 대응하는 안정 PUF 셀들을 매핑하여 매핑 테이블을 생성하고, 상기 생성된 매핑 테이블을 저장하는 단계, 상기 복수의 PUF 셀들 중 타겟 PUF 셀을 선택하는 단계, 상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들 중 상기 선택된 타겟 PUF 셀과 대응하는 보조 PUF 셀을 선택하는 단계, 상기 타겟 PUF 셀로부터 타겟 센싱 데이터를 읽고, 상기 보조 PUF 셀로부터 보조 센싱 데이터를 읽는 단계, 및 상기 타겟 센싱 데이터 및 상기 보조 센싱 데이터를 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트 값을 결정하는 단계를 포함한다.
본 발명의 실시 예에 따른 복수의 PUF(Physical Unclonable function) 셀들을 포함하는 보안 장치의 동작 방법은 상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 읽는 단계, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터로부터 불안정 데이터를 제거하여 안정 데이터를 추출하는 단계, 상기 안정 데이터를 기반으로 매핑 테이블을 생성하고, 상기 매핑 테이블을 저장하는 단계, 상기 매핑 테이블을 기반으로 상기 복수의 PUF 셀들 중 상기 안정 데이터와 각각 대응되는 복수의 안정 PUF 셀들 각각으로부터 센싱 데이터를 읽는 단계, 및 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 센싱 데이터를 기반으로 판별 데이터를 생성하고, 상기 판별 데이터를 기반으로 보안 키를 생성하는 단계를 포함하고, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터는 제 1 분포를 갖고, 상기 안정 데이터는 상기 제1 분포와 다른 제2 분포를 갖고, 상기 판별 데이터는 상기 제1 및 제2 분포들과 다른 제3 분포를 갖는다.
본 발명의 실시 예들에 따르면, 보안 장치는 복수의 PUF(physical unclonable function) 셀들로부터 획득된 로우 데이터 중 특정 로우 데이터(예를 들어, 불안정 PUF 셀들에 대응하는 로우 데이터 또는 불안정 데이터)를 제거하고, 나머지 로우 데이터를 기반으로 PUF 셀들에 대한 매핑 테이블을 생성할 수 있다. 보안 장치는 생성된 매핑 테이블을 사용하여 PUF 키를 생성함으로써, PUF 키 판별을 위한 유효 마진을 확장할 수 있다. 따라서, 향상된 신뢰성을 갖는 PUF 셀들을 포함하는 보안 장치 및 그것의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 보안 장치를 예시적으로 보여주는 블록도이다.
도 2는 도 1의 컨트롤러를 예시적으로 보여주는 블록도이다.
도 3은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 4는 도 3의 S110 단계를 좀 더 상세하게 보여주는 순서도이다.
도 5a 내지 도 5c는 도 4의 순서도에 따른 동작을 설명하기 위한 도면들이다.
도 6a은 도 1의 PUF 셀 어레이의 복수의 PUF 셀들로부터의 로우 데이터에 대응하는 분포(distribution)를 예시적으로 보여주는 그래프이다.
도 6b는 도 6a의 분포로부터 본 발명의 실시 예에 따라 처리된 데이터의 분포를 예시적으로 보여주는 그래프들이다.
도 7은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 8은 도 1의 보안 장치의 동작을 설명하기 위한 그래프이다.
도 9는 도 1의 보안 장치의 동작을 설명하기 위한 그래프들이다.
도 10은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 보안 장치가 적용된 전자 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1의 컨트롤러를 예시적으로 보여주는 블록도이다.
도 3은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 4는 도 3의 S110 단계를 좀 더 상세하게 보여주는 순서도이다.
도 5a 내지 도 5c는 도 4의 순서도에 따른 동작을 설명하기 위한 도면들이다.
도 6a은 도 1의 PUF 셀 어레이의 복수의 PUF 셀들로부터의 로우 데이터에 대응하는 분포(distribution)를 예시적으로 보여주는 그래프이다.
도 6b는 도 6a의 분포로부터 본 발명의 실시 예에 따라 처리된 데이터의 분포를 예시적으로 보여주는 그래프들이다.
도 7은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 8은 도 1의 보안 장치의 동작을 설명하기 위한 그래프이다.
도 9는 도 1의 보안 장치의 동작을 설명하기 위한 그래프들이다.
도 10은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 보안 장치가 적용된 전자 시스템을 예시적으로 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들 및 도면에 도시된 기능 블록들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(MEMS; microelectromechanical system), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
또한, 다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서의 당업자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 보안 장치를 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 보안 장치(100)는 PUF(physical unclonable function) 셀 어레이(110) 및 컨트롤러(120)를 포함할 수 있다.
PUF 셀 어레이(110)는 복수의 PUF 셀들을 포함할 수 있다. 예시적인 실시 예에서, 복수의 PUF 셀들 각각은 트랜지스터 문턱 전압에 기반된 PUF 셀, 아비터 기반의 PUF 셀(예를 들어, 피드-포워드(feed-forward) PUF 셀, 아비터 PUF 셀들을 병렬로 배치한 XOR PUF 셀, 라이트웨이트(lightweight) PUF 셀, 등), 링 오실레이터(ring oscillator) 기반의 PUF 셀, 메모리 기반의 PUF 셀(예를 들어, SRAM(static random access memory) PUF 셀, 래치(latch) PUF 셀, 플래시 메모리 PUF 셀, 메미스터(memistor) PUF 셀), 레이저 빔 또는 열 변화에 따른 재구성 가능한(reconfigurable) PUF 셀 등과 같은 다양한 종류의 PUF 셀들 중 적어도 하나로 구현될 수 있다. 이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 복수의 PUF 셀들 각각은 트랜지스터 문턱 전압에 기반된 PUF 셀인 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 복수의 PUF 셀들 각각은 다양한 타입의 PUF 셀들로 구현될 수 있다.
예시적인 실시 예에서, PUF 셀 어레이(110)는 하나의 반도체 다이, 하나의 반도체 칩, 또는 하나의 반도체 장치로 구현될 수 있다.
복수의 PUF 셀들 각각은 서로 다른 PVT 변이를 가질 수 있다. 복수의 PUF 셀들 각각은 각각에 대응하는 PVT 변이에 따른 데이터를 출력하도록 구성될 수 있다. 예를 들어, 복수의 PUF 셀들이 동일한 반도체 공정 또는 동일한 웨이퍼 상에서 제조되더라도, 다양한 요인에 의해 서로 다른 PVT 변이를 가질 수 있다. PUF 셀로부터 읽어진 데이터는 PUF 셀의 도핑 농도, 게이트 산화막 두께, 기하적인 구조 등과 같은 다양한 요인에 의해 발생하는 PUF 셀들 각각의 미스매치 정보(예를 들어, Vgs 미스매치)와 대응될 수 있다. 즉, 제1 및 제2 PUF 셀들이 서로 동일한 반도체 공정 또는 동일한 웨이퍼 상에서 제조되더라도, 제1 PUF 셀의 데이터는 양의 극성을 갖는 반면에, 제2 PUF 셀의 데이터는 음의 극성을 가질 수 있거나, 또는 제1 PUF 셀의 데이터의 절대 값은 제2 PUF 셀의 데이터의 절대 값보다 상대적으로 클 수 있다.
예시적인 실시 예에서, 복수의 PUF 셀들 각각의 데이터는 별도의 센싱 장치 또는 테스트 장치를 사용하여 측정 또는 검출될 수 있다. 이하에서, 설명의 편의를 위하여, 복수의 PUF 셀들 각각으로부터 데이터(예를 들어, 후술되는 로우 데이터 또는 센싱 데이터)를 읽는 것으로 표현된다. 즉, 특정 PUF 셀로부터 데이터(예를 들어, 로우 데이터 또는 센싱 데이터)를 읽는 것은 별도의 센싱 장치 또는 테스트 장치를 통해 특정 PUF 셀로부터 미스매치 정보를 획득하거나 또는 특정 PUF 셀로부터 직접 미스매치 정보를 획득하는 것을 의미할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
컨트롤러(120)는 PUF 셀 어레이(110)로부터 데이터를 읽을 수 있다. 예를 들어, 컨트롤러(120)는 PUF 셀 어레이(110)에 포함된 복수의 PUF 셀들 각각으로부터 데이터를 읽기 위한 제어 신호(CTRL)를 PUF 셀 어레이(110)로 제공할 수 있다. PUF 셀 어레이(110)는 제어 신호(CTRL)에 응답하여 대응하는 PUF 셀에 대한 데이터를 출력할 수 있다.
컨트롤러(120)는 PUF 셀로부터 읽어진 데이터를 기반으로 보안 키(PUF_KEY)를 생성하도록 구성될 수 있다. 예를 들어, 컨트롤러(120)는특정 PUF 셀로부터 읽어진 데이터(RD)의 극성을 판별하고, 판별된 극성을 기반으로 보안 키(PUF_KEY)를 생성할 수 있다. 예시적인 실시 예에서, 보안 키(PUF_KEY)는 복수의 비트들을 포함할 수 있고, 복수의 비트들은 각각 PUF 셀 어레이(110)의 복수의 PUF 셀들과 대응될 수 있다. 예시적인 실시 예에서, 보안 키(PUF_KEY)에 포함된 복수의 비트들의 개수는 PUF 셀 어레이(110)의 복수의 PUF 셀들의 개수와 다를 수 있다.
예시적인 실시 예에서, 복수의 PUF 셀들 각각은 서로 다른 PVT 변이를 갖기 때문에, 특정 PUF 셀들로부터의 데이터는 다른 다양한 주변 요인(예를 들어, 동작 온도, 동작 시간, 동작 전압 등)에 의해 극성이 바뀔 수 있다. 이 경우, 특정 PUF 셀들에 대하여 판별된 비트가 달라질 수 있으며, 이로 인하여, 보안 키(PUF_KEY)의 신뢰성이 저하될 수 있다. 본 발명의 실시 예에 따른 컨트롤러(120)는 다양한 주변 요인들로 인한 비트 판별 오류를 제거하기 위하여, 획득한 데이터로부터 불안정 데이터(unstable data)를 제거하여 안정 데이터(stable data)를 추출하고; 추출된 안정 데이터를 매핑하여 매핑 테이블을 생성하고, 생성된 매핑 테이블을 기반으로 비트 판별 동작을 수행할 수 있다. 이에 따라, 보안 키(PUF_KEY)의 에러가 감소될 수 있다. 컨트롤러(120)의 매핑 테이블 생성 및 보안 키(PUF_KEY) 생성 동작 및 방법은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
도 2는 도 1의 컨트롤러를 예시적으로 보여주는 블록도이다. 이하에서, 설명의 편의를 위하여, 복수의 PUF 셀들 각각으로부터 읽어진 데이터는 로우 데이터 또는 센싱 데이터라 칭한다. 로우 데이터는 보안 장치(100)의 제조 과정에서 매핑 테이블을 생성하기 위하여 복수의 PUF 셀들 각각으로부터 읽어진 데이터를 가리키고, 센싱 데이터는 보안 장치(100)의 제조 이후에 보안 키(PUF_KEY)를 생성하기 위하여 복수의 PUF 셀들로부터 읽어진 데이터를 가리킬 수 있다. 그러나 이러한 용어들은 본 발명의 기술적 사상을 용이하게 설명하기 위한 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 설명의 편의를 위하여, 로우 데이터 및 센싱 데이터의 용어들은 상호교환적으로 사용될 수 있다.
도 1 및 도 2를 참조하면, 컨트롤러(120)는 수신기(121), 매핑 테이블 생성기(122), PUF 셀 제어기(123), 비트 판별기(124), 및 매핑 테이블(MT)을 포함할 수 있다. 수신기(121)는 복수의 PUF 셀들 각각으로부터 로우 데이터(RD)를 수신할 수 있다. 예시적인 실시 예에서, 복수의 PUF 셀들 각각으로부터 수신된 로우 데이터(RD)는 아날로그 형태의 값(예를 들어, 각 PUF 셀의 특정 인자에 대한 미스매치 값)일 수 있다. 수신기(121)는 로우 데이터(RD)를 아날로그 형태에서 디지털 형태로 변환하도록 구성된 아날로그 디지털 컨버터(ADC; analog-to-digital converter)일 수 있다.
수신기(121)는 동작 모드에 따라 변환된 로우 데이터(RD)를 매핑 테이블 생성기(122) 또는 비트 판별기(124)로 전달할 수 있다. 예를 들어, 보안 장치(100) 또는 컨트롤러(120)가 제1 동작 모드로 동작하는 경우, 수신기(121)는 변환된 로우 데이터(RD)를 매핑 테이블 생성기(122)로 전달할 수 있다. 또는 보안 장치(110) 또는 컨트롤러(120)가 제2 동작 모드로 동작하는 경우, 수신기(121)는 변환된 로우 데이터(RD)를 비트 판별기(124)로 전달할 수 있다. 예시적인 실시 예에서, 제1 동작 모드는 초기화 모드 또는 매핑 테이블(MT)을 생성 또는 갱신하기 위한 동작 모드를 가리키거나 또는 보안 장치(100)의 제조 과정에서 수행되는 동작 모드를 가리킬 수 있다. 제2 동작 모드는 보안 키(PUF_KEY)를 생성하기 위한 동작 모드를 가리킬 수 있다.
예시적인 실시 예에서, 보안 장치(100) 또는 컨트롤러(120)의 동작 모드는 본 발명의 실시 예를 용이하게 설명하기 위한 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 수신기(121)는 변환된 로우 데이터(RD)를 비트 판별기(124) 및 매핑 테이블 생성기(122)로 함께 전달할 수 있다.
매핑 테이블 생성기(122)는 수신기(121)로부터 로우 데이터(RD)를 수신할 수 있다. 매핑 테이블 생성기(122)는 로우 데이터(RD)를 기반으로 매핑 테이블(MT)을 생성할 수 있다.
예를 들어, 매핑 테이블 생성기(122)는 추출부(122a) 및 매핑부(122b)를 포함할 수 있다. 추출부(122a)는 수신기(121)로부터 수신된 로우 데이터(RD) 중 안정 데이터를 추출할 수 있다. 좀 더 상세한 예로서, 추출부(122a)는 PUF 셀 어레이(110)의 복수의 PUF 셀들 각각에 대한 로우 데이터(RD)를 수신할 수 있다. 추출부(122a)는 로우 데이터(RD)를 기반으로 복수의 PUF 셀들 각각을 복수의 그룹들로 분할 수 있다. 추출부(122a)는 복수의 그룹들 중 특정 그룹에 대응하는 PUF 셀들(또는 그것들에 대한 정보)를 제거(discard)할 수 있다.
예시적인 실시 예에서, 제거될 특정 그룹에 대응하는 PUF 셀들은 불안정 PUF 셀들(unstable PUF cells)일 수 있다. 즉, 특정 그룹에 대응하는 PUF 셀들에 대한 정보는 불안정 데이터를 가리킬 수 있고, 나머지 데이터는 안정 데이터를 가리킬 수 있다. 불안정 데이터는 다양한 주변 요인에 의해 극성이 변경될 가능성이 상대적으로 높은 로우 데이터를 가리킬 수 있고, 안정 데이터는 다양한 주변 요인에 의해 극성이 변경될 가능성이 상대적으로 낮은 로우 데이터를 가리킬 수 있다. 다시 말해서, 추출부(122a)는 획득한 로우 데이터(RD) 중 불안정 데이터를 제거(discard)함으로써, 안정 데이터를 추출할 수 있다.
매핑부(122b)는 추출된 안정 데이터(즉, 특정 그룹에 포함되지 않은 PUF 셀들에 대응하는 로우 데이터)를 기반으로 매핑 테이블(MT)을 생성할 수 있다. 예시적인 실시 예에서, 매핑 테이블(MT)은 미리 정해진 규칙에 따라 매핑된 2개의 PUF 셀들의 매핑 정보를 포함할 수 있다. 예시적인 실시 예에서, 미리 정해진 규칙은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
예시적인 실시 예에서, 매핑 테이블(MT)이 별도의 저장 회로에 저장된 이후에, 매핑 테이블 생성기(122a)는 복수의 로우 데이터를 제거할 수 있다.
예시적인 실시 예에서, 매핑 테이블(MT)은 하나의 반도체 칩, 하나의 반도체 다이, 또는 하나의 반도체 장치로 구현된 하나의 PUF 셀 어레이(110)에 포함된 복수의 PUF 셀들을 기반으로 생성될 수 있다.
PUF 셀 제어기(123)는 매핑 테이블(MT)을 기반으로 PUF 셀 어레이(110)의 복수의 PUF 셀들 각각을 제어하기 위한 제어 신호(CTRL)를 출력할 수 있다. 예를 들어, 매핑 테이블(MT)이 제1 PUF 셀 및 제2 PUF 셀 사이의 매핑 정보를 포함하고, 제1 PUF 셀이 타겟 PUF 셀로 선택된 것으로 가정한다. 이 경우, PUF 셀 제어기(123)는 PUF 셀 어레이(110)의 복수의 PUF 셀들 중 타겟 PUF 셀인 제1 PUF 셀 및 타겟 PUF 셀과 대응하는 제2 PUF 셀로부터 각각 2개의 센싱 데이터가 획득되도록 제어 신호(CTRL)를 출력할 수 있다.
제1 및 제2 PUF 셀들에 대응하는 2개의 센싱 데이터는 수신기(121)에 의해 수신될 수 있고, 수신기(121)는 2개의 센싱 데이터를 비트 판별기(124)로 전달할 수 있다. 예시적인 실시 예에서, 수신기(121)는 2개의 센싱 데이터를 각각 디지털 신호로 변환하여 비트 판별기(124)로 제공할 수 있다.
비트 판별기(124)는 2개의 센싱 데이터를 기반으로 제1 PUF 셀에 대한 타겟 비트를 결정할 수 있다. 예를 들어, 비트 판별기(124)는, 2개의 센싱 데이터 중 타겟 PUF 셀인 제1 PUF 셀에 대응하는 센싱 데이터의 크기(또는 값)가 나머지 센싱 데이터보다 큰 경우, 제1 PUF 셀에 대한 타겟 비트의 값을 "비트 1"로 결정할 수 있고, 타겟 PUF 셀인 제1 PUF 셀에 대응하는 센싱 데이터의 크기(또는 값)가 나머지 로우 데이터보다 작은 경우, 제1 PUF 셀에 대한 타겟 비트의 값을 "비트 0"으로 결정할 수 있다.
또는 비트 판별기(124)는 2개의 센싱 데이터를 기반으로 판별 데이터를 생성할 수 있다. 예를 들어, 비트 판별기(124)는 제1 PUF 셀에 대응하는 센싱 데이터로부터 제2 PUF 셀에 대응하는 센싱 데이터를 뺌으로써, 판별 데이터를 생성할 수 있다. 비트 판별기(124)는 판별 데이터의 극성을 기반으로 제1 PUF 셀에 대한 타겟 비트의 값을 결정할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 비트 판별 방법은 다양하게 변형될 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 보안 장치(100)는 복수의 PUF 셀들 각각에 대한 로우 데이터를 기반으로 매핑 테이블(MT)을 생성할 수 있다. 이 때, 보안 장치(100)는 특정 그룹에 포함된 PUF 셀들과 대응하는 로우 데이터(즉, 불안정 데이터)를 로우 데이터(RD)로부터 제거함으로써, 안정 데이터를 추출할 수 있다. 보안 장치(100)는 추출된 안정 데이터를 기반으로 특정 그룹에 포함되지 않은 나머지 PUF 셀들에 대한 매핑 테이블을 생성하고, 생성된 매핑 테이블을 이용하여 각 PUF 셀에 대응하는 타겟 비트를 결정할 수 있고, 결정된 타겟 비트들을 기반으로 보안 키(PUF_KEY)를 생성할 수 있다. 따라서, 보안 장치(100)에 의해 생성된 보안 키(PUF_KEY)의 신뢰성이 향상될 수 있다.
도 3은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다. 도 1 내지 도 3을 참조하면, S110 단계에서, 보안 장치(100)는 복수의 PUF 셀들의 로우 데이터(RD)를 기반으로 매핑 테이블(MT)을 생성할 수 있다. 예를 들어, 매핑 테이블 생성기(122)는 복수의 PUF 셀들로부터 획득된 로우 데이터를 기반으로 매핑 테이블(MT)을 생성할 수 있다. S110 단계의 동작은 도 4, 도 5a, 5b, 및 5c를 참조하여 더욱 상세하게 설명된다.
S120 단계에서, 보안 장치(100)는 매핑 테이블(MT)을 기반으로 PUF 키를 생성할 수 있다. 예를 들어, 컨트롤러(120)는 복수의 PUF 셀들 중 타겟 PUF 셀(예를 들어, 제1 PUF 셀)을 선택할 수 있다. 컨트롤러(120)는 매핑 테이블(MT)을 기반으로 타겟 PUF 셀인 제1 PUF 셀, 및 제1 PUF 셀과 매핑된 제2 PUF 셀 각각으로부터 센싱 데이터가 읽어지도록 PUF 셀 어레이(110)를 제어할 수 있다. 비트 판별기(124)는 제1 및 제2 PUF 셀들로부터 읽어진 2개의 센싱 데이터를 기반으로 타겟 PUF 셀인 제1 PUF 셀에 대응하는 타겟 비트를 결정할 수 있다. 컨트롤러(120)는 복수의 PUF 셀들 각각에 대하여 상술된 타겟 비트 결정 동작을 반복 수행함으로써, 복수의 타겟 비트들을 결정할 수 있고, 결정된 복수의 타겟 비트들을 조합함으로써, 보안 키(PUF_KEY)를 생성할 수 있다.
도 4는 도 3의 S110 단계를 좀 더 상세하게 보여주는 순서도이다. 도 5a 내지 도 5c는 도 4의 순서도에 따른 동작을 설명하기 위한 도면들이다. 설명의 편의를 위하여, 이하에서, PUF 셀 어레이(110)는 제1 내지 제256 PUF 셀들(PUF001~PUF256)(즉, 256개의 PUF 셀들)을 포함하는 것으로 가정한다. 또한, 제1 내지 제256 PUF 셀들(PUF001~PUF256) 각각의 참조 번호는 각각의 PUF 셀을 가리키거나 또는 각각의 PUF 셀의 물리적 위치를 가리키는 PUF 어드레스(PUF_ADDR)를 의미할 수 있다. 제1 내지 제256 PUF 셀들(PUF001~PUF256)은 각각의 PVT 변이에 따라 서로 다른 로우 데이터(RD)를 출력하는 것으로 가정한다.
설명의 편의를 위하여, 도 4의 순서도에 따른 동작은 도 1의 보안 장치(100)를 기준으로 설명된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 본 발명의 실시 예에 따른 동작은 보안 장치(100), 컨트롤러(120), 또는 다른 구성 요소들에 의해 수행될 수 있다.
도 1 내지 도 4를 참조하면, 보안 장치(100)는 S111 단계 내지 S115 단계의 동작들을 수행하여 매핑 테이블(MT)을 생성할 수 있다. 예를 들어, S111 단계에서, 보안 장치(100)는 복수의 PUF 셀들 각각에 대한 로우 데이터(RD)를 획득할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 컨트롤러(120)의 수신기(121)는 복수의 PUF 셀들(PUF001~PUF256) 각각에 대한 로우 데이터(RD001~RD256)를 수신할 수 있다.
좀 더 상세한 예로서, 도 5a에 도시된 바와 같이, 수신기(121)는 제1 내지 제3 PUF 셀들(PUF001~PUF003)로부터 각각 제192, 제65, 및 제1 로우 데이터(RD192, RD065, RD001)를 수신할 수 있고, 제124 내지 제126 PUF 셀들(PUF124~PUF126)로부터 각각 제64, 제129, 및 제256 로우 데이터(RD064, RD129, RD256)를 수신할 수 있고, 제255 및 제256 PUF 셀들(PUF255, PUF256)로부터 각각 제128 및 제193 로우 데이터(RD128, RD193)를 수신할 수 있다. 도면의 간결성을 위하여, 일부 PUF 셀들만 도 5a에 도시되어 있으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 수신기(121)는 나머지 PUF 셀들 각각에 대한 로우 데이터(RD)를 수신할 수 있다. 예시적인 실시 예에서, 수신된 로우 데이터는 아날로그 값일 수 있으며, 수신기(121)는 수신된 로우 데이터를 디지털 형태로 변환하도록 구성될 수 있다.
예시적인 실시 예에서, 컨트롤러(120)의 매핑 테이블 생성기(122)는 수신된 로우 데이터를 기반으로 도 5a에 도시된 바와 같은 리스트(LT)를 생성할 수 있다. 리스트(LT)는 복수의 PUF 셀들의 PUF 셀 어드레스(PUF_ADDR) 및 대응하는 로우 데이터의 값을 포함할 수 있다. 예시적인 실시 예에서, 설명의 편의를 위하여 로우 데이터 각각의 참조 번호는 로우 데이터의 크기 순서에 따라 기재되어 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예시적인 실시 예에서, 적어도 2개의 PUF 셀들의 적어도 2개의 로우 데이터는 서로 동일한 값을 가질 수 있다.
S112 단계에서, 보안 장치(100)는 로우 데이터를 기반으로 복수의 PUF 셀들을 복수의 그룹들로 분할할 수 있다. 예를 들어, 도 5a에 도시된 바와 같이, 컨트롤러(120) 매핑 테이블 생성기(122)는 생성된 리스트(LT)를 로우 데이터(RD)의 크기 순으로 정렬하여, 정렬된 리스트(LT_s)를 생성할 수 있다. 매핑 테이블 생성기(122)는 정렬된 리스트(LT_s) 및 기준 값들을 기반으로 복수의 PUF 셀들(PUF001~PUF256)을 복수의 그룹들로 분할할 수 있다.
좀 더 상세한 예로서, 도 5a에 도시된 바와 같이, 복수의 PUF 셀들(PUF001~PUF256)은 기준 값들(+a1, -a1)을 기반으로, 제0, 제1, 및 제2 그룹들(GR0, GR1, GR2)로 각각 분할될 수 있다. 예를 들어, 제1 양 기준 값(+a1)(first positive reference value)보다 큰 로우 데이터(예를 들어, RD001~RD064)와 대응되는 PUF 셀들은 제1 그룹(GR1)으로 분할될 수 있다. 제1 음 기준 값(-a1)(first negative reference value)보다 작은 로우 데이터(예를 들어, RD192~RD256)와 대응되는 PUF 셀들은 제2 그룹(GR2)으로 분할될 수 있다. 제1 양 기준 값(+a1)보다 작고, 제1 음 기준 값(-a1)보다 큰 로우 데이터(예를 들어, RD065~RD192)를 갖는 PUF 셀들은 제0 그룹(GR0)으로 분할될 수 있다.
이 때, 제0 그룹(GR0)에 대응하는 PUF 셀들은 불안정 PUF 셀들일 수 있고, 제1 그룹(GR1)에 대응하는 PUF 셀들은 제1 안정 PUF 셀들일 수 있고, 제2 그룹(GR2)에 대응하는 PUF 셀들은 제2 안정 PUF 셀들일 수 있다. 다시 말해서, 제0 그룹(GR0)에 대응하는 불안정 PUF 셀들로부터 읽어진 로우 데이터 각각의 절대 값은 기준 값보다 작을 수 있다. 이 경우, 불안정 PUF 셀들은 온도, 동작 시간, 동작 전압 등과 같은 다양한 외부 또는 내부 요인에 의해 센싱 데이터의 극성이 변경될 가능성이 높은 PUF 셀들을 가리킬 수 있다. 즉, 불안정 PUF 셀들로부터 읽어진 센싱 데이터는 오류를 포함할 가능성이 높을 수 있다.
예시적인 실시 예에서, 기준 값들(+a1, -a1)은 다양한 방식으로 결정될 수 있다. 예를 들어, 기준 값들(+a1, -a1)은 PUF 셀들의 개수를 기반으로 결정될 수 있다. 즉, 제1 양 기준 값(+a1)은 제1 그룹(GR1)에 포함된 PUF 셀들의 개수가 전체 PUF 셀들의 개수의 25%가 되도록 결정될 수 있고, 제1 음 기준 값(-a1)은 제2 그룹(GR2)에 포함된 PUF 셀들의 개수가 전체 PUF 셀들의 개수의 25%가 되도록 결정될 수 있다. 이 경우, 제0 그룹(GR0)에 포함된 PUF 셀들의 개수는 전체 PUF 셀들의 개수의 50%일 것이다. 상술된 수치는 본 발명의 기술적 사상을 용이하게 설명하기 위한 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.
예시적인 실시 예에서, 기준 값들(+a1, -a1)은 제1 그룹(GR1)에 포함된 PUF 셀들의 로우 데이터 및 제2 그룹(GR2)에 포함된 PUF 셀들의 로우 데이터 사이의 거리를 기반으로 결정될 수 있다. 예시적인 실시 예에서, 기준 값들(+a1, -a1)에 따라, 보안 장치(100)로부터 생성되는 보안 키(PUF_KEY)의 신뢰성이 달라질 수 있다.
S113 단계에서, 보안 장치(100)는 특정 그룹에 대응하는 PUF 셀들(또는 PUF 셀들의 로우 데이터)을 제거(discard)할 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 매핑 테이블 생성기(122)는 정렬된 리스트(LT_s)로부터 특정 그룹에 대한 정보(즉, 불안정 데이터)가 제거된 리스트(LT_d)(이하에서, "제거 리스트(discard list)"라 칭함.)를 생성할 수 있다. 즉, 정렬된 리스트(LT_s)로부터 제0 그룹(GR0)에 포함된 PUF 셀들에 대한 정보(즉, 불안정 데이터)가 제거됨으로써, 제거 리스트(LT_d)가 생성될 수 있다. 이 경우, 제거 리스트(LT_d)는 제1 그룹(GR1) 및 제2 그룹(GR2)에 포함된 PUF 셀들에 대한 정보(즉, PUF 어드레스 및 로우 데이터)만 유지될 것이다. 다시 말해서, 제거 리스트(LT_d)는 안정 데이터와 관련된 PUF 셀들의 어드레스 및 로우 데이터만 포함할 것이다.
예시적인 실시 예에서, S112 단계 내지 S113 단계의 동작들은 앞서 설명된 컨트롤러(120)의 매핑 테이블 생성기(122)의 추출부(122a)에 의해 수행될 수 있다. 즉, S112 단계 내지 S113 단계의 동작들을 통해 로우 데이터(RD)로부터 안정 데이터가 추출될 수 있다.
S114 단계에서, 보안 장치(100)는 남은 로우 데이터(즉, 안정 데이터)를 기반으로 PUF 셀들을 매핑시킬 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 제거 리스트(LT_d)는 제1 그룹(GR1) 및 제2 그룹(GR2)에 포함된 PUF 셀들(즉, 제1 및 제2 안정화 PUF 셀들)에 대한 정보(즉, 안정 데이터)만 포함할 것이다. 매핑 테이블 생성기(122)는 제거 리스트(LT_d)를 기반으로 제1 그룹(GR1)의 PUF 셀들을 제2 그룹(GR2)의 PUF 셀들과 매핑시킬 수 있다.
좀 더 상세한 예로서, 도 5b 및 도 5c에 도시된 바와 같이, 제1 그룹(GR1)의 PUF 셀들 중 가장 큰 로우 데이터(예를 들어, RD001)와 대응되는 PUF 셀(예를 들어, PUF003)은 제2 그룹(GR2)의 PUF 셀들 중 가장 큰 로우 데이터(예를 들어, RD193)와 대응되는 PUF 셀(예를 들어, PUF256)과 매핑될 수 있다. 제1 그룹(GR1)의 PUF 셀들 중 가장 작은 로우 데이터(예를 들어, RD064)와 대응되는 PUF 셀(예를 들어, PUF124)은 제2 그룹(GR2)의 PUF 셀들 중 가장 작은 로우 데이터(예를 들어, RD256)과 대응되는 PUF 셀(예를 들어, PUF126)과 매핑될 수 있다. 즉, 각각의 로우 데이터의 크기를 기반으로, 제1 그룹(GR1)에 포함된 PUF 셀들 및 제2 그룹(GR2)에 포함된 PUF 셀들이 1:1 매핑될 수 있다.
S115 단계에서, 보안 장치(100)는 매핑 결과를 기반으로 매핑 테이블(MT)을 저장할 수 있다. 예를 들어, 매핑 테이블 생성기(122)는 상술된 매핑 동작을 통해 매핑 테이블(MT)을 생성할 수 있다. 매핑 테이블(MT)은 제1 그룹(GR1)에 포함된 PUF 셀들 및 제2 그룹(GR2)에 포함된 PUF 셀들의 매핑 정보를 포함할 수 있다. 도 5c에 도시된 바와 같이, 매핑 테이블(MT)의 제1 인덱스(ID01)는 제1 그룹(GR1)의 제3 PUF 셀(PUF003) 및 제2 그룹(GR2)의 제256 PUF 셀(PUF256) 사이의 매핑 정보를 포함할 수 있고, 제64 인덱스(ID64)는 제1 그룹(GR1)의 제124 PUF 셀(PUF123) 및 제2 그룹(GR2)의 제126 PUF 셀(PUF124) 사이의 매핑 정보를 포함할 수 있다. 생성된 매핑 테이블(MT)은 별도의 저장 회로 또는 불휘발성 메모리에 저장될 수 있다. 예시적인 실시 예에서, 매핑 테이블(MT)은 복수의 PUF 셀들 각각에 대한 로우 데이터(RD)에 대한 정보를 포함하지 않을 것이다. 예를 들어, 도 5c에 도시된 바와 같이, 매핑 테이블(MT)은 1:1 매핑된 PUF 셀들에 대한 물리적 어드레스 정보만 포함할 수 있다. 예시적인 실시 예에서, 매핑 테이블(MT)이 생성된 이후에, 복수의 PUF 셀들로부터 읽어진 로우 데이터(RD)는 제거될 수 있다.
예시적인 실시 예에서, S114 단계 및 S115 단계의 동작들은 도 2의 컨트롤러(110)의 매핑 테이블 생성기(122)의 매핑부(122b)에 의해 수행될 수 있다.
예시적인 실시 예에서, PUF 셀 제어기(123)는 매핑 테이블(MT)을 기반으로 PUF 셀 어레이(110)를 제어할 수 있다. 예를 들어, 제3 PUF 셀(PUF003)에 대응하는 비트 판별이 요구되는 경우, PUF 셀 제어기(123)는 제3 PUF 셀(PUF003)을 타겟 PUF 셀로 선택할 수 있고, 제3 PUF 셀(PUF003)로부터 센싱 데이터가 읽어지도록 PUF 셀 어레이(110)를 제어할 수 있다. 이와 함께, PUF 셀 제어기(123)는 매핑 테이블(MT)을 기반으로 타겟 PUF 셀인 제3 PUF 셀(PUF003)과 매핑된 제256 PUF 셀(PUF256)로부터 센싱 데이터가 읽어지도록 PUF 셀 어레이(110)를 제어할 수 있다.
타겟 PUF 셀인 제3 PUF 셀(PUF003) 및 타겟 PUF 셀과 매핑된 제256 PUF 셀(PUF256)로부터 각각 읽어진 2개의 센싱 데이터는 비트 판별기(124)로 제공될 수 있다. 비트 판별기(124)는 2개의 센싱 데이터를 기반으로 타겟 PUF 셀인 제3 PUF 셀(PUF003)에 대한 판별 데이터를 생성할 수 있다. 예를 들어, 제3 PUF 셀(PUF003)에 대한 판별 데이터는 제3 PUF 셀(PUF003)의 센싱 데이터로부터, 매핑된 제256 PUF 셀(PUF256)의 센싱 데이터을 뺀 값일 수 있다. 비트 판별기(124)는 제3 PUF 셀(PUF003)에 대한 판별 데이터를 기반으로 제3 PUF 셀(PUF003)에 대한 타겟 비트의 값을 판별할 수 있다.
예시적인 실시 예에서, 다양한 주변 요인으로 인하여, 제3 및 제256 PUF 셀들(PUF003, PUF256)로부터 각각 읽어진 2개의 센싱 데이터의 값들은 매핑 과정을 설명하기 위해 언급된 로우 데이터(RD001, RD193)와 다를 수 있다. 그러나 특정 조건에 따라 서로 매핑된 2개의 PUF 셀들로부터의 센싱 데이터를 기반으로 생성된 판별 데이터가 생성되고, 생성된 판별 데이터를 사용하여 특정 PUF 셀에 대한 타겟 비트가 판독되기 때문에, 다양한 환경 요인으로 인한 PUF 셀들로부터의 타겟 비트 값의 변화(즉, 오류)가 감소될 수 있다.
예시적인 실시 예에서, 본 발명의 실시 예들의 구현 방식에 따라, 매핑 테이블(MT)의 인덱스들의 개수는 다양하게 변형될 수 있다. 예를 들어, PUF 셀 어레이(110)에 포함된 전체 PUF 셀들의 개수가 "n"개(단, n은 양의 정수)이고, "k"(단, k는 n보다 작은 양의 정수)개의 PUF 셀들이 제거되는 경우, 매핑 테이블(MT)의 인덱스들의 개수는 "(n-k)/2"개일 수 있다. 즉, 작은 용량의 매핑 테이블(MT)을 사용하여 보안 장치(100)의 전체적인 오류가 개선될 수 있다.
도 5a 내지 도 5c를 참조하여 설명된 매핑 테이블 생성 방법 또는 과정은 본 발명의 실시 예를 용이하게 설명하기 위한 예시적인 것들이며, 본 발명의 범위가 이에 한정되지 않음은 잘 이해될 것이다.
도 6a은 도 1의 PUF 셀 어레이의 복수의 PUF 셀들로부터의 로우 데이터에 대응하는 분포(distribution)를 예시적으로 보여주는 그래프이다. 도 6b는 도 6a의 분포로부터 본 발명의 실시 예에 따라 처리된 데이터의 분포를 예시적으로 보여주는 그래프들이다. 예시적인 실시 예에서, 도 6a 및 도 6b의 그래프들의 가로축들은 로우 데이터의 크기를 가리키고, Y축은 PUF 셀들의 개수를 가리킬 수 있다.
예시적인 실시 예에서, 복수의 PUF 셀들로부터 획득된 로우 데이터(또는 센싱 데이터)는 특정한 분포를 가질 수 있다. 예를 들어, 복수의 PUF 셀들로부터 획득된 로우 데이터(또는 센싱 데이터)는 기준점(예를 들어, "0")을 기준으로 양측이 대칭된 정규 분포 또는 가우시안 분포의 특성을 가질 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 즉, 기준점(0)을 기준으로 우측의 PUF 셀들의 로우 데이터(또는 센싱 데이터)는 양의 값(positive value) 또는 양의 극성(positive polarity)를 가질 수 있고, 기준점(0)을 기준으로 좌측의 PUF 셀들의 로우 데이터(또는 센싱 데이터)는 음의 값(negative value) 또는 음의 극성(negative polarity)를 가질 수 있다.
일반적으로 PUF 셀로부터의 센싱 데이터의 극성을 기준으로 PUF 셀에 대한 타겟 비트의 값이 판별될 수 있다. 그러나 다양한 주변 요인들(예를 들어, 온도, 동작 시간, 동작 전압 등)에 따라, 센싱 데이터의 값이 변동될 수 있다. 이 때, 기준점(0)과 인접한 센싱 데이터에서 다양한 주변 요인들에 의해 극성이 바뀔 수 있다. 이 경우, 센싱 데이터의 값의 변동에 의해 의도하지 않은 비트가 판별될 수 있고, 이는 보안 장치의 전체적인 에러를 증가시키는 요인이 된다.
본 발명의 실시 예에 따른 보안 장치(100)는, 앞서 설명된 바와 같이, 기준 값들을 기반으로, 복수의 PUF 셀들을 복수의 그룹들로 분할할 수 있다. 예를 들어, 보안 장치(100)는 복수의 PUF 셀들로부터 로우 데이터(RD)를 획득할 수 있다. 로우 데이터(RD)는 도 6a에 도시된 바와 같은 제1 분포(DB1)를 가질 수 있다. 예시적인 실시 예에서, 제1 분포(DB1)는 이상적인 경우 정규 분포 또는 가우시안 분포일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
보안 장치(100)는 제1 분포(DB1)에서, 제1 양 기준 값(+a1)보다 큰 로우 데이터에 대응하는 PUF 셀들을 제1 그룹(GR1)으로 분할하고, 제1 음 기준 값(-a1)보다 작은 로우 데이터에 대응하는 PUF 셀들을 제2 그룹(GR2)으로 분할하고, 제1 양 기준 값(+a1)보다 작고, 제1 음 기준 값(-a1)보다 큰 로우 데이터에 대응하는 PUF 셀들을 제0 그룹(GR0)으로 분할할 수 있다.
앞서 설명된 바와 같이, 제1 그룹(GR1)에 포함된 PUF 셀들로부터 읽어진 센싱 데이터는 양의 극성을 가질 것이다. 이 때, 제1 그룹(GR1)에 제1 그룹(GR1)에 포함된 PUF 셀들에 대응하는 센싱 데이터는 기준점(0)으로부터 상대적으로 멀리 떨어져 있으므로, 다양한 주변 요인에 의해 극성이 전환될 확률이 낮을 것이다. 마찬가지로, 제2 그룹(GR2)에 포함된 PUF 셀들로부터 읽어진 센싱 데이터는 음의 극성을 갖고, 기준점(0)으로부터 상대적으로 멀리 떨어져 있으므로, 다양한 주변 요인에 의해 극성이 전환될 확률이 낮을 것이다. 다시 말해서, 제1 및 제2 그룹들(GR1, GR2)에 포함된 PUF 셀들은 안정 PUF 셀들일 수 있다.
반면에, 제0 그룹(GR0)에 포함된 PUF 셀들로부터 읽어진 센신 데이터는 양의 극성 또는 음의 극성을 가질 수 있다. 이 때, 제0 그룹(GR0)에 포함된 PUF 셀들로부터 읽어진 센싱 데이터는 기준점(0)으로부터 상대적으로 가깝기 때문에(다시 말해서, 센싱 데이터의 절대 값이 상대적으로 작기 때문에), 다양한 주변 요인들에 의해 극성이 바뀔 확률이 높을 것이다. 즉, 제0 그룹(GR0)에 포함된 PUF 셀들은 불안정 PUF 셀들일 수 있다.
본 발명의 실시 예에 따른 보안 장치(100)는 제1 분포(DB1)에서, 제0 그룹(GR0)에 포함된 PUF 셀들(즉, 불안정 PUF 셀들)에 대응하는 로우 데이터를 제거하고, 나머지 로우 데이터를 매핑함으로써, 매핑 테이블을 생성하도록 구성될 수 있다. 다시 말해서, 보안 장치(100)는 안정 PUF 셀들에 대응하는 로우 데이터(즉, 안정 데이터)를 기반으로 매핑 테이블을 생성할 수 있다. 안정 PUF 셀들을 기반으로 생성된 매핑 테이블을 사용하여, PUF 키(PUF_KEY)가 생성될 경우, 극성 사이의 유효 마진이 증가하기 때문에, 보안 장치(100)의 신뢰성이 향상될 수 있다.
예를 들어, 도 6b에 도시된 바와 같이, 제1 분포(DB1)로부터 제0 그룹(GR0)에 포함된 PUF 셀들(즉, 불안정 PUF 셀들)에 대응하는 로우 데이터가 제거된 경우, 나머지 로우 데이터(즉, 안정 데이터)는 제2 분포(DB2)를 가질 수 있다. 예시적인 실시 예에서, 제2 분포(DB2)는 쌍봉 분포(bimodal distribution)일 수 있다. 이 때, 기준점(0)의 양측에 위치한 로우 데이터 사이의 유효 마진은 "+a1-(-a1)=2a1"일 수 있다.
반면에, 본 발명의 실시 예에 따라 생성된 매핑 테이블(MT)을 사용하여 생성된 판별 데이터는 제3 분포(DB3)를 가질 수 있다. 예를 들어, 매핑 테이블(MT)을 사용하여 생성된 판별 데이터는 타겟 PUF 셀의 센싱 데이터 및 타겟 PUF 셀과 매핑된 다른 PUF 셀의 센싱 데이터를 기반으로 생성된 데이터일 수 있다. 이는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 예시적인 실시 예에서, 제3 분포(DB3)는 쌍봉 분포(bimodal distribution)일 수 있다. 제3 분포(DB3)에서 각 극성에 대응하는 데이터 사이의 유효 마진은 "+a2-(-a2)=2a2"일 수 있다. 이 때, "a2"의 절대 값은 "a1"의 절대 값보다 클 수 있다.
즉, 본 발명의 실시 예에 따른 보안 장치(100)는 복수의 PUF 셀들의 로우 데이터 및 기준 값들을 기반으로 복수의 PUF 셀들을 복수의 그룹들로 분할하고, 복수의 그룹들 중 특정 그룹에 포함된 PUF 셀들(또는 그것들에 대응하는 로우 데이터)를 제거(discard)할 수 있다. 또는 보안 장치(100)는 복수의 PUF 셀들의 로우 데이터 및 기준 값들을 기반으로 안정 데이터를 추출할 수 있다. 보안 장치(100)는 제거되지 않은 로우 데이터 또는 추출된 안정 데이터를 기반으로 나머지 PUF 셀들(즉, 안정 PUF 셀들)을 서로 매핑하여 매핑 테이블(MT)을 생성할 수 있다. 보안 장치(100)는 생성된 매핑 테이블(MT)을 사용하여 복수의 PUF 셀들(특히, 안정 PUF 셀들)에 대한 타겟 비트를 판별하고, 판별된 타겟 비트들을 조합하여 보안 키(PUF_KEY)를 생성할 수 있다. 이 경우, 앞서 설명된 바와 같이, 각 극성 사이의 유효 마진이 증가함에 따라, 타겟 비트들의 에러율이 감소될 수 있다. 따라서, 보안 장치(100)의 신뢰성이 향상될 수 있다. 또한, 보안 장치(100) 상대적으로 작은 크기의 매핑 테이블만 유지하면 되므로, 매핑 테이블을 저장하기 위한 별도의 회로로 인한 비용 증가가 감소될 수 있다.
도 7은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다. 예시적인 실시 예에서, 보안 장치(100)를 참조하여 도 7의 순서도가 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니며, 도 7의 순서도는 다양한 다른 구성 요소들에 의해 수행될 수 있다.
도 1, 도 2, 및 도 7을 참조하면, S211 단계에서, 보안 장치(100)는 복수의 PUF 셀들에 각각 대한 로우 데이터를 읽을 수 있다. 예시적인 실시 예에서, S211 단계에서 읽어지는, 복수의 PUF 셀들에 대한 로우 데이터는 제1 분포(DB1)(도 6a 참조)를 가질 수 있다. 예시적인 실시 예에서, 제1 분포(DB1)는 이상적인 상황에서 정규 분포 또는 가우시안 분포일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
S212 단계에서, 보안 장치(100)는 읽은 로우 데이터로부터 불안정 데이터를 제거함으로써, 안정 데이터를 추출할 수 있다. 예를 들어, 보안 장치(100)는 도 6a에 도시된 바와 같이, 복수의 PUF 셀들을 복수의 그룹들(GR0, GR1, GR2)로 분할할 수 있다. 보안 장치(100)는 복수의 그룹들(GR0, GR1, GR2) 중 특정 그룹(예를 들어, 제0 그룹(GR0))에 포함된 PUF 셀들(또는 불안정 PUF 셀들)에 대응하는 로우 데이터를 제1 분포(DB1)로부터 제거할 수 있다. 이 경우, 제1 및 제2 그룹들(GR1, GR2)에 포함된 PUF 셀들(즉, 안정 PUF 셀들)에 대응하는 로우 데이터만 남게 되며, 남은 로우 데이터의 분포는 도 6b의 제2 분포(DB2)와 같을 수 있다.
S213 단계에서, 보안 장치(100)는 안정 데이터를 기반으로 매핑 테이블(MT)을 생성할 수 있다. 예를 들어, 보안 장치(100)는 도 6b에 도시된 바와 같이, 제2 분포(DB2)에서, 제1 그룹(GR1)에 대응하는 PUF 셀들 및 제2 그룹(GR2)에 대응하는 PUF 셀들을 서로 매핑시킬 수 있다. 매핑 과정은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 보안 장치(100)는 매핑 결과를 매핑 테이블(MT)로서 저장할 수 있다.
예시적인 실시 예에서, 보안 장치(100)는 생성된 매핑 테이블(MT)을 이용하여 복수의 PUF 셀들 각각에 대한 타겟 비트를 결정할 수 있고, 결정된 타겟 비트들을 기반으로 보안 키(PUF_KEY)를 생성할 수 있다. 매핑 테이블(MT)을 이용한 타겟 비트 결정 및 보안 키(PUF_KEY) 생성에 대한 구성은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
도 8은 도 1의 보안 장치의 동작을 설명하기 위한 그래프이다. 도 8의 그래프의 가로축은 복수의 PUF 셀들 각각의 로우 데이터의 크기를 가리키고, 세로축은 PUF 셀들의 개수를 가리킨다.
도 1, 도 2, 및 도 8을 참조하면, 보안 장치(100)는 복수의 PUF 셀들로부터 복수의 로우 데이터를 읽을 수 있다. 로우 데이터의 분포는 도 8의 제1 분포(DB1)와 같을 수 있다. 이상적인 경우, 제1 분포(DB1)는 정규 분포 또는 가우시안 분포일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 1 내지 도 7을 참조하여 설명된 실시 예들에서, 복수의 PUF 셀들은 3개의 그룹(GR0, GR1, GR2)으로 분할된다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
예를 들어, 보안 장치(100)는 복수의 기준 값들을 기반으로 복수의 PUF 셀들을 복수의 그룹들로 분할 수 있다. 좀 더 상세한 예로서, 도 8에 도시된 바와 같이, 복수의 PUF 셀들은 4개의 기준 값들(-a2, -a1, +a1, +a2)을 기반으로, 5개의 그룹들(GR0, GR11, GR12, GR21, GR22)로 분할 수 있다. GR12의 그룹은 제2 양 기준 값(+a2)보다 큰 로우 데이터를 갖는 PUF 셀들은 GR12 그룹에 포함될 수 있고, 제2 양 기준 값(+a2)보다 작고 제1 양 기준 값(+a1)보다 큰 로우 데이터를 갖는 PUF 셀들은 GR11 그룹에 포함될 수 있고, 제2 음 기준 값(-a2)보다 작은 로우 데이터를 갖는 PUF 셀들은 GR22 그룹에 포함될 수 있고, 제2 음 기준 값(-a2)보다 크고 제1 음 기준 값(-a1)보다 작은 로우 데이터를 갖는 PUF 셀들은 GR21 그룹에 포함될 수 있다. 제1 음 기준 값(-a1)보다 크고 제1 양 기준 값(+a1)보다 작은 로우 데이터를 갖는 PUF 셀들은 GR0 그룹에 포함될 수 있다.
앞서 설명된 바와 유사하게, GR0 그룹에 포함된 PUF 셀들은 불안정 PUF 셀들일 수 있으며, 불안정 PUF 셀들과 대응되는 로우 데이터는 제거될 수 있다. 이후에, 보안 장치(100)는 나머지 로우 데이터를 기반으로 매핑 테이블(MT)을 생성할 수 있다. 이 때, GR12 그룹의 PUF 셀들은 GR21 그룹의 PUF 셀들과 매핑될 수 있고, GR11 그룹의 PUF 셀들은 GR22 그룹의 PUF 셀들과 매핑될 수 있다.
예를 들어, GR12 그룹의 PUF 셀들의 로우 데이터는 GR11 그룹의 PUF 셀들의 로우 데이터보다 상대적으로 기준점(0)으로부터 더 멀 수 있다. 즉, 다양한 요인으로 인한, GR12 그룹의 PUF 셀들에서의 오류 발생 확률은 GR11 그룹의 PUF 셀들의 오류 발생 확률보다 낮을 수 있다. 다시 말해서, GR12 및 GR11 그룹들의 PUF 셀들은 모두 양의 극성을 가지나, GR12 그룹의 PUF 셀들은 GR11 그룹의 PUF 셀들보다 더 안정적일 수 있다.
마찬가지로, GR22 그룹의 PUF 셀들의 로우 데이터는 GR21 그룹의 PUF 셀들의 로우 데이터보다 상대적으로 기준점(0)으로부터 더 멀 수 있다. 즉, GR22 및 GR21 그룹들의 PUF 셀들은 모두 음의 극성을 가지나, GR22 그룹의 PUF 셀들은 GR21 그룹의 PUF 셀들보다 더 안정적일 수 있다.
이 경우, 상대적으로 더 안정적이고 양의 극성을 갖는 GR12 그룹의 PUF 셀들은 상대적으로 덜 안정적이고 음의 극성을 갖는 GR21 그룹의 PUF 셀들과 매핑될 수 있고, 상대적으로 더 안정적이고 음의 극성을 갖는 GR22 그룹의 PUF 셀들은 상대적으로 덜 안정적이고 양의 극성을 갖는 GR11 그룹의 PUF 셀들과 매핑될 수 있다. 이에 따라, 보안 장치(100)로부터 생성된 보안 키(PUF_KEY)의 전체적인 신뢰성이 향상될 수 있다.
도 9는 도 1의 보안 장치의 동작을 설명하기 위한 그래프들이다. 설명의 편의를 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다.
도 1, 도 2, 및 도 9를 참조하면, 보안 장치(100)는 제1 분포(DB1)를 갖는 로우 데이터를 읽을 수 있다. 이후에, 보안 장치(100)는 제1 분포(DB1)로부터 불안정 데이터를 제거(discard)하여, 제2 분포(DB2)를 갖는 안정 데이터를 추출할 수 있다. 예를 들어, 불안정 데이터는 로우 데이터 중 제1 음 기준 값(-a1)보다 크고 제1 양 기준 값(+a1)보다 작은 값을 갖는 데이터일 수 있다. 또는, 불안정 데이터는 보안 장치(100)에 의해 분할된 복수의 그룹들 중 특정 그룹(예를 들어, GR0)에 포함된 PUF 셀들에 대응하는 데이터일 수 있다. 이는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
불안정 데이터가 제거된 안정 데이터는 도 9에 도시된 바와 같은 제2 분포(DB2)를 가질 수 있다. 제2 분포(DB2)는 도 6b를 참조하여 설명된 바와 유사하게, 제1 및 제2 그룹들(GR1, GR2)로 구분될 수 있다. 보안 장치(100)는 앞서 설명된 바와 유사하게, 제1 그룹(GR1)의 PUF 셀들 및 제2 그룹(GR2)의 PUF 셀들을 서로 매핑시킴으로써, 제1 매핑 테이블(MT1)을 생성할 수 있다.
보안 장치(100)는 제2 분포(DB2)를 기반으로 생성된 제1 매핑 테이블(MT1)을 사용하여 판별 데이터를 생성할 수 있다. 예시적인 실시 예에서, 판별 데이터는 매핑 테이블(MT)에 기반된 매핑 정보를 기반으로 2개의 PUF 셀들로부터 읽어진 2개의 로우 데이터의 차이를 가리킬 수 있다.
제1 매핑 테이블(MT1)에 기반된 판별 데이터는 도 9에 도시된 바와 같은 제3 분포(DB3)를 가질 수 있다. 제3 분포(DB3)는 MP11 그룹 및 MP12 그룹으로 구분될 수 있다. MP11 그룹에 대응하는 데이터는 양의 극성을 가질 수 있고, MP12 그룹에 대응하는 데이터는 음의 극성을 가질 수 있다. MP11 그룹 및 MP12 그룹은 "+a2-(-a2)=2a2"만큼 이격될 수 있다. (이 때, 'a2'의 절대값은 'a1'의 절대값보다 큼.) 즉, 제3 분포(DB3)를 갖는 판별 데이터는 "2a2"만큼의 유효 마진을 가질 수 있다.
이후에, 보안 장치(100)는 제3 분포(DB3)에서의 MP11 그룹의 판별 데이터 및 MP12 그룹의 판별 데이터를 서로 매핑시킴으로써, 제2 매핑 테이블(MT2)을 생성할 수 있다. 보안 장치(100)는 제3 분포(DB3)를 기반으로 생성된 제2 매핑 테이블(MT2)을 사용하여 판별 데이터를 생성할 수 있다. 제2 매핑 테이블(MT2)에 기반된 판별 데이터는 도 9에 도시된 바와 같은 제4 분포(DB4)를 가질 수 있다. 제4 분포(DB4)는 MP21 그룹 및 MP22 그룹으로 구분될 수 있고, MP21 그룹 및 MP22 그룹은 서로 "+a3-(-a3)=2a3"만큼 이격될 수 있다. (이 때, 'a3'의 절대 값은 'a2'의 절대 값보다 큼.) 즉, 제4 분포(DB4)를 갖는 판별 데이터는 "2a3"만큼의 유효 마진을 가질 수 있다.
비록 도 9를 참조하여, 2회의 매핑 동작이 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 본 발명의 실시 예에 따른 보안 장치(100)는 의도한 유효 마진이 획득되도록 매핑 동작을 i회(단, i는 양의 정수) 반복 수행할 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 보안 장치(100)는 하나의 PUF 셀 어레이(110)로부터의 복수의 로우 데이터를 획득하고, 획득한 로우 데이터 중 불안정 데이터를 제거할 수 있다. 이 후에 남은 로우 데이터에 대한 반복 매핑을 수행함으로써, 판별 데이터의 유효 마진을 확장시킬 수 있다.
도 10은 도 1의 보안 장치의 동작을 예시적으로 보여주는 순서도이다. 도 10을 참조하여, 도 1 내지 도 9를 통해 설명된 매핑 테이블에 기반된 타겟 비트 판별 동작이 설명된다. 설명의 편의를 위하여, 도 10의 순서도에 따른 동작이 수행되기 전에, 보안 장치(100)는 도 1 내지 도 9를 참조하여 설명된 방법을 기반으로 생성된 매핑 테이블(MT)을 포함하는 것으로 가정한다.
도 1 및 도 10을 참조하면, S310 단계에서, 보안 장치(100)는 복수의 PUF 셀들 중 타겟 PUF 셀을 선택할 수 있다. 예를 들어, 보안 장치(100)의 컨트롤러(120)는 복수의 PUF 셀들 각각에 대한 비트 판별 동작을 수행하기 위하여, 복수의 PUF 셀들 중 타겟 PUF 셀을 선택할 수 있다. 예시적인 실시 예에서, 타겟 PUF 셀은 앞서 설명된 안정된 PUF 셀(예를 들어, 도 6a의 제1 그룹(GR1) 또는 제2 그룹(GR2))에 포함된 PUF 셀)일 수 있다. 예시적인 실시 예에서, 복수의 PUF 셀들 중 불안정 PUF 셀(예를 들어, 도 6a의 제0 그룹(GR0)에 포함된 PUF 셀)은 타겟 PUF 셀로 선택되지 않을 수 있다. 예시적인 실시 예에서, 타겟 PUF 셀을 선택하는 동작은 컨트롤러(120)의 PUF 셀 제어기(123)(도 2 참조)에 의해 수행될 수 있다.
S320 단계에서, 보안 장치(100)는 매핑 테이블(MT)을 기반으로 타겟 PUF 셀에 대응하는 보조 PUF 셀을 선택할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 보안 장치(100)의 컨트롤러(120)는 안정 PUF 셀들 사이의 매핑 정보를 포함하는 매핑 테이블(MT)을 포함할 수 있다. 컨트롤러(120)는 매핑 테이블(MT)에서, 타겟 PUF 셀과 매핑된 PUF 셀을 보조 PUF 셀로 선택할 수 있다. 예시적인 실시 예에서, 보조 PUF 셀을 선택하는 동작은 컨트롤러(120)의 PUF 셀 제어기(123)(도 2 참조)에 의해 수행될 수 있다.
S330 단계에서, 보안 장치(100)는 타겟 PUF 셀로부터 센싱 데이터(설명의 편의를 위하여, 타겟 센싱 데이터(SDt)라 칭함.)를 읽고, 보조 PUF 셀로부터 센싱 데이터(설명의 편의를 위하여, 보조 센셍 데이터(SDa)라 칭함.)를 읽을 수 있다. 예를 들어, 보안 장치(100)의 컨트롤러(120)는 PUF 셀 어레이(110)로 제어 신호(CTRL)를 전송하고, PUF 셀 에러이(110)는 제어 신호(CTRL)에 응답하여, 타겟 PUF 셀에 대한 타겟 센싱 데이터(SDt) 및 보조 PUF 셀에 대한 보조 센싱 데이터(SDa)를 컨트롤러(110)로 제공할 수 있다.
S340 단계에서, 보안 장치(100)는 타겟 센싱 데이터(SDt) 및 보조 센싱 데이터(SDa)의 크기를 비교할 수 있다. 타겟 센싱 데이터(SDt)의 크기가 보조 센싱 데이터(SDa)의 크기보다 큰 경우, S350 단계에서, 보안 장치(100)는 타겟 PUF 셀에 대한 타겟 비트를 제1 비트 값(예를 들어, '비트 1")로 결정할 수 있다. 타겟 센싱 데이터(SDt)의 크기가 보조 센싱 데이터(SDa)의 크기보다 크지 않은 경우, S360 단계에서, 보안 장치(100)는 타겟 PUF 셀에 대한 타겟 비트를 제2 비트 값(예를 들어, '비트 0")로 결정할 수 있다.
예를 들어, 도 6a에 도시된 분포에서, 타겟 PUF 셀이 제1 그룹(GR1)에 포함되는 경우, 보조 PUF 셀은 제2 그룹(GR2)에 포함될 것이다. 즉, 제1 그룹(GR1)의 타겟 PUF 셀로부터 읽어진 타겟 센싱 데이터(SDt)의 크기는 제2 그룹(GR2)에 포함된 보조 PUF 셀로부터 읽어진 보조 센싱 데이터(SDa)의 크기보다 클 것이다. 이 경우, 타겟 PUF 셀은 양의 극성을 갖는 것으로 판별될 수 있으며, 이에 따라 타겟 PUF 셀에 대한 타겟 비트가 제1 비트 값으로 결정될 수 있다.
이와 반대로, 도 6a에 도시된 분포에서, 타겟 PUF 셀이 제2 그룹(GR2)에 포함되는 경우, 보조 PUF 셀은 제1 그룹(GR1)에 포함되며, 타겟 센싱 데이터(SDt)의 크기는 보조 센싱 데이터(SDa)의 크기보다 크지 않을 것이다. 이 경우, 타겟 PUF 셀은 음의 극성을 갖는 것으로 판별될 수 있으며, 이에 따라 타겟 PUF 셀에 대한 타겟 비트가 제2 비트 값으로 결정될 수 있다.
즉, 상술된 바와 같이, 타겟 PUF 셀과 논리적으로 이격된 보조 PUF 셀로부터의 보조 센싱 데이터를 기준으로 타겟 PUF 셀에 대한 타겟 비트가 결정되기 때문에, 타겟 비트에 대한 오류가 감소될 수 있다.
예시적인 실시 예에서, 보안 장치(100)는 상술된 동작을 반복 수행함으로써, 복수의 타겟 PUF 셀들 각각에 대한 타겟 비트를 결정할 수 있다. 보안 장치(100)는 결정된 타겟 비트들을 기반으로 보안 키(PUF_KEY)를 생성할 수 있다. 예시적인 실시 예에서, 보안 장치(100)에서 선택되는 타겟 PUF 셀들은 복수의 PUF 셀들 중 안정된 PUF 셀들일 수 있으며, 타겟 PUF 셀들의 개수는 복수의 PUF 셀들의 개수보다 작을 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 보안 장치(100)는 복수의 PUF 셀들로부터 읽어진 로우 데이터에서 불안정 데이터를 제거하고, 남은 로우 데이터를 기반으로 매핑 테이블(MT)을 구성할 수 있다. 보안 장치(100)는 구성된 매핑 테이블(MT)을 기반으로 타겟 PUF 셀에 대한 타겟 비트를 판별할 수 있다. 따라서, 향상된 신뢰성을 갖는 보안 장치가 제공된다.
도 11은 본 발명의 실시 예에 따른 보안 장치가 적용된 전자 시스템을 예시적으로 보여주는 블록도이다. 도 11을 참조하면, 전자 시스템(1000)은 호스트(1100) 및 보안 장치(1200)를 포함할 수 있다. 전자 시스템(1000)은 휴대용 통신 단말기, PDA(Personal Digital Assistant), PMP(Portable Media Player), 스마트폰, 디지털 카메라, 또는 웨어러블(Wearable) 장치와 같은 전자 단말기일 수 있다.
호스트(1100)는 보안 장치(1200)를 제어하도록 구성될 수 있다. 보안 장치(1200)는 PUF 셀 어레이(1210)를 포함할 수 있고, 호스트(1100)의 제어에 따라 동작하도록 구성될 수 있다. 예시적인 실시 예에서, 보안 장치(1200)는 IC 카드, 칩 카드 등과 같은 스마트 카드이거나 또는 보안키 생성을 위해 별도로 구비된 하드웨어 구성을 가리킬 수 있다.
예를 들어, 호스트(1100)는 보안 장치(1200)로부터 장치 식별자(ID)를 수신할 수 있다. 호스트(1100)는 수신된 장치 식별자(ID)를 기반으로 챌린지(challenge)를 보안 장치(1200)로 전송할 수 있다. 보안 장치(1200)는 호스트(1100)로부터의 챌린지(challenge)에 응답하여, 응답(response)를 호스트(1100)로 전송할 수 있다. 예시적인 실시 예에서, 응답(response)은 도 1 내지 도 10을 참조하여 설명된 보안 키(PUF_KEY)일 수 있다. 즉, 보안 장치(1200)는 PUF 셀 어레이(1210)에 포함된 복수의 PUF 셀들로부터 호스트(1100)로부터의 챌린지(challenge)에 기반된 데이터를 획득하고, 획득한 데이터를 기반으로 응답(response)(즉, PUF 키)를 생성하여 호스트(1100)로 제공할 수 있다. 예시적인 실시 예에서, 보안 장치(1200)는 도 1 내지 도 9를 참조하여 설명된 방법을 기반으로 매핑 테이블(MT)을 생성하고, 생성된 매핑 테이블(MT)을 사용하여 PUF 키를 생성할 수 있다.
호스트(1100)는 수신된 응답(response)을 기반으로 보안 장치(1200)에 대한 또는 다른 장치들에 대한 인증 동작을 수행할 수 있다.
본 발명의 실시 예에 따른 보안 장치는 복수의 PUF(physical unclonable function) 셀들; 상기 복수의 PUF 셀들로부터 복수의 로우 데이터를 수신하도록 구성된 수신기; 상기 복수의 로우 데이터 중 불안정 데이터를 제거하여 안정 데이터를 추출하고, 상기 복수의 PUF 셀들 중 상기 추출된 안정 데이터와 대응되는 안정 PUF 셀들을 매핑하여 매핑 테이블을 생성하도록 구성된 매핑 테이블 생성기; 상기 매핑 테이블을 저장하도록 구성된 저장 회로; 상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들을 제어하도록 구성된 PUF 셀 제어기; 및 상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들에 대응하는 보안 키를 출력하도록 구성된 비트 판별기를 포함한다.
예시적인 실시 예에서, 상기 복수의 로우 데이터는 상기 복수의 PUF 셀들 각각의 적어도 하나의 물리적 특성에 따른 미스매치(mismatch)에 대응하는 정보를 포함한다.
예시적인 실시 예에서, 상기 불안정 데이터는 상기 복수의 로우 데이터 중 제1 음 기준 값보다 크고 제1 양 기준 값보다 작은 로우 데이터이다.
예시적인 실시 예에서, 상기 안정 PUF 셀들 중 제1 안정 PUF 셀들은 상기 제1 양 기준 값보다 큰 로우 데이터와 대응되고, 상기 안정 PUF 셀들 중 제2 안정 PUF 셀들은 상기 제1 음 기준 값보다 작은 로우 데이터와 대응된다.
예시적인 실시 예에서, 상기 매핑 테이블 생성기는 상기 제1 안정 PUF 셀들 및 상기 제2 안정 PUF 셀들을 1:1 매핑시킴으로써, 상기 매핑 테이블을 생성하도록 더 구성된다.
예시적인 실시 예에서, 상기 매핑 테이블은 상기 제1 안정 PUF 셀들 중 하나 및 상기 제2 안정 PUF 셀들 중 하나 사이의 매핑 정보를 포함하고, 상기 비트 판별기는, 상기 제1 안정 PUF 셀들 중 상기 하나로부터의 제1 로우 데이터 및 상기 제2 안정 PUF 셀들 중 상기 하나로부터의 제2 로우 데이터를 기반으로 제1 판별 데이터를 생성하고, 상기 제1 판별 데이터의 극성을 기반으로 상기 제1 안정 PUF 셀들 중 상기 하나에 대한 비트 값을 판별하도록 더 구성된다.
본 발명의 실시 예에 따른 복수의 PUF(physical unclonable function) 셀들을 포함하는 보안 장치의 동작 방법은 상기 복수의 PUF 셀들로부터 복수의 로우 데이터를 획득하는 단계; 상기 복수의 로우 데이터 중 불안정 데이터를 제거(discard)함으로써, 안정 데이터를 추출하는 단계; 상기 추출된 안정 데이터를 기반으로 매핑 테이블을 생성하는 단계; 상기 매핑 테이블을 기반으로 상기 복수의 PUF 셀들 중 상기 안정 데이터와 대응되는 안정 PUF 셀들에 대한 판별 데이터를 생성하는 단계; 및 상기 판별 데이터를 기반으로 상기 안정 PUF 셀들에 대응하는 보안 키를 생성하는 단계를 포함한다.
예시적인 실시 예에서, 상기 복수의 로우 데이터는 제1 분포를 갖고, 상기 추출된 안정 데이터는 제2 분포를 갖고, 상기 판별 데이터는 제3 분포를 갖는다.
예시적인 실시 예에서, 상기 제1 분포는 정규 분포이고, 상기 제2 분포 및 상기 제3 분포 각각은 다봉 분포이고, 상기 제3 분포의 유효 마진은 상기 제3 분포의 유효 마진보다 크다.
예시적인 실시 예에서, 상기 불안정 데이터는 상기 복수의 로우 데이터 중 제1 음 기준값보다 크고 제1 양 기준값보다 작은 로우 데이터이고, 상기 제2 분포의 유효 마진은 상기 제1 양 기준 값의 2배이고, 상기 제3 분포의 유효 마진은 상기 제2 분포의 상기 유효 마진보다 크다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
Claims (20)
- 복수의 PUF(Physical Unclonable function) 셀들을 포함하는 PUF 셀 어레이; 및
상기 PUF 셀 어레이를 제어하여 보안 키를 생성하도록 구성된 컨트롤러를 포함하고,
상기 컨트롤러는:
상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 수신하도록 구성된 수신기;
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 불안정 데이터를 제거하여 안정 데이터를 추출하고, 상기 복수의 PUF 셀들 중 상기 안정 데이터와 대응하는 안정 PUF 셀들을 기반으로 매핑 테이블을 생성하도록 구성된 매핑 테이블 생성기;
상기 매핑 테이블을 저장하도록 구성된 저장 회로;
상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들 각각으로부터 센싱 데이터를 읽도록 구성된 PUF 셀 제어기; 및
상기 안정 PUF 셀들 각각으로부터 읽어진 상기 센싱 데이터를 기반으로 상기 보안 키를 생성하도록 구성된 비트 판별기를 포함하는 보안 장치. - 제 1 항에 있어서,
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터는 상기 복수의 PUF 셀들 각각의 적어도 하나의 물리적 특성에 따른 미스매치(mismatch) 정보를 포함하는 보안 장치. - 제 1 항에 있어서,
상기 안정 데이터는 제1 안정 데이터 및 제2 안정 데이터를 포함하고,
상기 제1 안정 데이터 각각의 크기는 제1 양 기준 값보다 크거나 같고,
상기 제2 안정 데이터 각각의 크기는 제1 음 기준 값보다 작거나 같고,
상기 불안정 데이터 각각의 크기는 상기 제1 양 기준 값보다 작고, 상기 제1 음 기준 값보다 크고,
상기 매핑부는 상기 제1 안정 데이터 및 상기 제2 안정 데이터를 기반으로, 상기 안정 PUF 셀들 중 상기 제1 안정 데이터에 대응하는 제1 안정 PUF 셀들 및 상기 안정 PUF 셀들 중 상기 제2 안정 데이터에 대응하는 제2 안정 PUF 셀들을 각각 1:1 매핑함으로써, 상기 매핑 테이블을 생성하는 보안 장치. - 제 3 항에 있어서,
상기 매핑 테이블은 상기 1:1 매핑된 상기 제1 안정 PUF 셀들 및 상기 제2 안정 PUF 셀들 각각의 물리적 어드레스 정보를 포함하고, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터를 포함하지 않고,
상기 매핑 테이블이 상기 저장 회로에 저장된 이후에, 상기 매핑 테이블 생성기는 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터를 제거하는 보안 장치. - 제 1 항에 있어서,
상기 센싱 데이터는 타겟 센싱 데이터 및 보조 센싱 데이터를 포함하고,
상기 PUF 셀 제어기는:
상기 안정 PUF 셀들 중 타겟 PUF 셀을 선택하고;
상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들 중 상기 타겟 PUF 셀에 대응하는 보조 PUF 셀을 선택하고;
상기 타겟 PUF 셀로부터 상기 타겟 센싱 데이터, 그리고 상기 보조 PUF 셀로부터 상기 보조 센싱 데이터를 읽도록 상기 PUF 셀 어레이를 제어하도록 더 구성된 보안 장치. - 제 5 항에 있어서,
상기 비트 판별기는 상기 타겟 PUF 셀로부터 읽어진 상기 타겟 센싱 데이터 및 상기 보조 PUF 셀로부터 읽어진 상기 보조 센싱 데이터를 비교하고, 상기 비교 결과에 따라, 상기 타겟 PUF 셀에 대한 타겟 비트를 결정하도록 더 구성된 보안 장치. - 제 6 항에 있어서,
상기 비트 판별기는 상기 타겟 센싱 데이터의 크기가 상기 보조 센싱 데이터의 크기보다 큰 경우, 상기 타겟 비트를 제1 값으로 결정하고, 상기 타겟 센싱 데이터의 상기 크기가 상기 보조 센싱 데이터의 상기 크기보다 크지 않은 경우, 상기 타겟 비트를 상기 제1 값과 다른 제2 값으로 결정하는 보안 장치. - 복수의 PUF(Physical Unclonable Function) 셀들을 포함하는 보안 장치의 동작 방법에 있어서,
상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 읽는 단계;
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 복수의 안정 데이터를 추출하는 단계;
상기 복수의 PUF 셀들 중 상기 추출된 복수의 안정 데이터와 대응하는 안정 PUF 셀들을 매핑하여 매핑 테이블을 생성하고, 상기 생성된 매핑 테이블을 저장하는 단계;
상기 복수의 PUF 셀들 중 타겟 PUF 셀을 선택하는 단계;
상기 매핑 테이블을 기반으로 상기 안정 PUF 셀들 중 상기 선택된 타겟 PUF 셀과 대응하는 보조 PUF 셀을 선택하는 단계;
상기 타겟 PUF 셀로부터 타겟 센싱 데이터를 읽고, 상기 보조 PUF 셀로부터 보조 센싱 데이터를 읽는 단계; 및
상기 타겟 센싱 데이터 및 상기 보조 센싱 데이터를 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트 값을 결정하는 단계를 포함하는 동작 방법. - 제 8 항에 있어서,
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터는 상기 복수의 PUF 셀들 각각의 적어도 하나의 물리적 특정에 따른 미스매치(mismatch) 정보를 포함하는 동작 방법. - 제 8 항에 있어서,
상기 복수의 안정 데이터는 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 제1 음 기준 값보다 작거나 또는 제1 양 기준 값보다 큰 데이터인 동작 방법. - 제 8 항에 있어서,
상기 복수의 안정 데이터는 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 복수의 불안정 데이터를 제거함으로써, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터로부터 추출되고,
상기 복수의 불안정 데이터는 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터 중 각각의 절대값이 기준 값보다 작은 로우 데이터를 가리키는 동작 방법. - 제 8 항에 있어서,
상기 타겟 센싱 데이터 및 상기 보조 센싱 데이터를 기반으로 상기 타겟 PUF 셀에 대한 상기 타겟 비트 값을 결정하는 단계는:
상기 타겟 센싱 데이터의 크기가 상기 보조 센싱 데이터의 크기보다 큰지 판별하는 단계; 및
상기 타겟 센싱 데이터의 상기 크기가 상기 보조 센싱 데이터의 상기 크기보다 큰 경우, 상기 타겟 비트 값을 제1 값으로 결정하고, 상기 타겟 센싱 데이터의 상기 크기가 상기 보조 센싱 데이터의 상기 크기보다 크지 않은 경우 상기 타겟 비트 값을 상기 제1 값과 다른 제2 값으로 결정하는 단계를 포함하는 동작 방법. - 제 8 항에 있어서,
상기 타겟 PUF 셀은 상기 안정 PUF 셀들 중 하나인 동작 방법. - 제 8 항에 있어서,
상기 안정 PUF 셀들은 제1 그룹 및 제2 그룹으로 구분되고,
상기 매핑 테이블은 상기 제1 그룹에 포함된 안정 PUF 셀들 및 상기 제2 그룹에 포함된 안정 PUF 셀들이 각각 1:1 매핑된 정보를 포함하는 동작 방법. - 제 14 항에 있어서,
상기 매핑 테이블은 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터에 대한 정보를 포함하지 않는 동작 방법. - 복수의 PUF(Physical Unclonable function) 셀들을 포함하는 보안 장치의 동작 방법에 있어서,
상기 복수의 PUF 셀들 각각으로부터 로우 데이터를 읽는 단계;
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터로부터 불안정 데이터를 제거하여 안정 데이터를 추출하는 단계;
상기 안정 데이터를 기반으로 매핑 테이블을 생성하고, 상기 매핑 테이블을 저장하는 단계;
상기 매핑 테이블을 기반으로 상기 복수의 PUF 셀들 중 상기 안정 데이터와 각각 대응되는 복수의 안정 PUF 셀들 각각으로부터 센싱 데이터를 읽는 단계; 및
상기 복수의 안정 PUF 셀들 각각으로부터 읽어진 상기 센싱 데이터를 기반으로 판별 데이터를 생성하고, 상기 판별 데이터를 기반으로 보안 키를 생성하는 단계를 포함하고,
상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터는 제 1 분포를 갖고, 상기 안정 데이터는 상기 제1 분포와 다른 제2 분포를 갖고, 상기 판별 데이터는 상기 제1 및 제2 분포들과 다른 제3 분포를 갖는 동작 방법. - 제 16 항에 있어서,
상기 복수의 로우 데이터의 상기 제1 분포는 정규 분포이고, 상기 제2 분포 및 상기 제3 분포는 각각 서로 다른 유효 마진을 갖는 다봉 분포(bimodal distribution)인 동작 방법. - 제 17 항에 있어서,
상기 제3 분포의 유효 마진은 상기 제2 분포의 유효 마진보다 큰 동작 방법. - 제 16 항에 있어서,
상기 판별 데이터를 기반으로 상기 보안 키를 생성하는 단계는:
상기 판별 데이터 중 양의 극성을 갖는 판별 데이터에 대응하는 비트 값을 제1 값으로 결정하고, 상기 판별 데이터 중 음의 극성을 갖는 판별 데이터에 대응하는 비트 값을 제2 값으로 결정하는 단계; 및
상기 결정된 비트 값들을 조합하여 상기 보안 키를 생성하는 단계를 포함하는 동작 방법. - 제 16 항에 있어서,
상기 매핑 테이블을 저장한 이후에, 상기 복수의 PUF 셀들 각각으로부터 읽어진 상기 로우 데이터를 제거하는 단계를 더 포함하는 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020103855.0A DE102020103855A1 (de) | 2019-05-08 | 2020-02-14 | Sicherheitsvorrichtung, die PhysicalUnclonableFunction-Zellen enthält, und Betriebsverfahren derselben |
US16/819,694 US11349652B2 (en) | 2019-05-08 | 2020-03-16 | Security device including physical unclonable function cells and operation method thereof |
CN202010196600.5A CN111914266A (zh) | 2019-05-08 | 2020-03-19 | 包括物理不可克隆函数单元的安全装置及其操作方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190053945 | 2019-05-08 | ||
KR20190053945 | 2019-05-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200130053A true KR20200130053A (ko) | 2020-11-18 |
Family
ID=73697729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190095660A KR20200130053A (ko) | 2019-05-08 | 2019-08-06 | 물리 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200130053A (ko) |
-
2019
- 2019-08-06 KR KR1020190095660A patent/KR20200130053A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200364374A1 (en) | Apparatus and method for generating identification key | |
US10439613B2 (en) | Integrated circuit for physically unclonable function and device including the same | |
KR101118826B1 (ko) | 물리적 공격을 방어하는 암호화 장치 및 암호화 방법 | |
KR100926214B1 (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
US11349652B2 (en) | Security device including physical unclonable function cells and operation method thereof | |
KR101663341B1 (ko) | 식별키 생성 장치 및 방법 | |
US20180083788A1 (en) | Semiconductor device and security system | |
CN109428721B (zh) | 用于确定物理不可克隆功能电路的健康状况的方法或装置 | |
CN103716152A (zh) | 一种基于工艺偏差的芯片密钥产生方法及其电路 | |
US11418332B2 (en) | Security device including physical unclonable function cells and operation method thereof | |
KR20200130053A (ko) | 물리 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법 | |
KR102050021B1 (ko) | 식별키 유용성 판별장치 | |
KR102720690B1 (ko) | 물리적 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법 | |
Yue et al. | 15.1 A 0.795 fJ/bit Physically-Unclonable Function-Protected TCAM for a Software-Defined Networking Switch | |
KR20170132120A (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
KR20100117006A (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
CN108537068B (zh) | 产生集成电路固有信息的装置及方法 | |
Baturone Castillo et al. | Improved Generation of Identifiers, Secret Keys, and Random Numbers From SRAMs | |
KR20160145529A (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
KR20160030157A (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 | |
KR20150137045A (ko) | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |