KR20210053029A - 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법 - Google Patents

물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법 Download PDF

Info

Publication number
KR20210053029A
KR20210053029A KR1020190138808A KR20190138808A KR20210053029A KR 20210053029 A KR20210053029 A KR 20210053029A KR 1020190138808 A KR1020190138808 A KR 1020190138808A KR 20190138808 A KR20190138808 A KR 20190138808A KR 20210053029 A KR20210053029 A KR 20210053029A
Authority
KR
South Korea
Prior art keywords
puf
target
bit
cells
information
Prior art date
Application number
KR1020190138808A
Other languages
English (en)
Inventor
이승원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190138808A priority Critical patent/KR20210053029A/ko
Priority to US16/994,078 priority patent/US11695577B2/en
Priority to CN202011174686.8A priority patent/CN112784317A/zh
Publication of KR20210053029A publication Critical patent/KR20210053029A/ko
Priority to US18/319,871 priority patent/US11968317B2/en
Priority to US18/366,602 priority patent/US20230403167A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • 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
    • G06F21/71Protecting 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/72Protecting 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 in cryptographic circuits
    • 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
    • G06F21/71Protecting 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
    • 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
    • G06F21/71Protecting 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/73Protecting 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
    • 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
    • G06F21/71Protecting 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/75Protecting 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 inhibiting the analysis of circuitry or operation
    • 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
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예에 따른 보안 장치는 제1 워드라인과 연결된 복수의 제1 PUF 셀들을 포함하는 PUF 셀 어레이, 복수의 제1 PUF 셀들 중 타겟 PUF 셀을 선택하고, 선택된 타겟 PUF 셀을 기반으로 제어 신호를 출력하도록 구성된 컨트롤러, 제어 신호에 응답하여, 제1 워드라인으로 제1 전압을 인가하도록 구성된 디코더, 복수의 제1 비트라인들과 연결되고, 복수의 제1 비트라인들 중 타겟 PUF 셀과 연결된 비트라인을 통해 제공되는 제1 타겟 전류, 및 복수의 제1 비트라인들 중 다른 PUF 셀들과 연결된 나머지 비트라인들을 통해 제공되는 전류들의 제1 합 전류를 출력하도록 구성된 비트라인 선택 회로, 및 제1 타겟 전류 및 제1 합 전류를 기반으로 타겟 PUF 셀에 대한 타겟 비트를 출력하도록 구성된 비트 판별기를 포함하고, 타겟 PUF 셀 및 다른 PUF 셀은 복수의 제1 PUF 셀들에 포함된다.

Description

