KR102341265B1 - 물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로 - Google Patents

물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로 Download PDF

Info

Publication number
KR102341265B1
KR102341265B1 KR1020170117230A KR20170117230A KR102341265B1 KR 102341265 B1 KR102341265 B1 KR 102341265B1 KR 1020170117230 A KR1020170117230 A KR 1020170117230A KR 20170117230 A KR20170117230 A KR 20170117230A KR 102341265 B1 KR102341265 B1 KR 102341265B1
Authority
KR
South Korea
Prior art keywords
puf
reference voltage
voltage
resistor
output
Prior art date
Application number
KR1020170117230A
Other languages
English (en)
Other versions
KR20180125860A (ko
Inventor
박상욱
김대현
노미정
카핀스키 보단
이용기
최윤혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/871,306 priority Critical patent/US10243749B2/en
Priority to CN201810175242.2A priority patent/CN108880818B/zh
Priority to TW107107602A priority patent/TWI769224B/zh
Publication of KR20180125860A publication Critical patent/KR20180125860A/ko
Application granted granted Critical
Publication of KR102341265B1 publication Critical patent/KR102341265B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

PUF 회로 및 이를 포함하는 PUF 시스템 및 집적 회로가 개시된다. 본 개시의 실시예에 따른 PUF 회로는, 각각이 전원 전압을 분배함으로써 출력 전압을 생성하는 복수의 PUF셀들; 상기 전원 전압을 분배하여 제1 기준 전압을 생성하는 기준 전압 생성기; 및 상기 복수의 PUF 셀들 각각의 출력 전압을 차례로 상기 제1 기준 전압과 비교하여 상기 복수의 PUF 셀들 각각의 데이터 값을 출력하는 비교부를 포함할 수 있다.

Description

물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로{Physically unclonable function circuit, system comprising thereof and integrated circuit}
본 개시의 기술적 사상은 보안 기술에 관한 것으로서, 더욱 상세하게는 물리적 복제 방지 기능 회로(Physically Unclonable Function circuit)에 관한 것이다.
최근 유무선 통신 기술 및 스마트 디바이스 관련 기술이 급속도로 발전함에 따라, 이를 안전하게 이용할 수 있는 보안 시스템에 대한 구축 요구 역시 증가하고 있다. 이에 따라, 물리적 복제 방지 기능(Physical Unclonable Function, 이하 'PUF'로 지칭함)을 갖는 보안 기술이 주목을 받고 있다. PUF 회로는 반도체 제조 공정에서 발생하는 공정 편차를 이용하여 반도체 칩 내부에 구현된, 예측하기 어려운 랜덤한 디지털 값을 생성하는 회로를 말한다. PUF 회로를 이용하여 키(key)를 생성할 경우 보안 장치에 저장되는 인증 키와 같은 중요 키의 복제를 원천적으로 방지할 수 있다.
본 개시의 기술적 사상이 해결하려는 과제는 비트 에러율이 낮은 PUF 회로 및 이를 구비하는 시스템 및 집적 회로를 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 복제 방지 기능(Physical Unclonable Function, PUF) 회로는, 각각이 전원 전압을 분배함으로써 출력 전압을 생성하는 복수의 PUF셀들; 상기 전원 전압을 분배하여 제1 기준 전압을 생성하는 기준 전압 생성기; 및 상기 복수의 PUF 셀들 각각의 출력 전압을 차례로 상기 제1 기준 전압과 비교하여 상기 복수의 PUF 셀들 각각의 데이터 값을 출력하는 비교부를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 PUF 시스템은, 복수의 복제 방지 기능(Physical Unclonable Function, PUF) 셀들을 포함하고, 상기 복수의 PUF 셀들의 출력 전압을 기준 전압들과 비교하여 상기 복수의 PUF 셀들의 데이터 값들을 포함하는 PUF 데이터 및 상기 복수의 PUF 셀들의 데이터 값들의 유효성을 나타내는 유효성 데이터를 생성하는 PUF 회로; 및 상기 PUF 회로를 제어하고, 상기 PUF 데이터 및 상기 유효성 데이터를 기초로 키를 생성하는 컨트롤러를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 복제 방지 기능을 갖는 집적 회로는, 각각이 적어도 두 개의 저항을 기초로 전원 전압을 분배함으로써 출력 전압을 생성하는 복수의 PUF 셀들; 저항 스트링을 기초로 상기 전원 전압을 분배하여 제1 기준 전압, 제2 기준 전압 및 제3 기준 전압을 생성하고, 제2 기준 전압은 제1 기준 전압보다 높고, 제3 기준 전압은 제2 기준 전압보다 낮은, 기준 전압 생성기; 상기 복수의 PUF 셀들의 출력 전압들을 상기 제1 기준 전압, 상기 제2 기준 전압 및 상기 제3 기준 전압 각각과 비교하고, 비교 결과들을 출력하는 비교 회로; 및 상기 비교 결과들을 기초로 상기 복수의 PUF 셀들 각각의 유효성을 나타내는 유효성 데이터를 생성하는 조합 로직을 포함할 수 있다.
본 개시의 기술적 사상에 따른 PUF 회로는 온도, 전압, 테스트 조건 등의 변화 및 노화 등 환경 변화에 따른 PUF 셀들의 데이터 값의 변화가 적을 수 있다. PUF 회로의 BER(bit error ratio)이 감소될 수 있으며, PUF 회로의 면적 및 소비 전력이 감소될 수 있다. 또한, PUF 회로의 테스트 시간 및 테스트 비용이 절감될 수 있다.
본 개시의 기술적 사상에 따른 PUF 시스템은 복잡한 오류 정정 회로가 요구되지 않으며, 따라서, PUF 시스템의 면적 및 소비 전력이 감소될 수 있다.
도 1은 본 개시의 실시예에 따른 PUF 시스템을 나타내는 블록도이다.
도 2는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다.
도 3a는 복수의 PUF 셀들의 산포를 나타내고, 도 3b는 제1 기준 전압의 산포를 나타내며, 도 3c는 제2 기준 전압 및 제3 기준 전압에 따른 데드존을 설명하는 도면이다.
도 4a 내지 4c는 유효성 판단 방법의 실시예들을 나타낸다.
도 5는 본 개시의 실시예에 따른 비교 회로의 구현예를 나타낸다.
도 6은 본 개시의 실시예에 따른 비교 회로의 구현예를 나타낸다.
도 7은 본 개시의 실시예에 따른 기준 전압 생성기의 구현예를 나타낸다.
도 8은 본 개시의 실시예에 따른 기준 전압 생성기의 구현예를 나타낸다.
도 9는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다.
도 10는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다.
도 11은 본 개시의 실시예에 따른 PUF 시스템을 나타내는 블록도이다.
도 12는 본 개시의 실시에에 따른 PUF 시스템의 동작 방법을 나타내는 흐름도이다.
도 13은 도 12의 S100 단계의 실시예를 나타내는 흐름도이다.
도 14는 도 12의 S200 단계의 일 실시예를 나타내는 흐름도이다.
도 15는 도 12의 S200 단계의 일 실시예를 나타내는 흐름도이다.
도 16은 본 개시의 실시예에 따른 전자 장치를 나타내는 블록도이다.
이하, 본 개시의 실시예가 첨부된 도면과 연관되어 기재된다.
도 1은 본 개시의 실시예에 따른 PUF 시스템을 나타내는 블록도이다.
PUF 시스템(1000)은 데이터의 암호화 또는 보안 인증이 수행되는 다양한 종류의 전자 장치에 탑재될 수 있다. PUF 시스템(1000)은 외부 장치, 예컨대, 외부 프로세서로부터의 인증 키 요청 신호(REQ)에 응답하여, 인증 키(KEY)를 생성하고, 이를 상기 외부 장치 또는 다른 외부 장치, 예컨대 암호화 모듈 또는 인증 모듈 등에 제공할 수 있다.
도 1을 참조하면, PUF 시스템(1000)은 PUF 회로(100), 컨트롤러(200) 및 불휘발성 메모리(300)를 포함할 수 있다. PUF 시스템(1000)은 반도체 공정을 통해서 제조될 수 있다. 실시예들에 있어서, PUF 회로(100), 컨트롤러(200) 및 불휘발성 메모리(300)는 하나의 반도체 칩에 형성되거나, 또는 서로 다른 반도체 칩에 형성될 수 있다.
컨트롤러(200)는 PUF 회로(100)로부터 제공되는 PUF 데이터(PDT) 및 유효성 데이터(VDT)를 기초로 인증 키(KEY)를 생성할 수 있다. 컨트롤러(200)는 컨트롤 로직(210) 및 키 생성기(220)를 포함할 수 있다.
컨트롤 로직(210)은 PUF 회로(100)의 동작을 제어하는 제어 신호(CON)를 생성할 수 있다. 예컨대 제어 신호(CON)는 PUF 셀 선택 신호, 기준 전압 설정 신호, 모드 신호, 클럭 신호 등을 포함할 수 있다.
키 생성기(220)는 PUF 데이터(PDT)를 기초로 인증 키(KEY)를 생성할 수 있다. 키 생성기(220)는 PUF 데이터(PDT)에 포함되는 데이터 값들 중 유효성 데이터(VDT)를 기초로 선별되는 유효한 데이터 값들을 기초로 인증 키(KEY)를 생성할 수 있다.
PUF 회로(100)는 반도체 제조 과정에서 발생하는 저항성 소자들의 미스매치(또는 저항성 소자들의 저항값의 오차라고 함)를 기초로 PUF 데이터(PDT)를 생성할 수 있다. PUF 데이터(PDT)는 PUF 회로(100)의 설계 단계에서 예측 불가능한 랜덤한 값을 가진다. 또한, PUF 데이터(PDT)는 PUF 회로(100)가 형성된 반도체 칩의 본질적인 특성에 기초한 고유한 값을 가진다. 따라서 PUF 회로(100)를 각각 구비하는 반도체 칩들이 동일한 공정에서 제조되더라고, 반도체 칩들 각각에 구비되는 PUF 회로(100)에서 출력되는 PUF 데이터(PDT)는 서로 다를 수 있다.
PUF 회로(100)는 PUF 셀 어레이(110) 및 기준 전압 생성기(120)를 포함할 수 있다.
PUF 셀 어레이(110)는 복수의 PUF 셀들을 포함할 수 있으며, 복수의 PUF 셀들은 서로 동일한 구조를 가질 수 있다. 그러나, 복수의 PUF 셀들 각각은 내부의 저항성 소자들의 미스매치에 기인한 고유한 레벨의 출력 전압을 생성할 수 있다.
기준 전압 생성기(120)는 복수의 PUF 셀들 각각의 데이터 값을 판별하는데 이용되는 제1 기준 전압 및 상기 데이터 값의 유효성을 판단하는데 이용되는 제2 기준 전압 및 제3 기준 전압을 생성할 수 있다. 이때, 제2 기준 전압은 제1 기준 전압보다 높고, 제3 기준 전압은 제1 기준 전압보다 낮다.
예컨대, PUF 회로(100)는 PUF 셀의 출력 전압이 제1 기준 전압 이상이면, 로직 하이(디지털 데이터 값'1')로 판단하고, 제1 기준 전압 미만이면 로직 로우(디지털 데이터 값'0')로 판단할 수 있다. 또한, PUF 회로(100)는 상기 PUF 셀의 출력 전압이 제2 기준 전압 이상이거나 또는 제3 기준 전압 미만이면 상기 PUF 셀의 데이터 값이 유효하다고 판단하고, 상기 PUF 셀의 출력 전압이 제2 기준 전압 미만이고 제3 기준 전압 이상이면, 상기 PUF 셀의 데이터 값이 유효하지 않다고 판단할 수 있다. PUF 회로(100)는 복수의 PUF 셀들의 데이터 값들 및 데이터 값들 각각의 유효성을 나타내는 유효성 신호들을 생성할 수 있다. PUF 회로(100)는 데이터 값들 및 유효성 신호들을 각각 PUF 데이터(PDT) 및 유효성 데이터(VDT)로서 컨트롤러(200)에 제공할 수 있다.
PUF 셀의 데이터 값이 유효하다는 것은 상기 PUF 셀이 안정적이라는 것을 의미하며, PUF 셀의 데이터 값이 유효하지 않다는 것은 상기 PUF 셀이 불안정하다(unstable)는 것을 의미한다. 불안정한 PUF 셀은 데이터 값, 즉 출력 전압과 기준 전압의 비교 결과가 전원 전압, 온도, 노화(aging) 및 노이즈 등의 영향에 따라 변할 가능성이 높으므로 인증 키(KEY) 생성 시 이용될 수 없다. 따라서, 컨트롤러(200)의 키 생성기(220)는 유효성 데이터(VDT)를 기초로 PUF 데이터(PDT)의 데이터 값들 중 안정적인 PUF 셀들의 데이터 값, 즉 유효한 데이터 값을 선별하고, 유효한 데이터 값을 기초로 인증 키(KEY)를 생성할 수 있다.
한편, 데이터 값의 유효성 판단, 다시 말해서, 유효성 데이터(VDT)의 생성은 인증 키 요청 신호(REQ)에 응답하여 인증 키(KEY)를 생성하기 이전, 예컨대 PUF 회로(100)의 제조 공정 상의 테스트 단계 또는 PUF 회로(100)의 초기화 단계나 리셋 단계에서 생성에 수행되고, 유효성 데이터(VDT)는 불휘발성 메모리(300)에 저장될 수 있다. 불휘발성 메모리(300)는 OTP(One Time Programmable), ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), Flash 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM) 및 FRAM (Ferroelectric RAM) 중 하나를 포함할 수 있다. 실시예에 있어서, 불휘발성 메모리(300)는 컨트롤러(200) 또는 PUF 회로(100)의 내부에 구비될 수도 있다.
컨트롤러(200)는 PUF 회로(100)로부터 제공되는 유효성 데이터(VDT)를 불휘발성 메모리(300)에 저장하고, 이후, 인증 키 요청 신호(REQ)에 응답하여 인증 키(KEY) 생성 시, 불휘발성 메모리(300)로부터 유효성 데이터(VDT)를 독출하여 이용할 수 있다.
실시예에 있어서, 인증 키(KEY) 생성 시 컨트롤러(200)는 불휘발성 메모리(300)로부터 유효성 데이터(VDT)를 독출하고, PUF 회로(100)로부터 PUF 데이터(PDT)를 수신할 수 있다. 컨트롤러(200)는 유효성 데이터(VDT)를 기초로 PUF 데이터(PDT) 중 유효한 데이터 값을 선별하고, 유효한 데이터 값들을 기초로 인증 키(KEY)를 생성할 수 있다.
다른 실시예에 있어서, 인증 키(KEY) 생성 시 컨트롤러(200)는 유효성 데이터(VDT)를 기초로 유효한 PUF 셀들을 선택할 수 있으며, PUF 회로(100)는 유효한 PUF 셀들의 데이터 값들만을 포함하는 PUF 데이터(PDT)를 생성하여 컨트롤러(200)에 제공할 수 있다. 컨트롤러(200)는 수신되는 PUF 데이터(PDT)를 기초로 인증 키(KEY)를 생성할 수 있다. 실시예에 있어서, 컨트롤러(200)는 PUF 데이터(PDT)를 인증 키(KEY)로서 출력할 수 있다.
도 2는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다. 도 3a는 복수의 PUF 셀들의 산포를 나타내고, 도 3b는 제1 기준 전압의 산포를 나타내며, 도 3c는 제2 기준 전압 및 제3 기준 전압에 따른 데드존을 설명하는 도면이다.
도 2를 참조하면, PUF 회로(100a)는 PUF 셀 어레이(110), 기준 전압 생성기(120), 비교 회로(130), 조합 로직(140) 및 셀 선택 회로(150)를 포함할 수 있다.
PUF 셀 어레이(110)는 복수의 PUF 셀들(CL1~CLn)을 포함할 수 있으며, 복수의 PUF 셀들(CL1~CLn) 각각은 저항성 소자들(RE1 및 RE2)을 이용하여 전원 전압(VDD)을 전압 분배함으로써, 출력 전압을 생성할 수 있다.
제1 PUF 셀(CL1)을 예를 들어서 설명하면, 제1 PUF 셀(CL1)은 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)를 포함할 수 있다. 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 동종의 저항성 소자들로 구현될 수 있다. 예컨대, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 저항 또는 복수의 저항들이 직렬 연결된 저항 스트링일 수 있으며, 저항은 비아(via), 메탈 배선, 폴리 실리콘 등으로 구현될 수 있다. 이외에도, 저항은 제조 공정 상에서 구현 가능한 모든 타입의 저항 중 하나로 구현될 수 있다. 그러나, 이에 제한되는 것은 아니며, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 스위치드 커패시터(switched capacitor), 자기 저항성 소자 등 다양한 저항성 소자들로 구현될 수 있다.
제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 직렬 연결되며, 제1 저항성 소자(RE1)의 일 단에는 전원 전압(VDD)이 인가될 수 있다. 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 연결 노드(CN1)에서, 제1 PUF 셀(CL1)의 출력 전압이 출력될 수 있다. 따라서, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 전압 분배기(voltage divider)로서 동작할 수 있다.
실시예에 있어서, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 저항값은 동일할 수 있다. 보다 상세하게 말하면, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 타겟 저항값은 동일할 수 있다. 이에 따라 제1 PUF 셀(CL1)의 출력 전압은 전원 전압(VDD)의 1/2배일 수 있다. 그러나, 반도체 제조 공정 상에서 발생하는 미스매치에 의하여 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2) 간 저항값의 차이가 발생할 수 있으며, 저항값의 차이는 제1 PUF 셀(CL1)의 출력 전압의 오차로 나타날 수 있다.
제1 PUF 셀(CL1)의 데이터 값은 제1 PUF 셀(CL1)의 출력 전압, 즉 출력 전압의 오차에 따라 결정될 수 있다. 출력 전압의 오차가 클수록 제1 PUF 셀(CL1)의 데이터 값이 안정적으로 유지될 수 있다. 따라서, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 미스매치를 높이기 위해서 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 길이(length)와 너비(width)가 매우 작게 설계될 수 있다.
제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)는 동종의 저항성 소자이므로, 온도, 전압, 테스트 조건 등의 변화 및 노화 등 환경 변화에 따른 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 저항값의 변화는 동일한 경향성을 나타낼 수 있다. 예컨대, 온도 증가에 따른, 제1 저항성 소자(RE1)의 저항값의 증가량은 제2 저항성 소자(RE2)의 저항값의 증가량과 유사할 수 있다. 따라서, 환경이 변화되더라도 제1 PUF 셀(CL1)의 출력 전압은 비교적 일정하게 유지될 수 있다.
다른 PUF 셀들(CL2~CLn)의 구성 및 구조는 제1 PUF 셀(CL1)과 동일하다. 따라서 중복되는 설명은 생략하기로 한다. 다른 PUF 셀들(CL2~CLn) 각각에 구비되는 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 연결 노드(CN2~CNn)에서 출력 전압들이 출력될 수 있다. 그러나, 복수의 PUF 셀들(CL1~CLn) 각각의 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 미스매치 정도는 랜덤하며, 이에 따라 복수의 PUF 셀들(CL1~CLn)의 출력 전압들은 서로 다를 수 있다. 복수의 PUF 셀들(CL1~CLn)의 출력 전압들의 산포는, 도 3a에 도시된 바와 같을 수 있다.
도 3a를 참조하면, 가로축은 PUF 셀의 출력 전압(Vcell)을 나타내고, 세로 축은, 각 출력 전압(Vcell)에 대응하는 PUF 셀들의 개수를 나타낸다. 도시된 바와 같이, 출력 전압(Vcell)이 VDD/2인 PUF 셀들의 개수가 가장 많을 수 있으며, 복수의 PUF 셀들(CL1~CLn)의 출력 전압들은 정규분포를 따르는 산포를 가질 수 있다.
계속하여 도 2를 참조하면, 셀 선택 회로(150)는 복수의 PUF 셀들(CL1~CLn)의 출력 전압들 중 하나를 선택하여 출력할 수 있으며, 복수의 PUF 셀들(CL1~CLn)의 출력 전압들을 차례로 선택하여 출력할 수 있다.
셀 선택 회로(150)는 복수의 PUF 셀들(CL1~CLn) 각각에 연결되는 복수의 셀 선택 스위치들(SSW1~SSWn) 및 셀 선택기(151)를 포함할 수 있다.
셀 선택기(151)는 복수의 셀 선택 스위치들(SSW1~SSWn)의 턴-온 및 턴-오프를 제어할 수 있다. 예컨대, 셀 선택기(151)는 복수의 셀 선택 스위치들(SSW1~SSWn) 각각에 대응하는 온-오프 제어 신호들을 생성하고, 이를 복수의 셀 선택 스위치들(SSW1~SSWn) 각각에 제공할 수 있다. 셀 선택기(151)는 복수의 셀 선택 스위치들(SSW1~SSWn) 중 하나를 턴-온 시키고, 다른 셀 선택 스위치들을 턴-오프 시킬 수 있다.
실시예에 있어서, 셀 선택기(151)는 클럭 신호에 동기되어, 복수의 셀 선택 스위치들(SSW1~SSWn)을 순차적으로 턴-온 시킬 수 있다. 이에 따라서, 복수의 PUF 셀들(CL1~CLn)의 출력 전압들이 순차적으로 출력될 수 있다.
다른 실시예에 있어서, 셀 선택기(151)는 복수의 셀 선택 스위치들(SSW1~SSWn) 중 외부, 예컨대 컨트롤러(도 1의 200)로부터 제공되는 제어 신호(CON)에 기초하여 선택되는 일부 셀 선택 스위치들을 순차적으로 턴-온 시킬 수 있다. 복수의 PUF 셀들(CL1~CLn) 중 선택된 PUF 셀들의 출력 전압들이 순차적으로 출력될 수 있다.
기준 전압 생성기(120)는 저항성 소자들(RE3 및 RE4)을 이용하여 전원 전압(VDD)을 전압 분배함으로써, 기준 전압들(Vref, Vref_H, Vref_L)을 생성할 수 있다. 도 1을 참조하여 전술한 바와 같이, 제1 기준 전압(Vref)은 복수의 PUF 셀들(CL1~CLn)의 데이터 값을 판별하기 위한 전압이고, 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)은 복수의 PUF 셀들(CL1~CLn)의 데이터 값의 유효성을 판단하기 위한 전압이다.
기준 전압 생성기(120)는 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)를 포함할 수 있다. 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)는 동종의 저항성 소자로 구현될 수 있으며, 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)와 동종 또는 이종의 저항성 소자로 구현될 수 있다. 예컨대, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)는 저항 스트링일 수 있다.
제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)는 직렬 연결되며, 제3 저항성 소자(RE3)의 일 단에는 전원 전압(VDD)이 인가될 수 있다. 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)는 전압 분배기로서 동작할 수 있다. 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 연결 노드(CNR)에서, 제1 기준 전압(Vref)이 출력될 수 있다.
실시예에 있어서, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 저항값은 동일할 수 있다. 보다 상세하게 말하면, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 타겟 저항값은 동일할 수 있다. 이에 따라 제1 기준 전압(Vref)은 전원 전압(VDD)의 1/2배일 수 있다. 그러나, 반도체 제조 공정 상에서 발생하는 미스매치에 의하여 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4) 간 저항값의 차이가 발생할 수 있으며, 저항값의 차이는 제1 기준 전압(Vref)의 오차로 나타날 수 있다.
제1 기준 전압(Vref)은 복수의 PUF 셀들(CL1~CLn)의 데이터 값을 판별하기 위한 기준 전압이므로, 오차가 적어야 한다. 따라서, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 미스매치를 낮추기 위해서 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 길이가 길게 설계되고 너비가 넓게 설계될 수 있다. 예컨대, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 길이는 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 길이보다 상대적으로 길고, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)의 너비는 제1 저항성 소자(RE1) 및 제2 저항성 소자(RE2)의 너비보다 상대적으로 넓게 설계될 수 있다.
제1 기준 전압(Vref)의 산포는 도 3b에 도시된 바와 같을 수 있다. 도 3b에서, 제1 기준 전압(Vref)의 산포(D1)는 서로 다른 반도체 칩에 구현되는 PUF 회로들에서 각각 출력되는 제1 기준 전압들의 산포를 나타낸 것이며, 정규분포를 따를 수 있다.
도 3b를 참조하면, 제1 기준 전압(Vref)의 산포(D1)는 복수의 PUF 셀들(CL1~CLn)의 출력 전압들의 산포(D2) 대비 매우 작은 변화량(variation)을 가질 수 있다. 복수의 PUF 셀들(CL1~CLn)의 출력 전압과 제1 기준 전압(Vref)의 비교를 통해 복수의 PUF 셀들(CL1~CLn) 각각에 대한 데이터 값들이 결정될 수 있다. 예컨대, 출력 전압이 제1 기준 전압(Vref) 이상인 PUF 셀의 데이터 값은 로직 하이(디지털 데이터 값'1')로 판단되고, 출력 전압이 제1 기준 전압(Vref) 미만인 PUF 셀의 데이터 값은 로직 로우(디지털 데이터 값 '0')로 판단될 수 있다.
계속하여 도 2를 참조하면, 기준 전압 생성기(120)는 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)을 더 출력할 수 있다. 전술한 바와 같이, 제3 저항성 소자(RE3) 및 제4 저항성 소자(RE4)는 복수의 저항을 포함하는 저항 스트링으로 구현될 수 있으며, 제3 저항성 소자(RE3)의 복수의 노드들 중 하나의 노드에서 제2 기준 전압(Vref_H)이 출력되고, 제4 저항성 소자(RE4)의 복수의 노드들 중 하나의 노드에서 제3 기준 전압(Vref_L)이 출력될 수 있다. 따라서, 제2 기준 전압(Vref_H)은 제1 기준 전압(Vref)보다 높고, 제3 기준 전압(Vref_L)은 제1 기준 전압(Vref_L)보다 낮다.
도 3c를 참조하면, 제2 기준 전압(Vref_H)과 제3 기준 전압(Vref_L) 사이의 전압 영역은 데드존(Dead-zone)으로 설정될 수 있으며, 복수의 PUF 셀들(CL1~CLn) 중 출력 전압이 데드존에 위치하는 PUF 셀은 불안정하다고 판단되고, 상기 PUF 셀의 데이터 값은 유효하지 않다고 판단될 수 있다. 제1 기준 전압(Vref)의 산포(D2), 비교기들(131, 132, 133)의 오프셋 및 노이즈 영향을 고려하여 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)이 설정될 수 있다.
PUF 셀의 출력 전압이 데드존에 위치하는지 여부, 다시 말해서 PUF 셀의 데이터 값의 유효성은 비교 회로(130) 및 조합 로직(140)에 의하여 결정될 수 있다.
비교 회로(130)는 복수의 PUF 셀들(CL1~CLn)의 출력 전압을 기준 전압들(Vref, Vref_H, Vref_L)과 비교하고, 비교 결과를 출력할 수 있다. 비교 회로(130)는 셀 선택 회로(150)으로부터 출력되는 PUF 셀의 출력 전압(Vcell)을 기준 전압들(Vref, Vref_H, Vref_L)과 비교함으로써, 순차적으로 복수의 PUF 셀들(CL1~CLn)에 대한 비교 결과를 출력할 수 있다.
비교 회로(130)는 제1 내지 제3 비교기(131, 132, 33)를 포함할 수 있다. 제1 비교기(131)는 PUF 셀의 출력 전압(Vcell)을 제1 기준 전압(Vref)과 비교하고, 비교 결과(이하, 제1 비교 결과라고 함)를 출력할 수 있다. 예컨대, PUF 셀의 출력 전압(Vcell)이 제1 기준 전압(Vref) 이상이면, '1'이 출력되고, 제1 기준 전압(Vref) 미만이면, '0'이 출력될 수 있다. 그러나, 이에 제한되는 것은 아니며, 반대의 결과가 출력될 수 있다. 비교 결과는 PUF 셀의 데이터 값으로서 출력될 수 있다.
제2 비교기(132)는 PUF 셀의 출력 전압(Vcell)을 제2 기준 전압(Vref_H)과 비교하고, 비교 결과(이하 제2 비교 결과라고 함)를 출력할 수 있다. 예컨대, PUF 셀의 출력 전압(Vcell)이 제2 기준 전압(Vref_H) 이상이면, '1'이 출력되고, 제2 기준 전압(Vref_H) 미만이면, '0'이 출력될 수 있다. 또는, 반대의 결과가 출력될 수 있다.
제3 비교기(133)는 PUF 셀의 출력 전압(Vcell)을 제3 기준 전압(Vref_L)과 비교하고, 비교 결과(이하 제3 비교 결과라고 함)를 출력할 수 있다. 예컨대, PUF 셀의 출력 전압(Vcell)이 제3 기준 전압(Vref_L) 이상이면, '1'이 출력되고, 제3 기준 전압(Vref_L) 미만이면, '0'이 출력될 수 있다. 또는 반대의 결과가 출력될 수 있다.
비교 회로(130)는 복수의 PUF 셀들(CL1~CLn) 각각에 대한 제1 내지 제3 비교 결과를 조합 로직(140)에 제공할 수 있다.
한편 도 2에서, 비교 회로(130)는 세 개의 비교기, 예컨대 제1 내지 제3 비교기(131, 132, 133)을 구비하는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 비교 회로(130)는 하나 또는 두 개의 비교기를 포함할 수 있으며, 하나 또는 두 개의 비교기가 시분할 적으로 PUF 셀의 출력 전압(Vcell)을 제1 내지 제3 기준 전압(Vref, Vref_H, Vref_L)과 비교할 수도 있다.
조합 로직(140)은 복수의 로직 게이트로 구현될 수 있으며, 복수의 PUF 셀들(CL1~CLn) 각각에 대한 제1 비교 결과, 다시 말해서 복수의 PUF 셀들(CL1~CLn)의 데이터 값들을 기초로 PUF 데이터(PDT)를 생성할 수 있다. 또한, 조합 로직(140)은 PUF 셀의 제1 내지 제3 비교 결과 중 적어도 두 개의 비교 결과를 기초로 PUF 셀의 데이터 값의 유효성, 다시 말해서 PUF 셀의 안정성(또는 유효성)을 나타내는 유효성 신호를 생성할 수 있다. 조합 로직(140)은 복수의 PUF 셀들(CL1~CLn)의 유효성 신호들을 유효성 데이터(PDT)로서 출력할 수 있다.
조합 로직(140)은 제1 내지 제3 비교 결과 중 적어도 두 개의 비교 결과를 기초로 PUF 셀의 출력 전압이 데드존에 위치하는지 여부를 판단할 수 있으며, 출력 전압이 데드존에 위치하는 PUF 셀에 대한 유효성 신호를 '0'으로 생성하고, 출력 전압이 데디존 외에 위치하는 PUF 셀의 데한 유효성 신호를 '1'로 생성할 수 있다. 조합 로직(140)의 유효성 판단 방법에 대해서는 도 4a 내지 도 4c를 참조하여 후술하기로 한다.
전술한 바와 같이, 본 개시의 실시예에 따른 PUF 회로(100a)는 저항성 소자들을 이용하여 전원 전압(VDD)의 분배를 통해 생성되는 복수의 PUF 셀들(CL1~CLn)의 출력 전압들과 제1 기준 전압(Vref1)의 비교를 통해 PUF 데이터(PDT)를 생성할 수 있다. 이때, 전원 전압(VDD) 분배에 이용되는 저항성 소자들은 온도, 전압, 테스트 조건 등의 변화 및 노화 등 환경 변화에 따른 변화 특성이 서로 동일하므로, 환경 변화에 관계없이 복수의 PUF 셀들(CL1~CLn)의 출력 전압들과 제1 기준 전압(Vref1)은 비교적 일정하게 유지될 수 있다. 따라서, 불안정한 PUF 셀들의 개수가 적을 수 있다.
또한, PUF 회로(100a)는 불안정한 PUF 셀들을 차단(screen)하고, 안정적인 PUF 셀들(또는 유효한 데이터 값들)을 선별하기 위하여, 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)을 생성하고 이를 기초로 데드존을 설정할 수 있다. 잠재적으로 불안정한 데이터 값을 생성할 가능성이 높은 불안정한 PUF 셀들을 차단하고 충분한 마진을 가지는 스트롱 PUF 셀들의 데이터 값들을 사용함으로써, PUF 회로(100a)의 BER(Bit Error Rate)이 감소될 수 있다. 예컨대, 제1 기준 전압(Vref)과 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)의 차이, 즉 마진이 넓게 설정될 경우, PUF 회로(100a)는 Zero BER에 도달할 수 있다.
PUF 회로의 BER이 높으면, 에러 확인 및 보정(error checking and correction; ECC)을 위하여, 복잡한 ECC 로직이 요구되며, 실제로 필요한 인증 키의 비트 수보다 많은 수의 PUF 셀이 요구된다. 따라서, PUF 회로(또는 PUF 회로가 탑재되는 시스템)의 면적이 넓어지고 소비 전력이 증가될 수 있다.
그러나, 본 개시의 실시예에 따른 PUF 회로(100a)는 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)을 기초로 데드존을 설정하고, 출력전압이 데드존에 위치하는 불안정한 PUF 셀들을 차단함으로써, BER을 낮추어 ECC 로직이 요구되지 않거나, 또는 간단한 ECC 로직을 사용할 수 있다. 따라서, PUF 회로(100a)가 구비되는 PUF 시스템(예컨대, 도 1의 1000)의 면적이 감소되고 소비 전력이 감소될 수 있다.
또한, 불안정한 PUF 셀들을 판별하기 위하여, 다양한 조건, 예컨대, 전원 전압(VDD)의 전압 레벨을 변경하거나 온도를 변경하면서 PUF 셀들을 테스트할 필요가 없으므로, 테스트 절차가 간소화될 수 있다. 따라서, 테스트 타임 및 비용이 절약될 수 있다.
도 4a 내지 4c는 유효성 판단 방법의 실시예들을 나타낸다. 유효성 판단 방법을 기초로 도 2의 조합 로직(140)이 복수의 PUF 셀들 또는 복수의 PUF 셀들의 데이터 값의 유효성을 판단하고, 유효성 신호를 생성할 수 있다.
도 4a를 참조하면, 복수의 PUF 셀들의 출력 전압의 산포는 제1 영역 내지 제4 영역(AR1~AR4)로 구분될 수 있다. 제1 영역(AR1)은 제3 기준 전압(Vref_L) 미만의 전압 영역이고, 제2 영역(AR2)은 제3 기준 전압(Vref_L) 이상, 제1 기준 전압(Vref) 미만의 전압 영역이다. 제3 영역(AR3)은 제1 기준 전압(Vref) 이상, 제2 기준 전압(Vref_H) 미만의 전압 영역이며, 제4 영역(AR4)은 제2 기준 전압(Vref_H) 이상의 전압 영역이다.
조합 로직(140)은 PUF 셀의 제1 비교 결과(RST1), 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)를 exclusive NOR 연산하여 PUF 셀에 대한 유효성 신호(VS)를 생성할 수 있다. 이때, 제1 비교 결과(RST1), 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)는 PUF 셀의 출력 전압을 제1 기준 전압(Vref), 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L)과 각각 비교한 결과이다. 제1 비교 결과(RST1)는 PUF 셀의 데이터 값을 나타낼 수 있다.
출력 전압이 제1 영역(AR1)에 속하는 PUF 셀의 제1 비교 결과(RST1), 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)는 모두 '0'일 수 있다. 출력 전압이 제2 영역(AR2)에 속하는 PUF 셀의 제1 비교 결과(RST1) 및 제2 비교 결과(RST2)는 '0'이고, 제3 비교 결과(RST3)는'1'일 수 있다. 출력 전압이 제3 영역(AR3)에 속하는 PUF 셀의 제1 비교 결과(RST1) 및 제3 비교 결과(RST3)는 '1'이고, 제2 비교 결과(RST2)는 '0'일 수 있다. 출력 전압이 제4 영역(AR4)에 속하는 PUF 셀의 제1 비교 결과(RST1), 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)는 모두 '1'일 수 있다.
제1 비교 결과(RST1), 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)에 대한 exclusive NOR 연산에 따라, 출력 전압이 제1 영역(AR1) 및 제4 영역(AR4)에 속하는 PUF 셀의 유효성 신호(VS)가 '1'로 생성되고, 출력 전압이 제2 영역(AR2) 및 제3 영역(AR3)에 속하는 PUF 셀의 유효성 신호(VS)가 '0'으로 생성될 수 있다. 따라서, 출력 전압이 제1 영역(AR1) 및 제4 영역(AR4)에 속하는 PUF 셀이 유효하다(또는 안정적이다)고 판단될 수 있다. 출력 전압이 제1 영역(AR1)에 속하는 PUF 셀은 스트롱 '0'인 데이터 값을 가지며, 출력 전압이 제4 영역(AR4)에 속하는 PUF 셀은 스트롱 '1'인 데이터 값을 가질 수 있다.
예를 들어, 제1 내지 제4 PUF 셀에 대한 PUF 데이터(PDT) 및 유효성 데이터(VDT)를 생성하고, 제1 내지 4 PUF 셀들이 각각 제1 내지 제4 영역(AR1~AR4)에 속한다면, 유효성 데이터(VDT)는 '1001'로, PUF 데이터(PDT)는 '0011'로 생성될 것이다. 유효성 데이터(VDT)를 기초로 제1 및 제4 PUF 셀이 유효하다고 판단될 수 있으므로, 인증 키 생성 시, PUF 데이터(PDT) 중 제1 및 제4 PUF 셀의 PUF 데이터 값인 '01'이용될 수 있다.
도 4b를 참조하면, 조합 로직(140)은 PUF 셀의 제2 비교 결과(RST2) 및 제3 비교 결과(RST3)를 exclusive NOR 연산하여 PUF 셀에 대한 유효성 신호(VS)를 생성할 수 있다. 이에 따라, 출력 전압이 제1 영역(AR1) 및 제4 영역(AR4)에 속하는 PUF 셀의 유효성 신호(VS)가 '1'로 생성되고, 출력 전압이 제2 영역(AR2) 및 제3 영역(AR3)에 속하는 PUF 셀의 유효성 신호(VS)가 '0'으로 생성될 수 있다.
도 4c를 참조하면, 조합 로직(140)은 제1 비교 결과(RST1)가 '0'이면, 제1 비교 결과(RST1) 및 제3 비교 결과(RST3)를 exclusive NOR 연산하여 유효성 신호(VS)를 생성하고, 제1 비교 결과(RST1)가 '1'이면, 제1 비교 결과(RST1) 및 제2 비교 결과(RST2)를 exclusive NOR 연산하여 유효성 신호(VS)를 생성할 수 있다. 이에 따라, 출력 전압이 제1 영역(AR1) 및 제4 영역(AR4)에 속하는 PUF 셀의 유효성 신호(VS)가 '1'로 생성되고, 출력 전압이 제2 영역(AR2) 및 제3 영역(AR3)에 속하는 PUF 셀의 유효성 신호(VS)가 '0'으로 생성될 수 있다.
도 4a 내지 도 4c를 참조하여 전술한 실시예들에 따라 조합 로직(140)이 복수의 PUF 셀들의 유효성을 판단할 수 있다. 그러나, 이는 예시적인 실시예들일 뿐이며, 유효성 판단 방법은 변형될 수 있다.
도 5는 본 개시의 실시예에 따른 비교 회로의 구현예를 나타낸다.
도 5를 참조하면, 비교 회로(130a)는 비교기(131a) 및 스위칭 회로(132a)를 포함할 수 있다. 스위칭 회로(132a)는 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3)을 포함하며, 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3)의 일단은 비교기(131a)의 일단(-)에 연결되고, 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3)의 타단은 각각 제1 내지 제3 기준 전압(Vref, Vref_H, Vref_L)에 연결될 수 있다.
기준 선택 신호(RSEL)에 응답하여, 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3) 중 하나가 턴-온되고, 제1 내지 제3 기준 전압(Vref, Vref_H, Vref_L) 중 하나를 비교기(131b)의 일단(-)에 제공할 수 있다. 기준 선택 신호(RSEL)는 예컨대, 컨트롤러(도 1의 200)의 제어 로직(210)으로부터 제공될 수 있다.
비교기(131a)는 PUF 셀의 출력 전압(Vcell) 및 스위칭 회로(132a)의 출력을 수신하고, 이를 비교하여 비교 결과를 출력할 수 있다. 비교기(131a)는 PUF 셀의 출력 전압(Vcell)과 제1 기준 전압(Vref), 제2 기준 전압(Vref_H) 및 제3 기준 전압(Vref_L) 각각의 비교에 따른, 제1 비교 결과, 제2 비교 결과 및 제3 비교 결과를 조합 로직(140)에 제공할 수 있다.
일 실시예로서, 유효성 데이터 생성 시, 기준 선택 신호(RSEL)에 응답하여, 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3)가 순차적으로 턴-온 되고, 이에 따라 제1 내지 제3 기준 전압(Vref, Vref_H, Vref_L)이 순차적으로 비교기(131a)에 제공될 수 있다. 비교기(131a)는 제1 내지 제3 비교 결과를 순차적으로 조합 로직(140)에 제공할 수 있다. 인증 키(KEY) 생성 시, 다시 말해서 PUF 데이터 생성 시, 기준 선택 신호(REL)에 응답하여, 제1 기준 스위치(RSW1)가 턴-온 되어, 제1 기준 전압(Vref)이 비교기(131a)에 제공되고, 비교기(131a)는 제1 비교 결과를 조합 로직(140)에 제공할 수 있다.
다른 실시예로서, 유효성 데이터 생성 시, 기준 선택 신호(RSEL)에 응답하여, 제2 및 제3 기준 스위치(RSW2, RSW3)가 교번적으로 턴-온 되고, 이에 따라 제2 및 제3 기준 전압(Vref_H, Vref_L)이 교번적으로 비교기(131a)에 제공될 수 있다. 비교기(131a)는 제1 내지 제3 비교 결과를 교번적으로 조합 로직(140)에 제공할 수 있다. 키(KEY) 생성 시, 다시 말해서 PUF 데이터 생성 시, 기준 선택 신호(REL)에 응답하여, 제1 기준 스위치(RSW1)가 턴-온 되어, 제1 기준 전압(Vref)이 비교기(131a)에 제공되고, 비교기(131a)는 제1 비교 결과를 조합 로직(140)에 제공할 수 있다.
도 6은 본 개시의 실시예에 따른 비교 회로의 구현예를 나타낸다.
도 6의 비교 회로(130b)의 구성 및 동작은 도 5의 비교 회로(130a)의 구성 및 동작과 유사하다. 다만, 도 6의 비교 회로(130b)는 기준 선택기(133b)를 더 포함할 수 있다.
기준 선택기(133b)는 제1 내지 제3 기준 스위치(SW1, SW2, SW3)의 턴-온 및 턴-오프를 제어하는 기준 선택 신호(RSEL)를 생성할 수 있다. 실시예에 있어서, 기준 선택기(133b)는 모드 신호(MD)에 응답하여 기준 선택 신호(RSEL)를 생성할 수 있다. 예컨대, 모드 신호(MD)는 유효성 데이터 생성 모드 또는 PUF 데이터 생성 모드를 나타낼 수 있으며, 컨트롤러(도 1의 200)의 제어 로직(210)으로부터 제공될 수 있다.
기준 선택기(133b)는 모드 신호(MD)가 유효성 데이터 생성 모드를 나타낼 때, 제1 내지 제3 기준 스위치(RSW1, RSW2, RSW3)를 순차적으로 턴-온 시키거나, 제2 기준 스위치(RSW2 및 RSW3)을 교번적으로 턴-온 시키는 기준 선택 신호(RSEL)를 생성할 수 있다. 또한, 기준 선택기(133b)는 모드 신호(MD)가 PUF 데이터 생성 모드를 나타탤 때, 제1 기준 스위치(RSW1)를 턴-온 시키는 기준 선택 신호(RSEL)를 생성할 수 있다.
예시적 실시예로서, 기준 선택기(133b)는 모드 신호(MD)가 유효성 데이터 생성 모드를 나타낼 때, 비교기(131b)의 출력을 기초로 기준 선택 신호(RSEL)를 생성할 수 있다. 기준 선택기(133b)는 제1 기준 스위치(RSW1)를 턴-온 시키는 기준 선택 신호(RSEL)를 생성하고, 이후 비교기(131b)의 출력, 예컨대 제1 비교 결과를 기초로 제2 기준 스위치(RSW2) 및 제3 기준 스위치(RSW3) 중 하나를 턴-온 시키는 기준 선택 신호(RSEL)를 생성할 수 있다. 예컨대, 제1 비교 결과가 '1'이면, 제3 기준 스위치(RSW3)가 턴-온되고, 제1 비교 결과가 '0'이면, 제2 기준 스위치(RSW2)가 턴-온 될 수 있다. 이에 따라, 비교기(131b)는 제1 비교 결과가 '1'이면, 제1 비교 결과 및 제3 비교 결과를 조합 로직(140)에 제공하고, 제1 비교 결과가 '0'이면, 제1 비교 결과 및 제2 비교 결과를 조합 로직(140)에 제공할 수 있다.
조합 로직(140)은 수신된 제1 비교 결과 및 제2 비교 결과 또는 제1 비교 결과 및 제3 비교 결과를 기초로 도 4c를 참조하여 설명한 유효성 판단 방법에 따라 PUF 셀의 유효성을 판단할 수 있다.
도 7은 본 개시의 실시예에 따른 기준 전압 생성기의 구현예를 나타낸다. 기준 전압 생성기(120a)는 도 2를 참조하여 설명한 기준 전압 생성기(120)의 일 구현예이며, 따라서, 도 2의 기준 전압 생성기(120)에 대한 내용은 본 실시예에 따른 기준 전압 생성기(120a)에 적용될 수 있다.
도 7을 참조하면, 기준 전압 생성기(120a)는 제3 저항 소자(RE3a), 제4 저항 소자(RE4a), 제1 선택기(121) 및 제2 선택기(122)를 포함할 수 있다.
제3 저항 소자(RE3a) 및 제4 저항 소자(RE4a)는 복수의 저항들을 포함하는 저항 스트링으로 구현될 수 있다. 제3 저항 소자(RE3a) 및 제4 저항 소자(RE4a)는 전원 전압(VDD)을 전압 분배하고, 분배 전압들을 출력할 수 있다.
제3 저항 소자(RE3a) 및 제4 저항 소자(RE4a)의 연결 노드(CNR)의 전압이 제1 기준 전압(Vref)로서 출력될 수 있다. 제3 저항 소자(RE3a) 및 제4 저항 소자(RE4a)의 저항값, 예컨대 타겟 저항값은 동일할 수 있으며, 제1 기준 전압(Vref)은 전원 전압(VDD)의 1/2배에 근사할 수 있다.
한편, 제3 저항 소자(RE3a), 즉 저항 스트링의 복수의 노드들(N1_1~N1_m)로부터 복수의 분배 전압들이 출력될 수 있으며, 제1 선택기(121)는 제1 설정 신호(SET1)를 기초로, 복수의 분배 전압들 중 하나를 제2 기준 전압(Vref_H)으로서 선택할 수 있다.
제4 저항 소자(RE4a), 즉 저항 스트링의 복수의 노드들(N2_1~N2_m)로부터 복수의 분배 전압들이 출력될 수 있으며, 제2 선택기(122)는 제2 설정 신호(SET2)를 기초로, 복수의 분배 전압들 중 하나를 제3 기준 전압(Vref_L)으로서 선택할 수 있다.
제1 설정 신호(SET1) 및 제2 설정 신호(SET2)는 컨트롤러(도 1의 200)로부터 제공될 수 있으며, 가변될 수 있다. 제1 설정 신호(SET1) 및 제2 설정 신호(SET2)는 제1 기준 전압(Vref)의 산포, 비교기들(도 2의 131, 132, 133)의 오프셋 및 노이즈 등을 고려하여 설정될 수 있다. 예컨대, 제1 기준 전압(Vref)의 산포의 산포가 클수록 높은 레벨의 분배 전압을 선택하도록 제1 선택 신호(SET1)가 설정되고, 낮은 레벨의 분배 전압을 선택하도록 제2 선택 신호(SET2)가 설정될 수 있다.
도 8은 본 개시의 실시예에 따른 기준 전압 생성기의 구현예를 나타낸다. 기준 전압 생성기(120a)는 도 2를 참조하여 설명한 기준 전압 생성기(120)의 일 구현예이며, 따라서, 도 2의 기준 전압 생성기(120)에 대한 내용은 본 실시예에 따른 기준 전압 생성기(120b)에 적용될 수 있다.
도 8을 참조하면, 기준 전압 생성기(120b)는 밴드갭 레퍼런스 회로(BGR), 제3 저항성 소자(RE3b) 및 제4 저항성 소자(RE4b)를 포함할 수 있다.
밴드갭 레퍼런스 회로(BGR)는 온도, 전압 변화 등에 관계없이 일정한 레벨의 기준 전류(Iref)를 출력할 수 있다. 기준 전류(Iref)는 제3 저항성 소자(RE3b) 및 제4 저항성 소자(RE4b)를 통해 흐를 수 있으며, 기준 전류(Iref)의 전류량은 제3 저항성 소자(RE3b)의 일단(ND1)이 전원 전압(VDD) 레벨이 되도록 설정될 수 있다. 제3 저항성 소자(RE3b) 및 제4 저항성 소자(RE4b), 그리고 제1 내지 제3 기준 전압(Vref, Vref_H, Vref_L)의 생성은 도 2 및 도 7을 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
도 9는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다.
도 9의 PUF 회로(100b)는 PUF 셀 어레이(110), 기준 전압 생성기(120) 및 레귤레이터(160)를 포함할 수 있다. 도시되지 않았으나, PUF 회로(100b)는 도 2를 참조하여 설명한 PUF 회로(100a)의 다른 구성들을 더 포함할 수 있다.
PUF 회로(100b)의 구성 및 동작은 도 2의 PUF 회로(100a)의 구성 및 동작과 유사하다. 다만, PUF 회로(100b)는 레귤레이터(160)를 더 포함하고, 레귤레이터(160)를 통해 전원 전압(VDD)을 공급받을 수 있다.
레귤레이터(160)는 외부로부터 제공되는 외부 전원 전압(VDDE)을 기초로 PUF 셀 어레이(110) 및 기준 전압 생성기(120)에 제공되는 전원 전압(VDD)을 생성할 수 있다. 레귤레이터(160)는 외부 전원 전압(VDDE)의 레벨이 변하더라도, 일정한 레벨의 전원 전압(VDD)을 생성할 수 있다. PUF 셀 어레이(110)의 복수의 PUF 셀들(CL1~CLn) 및 기준 전압 생성기(120)는 외부 전원 전압(VDDE)의 변화와 관계없이 각각 일정한 레벨의 출력 전압들 및 기준 전압들(Vref, Vref_H, Vref_L)을 생성할 수 있다. 따라서, 복수의 PUF 셀들(CL1~CLn)의 데이터 값이 일정하게 유지될 수 있다.
도 10는 본 개시의 실시예에 따른 PUF 회로를 나타내는 회로도이다.
도 10의 PUF 회로(100c)는 PUF 셀 어레이(110), 기준 전압 생성기(120), 보호 회로(170) 및 차단 스위치(180)를 포함할 수 있다. 도시되지 않았으나, PUF 회로(100b)는 도 2를 참조하여 설명한 PUF 회로(100a)의 다른 구성들을 더 포함할 수 있다.
보호 회로(170)는 전원 전압(VDD)이 정격 전압 범위를 벗어나는 경우, PUF 데이터의 생성을 방지할 수 있다. 예컨대, 보호 회로(170)는 전원 전압(VDD)이 미리 설정된 제1 임계 전압 이하인 경우, 또는 전원 전압(VDD)이 미리 설정된 제2 임계 전압 이상일 경우, 디스에이블 신호(ENB)를 생성할 수 있다.
차단 스위치(180)는 디스에이블 신호(ENB)에 응답하여, 턴-오프됨으로써, 전원 전압(VDD)이 PUF 셀 어레이(110) 및 기준 전압 생성기(120)에 제공되는 것을 차단할 수 있다.
그러나, 이에 제한되는 것은 아니며, 차단 스위치(180)는 PUF 셀 어레이(110) 또는 기준 전압 생성기(120)에 연결되어, 전원 전압(VDD)이 PUF 셀 어레이(110) 또는 기준 전압 생성기(120)에 제공되는 것을 차단할 수 있다.
도 11은 본 개시의 실시예에 따른 PUF 시스템을 나타내는 블록도이다.
도 11을 참조하면, PUF 시스템(1000a)은 PUF 회로(100), 컨트롤러(200a) 및 불휘발성 메모리(300)를 포함할 수 있다. PUF 회로(100)는 PUF 셀 어레이(110) 및 기준 전압 생성기(120)를 포함할 수 있으며, 컨트롤러(200a)는 제어 로직(210), 키 생성기(220) 및 ECC 회로(230)를 포함할 수 있다.
PUF 시스템(1000a)을 도 1의 PUF 시스템(1000)과 비교하며, PUF 시스템(1000a)은 ECC 회로(230)를 더 포함할 수 있다. ECC 회로(230)는 최초 인증 키(KEY) 생성 시, 다시 말해서 인증 키 등록 시, PUF 데이터(PDT)를 인코딩하여, 에러 정정을 위한 ECC 코드를 생성하고, ECC 코드를 불휘발성 메모리(300)에 저장할 수 있다. 키 생성기(220)는 인코딩된 PUF 데이터(PDT)를 기초로, 인증 키(KEY)를 생성할 수 있다.
이후, 인증 키(KEY) 생성 시, ECC 회로(230)는 불휘발성 메모리(300)로부터 ECC 코드를 독출하고, 독출된 ECC 코드를 기초로 PUF 회로(100)로부터 제공되는 PUF 데이터(PDT)를 디코딩할 수 있다. 키 생성기(220)는 디코딩된 PUF 데이터(PDT)를 기초로 인증 키(KEY)를 생성할 수 있다.
도 2를 참조하여 전술한 바와 같이, 본 개시의 실시예에 따른 PUF 회로(100)의 BER은 낮을 수 있다. 따라서, ECC 회로(230)는 단순한 ECC 로직을 포함할 수 있다.
도 12는 본 개시의 실시에에 따른 PUF 시스템의 동작 방법을 나타내는 흐름도이다. 도12의 동작 방법은 도 1 및 도 11의 PUF 시스템(1000, 1000a)에서 수행될 수 있다. 따라서, 도 1및 도 11의 PUF 시스템(1000, 1000a)에 대한 설명은 본 개시의 실시예에 따른 PUF 시스템의 동작 방법에 적용될 수 있다.
도 12를 참조하면, PFU 시스템은 제조 공정 상의 테스트 단계 또는 PUF 회로의 초기화 단계나 리셋 단계에서 복수의 PUF 셀들 중 안정적인 PUF 셀들을 결정할 수 있다(S100). PUF 시스템은 복수의 PUF 셀들을 테스트하여 복수의 PUF 셀들의 출력 전압들이 데드존에 속하는지 여부를 판단하고, 출력 전압이 데드존에 속하는 PUF 셀은 불안정한 PUF 셀, 다시 말해서 유효하지 않은 PUF 셀로 판단하고, 데드존에 속하지 않는 PUF 셀은 안정한 PUF 셀, 다시 말해서 유효한 PUF 셀로 판단할 수 있다. PUF 시스템은 복수의 PUF 셀들 각각에 대한 유효성 신호를 생성하고, 유효성 신호들을 포함하는 유효성 데이터를 불휘발성 메모리에 저장할 수 있다.
이후, PUF 시스템은 인증 키 요청 신호에 응답하여, 인증 키를 생성할 수 있으며, 안정적인 PUF 셀들의 출력 전압에 따른 PUF 데이터를 이용하여 인증 키를 생성할 수 있다(S200). PUF 시스템은 불휘발성 메모리에 저장된 유효성 데이터를 기초로 유효한 PUF 셀들 및 유효하지 않은 PUF 셀들을 구분하고, 유효한 PUF 셀들의 데이터 값들을 이용하여 인증 키를 생성할 수 있다.
도 13은 도 12의 S100 단계의 실시예를 나타내는 흐름도이다.
도 13을 참조하면, 기준 전압 생성기가 저항성 소자들을 이용하여 전원 전압을 분배함으로써, 제1 내지 제3 기준 전압을 생성할 수 있다(S110). 제1 기준 전압은 PUF 셀들의 데이터 값을 판별하기 위한 기준 전압이고, 제2 및 제3 기준 전압은 데드존 설정을 위한 기준 전압들일 수 있다. 제1 기준 전압은 전원 전압의 1/2배로 설정될 수 있다. 제2 기준 전압은 제1 기준 전압보다 높고, 제3 기준 전압은 제1 기준 전압보다 낮다..
복수의 PUF 셀들 각각이 전원 전압을 분배함으로써 출력 전압을 생성할 수 있다(S120). S120 단계는 S110 단계와 동시에 수행될 수 있다. 복수의 PUF 셀들 각각은 직렬 연결된 저항성 소자들을 포함할 수 있으며, 저항성 소자들이 전압 디바이더로 동작함으로써, 전원 전압을 분배하여 출력 전압을 생성할 수 있다. 저항성 소자들은 동일한 저항값을 갖도록 설계될 수 있으며, 제조 공정 상의 미스매치에 의하여 저항성 소자들의 저항값은 오차를 가질 수 있다. 복수의 PUF 셀들 각각의 출력 전압은 동일하게 설정될 수 있다. 예컨대, 복수의 PUF 셀들 각각의 출력 전압은 전원 전압의 1/2배로 설정될 수 있다. 그러나, 저항성 소자들의 저항값의 오차에 의하여, 복수의 PUF 셀들 각각의 출력 전압은 산포를 가질 수 있다.
비교 회로는 복수의 PUF 셀들 중 선택된 PUF 셀의 출력 전압을 제1 내지 제3 기준 전압 중 적어도 두 개의 기준 전압과 비교하고(S130), 조합 로직은, 비교 결과를 기초로 선택된 PUF 셀에 대한 유효성을 나타내는 유효성 신호를 생성할 수 있다(S140). 예컨대, 비교 회로는 선택된 PUF 셀의 출력 전압을 제1 내지 제3 기준 전압과 비교하여 제1 내지 제3 비교 결과를 생성할 수 있다. 조합 로직은 제1 내지 제3 비교 결과를 기초로 선택된 PUF 셀에 대한 유효성 신호를 생성할 수 있다.
이후, 복수의 PUF 셀들 중 다른 PUF 셀이 선택될 수 있다(S150). 선택된 다른 PUF 셀에 대하여 S130 단계 및 S140 단계가 수행되고 조합 로직은 선택된 다른 PUF 셀에 대한 유효성 신호를 생성할 수 있다.
S130 단계, S140 단계 및 S150 단계가 반복적으로 수행되어, 복수의 PUF 셀들 모두에 대한 유효성 신호가 생성될 수 있다.
복수의 PUF 셀들 각각에 대한 유효성 신호들을 포함하는 유효성 데이터는 유효성 맵으로서 불휘발성 메모리에 저장될 수 있다(S150).
도 14는 도 12의 S200 단계의 일 실시예를 나타내는 흐름도이다.
도 14를 참조하면, 기준 전압 생성기가 저항성 소자들을 이용하여 전원 전압을 분배함으로써, 제1 기준 전압을 생성할 수 있다(S210).
복수의 PUF 셀들 각각이 전원 전압을 분배함으로써 출력 전압을 생성할 수 있다(S120). S220 단계는 S210 단계와 동시에 수행될 수 있다.
비교 회로 및 조합 로직은 복수의 PUF 셀들 각각의 출력 전압을 제1 기준 전압과 비교하여 PUF 데이터를 생성할 수 있다(S230). 비교 회로 및 조합 로직은 PUF 셀의 출력 전압을 제1 기준 전압과 비교하여 PUF 셀에 대한 데이터 값을 생성할 수 있으며, PUF 데이터는 복수의 PUF 셀의 데이터 값들을 포함할 수 있다. PUF 데이터의 비트들 각각은 복수의 PUF 셀의 데이터 값에 해당할 수 있다.
컨트롤러는 PUF 데이터의 비트들 중 안정적인 PUF 셀들에 대응하는 비트들을 이용하여 인증 키를 생성할 수 있다(S240). 컨트롤러는 불휘발성 메모리에 저장된 유효성 데이터를 독출하고, 유효성 데이터를 기초로 PUF 데이터의 비트들 중 안정적인 PUF 셀들에 대응하는 비트들, 즉 유효 데이터 값들을 선별할 수 있다. 컨트롤러는 유효 데이터 값들을 기초로 인증 키를 생성할 수 있다.
도 15는 도 12의 S200 단계의 일 실시예를 나타내는 흐름도이다.
도 15를 참조하면, 기준 전압 생성기가 저항성 소자들을 이용하여 전원 전압을 분배함으로써, 제1 기준 전압을 생성할 수 있다(S210a).
복수의 PUF 셀들 각각이 전원 전압을 분배함으로써 출력 전압을 생성할 수 있다(S220a). S220 단계는 S210 단계와 동시에 수행될 수 있다.
비교 회로 및 조합 로직은 복수의 PUF 셀들 중 안정적인 PUF 셀들 각각의 출력 전압을 제1 기준 전압과 비교하여 PUF 데이터를 생성할 수 있다(S230a). 컨트롤러는 불휘발성 메모리에 저장된 유효성 데이터를 독출하고, 유효성 데이터를 기초로 안정적인 PUF 셀들, 즉 유효한 PUF 셀들을 선택하는 제어 신호를 PUF 회로에 제공할 수 있다. 이에 따라 안정적인 PUF 셀들의 출력 전압이 순차적으로 비교 회로에 제공될 수 있다. 비교 회로는 안정적인 PUF 셀들 각각의 출력 전압을 제1 기준 전압과 비교하여 비교 결과들을 출력하고, 조합 로직은 비교 결과들, 다시 말해서 안정적인 PUF 셀들의 데이터 값들을 기초로 PUF 데이터를 생성할 수 있다.
컨트롤러는 PUF 회로로부터 제공되는 PUF 데이터의 비트들을 이용하여 인증 키를 생성할 수 있다(S240a). 실시예에 있어서, 컨트롤러는 PUF 데이터를 인증 키로서 출력할 수 있다.
도 16은 본 개시의 실시예에 따른 전자 장치를 나타내는 블록도이다.
전자 장치(2000)는 애플리케이션 프로세서, 스마트 카드 IC, 모바일 기기, 데이터 저장 매체(SSD, 메모리 스틱, UFS 장치), 메모리 카드(SD, MMC, eMMC 등), 보안 장치 등 데이터의 암호화 또는 보안 인증이 수행되는 다양한 종류의 전자 장치 중 하나일 수 있다.
도 16을 참조하면 전자 장치(2000)는 적어도 하나의 프로세서(2100), PUF 시스템(2200), 암호화 모듈(2300), 불휘발성 메모리 컨트롤러(2400), 불휘발성 메모리(2410), RAM(2500) 및 인터페이스(2600)를 포함할 수 있다. 전자 장치(2000)는 통신 모듈, 입출력 장치 등 다른 구성들을 더 포함할 수 있다. 실시예에 있어서, 전자 장치(2000)가 애플리케이션 프로세서일 때, 불휘발성 메모리(2410)는 전자 장치(2000)의 외부에 구비될 수 있다.
프로세서(2100)는 전자 장치(2000)에 대한 전반적인 동작을 제어할 수 있다. 프로세서(2100)는 CPU(Central Processing Unit), 마이크로 프로세서 등으로 구현될 수 있으며, 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다.
RAM(2500)은 전자 장치(2000)의 내부 시스템의 워킹 메모리로서 동작할 수 있다. RAM(2500)은 휘발성 메모리(volatile memory) 또는 불휘발성 메모리(nonvolatile memory) 중 적어도 하나를 포함할 수 있다. 전자 장치(2000)를 관리/운영하기 위한 코드(code) 및/혹은 애플리케이션이 RAM(2500)에 로딩되고, 프로세서(2100)는 RAM(2500)에 로딩된 코드 및/혹은 애플리케이션을 실행할 수 있다. 이때, 코드(code) 및/혹은 애플리케이션은 불휘발성 메모리(2410) 또는 별도의 저장소에 저장될 수 있다.
인터페이스(2600)는 RGB 인터페이스, CPU 인터페이스, 시리얼 인터페이스(serial interface), MDDI(Mobile display digital interface), I2C(inter integrated circuit) 인터페이스, SPI(serial pheripheral interface), MCU(micro controller unit) 인터페이스, MIPI(Mobile industry processor interface), eDP(embedded displayport) 인터페이스, D-sub(D-subminiature), 광 인터페이스(optical interface), D-sub(D-subminiature), HDMI(highdefinition multimedia interface), MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스 등을 통해 입출력 장치(미도시)와 연결될 수 있다.
불휘발성 메모리 컨트롤러(2400)는 불휘발성 메모리(2410)와 전자 장치(2000)의 다른 구성들(예컨대 프로세서(2100), PUF 시스템(2200), 암호화 모듈(2300) 등) 사이에 인터페이스를 제공할 수 있다. 불휘발성 메모리(2410)에 저장될 데이터나 불휘발성 메모리(2410)로부터 독출될 데이터는 불휘발성 메모리 컨트롤러(2400)의 제어하에 불휘발성 메모리(2410)에 수신되거나, 불휘발성 메모리(2410)로부터 독출될 수 있다.
불휘발성 메모리(2410)는 OTP(One Time Programmable) 메모리, ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), Flash 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM) 및 FRAM (Ferroelectric RAM) 중 하나를 포함할 수 있다.
불휘발성 메모리(2410)에는 전자 장치(2000)를 관리/운영하기 위한 코드(code) 및/혹은 애플리케이션이 저장될 수 있으며, 사용자 데이터가 저장될 수 있다. 또한 PUF 시스템(2200)에서 생성되는 유효성 데이터가 불휘발성 메모리(2410)에 저장될 수 있다.
암호화 모듈(2300)은 PUF 시스템(2200)으로부터 제공되는 인증 키를 이용하여 입출력 데이터에 대한 암호 및 복호 동작을 수행할 수 있다.
PUF 시스템(2200)은 보안에 필요한 인증 키를 발생할 수 있다. PUF 시스템(2200)은 프로세서(2100) 또는 암호화 모듈(2300)으로부터 제공되는 인증 키 요청 신호에 응답하여, 인증 키를 생성하고, 이를 암호화 모듈(2300)에 제공할 수 있다.
도 1 및 도 11을 참조하여 설명한 PUF 시스템(2200) 또는 도 2를 참조하여 설명한 PUF 회로(100)가 PUF 시스템(2200)에 적용될 수 있다. PUF 시스템(2200)은 하드웨어, 하드웨어와 소프트웨어의 조합 또는 하드웨어와 펌웨어의 조합으로 구현될 수 있다.
PUF 시스템(2200)은 저항성 소자들을 이용하여 전원 전압의 분배를 통해 생성되는 PUF 셀들의 출력 전압을 저항성 소자들을 이용하여 전원 전압의 분배를 통해 생성되는 기준 전압과 비교하여 PUF 셀들의 데이터 값을 생성할 수 있다. 이에 따라, 복수의 PUF 셀들의 데이터 값이 환경 변화에 관계없이 일정하게 유지될 수 있다.
또한 PUF 시스템(2200)은 PUF 셀들의 데이터 값을 판별하는데 이용되는 기준 전압, 예컨대 제1 기준 전압을 중심으로 충분한 마진을 가지는 데드존을 설정하고, 출력 전압이 데드존에 속하는 PUF 셀들을 차단함으로써, BER(Bit Error Rate)이 감소될 수 있다. 따라서, 복잡한 ECC 로직이 요구되지 않는다.
PUF 시스템(2200)은 전압 분배를 통해 생성되는 기준 전압들, 예컨대 제2 기준 전압 및 제2 기준 전압을 복수의 PUF 셀들의 출력 전압들과 비교하는 방법을 통해서, 간단하게 유효성 데이터를 생성하므로, 불안정한 PUF 셀들을 판별하기 위한 테스트 타임 및 비용이 절약될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1000, 1000a: PUF 시스템 100, 100a, 100b, 100c: PUF 회로
200, 200a: 컨트롤러 300: 불휘발성 메모리
110: PUF 셀 어레이 120, 120a, 120b: 기준 전압 생성기
130, 130a, 130b: 비교 회로 140: 조합 로직

