[go: up one dir, main page]

KR20210102804A - 집적 회로의 puf 서명 모듈을 분류하기 위한 시스템 및 방법 - Google Patents

집적 회로의 puf 서명 모듈을 분류하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210102804A
KR20210102804A KR1020200048559A KR20200048559A KR20210102804A KR 20210102804 A KR20210102804 A KR 20210102804A KR 1020200048559 A KR1020200048559 A KR 1020200048559A KR 20200048559 A KR20200048559 A KR 20200048559A KR 20210102804 A KR20210102804 A KR 20210102804A
Authority
KR
South Korea
Prior art keywords
puf
puf cell
cell
signal
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
KR1020200048559A
Other languages
English (en)
Other versions
KR102346907B1 (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 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20210102804A publication Critical patent/KR20210102804A/ko
Application granted granted Critical
Publication of KR102346907B1 publication Critical patent/KR102346907B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

시스템 및 방법은 디바이스의 물리적 복제방지(PUF) 셀의 신뢰성을 결정하기 위해 제공된다. 하나 이상의 활성화 신호는 복수의 조건 하에서 PUF 셀로 제공된다. 각각의 복수의 조건 하에서 PUF 셀에 의해 제공되는 PUF 셀 출력이 결정된다. 결정은 PUF 셀의 PUF 셀 출력이 일정한 횟수로 내려진다. 그리고 디바이스 분류 값은 복수의 PUF 셀에 대한 결정된 횟수에 기초하여 결정된다.

Description

집적 회로의 PUF 서명 모듈을 분류하기 위한 시스템 및 방법{SYSTEMS AND METHOS FOR CLASSIFYING PUF SIGNATURE MODULES OF INTEGRATED CIRCUITS}
본 발명은 집적 회로의 PUF 서명 모듈을 분류하기 위한 시스템 및 방법에 관한 것이다.
물리적 복제방지(physical unclonable function; PUF)는 물리적 디바이스에 구현된 물리적 구조를 지칭한다. 오늘날, PUF는 보통 집적 회로에서 실행되며 보안 요구를 갖는 애플리케이션에서 통상적으로 사용된다. 다량으로 제조되더라도, 각각의 집적 회로(Integrated Circuit; IC)는 물리적 임의성 때문에 동일한 제조 프로세스 및 동일한 재료를 갖더라도 고유하다. 이 내재된 변동은 추출될 수 있고 고유한 식별로서 사용될 수 있다.
본 개시의 양태들은 첨부 도면들과 함께 읽혀질 때 다음의 상세한 설명으로부터 가장 잘 이해된다. 산업에서의 표준 관행에 따라, 다양한 피처(feature)들이 축적대로 그려지지 않음을 주목해야 한다. 실제로, 다양한 피처들의 치수(dimension)들은 논의의 명료함을 위해 임의로 증가되거나 또는 감소될 수 있다.
도 1은 예시적인 실시예에서 집적 회로를 식별하는 PUF 서명을 생산하기 위한 테스트가능한 PUF 서명 모듈을 도시하는 블록도이다.
도 2는 일실시예에 따른 PUF 셀 마스크를 도시하는 다이어그램이다.
도 3은 일실시예에 따른 PUF 어레이의 셀들로 제어 신호들을 보내는 제어 신호 생성기를 도시하는 다이어그램이다.
도 4는 일실시예에 따른 PUF 셀의 예시적인 구조를 도시하는 다이어그램이다.
도 5는 일실시예에서 입력 신호들이 동기화되어 제공될 때, PUF 셀을 통해 수신되며 생산되는 신호들을 도시하는 타이밍 다이어그램이다.
도 6은 일실시예에서 입력 신호들이 동기화되지 않고 제공될 때, PUF 셀을 통해 수신되며 생산되는 신호들을 도시하는 타이밍 다이어그램이다.
도 7은 예시적인 실시예에서 시뮬레이팅된 스트레스 조건 변화에 따른 예시 PUF 셀 출력을 도시하는 다이어그램이다.
도 8은 실시예들에 따른 다양한 타이밍을 갖는 제어 신호를 사용하는 PUF 셀의 예시 테스트를 도시하는 다이어그램이다.
도 9는 실시예들에 따른, 디바이스를 위한 적절한 애플리케이션들을 식별하는데 사용하는 강도(strength)에 의한 PUF 셀 비닝(binning)을 도시하는 다이어그램이다.
도 10은 실시예들에 따른 상이한 비닝 레벨에서의 사용가능한 셀들 및 대응하는 PUF 셀들의 시뮬레이팅된 반응(behavior)을 도시한다.
도 11은 예시적인 실시예에서 PUF 셀들의 열(column)의 예시 구조를 도시하는 다이어그램이다.
도 12는 실시예들에 따른 디바이스의 물리적 복제방지 셀의 신뢰성을 결정하기 위한 프로세스를 도시하는 흐름도이다.
도 13은 실시예들에 따른 집적 회로 디바이스를 동작시키는 방법의 단계들을 도시한다.
이하의 개시는 제공된 특허 청구 대상의 상이한 피처들을 구현하기 위한 많은 상이한 실시예들 또는 예시들을 제공한다. 본 개시를 단순화하기 위해 컴포넌트 및 배열의 특정 예시들이 아래에서 설명된다. 물론, 이것들은 단지 예시들에 불과하며, 제한되도록 의도되는 것은 아니다. 예를 들어, 후속되는 설명에서 제 2 피처 위의 또는 제 2 피처 상의 제 1 피처의 형성은, 제 1 피처 및 제 2 피처가 직접적으로 접촉하여 형성되는 실시예를 포함할 수 있으며, 또한 제 1 피처 및 제 2 피처가 직접적으로 접촉되지 않도록 추가적인 피처가 제 1 피처와 제 2 피처 사이에 형성될 수 있는 실시예를 포함할 수 있다. 또한, 본 개시는 다양한 예시에서 참조 부호 및/또는 문자를 반복할 수 있다. 이러한 반복은 간략화 및 명료화를 위한 것이며, 그 자체가 논의된 다양한 실시예들 및/또는 구성들 사이의 관계에 영향을 주지는 않는다.
PUF는 마이크로프로세서 또는 SoC와 같은 반도체 디바이스를 위한 고유 식별자로서 역할하는 물리적으로 정의된 "디지털 지문"이다. 이것은 반도체를 제조하는 동안 자연적으로 발생하는 고유하고 전형적인 임의의 물리적 변동에 기초한 것이다. PUF 값은, 하기에서 기술하는 바와 같이, 특정 디바이스(예를 들어, IOT(Internet of Things) 디바이스와 통신하는)를 식별하기 위해 고유하거나 거의 고유한 값으로 사용될 수 있는, 전송된 메시지의 내용을 보호하기 위한 암호 키로서 사용될 수 있는, 또는 데이터를 전송하는 디바이스의 신원을 확인하는 디지털 서명으로서 사용될 수 있는 비트 스트링의 형태를 가질 수 있다.
PUF 값은 제조 프로세스(예를 들어, 상이한 PUF 셀들이 2개의 유사한 구조의 트랜지스터 배치들 사이의 작은 변화에 기초하여 상이한 비트 값들을 제공함)의 임의성에 의존하기 때문에, PUF 셀들의 반응 및 신뢰성은 디바이스 제조가 끝날 때까지 알려지지 않는다. 어떠한 경우에는, PUF 셀이 변칙적이거나 신뢰할 수 없는 반응을 제공할 수 있다. 예를 들어, PUF 셀의 출력이 제조된 트랜지스터들 사이의 매우 작은 차이점에 의해 결정되는 경우, 이 트랜지스터들이 동일하거나 거의 동일한 예에서, 그 PUF 셀의 출력이 고유 식별자의 희망대로 모든 판독동안 확실하게 동일하지 않을 수 있다. 어떤 경우에는 1 값을 출력하고 또다른 경우에는 0을 출력하는 PUF 셀값("약한 비트" 또는 "다크 비트")은 통상적으로 바람직하지 않다. 작업 환경들(예를 들어, 열적 조건, 공급 전압 변동)은 바람직하지 않은 변동을 보다 잘 야기할 수 있는 상태를 만들 수 있다. 여기에 기술된 시스템 및 방법은, 실시예들에서, 작업 환경 스트레스 하에서도 비트 값들이 변경될 것 같지 않은 PUF 셀들("강한 비트")을 식별하기 위해 PUF 셀 신뢰성을 테스트하기 위한 메커니즘을 제공한다. 게다가, 여기에 기술된 시스템 및 방법은 비트들이 얼마나 강한지 또는 약한지에 따라 비트들을 분류할 수 있다. 비트들은, 그 비트들과 관련된 강도 레벨에 기초하여, 어떤 유형의 동작들(예를 들어, 높은 보안, 극한의 동작 조건(예를 들어, 높거나 낮은 온도))에 대해서는 사용할 수는 없으나 다른 동작들에 대해서는 사용할 수 있다고 간주될 수 있다.
도 1은 예시적인 실시예에서 마이크로프로세서/집적 회로/SoC(100)를 식별하는 PUF 서명을 생산하기 위한 테스트가능한 PUF 서명 모듈을 도시하는 블록도이다. PUF 서명 모듈(102)은 PUF 어레이(104)를 포함하고, 실시예들에서 PUF 어레이(104)는 PUF 셀들의 어레이를 포함하며, 각 PUF 셀의 값은 상이한 PUF 서명 모듈(102)의 PUF 어레이들이 상이한 서명을 생산하도록 제조 프로세스 변동에 의존한다. PUF 어레이(104)는 상이한 크기(예를 들어, 8×8, 16×16, 16×32, 64×64)일 수 있고, 더 큰 어레이는 고유하고 복제(예를 들어, 크랙(crack))가 더 어려울 수 있는 더 긴 서명을 제공한다.
PUF 서명 모듈(102)은 PUF 어레이(104)의 셀들의 신뢰성을 테스트하기 위한 특정 구성요소들을 포함한다. 도 1의 예시에서, 제어 신호 생성기(106)는 활성 신호를 PUF 어레이(104) 내 PUF 셀들로 제공하도록 구성된다. 실시예에서, 제어 신호 생성기(106)는 이 제어 신호들을 상이한 모드들로 제공하도록 구성된다. 하나의 모드(예를 들어, 동작 모드)에서, 제어 신호 생성기(106)는 제어 신호들을 동기화하여 PUF 셀의 입력들로 동시에 제공한다. 제2 모드(예를 들어, 테스트 모드)에서, PUF 셀 상에 스트레스를 시뮬레이션하기 위해, 제어 신호 생성기(106)는 제어 신호들을 동기화하지 않고 다양한 타이밍으로 PUF 셀의 입력들로(예를 들어, PUF 셀의 하나의 입력으로 입력한 직후에 PUF 셀의 다른 입력으로) 제공한다. 실시예들에서, PUF 강도 분석기(108)는 제어 신호 생성기(106)에게 제어 신호들을 PUF 어레이(104)로 제공하라고 명령할 수 있고, 제어 신호들에 기초하여 PUF 셀들의 출력들을 평가할 수 있다. PUF 셀이 제어 신호 생성기(106)에 의해 제공되는 상이한 제어 모드들에 거쳐 일관성없는 출력 값들을 제공한다면, PUF 강도 분석기(108)는, 그 PUF 셀을 PUF 어레이(104)에 의해 생성되는 고유 서명에서 사용하기에 충분히 신뢰할 수 없는 약한 비트로 간주할 수 있다. 추가적으로, PUF 강도 분석기(108)는 PUF 셀이 상이한 제어 모드들에 거쳐 일정한 출력 값을 제공하는 횟수에 기초하여 PUF 셀의 강도 레벨을 결정할 수 있다(예를 들어, 100번의 테스트 중 100번 일정하면 가장 높은 강도 레벨, 100번의 테스트 중 95-99번 일정하면 높은 강도 레벨, 100번의 테스트 중 85-94번 일정하면 적절한 강도 레벨, 100번의 테스트 중 85번 미만으로 일정하면 사용할 수 없는 상태임).
PUF 서명 모듈(102)은 다양한 모드에서 동작할 수 있다. 제1 테스트 모드에서, PUF 서명 모듈(102)은 디바이스 식별자로서 사용하기에 충분히 신뢰할 수 있는 PUF 셀들의 수를 결정하기 위해 PUF 어레이(104)의 셀들을 테스트한다. 테스트 모드에서, PUF 강도 분석기(108)에 의해 제어됨으로써, 제어 신호 생성기(106)는 입력 신호들을 다양한 타이밍으로(예를 들어, 동기화하여, 동기화하지 않고) PUF 셀에 제공할 수 있다. PUF 강도 분석기(108)는 시뮬레이팅된 스트레스 조건들에 기초하여 출력이 변화하는지를 보기 위해 PUF 셀의 출력을 모니터링한다. 변화된 출력은 분석기(108)가 PUF 셀이 약한 셀이라고 간주하도록 할 수 있다. 각 PUF 셀에 대해, PUF 강도 분석기(108)는 일련의 테스트들(예를 들어, 동작 모드에서의 다수의 테스트, 스트레스 시뮬레이션 모드에서의 다수의 테스트, 동작 모드와 시뮬레이션 모드에서의 복합 테스트)을 거쳐 일정한 출력의 수를 결정한다. PUF 강도 분석기(108)는 결정된 일정한 출력의 수에 기초하여 각 PUF 셀과 관련된 강도 레벨을 결정한다. PUF 강도 분석기(108)는 PUF 셀들과 관련된 강도 레벨을 추적하고 사용가능한 PUF 비트 수(110)(예를 들어, 빈(bin)들에 따라, 가장 높은 강도 레벨 빈(bin)의 k개의 PUF 셀, 높은 강도 레벨 또는 좋은 빈의 l개의 PUF 셀, 적절한 또는 좋은 빈의 m개의 PUF 셀, n개의 사용불가능한 셀; 가장 높은 강도 레벨 빈의 k개의 PUF 셀, 높은 강도 레벨 빈의 l개의 PUF 셀, 적절한 빈의 m개의 PUF 셀, n개의 사용불가능한 셀)를 출력한다.
사용가능한 PUF 비트 수(110)는 PUF 서명 모듈(102)을 위한 자격(qualification) 또는 분류 값으로 사용될 수 있다. 예를 들어, PUF 서명 모듈(102)은 적절한 또는 좋은 빈의 사용가능한 PUF 비트 수(110)가 임계 개수보다 적은 경우 실패한 것으로 간주될 수 있다. 또는 PUF 서명 모듈(102)는 사용가능한 PUF 비트 수(110)에 기초하여 분류에 할당될 수 있다. 예를 들어, 1024 비트(32×32) PUF 어레이(104)에 대해, 높은 강도 레벨 또는 좋은 빈의 사용가능한 PUF 비트 수가 999보다 큰 경우, 모듈(102)은 높은 보안 애플리케이션(민감한 데이터가 암호를 이용하여 전송되는 것, 모듈(102)의 신원 확인이 매우 중요한 것, 군용 애플리케이션)을 위해 승인된 것으로 간주될 수 있다. 그 예시에서, 적절한 또는 좋은 빈의 사용가능한 PUF 비트 수가 799보다 큰 경우, 모듈(102)는 낮은 보안 동작들을 위해(예를 들어, 냉장고 또는 다른 기기, 텔레비젼과 같은 IOT 애플리케이션을 위해) 승인된 것으로 간주될 수 있다. 모듈(102)은 적절한 또는 좋은 빈에 대한 수(110)가 800보다 적은 경우 실패한 것으로 식별될 수 있다.
제2 시작 모드에서, PUF 강도 분석기(108)를 다시 제어하는 제어 신호 생성기(106)는 동작 유사 모드(예를 들어, 동기화하여) 및 스트레스 모드(예를 들어, 동기화하지 않고)에서 제어 신호들을 PUF 어레이(104)로 제공한다. PUF 강도 분석기(108)는, 모듈(102)의 고유 식별자를 생성하는데 사용하기에 매우 신뢰할 수 없는 것으로 간주되는 PUF 셀들을 식별하는 마스크 데이터 기록(마스크 저장소(112)에 저장됨)을 창출하기 위해, 약한 PUF 셀들(예를 들어, 출력이 시뮬레이팅된 스트레스 조건하에서 변하는 PUF 셀들)을 식별하기 위해 PUF 어레이(104)를 모니터링한다. 실시예에서, PUF 분석기는 복수의 마스크들을 생성하고 이 마스크들을 비일시적 마스크 저장소(112)에 저장한다. 예를 들어, PUF 강도 분석기(108)는 가장 높은 강도 레벨 빈에서의 출력을 제외한 모든 PUF 셀 출력들을 마스킹하는 제1 마스크, 높은 강도 빈과 가장 높은 강도 레벨 빈 중 하나의 빈에서의 출력을 제외한 모든 PUF 셀 출력들을 마스킹하는 제2 마스크, 및 적절한, 높은 또는 가장 높은 강도 레벨 빈 중 어느 빈에서의 출력들을 제외한 모든 PUF 셀 출력들을 마스킹하는 제3 마스크를 생성할 수 있다.
실시예에서, PUF 서명 모듈(102)은 다수의 동작 모드들 중 하나의 동작 모드에서 (예를 들어, 집적 회로에 의해 수신되는 제어 신호에 기초하여) 선택적으로 동작할 수 있으며, 제1 마스크는 제1 작동 모드에서 사용되고, 제2 마스크는 제2 작동 모드에서 사용되고, 제3 마스크는 제3 작동 모드에서 사용된다. 실시예에서, PUF 서명 모듈(102)은 동작하도록 허가된 작동 모드로 제한될 수 있다. 예를 들어, PUF 셀의 제1 임계 개수보다 많은 수가 가장 높은 강도 레벨 빈에 있는 경우, 모듈(102)은 제1 모드에서만 동작할 수 있고, PUF 셀의 제2 임계 개수보다 많은 수가 가장 높거나 높은 강도 레벨 빈에 있는 경우, 모듈(102)은 제2 모드에서만 동작할 수 있다.
도 2는 일실시예에 따른 PUF 셀 마스크를 도시하는 다이어그램이다. 마스크는 64비트(8×8) PUF 어레이를 위한 것이다. 제1 마스크(202)는 가장 높은 강도 레벨 빈에 있는 PUF 셀들을 식별한다. X 표시자를 갖는 PUF 셀들은, 가장 높은 강도의 PUF 셀이 희망될 때는 사용을 위해 충분히 신뢰할 수 없는 것으로 결정되었다. 제2 마스크(204)는 높은 레벨 강도 빈 또는 가장 높은 레벨 강도 빈에 있는 셀들을 식별한다. 제2 마스크(204)는, 제1 마스크에서 식별된 셀들의 상위 집합(super-set)을 (예를 들어, 안전에 덜 민감한 동작을 위해, 덜 거친 환경에서의 동작을 위해) 사용가능한 것으로 식별한다. X 표시자를 갖는 PUF 셀들은, 높은 강도의 PUF 셀이 희망될 때는 사용을 위해 충준히 신뢰할 수 없는 것으로 결정되었다.
도 1을 참조하면, 마스크(들)의 생성 및 마스크 저장소(112)에서의 저장 뒤에, PUF 서명 모듈(102)은 고유 식별자를 (예를 들어, 보안 채널(114)을 통해) 출력할 준비를 한다. 구체적으로, 제어 신호 생성기(106)는 동작 모드 제어 신호들(예를 들어, 동기화된 신호들)을 사용하여 서명 생성기(116)에 제공되는 PUF 셀 결과 값으로 PUF 어레이를 활성화시킨다. 서명 생성기(116)는 마스크 저장소(112)로부터의 마스크(예를 들어, 회로의 동작 모드에 기초하여 다수의 저장된 마스크들 중 적절한 하나의 마스크)에 접근하고, (예를 들어, 동작의 선택된 모드를 위해) 마스크에 의해 신뢰할 수 없는 것으로 식별된 비트들로부터의 PUF 셀 값은 무시한다. 서명 생성기(116)는 결과 서명을 수신자에게 전송하면, 수신자는 그 서명을 특정 PUF 서명 모듈(102)과 연관시킨다. 서명 전송은, 서명의 출력 이후에 (예를 들어, 퓨즈를 브로잉(blowing)시켜) 사용할 수 없는 보안 핀(들)을 통해 또는 수신 디바이스의 공개 키를 이용하여 암호화된 형태로와 같은 다양한 방법으로 수행될 수 있다. 몇몇의 보다 낮은 보안 예시들에서, 서명은 비보안 채널을 통해 일반적인 형태로 출력될 수 있다.
모듈(102)의 서명이 이제 모듈과 연관되기 때문에, 서명은 작동 모드에서 사용될 수 있다. 작동 모드에서, 제어 신호 생성기(106)는 (예를 들어, 동기화된) 동작 제어 신호들을 PUF 어레이로 제공하고, 서명 생성기(116)는 PUF 어레이(104) 출력으로부터 서명을 생성하고, 마스크 저장소(112)로부터 접근된 마스크에 의해 식별된 신뢰할 수 없는 PUF 셀들을 무시하고, PUF 서명 모듈(102)은 서명을 (예를 들어, 집적회로가 시작할 때 한번에, 각각의 집적 회로가 외부와 통신을 시작할 때) 재생성한다.
그후 서명은 집적 회로를 인증하기 위해 사용된다. 예시에서, 집적 회로에 이의가 제공되고, 집적 회로가 진실한 디바이스임을 인증하기 위해 서명을 사용하여 집적 회로에 의해 응답이 제공된다. 다른 예시에서, 서명은 서버와 집적 회로를 포함하는 디바이스 간의 통신을 위한 정보를 암호화하기 위해 사용된다. 예를 들어, 서명은 집적 회로로부터 또는 칩 상의 시스템으로부터 마이크로프로세서/IC/SoC(100) 외부에 있는 엔티티들로의 데이터(118)를 암호화되는데 사용될 수 있다. 한 예시에서, 데이터가 서명을 이용하여 서명 생성기(116)에 의해 서명되어, 서명된 데이터의 수신자가 그 데이터의 소스를 검증할 수 있다. 다른 예시에서, 서명 생성기(116)가 서명을 이용하여 출력 데이터(118)을 암호화하여, 암호화된 데이터는, 이전에 수신하고 서명을 PUF 서명 모듈(102)이 있는 집적 회로와 연관시켰던 수신자에 의해 복호화될 수 있다.
도 3은 일실시예에 따른 PUF 어레이의 셀들로 제어 신호들을 보내는 제어 신호 생성기를 도시하는 다이어그램이다. PUF 어레이는 행과 열로 배열된 복수의 PUF 셀들, 1,1, ... n,m을 포함한다. 각 PUF 셀은 2개의 입력 신호들을 수신하고(예를 들어, start_1a, strat_1b가 PUF 셀, 1,1; 1,2; ... 1,m에 의해 수신됨), 비트 라인(예를 들어, out_a 304)을 통해 출력 신호를 제공한다. 제어 신호 생성기(106)는 제어 신호들을 PUF 어레이(104)의 행의 활성 PUF 셀들로 동시에 제공한다. PUF 강도 분석기는 비트 라인 상의 신호 레벨에 기초하여 PUF 셀 값을 결정하도록 구성된다(예를 들어, PUF 비트는 out_a 304가 하이이면 1이고, PUF 비트는 out_a 304가 로우이면 0이다).
PUF 서명 모듈(102)을 위한 서명을 생성하기 위해, 제어 신호 생성기(106)는 행의 PUF 셀들이 하이 값인지 로우 값인지를 결정하기 위해 행 단위로 어레이(104)의 PUF 셀들을 활성화시킨다. 서명 생성기(116)는 하이/로우 PUF 셀 출력들을 캡쳐하고, 집적 회로 서명을 결정하기 위해 마스크 저장소(112)로부터 접근된 마스크의 지시에 따라 PUF 셀 비트들을 무시할 수 있다.
제조 공정의 변동에 기초하여 변하는 값을 갖는 PUF 셀들은 다양한 형태로 취해질 수 있다. 도 4는 예시적인 실시예에서 PUF 셀의 예시적인 구조를 도시하는 다이어그램이다. 각각의 PUF 셀(402)은 2개의 유사한 구조의 인버터들(예를 들어, M3/M5; M4/M6)을 포함한다. 인버터들의 상부 vddv 노드가 활성인 로우 신호 start_2를 통해 프리차징된 후에, PUF 셀(402)은 2개의 입력 신호 start_1a, start_1b들을 수신한다. 동작에서, start_1a 및 start_1b가 PUF 셀(402)로 동기화되어 제공될 때, 좌측 인버터(M3/M5)가 더 강하면 PUF 셀은 out_A를 하이 레벨로 출력하고, 우측 인버터(M4/M6)가 더 강하면 PUF 셀은 out_A를 로우 레벨로 출력한다.
도 5는 예시적인 실시예에서 입력 신호들이 동기화되어 제공될 때, PUF 셀(402)을 통해 수신되며 생산되는 신호들을 도시하는 타이밍 다이어그램이다. 위에서 논의된 바와 같이, 테스트 모드에서 베이스 PUF 셀 값을 결정하기 위해 EH는 작동 모드에서 PUF 셀 값을 결정하기 위해, 제어 신호들(start_1a, start_1b)은 동기화되어(예를 들어, 동시에 또는 실질적으로 동시에) PUF 셀의 입력으로 제공된다. vddv 노드를 하이 레벨로 차징하는 프리차지 신호(strat 2)가 로우가 된다. 제어 신호들 start_1a, start_1b은 동시에 하이가 되어, 트랜지스터들 M7, M8을 활성화시킨다. node a, node b에서의 신호의 이행(transition)는 2개의 인버터들(좌측 인버터 M3/M5; 우측 인버터 M4/M6) 사이에 줄다리기를 야기하며, 더 강한 인버터는 대응하는 출력(좌측 출력 out_b, 우측 출력 out_a)을 로우로 풀링한다(pulling). PUF 셀 출력은 출력들(예를 들어, out_a) 중 하나를 모니터링함으로써 결정될 수 있다. 셀(402)을 위한 PUF 셀 값을 센싱한 다음에, 제어 신호 생성기(106)는 vddv 노드를 프리차지할 수 있고, PUF 셀 어레이(104)의 다음 열들 내의 PUF 셀들을 비슷한 제어 라인들을 통해 활성화시킬 수 있다.
위에서 언급된 바와 같이, 제어 신호 생성기(106)는 동기화되지 않은 제어 신호들을 제공함으로써 PUF 셀 상에 스트레스를 시뮤레이팅할 수 있다. 도 6은 예시적인 실시예에서 입력 신호들이 동기화되어 제공될 때, PUF 셀을 통해 수신되며 생산되는 신호들을 도시하는 타이밍 다이어그램이다. 도 5의 예시에서처럼, 프리차지 신호(start_2)는 vddv 노드를 차징하기 위해 로우로 활성화된다. 제어 신호 생성기(106)는 입력 신호 start_1a, start_1b들을 하이로 움직이게 함으로써 다시 PUF 셀(402)을 활성화시킨다. 그러나, 이 예시에서, 제어 신호 생성기(106)는 우측 인버터 M4/M6을 짧은 시간(예를 들어, 1㎳, 2㎳, 1㎲, 2㎲, 1㎱, 수십 ㎰) 제어하여 제어 신호 start_1a가 활성화되는 것보다 늦게 신호 start_1b를 활성화시킨다. 각각의 활성 신호들을 수신하면, 인버터들은 각각의 비트 라인을 풀링하기 시작한다. 제어 신호 start_1a, start_1b를 제공함으로써 시뮬레이팅된 스트레스에 기초하여, PUF 셀 출력은 PUF 셀의 강도에 의존하여 변할 수 있다.
테스트 모드 동안, (예를 들어, 하나 이상의 빈을 위한) 사용가능한 PUF 셀 수(110)를 생성하기 위해, 또는 초기화 모드 동안 PUF 셀 마스크가 마스크 저장소(112)에서의 저장을 위해 생성될 때, 제어 신호 생성기(106)는 다양한 시뮬레이팅된 스트레스 조건 하에서 PUF 셀들을 테스트할 수 있다. 도 7은 예시적인 실시예에서 시뮬레이팅된 스트레스 조건 변화에 따른 예시 PUF 셀 출력을 도시하는 다이어그램이다. 도시된 테이블 각각에서, 제어 신호 생성기(106)는, 스트레스 시뮬레이션 지연의 16개 조합 전체에 대해 delta1, delta2, delta3 및 delta4(예를 들어, 0㎰, 10㎰, 20㎰, 30㎰) 각각에 기초하여 제어 신호들(예를 들어, start_1a, start_1b) 각각을 지연시킴으로써 PUF 셀 상에 스트레스를 시뮬레이팅하도록 구성된다. PUF 셀 출력들은 16개의 테스트(제어 신호들이 대각선 엔트리에서 동시에 제공되는 4번의 테스트는 동시 발생하고, 6번의 테스트는 제1 제어 신호 start_1a가 먼저 활성화되고, 6번의 테스트는 제2 제어 신호 start_1b가 먼저 활성화됨)를 거쳐 추적되고, 이 출력들은 테이블에 디스플레이된다. 제1 테이블(702)에서, PUF 셀은 16개의 테스트 모두에서 로우(0) 값을 출력한다. 이는 강한 PUF 셀(예를 들어, 가장 높은 강도 빈에 위치됨)을 나타낸다. 유사하게 제2 테이블(704)에서, PUF 셀은 16개의 테스트 모두에서 하이(1) 값을 출력하고, 또한 강한 PUF 셀을 표시한다. 제3 테이블(708)에서, PUF 셀은 다양한 출력들을 제공하는데, 심지어 동기화된 제어 입력들을 수신한 때도 상이한 출력들을 제공한다(즉, 두 입력 신호들이 delta1, delta2, delta4 만큼 지연될 때 0이 출력이나, 두 입력 신호들이 delta3 만큰 지연될 때는 1이 출력이다). 이 테이블은, 디바이스 식별자를 생성하는데 무시되어야 하는 약한 PUF 셀 비트를 나타낸다. 네번째 테이블(708)은, 제어 라인 start_1a가 제어 라인 start_1b에 관해 delta4 만큼 지연될 때를 제외한 모든 케이스들에서 로우(0) 출력 값을 제공하는 PUF 셀을 표시한다. 몇몇의 실행에서, 이것은 PUF 셀을 약한 것으로 식별하는데 충분히 의미있는 변칙일 수 있고, 무시될 비트들의 마스크에서 포함할 수 있다. 몇몇 경우에, 이 변칙은 PUF 강도 분석기(108)에 의해 신뢰할 수 없는 셀들(예를 들어, PUF 셀이 높은 강도 또는 적절한 강도 빈에 있음)을 식별하는데 (예를 들어, 미리 정의된 기준의 조합에 기초하여) 불충분한 것으로 여겨질 수 있다.
PUF 셀들의 강도 레벨을 결정하는 것은 다양한 방법으로 달성될 수 있다. 도 8은 실시예들에 따른 다양한 타이밍을 갖는 제어 신호들을 사용하는 PUF 셀들의 예시 테스트를 도시하는 다이어그램이다. 테이블 802에서 a-h로 라벨링된 8개의 PUF 셀들 각각은, 제어 신호들 SMa, SMb에 따라 달라지는 상대적 타이밍을 갖는 입력 신호들을 사용하여 7번 테스트된다. PUF 셀 출력들은, PUF 셀 출력들이 일정하게 유지되는 횟수를 결정하기 위해 각각의 테스트 동안 각각의 PUF 셀에 대해 결정된다. 일관성은 7번의 테스트를 거쳐 PUF 셀 출력들을 더하면 확인될 수 있다. (예를 들어, PUF 셀 b에 의해 나타난 바와 같은) 0이라는 수는 PUF 셀이 모든 테스트에 거쳐 일정한 값(즉, 0)을 제공했음을 표시한다. 유사하게, (예를 들어, PUF 셀 f에 의해 나타난 바와 같은) 7이라는 수는 PUF 셀이 모든 테스트에 거쳐 일정한 값(즉, 1)을 제공했음을 표시한다. 다른 PUF 셀들은 덜 일정한 결과를 제공했다(예를 들어, PUF 셀 c은 출력 1을 6번 제공했고, PUF 셀 g는 출력 0을 6번 제공했다). 7번 중 2번의 비일정한 값을 출력한 2 및 5의 수를 갖는 PUF 셀들(예를 들어, PUF 셀 a 및 PUF 셀 e)은 덜 신뢰할 수 있는 것이였고, 3 및 4의 수를 갖는 PUF 셀들(예를 들어, PUF 셀 d 및 PUF 셀 h)은 가장 바람직하지 않으며, 몇몇 실시예에서는 모든 케이스에서 사용불가능한 것으로 식별될 수 있다. 64 비트 PUF 셀 어레이에 대한 7번의 테스트의 PUF 셀 합은 테이블 804에 나타나 있고, 테이블 804의 첫번째 열은 도 8에 도시된 테이블 802에서의 테스트에 대응한다. 테이블 804의 상단에 표시된 바와 같이, 0, 1, 2, 및 3 값을 갖는 PUF 셀들은 통상적으로 로우 값을 출력하는 반면, 4, 5, 6 및 7 값을 갖는 셀들은 통상적으로 하이 값을 출력한다.
위에서 언급된 바와 같이, PUF 셀들은 정상 동작 동안에는 통상적으로 0 또는 1의 특정 값을 출력하나, 스트레스하에서는 변칙 값을 출력할 수 있다. 테이블 802는 PUF 셀이 변칙 값을 출력할 가능성을 나타낸다. 가장 높은 강도 셀들(예를 들어, 0, 7에 의해 표시되는 셀)은 극한의 조건(예를 들어, 로켓 엔진 내부) 하에서도 변칙 값을 출력하지는 않을 것이다. 높은 강도 셀들(예를 들어, 1, 6에 의해 표시되는 셀)은 극한의 조건 하에서 변칙 반응을 나타내더라도, 이 셀들은 많은 덜 거친/보안 애플리케이션에 대해(예를 들어, IOT 냉장고에서) 충분히 신뢰할 수 있을 것이다. 도 9는 실시예들에 따른, 디바이스를 위한 적절한 애플리케이션들을 식별하는데 사용하는 강도에 의한 PUF 셀 비닝(binning)을 도시하는 다이어그램이다. 7번의 테스트를 거쳐 각각의 PUF 셀에 의해 제공되는 일정한 출력의 수를 나타내는 값을 포함하는 베이스 PUF 강도 데이터 구조가 도 9에 도시되어 있다. 마스크 데이터 구조의 제1 마스트 기록은 테이블 904에 도시되어 있다. 제1 마스크는 디바이스 서명을 생성하는데 사용하기 위한 적절한 또는 보다 나은 분류를 갖는 PUF 셀들의 사용을 가능하게 한다. 값 3,4를 갖는 PUF 셀들은 신뢰할 수 없는/사용할 수 없는 것으로 간주되며 마스크 기록에서와 같이 나타납니다. 64개 셀들 중 12개의 셀들은 제1 마스크에서 사용불가능한 것으로 마크됩니다. 테이블 906에서의 제2 마스크는 높은 강도 또는 보다 나은 PUF 셀들을 식별합니다. 값 2, 3, 4, 5를 갖는 PUF 셀들은 높은 강도 PUF 셀들이 바람직한 동작에 대해 신뢰할 수 없는/사용할 수 없는 것으로 간주됩니다. 64개의 셀들 중 25개의 셀들은 제2 마스크에서 사용불가능한 것으로 마크됩니다. 테이블 908에서의 제3 마스크는 가장 높은 강도 또는 보다 나은 PUF 셀들을 식별합니다. 값 1, 2, 3, 4, 5, 6을 갖는 PUF 셀들은 가장 높은 강도 PUF 셀들이 바람직한 동작에 대해 신뢰할 수 없는/사용할 수 없는 것으로 간주됩니다. 64개의 셀들 중 29개의 셀들은 제3 마스크에서 사용불가능한 것으로 마킹됩니다.
집적 회로는 어레이 내에 존재하는 상이한 강도의 PUF 셀들의 개수에 기초하여 분류됩니다. 예를 들어, 적어도 적절한 강도의 PUF 셀이 35개 이상 존재할 때(예를 들어, 셀이 테이블 904에서 마스킹되지 않음), 회로는 적절한 강도 동작에 적격이다. 적어도 높은 강도의 PUF 셀이 35개 이상 존재할 때(예를 들어, 셀이 테이블 906에서 마스킹되지 않음), 회로는 높은 강도 동작에 적격이다. 적어도 가능 높은 강도의 PUF 셀이 35개 이상 존재할 때(예를 들어, 셀이 테이블 908에서 마스킹되지 않음), 회로는 가장 높은 강도 동작에 적격이다. 도 9의 회로는, 비트의 임계수가 높은 강도 테이블 906에는 만족하나 테이블 908에 표시된 35개의 가장 높은 강도 비트들이 없기 때문에, 높은 강도 동작에 대해 사용가능한 것으로 분류될 것이다.
도 10은 실시예들에 따른 상이한 비닝 레벨의 시뮬레이팅된 사용가능한 셀들 및 대응하는 PUF 셀들의 시뮬레이팅된 반응을 도시한다. 적절한 강도 PUF 셀들에 대한 제1 세트의 그래프에서, PUF 셀 출력 수 데이터 기록에서 값 3, 4를 갖는 PUF 셀들은 사용불가능한 것으로 간주된다. 7개의 입력 신호 타이밍 변동들에 대한 1000번이 넘는 시뮬레이션에서, 적어도 818개의 PUF 셀 비트들이 적절한 강도를 갖는 것으로 식별되었다. 그후 이 818개의 PUF 셀 비트들은 작동 조건(예를 들어, 변화하는 온도, 공급 전압) 하에서 시뮬레이팅되었다. 우측 그래프에 도시된 바와 같이, 23.2%의 작동 시뮬레이션에서, 0, 1 또는 2 비트가 변칙 반응을 보였다. 이것은 단지 23.2%의 시간에서 디바이스 식별자가 2개의 비트 포워드 오류 정정을 사용하여 재구성될 수 있음을 의미한다. 이것은 시뮬레이팅된 작동 조건에 대해 받아들일 수 없는 것으로 간주될 수 있다.
높은 강도 PUF 셀에 대한 제2 세트의 그래프에서, PUF 셀 출력 수 데이터 기록에서 값 2, 3, 4, 5를 갖는 PUF 셀들은 사용불가능한 것으로 간주된다. 7개의 입력 신호 타이밍 변동들에 대한 1000번이 넘는 시뮬레이션에서, 적어도 670개의 PUF 셀 비트들이 적절한 강도를 갖는 것으로 식별되었다. 그후 이 670개의 PUF 셀 비트들이 작동 조건 하에서 시뮬레이팅되었다. 우측 그래프에 도시된 바와 같이, 99.6%의 작동 시뮬레이션에서, 0, 1 또는 2 비트가 변칙 반응을 보였다. 이것은 0.4%의 시간을 제외한 모든 시간에서 디바이스 식별자가 2개의 비트 포워드 오류 정정을 사용하여 재구성될 수 있음을 의미한다. 이것은 시뮬레이팅된 작동 조건에 대해 많은 경우에 받아들일 수 있는 것으로 간주될 수 있다.
가장 높은 강도 PUF 셀에 대한 제3 세트의 그래프에서, PUF 셀 출력 수 데이터 기록에서 값 1, 2, 3, 4, 5, 6을 갖는 PUF 셀들은 사용불가능한 것으로 간주된다. 7개의 입력 신호 타이밍 변동들에 대한 1000번이 넘는 시뮬레이션에서, 적어도 530개의 PUF 셀 비트들이 적절한 강도를 갖는 것으로 식별되었다. 그후 이 530개의 PUF 셀 비트들이 작동 조건 하에서 시뮬레이팅되었다. 우측 그래프에 도시된 바와 같이, 100%의 작동 시뮬레이션에서, 0, 1 또는 2 비트가 변칙 반응을 보였다. 이것은 모든 케이스에서 디바이스 식별자가 2개의 비트 포워드 오류 정정을 사용하여 재구성될 수 있음을 의미한다. 이것은 시뮬레이팅된 작동 조건에 대해 많은 경우에 받아들일 수 있는 것으로 간주될 수 있다.
제4 세트의 그래프에서, 사전 테스트 동안 PUF 셀 성능의 더 높은 임계치가 사용된다(예를 들어, 7개의 스트레스 시뮬레이션 테스트보다 많은 테스트를 사용함). 4번째 예시에서는, 382개를 제외한 모든 PUF 셀들은 사용을 위해 충분히 강하지 않는 것으로 간주된다. 우측 그래프에 도시된 바와 같이, 100%의 시뮬레이션에서, 0 비트가 변칙 반응을 보였다. 이것은 382개의 PUF 셀들이 모든 예측되는 조건하에서 적절히 수행할 것이라는 높은 신뢰를 제공한다. 이 시나리오는 PUF 셀 성능에서 높은 신뢰를 제공하나, 덜 안전한 성능을 야기할 수 잇는 디바이스 식별자를 제공하는데 가능한 셀의 수를 제한한다. 따라서, 저렴한 포워드 오류 정정(예를 들어, 2개의 비트 FEC)이 가능한 경우에, 제3 레벨의 PUF 셀 강도가 거의 100%의 디바이스 식별 성능을 제공하는데 더 좋을 수 있다.
상기에서 언급된 바와 같이, PUF 셀들은 동작 스트레스 조건을 시뮬레이팅하기 위해 다수의 활성 입력 신호들이 동기화되어 그리고 동기화되지 않고 제공될 수 있는 형태를 포함하여 다양한 형태로 취해질 수 있다. 도 11은 예시적인 실시예에서 PUF 셀들의 열의 예시 구조를 도시하는 다이어그램이다. 각각의 셀(예를 들어, 1102, 1104)은 2개의 유사한 구조의 트랜지스터들(예를 들어, PUF 셀(1102)들을 위한 NMOS 트랜지스터(1106, 1108))를 포함한다. PUF 셀(1102)는 2개의 입력 신호들(WL1a, WL1b)을 수신하고, 입력 신호 WL1a는 트랜지스터(1106)의 게이트를 제어하며, 입력 신호 WL1b는 트랜지스터(1108)의 게이트를 제어한다. 각각의 트랜지스터(1106, 1108)의 하나의 단자는 비트 라인에 연결되며(즉, 트랜지스터(1106)은 비트라인 1(BL#)에 연결되며, 트랜지스터(1108)은 비트라인 2(BL)에 연결됨), 다른 단자는 공통 접지 노드에 연결된다.
작동 모드에서, 활성 입력 신호들은 셀에 동시에 제공된다. 구체적으로, 프리차지 신호(PreC#)은 로우가 되고, 2개의 비트 라인들을 하이 레벨로 차징한다. 제어 신호들 WL1a, WL1b 은 동시에 하이로 되어 트랜지스터들(1106, 1108)을 활성화시킨다. 현재 활성화 트랜지스터들(1106, 1108)은 비트 라인을 로우로 풀링한다. 그러나, 프로세스 변동(예를 들어, 트랜지스터(1106, 1108) 사이의 제조된 구조에서의 약간의 차이)은 트랜지스터들(1106, 1108)이 약간의 상이한 레이트로 비트 라인들을 로우로 풀링하도록 한다(예를 들어, 트랜지스터(1108)은, 트랜지스터(1106)이 비트라인 2를 로우로 풀링하는 것보다 빨리 비트라인 1을 로우로 풀링한다). 비트 라인들의 변이동안, 감지 증폭기(1110)는 감지 증폭기 인에이블 신호(sence amp enable signal; SAEN)를 통해 활성화된다. 이 감지 증폭기(1110)는 활성화된 비트 라인 상의 신호 레벨들 사이의 차이를 검출하도록 구성되며, 더 높은 레벨에 있는 비트 라인은 높은 레벨로 더 낮은 레벨에 있는 비트 라인은 낮은 레벨이 되도록 구성된다. 감지 증폭기(1110)은 비트 라인들이 하이 레벨이 되게 된 것에 기초하여 PUF 셀에 대한 대응하는 데이터 값(Output)을 출력한다(예를 들어, 비트라인 1이 하이가 되게 되면 하이(1) 값이고, 비트라인 2가 하이가 되게 되면 로우(1) 값임). 셀(1102)에 대한 PUF 셀 값을 감지한 후에, 제어 신호 생성기(106)는 비트 라인들을 다시 프리차징할 수 있고, 비슷한 방식으로 제어 라인들 WL2a, WL2b를 통해 PUF 셀(1104)를 활성화시킬 수 있으며, 셀(1104)에 대한 PUF 셀 값은 감지 증폭기(1110)와 함께 결정되며, PUF 셀의 후속 행들이 유사하게 활성되고 검출된다.
도 4의 예시 PUF 셀 구조에서처럼, 작동 스트레스 조건은 활성화 제어 신호들을 동기화하지 않고(예를 들어, 10㎰, 20㎰, 1㎱, 2㎱) 제공함으로써 시뮬레이션될 수 있다. PUF 강도 분석기(108)는 상술한 바와 같이 PUF 셀의 강도를 평가하기 위해 시뮬레이팅된 스트레스 조건에 걸쳐 PUF 셀의 일관성없는 반응을 모니터링할 수 있다.
도 12는 실시예들에 따른 디바이스의 물리적 복제방지 셀의 신뢰성을 결정하기 위한 프로세스를 도시하는 흐름도이다. 방법의 단계들은 이전 도면들에서의 구조를 참조하여 기술되나, 이 단계들은 많은 다른 구조에서도 마찬가지로 적용가능한 것으로 이해된다. 단계 1202에서, 하나 이상의 활성화 신호(예를 들어, start_1a, start_1b)가 복수의 조건(예를 들어, a+delta1, a+delta2, b+delta1, b+delta2) 하에서 PUF 셀로 제공된다. 단계 1204에서, 복수의 조건의 각각 하에서 PUF 셀에 의해 제공되는 PUF 셀 출력이 결정된다(예를 들어, 도 8에서 테이블 802에 도시된 바와 같이). 단계 1206에서, PUF 셀의 PUF 셀 출력이 일정한 횟수가 결정된다(예를 들어, 도 8에서 테이블 804에 도시된 바와 같이). 그리고, 단계 1208에서 디바이스 분류 값이 복수의 PUF 셀에 대한 결정된 횟수에 기초하여 결정된다(예를 들어, 도 9를 참조하여 기술된 바와 같이).
도 13은 실시예들에 따른 집적 회로 디바이스를 동작시키는 방법의 단계들을 도시한다. 방법의 단계들은 이전 도면들에서의 구조를 참조하여 기술되나, 이 단계들은 많은 다른 구조에서도 마찬가지로 적용가능한 것으로 이해된다. 방법은 단계 1302에서, 하나 이상의 변화하는 활성화 신호(예를 들어, a+delta1, a+delta2, b+delta1, b+delta2)를 사용하여 복수의 PUF 셀들(예를 들어, PUF 1,1; PUF 1,2; PUF n,m)을 활성화시키는 단계를 포함한다. 단계 1304에서, 각각의 PUF 셀의 출력이 복수의 동작들을 거쳐 일정하게 유지하는 횟수가 결정된다(예를 들어, 도 8에서 테이블 804에 도시된 바와 같이). 단계 1306에서, 출력이 적어도 제1 임계 횟수로 일정하게 유지되는 PUF 셀이 동작의 제1 모드에서 사용된다(예를 들어, 도 9를 참조하여 기술된 바와 같이). 그리고, 단계 1308에서, 출력이 적어도 제2 임계 횟수로 일정하게 유지되는 PUF 셀이 동작의 제2 모드에서 사용된다(예를 들어, 도 9를 참조하여 기술된 바와 같이).
몇몇의 실시예에 따르면, 시스템 및 방법은 디바이스의 물리적 복제방지(PUF) 셀의 신뢰성을 결정하기 위해 제공된다. 하나 이상의 활성화 신호는 복수의 조건들 하에서 PUF 셀들로 제공된다. 각각의 복수의 조건 하에서 PUF 셀에 의해 제공되는 PUF 셀 출력이 결정된다. PUF 셀의 PUF 셀 출력이 일정한 횟수가 결정된다. 그리고 디바이스 분류 값은 복수의 PUF 셀들에 대한 결정된 횟수에 기초하여 결정된다.
실시예에서, 물리적 복제방지(PUF) 값을 제공하도록 구성된 디바이스는 각각 PUF 값에 PUF 기여를 하도록 구성된 복수의 PUF 셀들 포함하고, PUF 셀 각각은 제1 신호 라인 및 제2 신호 라인에 반응한다. 제어 신호 생성기는, 제1 제어 라인 및 제2 제어 라인 상의 신호들의 타이밍 변동에 기초하여 PUF 셀 값이 변화하는 횟수에 기초하여 셀 강도를 식별하기 위해, 제1 제어 라인 및 제2 제어 라인에 동기 방식 및 비동기 방식 둘 다로 신호들을 제공하도록 구성된다.
다른 실시예에서, 집적 회로 디바이스를 동작시키는 방법은 하나 이상의 변화하는 활성화 신호를 이용하여 복수의 PUF 셀들을 활성화시키는 단계를 포함한다. 각각의 PUF 셀의 출력이 복수의 동작들을 거쳐 일정하게 유지되는 횟수가 결정된다. 출력이 적어도 제1 임계 횟수로 일정하게 유지되는 PUF 셀이 동작의 제1 모드에서 사용된다. 그리고, 출력이 적어도 제2 임계 횟수로 일정하게 유지되는 PUF 셀이 동작의 제2 모드에서 사용된다.
상술한 것은 당업자가 본 개시의 양태들을 더 잘 이해할 수 있도록 몇몇 실시예들의 특징들의 개요를 서술한 것이다. 당업자는, 본원에 소개되는 실시예와 동일한 목적을 실행하거나 및/또는 동일한 장점을 달성하도록, 다른 프로세스 및 구조를 설계하거나 변경하기 위한 기반으로서 그들이 본 개시를 쉽게 사용할 수 있다는 것을 인식해야 한다. 당업자는, 그러한 균등한 구성이 본 개의 사상 및 범위로부터 벗어나지 않는다는 점과, 본 개시의 사상 및 범위로부터 벗어나지 않고 다양한 변경, 대체 및 개조를 행할 수 있다는 점들 또한 인지해야 한다.
실시예들
실시예 1. 디바이스의 물리적 복제방지(physical unclonable function; PUF) 셀의 신뢰성을 결정하는 방법에 있어서,
하나 이상의 활성화 신호를 복수의 조건 하에서 PUF 셀로 제공하는 단계;
상기 복수의 조건의 각각 하에서 상기 PUF 셀에 의해 제공된 PUF 셀 출력을 결정하는 단계;
상기 PUF 셀의 PUF 셀 출력이 일정한 횟수를 결정하는 단계; 및
복수의 PUF 셀에 대한 상기 결정된 횟수에 기초하여 디바이스 분류 값을 결정하는 단계
를 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 2. 실시예 1에 있어서, 상기 하나 이상의 활성화 신호를 제공하는 단계 및 상기 PUF 셀 출력을 결정하는 단계는,
상기 PUF 셀의 제1 브랜치로 제1 신호를 제공하고 상기 PUF 셀의 제2 브랜치로 제2 신호를 제공하는 단계 - 상기 제1 신호 및 상기 제2 신호는 동기화되어 제공됨 - ;
상기 제1 신호 및 상기 제2 신호에 의해 생성된 상기 PUF 셀의 출력에 기초하여 제1 PUF 셀 값을 결정하는 단계;
상기 제1 브랜치로 제3 신호를 제공하고 상기 제2 브랜치로 제4 신호를 제공하는 단계 - 상기 제3 신호 및 상기 제4 신호는 동기화되지 않고 제공됨 - ; 및
상기 제3 신호 및 상기 제4 신호에 의해 생성된 상기 PUF 셀의 출력에 기초하여 제2 PUF 셀 값을 결정하는 단계
를 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 3. 실시예 1에 있어서, 상기 PUF 셀 출력이 최소 임계 횟수보다 적게 일정하면, 상기 PUF 셀은 사용불가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 4. 실시예 3에 있어서, 상기 최소 임계 횟수는 상기 PUF 셀의 결정된 PUF 셀 출력의 수에 기초한 것인, PUF 셀의 신뢰성을 결정하는 방법.
실시예 5. 실시예 1에 있어서, 상기 PUF 셀 출력이 적어도 제1 임계 횟수로 일정하면, 상기 PUF 셀은 제1 종류(class)의 동작에 대해 사용가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 6. 실시예 5에 있어서, 상기 제1 임계 횟수는 상기 PUF 셀 출력이 결정되는 횟수와 동일한 것인, PUF 셀의 신뢰성을 결정하는 방법.
실시예 7. 실시예 5에 있어서, 상기 PUF 셀 출력이 적어도 제2 임계 횟수로 그러나 상기 제1 임계 횟수보다 적게 일정하면, 상기 PUF 셀은 제2 종류의 동작에 대해 사용가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 8. 실시예 5에 있어서, 상기 디바이스 분류 값은 상기 제1 종류의 동작에 대해 사용가능한 것으로 결정되는 PUF 셀의 수에 기초하여 결정되는 것인, PUF 셀의 신뢰성을 결정하는 방법.
실시예 9. 실시예 7에 있어서, 상기 디바이스 분류 값은 상기 제1 종류의 동작에 대해 사용가능한 것으로 결정되는 PUF 셀의 수와 상기 제2 종류의 동작에 대해 사용가능한 것으로 결정되는 PUF 셀의 수의 합에 기초하여 결정되는 것인, PUF 셀의 신뢰성을 결정하는 방법.
실시예 10. 실시예 1에 있어서, 사용불가능한 PUF 셀이 임계 횟수보다 적게 일정한 것에 기초하여 상기 디바이스의 사용불가능한 PUF 셀을 식별하는 마스크를 컴퓨터 판독가능 메모리에 저장하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 11. 실시예 10에 있어서, 상기 임계 횟수는 상기 디바이스 분류 값에 기초한 것인, PUF 셀의 신뢰성을 결정하는 방법.
실시예 12. 실시예 10에 있어서, 상기 마스크를 사용하여 사용불가능한 PUF 셀에 기초하여 디바이스 서명을 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 13. 실시예 12에 있어서,
상기 디바이스를 식별하기 위해 상기 디바이스 서명을 상기 디바이스로부터 전송하는 단계, 상기 디바이스 서명을 사용하여 상기 디바이스로부터의 통신(communication)에 서명하는 단계, 또는 상기 디바이스 서명을 사용하여 상기 디바이스로부터의 통신을 암호화하는 단계에 의해, 상기 디바이스 서명을 활용하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 14. 실시예 13에 있어서, 상기 디바이스 서명을 활용하기 이전에 하나 이상의 오류 정정 비트를 첨부하는(append) 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
실시예 15. 물리적 복제방지(physical unclonable function; PUF) 값을 제공하도록 구성된 디바이스에 있어서,
각각 PUF 값에 PUF 기여를 하도록 구성된 복수의 PUF 셀로서, 상기 PUF 셀의 각각은 제1 신호 라인 및 제2 신호 라인에 반응하는 것인, 상기 복수의 PUF 셀; 및
제1 제어 라인 및 제2 제어 라인 상의 신호의 타이밍 변동에 기초하여 PUF 셀 값이 변하는 횟수에 기초하여 셀 강도를 식별하기 위해, 상기 제1 제어 라인 및 상기 제2 제어 라인에 동기 방식 및 비동기 방식 둘 다로 신호를 제공하도록 구성된 제어 신호 생성기
를 포함하는 디바이스.
실시예 16. 실시예 15에 있어서, 컴퓨터 판독가능 매체에 저장된 데이터 구조를 더 포함하고,
상기 데이터 구조는 상기 PUF 셀의 각각에 관련된 하나의 기록을 포함하며, 각 기록의 데이터 값은 상기 제1 제어 라인 및 상기 제2 제어 라인에 다양한 타이밍으로 신호를 제공했을 때 PUF 셀 값이 일정한 횟수를 식별하는 것인, 디바이스.
실시예 17. 실시예 16에 있어서, PUF 강도 모듈을 더 포함하고,
상기 PUF 강도 모듈은, 제1 임계 횟수보다 큰 일정한 PUF 셀 값을 갖는 PUF 셀의 수를 표시하는 제1 값을 출력하고, 제2 임계 횟수보다 큰 일정한 PUF 셀 값을 갖는 PUF 셀의 수를 표시하는 제2 값을 출력하도록 구성되는 것인, 디바이스.
실시예 18. 실시예 15에 있어서, 마스크 데이터 구조를 더 포함하고,
상기 마스크 데이터 구조는, 적어도 상기 제1 임계 횟수의 일정한 PUF 셀 값을 갖는 PUF 셀을 표시하는 제1 마스크 기록을 더 포함하며,
상기 마스크 데이터 구조는, 적어도 상기 제2 임계 횟수의 일정한 PUF 셀 값을 갖는 PUF 셀을 표시하는 제2 마스크 기록을 더 포함하고,
상기 디바이스는 동작의 제1 모드에서 상기 제1 마스크 기록을 사용하고 동작의 제2 모드에서 상기 제2 마스크 기록을 사용하여 동작하는 것인, 디바이스.
실시예 19. 집적 회로 디바이스를 동작시키는 방법에 있어서,
하나 이상의 변화하는 활성화 신호를 사용하여 복수의 PUF 셀을 활성화시키는 단계;
각각의 PUF 셀의 출력이 복수의 동작을 거쳐 일정하게 유지되는 횟수를 결정하는 단계;
동작의 제1 모드에서 출력이 적어도 제1 임계 횟수로 일정하게 유지되는 PUF 셀을 사용하는 단계; 및
동작의 제2 모드에서 출력이 적어도 제2 임계 횟수로 일정하게 유지되는 PUF 셀을 사용하는 단계
를 포함하는 집적 회로 디바이스를 동작시키는 방법.
실시예 20. 실시예 19에 있어서, 상기 디바이스는, 적어도 PUF 셀의 최소 수가 적어도 상기 제1 임계 횟수로 일정하게 유지될 때, 상기 동작의 제1 모드에서 동작가능한 것인, 집적 회로 디바이스를 동작시키는 방법.

Claims (10)

  1. 디바이스의 물리적 복제방지(physical unclonable function; PUF) 셀의 신뢰성을 결정하는 방법에 있어서,
    하나 이상의 활성화 신호를 복수의 조건 하에서 PUF 셀로 제공하는 단계;
    상기 복수의 조건의 각각 하에서 상기 PUF 셀에 의해 제공된 PUF 셀 출력을 결정하는 단계;
    상기 PUF 셀의 PUF 셀 출력이 일정한 횟수를 결정하는 단계; 및
    복수의 PUF 셀에 대한 상기 결정된 횟수에 기초하여 디바이스 분류 값을 결정하는 단계
    를 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 활성화 신호를 제공하는 단계 및 상기 PUF 셀 출력을 결정하는 단계는,
    상기 PUF 셀의 제1 브랜치로 제1 신호를 제공하고 상기 PUF 셀의 제2 브랜치로 제2 신호를 제공하는 단계 - 상기 제1 신호 및 상기 제2 신호는 동기화되어 제공됨 - ;
    상기 제1 신호 및 상기 제2 신호에 의해 생성된 상기 PUF 셀의 출력에 기초하여 제1 PUF 셀 값을 결정하는 단계;
    상기 제1 브랜치로 제3 신호를 제공하고 상기 제2 브랜치로 제4 신호를 제공하는 단계 - 상기 제3 신호 및 상기 제4 신호는 동기화되지 않고 제공됨 - ; 및
    상기 제3 신호 및 상기 제4 신호에 의해 생성된 상기 PUF 셀의 출력에 기초하여 제2 PUF 셀 값을 결정하는 단계
    를 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  3. 제1항에 있어서, 상기 PUF 셀 출력이 최소 임계 횟수보다 적게 일정하면, 상기 PUF 셀은 사용불가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  4. 제1항에 있어서, 상기 PUF 셀 출력이 적어도 제1 임계 횟수로 일정하면, 상기 PUF 셀은 제1 종류(class)의 동작에 대해 사용가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  5. 제4항에 있어서, 상기 PUF 셀 출력이 적어도 제2 임계 횟수로 그러나 상기 제1 임계 횟수보다 적게 일정하면, 상기 PUF 셀은 제2 종류의 동작에 대해 사용가능한 것으로 결정하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  6. 제1항에 있어서, 사용불가능한 PUF 셀이 임계 횟수보다 적게 일정한 것에 기초하여 상기 디바이스의 사용불가능한 PUF 셀을 식별하는 마스크를 컴퓨터 판독가능 메모리에 저장하는 단계를 더 포함하는 PUF 셀의 신뢰성을 결정하는 방법.
  7. 물리적 복제방지(physical unclonable function; PUF) 값을 제공하도록 구성된 디바이스에 있어서,
    각각 PUF 값에 PUF 기여를 하도록 구성된 복수의 PUF 셀로서, 상기 PUF 셀의 각각은 제1 신호 라인 및 제2 신호 라인에 반응하는 것인, 상기 복수의 PUF 셀; 및
    제1 제어 라인 및 제2 제어 라인 상의 신호의 타이밍 변동에 기초하여 PUF 셀 값이 변하는 횟수에 기초하여 셀 강도를 식별하기 위해, 상기 제1 제어 라인 및 상기 제2 제어 라인에 동기 방식 및 비동기 방식 둘 다로 신호를 제공하도록 구성된 제어 신호 생성기
    를 포함하는 디바이스.
  8. 제7항에 있어서, 컴퓨터 판독가능 매체에 저장된 데이터 구조를 더 포함하고,
    상기 데이터 구조는 상기 PUF 셀의 각각에 관련된 하나의 기록을 포함하며, 각 기록의 데이터 값은 상기 제1 제어 라인 및 상기 제2 제어 라인에 다양한 타이밍으로 신호를 제공했을 때 PUF 셀 값이 일정한 횟수를 식별하는 것인, 디바이스.
  9. 제7항에 있어서, 마스크 데이터 구조를 더 포함하고,
    상기 마스크 데이터 구조는, 적어도 상기 제1 임계 횟수의 일정한 PUF 셀 값을 갖는 PUF 셀을 표시하는 제1 마스크 기록을 더 포함하며,
    상기 마스크 데이터 구조는, 적어도 상기 제2 임계 횟수의 일정한 PUF 셀 값을 갖는 PUF 셀을 표시하는 제2 마스크 기록을 더 포함하고,
    상기 디바이스는 동작의 제1 모드에서 상기 제1 마스크 기록을 사용하고 동작의 제2 모드에서 상기 제2 마스크 기록을 사용하여 동작하는 것인, 디바이스.
  10. 집적 회로 디바이스를 동작시키는 방법에 있어서,
    하나 이상의 변화하는 활성화 신호를 사용하여 복수의 PUF 셀을 활성화시키는 단계;
    각각의 PUF 셀의 출력이 복수의 동작을 거쳐 일정하게 유지되는 횟수를 결정하는 단계;
    동작의 제1 모드에서 출력이 적어도 제1 임계 횟수로 일정하게 유지되는 PUF 셀을 사용하는 단계; 및
    동작의 제2 모드에서 출력이 적어도 제2 임계 횟수로 일정하게 유지되는 PUF 셀을 사용하는 단계
    를 포함하는 집적 회로 디바이스를 동작시키는 방법.
KR1020200048559A 2020-02-10 2020-04-22 집적 회로의 puf 서명 모듈을 분류하기 위한 시스템 및 방법 Active KR102346907B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/785,877 2020-02-10
US16/785,877 US11783092B2 (en) 2020-02-10 2020-02-10 Systems and methods for classifying PUF signature modules of integrated circuits

Publications (2)

Publication Number Publication Date
KR20210102804A true KR20210102804A (ko) 2021-08-20
KR102346907B1 KR102346907B1 (ko) 2022-01-05

Family

ID=76968661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200048559A Active KR102346907B1 (ko) 2020-02-10 2020-04-22 집적 회로의 puf 서명 모듈을 분류하기 위한 시스템 및 방법

Country Status (5)

Country Link
US (4) US11783092B2 (ko)
KR (1) KR102346907B1 (ko)
CN (1) CN113259110B (ko)
DE (1) DE102020106837A1 (ko)
TW (1) TWI792178B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12134713B2 (en) * 2018-12-28 2024-11-05 Microchip Technology Incorporated Classifying comparators based on comparator offsets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101169172B1 (ko) * 2011-03-31 2012-08-03 한양대학교 산학협력단 공정편차를 이용한 식별 키 생성 장치 및 방법
US20170180140A1 (en) * 2014-03-25 2017-06-22 Carnegie Mellon University Methods for generating reliable responses in physical unclonable functions (pufs) and methods for designing strong pufs
KR20180074613A (ko) * 2016-12-23 2018-07-03 시큐어-아이씨 에스에이에스 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하는 비밀 키 생성 시스템
KR101989149B1 (ko) * 2018-02-09 2019-06-13 성균관대학교산학협력단 PUF(Physically Unclonable Function) 셀 재조합 방법 및 장치와, PUF 회로

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9088278B2 (en) * 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
US10805093B2 (en) * 2014-10-13 2020-10-13 Intrinsic-Id B.V. Cryptographic device comprising a physical unclonable function
WO2017021254A1 (en) * 2015-08-06 2017-02-09 Intrinsic Id B.V Cryptographic device having physical unclonable function
EP3229221B1 (en) * 2016-04-08 2021-08-18 Secure-IC SAS Device and method for testing a physically unclonable function
US10153035B2 (en) * 2016-10-07 2018-12-11 Taiwan Semiconductor Manufacturing Co., Ltd. SRAM-based authentication circuit
EP3340215B1 (en) * 2016-12-23 2024-05-22 Secure-IC SAS System and method for generating secret information using a high reliability physically unclonable function
US11522725B2 (en) * 2017-03-29 2022-12-06 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
EP3407335B1 (en) 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
CN107194117B (zh) * 2017-06-16 2020-12-22 合肥工业大学 一种蝶形触发器物理不可克隆函数的可靠性提升方法
WO2019018557A1 (en) 2017-07-18 2019-01-24 Square, Inc. DEVICES HAVING PHYSICALLY NON-CLONABLE FUNCTIONS
US11196574B2 (en) * 2017-08-17 2021-12-07 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function (PUF) generation
US10623192B2 (en) * 2017-08-25 2020-04-14 Synopsys, Inc. Gate oxide breakdown in OTP memory cells for physical unclonable function (PUF) security
US11005669B2 (en) * 2017-11-14 2021-05-11 Taiwan Semiconductor Manufacturing Co., Ltd. PUF generators based on SRAM bit cells
US10770146B2 (en) * 2018-06-08 2020-09-08 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for PUF generator characterization
CN109032868A (zh) * 2018-07-26 2018-12-18 北京计算机技术及应用研究所 一种物理不可克隆函数ip核自动化验证装置
US11190365B2 (en) * 2018-07-31 2021-11-30 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for PUF generator characterization
KR102738403B1 (ko) * 2018-12-31 2024-12-04 삼성전자주식회사 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치
US10734047B1 (en) * 2019-01-29 2020-08-04 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
US11695577B2 (en) * 2019-11-01 2023-07-04 Samsung Electronics Co., Ltd. Security device including physical unclonable function cells, operation method of security device, and operation method of physical unclonable function cell device
US11985260B2 (en) * 2020-10-26 2024-05-14 Birad—Research & Development Company Ltd. Method to utilize mismatch size to produce additional stable bit in tilting PUF

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101169172B1 (ko) * 2011-03-31 2012-08-03 한양대학교 산학협력단 공정편차를 이용한 식별 키 생성 장치 및 방법
US20170180140A1 (en) * 2014-03-25 2017-06-22 Carnegie Mellon University Methods for generating reliable responses in physical unclonable functions (pufs) and methods for designing strong pufs
KR20180074613A (ko) * 2016-12-23 2018-07-03 시큐어-아이씨 에스에이에스 높은 신뢰성을 갖는 물리적 복제 방지 기능을 사용하는 비밀 키 생성 시스템
KR101989149B1 (ko) * 2018-02-09 2019-06-13 성균관대학교산학협력단 PUF(Physically Unclonable Function) 셀 재조합 방법 및 장치와, PUF 회로

Also Published As

Publication number Publication date
TW202134921A (zh) 2021-09-16
CN113259110B (zh) 2024-08-23
US20220382913A1 (en) 2022-12-01
DE102020106837A1 (de) 2021-08-12
US11947713B2 (en) 2024-04-02
TWI792178B (zh) 2023-02-11
US20240143845A1 (en) 2024-05-02
CN113259110A (zh) 2021-08-13
US11783092B2 (en) 2023-10-10
US20210248275A1 (en) 2021-08-12
US20230385459A1 (en) 2023-11-30
KR102346907B1 (ko) 2022-01-05

Similar Documents

Publication Publication Date Title
US9202040B2 (en) Chip authentication using multi-domain intrinsic identifiers
TWI820380B (zh) 用於提供可靠的物理不可仿製功能的裝置及方法
Bhargava et al. An efficient reliable PUF-based cryptographic key generator in 65nm CMOS
US8590010B2 (en) Retention based intrinsic fingerprint identification featuring a fuzzy algorithm and a dynamic key
US10256983B1 (en) Circuit that includes a physically unclonable function
US7133524B2 (en) Key installation system, LSI for implementing the same, and key installation method
US10218517B2 (en) Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs
US11769548B2 (en) Stable memory cell identification for hardware security
Hashemian et al. A robust authentication methodology using physically unclonable functions in DRAM arrays
US20110317829A1 (en) Physically Unclonable Function Implemented Through Threshold Voltage Comparison
US9590804B2 (en) Identification information generation device and identification information generation method
Bhargava et al. Attack resistant sense amplifier based PUFs (SA-PUF) with deterministic and controllable reliability of PUF responses
US11411749B2 (en) System and method for performing netlist obfuscation for a semiconductor device
US20240143845A1 (en) Systems and Methods for Classifying PUF Signature Modules of Integrated Circuits
EP3136286B1 (en) Data processing system with secure key generation
Xu et al. Post-silicon validation and calibration of hardware security primitives
Di Natale et al. Identification of Hardware Trojans triggering signals
Yoshikawa et al. Multiplexing aware arbiter physical unclonable function
US11988710B2 (en) Test methods, tester, load board and test system
De Los Santos-Prieto et al. Optimization-based bit selection technique to improve the reliability of PUFs

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200422

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210708

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20211005

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20211230

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20211231

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20241210

Start annual number: 4

End annual number: 4