물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법{SECURITY DEVICE INCLUDING PHYSICAL UNCLONABLE FUNCTION CELLS, OPERATION METHOD OF SECURITY DEVICE, AND OPERATION METHOD OF PHYSICAL UNCLONABLE FUNCTION CELL DEVICE}
본 발명은 보안 장치에 관한 것으로, 좀 더 상세하게는 PUF(physical unclonable function) 셀들을 포함하는 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법에 관한 것이다.
통신 기술 및 모바일 장치와 관련된 기술에 있어서, 보안 및 암호화와 관련된 기술이 중요해지고 있다. 소프트웨어 방식에 의해 생성되는 키(key)는 해킹을 통해 유출될 수 있으므로, 최근 하드웨어 방식에 기반하는 보안 방식이 발전하고 있다.
일 예로서, 물리적 복제 방지 기능(PUF; physically unclonable function; PUF)을 갖는 반도체 장치가 개발되고 있다. PUF는 반도체 장치에서 PVT 변이(Process, Voltage, Temperature variation)에 따라 랜덤하게 고유 키를 생성하는 기능 또는 장치를 가리킨다. PUF는 PVT 변이에 따라 랜덤한 키를 생성하기 때문에, 다양한 환경 요인에 따라 키에 대한 에러가 발생할 수 있다. 이러한 에러는 PUF를 갖는 반도체 장치 또는 보안 장치의 신뢰성을 저하시키는 요인이 된다.
본 발명의 목적은 향상된 신뢰성 및 감소된 회로 복잡도를 갖는 PUF(physical unclonable function) 셀들을 포함하는 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 보안 장치는 제1 워드라인과 연결된 복수의 제1 PUF 셀들을 포함하는 PUF 셀 어레이, 상기 복수의 제1 PUF 셀들 중 상기 타겟 PUF 셀을 선택하고, 상기 선택된 타겟 PUF 셀을 기반으로 제어 신호를 출력하도록 구성된 컨트롤러, 상기 제어 신호에 응답하여, 상기 제1 워드라인으로 제1 전압을 인가하도록 구성된 디코더, 복수의 제1 비트라인들과 연결되고, 상기 복수의 제1 비트라인들 중 상기 타겟 PUF 셀과 연결된 비트라인을 통해 제공되는 제1 타겟 전류, 및 상기 복수의 제1 비트라인들 중 다른 PUF 셀들과 연결된 나머지 비트라인들을 통해 제공되는 전류들의 제1 합 전류를 출력하도록 구성된 비트라인 선택 회로, 및 상기 제1 타겟 전류 및 상기 제1 합 전류를 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트를 출력하도록 구성된 비트 판별기를 포함하고, 상기 타겟 PUF 셀 및 상기 다른 PUF 셀은 상기 복수의 제1 PUF 셀들에 포함된다.
본 발명의 실시 예에 따른 복수의 PUF(Physical Unclonable Function) 셀들을 포함하는 PUF 셀 장치의 동작 방법은 복수의 PUF 셀들 중 타겟 PUF 셀을 선택하는 단계, 상기 타겟 PUF 셀과 연결된 제1 워드라인으로 제1 전압을 인가하는 단계, 상기 타겟 PUF 셀에 대응하는 타겟 전류를 기반으로 타겟 값을 생성하고, 상기 제1 워드라인과 연결된 다른 PUF 셀들로부터 출력된 전류들의 합 전류를 기반으로 중심 값을 생성하는 단계, 및 상기 타겟 값 및 상기 중심 값을 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트를 결정하고, 상기 타겟 비트를 출력하는 단계를 포함한다.
본 발명의 실시 예에 따른 제1 내지 제N PUF(Physical Unclonable Function) 셀들(단, N은 양의 정수)을 포함하는 보안 장치의 동작 방법은 상기 제1 내지 제N PUF 셀과 연결된 제1 워드라인으로 제1 전압을 인가하는 단계, 상기 제1 PUF 셀로부터 제1 정보를 획득하고, 상기 제2 내지 제N PUF 셀들로부터 제2 정보를 획득하는 단계, 상기 획득된 제1 정보 및 제2 정보를 비교하여 상기 제1 PUF 셀에 대한 제1 비트를 결정하는 단계, 상기 제1 내지 제N PUF 셀들과 연결된 상기 제1 워드라인으로 상기 제1 전압을 인가하는 단계, 상기 제2 PUF 셀로부터 제3 정보를 획득하고, 상기 제1, 및 상기 제3 내지 제N PUF 셀들로부터 제4 정보를 획득하는 단계, 및 상기 획득된 제3 및 제4 정보를 기반으로 상기 제2 PUF 셀에 대한 제2 비트를 결정하는 단계를 포함한다.
본 발명에 따르면, 별도의 기준 데이터 없이 타겟 PUF 셀과 관련된 다른 PUF 셀들을 사용하여 중심 값을 산출하고, 산출된 중심 값을 기반으로 타겟 PUF 셀에 대한 타겟 비트가 결정될 수 있다. 따라서, 별도의 아날로그-디지털 변환회로 또는 기준 데이터가 불필요하기 때문에, 보안 장치의 회로 복잡도가 감소될 수 있다. 또한, 복수의 PUF 셀들 각각에 대하여 최적화된 중심 값이 결정되기 때문에, 보안 장치의 신뢰성이 향상될 수 있다.
따라서, 감소된 비용 및 향상된 신뢰성을 갖는 PUF(physical unclonable function) 셀들을 포함하는 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 보안 장치를 예시적으로 보여주는 블록도이다.
도 2는 PUF 셀의 타겟 비트를 결정하는 방법을 설명하기 위한 도면이다.
도 3은 도 1의 PUF 셀 장치를 예시적으로 보여주는 블록도이다.
도 4는 도 3의 복수의 PUF 셀들의 예시적인 구조를 보여주는 도면이다.
도 5는 도 3의 PUF 셀 장치의 구성을 좀 더 상세하게 보여주는 도면이다.
도 6은 도 3 및 도 5의 PUF 셀 장치의 동작을 보여주는 순서도이다.
도 7은 도 3의 PUF 셀 장치의 동작을 설명하기 위한 도면이다.
도 8은 도 3의 PUF 셀 장치의 타겟 비트 결정을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른 PUF 셀 어레이를 보여주는 도면이다.
도 10a는 도 9의 PUF 셀 어레이가 적용된 PUF 셀 장치를 보여주는 도면이다.
도 10b 내지 도 10d는 도 10a의 PUF 셀 장치의 동작을 설명하기 위한 도면들이다.
도 11은 PUF 셀 장치의 신뢰성을 향상시키는 방안을 설명하기 위한 도면이다.
도 12a 및 도 12b는 도 1의 PUF 셀 장치의 불안정 PUF 셀 또는 유효 PUF 셀을 판별하는 동작을 예시적으로 보여주는 순서도이다.
도 13a 및 도 13b는 도 12a의 순서도에 따른 동작을 설명하기 위한 도면들이다.
도 14는 도 1의 컨트롤러를 예시적으로 보여주는 블록도이다.
도 15는 본 발명에 따른 PUF 셀 장치의 동작을 설명하기 위한 도면들이다.
도 16a 내지 도 16c는 본 발명에 따른 보안 장치의 동작을 설명하기 위한 블록도 및 순서도이다.
도 17은 본 발명의 실시 예에 따른 보안 장치가 적용된 전자 시스템을 예시적으로 보여주는 블록도이다.
도 18은 본 발명에 따른 보안 장치가 적용된 전자 장치를 예시적으로 보여주는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들 및 도면에 도시된 기능 블록들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(MEMS; microelectromechanical system), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
또한, 다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서의 당업자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.
이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 일부 구성 요소들의 예시적인 개수 또는 예시적인 수치들이 제시되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 이하의 도면들에서, 도면의 간결성을 위하여, 하나의 워드라인과 연결된 복수의 PUF 셀들의 개수가 "8"개인 것으로 도시되나, 이는 단순히 본 발명의 기술적 사상을 용이하게 설명하기 위한 것이며, 본 발명이 이에 한정되지 않음이 이해될 것이다.
도 1은 본 발명의 실시 예에 따른 보안 장치를 예시적으로 보여주는 블록도이다. 도 2는 PUF 셀의 타겟 비트를 결정하는 방법을 설명하기 위한 도면이다. 도 2의 분포도의 가로축은 PUF 셀들로부터 획득된 정보(예를 들어, 미스매치 정보 또는 전류량 등)를 가리킨다. 도 1 및 도 2를 참조하면, 보안 장치(10)는 어레이-기반의 PUF(physical unclonable function) 셀 장치(100) 및 컨트롤러(101)를 포함할 수 있다.
어레이-기반의 PUF 셀 장치(100)는 복수의 PUF 셀들을 포함할 수 있다. 복수의 PUF 셀들은 어레이 형태로 배열될 수 있다. 이하에서, 설명의 편의를 위하여 어레이-기반의 PUF 셀 장치(100)는 단순히 "PUF 셀 장치(100)"로 지칭된다.
예시적인 실시 예에서, 복수의 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 셀 장치(100)는 컨트롤러(101)의 제어에 따라 타겟 비트(TB)를 출력하도록 구성될 수 있다. 컨트롤러(101)는 PUF 셀 장치(100)를 제어할 수 있다. 예를 들어, 컨트롤러(101)는 PUF 셀 장치(100)로 제어 신호(CTRL)를 제공할 수 있다. 제어 신호(CTRL)는 PUF 셀 장치(100)에 포함된 복수의 PUF 셀들 중 타겟 PUF 셀을 선택하기 위한 정보 또는 어드레스를 포함할 수 있다.
PUF 셀 장치(100)는 컨트롤러(101)로부터 수신된 제어 신호(CTRL)에 응답하여 복수의 PUF 셀들 중 타겟 PUF 셀을 선택하고, 선택된 타겟 PUF 셀에 대응하는 타겟 비트(TB)를 출력할 수 있다.
컨트롤러(101)는 PUF 셀 장치(100)에 포함된 복수의 PUF 셀들 전체 또는 일부에 대한 타겟 비트들(TB)을 수신하고, 수신된 타겟 비트들(TB)을 기반으로 보안 키(KEY)를 생성하여 출력할 수 있다.
예시적인 실시 예에서, 복수의 PUF 셀들 각각은 서로 다른 PVT(process, voltage, temperature) 변이를 가질 수 있다. 복수의 PUF 셀들 각각은 동일한 바이어스에 대하여, 각각에 대응하는 PVT 변이에 따라 서로 다른 정보를 출력할 수 있다. 예를 들어, 복수의 PUF 셀들이 동일한 반도체 공정 또는 동일한 웨이퍼 상에서 제조되더라도, 다양한 요인(예를 들어, 도핑 농도, 게이트 산화막 두께, 기하적인 구조 등)에 의해 서로 다른 PVT 변이를 가질 수 있다.
즉, 제1 및 제2 PUF 셀들이 서로 동일한 반도체 공정 또는 동일한 웨이퍼 상에서 제조되더라도, 제1 PUF 셀로부터 출력되는 정보는 양의 극성을 가질 수 있고, 제2 PUF 셀로부터 출력되는 정보는 음의 극성을 가질 수 있다. 또는 제1 PUF 셀로부터 출력되는 정보의 크기와 제2 PUF 셀로부터 출력되는 정보의 크기가 서로 다를 수 있다.
상술된 PUF 셀들 각각의 정보를 기반으로 복수의 PUF 셀들 각각에 대한 타겟 비트(TB; target bit)가 결정될 수 있다. 예를 들어, PUF 셀 장치(100)에 포함된 복수의 PUF 셀들로부터의 정보는 도 2에 도시된 바와 같은 제1 분포(DB1)를 가질 수 있다. 예시적인 실시 예에서, 제1 분포(DB1)는 가우시안 분포 또는 정규 분포일 수 있다. 제1 분포(DB1)의 중심 값은 복수의 PUF 셀들 각각의 극성을 판별하기 위한 기준 값(REF0)으로 사용될 수 있다.
예시적인 실시 예에서, 종래의 PUF 셀 장치는 타겟 PUF 셀에 대한 타겟 비트를 결정하기 위하여, 타겟 PUF 셀에 대한 아날로그 정보를 수집하고, 수집된 아날로그 정보를 아날로그-디지털 컨버터를 통해 디지털 데이터로 변환하고, 변환된 디지털 데이터를 기준 데이터(즉, 기준 값(REF0))와 비교함으로써, 타겟 비트를 결정한다.
그러나 본 발명의 실시 예에 따른 PUF 셀 장치(100)는 별도의 아날로그 디지털 변환기 및 별도의 기준 데이터를 사용하지 않고, 타겟 PUF 셀에 대한 타겟 비트(TB)를 판별할 수 있다. 일 예로서, 본 발명의 실시 예에 따른 PUF 셀 장치(100)는 복수의 PUF 셀들 중 타겟 PUF 셀과 대응되는 다른 PUF 셀들을 기반으로 중심 값을 생성, 연산, 또는 산출하고, 타겟 PUF 셀에 대응하는 타겟 값 및 중심 값을 비교하여 타겟 비트(TB)를 결정할 수 있다. 본 발명의 실시 예에 따른 PUF 셀 장치(100)의 구조 및 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
도 3은 도 1의 PUF 셀 장치를 예시적으로 보여주는 블록도이다. 도면의 간결성을 위하여, 복수의 PUF 셀들(PC)이 8x8 형태로 배열된 것으로 도시되나, 본 발명의 범위가 이에 한정되는 것은 아니다. PUF 셀 어레이(110)는 추가적인 PUF 셀들을 더 포함할 수 있고, 이에 따라 워드라인들의 개수 및 비트라인들의 개수가 증가할 수 있다. 예시적인 실시 예에서, 하나의 워드라인에 연결된 PUF 셀들(PC)의 개수는 적어도 "N"개일 수 있다. 이 때, "N"은 N개의 PUF 셀들로부터 획득된 값이 정규 분포 또는 가우시안 분포를 형성하는 최소 개수를 가리킬 수 있다. 예시적인 실시 예에서, "N"은 4개 내지 256개일 수 있다.
설명의 편의를 위하여, 복수의 PUF 셀들(PC) 각각으로부터 획득된 정보는 복수의 PUF 셀들(PC) 각각의 워드라인 바이어스에 따라 생성된 전류인 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, PUF 셀의 타입에 따라, PUF 셀로부터 획득된 정보는 다양하게 변형될 수 있다.
도 1 및 도 3을 참조하면, PUF 셀 장치(100)는 PUF 셀 어레이(110), 디코더(120), 비트라인 선택 회로(130), 비트 판별기(150), 및 전압 레귤레이터(150)를 포함할 수 있다.
PUF 셀 어레이(110)는 복수의 PUF 셀들(PC)을 포함할 수 있다. 복수의 PUF 셀들(PC)은 행 방향 및 열 방향을 따라 배열된 어레이를 형성할 수 있다. 복수의 PUF 셀들(PC)은 복수의 워드라인들(WL1~WL8) 및 복수의 비트라인들(BL1~BL8)과 각각 연결될 수 있다. 복수의 PUF 셀들(PC) 각각은 복수의 워드라인들(WL1~WL8) 중 대응하는 워드라인의 바이어스에 따라 전류를 출력하도록 구성될 수 있다. 앞서 설명된 바와 같이, 복수의 PUF 셀들(PC) 각각으로부터 출력된 전류는 복수의 PUF 셀들(PC) 각각의 물리적 특성 또는 주변 환경에 따라 다른 값을 가질 수 있다.
디코더(120)는 컨트롤러(101)로부터 제어 신호(CTRL)를 수신하고, 수신된 제어 신호(CTRL)를 디코딩할 수 있다. 예를 들어, 제어 신호(CTRL)는 복수의 PUF 셀들(PC) 중 타겟 비트(TB)가 판별될 타겟 PUF 셀에 대응하는 어드레스 정보를 포함할 수 있다. 디코더(120)는 타겟 PUF 셀에 대응하는 어드레스 정보를 디코딩하고, 디코딩 결과를 기반으로 복수의 워드라인들(WL1~WL8)을 제어할 수 있다. 디코더(120)는 디코딩 결과를 기반으로 비트라인 선택 신호(BS)를 비트라인 선택 회로(130)로 제공할 수 있다. 비트라인 선택 신호(BS)는 복수의 비트라인들(BL1~BL8) 중 타겟 PUF 셀과 대응되는 비트라인을 선택하기 위한 신호일 수 있다.
비트라인 선택 회로(130)는 디코더(120)로부터 비트라인 선택 신호(BS)를 수신하고, 수신된 비트라인 선택 신호(BS)를 기반으로 복수의 비트라인들(BL1~BL8)을 제어할 수 있다. 예를 들어, 비트라인 선택 신호(BS)가 제3 비트라인(BL3)과 대응되는 것으로 가정한다. 이 경우, 비트라인 선택 회로(130)는 제3 비트라인(BL3)을 통해 수신된 신호(예를 들어, 전류)를 타겟 전류(I_tg)로서 출력하고, 나머지 비트라인들(BL1, BL2, BL4~BL8)로부터 수신된 신호들(예를 들어, 전류들)의 합을 합 전류(I_sum)로서 출력할 수 있다.
비트 판별기(140)는 타겟 전류(I_tg) 및 합 전류(I_sum)를 수신할 수 있다. 비트 판별기(140)는 타겟 전류(I_tg) 및 합 전류(I_sum)를 기반으로 타겟 PUF 셀에 대한 타겟 비트(TB)를 결정할 수 있다. 예를 들어, 비트 판별기(140)는 합 전류(I_sum)를 소정의 값으로 나눌 수 있다. 예시적인 실시 예에서, 소정의 값은 하나의 워드라인에 연결된 PUF 셀들의 개수(예를 들어, N개)에서 1만큼 차감된 값(즉, N-1)일 수 있다. 즉, 상술된 바와 같이, 타겟 전류(I_tg)가 제3 비트라인(BL3)과 연결된 PUF 셀들 중 하나로부터 제공되고, 합 전류(I_sum)가 제1, 제2, 및 제4 내지 제8 비트라인들(BL1, BL2, BL4~BL8)과 연결된 PUF 셀들(즉, 7개의 PUF 셀들)로부터 제공된 경우, 합 전류(I_sum)는 "7"로 나뉠 수 있다. 즉, 비트 판별기(130)는 합 전류(I_sum)를 기반으로 단위 PUF 셀에 대한 평균 전류를 산출할 수 있다.
비트 판별기(130)는 산출된 결과 및 타겟 전류(I_tg)의 크기를 비교하고, 비교 결과에 따라 타겟 PUF 셀에 대한 타겟 비트(TB)를 결정할 수 있다.
전압 레귤레이터(150)는 복수의 워드라인들(WL1~WL8)로 제공될 전압(V)을 디코더(120)로 제공할 수 있다. 예시적인 실시 예에서, 복수의 워드라인들(WL1~WL8) 각각으로 제공되는 바이어스 전압 또는 활성 전압은 서로 동일한 레벨을 가질 수 있다. 또는, 복수의 워드라인들(WL1~WL8) 각각으로 제공되는 바이어스 전압 또는 활성 전압은 복수의 PUF 셀들(PC)의 물리적 특성에 따라 다를 수 있다. 또는, 복수의 워드라인들(WL1~WL8) 각각으로 제공되는 바이어스 전압 또는 활성 전압은 복수의 PUF 셀들(PC) 각각으로부터 수집된 정보가 정규 분포 또는 가우시안 분포를 형성할 수 있도록 서로 다른 레벨을 가질 수 있다.
도 4는 도 3의 복수의 PUF 셀들의 예시적인 구조를 보여주는 도면이다. 도 3 및 도 4를 참조하면, 복수의 PUF 셀들(PC) 중 어느 하나의 PUF 셀(PCa)은 제1 트랜지스터(TR1)를 포함할 수 있다. 제1 트랜지스터(TR1)의 게이트는 워드라인(WL)과 연결되고, 드레인은 비트라인(BL)과 연결될 수 있고, 소스는 특정 전압 레벨과 연결될 수 있다. 제1 트랜지스터(TR1)는 워드라인(WL)의 레벨에 따라 비트라인(BL)으로 출력되는 전류의 크기를 제어할 수 있다. 이 때, 제1 트랜지스터(TR1)의 물리적 특성에 따라 전류의 크기가 바뀔 수 있다. 즉, 복수의 PUF 셀들이 "PCa"와 같은 구조로 동일하게 형성되고, 동일한 워드라인 바이어스가 가해지더라도, 각 PUF 셀의 물리적 특성에 따라 비트라인(BL)을 통해 흐르는 전류가 다를 수 있다.
또는 복수의 PUF 셀들(PC) 중 어느 하나의 PUF 셀(PCb)은 제1 및 제2 트랜지스터들(TR1, TR2)을 포함할 수 있다. 제1 및 제2 트랜지스터들(TR1, TR2)은 특정 전압 레벨 및 비트라인(BL) 사이에 직렬로 연결되고, 워드라인(WL)의 레벨에 따라 동작할 수 있다. 앞서 설명된 바와 마찬가지로, 복수의 PUF 셀들이 "PCb"와 같은 구조로 동일하게 형성되고, 동일한 워드라인 바이어스가 가해지더라도, 각 PUF 셀의 물리적 특성에 따라 비트라인(BL)을 통해 흐르는 전류가 다를 수 있다.
도 4를 참조하여 설명된 트랜지스터 기반의 PUF 셀들(PCa, PCb)은 단순히 본 발명의 기술적 특징을 용이하게 설명하기 위한 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 복수의 PUF 셀들은 앞서 설명된 바와 같은 다양한 타입으로 구현될 수 있다.
도 5는 도 3의 PUF 셀 장치의 구성을 좀 더 상세하게 보여주는 도면이다. 도면의 간결성을 위하여, PUF 셀 어레이(110)는 제1 워드라인(WL1)와 연결된 제1 내지 제8 PUF 셀들(PC1~PC8)을 포함하는 것으로 도시되나, 본 발명의 범위가 이에 한정되는 것은 아니며, PUF 셀 어레이(110)는 복수의 워드라인들 및 복수의 비트라인들과 연결된 복수의 PUF 셀들을 더 포함할 수 있다. 도면의 간결성을 위하여, 일부 구성 요소들(예를 들어, 디코더(120) 및 전압 레귤레이터(150))이 생략된다.
도 3 및 도 5를 참조하면, PUF 셀 장치(100)는 PUF 셀 어레이(110), 비트라인 선택 회로(130), 및 비트 판별기(140)를 포함할 수 있다. PUF 셀 어레이(110)는 제1 내지 제8 PUF 셀들(PC1~PC8)을 포함할 수 있다. 제1 내지 제8 PUF 셀들(PC1~PC8)은 제1 워드라인(WL1)과 연결될 수 있다. 제1 내지 제8 PUF 셀들(PC1~PC8)은 제1 내지 제8 비트라인들(BL1~BL8)과 각각 연결될 수 있다. 제1 내지 제8 PUF 셀들(PC1~PC8)은 제1 워드라인(WL1)을 통해 제공되는 제1 전압(V1)에 응답하여, 제1 내지 제8 비트라인들(BL1~BL8)을 통해 제1 내지 제8 전류들(I1~I8)을 각각 출력할 수 있다.
비트라인 선택 회로(130)는 제1 내지 제8 선택기들(SEL1~SEL8)을 포함할 수 있다. 제1 내지 제8 선택기들(SEL1~SEL8)은 제1 내지 제8 비트라인들(BL1~BL8)과 각각 연결될 수 있다. 제1 내지 제8 선택기들(SEL1~SEL8) 각각은 비트라인 선택 신호들(BS1~BS8) 및 반전된 비트라인 선택 신호들(/BS1~/BS8)에 응답하여 동작할 수 있다.
예를 들어, 제1 선택기(SEL1)는, 제1 비트라인 선택 신호(BS1)에 응답하여 제1 비트라인(BL1)으로부터 출력된 제1 전류(I1)를 비트 판별기(140)의 제2 컨버터(142)로 제공하도록 구성된 제1 트랜지스터; 및 제1 반전 비트라인 선택 신호(/BS1)에 응답하여, 제1 비트라인(BL1)으로부터 출력된 제1 전류(I1)를 비트 판별기(140)의 제1 컨버터(141)로 제공하도록 구성된 제2 트랜지스터를 포함할 수 있다. 나머지 선택기들(SEL2~SEL8) 또한 대응하는 비트라인 선택 신호 및 대응하는 반전 비트라인 선택 신호에 응답하여 상술된 바와 유사하게 동작할 수 있으므로, 이에 대한 상세한 설명은 생략된다.
예시적인 실시 예에서, 비트라인 선택 신호들(BS1~BS8)은 타겟 PUF 셀에 대응하는 비트라인을 선택하기 위한 신호이고, 반전 비트라인 선택 신호들(/BS1~/BS8)은 나머지 PUF 셀들에 대응하는 비트라인들을 선택하기 위한 신호이다. 예를 들어, 타겟 PUF 셀이 제3 PUF 셀(PC3)인 것으로 가정한다. 이 경우, 제3 비트라인 선택 신호(BS3)가 활성화되고, 제1, 제2, 및 제4 내지 제8 반전 비트라인 선택 신호들(/BS1, /BS2, /BS4~/BS8)이 활성화될 수 있다. 이에 따라, 제3 비트라인(BL3)을 통해 출력되는 제3 전류(I3)는 제2 컨버터(142)로 제공되고, 제1, 제2, 및 제4 내지 제8 비트라인들(BL1, BL2, BL4~BL8)을 통해 출력되는 제1, 제2, 및 제4 내지 제8 전류들(I1, I2, I4~I8)은 합 전류(I_sum)로서 제1 컨버터(141)로 제공될 수 있다.
비트 판별기(140)는 제1 컨버터(141), 제2 컨버터(142), 및 비교기(COMP)를 포함할 수 있다. 제1 컨버터(141)는 복수의 선택기들(SEL1~SEL8)에 포함된 트랜지스터들 중 반전 비트라인 선택 신호들(/BS1~/BS8)에 응답하여 동작하는 트랜지스터와 연결될 수 있다. 제2 컨버터(142)는 복수의 선택기들(SEL1~SEL8)에 포함된 트랜지스터들 중 비트라인 선택 신호들(BS1~BS8)에 응답하여 동작하는 트랜지스터와 연결될 수 있다.
즉, 상술된 바와 같이, 제1 컨버터(141)는 타겟 PUF 셀을 제외한 나머지 PUF 셀들로부터 출력된 전류들의 합 전류(I_sum)를 수신할 수 있고, 제2 컨버터(142)는 타겟 PUF 셀로부터 출력된 타겟 전류(I_tg)를 수신할 수 있다. 제1 컨버터(141)는 수신된 합 전류(I_sum)를 변환하여 중심 값(CV)을 출력할 수 있고, 제2 컨버터(142)는 타겟 전류(I_tg)를 변환하여 타겟 값(TV)을 출력할 수 있다.
예시적인 실시 예에서, 중심 값(CV) 및 타겟 값(TV)은 합 전류(I_sum) 및 타겟 전류(I_tg)에 각각 대응하는 전압 레벨일 수 있다. 즉, 제1 컨버터(141) 및 제2 컨버터는 전류-전압 변환기일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 제1 및 제2 변환기들(141, 142)은 수신된 전류를 일정 비율로 복제하도록 구성된 전류 미러로 구현될 수 있다.
예시적인 실시 예에서, 제1 컨버터(141)는 합 전류(I_sum)를 소정의 값으로 나눔으로써, 중심 값(CV)을 결정할 수 있다. 즉, 제1 컨버터(141)는 합 전류(I_sum)를 소정의 값으로 나누도록 구성된 분배기(DIV)의 기능을 제공할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 타겟 PUF 셀이 제3 PUF 셀(PC3)인 경우, 합 전류(I_sum)는 7개의 PUF 셀들(예를 들어, PC1, PC2, PC4~PC8)로부터 출력된 전류들(예를 들어, I1, I2, I4~I8)의 합일 것이다. 즉, 제1 컨버터(141)는 합 전류(I_sum)를 "7"로 나눔으로써, 중심 값(CV)에 대응하는 전류 값을 산출할 수 있다. 예시적인 실시 예에서, 중심 값(CV)은 제1 워드라인(WL1)과 연결된 복수의 PUF 셀들(PC1~PC8)(단, PUF 셀들의 개수는 8개보다 많을 수 있음.)로부터 획득된 정보(즉, 전류)에 의해 형성된 정규 분포 또는 가우시안 분포의 중심 값(central value)를 가리킬 수 있다. 즉, 복수의 PUF 셀들의 개수가 특정 개수(예를 들어, 4개 내지 256개 또는 그 이상) 이상인 경우, 복수의 PUF 셀들 중 타겟 PUF 셀을 제외한 나머지 PUF 셀들 또한 정규 분포 또는 가우시안 분포를 형성하며, 이에 따라, 나머지 PUF 셀들을 사용하여 중심 값(CV)이 산출될 수 있다.
예시적인 실시 예에서, 제1 컨버터(141)의 분배 비율은 합 전류(I_sum)에 대응하는 PUF 셀들의 개수를 기반으로 결정될 수 있다. 예시적인 실시 예에서, 제1 컨버터(141)의 분배 비율은 합 전류(I_sum)에 대응하는 PUF 셀들의 개수보다 소정의 값만큼 크거나 또는 소정의 값만큼 작을 수 있다.
예시적인 실시 예에서, 제2 컨버터(142)는 타겟 전류(I_tg)에 대한 별도의 분배없이 타겟 값(TV)을 결정할 수 있다. 또는 제2 컨버터(142)는 미리 정해진 비율을 기반으로 타겟 전류(I_tg)를 분배함으로써, 타겟 값(TV)을 결정할 수 있다. 예시적인 실시 예에서, 제2 컨버터(142)의 제2 분배 비율은 제1 컨버터(141)의 제1 분배 비율에 기반될 수 있다. 또는, 제2 컨버터(142)의 제2 분배 비율은 제1 컨버터(141)의 제1 분배 비율보다 작을 수 있다.
비교기(COMP)는 제1 컨버터(141)로부터 중심 값(CV)을 수신하고, 제2 컨버터(142)로부터 타겟 값(TV)을 수신할 수 있다. 비교기(COMP)는 중심 값(CV) 및 타겟 값(TV)을 비교하고, 비교 결과로서 타겟 비트(TB)를 출력할 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 PUF 셀 장치(100)는 별도의 아날로그 디지털 변환기 및 별도의 기준 데이터 없이 복수의 PUF 셀들(PC) 중 일부 PUF 셀들을 사용하여 중심 값(CV)을 산출하고, 산출된 중심 값(CV) 및 타겟 PUF 셀에 대한 타겟 값(TV)을 비교함으로써, 타겟 PUF 셀에 대한 타겟 비트(TB)를 결정할 수 있다. 따라서, 회로 복잡도가 감소하며, 향상된 신뢰성을 갖는 PUF 셀 장치가 제공된다.
도 6은 도 3 및 도 5의 PUF 셀 장치의 동작을 예시적으로 보여주는 순서도이다. 간결한 설명을 위하여, 앞서 설명된 구성들에 대한 상세한 설명은 생략된다. 도 3, 도 5, 및 도 6을 참조하면, S110 단계에서, PUF 셀 장치(100)는 타겟 PUF 셀을 선택할 수 있다. 예를 들어, PUF 셀 장치(100)는 컨트롤러(101)로부터 제어 신호(CTRL)를 수신하고, 수신된 제어 신호(CTRL)를 기반으로 복수의 PUF 셀들(PC) 중 타겟 PUF 셀을 선택할 수 있다.
S120 단계에서, PUF 셀 장치(100)는 선택된 타겟 PUF 셀에 대응하는 워드라인으로 제1 전압(V1)을 제공할 수 있다. 예시적인 실시 예에서, 제1 전압(V1)은 제1 워드라인(WL1)과 연결된 복수의 PUF 셀들 각각으로부터 서로 다른 크기의 전류들을 획득하기 위한 레벨을 가질 수 있다.
S130 단계에서, PUF 셀 장치(100)는 중심 값(CV)을 생성할 수 있다. 예를 들어, 도 5를 참조하여 설명된 바와 같이, PUF 셀 장치(100)는 타겟 PUF 셀에 대응하는 워드라인과 연결된 복수의 PUF 셀들 중 타겟 PUF 셀을 제외한 나머지 PUF 셀들로부터의 전류들의 합 전류(I_sum)를 획득하고, 획득한 합 전류(I_sum)를 기반으로 중심 값(CV)을 생성할 수 있다.
S140 단계에서, PUF 셀 장치(100)는 타겟 값(TV) 및 중심 값(CV)을 비교할 수 있다. 예를 들어, 도 5를 참조하여 설명된 바와 같이, 타겟 값(TV)은 타겟 PUF 셀로부터 획득한 타겟 전류(I_tg)에 대응하는 값이고, 중심 값(CV)은 나머지 PUF 셀들로부터 획득한 합 전류(I_sum)를 기반으로 생성된 값일 수 있다. PUF 셀 장치(100)는 타겟 값(TV)이 중심 값(CV)보다 큰지 판별할 수 있다.
타겟 값(TV)이 중심 값(CV)보다 큰 경우, S151 단계에서, PUF 셀 장치(100)는 타겟 비트(TB)를 제1 값(예를 들어, "비트 1")로 결정할 수 있다. 타겟 값(TV)이 중심 값(CV)보다 작은 경우, S152 단계에서, PUF 셀 장치(100)는 타겟 비트(TB)를 제2 값(예를 들어, "비트 0")으로 결정할 수 있다.
S160 단계에서, PUF 셀 장치(100)는 결정된 타겟 비트(TB)를 출력할 수 있다.
도 7은 도 3의 PUF 셀 장치의 동작을 설명하기 위한 도면이다. 도 7의 분포도의 가로축은 PUF 셀들로부터 획득된 정보(예를 들어, 미스매치 정보 또는 전류량 등)를 가리킨다.
도 3 및 도 7을 참조하면, PUF 셀 장치(100)에 포함된 복수의 PUF 셀들(PC)로부터 획득된 정보는 제1 분포(DB1)를 가질 수 있다. 제1 분포(DB1)의 중심 값은 기준 값(REF0)이며, 이는 도 2를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
예시적인 실시 예에서, 제1 워드라인(WL1)에 연결된 복수의 PUF 셀들(PC)로부터 획득된 정보는 제1 서브 분포(sDB1)를 가질 수 있고, 제2 워드라인(WL2)에 연결된 복수의 PUF 셀들(PC)로부터 획득된 정보는 제2 서브 분포(sDB2)를 가질 수 있다. 도 7에 도시된 바와 같이, 제1 및 제2 서브 분포들(sDB1, sDB2) 각각은 정규 분포 또는 가우시안 분포의 형태를 가질 수 있다.
즉, 제1 워드라인(WL1)과 연결된 복수의 PUF 셀들 중에서 제1 타겟 PUF 셀이 선택된 경우, 제1 워드라인(WL1)와 연결된 복수의 PUF 셀들 중 타겟 PUF 셀을 제외한 나머지 PUF 셀들로부터 획득된 정보의 평균치는 제1 중심 값(CVa)을 가질 것이다. 이에 따라, 제1 타겟 PUF 셀로부터 획득된 정보에 기반된 제1 타겟 값과 제1 중심 값(CVa)을 비교함으로써, 제1 타겟 PUF 셀이 양의 극성을 갖는 양의 PUF 셀(+PC)인지 또는 음의 극성을 갖는 음의 PUF 셀(-PC)인지 결정될 수 있다.
마찬가지로, 제2 워드라인(WL2)과 연결된 복수의 PUF 셀들 중에서 제2 타겟 PUF 셀이 선택된 경우, 제2 워드라인(WL2)와 연결된 복수의 PUF 셀들 중 제2 타겟 PUF 셀을 제외한 나머지 PUF 셀들로부터 획득된 정보의 평균치는 제2 중심 값(CVb)을 가질 것이다. 이에 따라, 제2 타겟 PUF 셀로부터 획득된 정보에 기반된 제2 타겟 값과 제2 중심 값(CVa)을 비교함으로써, 제1 타겟 PUF 셀이 양의 극성을 갖는 양의 PUF 셀(+PC)인지 또는 음의 극성을 갖는 음의 PUF 셀(-PC)인지 결정될 수 있다.
상술된 바와 같이, 본 발명의 PUF 셀 장치(100)의 복수의 PUF 셀들은 워드라인 단위로 서로 다른 정규 분포 또는 가우시안 분포를 형성할 수 있다. 따라서, 본 발명의 PUF 셀 장치(100)는 타겟 PUF 셀과 동일한 워드라인의 PUF 셀들을 사용하여 중심 값을 산출하고, 산출된 중심 값을 기반으로 타겟 PUF 셀에 대한 타겟 비트를 결정할 수 있다.
도 8은 도 3의 PUF 셀 장치의 타겟 비트 결정 방법을 좀 더 상세하게 설명하기 위한 도면이다. 도 3 및 도 8을 참조하면, PUF 셀 장치(100)는 PUF 셀 어레이(110), 비트라인 선택 회로(130), 및 비트 판별기(140)를 포함할 수 있다. PUF 셀 어레이(110)는 제1 워드라인(WL1) 및 복수의 비트라인들(BL1~BL8)과 연결된 복수의 PUF 셀들(PC1~PC8)을 포함할 수 있다. 비트라인 선택 회로(130)는 복수의 선택기들(SEL1~SEL8)을 포함할 수 있다. 비트 판별기(140)는 제1 및 제2 변환기들(141, 142) 및 비교기(COMP)를 포함할 수 있다. 상술된 구성 요소들은 앞서 설명되었으므로, 간결한 설명을 위하여, 이에 대한 상세한 설명은 생략된다. 또한, 제3 PUF 셀(PC3)이 타겟 PUF 셀인 것으로 가정하며, 제3 PUF 셀(PC3)에 대한 타겟 비트(TB)를 결정하는 과정을 설명하는데 불필요한 구성 요소들은 생략된다.
제3 PUF 셀(PC3)이 타겟 PUF 셀(Target PUF cell)로 선택된 경우, 제3 PUF 셀(PC3)과 연결된 제1 워드라인(WL1)으로 제1 전압(V1)이 제공될 수 있다. 제1 워드라인(WL1)의 제1 전압(V1)에 응답하여, 복수의 PUF 셀들(PC1~PC8)은 각각 복수의 비트라인들(BL1~BL8)을 통해 복수의 전류들(I1~I8)을 출력할 수 있다.
제3 PUF 셀(PC3)이 타겟 PUF 셀이므로, 제3 PUF 셀(PC3)과 연결된 제3 비트라인(BL3)을 선택하기 위한 제3 비트라인 선택 신호(BS3)가 활성화될 수 있고, 나미지 비트라인들(BL1, BL2, BL4~BL8)에 대한 반전 비트라인 신호들(/BS1, /BS2, /BS4~/BS8)이 활성화될 수 있다. 즉, 제3 선택기(SEL3)는, 제3 비트라인 선택 신호(BS3)에 응답하여, 제3 비트라인(BL3)을 통해 제공되는 제3 전류(I3)를 타겟 전류(I_tg)로서 제2 컨버터(142)로 제공할 수 있다. 제1, 제2, 및 제4 내지 제8 선택기들(SEL1, SEL2, SLE4~SEL8)은 각각 제1, 제2, 및 제4 내지 제8 반전 비트라인 선택 신호(/BS1, /BS2, /BS4~/BS8)에 응답하여, 제1, 제2, 및 제4 내지 제8 비트라인들(BL1, BL2, BL4~BL8)을 통해 제공되는 제1, 제2, 및 제4 내지 제8 전류들(I1, I2, I4~I8)을 합 전류(I_sum)로서 제1 컨버터(141)로 제공할 수 있다.
제1 컨버터(141)는 합 전류(I_sum)를 기반으로 중심 값(CV)를 출력할 수 잇고, 제2 컨버터(142)는 제3 전류(I3)(즉, 타겟 전류)를 기반으로 타겟 값(TV)을 출력할 수 있다. 비교기(COMP)는 타겟 값(TV) 및 중심 값(CV)을 비교하고, 비교 결과로서 제3 PUF 셀(PC3)에 대한 타겟 비트(TB)를 출력할 수 있다.
도 9는 본 발명의 실시 예에 따른 PUF 셀 어레이를 예시적으로 보여주는 도면이다. 도 9를 참조하면, PUF 셀 어레이(110A)는 복수의 PUF 셀들(PC)을 포함할 수 있고, 복수의 PUF 셀들(PC)은 복수의 워드라인들(WL1~WL6) 및 복수의 비트라인들(BL11~BL18, BL21~BL28)과 연결될 수 있다. 예시적인 실시 예에서, PUF 셀 어레이(110A)에 포함된 PUF 셀들의 개수, 워드라인들의 개수, 또는 비트라인들의 개수가 도 9에 도시된 구성에 한정되지 않는다.
도 2를 참조하여 설명된 PUF 셀 어레이(110)와 달리 도 9의 PUF 셀 어레이(110A)의 복수의 PUF 셀들(PC)은 제1 그룹의 비트라인들(BL11~BL18) 및 제2 그룹의 비트라인들(BL21~BL28)과 연결될 수 있다. 예를 들어, 제1, 제3, 및 제5 워드라인들(WL1, WL3, WL5)과 연결된 PUF 셀들(PC)은 제1 그룹의 비트라인들(BL11~BL18)과 연결되고, 제2, 제4, 및 제6 워드라인들(WL2, WL4, WL6)과 연결된 PUF 셀들(PC)은 제2 그룹의 비트라인들(BL11~BL18)과 연결될 수 있다. 즉, 제1, 제3, 및 제5 워드라인들(WL1, WL3, WL5)과 연결된 PUF 셀들(PC) 및 제2, 제4, 및 제6 워드라인들(WL2, WL4, WL6)과 연결된 PUF 셀들(PC)은 서로 다른 그룹의 비트라인들과 연결되고, 서로 독립적으로 동작할 수 있다.
도 10a는 도 9의 PUF 셀 어레이가 적용된 PUF 셀 장치를 예시적으로 보여주는 도면이다. 도 10b 내지 도 10d는 도 10a의 PUF 셀 장치의 동작을 설명하기 위한 도면들이다. 설명의 편의를 위하여 중복되는 구성 요소들에 대한 상세한 설명은 생략된다.
도 10a 내지 도 10d를 참조하면, PUF 셀 장치(100A)는 PUF 셀 어레이(110A), 제1 및 제2 비트라인 선택 회로들(131, 132), 및 비트 판별기(140A)를 포함할 수 있다. PUF 셀 어레이(110A)는 복수의 PUF 셀들(PC11~PC18, PC21~PC28)을 포함할 수 있다. 복수의 PUF 셀들(PC11~PC18, PC21~PC28)은 제1 및 제2 워드라인들(WL1, WL2)과 연결될 수 있다. 제1 워드라인(WL1)과 연결된 PUF 셀들(PC11~PC18)은 제1 그룹의 비트라인들(BL11~BL18)과 연결될 수 있고, 제2 워드라인(WL2)과 연결된 PUF 셀들(PC21~PC28)은 제2 그룹의 비트라인들(BL21~BL28)과 연결될 수 있다.
제1 비트라인 선택 회로(131)는 제1 그룹의 비트라인들(BL11~BL18)과 연결될 수 있다. 예시적인 실시 예에서, 제1 비트라인 선택 회로(131)는 도 5 및 도 8을 참조하여 설명된 선택기들을 포함할 수 있다. 제1 비트라인 선택 회로(131)에 포함된 선택기들은 제1 그룹의 비트라인들(BL11~BL18)과 각각 연결되고, 대응하는 비트라인 선택 신호 또는 대응하는 반전 비트라인 선택 신호에 응답하여 동작할 수 있다. 제2 비트라인 선택 회로(132)는 제2 그룹의 비트라인들(BL21~BL28)과 연결될 수 있다. 예시적인 실시 예에서, 제2 비트라인 선택 회로(132)는 도 5 및 도 8을 참조하여 설명된 선택기들을 포함할 수 있다. 제2 비트라인 선택 회로(132)에 포함된 선택기들은 제2 그룹의 비트라인들(BL21~BL28)과 각각 연결되고, 대응하는 비트라인 선택 신호 또는 대응하는 반전 비트라인 선택 신호에 응답하여 동작할 수 있다. 도면의 간결성 및 설명의 편의를 위하여, 선택기의 구체적인 구성 및 설명은 앞서 설명된 바와 유사하므로, 생략된다.
제1 변환기(141A)는 제1 비트라인 선택 회로(110)로부터 수신된 정보(예를 들어, 전류)를 기반으로 타겟 값(TV) 또는 중심 값(CV)을 출력할 수 있다.
예시적인 실시 예에서, 제1 비트라인 선택 회로(131)는 타겟 전류 또는 합 전류를 제1 변환기(141)로 제공할 수 있고, 제2 비트라인 선택 회로(132)는 합 전류 또는 타겟 전류(142)를 제2 변환기로 제공할 수 있다.
예를 들어, 도 10b에 도시된 바와 같이, 제1 워드라인과 연결된 PUF 셀(PC13)이 타겟 PUF 셀인 것으로 가정한다. 이 때, 제1 및 제2 워드라인들(WL1, WL2)로 제1 전압(V1)이 인가될 수 있다. 예시적인 실시 예에서, 제1 및 제2 워드라인들(WL1, WL2)에 인가되는 전압들은 제1 및 제2 워드라인들과 연결된 복수의 PUF 셀들(PC11~PC18, PC21~PC28)의 물리적 특성에 따라 서로 다르게 설정될 수 있다. 제1 및 제2 워드라인들(WL1, WL2)로 인가된 제1 전압(V1)에 응답하여, 복수의 PUF 셀들(PC11~PC18, PC21~PC28)은 각각 대응하는 전류를 출력할 수 있다.
제1 비트라인 선택 회로(131)는 제3 비트라인 선택 신호(BS3)에 응답하여 제1 워드라인(WL1) 및 제1 그룹의 제3 비트라인(BL13)과 연결된 PUF 셀(PC13)로부터 출력된 전류(I13)를 제2 컨버터(142)로 제공할 수 있다. 이 때, 전류(I13)는 타겟 전류(I_tg)일 수 있다. 제2 컨버터(142)는 전류(I13)를 기반으로 타겟 값(TV)을 출력할 수 있다.
제2 비트라인 선택 회로(132)는 반전 비트라인 선택 신호들(/BS1, /BS2, /BS4~/BS8)에 응답하여, 제2 그룹의 일부 비트라인들(BL21, BL22, BL24~BL28)을 통해 제공되는 전류들을 합 전류(I_sum2)로서 제1 컨버터(141)로 제공할 수 있다. 제1 컨버터(141)는 제2 비트라인 선택 회로(132)로부터 제공된 합 전류(I_sum2)를 기반으로 중심 값(CV)을 출력할 수 있다. 비교기(COMP)는 타겟 값(TV) 및 중심 값(CV)을 비교하고, 비교 결과로서, 제3 PUF 셀에 대한 타겟 비트(TB)를 출력할 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 PUF 셀 장치(100A)는 타겟 PUF 셀에 대응하는 워드라인과 다른 워드라인과 연결된 PUF 셀들 중 일부 PUF 셀들로부터 획득한 합 전류를 기반으로 중심 값(CV)을 산출할 수 있다. 이 때 일부 PUF 셀들은 다른 워드라인과 연결된 PUF 셀들 중 타겟 PUF 셀에 대응하는 비트라인과 대응되지 않은 비트라인들과 연결된 PUF 셀들을 가리킬 수 있다. 즉, 도 10b의 실시 예에서, 타겟 PUF 셀이 제1 그룹의 제3 비트라인(BL13)과 연결된 경우, 중심 값(CV)을 산출하는데 사용되는 PUF 셀들은 제2 워드라인(WL1) 및 제2 그룹의 제1, 제2, 및 제4 내지 제8 비트라인들(BL21, BL22, BL24~BL28)과 연결된 PUF 셀들(PC21, PC22, PC4~PC28)일 수 있다.
그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 도 10c에 도시된 바와 같이, 타겟 PUF 셀(예를 들어, PC13)이 제1 워드라인(WL1)과 연결된 경우, 제2 워드라인(WL2)과 연결된 PUF 셀들(PC21~PC28) 전체가 중심 값(CV)을 산출하는데 사용될 수 있다. 이 때, 제2 비트라인 선택 회로(132)가 제1 내지 제8 반전 비트라인 선택 신호(/BS1~/BS8)를 수신하고, 제2 워드라인(WL2)과 연결된 PUF 셀들(PC21~PC28) 전체가 중심 값(CV)을 산출하는데 사용된다는 점을 제외하면, 앞서 설명된 바와 유사하므로, 이에 대한 상세한 설명은 생략된다.
그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 도 10d에 도시된 바와 같이, 타겟 PUF 셀(예를 들어, PC13)이 제1 워드라인과 연결된 경우, 제1 및 제2 워드라인들(WL1, WL2)과 연결된 복수의 PUF 셀들(PC11~PC18, PC21~PC28) 중 타겟 PUF 셀(PC13)을 제외한 나머지 PUF 셀들(PC11, PC12, PC14~PC18, PC21~PC28)이 모두 중심 값(CV)을 산출하는데 사용될 수 있다. 이 경우, 제2 비트라인 선택 회로(132)는 제2 워드라인(WL2)과 연결된 PUF 셀들(PC21~PC28)로부터의 전류들을 제2 합 전류(I_sum2)로서 제1 컨버터(141)로 제공하고, 제1 비트라인 선택 회로(131)는 제1 워드라인(WL1)과 연결된 PUF 셀들(PC11~PC18) 중 타겟 PUF 셀(PC13)을 제외한 나머지 PUF 셀들(PC11~PC18)로부터의 전류들을 제1 합 전류(I_sum1)로서 제1 컨버터(141)로 제공할 수 있다. 제1 컨버터(141)는 제1 합 전류(I_sum1) 및 제2 합 전류(I_sum2) 전체를 기반으로 중심 값(CV)을 산출할 수 있다.
예시적인 실시 예에서, 중심 값(CV)을 산출하는데 사용되는 PUF 셀들의 개수에 따라, 제1 컨버터(141) 또는 제2 컨버터(142)에서의 분배 비율이 달라질 수 있다.
상술된 실시 예들은 본 발명의 기술적 특징을 용이하게 설명하기 위한 단순한 예시들이며 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, PUF 셀 장치에 포함된 PUF 셀들의 개수, 워드라인들의 개수, 또는 비트라인들의 개수는 다양하게 변형될 수 있다. 또한, 중심 값(CV)을 산출하기 위해 사용되는 PUF 셀들은 PUF 셀 어레이의 구조에 따라 다양하게 결정될 수 있다. 예를 들어, 도 10a 내지 도 10b를 참조하여, 타겟 PUF 셀 워드라인과 인접한 워드라인의 PUF 셀들을 사용하여 중심 값을 산출하는 실시 예가 설명되었으나, 타겟 PUF 셀의 워드라인과 물리적으로 이격된 워드라인의 PUF 셀들이 중심 값을 산출하는데 사용될 수 있다. 또는 복수의 워드라인들과 연결된 복수의 PUF 셀들이 중심 값을 산출하는데 사용될 수 있다.
도 11은 PUF 셀 장치의 신뢰성을 향상시키는 방안을 설명하기 위한 도면이다. 도 11을 참조하면, 앞서 설명된 바와 같이 PUF 셀 장치의 복수의 PUF 셀들로부터 획득된 정보는 제1 분포(DB1)와 같은 정규 분포 또는 가우시안 분포를 가질 수 있으며, 기준 값(REF0)을 기반으로 PUF 셀에 대한 극성 또는 타겟 비트(TB)가 결정될 수 있다. PUF 셀들은 주변의 다양한 환경(예를 들어, 동작 온도, 동작 전압 등)에 따라 출력되는 정보가 변화할 수 있다. 즉, 기준 값(REF0)과 가까운 정보를 출력하는 PUF 셀은 주변의 다양한 요인으로 인하여 출력되는 정보가 변화할 수 있고, 이에 따라 PUF 셀에 대한 극성 또는 판별 비트가 바뀔 수 있다. 이는 PUF 셀 장치의 신뢰성을 저하시키는 요인이 된다.
이에 따라, 종래의 PUF 셀 장치는 별도의 테스트 동작을 통해 PUF 셀 장치에 포함된 복수의 PUF 셀들 각각에 대한 정보를 수집하고, 수집된 정보를 아날로그-디지털 변환기를 통해 디지털 데이터로 변환하고, 변환된 디지털 데이터를 기반으로 기준 값(REF0)으로부터 "-a" 또는 "+a" 내에 위치한 정보를 갖는 PUF 셀들을 제거(discard)할 수 있다. 특정 PUF 셀을 제거하는 것은 이후의 PUF 셀 동작에서, 특정 PUF 셀을 타겟 PUF 셀로 선택하지 않음을 의미한다. 즉, 상대적으로 신뢰성이 낮은 PUF 셀들을 제거함으로써, PUF 셀 장치의 전체적인 신뢰성을 향상시킬 수 있다.
그러나 앞서 설명된 바와 같이, 신뢰성이 낮은 PUF 셀을 제거하기 위해서는, 별도의 아날로그 디지털 변환기를 통해 모든 PUF 셀에 대한 정보를 디지털 데이터로 변환하는 것, 별도의 기준 값(REF0)을 설정하는 것 등의 문제점이 있다.
본 발명의 실시 예에 따른 PUF 셀 장치(100)는 중심 값(CV)에 대한 분배 비율을 조절하여 타겟 비트를 결정함으로써, 불안정 PUF 셀들을 좀 더 용이하게 판별하고 제거할 수 있다.
도 12a 및 도 12b는 도 1의 PUF 셀 장치의 불안정 PUF 셀 또는 유효 PUF 셀을 판별하는 동작을 예시적으로 보여주는 순서도이다. 도 1, 도 2, 도 12a, 및 도 12b를 참조하면, S211 단계에서, PUF 셀 장치(100)는 타겟 PUF 셀을 선택할 수 있다.
S212 단계에서, PUF 셀 장치(100)는 타겟 값(TV)을 생성하고, 제1 분배 비율(N-a)을 기반으로 제1 중심 값(CV1)을 생성할 수 있다. 예시적인 실시 예에서, N은 양의 정수일 수 있으나, "a"는 실수일 수 있다. 예를 들어, PUF 셀 장치(100)는 도 1 내지 도 10d를 참조하여 설명된 동작 방법을 기반으로 타겟 PUF 셀에 대응하는 타겟 값(TV) 및 제1 중심 값(CV1)을 생성할 수 있다. 이 때, 제1 중심 값(CV1)에 대한 분배 비율은 미리 정해진 분배 비율보다 작을 수 있다. 좀 더 상세한 예로서, "N"개의 PUF 셀들을 사용하여 중심 값을 산출하는 경우, 앞서 설명된 실시 예들에서는, "N"의 분배 비율을 기반으로 제0 중심 값(CV0)을 산출할 수 있다. 그러나 S212 단계에서는, "N"개의 PUF 셀들을 사용하여 중심 값을 산출하는 경우, "N-a"의 분배 비율(즉, 앞선 실시 예들보다 적은 크기의 분배 비율)을 기반으로 중심 값을 산출할 수 있다. 이 경우, 도 12b에 도시된 바와 같이, "N-a"의 분배 비율을 기반으로 산출된 제1 중심 값(CV1)은 "N"의 분배 비율에 따라 산출된 제0 중심 값(CV0)보다 클 수 있다.
S213 단계에서, PUF 셀 장치(100)는 타겟 값(TV) 및 제1 중심 값(CV1)을 비교할 수 있다. 타겟 값(TV)이 제1 중심 값(CV1)보다 크지 않은 경우, PUF 셀 장치(100)는 S215 단계로 진행한다. 타겟 값(TV)이 제1 중심 값(CV1)보다 큰 경우, S214 단계에서, PUF 셀 장치(100)는 선택된 타겟 PUF 셀을 유효 PUF 셀로 결정한다. 예를 들어, 도 12b에 도시된 바와 같이, 타겟 값(TV)이 제1 중심 값(CV1)보다 크다는 것은, 타겟 값(TV)이 제0 중심 값(CV0)으로부터 소정의 거리(예를 들어, 논리적 거리)만큼 이격된 것을 의미할 수 있다. 즉, 타겟 PUF 셀로부터 출력되는 정보가 다양한 주변 환경에 따라 변화하더라도, 타겟 PUF 셀에 대한 타겟 값(TV)이 제0 중심 값(CV0)보다 낮아질 확률은 매우 낮을 것이다. 즉, 제1 중심 값(CV1)보다 높은 타겟 값(TV)을 갖는 타겟 PUF 셀은 안정 PUF 셀일 수 있다.
S214 단계 이후에, 또는 S213 단계에서 타겟 값(TV)이 제1 중심 값(CV1)보다 크지 않은 것으로 판단된 경우, S215 단계에서, PUF 셀 장치(100)는 모든 PUF 셀들에 대하여 상술된 동작이 완료되었는지 판별할 수 있다. 모든 PUF 셀들에 대하여 상술된 동작이 완료되지 않은 경우, S216 단계에서, PUF 셀 장치는 다음 타겟 PUF 셀을 선택할 수 있다. 이후에, PUF 셀 장치(100)는 S212 단계 내지 S216 단계를 반복할 수 있다.
상술된 바와 같이, 본 발명의 PUF 셀 장치(100)는 S211 단계 내지 S216 단계의 동작들을 수행함으로써, 소정의 분배 비율보다 낮은 분배 비율을 사용하여 제1 중심 값(즉, 제0 중심 값보다 큼)을 산출하고, 산출된 제1 중심 값보다 큰 타겟 값을 갖는 PUF 셀들을 유효 PUF 셀로 결정할 수 있다.
다음으로, S221 단계에서, PUF 셀 장치(100)는 타겟 PUF 셀을 선택할 수 있다. S222 단계에서, PUF 셀 장치(100)는 타겟 값(TV)을 생성하고, 제2 분배 비율(N+a)을 기반으로 제2 중심 값(CV2)을 생성할 수 있다. 예를 들어, PUF 셀 장치(100)는 도 1 내지 도 10d를 참조하여 설명된 동작 방법을 기반으로 타겟 PUF 셀에 대응하는 타겟 값(TV) 및 제2 중심 값(CV2)을 생성할 수 있다. 이 때, 앞서 설명된 바와 같이, N개의 PUF 셀들을 사용하여 중심 값이 산출되는 경우, "N"의 분배 비율을 기반으로 제0 중심 값(CV0)이 산출될 수 있다. 반면에, S221 단계에서는, "N"의 분배 비율보다 큰 "N+a"의 분배 비율을 기반으로 제2 중심 값(CV2)이 산출될 수 있다. 이 경우, 제2 중심 값(CV2)은, 도 12b에 도시된 바와 같이 제0 중심 값(CV0)보다 작을 수 있다.
S223 단계에서, PUF 셀 장치(100)는 타겟 값(TV)이 제2 중심 값(CV2)보다 작은지 판별할 수 있다.
타겟 값(TV)이 제2 중심 값(CV2)보다 작지 않은 경우, PUF 셀 장치(100)는 S225 단계로 진행한다. 타겟 값(TV)이 제2 중심 값(CV2)보다 작은 경우, S215 단계에서, PUF 셀 장치(100)는 선택된 타겟 PUF 셀을 유효 PUF 셀로 결정할 수 있다. 예를 들어, 도 12b에 도시된 바와 같이, 타겟 값(TV)이 제2 중심 값(CV2)보다 작다는 것은 타겟 값(TV)이 제0 중심 값(CV0)으로부터 소정의 거리(예를 들어, 논리적 거리)만큼 이격된 것을 의미할 수 있다. 즉, 타겟 PUF 셀로부터 출력되는 정보가 다양한 주변 환경에 따라 변화하더라도, 타겟 PUF 셀에 대한 타겟 값(TV)이 제0 중심 값(CV0)보다 높아질 확률은 매우 낮을 것이다. 즉, 제2 중심 값(CV2)보다 높은 타겟 값(TV)을 갖는 타겟 PUF 셀은 안정 PUF 셀일 수 있다.
이후에, PUF 셀 장치(100)는 S225 단계 및 S226 단계의 동작들을 수행할 수 있다. S225 단계 및 S226 단계의 동작들은 앞서 설명된 S215 단계 및 S216 단계의 동작들과 유사하므로, 이에 대한 상세한 설명은 생략된다.
상술된 바와 같이, 본 발명의 PUF 셀 장치(100)는 S221 단계 내지 S226 단계의 동작들을 수행함으로써, 소정의 분배 비율보다 높은 분배 비율을 사용하여 제2 중심 값(CV2)(즉, 제0 중심 값보다 작음)을 산출하고, 산출된 제2 중심 값(CV2)보다 작은 타겟 값을 갖는 PUF 셀들을 유효 PUF 셀로 결정할 수 있다.
이후에 S230 단계에서, PUF 셀 장치(100)는 유효 PUF 셀들에 대한 정보를 저장할 수 있다. 예를 들어, PUF 셀 장치(100)는 유효 PUF 셀들의 어드레스 정보를 저장할 수 있다. 이 때, 저장되는 정보는 단순히 유효 PUF 셀들의 어드레스 정보이며, 유효 PUF 셀들의 극성 또는 타겟 값 등에 대한 다른 정보(즉, 비트 값을 결정할 수 있는 정보)가 별도로 저장되지 않기 때문에, 어드레스 정보가 유출 또는 해킹되더라도, 타겟 비트 또는 보안 키가 복원하는 것은 불가능하다.
비록 도면의 간결성 및 설명의 편의를 위하여, S230 단계를 별도로 도시하였으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, S230 단계의 동작은 S214 단계 또는 S224 단계에서 개별적으로 수행될 수 있다. 또는, S230 단계의 동작은 컨트롤러(101)에 의해 수행될 수 있다. 예를 들어, S213 단계의 결과에 따라, 타겟 PUF 셀에 대한 타겟 비트(TB)로서 제1 값 또는 제2 값이 출력될 수 있다. 컨트롤러(101)는, 타겟 값(TV)이 제1 중심 값(CV1)보다 높음을 가리키는 제1 값을 수신한 경우, 타겟 PUF 셀을 유효 PUF 셀로 결정할 수 있고, 타겟 값(TV)이 제1 중심 값(CV1)보다 낮음을 가리키는 제2 값을 수신한 경우, 타겟 PUF 셀에 대한 별도의 판단을 행하지 않을 수 있다. 예시적인 실시 예에서, 유효 PUF 셀로 결정된 타겟 PUF 셀에 대한 정보(예를 들어, 어드레스 정보)는 컨트롤러(101)의 별도의 메모리에 저장될 수 있다.
예시적인 실시 예에서, 복수의 PUF 셀들 중 유효 PUF 셀들로 결정되지 않은 PUF 셀들은 도 12b에 도시된 바와 같이, 무효 PUF 셀들로 관리될 것이다. 예시적인 실시 예에서, 무효 PUF 셀들은 이후의 PUF 셀 장치(100)의 타겟 비트 판별 동작에서, 타겟 PUF 셀로 선택되지 않는 PUF 셀들을 가리킬 수 있다.
도 13a 및 도 13b는 도 12a의 순서도에 따른 동작을 설명하기 위한 도면들이다. 도 1, 도 2, 및 도 13a 및 도 13b를 참조하면, PUF 셀 장치(100)는 PUF 셀 어레이(110), 비트라인 선택기(130), 및 비트 판별기(140)를 포함할 수 있다. PUF 셀 어레이(110)는 제1 워드라인(WL1) 및 복수의 비트라인들(BL1~BL8)과 연결된 복수의 PUF 셀들(PC1~PC8)을 포함할 수 있다. 비트라인 선택기(130)는 복수의 선택기들(SEL1~SEL8)을 포함할 수 있다. 비트 판별기(140)는 제1 변환기(141), 제2 변환기(142), 및 비교기(COMP)를 포함할 수 있다. 각 구성 요소는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
먼저 도 13a를 참조하여, 도 12a의 S211 단계 내지 S214 단계의 동작이 설명된다. 도 13a에 도시된 바와 같이, 제3 PUF 셀(PC3)이 타겟 PUF 셀로 선택될 수 있다. 이 때, 도 8을 참조하여 설명된 바와 유사하게, 제1 워드라인(WL1)으로 제1 전압(V1)이 제공되고, 제1, 제2, 및 제4 내지 제8 선택기들(SEL1, SEL2, SEL4~SEL8)은 대응하는 반전 비트라인 선택 신호들(/BS1, /BS2, /BS4~/BS8)에 응답하여 대응하는 비트라인들(BL1, BL2, BL4~BL8)로부터 제공되는 전류들(I1, I2, I4~I8)을 합 전류(I_sum)로서 제1 컨버터(130)로 제공할 수 있다. 제3 선택기(SEL3)는 제3 비트라인 선택 신호(BS3)에 응답하여, 제3 비트라인(BL3)을 통해 제공되는 제3 전류(I3)를 타겟 전류로서 제2 컨버터(142)로 제공할 수 있다.
제1 컨버터(141)는 도 12a의 S212 단계를 참조하여 설명된 바와 같이, 제1 분배 비율(예를 들어, "N-a")을 기반으로 제1 중심 값(CV1)을 출력할 수 있다. 제2 컨버터(142)는 제3 전류(I3)를 기반으로 타겟 값(TV)을 출력할 수 있다. 비교기(COMP)는 제1 중심 값(CV1) 및 타겟 값(TV)을 비교하교, 제1 비교 결과(CR1)를 출력할 수 있다.
제1 비교 결과(CR1)의 값이 제1 값인 경우(즉, 타겟 값(TV)이 제1 중심 값(CV1)보다 큰 경우), 제3 PUF 셀(PC3)은 유효 PUF 셀인 것으로 결정될 수 있다. 이 경우, 도 12b의 분포도에서, 제3 PUF 셀(PC3)은 제1 중심 값(CV1)보다 높은 값을 갖는 것으로 이해될 것이다.
만약, 제1 비교 결과(CR1)의 값이 제2 값인 경우(즉, 타겟 값(TV)이 제1 중심 값(CV1)보다 크지 않은 경우), 제3 PUF 셀(PC3)은 유효 PUF 셀이거나 또는 무효/불안정 PUF 셀일 수 있다. 예를 들어, 도 12b의 분포도에 도시된 바와 같이 타겟 값(TV)이 제1 중심 값(CV1)보다 크지 않은 경우, 무효(invalid)/불안정 PUF 셀이거나 또는 유효(valid)/안정 PUF 셀일 수 있다. 이 경우, 유효 PUF 셀에 대한 판단을 행하지 않을 수 있다.
도 13a에 도시된 동작을 복수의 PUF 셀들(PC1~PC8) 각각에 대하여 반복 수행함으로써, 복수의 PUF 셀들(PC1~PC8) 중 제1 중심 값(CV1)보다 큰 타겟 값을 갖는 유효 PUF 셀들이 결정될 수 있다.
다음으로, 도 13b를 참조하여 도 12a의 S221 단계 내지 S224 단계의 동작들이 설명된다. 도 13b에 도시된 바와 같이 제4 PUF 셀(PC4)이 타겟 PUF 셀로 선택될 수 있다. 이 경우, 복수의 선택기들은(SEL1~SEL8)은 대응하는 비트라인 선택 신호 및 대응하는 반전 비트라인 선택 신호에 응답하여 동작할 수 있다. 복수의 선택기들은(SEL1~SEL8)의 동작은 앞서 설명된 바와 유사하므로, 이에 대한 상세한 설명은 생략된다.
복수의 선택기들은(SEL1~SEL8)의 동작에 의해 복수의 전류들(I1~I8) 중 제4 전류(I4)를 제외한 나머지 전류들에 대한 합 전류(I_sum)가 제1 컨버터(141)로 제공되고, 제4 전류(I4)가 제2 컨버터(142)로 제공될 수 있다. 제2 컨버터(142)는 제4 전류(I4)를 기반으로 타겟 값(TV)을 출력할 수 있다.
제1 컨버터(141)는 앞서 설명된 바와 달리, 제2 분배 비율(예를 들어, "N+a"의 비율)을 기반으로 제2 중심 값(CV2)을 산출할 수 있다. 비교기(COMP)는 제2 중심 값(CV2) 및 타겟 값(TV)을 비교하여 제2 비교 결과(CR2)를 출력할 수 있다.
제2 비교 결과(CR2)의 값이 제2 값인 경우(즉, 타겟 값(TV)이 제2 중심 값(CV2)보다 작은 경우), 제4 PUF 셀(PC4)은 유효 PUF 셀인 것으로 결정될 수 있다. 이 경우, 도 12b의 분포도에서, 제4 PUF 셀(PC4)은 제2 중심 값(CV2)보다 낮은 값을 갖는 것으로 이해될 것이다.
예시적인 실시 예에서, 도 13b에 도시된 동작을 복수의 PUF 셀들(PC1~PC8) 각각에 대하여 수행함으로써, 복수의 PUF 셀들(PC1~PC8) 중 제2 중심 값(CV2)보다 작은 타겟 값을 갖는 유효 PUF 셀들이 결정될 수 있다.
예시적인 실시 예에서, 도 13a에 도시된 동작이 먼저 수행되는 경우, 도 13b에 대한 동작은 도 13a에 도시된 동작의 결과에 따라 선택적으로 수행될 수 있다. 예를 들어, 도 13a의 동작에서 유효 PUF 셀들로 결정되지 않은 PUF 셀들에 대해서만, 도 13b의 동작이 수행될 수 있다. 또는 도 13b의 동작이 먼저 수행되는 경우, 도 13b의 동작에서 유효 PUF 셀들로 결정되지 않은 PUF 셀들에 대해서만 도 13a의 동작이 수행될 수 있다.
예시적인 실시 예에서, 제1 중심 값(CV1)보다 큰 타겟 값을 갖는 유효 PUF 셀들을 결정하는 동작 및 제2 중심 값(CV2)보다 작은 타겟 값을 갖는 유효 PUF 셀들을 결정하는 동작이 별도로 도시되고 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 제1 컨버터(141)는 1회의 변환 동작을 통해 제1 분배 비율에 기반된 제1 중심 값(CV1) 및 제2 분배 비율에 기반된 제2 중심 값(CV2)을 동시에 산출할 수 있고, 비교기(COMP)는 제1 및 제2 중심 값들(CV1, CV2) 및 타겟 값(TV)을 동시에 비교할 수 있다. 이 경우, 1회의 센싱 동작을 통해 타겟 PUF 셀이 유효 PUF 셀인지 결정될 수 있다.
예시적인 실시 예에서, 유효 PUF 셀에 대한 판단은 컨트롤러(101)에 의해 수행될 수 있다. 예를 들어, 컨트롤러(101)는 PUF 셀 장치(100)의 복수의 PUF 셀들 각각에 대하여 도 13a에 대한 동작을 수행하여, 복수의 PUF 셀들 각각에 대한 제1 비교 결과(또는 제1 타겟 비트)를 수신할 수 있다. 이후에 컨트롤러(101)는 PUF 셀 장치(100)의 복수의 PUF 셀들 각각에 대하여 도 13b에 대한 동작을 수행하여, 복수의 PUF 셀들 각각에 대한 제2 비교 결과(또는 제2 타겟 비트)를 수신할 수 있다. 컨트롤러(101)는 제1 비교 결과(또는 제1 타겟 비트) 및 제2 비교 결과(또는 제2 타겟 비트)를 조합으로써, 유효 PUF 셀들을 결정할 수 있고, 결정된 유효 PUF 셀들에 대한 어드레스 정보를 저장할 수 있다.
도 14는 도 1의 컨트롤러를 예시적으로 보여주는 블록도이다. 도 1 및 도 14를 참조하면, 컨트롤러(101)는 타겟 PUF 셀 선택 회로(101a), 메모리(101b), 보안키 생성기(101c), 및 제어 회로(101d)를 포함할 수 있다.
타겟 PUF 셀 선택 회로(101a)는 PUF 셀 장치(100)에 포함된 복수의 PUF 셀들 중 타겟 PUF 셀을 선택할 수 있다. 타겟 PUF 셀 선택 회로(101a)는 선택된 타겟 PUF 셀을 기반으로 제어 신호(CTRL)를 출력할 수 있다. 예시적인 실시 예에서, 타겟 PUF 셀 선택 회로(101a)는 도 12a 내지 도 13b를 참조하여 설명된 유효 PUF 셀들 중 타겟 PUF 셀을 선택하도록 구성될 수 있다. 예를 들어, 메모리(101b)는 도 12a 내지 도 13b를 참조하여 설명된 동작들을 통해 생성된 유효 PUF 셀에 대한 정보(예를 들어, 어드레스 정보)를 포함할 수 있다. 타겟 PUF 셀 선택기(101a)는 메모리(101b)에 저장된 정보를 기반으로 유효 PUF 셀들 중 타겟 PUF 셀을 선택할 수 있다.
보안키 생성기(101c)는 PUF 셀 장치(100)로부터 타겟 비트(TB)를 수신할 수 있다. 보안키 생성기(101c)는 PUF 셀 장치(100)로부터 수신된 복수의 타겟 비트들(TB)을 조합하여 보안 키(KEY)를 생성할 수 있다. 생성된 보안 키(KEY)는 외부 전자 장치 또는 집적 회로로 제공될 수 있다. 제어 회로(101d)는 컨트롤러(101)의 제반 동작을 제어하도록 구성될 수 있다.
도 15는 본 발명에 따른 PUF 셀 장치의 동작을 설명하기 위한 도면들이다. 설명의 편의를 위하여, 도 3의 PUF 셀 장치(100) 및 도 14의 컨트롤러(101)를 참조하여 도 15에 기반된 동작이 설명된다. 또한 도 12a 내지 도 13b를 참조하여 설명된 동작들을 통해 복수의 PUF 셀들(PC1~PC8) 중 제3, 제5, 및 제8 PUF 셀(PC3, PC5, PC8)이 유효 PUF 셀로 결정된 것으로 가정한다. 즉, 도 14의 컨트롤러(110)는 유효 PUF 셀들(PC3, PC5, PC8)에 대한 정보를 포함할 것이다.
도 1, 도 14, 및 도 15를 참조하면, PUF 셀 장치(100)는 PUF 셀 에러이(110), 비트라인 선택 회로(130), 및 비트 판별기(140)를 포함할 수 있다. PUF 셀 어레이(110)는 제1 워드라인(WL1) 및 복수의 비트라인들(BL1~BL8)과 연결된 복수의 PUF 셀들(PC1~PC8)을 포함할 수 있다. 비트라인 선택 회로(130)는 복수의 선택기들(SEL1~SEL8)을 포함할 수 있다. 비트 판별기(140)는 제1 컨버터(141), 제2 컨버터(142), 및 비교기(COMP)를 포함할 수 있다. 상술된 구성들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
앞서 설명된 실시 예들과 달리 도 15의 실시 예에서는, 타겟 PUF 셀의 워드라인과 연결된 복수의 PUF 셀들 중 일부 PUF 셀들을 사용하여 중심 값(CV)이 산출될 수 있다. 예를 들어, 타겟 PUF 셀이 제1 워드라인(WL1)과 연결된 제3 PUF 셀(PC1)인 경우, 제1 워드라인(WL1)과 연결된 PUF 셀들(PC1~PC8) 중 유효 PUF 셀이 아닌 PUF 셀들(즉, 무효/불안정 PUF 셀들)이 중심 값(CV)을 산출하기 위해 사용되는 PUF 셀들로서 사용될 수 있다. 이는 도 12b를 참조하여 설명된 바와 같이, 무효 PUF 셀들은 제0 중심 값(즉, CV0)와 인접한 PUF 셀들일 것이다. 즉, 무효 PUF 셀들을 사용하여 중심 값(CV)을 산출할 경우, 제0 중심 값(CV0)에 좀 더 근사한 값이 획득될 것이다. 또한, 중심 값(CV)을 산출하는데 사용되는 PUF 셀들의 개수가 감소함에 따라, PUF 셀 장치(100)의 전체적인 전력 소비가 감소될 수 있다.
도 16a 내지 도 16c는 본 발명에 따른 보안 장치의 동작을 설명하기 위한 블록도 및 순서도이다. 먼저, 도 16a 및 도 16b를 참조하면, 보안 장치(200)는 PUF 셀 어레이(210), 아날로그-디지털 컨버터(220), 및 메모리(230)를 포함할 수 있다. 예시적인 실시 예에서, PUF 셀 어레이(210)는 도 1 내지 도 15를 참조하여 설명된 PUF 셀 장치이거나 또는 PUF 셀 어레이일 수 있다.
도 16b를 참조하여, 도 16a의 보안 장치의 동작이 설명된다. 도 16b의 S310 단계에서, 보안 장치(200)는 PUF 셀 어레이(210)에 포함된 복수의 PUF 셀들 각각에 대한 센싱 값을 획득할 수 있다. 센싱 값은 복수의 PUF 셀들 각각으로부터 획득된 아날로그 정보일 수 있다.
S320 단계에서, 보안 장치(200)는 센싱 값들(SV)을 디지털 값(DV)으로 변환하고, 변환된 디지털 값(DV)을 메모리(230)에 저장할 수 있다.
S330 단계에서, 보안 장치(200)는 메모리(230)에 저장된 디지털 값(DV)을 기반으로 유효 PUF 셀들을 결정할 수 있다. 예를 들어, 도 11을 참조하여 설명된 바와 같이, 보안 장치(200)는 디지털 값들(DV) 중 기준 값(REF0)보다 소정의 크기보다 더 크거나 또는 소정의 크기보다 더 작은 디지털 값에 대응하는 PUF 셀들을 유효 PUF 셀들로 결정할 수 있다. 예시적인 실시 예에서, 유효 PUF 셀들에 대한 정보는 메모리(230)에 저장될 수 있다.
S340 단계에서, 보안 장치(200)는 무효 PUF 셀들에 기반된 중심 값을 사용하여 유효 PUF 셀들 각각에 대한 비트 판별 동작을 수행할 수 있다. 예를 들어, 보안 장치(200)는 유효 PUF 셀들에 대한 정보를 기반으로 도 15를 참조하여 설명된 동작을 수행할 수 있다.
예시적인 실시 예에서, 보안 장치(200)는 아날로그-디지털 컨버터(220)를 사용하여 도 1 내지 도 15를 참조하여 설명된 타겟 비트 판별 동작을 수행할 수 있다. 예를 들어, 도 16a 및 도 16c를 참조하면, S410 단계에서, 보안 장치(200)는 PUF 셀들 각각으로부터 센싱 값을 획득할 수 있다. 예시적인 실시 예에서, 보안 장치(200)는 복수의 PUF 셀들 전체에 대한 센싱 값을 획득할 수 있다. 또는 보안 장치(200)는 타겟 PUF 셀 및 타겟 PUF 셀과 관련된 PUF 셀들(예를 들어, 도 1 내지 도 15를 참조하여 설명된 바와 같이 중심 값을 산출하는데 사용되는 PUF 셀들)로부터 센싱 값들을 획득할 수 있다.
S420 단계에서, 보안 장치(200)는 획득한 센싱 값들을 디지털 값들로 변환할 수 있다.
S430 단계에서, 보안 장치(200)는 중심 값(CV)을 산출할 수 있다. 예를 들어, 앞서 설명된 바와 유사하게, 보안 장치(200)는 타겟 PUF 셀과 관련된 다른 PUF 셀들에 대응하는 디지털 값들을 기반으로 중심 값을 산출할 수 있다. 즉, 앞서 설명된 실시 예들과 달리, 보안 장치(200)는 아날로그-디지털 컨버터(220)를 사용하여, 타겟 PUF 셀들과 관련된 다른 PUF 셀들에 대한 디지털 값들을 획득하고, 획득된 디지털 값들을 기반으로 중심 값을 산출할 수 있다.
이후에, 보안 장치(200)는 S440 단계 내지 S460 단계의 동작들을 수행할 수 있다. 예시적인 실시 예에서, 아날로그-디지털 컨버터(220)를 사용하여 디지털 값을 변환한 후에, 중심 값(CV) 산출 및 타겟 비트 판별이 수행된다는 점을 제외하면, 실질적인 동작 원리는 앞서 설명된 실시 예들과 유사할 수 있다.
상술된 바와 같이, 보안 장치(200)는 PUF 셀 어레이(210)로부터 복수의 PUF 셀들에 대한 센싱 값들(SV)을 수신할 수 있다. 보안 장치(200)는 복수의 PUF 셀들에 대한 센싱 값들(SV)을 아날로그-디지털 컨버터(220)를 통해 디지털 값들(DV)로 변환할 수 있다. 디지털 값들(DV)은 메모리(230) 또는 별도의 저장 회로에 저장될 수 있다. 보안 장치(200)는 디지털 값들(DV) 중 타겟 PUF 셀을 제외한 나머지 PUF 셀들에 대응하는 적어도 둘 이상의 디지털 값을 기반으로 중심 값(CV)을 산출할 수 있다. 예시적인 실시 예에서, 보안 장치(200)는 타겟 비트를 판별할 때마다, 관련된 다른 PUF 셀들에 대한 센싱 값 획득 및 디지털 값 변환을 수행할 수 있다. 또는 복수의 PUF 셀들 각각에 대한 디지털 값이 메모리(230)에 저장될 수 있고, 보안 장치(200)는 메모리(230)에 저장된 디지털 값들을 사용하여 중심 값을 산출할 수 있다.
도 17은 본 발명의 실시 예에 따른 보안 장치가 적용된 전자 시스템을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 전자 시스템(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 내지 도 16을 참조하여 설명된 보안 키(KEY)일 수 있다. 즉, 보안 장치(1200)는, 도 1 내지 도 16을 참조하여 설명된 동작 방법을 기반으로, PUF 셀 어레이(1210)에 포함된 복수의 PUF 셀들로부터 호스트(1100)로부터의 챌린지(challenge)에 기반된 데이터를 획득하고, 획득한 데이터를 기반으로 응답(response)(즉, 보안 키)를 생성하여 호스트(1100)로 제공할 수 있다. 호스트(1100)는 수신된 응답(response)을 기반으로 보안 장치(1200)에 대한 또는 다른 장치들에 대한 인증 동작을 수행할 수 있다.
도 18은 본 발명에 따른 보안 장치가 적용된 전자 장치를 예시적으로 보여주는 블록도이다. 도 18을 참조하면, 전자 장치(3000)는 메인 프로세서(3100), 터치 패널(3200), 터치 구동 회로(3202), 디스플레이 패널(3300), 디스플레이 구동 회로(3302), 시스템 메모리(3400), 스토리지 장치(3500), 이미지 처리기(3600), 통신 블록(3700), 오디오 처리기(3800), 및 보안 칩(3900)을 포함할 수 있다. 예시적인 실시 예에서, 전자 장치(3000)는 이동식 통신 단말기, PDA(Personal Digital Assistant), PMP(Portable Media Player), 디지털 카메라, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 웨어러블(Wearable) 장치 등과 같은 다양한 전자 장치 중 하나일 수 있다.
메인 프로세서(3100)는 전자 장치(3000)의 전반적인 동작들을 제어할 수 있다. 메인 프로세서(3100)는 전자 장치(3000)의 구성 요소들의 동작들을 제어/관리할 수 있다. 메인 프로세서(3100)는 전자 장치(3000)를 동작시키기 위해 다양한 연산을 처리할 수 있다.
터치 패널(3200)은 터치 구동 회로(3202)의 제어에 따라 사용자로부터의 터치 입력을 감지하도록 구성될 수 있다. 디스플레이 패널(3300)은 디스플레이 구동 회로(3302)의 제어에 따라 영상 정보를 표시하도록 구성될 수 있다.
시스템 메모리(3400)는 전자 장치(3000)의 동작에 이용되는 데이터를 저장할 수 있다. 예로서, 시스템 메모리(3400)는 SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, 및/또는 PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
스토리지 장치(3500)는 전원 공급에 관계없이 데이터를 저장할 수 있다. 예로서, 스토리지 장치(3500)는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 다양한 불휘발성 메모리 중 적어도 하나를 포함할 수 있다. 예로서, 스토리지 장치(3500)는 전자 장치(3000)의 내장 메모리 및/또는 착탈식 메모리를 포함할 수 있다.
오디오 처리기(3600)는 오디오 신호 처리기(3610)를 이용하여 오디오 신호를 처리할 수 있다. 오디오 처리기(3600)는 마이크(3620)를 통해 오디오 입력을 수신하거나, 스피커(3630)를 통해 오디오 출력을 제공할 수 있다.
통신 블록(3700)은 안테나(3710)를 통해 외부 장치/시스템과 신호를 교환할 수 있다. 통신 블록(3700)의 송수신기(3720) 및 MODEM(Modulator/Demodulator, 2730)은 LTE(Long Term Evolution), WiMax(Worldwide Interoperability for Microwave Access), GSM(Global System for Mobile communication), CDMA(Code Division Multiple Access), Bluetooth, NFC(Near Field Communication), Wi-Fi(Wireless Fidelity), RFID(Radio Frequency Identification) 등과 같은 다양한 무선 통신 규약 중 적어도 하나에 따라, 외부 장치/시스템과 교환되는 신호를 처리할 수 있다.
이미지 처리기(3800)는 렌즈(3810)를 통해 광을 수신할 수 있다. 이미지 처리기(3800)에 포함되는 이미지 장치(3820) 및 이미지 신호 처리기(3830)는 수신된 광에 기초하여, 외부 객체에 관한 이미지 정보를 생성할 수 있다.
보안 칩(3900)은 전자 장치(3000)에 대한 보안 동작 또는 인증 동작을 관리하도록 구성될 수 있다. 예시적인 실시 예에서, 보안 칩(3900)은 도 1 내지 도 16을 참조하여 설명된 PUF 셀 장치 또는 보안 장치를 포함할 수 있다.
예시적인 실시 예에서, 도 18의 구성 요소들 중 일부는 시스템-온-칩(System-on-Chip) 형태로 구현되어, 전자 장치(3000)의 애플리케이션 프로세서(AP; application processor)로서 제공될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (20)

  1. 제1 워드라인과 연결된 복수의 제1 PUF 셀들을 포함하는 PUF 셀 어레이;
    상기 복수의 제1 PUF 셀들 중 상기 타겟 PUF 셀을 선택하고, 상기 선택된 타겟 PUF 셀을 기반으로 제어 신호를 출력하도록 구성된 컨트롤러;
    상기 제어 신호에 응답하여, 상기 제1 워드라인으로 제1 전압을 인가하도록 구성된 디코더;
    복수의 제1 비트라인들과 연결되고, 상기 복수의 제1 비트라인들 중 상기 타겟 PUF 셀과 연결된 비트라인을 통해 제공되는 제1 타겟 전류, 및 상기 복수의 제1 비트라인들 중 다른 PUF 셀들과 연결된 나머지 비트라인들을 통해 제공되는 전류들의 제1 합 전류를 출력하도록 구성된 비트라인 선택 회로; 및
    상기 제1 타겟 전류 및 상기 제1 합 전류를 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트를 출력하도록 구성된 비트 판별기를 포함하고,
    상기 타겟 PUF 셀 및 상기 다른 PUF 셀은 상기 복수의 제1 PUF 셀들에 포함되는 보안 장치.
  2. 제 1 항에 있어서,
    상기 복수의 제1 PUF 셀들 각각은:
    전원 노드 및 상기 복수의 제1 비트라인들 중 대응하는 비트라인 사이에 연결되고, 상기 제1 워드라인으로 제공된 상기 제1 전압에 응답하여 대응하는 전류를 출력하도록 구성된 제1 트랜지스터를 포함하는 보안 장치.
  3. 제 1 항에 있어서,
    상기 복수의 제1 PUF 셀들 각각은:
    제1 및 제2 트랜지스터들을 포함하고,
    상기 제1 및 제2 트랜지스터들은 전원 노드 및 상기 복수의 제1 비트라인들 중 대응하는 비트라인 사이에 직렬로 연결되고, 상기 제1 워드라인으로 제공된 상기 제1 전압에 응답하여 동작하도록 구성된 제1 트랜지스터를 포함하는 보안 장치.
  4. 제 1 항에 있어서,
    상기 비트라인 선택 회로는 상기 복수의 제1 비트라인들과 각각 연결된 복수의 선택기들을 포함하고,
    상기 복수의 선택기들 각각은:
    상기 복수의 제1 비트라인들 중 대응하는 비트라인 및 상기 제1 타겟 전류가 출력되는 제1 노드 사이에 연결되고, 대응하는 비트라인 선택 신호에 응답하여 동작하도록 구성된 제1 트랜지스터; 및
    상기 대응하는 비트라인 및 상기 제1 합 전류가 출력되는 제2 노드 사이에 연결되고, 대응하는 반전 비트라인 선택 신호에 응답하여 동작하도록 구성된 제2 트랜지스터를 포함하는 보안 장치.
  5. 제 1 항에 있어서,
    상기 비트 판별기는:
    상기 제1 합 전류를 미리 정해진 비율을 기반으로 중심 값으로 변환하도록 구성된 제1 변환기;
    상기 제1 타겟 전류를 타겟 값으로 변환하도록 구성된 제2 변환기; 및
    상기 중심 값 및 상기 타겟 값을 비교하고, 상기 비교의 결과로서 상기 타겟 비트를 출력하도록 구성된 비교기를 포함하는 보안 장치.
  6. 제 5 항에 있어서,
    상기 미리 정해진 비율은 상기 다른 PUF 셀들의 개수에 대응하는 보안 장치.
  7. 제 1 항에 있어서,
    상기 다른 PUF 셀들의 개수는 상기 복수의 제1 PUF 셀들의 개수보다 작은 보안 장치.
  8. 제 1 항에 있어서,
    상기 PUF 셀 어레이는 제2 워드라인과 연결되고, 복수의 제2 비트라인들과 연결된 복수의 제2 PUF 셀들을 더 포함하고,
    상기 디코더는 상기 제어 신호에 응답하여, 상기 제2 워드라인으로 제2 전압을 인가하도록 더 구성되고,
    상기 비트라인 선택 회로는 상기 복수의 PUF 셀들로부터 상기 복수의 제2 비트라인들을 통해 제공되는 전류들을 제2 합 전류로 출력하도록 더 구성되고,
    상기 비트 판별기는 상기 제1 합 전류 및 상기 제2 합 전류에 대응하는 중심 값 및 상기 타겟 전류에 대응하는 타겟 값을 비교하여 상기 타겟 비트를 출력하도록 더 구성된 보안 장치.
  9. 제 1 항에 있어서,
    상기 컨트롤러는:
    상기 복수의 제1 PUF 셀들 중 유효 PUF 셀에 대한 어드레스 정보를 포함하는 메모리;
    상기 어드레스 정보를 기반으로 상기 유효 PUF 셀들 중 상기 타겟 PUF 셀을 선택하고, 상기 선택된 PUF 셀을 기반으로 상기 제어 신호를 출력하도록 구성된 타겟 PUF 셀 선택 회로; 및
    상기 타겟 비트를 수신하고, 상기 수신된 타겟 비트를 기반으로 기반으로 보안키를 출력하도록 구성된 보안키 생성기를 포함하는 보안 장치.
  10. 복수의 PUF(Physical Unclonable Function) 셀들을 포함하는 PUF 셀 장치의 동작 방법에 있어서,
    복수의 PUF 셀들 중 타겟 PUF 셀을 선택하는 단계;
    상기 타겟 PUF 셀과 연결된 제1 워드라인으로 제1 전압을 인가하는 단계;
    상기 타겟 PUF 셀에 대응하는 타겟 전류를 기반으로 타겟 값을 생성하고, 상기 제1 워드라인과 연결된 다른 PUF 셀들로부터 출력된 전류들의 합 전류를 기반으로 중심 값을 생성하는 단계; 및
    상기 타겟 값 및 상기 중심 값을 기반으로 상기 타겟 PUF 셀에 대한 타겟 비트를 결정하고, 상기 타겟 비트를 출력하는 단계를 포함하는 동작 방법.
  11. 제 10 항에 있어서,
    상기 중심 값은 미리 정해진 비율 및 상기 합 전류의 크기를 기반으로 생성되는 동작 방법.
  12. 제 11 항에 있어서,
    상기 미리 정해진 비율은 상기 다른 PUF 셀들의 개수에 대응되는 동작 방법.
  13. 제 10 항에 있어서,
    상기 복수의 PUF 셀들은 복수의 유효 PUF 셀들 및 복수의 무효 PUF 셀들을 포함하고,
    상기 타겟 PUF 셀은 상기 복수의 유효 PUF 셀들 중에서 선택되는 동작 방법.
  14. 제 10 항에 있어서,
    상기 다른 PUF 셀들의 개수는 상기 복수의 PUF 셀들 중 상기 제1 워드라인과 연결된 PUF 셀들의 개수보다 작은 동작 방법.
  15. 제1 내지 제N PUF(Physical Unclonable Function) 셀들(단, N은 양의 정수)을 포함하는 보안 장치의 동작 방법에 있어서,
    상기 제1 내지 제N PUF 셀과 연결된 제1 워드라인으로 제1 전압을 인가하는 단계;
    상기 제1 PUF 셀로부터 제1 정보를 획득하고, 상기 제2 내지 제N PUF 셀들로부터 제2 정보를 획득하는 단계;
    상기 획득된 제1 정보 및 제2 정보를 비교하여 상기 제1 PUF 셀에 대한 제1 비트를 결정하는 단계;
    상기 제1 내지 제N PUF 셀들과 연결된 상기 제1 워드라인으로 상기 제1 전압을 인가하는 단계;
    상기 제2 PUF 셀로부터 제3 정보를 획득하고, 상기 제1, 및 상기 제3 내지 제N PUF 셀들로부터 제4 정보를 획득하는 단계; 및
    상기 획득된 제3 및 제4 정보를 기반으로 상기 제2 PUF 셀에 대한 제2 비트를 결정하는 단계를 포함하는 동작 방법.
  16. 제 15 항에 있어서,
    상기 제1 내지 제N PUF 셀들은 제1 내지 제N 비트라인들과 각각 연결되고,
    상기 제1 내지 제N PUF 셀들은 상기 제1 전압에 응답하여, 상기 제1 내지 제N 비트라인들을 통해 제1 내지 제N 전류들을 각각 출력하는 동작 방법
  17. 제 16 항에 있어서,
    상기 제1 정보는 상기 제1 전류에 대응하고, 상기 제2 정보는 상기 제2 내지 제N 전류들의 제1 합 전류를 미리 정해진 분배 비율로 나눈 값에 대응하고,
    상기 제3 정보는 상기 제2 전류에 대응하고, 상기 제4 정보는 상기 제1, 및 제3 내지 제N 전류들의 제2 합 전류를 상기 미리 정해진 분배 비율로 나눈 값에 대응하는 동작 방법.
  18. 제 17 항에 있어서,
    상기 미리 정해진 분배 비율은 (N-1)의 값에 대응되는 동작 방법.
  19. 제 16 항에 있어서,
    상기 제1 정보는 상기 제1 전류에 대응하는 제1 디지털 값이고,
    상기 제2 정보는 상기 제2 내지 제N 전류들 각각에 대응하는 제2 내지 제N 디지털 값들에 대한 제1 중심 값이고,
    상기 제3 정보는 상기 제2 전류에 대응하는 제2 디지털 값이고,
    상기 제4 정보는 상기 제1, 및 제3 내지 제N 전류들 각각에 대응하는 상기 제1, 및 제3 내지 제N 디지털 값들에 대한 제2 중심 값인 동작 방법.
  20. 제 15 항에 있어서,
    상기 제1 비트를 결정하는 단계는:
    상기 제1 정보가 상기 제2 정보보다 큰지 판별하는 단계; 및
    상기 제1 정보가 상기 제2 정보보다 큰 경우, 상기 제1 비트를 제1 값으로 결정하고, 상기 제1 정보가 상기 제2 정보보다 크지 않은 경우, 상기 제1 비트를 제2 값으로 결정하는 단계를 포함하고,
    상기 제2 비트를 결정하는 단계는:
    상기 제3 정보가 상기 제4 정보보다 큰지 판별하는 단계; 및
    상기 제3 정보가 상기 제4 정보보다 큰 경우, 상기 제2 비트를 상기 제1 값으로 결정하고, 상기 제3 정보가 상기 제4 정보보다 크지 않은 경우, 상기 제2 비트를 상기 제2 값으로 결정하는 단계를 포함하는 동작 방법.


KR1020190138808A 2019-11-01 2019-11-01 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법 KR20210053029A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190138808A KR20210053029A (ko) 2019-11-01 2019-11-01 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법
US16/994,078 US11695577B2 (en) 2019-11-01 2020-08-14 Security device including physical unclonable function cells, operation method of security device, and operation method of physical unclonable function cell device
CN202011174686.8A CN112784317A (zh) 2019-11-01 2020-10-28 物理不可克隆功能单元设备的操作方法、包括其的安全设备及操作方法
US18/319,871 US11968317B2 (en) 2019-11-01 2023-05-18 Security device including physical unclonable function cells, operation method of security device, and operation method of physical unclonable function cell device
US18/366,602 US20230403167A1 (en) 2019-11-01 2023-08-07 Security Device Including Physical Unclonable Function Cells, Operation Method of Security Device, and Operation Method of Physical Unclonable Function Cell Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190138808A KR20210053029A (ko) 2019-11-01 2019-11-01 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210053029A true KR20210053029A (ko) 2021-05-11

Family

ID=75686510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138808A KR20210053029A (ko) 2019-11-01 2019-11-01 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법

Country Status (3)

Country Link
US (3) US11695577B2 (ko)
KR (1) KR20210053029A (ko)
CN (1) CN112784317A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11206146B2 (en) * 2019-08-01 2021-12-21 University Of Kentucky Research Foundation Architecture for generating physically unclonable function response
US11783092B2 (en) * 2020-02-10 2023-10-10 Taiwan Semiconductor Manufacturing Company Limited Systems and methods for classifying PUF signature modules of integrated circuits
US11823739B2 (en) 2020-04-06 2023-11-21 Crossbar, Inc. Physically unclonable function (PUF) generation involving high side programming of bits
US11450384B2 (en) * 2020-04-06 2022-09-20 Crossbar, Inc. Distinct chip identifier sequence utilizing unclonable characteristics of resistive memory on a chip
US11784835B2 (en) * 2021-02-24 2023-10-10 Nvidia Corp. Detection and mitigation of unstable cells in unclonable cell array
US11411563B1 (en) * 2021-02-24 2022-08-09 Nvidia Corp. Detection and mitigation of unstable cells in unclonable cell array
US11750192B2 (en) * 2021-02-24 2023-09-05 Nvidia Corp. Stability of bit generating cells through aging

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120038104A (ko) * 2010-10-13 2012-04-23 한국전자통신연구원 랜덤 데이터 생성 장치 및 그 방법
ES2593302T3 (es) 2011-03-31 2016-12-07 Ictk Co., Ltd. Aparato y método para generar un valor digital
JP6325120B2 (ja) 2014-03-07 2018-05-16 インテル コーポレイション 抵抗変化型メモリデバイスを用いた物理的複製防止機能回路
WO2015148659A1 (en) 2014-03-25 2015-10-01 Mai Kenneth Wei-An Methods for generating reliable responses in physical unclonable functions (pufs) and methods for designing strong pufs
US9485094B1 (en) 2014-04-21 2016-11-01 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions
KR102201642B1 (ko) * 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US10771246B2 (en) * 2015-10-13 2020-09-08 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions
CN107437431B (zh) 2016-05-26 2022-08-30 新唐科技日本株式会社 非易失性存储装置
US10243749B2 (en) 2017-05-16 2019-03-26 Samsung Electronics Co., Ltd. Physically unclonable function circuit, and system and integrated circuit including the same
KR101980964B1 (ko) 2017-05-24 2019-05-21 성균관대학교산학협력단 카운터 기반 물리적 복제 방지 함수 장치 및 이를 이용한 챌린지-응답 획득 방법
US11196574B2 (en) * 2017-08-17 2021-12-07 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function (PUF) generation
DE102018123103A1 (de) * 2017-10-13 2019-04-18 Samsung Electronics Co., Ltd. Halbleitervorrichtung, die Sicherheitsschlüssel erzeugt, Verfahren zum Erzeugen eines Sicherheitsschlüssels und Verfahren zum Registrieren des Sicherheitsschlüssels
KR101989149B1 (ko) * 2018-02-09 2019-06-13 성균관대학교산학협력단 PUF(Physically Unclonable Function) 셀 재조합 방법 및 장치와, PUF 회로

Also Published As

Publication number Publication date
US20210135886A1 (en) 2021-05-06
US11695577B2 (en) 2023-07-04
US20230299982A1 (en) 2023-09-21
US20230403167A1 (en) 2023-12-14
US11968317B2 (en) 2024-04-23
CN112784317A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
KR20210053029A (ko) 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법
CN108694335B (zh) 基于sram的物理不可克隆函数及产生puf响应的方法
US9892783B2 (en) Non-volatile memory device including memory cells having variable resistance values
US10574469B1 (en) Physically unclonable function and method for generating a digital code
US11899982B2 (en) Command block management
US11277271B2 (en) SRAM based physically unclonable function and method for generating a PUF response
US20200403813A1 (en) Method and apparatus to provide memory based physically unclonable functions
KR20170055786A (ko) 데이터 기입 및 독출 레이턴시를 제어하는 레이턴시 제어 회로를 갖는 메모리 장치
EP3136286B1 (en) Data processing system with secure key generation
KR20230071473A (ko) 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템
US20180018104A1 (en) Dynamic write latency for memory controller using data pattern extraction
US10310940B2 (en) Method for extending lifetime of resistive change memory and data storage system using the same
KR101575807B1 (ko) 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
KR20140047151A (ko) 교차점 어레이에서의 커플링 커패시터를 통한 타일 레벨 스냅백 검출
US11195582B2 (en) Non-volatile memory device and method of writing to non-volatile memory device
KR101580196B1 (ko) 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
Müelich et al. Channel models for physical unclonable functions based on DRAM retention measurements
KR101804631B1 (ko) 메모리 소자
KR20220019156A (ko) 물리적 복제 방지 셀들을 포함하는 포함하는 보안 장치 및 그것의 동작 방법
US20240094921A1 (en) Testing operations for memory systems
US20230238060A1 (en) Integrated circuit including a physically unclonable function device and corresponding method for implementing a physically unclonable function
US20230350580A1 (en) Techniques for non-volatile data protection
US9325349B2 (en) Encoder, decoder and semiconductor device including the same
US20200294997A1 (en) On-chip security circuit
Genssler Hyperdimensional Computing for Chip Testing–Towards Learning Fast from Little Data