Claims (10)

  1. 각각이 전원 전압을 분배함으로써 출력 전압을 생성하는 복수의 복제 방지 기능(Physical Unclonable Function, PUF) 셀들;
    복수의 저항 소자를 이용하여 상기 전원 전압을 분배하여 제1 기준 전압, 제2 기준 전압 및 제3 기준 전압을 생성하고, 상기 제2 기준 전압은 상기 제1 기준 전압보다 높고, 상기 제3 기준 전압은 상기 제1 기준 전압보다 낮은, 기준 전압 생성기;
    상기 복수의 PUF 셀들 중 하나의 PUF 셀의 출력 전압을 상기 제1 기준 전압, 상기 제2 기준 전압 및 상기 제3 기준 전압과 각각 비교하여 상기 PUF 셀에 대한 제1 비교 결과, 제2 비교 결과 및 제3 비교 결과를 생성하는 비교부; 및
    상기 제1 비교 결과에 기초하여 상기 PUF 셀의 데이터 값을 결정하고, 상기 제1 비교 결과, 상기 제2 비교 결과 및 상기 제3 비교 결과에 기초하여 상기 PUF 셀의 유효성을 결정하는 결정 로직을 포함하는 PUF 회로.
  2. 제1 항에 있어서, 상기 복수의 PUF 셀들 각각은,
    적어도 두 개의 저항성 소자를 포함하고,
    상기 복수의 PUF 셀들은 상기 적어도 두 개의 저항성 소자의 미스매치에 기인하여 서로 다른 레벨의 출력 전압을 생성하는 것을 특징으로 하는 PUF 회로.
  3. 제1 항에 있어서, 상기 복수의 PUF 셀들 각각은,
    직렬 연결된 제1 저항 및 제2 저항을 포함하고,
    상기 제1 저항의 일단에는 전원 전압이 인가되고, 상기 제1 저항의 타단의 전압이 상기 출력 전압으로서 출력되는 것을 특징으로 하는 PUF 회로.
  4. 제3 항에 있어서, 상기 기준 전압 생성기는,
    직렬 연결된 제3 저항 및 제4 저항을 포함하고,
    상기 제3 저항의 일단에는 전원 전압이 인가되고, 상기 제3 저항의 타단의 전압이 상기 제1 기준 전압으로서 출력되며,
    상기 제1 저항 및 상기 제2 저항 사이의 미스매치는 상기 제3 저항 및 상기 제4 저항 사이의 미스매치보다 큰 것을 특징으로 하는 PUF 회로.
  5. 제4 항에 있어서, 상기 제1 저항의 너비 및 길이는 상기 제2 저항의 너비 및 길이와 동일하고, 상기 제3 저항의 너비 및 길이는 상기 제4 저항의 너비 및 길이와 동일하고, 상기 제3 저항의 너비는 상기 제1 저항의 너비보다 상대적으로 넓은 것을 특징으로 하는 PUF 회로.
  6. 삭제
  7. 삭제
  8. 제1 항에 있어서, 상기 결정 로직은,
    상기 복수의 PUF 셀들 중 출력 전압의 레벨이 상기 제2 기준 전압 이상 또는 상기 제3 기준 전압 미만인 PUF 셀을 유효한 PUF 셀로 판단하는 것을 특징으로 하는 PUF 회로.
  9. 제1 항에 있어서, 상기 기준 전압 생성기는,
    상기 전원 전압이 인가되는 제1 저항 스트링 및 상기 제1 저항 스트링에 직렬 연결된 제2 저항 스트링을 포함하고,
    제1 저항 스트링의 복수의 노드들 중 제1 설정 신호에 기초하여 선택되는 노드의 전압을 상기 제1 기준 전압으로서 출력하고, 상기 제2 저항 스트링의 복수의 노드들 중 제2 설정 신호에 기초하여 선택되는 노드의 전압을 상기 제2 기준 전압으로서 출력하는 것을 특징으로 하는 PUF 회로.
  10. 제1 항에 있어서, 상기 기준 전압 생성기는,
    상기 전원 전압을 기초로 기준 전류를 생성하는 밴드갭 레퍼런스 회로; 및
    상기 기준 전류를 기초로 상기 기준 전압을 생성하는 저항 스트링을 포함하는 것을 특징으로 하는 PUF 회로.
KR1020170117230A 2017-05-16 2017-09-13 물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로 KR102341265B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/871,306 US10243749B2 (en) 2017-05-16 2018-01-15 Physically unclonable function circuit, and system and integrated circuit including the same
CN201810175242.2A CN108880818B (zh) 2017-05-16 2018-03-02 物理不可克隆功能电路、系统及具有此功能的集成电路
TW107107602A TWI769224B (zh) 2017-05-16 2018-03-07 物理不可克隆功能電路、系統及具有此功能的積體電路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170060680 2017-05-16
KR1020170060680 2017-05-16

Publications (2)

Publication Number Publication Date
KR20180125860A KR20180125860A (ko) 2018-11-26
KR102341265B1 true KR102341265B1 (ko) 2021-12-22

Family

ID=64602970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117230A KR102341265B1 (ko) 2017-05-16 2017-09-13 물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로

Country Status (2)

Country Link
KR (1) KR102341265B1 (ko)
TW (1) TWI769224B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102272750B1 (ko) 2019-01-23 2021-07-05 한국전자통신연구원 비밀 정보 생성 장치 및 그것의 동작 방법
KR102212513B1 (ko) * 2019-09-16 2021-02-04 성균관대학교산학협력단 PUF(physically unclonable function) 회로 및 PUF 셀을 이용한 사용자 인증 용 개인 키 생성 방법
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
KR102282855B1 (ko) * 2020-07-08 2021-07-28 이화여자대학교 산학협력단 복수의 puf 칩들을 포함하는 인증 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317829A1 (en) * 2010-06-25 2011-12-29 International Business Machines Corporation Physically Unclonable Function Implemented Through Threshold Voltage Comparison
US20130222013A1 (en) 2012-02-23 2013-08-29 International Business Machines Corporation Physical unclonable function cell and array
US20140327469A1 (en) * 2013-05-03 2014-11-06 International Business Machines Corporation Physical unclonable function generation and management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140268994A1 (en) * 2013-03-14 2014-09-18 United States Of America As Represented By The Secretary Of The Air Force Write-Time Based Memristive Physical Unclonable Function
WO2015134037A1 (en) * 2014-03-07 2015-09-11 Intel Corporation Physically unclonable function circuit using resistive memory device
KR102201642B1 (ko) * 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
CN105184191B (zh) * 2015-08-12 2018-01-23 苏州芯动科技有限公司 一种可重构物理不可克隆功能电路
CN105160276B (zh) * 2015-08-12 2017-09-22 苏州芯动科技有限公司 一种物理不可克隆功能电路
CN107220563B (zh) * 2017-04-29 2020-02-14 苏州芯动科技有限公司 一种基于电容偏差的puf电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317829A1 (en) * 2010-06-25 2011-12-29 International Business Machines Corporation Physically Unclonable Function Implemented Through Threshold Voltage Comparison
US20130222013A1 (en) 2012-02-23 2013-08-29 International Business Machines Corporation Physical unclonable function cell and array
US20140327469A1 (en) * 2013-05-03 2014-11-06 International Business Machines Corporation Physical unclonable function generation and management

Also Published As

Publication number Publication date
KR20180125860A (ko) 2018-11-26
TW201907665A (zh) 2019-02-16
TWI769224B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN108880818B (zh) 物理不可克隆功能电路、系统及具有此功能的集成电路
KR102341265B1 (ko) 물리적 복제 방지 기능 회로, 이를 포함하는 시스템 및 집적 회로
US10685728B2 (en) Code generating apparatus and one time programming block
US10911229B2 (en) Unchangeable physical unclonable function in non-volatile memory
US10715340B2 (en) Non-volatile memory with security key storage
US10324641B2 (en) SRAM-based authentication circuit
KR102201697B1 (ko) 리텐션 드리프트 이력 기반 비휘발성 메모리 판독 임계치 최적화
KR102512819B1 (ko) 딜레이 코드를 발생하는 전압 모니터
CN107844715B (zh) 半导体装置及安全系统
US10439829B1 (en) Physical unclonable function code generating method and providing apparatus thereof
US20240089125A1 (en) Integrated circuit for physically unclonable function and method of operating the same
US20130021851A1 (en) Anti-fuse circuit and method for anti-fuse programming and test thereof
TWI584127B (zh) 電子裝置
CN106683703B (zh) 一种数据读取方法、集成电路及芯片
US10275017B2 (en) Power circuit and memory device using the same
TWI625733B (zh) 產生積體電路固有資訊的裝置及方法
KR102634813B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI708133B (zh) 電壓供應裝置與其操作方法
CN206639593U (zh) 一种集成电路及芯片
CN104425015A (zh) 半导体存储装置
US11579776B2 (en) Optimizing power consumption of memory repair of a device
TWI789248B (zh) 產生用於一電子元件的一隨機碼的裝置及方法
TWI802054B (zh) 過電流保護電路、記憶體儲存裝置及過電流保護方法
CN111314058B (zh) 物理不可复制功能码产生方法及其提供装置
CN109753830B (zh) 物理不可克隆函数编码的产生方法及其产生的装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right