KR20230035122A - 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 - Google Patents

물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 Download PDF

Info

Publication number
KR20230035122A
KR20230035122A KR1020237004581A KR20237004581A KR20230035122A KR 20230035122 A KR20230035122 A KR 20230035122A KR 1020237004581 A KR1020237004581 A KR 1020237004581A KR 20237004581 A KR20237004581 A KR 20237004581A KR 20230035122 A KR20230035122 A KR 20230035122A
Authority
KR
South Korea
Prior art keywords
bit
bitstring
path
difference value
chip
Prior art date
Application number
KR1020237004581A
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 유엔엠 레인포레스트 이노베이션즈
Publication of KR20230035122A publication Critical patent/KR20230035122A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

하드웨어-임베디드 지연 물리적 복제방지 기능(Hardware-Embedded Delay Physical Unclonable Function)("HELP PUF")은 경로 안정성을 모니터링하고 코어 로직 매크로로부터 경로 지연을 측정함으로써 엔트로피를 활용한다. HELP PUF에 대한 신뢰성 및 보안 강화 기술은 환경 변화에 따라 비트스트링을 재생하는 동안 비트 플립 에러들(bit flip errors)을 감소시키고 모델 구축 공격(model building attacks) 수행의 어려움과 함께 암호 강도를 향상시킨다. 전압 기반 등록(enrollment) 프로세스는 정상적으로 합성된(글리치) 기능 유닛들(functional units)의 불안정 경로를 차단(screen)하고 온칩(on-chip) 전압 조정기를 사용하여 제어되는 다중 공급 전압에서 등록을 수행함으로써 비트 플립 에러들을 감소시킨다.

Description

물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법{RELIABILITY ENHANCEMENT METHODS FOR PHYSICALLY UNCLONABLE FUNCTION BITSTRING GENERATION}
본 출원은 2014년 12월 15일에 출원된 미국 가출원 제62/091,985호, 2015년 7월 31일에 출원된 미국 가출원 제62/199,685호 및 2015년 8월 13일에 출원된 미국 가출원 제62/204,835호의 이익을 주장하며, 각각은 그 전체가 참고문헌으로 포함된다.
본 발명은 일반적으로 하드웨어 구성요소에 사용되는 전기 회로의 보호에 관한 것으로, 보다 구체적으로는 물리적 복제방지 기능들(Physical Unclonable Functions, "PUF들")에 대한 전압 기반 등록(voltage-based enrollment)에 관한 것이다.
칩 또는 마이크로 칩으로도 알려진 집적 회로("IC")는 컴퓨터, 전화 및 디지털 애플리케이션과 같은 전자 장비에 사용되는 소형 전자 회로이다. IC는 전형적으로 실리콘 및 게르마늄과 같은 반도체 소자뿐만 아니라 캐패시터, 저항기 및 다이오드와 같은 수동 소자로 형성된다. 일반적으로, IC는 반도체 재료의 박막 기판 상에 제조된다. 최근에, 트랜지스터당 IC들의 제조 비용이 감소했다. 그러나, 저비용은 IC 제조의 가용성을 높이지만, IC들은 복제(cloning) 또는 복사와 같은 위협으로부터 보호되어야 하며 도용(misappropriation) 또는 비인가 사용으로부터 보호되어야 한다. 위협은 암호화된 데이터에 대한 비인가 액세스, 지적 재산권("IP")의 비인가 사용, 하드웨어 불법 복제 또는 IC의 불법 제조를 포함한 IC 설계의 복제를 허용할 수 있다. 보안 키의 복제, 도용 및 비인가 사용에 대한 위협은, 특히 인증 프로토콜의 보안 키를 사용하는 컴퓨터 애플리케이션에서 문제이다.
많은 컴퓨터 기반 하드웨어 보안 방식이 IC들을 복제 및 비인가 사용으로부터 보호하기 위해 존재한다. 이러한 보안 체계는 각 IC에서 파생된 고유한 복제방지 식별자와 같은 보안 키 또는 서명에 대한 액세스 가능성에 의존한다. 보안 키는 데이터 통신 채널의 암호화를 수행하는 메커니즘과 같은 높은 수준의 하드웨어 보안에서 구현되는 컴퓨터 기반 하드웨어 보안 메커니즘의 기초를 정의하거나 필드 프로그래머블 게이트 어레이들(Field Programmable Gate Array, "FPGA들")을 포함한 컴퓨터 기반 논리 장치에서 IP 도난 방지 기능을 제공한다.
종래의 보안 키는 예를 들어 IC 상의 플래시 메모리 또는 판독 전용 메모리("ROM")에 저장된 디지털 데이터를 사용하여 정의된다. 보안 관점에서, 보안 키에 대한 액세스는 IC 상에 형성된 하드웨어 회로로 제한되는 것이 바람직하다. 유감스럽게, 이러한 기존의 기술을 사용하여 저장된 보안 키는 공격자가 비밀 키를 학습할 수 있는 침입형(invasive) 물리적 공격을 받기 쉽다. 비밀 키가 공격자에 의해 학습되는 경우에, 복제 IC들이 생성되고 보안 프로토콜이 손상될 수 있다.
랜덤 비트스트링은 하드웨어 보안에서 암호화(encryption), 식별, 인증 및 기능 활성화의 기초를 형성할 수 있다. 현재의 기술에서, 암호화를 위한 키 재료(keying material)는 FPGA들 및 주문형 집적회로들(Application Specific Integrated Circuit, "ASIC들")의 비휘발성 메모리에 디지털 비트스트링으로서 저장될 수 있다. 그러나, 이 방법으로 저장된 비밀(secrets)은 비밀을 도용하기 위해 프로빙(probing) 공격을 사용할 수 있는 단호한 공격자에게 안전하지 않을 수 있다.
비휘발성 메모리에 디지털 비트스트링을 저장하는 대신에 PUF들을 사용할 수 있다. PUF는 비트스트링을 생성하기 위해 제조 변형에 의해 도입된 엔트로피를 활용하는 IC 하드웨어 프리미티브(primitive)를 말하며, 해당 변형을 측정하고 수치화하기 위한 온칩 인프라(infrastructure)를 통합할 수 있다. PUF들은 경로 지연, 누설 전류 또는 SRAM 파워-업 패턴에서 발생하는 자연스러운 변형을 측정 및 디지털화하여 랜덤 비트스트링을 생성할 수 있다.
PUF 구현을 사용하여 IC들을 보호하기 위한 다양한 기술이 제안되었다. 챌린지(Challenge) 기반 IC 인증은 한 가지 예이다. 챌린지 기반 IC 인증과 관련하여, IC에 비밀 키가 임베디드(embedded ) 되어 IC가 챌린지에 대한 고유한 응답을 생성할 수 있고, 이는 해당 챌린지에 대해서만 유효하다. 따라서, 키는 비밀로 유지되고 인증을 수행하는 메커니즘은 스푸핑(spoofing)에 강하다. 원격 활성화 방식이 다른 예이다. 원격 활성화 방식은 IC 설계자가 시동시 각 IC를 잠그고(lock) 그 다음에 원격으로 활성화할 수 있어, 지적 재산권 보호 및 하드웨어 미터링(metering)을 제공한다. 상태가 설계의 유한 상태 머신(finite state machine, "FSM")에 추가되고 제어 신호가 추가되며, 이는 비밀 키의 기능이다. 따라서, 특정 활성화 코드를 수신할 때까지, 하드웨어는 잠긴다(locks up). PUF 구현의 다른 예는 불일치 지연 라인, 에스램(Static Random Access Memory, "SRAM") 파워-온 패턴, 금속 산화막 반도체(Metal-Oxide Semiconductor, "MOS") 소자 불일치 및 입력 의존 누설 패턴을 포함한다. 그러나, 이러한 각각의 기술은 IC에 대한 보안 키의 도용, 복제 또는 비인가 사용과 관련된 취약점을 가지고 있다.
인증은 입증인(예를 들어 하드웨어 토큰 또는 스마트 카드)과 검증자(보안 서버 또는 은행) 간의 프로세스로, 한쪽 또는 양 당사자의 확정적인 증거를 사용하여 신원을 확인한다. 데이터 수집 및 교환을 가능하게 하는 전자, 소프트웨어, 센서 및 네트워크 연결(connectivity)이 임베디드된 물리적 객체 네트워크 - 사물 인터넷(Internet-of-things, "loT")이라고도 불림 -로 인해 하드웨어 토큰이 리소스 제약을 받는(resource-constrained) 애플리케이션이 점점 증가하고 있으므로, 비용, 에너지 및 영역 오버헤드가 낮은 새로운 인증 기술이 필요하다.
영역-비중이 큰(area-heavy) 암호(cryptographic) 프리미티브 및 비휘발성 메모리(non-volatile memory, "NVM")를 사용하는 종래의 인증 방법은 이러한 유형의 진화하는 임베디드 애플리케이션들에 대해 덜 매력적이다. 그러나, PUF들은 이들이 (대부분의 제안된 인증 프로토콜에서) NVM의 필요성을 제거하기 때문에 저비용과 관련된 문제를 해결할 수 있는 하드웨어 보안 및 트러스트(trust) 프리미티브이다.
PUF들은 "강한 PUF"또는 "약한 PUF"로 분류될 수 있다. "강한 PUF"는 암호 프리미티브 및 연산의 수 및 유형을 감소시킴으로써 영역 및 에너지 오버헤드를 감소시킬 수 있는 반면, 영역 오버헤드는 "약한 PUF"에서 엔트로피 소스의 물리적 크기를 제한한다.
대부분의 제안된 "약한 PUF" 아키텍처는 영역 오버헤드가 엔트로피 소스의 물리적 크기를 제한하는 엔트로피 소스로 작용하도록 동일하게 설계된 테스트 구조의 전용 어레이의 삽입이 필요하다. "약한 PUF들"이 인증에 사용될 수 있더라도, 이들은 머신이 비밀을 학습하도록 설계된 적대적인 인터페이스 공격으로부터 제한된 양의 엔트로피를 보호하기 위해 난독화(obfuscation) 함수, 예를 들어 암호 해시, 암호화 및 XOR 함수의 삽입이 필요하다.
반면에, 대부분의 "강한 PUF들"은 기존의 온칩 리소스에서 사용할 수 있는 엔트로피를 활용함으로써 특화된 테스트 구조 내에서 제한된 양의 엔트로피를 우회한다. "강한 PUF"는 인증 작업을 위해 매우 많은 수의 챌린지-응답 쌍들(Challenge-Response-Pairs, "CRP들")을 생성할 수 있다.
전술한 바와 같이, PUF는 디지털 비밀들(비트스트링들)을 생성하는 수단으로서 각 IC에 고유한 IC들의 물리적 및 전기적 속성의 변화로부터 엔트로피(랜덤성)를 추출한다. 비트스트링들은 인증 애플리케이션의 하드웨어 토큰을 고유하게 식별하는 역할을 할 수 있다. 비트스트링들은 즉각적으로 생성되므로, NVM에 이들의 디지털 복사본을 저장할 필요가 없으며, 다양한 환경 변화에 따라 (이상적으로) 재현 가능하다. 비밀 비트스트링의 정확한 생성 시간 및 침입형 프로빙 공격(무효로 만드는 것)에 대한 PUF 엔트로피 소스의 민감도를 제어하는 능력은 리소스 제약을 받는 하드웨어 토큰들의 인증에 매력적으로 작용하는 추가 속성이다. 그러나, IC들의 신뢰성과 보안을 향상시키기 위한, 특히 복제, 위장, 도용 및 비인가 사용과 같은 위협에 대한 보안 키의 취약성을 경감시키기 위한 요구가 있다. 본 발명은 이러한 요구를 만족시킨다.
IC들의 신뢰성과 보안을 향상시키기 위한, 특히 복제, 위장, 도용 및 비인가 사용과 같은 위협에 대한 보안 키의 취약성을 경감시키기 위한 요구에 따라, 하드웨어-임베디드 물리적 복제방지 기능(Hardware-Embedded Delay Physical Unclonable Function, "HELP PUF")은 2014년 8월 28일자로 출원된 국제 출원 PCT/US2014/053276에 상세히 논의된 바와 같이 랜덤 비트스트링들을 생성하기 위해 칩의 코어 논리 매크로들에서 발생하는 경로 지연 변이를 활용(leverage)한다.
HELP PUF는 기능 유닛들(functional units)의 상호 연결성의 복잡성이 엔트로피 소스의 크기에 상당히 추가되어 기존 기능 유닛들 내의 지연 변이에 따른 비트스트링 생성에 기반한 "강한 PUF"이다. PUF들에 의해 생성된 비트스트링들은 예를 들어 통신 암호화, 위조 방지 기술 구현, 현장에서의 악의적인 시스템 변경 감지, 공급 체인 인증 수행, IC들에서의 벤더 특정 기능 활성화 등을 포함하는 수많은 애플리케이션들에 사용될 수 있다.
인증 작업을 위한 하드웨어 토큰 준비 프로세스는 초기화 또는 등록으로 알려져 있다. 초기화하는 동안, 보안 서버는 해당 응답 세트를 생성하기 위해 PUF에 적용되는 챌린지들의 작은 서브세트를 랜덤하게 선택한다. 그 다음, 이 CRP들의 세트는 서버에 의해 보안 데이터베이스에 기록되며, 이 데이터베이스는 나중에 필드별(fielded) 토큰을 인증하는데 사용된다. 선택된 서브세트의 비밀과 함께 큰 CRP들 공간이 있으므로 공격자들이 토큰을 위장할 수 있는 클론을 구축하기 어렵기 때문에, 각 토큰에 대해 저장된 CRP들의 수는 적을 수 있다.
본 발명은 HELP PUF에 대한 신뢰성 및 보안 강화 기술에 관한 것이다. 본 발명에 따르면, 비트 플립 에러는 환경 변화에 따른 비트스트링의 재생 동안에 감소된다. 또한, 모델 구축 공격(model building attacks) 수행의 어려움과 함께 암호 강도가 향상된다.
본 발명의 일 실시 예에 따르면, 신뢰성 및 보안 강화 기술은 전압 기반 등록 프로세스에 관한 것이다. 전압 기반 등록 프로세스는 정상적으로 합성된(글리치(glichy)) 기능 유닛들의 불안정 경로를 차단(screen)하고 온칩(on-chip) 전압 조정기를 사용하여 제어되는 다중 공급 전압에서 등록을 수행함으로써 비트 플립 에러를 감소시킨다.
본 발명의 다른 실시 예에 따르면, 마진 기술은 신뢰성을 크게 향상시킨다. 웨이브-차동 다이내믹 로직(Wave-Differential Dynamic Logic, "WDDL")이라고 하는 로직 스타일의 구현은 기능 유닛에서의 글리치들을 제거하고 정상적으로 합성된 기능 유닛로 안정성 및 보안의 비교를 용이하게 한다. 본 발명이 글리치들을 제거하기 위한 WDDL의 사용에 대해 논의하지만, 글리치들을 제거하는 임의의 기술이 고려된다.
본 발명의 또다른 실시 예는 WDDL-기반 표준 셀 라이브러리의 확장된 버전에 관한 것이다. WDDL 로직 스타일의 사용은 글리치-프리(glitch-free) 기능 유닛의 영역 오버헤드를 감소시킨다. HELP PUF의 보안은 기능적 다양성(functional diversity)이라고 하는 기술을 사용하여 향상되는데, 여기서 라이브러리의 상이한 서브세트들은 기능 유닛의 상이한 구현들을 구축하는데 사용된다.
본 발명의 다른 실시 예에 따르면, 엔트로피는 특화된 CAD-기반 회로 분석 도구들을 사용하여 정량화된다. 이러한 도구들은 기능 유닛의 경로가 나타내는 엔트로피의 총량을 정량화하는 수단으로서 글리치-프리 버전의 기능 유닛에 적용된다.
하나 이상의 예에 대한 세부 사항은 첨부된 도면 및 이하의 상세한 설명에서 기술된다. 다른 특징, 목적 및 이점은 상세한 설명과 도면, 및 청구범위로부터 명백해질 것이다.
본 발명의 바람직한 실시 예들이 설명을 위해 제공되는 첨부 도면과 관련하여 기술될 것이고, 본 발명을 제한하지 않으며, 여기서 동일한 명칭은 동일한 요소를 나타낸다.
도 1은 본 발명의 실시 예에 따라 경로 지연을 측정하기 위한 클럭 스트로 빙(clock strobing) 기술의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 안정 경로들(x-축들)과 관련된 지연들 (y-축들)의 그래프이다.
도 3a는 본 발명의 일 실시 예에 따른 등록시의 LCI 경로 타이밍 값("PN")의 분포 그래프이다.
도 3b는 도 3a에 도시된 바와 같은 PN들의 선택된 쌍들과의 지연 차이의 분포 그래프이다.
도 4는 본 발명의 일 실시 예에 따른 전압 기반 등록(voltage based enrollment, "VBE") 기술을 설명하는 PN 차이의 세그먼트를 나타내는 그래프이다.
도 5는 본 발명의 일 실시 예에 따른 점프 마진과 평균 비트스트링 크기 간의 트레이드-오프를 나타내는 그래프이다.
도 6은 본 발명의 일 실시 예에 따른 개별 인터-칩 해밍 거리(hamming distance, "HD")의 히스토그램이다.
도 7은 본 발명의 일 실시 예에 따른 PN, PNDiff, ModPNDiff를 도시하는 그래프이다.
도 8은 본 발명의 일 실시 예에 따른 전역 변이(global variations)가 있거나 없는 온도-전압(temperature-voltage, "TV") 보상된 PNDDiff를 도시하는 그래프이다.
도 9는 본 발명의 일 실시 예에 따른 마진 기술을 나타내는 그래프이다.
도 10a는 본 발명의 일 실시 예에 따른 마진 기술을 사용하지 않은 표준 설계에 대한 해머링 거리(hammering distance, "HD") 결과를 도시하는 그래프이다.
도 10b는 본 발명의 일 실시 예에 따른 마진 기술을 사용한 표준 설계에 대한 해머링 거리("HD") 결과를 나타내는 그래프이다.
도 11A는 본 발명의 일 실시 예에 따른 마진 기술을 사용하지 않은 WDDL 설계에 대한 해머링 거리("HD") 결과를 나타내는 그래프이다.
도 11b는 본 발명의 일 실시 예에 따른 마진 기술을 사용한 WDDL 설계에 대한 해머링 거리("HD") 결과를 나타내는 그래프이다.
도 12는 본 발명의 실시 예에 따른 카르노 맵(Karnaugh map)이다.
도 13은 본 발명의 실시 예에 따른 기능 유닛을 도시한다.
도 14는 본 발명의 일 실시 예에 따른 변환 프로세스의 순서도이다.
도 15는 본 발명의 일 실시 예에 따른 엔트로피 분석의 순서도이다.
도 16은 본 발명의 일 실시 예에 따른 인증 프로토콜의 블록도이다.
본 명세서에 설명된 바와 같이, HELP PUF는 하드웨어 기반 인증에 적합한 "강한 PUF"이다. 보안 속성은 특히 신용 카드, 임베디드 센서 및 의료용 임플란트와 같이 리소스 제약을 받는 현장 하드웨어 토큰의 측면에서 프로토콜 복잡성을 감소시킨다. 토큰에 필요한 암호 기능의 수를 최소화하여 영역 및 에너지 오버헤드를 둘다 감소시키는 간단한 PUF 기반 인증 방식이 제안된다.
HELP PUF에 대한 엔트로피(랜덤성)의 소스는 기능 유닛을 정의하는 경로의 지연에서 발생하는 제조 변동(manufacturing variation)이다. 경로 지연은 도 1에 도시된 바와 같이 클럭 스트로빙 기술을 사용하여 측정된다. 기능 유닛은 가산기, 곱셈기 또는 암호 프리미티브가 될 수 있다. 또한, 론치-로우 FF들(Launch Row FFs)과 캡쳐-로우 FF들(Capture Row FFs)은 기능 유닛의 구성요소이다. 기능 유닛에 HELP PUF를 통합하는데 필요한 고유한 수정은 캡쳐-로우 FF들을 구동하는 Clk2라고 표시된 두 번째 클럭의 사용을 포함한다.
도 1의 테스트 대상 경로들에 대한 PUT들로서 라벨링된 한 세트의 경로들의 지연은 도 1에 도시 된 바와 같이 Clk1 및 Clk2를 사용하는, 클럭 스트로빙이라고 불리는, 일련의 론치-캡쳐 클럭킹 이벤트를 적용함으로써 측정된다. Clk1와 Clk2 사이의 위상 시프트는 론치-캡쳐 테스트의 시퀀스에 걸쳐 점진적으로 증가한다. 두 클럭 간의 위상 시프트의 디지털 방식으로 선택된 값은 론치-캡쳐 간격(launch-capture interval, "LCI")이라고 한다.
론치 FF에서 시작하는 경로를 따라 전파하는 에지(propagating edge)가 캡쳐 FF에서 캡쳐되도록 허용하는 최소 LCI는 경로의 디지털화된 타이밍 값으로 사용된다. 다수의 경로에 대한 디지털 타이밍 값은 론치 FF들에서 주 입력들(primary inputs, "PI들")에 적용되는 2진 입력 벡터의 세트에 대한 클럭 스트로빙 동작을 반복함으로써 얻을 수 있다.
위상 시프트 클럭을 생성하는 기능은 온칩 디지털 클럭 매니저들(digital clock managers, "DCM들")의 공통 특징이다. DCM을 포함하지 않는 저가 구성요소의 경우, 이 위상 시프트 기능은 멀티탭(multi-tapped) 지연 체인을 사용하여 작은 면적 오버헤드로 구현될 수 있다. 이 애플리케이션의 목적상, LCI 경로 타이밍 값은 "PUFNum" 또는 "PN"이라고 한다. 2개의 랜덤하게 선택된 PN들의 부호화된(signed) 차이는 "PNDiff"라고 한다.
본 발명의 일 실시 예에 따르면, 25℃, 1.00V에서 등록하는 동안 10,000개의 안정 경로가 측정된다. 등록 과정에서 테스트된 경로는 파일에 저장되고 9개의 온도-전압(temperature-voltage, "TV") 코너들에서 재생(regeneration)되는 동안 리플레이된다(replayed). TV 코너들은 VDD 공급 전압(-5%, 공칭, +5%)과 온도(0℃, 25℃, 85℃)의 모든 조합이다. FPA 스윕 범위(sweep range)는 크기 2의 단계에서 200 내지 1020이므로, 각 경로는 최대 (1020-200)/2 = 410회 클럭 스트로빙을 사용하여 재테스트된다.
도 2는 각 TV 코너에서 칩(C1)에 대한 최초 100개의 안정 경로의 지연의 그래프를 도시한다. "A"로 표시된 파형은 공급 전압 VDD = 0.95V(또는 -5%)에서의 지연을 나타내고, "B"로 표시된 파형은 공급 전압 VDD = 1.00V(공칭)에서의 지연을 나타내며, "C"로 표시된 파형은 공급 전압 VDD = 1.05V(또는 +5%)에서의 지연을 나타낸다. 각 "A", "B", "C"의 3가지 중첩된 파형은 3가지 온도에서의 지연을 나타낸다. VDD 변동이 온도 변동보다 훨씬 더 중요하다는 것은 분명하다. TV 변동의 순수 효과(net effect)는 도 2의 하단에 따른 파형들에 의해 도시되고, 이는 등록 중에 측정된 지연과 9개의 TV 코너 각각에서 측정된 지연 사이의 포인트별(point-wise) 차이로 계산된다. TV 변동이 없는 경우, 동일한 TV 코너에서의 재생 파형으로부터 25℃, 1.00V에서의 등록 파형을 뺀 경우에 대해 도시된 바와 같이, 차이 파형(difference waveform)은 0이어야 한다. 차이 파형들에서의 대부분의 경로에 대해 표시된 0으로부터 지연의 평균 상수 오프셋은 강건한(robust) 테스트 가능 경로와 관련된다. 강건한 테스트 가능한 경로는, 정의에 따르면, 활성화된(sensitized) 경로에 따른 게이트의 모든 부 입력(side input)들이 안정적으로 유지되기 때문에, 즉 글리치가 없기 때문에, 임의의 TV 코너 하에서 안정적으로 유지되는 경로들이다.
대조적으로, 지연이 극적으로 변하는 경로는 활성화된 경로에 따른 게이트의 부 입력이 순간적으로 변하는 비-강건한(non-robust) 테스트 가능 경로와 관련된다. 활성화된 경로 입력에서의 변화 이전에 부 입력의 변화가 약간 변하는 경우, 활성화된 경로를 따라 전파하는 에지는 부 입력 글리치로 인해 일시적으로 지연될 수 있다. 이것은 차례로 이 경로에 대한 추가 변화 또는 지연 점프(TV 코너 조건에 의해 도입된 변화 이상)를 도입한다. 이러한 경우는 하나 또는 소수의 TV 코너에서만 발생하는 지연의 큰 변화에 의해 가장 눈에 띈다(몇몇 경우는 도 2에서 원으로 표시되어 있다).
비트스트링 생성이 항상 경로 지연을 동일한 칩에서의 다른 경로 지연과 비교하면, 두 지연에서의 모든 유형의 체계적인 변화는 동일한 비트 값이 생성되도록 한다. 그러나, 점프로 인해 하나의 경로에서 큰 지연 변이가 발생하면, 비트 플립이 발생할 수 있다(일반적으로 발생할 것이다). 점프할 가능성이 있는 경로의 식별은 비트스트링의 안정적인 재생과 관련하여 불확실하게 감소되거나 제거될 수 있다.
*본 발명에 따르면, 전압 기반 등록 방식은 비트스트링이 에러 없이 재생되는 확률을 향상시키는 수단으로서 등록 동안 이러한 경로를 더 많이 발견하도록 설계된다.
일 실시 예에 따르면, 비트는 전압 기반 등록을 사용하여 인증을 받는 유니버설 노-모듈러스 차이(universal No-Modulus Difference, "UNMD") 방법으로 생성된다. 비트가 UNMD 방법으로 생성되더라도, 예를 들어 듀얼 PN 카운트(Dual PN Count, DPNC)와 같은 임의의 비트 생성 방법이 고려된다.
비트는 디지털 PN 표현을 사용하는 한 쌍의 경로 지연 사이의 부호화된 차이를 계산함으로써 UNMD 방법으로 생성된다. 전술한 바와 같이, LCI 경로 타이밍 값은 "PUFNum" 또는 "PN"이라고 하고, 2개의 랜덤하게 선택된 PN들의 부호화된 차이는 "PNDiff"라고 한다. 음의 차이는 '0' 비트를 생성하는 반면, 양의 차이는 '1' 비트를 생성한다. 비트스트링의 재생에 에러가 없을(error-free) 가능성을 높이기 위해, 임계값이 사용되어, 차이가 온도-전압("TV") 조건의 변화로 도입된 노이즈 및 드리프트를 견딜 수 있을 정도로 충분히 큰 PN 쌍들을 선택한다.
일례로서, PNDiffa 및 PNDiffb로 라벨링된 2개의 예시적인 페어링(pairing)과 함께 공칭 조건 하에서 칩(Ci)에 대한 지연 분포가 도 3a에 도시되어 있다. PNDiffa의 크기는 도 3b에 도시된 PN 차이 분포의 중심에서의 '무효 영역'에 위치시킨다. 따라서, 이 페어링에서의 PN들은 등록 동안 무효로 표시된다.
대조적으로, PNDiffb의 크기는 더 크고, 도 3b의 영역에 나타난다. 공개 데이터 비트스트링은 비트스트링 생성에 참여하고('1'로 표시) 참여하지 않는('0'으로 표시) PN을 기록한다. 이 기준은 이전에 불안정한 경로에 대해 주어진 조건에 추가된다. 따라서, 테스트된 모든 경로는 1) 경로가 단일 전이(안정적)을 생성하고 2) 페어링의 PN 차이가 임계값보다 큰 경우 '1'로 표시되는 해당 공개 데이터 비트를 갖는다.
에러-프리 재생을 보장하기 위해 상대적으로 큰 임계값이 필요하며, 이는 모든 TV 조건 하에서 모든 칩의 모든 비트 플립 에러를 제거하는 특정 방법을 사용하여 비트스트링에 사용할 수 있는 비트 수를 감소시킨다.
예를 들어, 도 3b는 임계값이 평균적으로 약 +/-40이고, 이는 40 * 36ps = 1.4ns로 변환(translate) 됨을 보여준다. 이는 HELP PUF가 다이 내(within-die) 변이를 활용하도록 허용하지만, 제거되는 경로 페어링의 수는 상당히 많다. 이들 페어링 중 다수는 안정적으로 유지되며(즉, 비트 플립 오차를 도입하지 않음), TV 코너를 가로지르므로, 임계화(thresholding)와 관련된 비트에서의 비교적 큰 '수율 손실(yield loss)'이 있다.
전압 기반 등록(Voltage Based Enrollment, "VBE")은 임계값을 감소시킴으로써 이 수율 손실 문제를 해결하도록 설계된다. 유리하게, VBE는 동일한 PN 세트를 사용하여 평균적으로 비트스트링의 크기를 67% 만큼 증가시킨다. VBE에 따르면, 등록은 다중의 공급 전압에서 수행된다. 본 발명의 일 실시 예에 따르면, 3개의 공급 전압이 사용되지만, 임의의 수가 고려될 수 있다.
온도와 달리, 전원 전압은 예를 들어 DV가 작은 경우 밀리 초(millisecond) 범위로 빠르게 변화될 수 있다. 그러나, 작은 변화는 MUT 지연에서의 큰 변화를 생성한다. 일반적으로, VBE는 어떤 경로 지연이 다른 TV 코너에서 '점프'할 것인지를 더 잘 예측할 수 있는 수단으로서 공급 전압에 대한 경로 지연의 높은 민감도(high sensitivity)를 활용한다.
도 4에 도시된 바와 같이, 경로 페어링들의 서브세트는 y축 상의 이들의 대응하는 PN 차이에 대해 x축을 따라 플롯팅되고, 이들은 PN들의 쌍을 뺀 것에 의해 계산된다. 도 4는 하나의 등록 곡선 및 2개의 VBE 곡선을 도시한다. 6개의 재생 곡선 중 2개만 표시된다(다른 4개의 곡선은 등록 곡선과 일치하며 그래프의 혼란을 줄이기 위해 생략되었다). 페어링 번호들(544, 546 및 547)은 비트 플립이 발생하는 경우를 도시한다. 비트 플립은 곡선들의 세트에 걸친 포인트들이 0 라인(line)의 양쪽에 나타날 때마다 발생한다. PN 차이와 관련된 다른 부호는 생성된 비트를 '0'에서 '1'로 또는 그 반대로 변경한다. 이러한 페어링이 재생 동안에 비트 플립을 발생시킬 수 있기 때문에, VBE는 이러한 문제가 있는 페어링을 식별하고 이를 비트 생성 프로세스에서 제외시키는 수단으로서 2개의 추가 전압 코너를 사용한다.
VBE의 첫 번째 변형에 따르면, 비트스트링은 3가지 전압들(0.95V, 1.00V, 1.05V)에서 각각 3회 계산되어 각 비트 위치의 3비트에서의 불일치들(inconsistencies)을 검색한다. VBE 비트스트링은, 등록에서의 공개 데이터를 사용하여 테스트할 경로를 결정하는, 재생 프로세스를 사용하여 생성된다는 점에 유의해야 한다. 주어진 비트 위치의 비트가 다른 2개와 다른 경우, 등록 비트스트링 및 공개 데이터는 업데이트되어 이러한 비트 및 경로를 제거한다. 도 4에서 544 및 546로 표시된 비트들 및 페어링들은 제거되는데, 이는 25℃, 0.95V VBE 비트스트링에서 생성된 비트들이 등록 비트들과 다르기 때문이다. 유감스럽게도, 이 방법을 사용하여 페어링 547에서의 비트 플립은 검출되지 않는다. 그러나, 이 경우에, 25℃, 1.05V VBE 곡선에서의 데이터 포인트와 관련된 더 작은 PN 차이가 예측 변수로 사용될 수 있다.
VBE의 제2 변형에 따르면, 점프 마진 파라미터가 전술된 제1 변형에 의해 미싱된(missed) 비트 플립들을 처리하는데 사용된다. 특히, 제2 변형은 비트 플립이 없지만 VBE 데이터 포인트 중 하나 또는 둘 모두가 점프 마진보다 작은 경우에 페어링들을 제거한다. 예를 들어, 점프 마진을 30으로 설정하면 페어링 547에 의해 도입된 비트 플립 에러가 검출되고 제거된다.
도 5의 곡선은 x축을 따라 플롯팅된 다양한 점프 마진 값을 사용하여 VBE의 효율성을 도시한다. 좌측 y-축은 모든 칩 및 TV 코너에서 발생하는 비트 플립의 총 수를 카운트한다. VBE가 비활성화(disabled)되면, 비트 플립의 수는 170이다. VBE를 활성화하지만 점프 마진을 0으로 설정하면 그 비트 플립의 수는 64로 감소한다. 따라서, VBE의 변형 1은 비트 플립의 수를 거의 62% 만큼 감소시킨다. 변형 2의 영향은 곡선의 나머지 구성요소에 의해 도시된다. 예를 들어, 점프 마진을 15로 사용하면, 비트 플립 수는 38로 감소한다. 또한, 평균 비트스트링 크기는 x축에 따른 각 점프 마진에 대해 우측 y축을 따라 플롯팅된다. 비트스트링의 평균 크기는 780으로 주어진다. 점프 마진이 20으로 증가할 때까지 매우 작은 크기의 변화가 발생하며, 점프 마진 40 이상으로부터 큰 감소가 시작된다. 이는 비트 플립 수를 줄이는 동시에 수율 손실 비트 패널티를 감소시키는 VBE의 이점을 분명히 나타낸다.
점프 마진이 20보다 작으면 비트 플립의 수가 0이 아니기 때문에, 에러-프리 재생을 위해, VBE는 특정 생성 방법과 결합해야 한다. 그러나, 비트 플립의 수를 적게 하면 임계값이 감소한다. 예를 들어, 모든 TV 코너에서 모든 칩에 에러-프리 재생을 유지하면서 점프 마진을 15로 사용하면, 임계값이 PN = 23(약 820 ps)로 감소한다.
10,000개의 경로를 생성하려면 약 30,000개의 경로를 테스트해야 한다. 테스트된 각 경로에는 1비트의 공개 데이터 저장소가 필요하므로, 공개 데이터 크기는 약 3.75KB이다. 재테스트된(retested) 경로를 제거하는 제안된 기법은 유효한 경로의 수를 10,000개에서 5,000개까지 감소시킨다. 비트스트링 생성 알고리즘은 연속적인 PN의 경로 페어링을 각 칩에 대해 5,000 시퀀스로 생성한다. 따라서, 5,000개의 PN을 사용하여 최대 2,500 비트를 생성할 수 있다. 전술한 바와 같이, 임계값을 820 ps로 하면, 유효한 PN 페어링(또는 비트)의 수가 약 1,300개로 감소한다. TMR은 3개의 비트스트링 사본(copies)을 구성하지만, 이를 달성하기 위해 평균 5개의 사본이 필요하다. 따라서, 최종 평균 비트스트링 크기는 1,300/5 ~ = 259 비트이다.
가장 작은 비트스트링 크기인 227비트를 사용하여, 칩-내부(intra-chip) 해밍 거리(HD)는 0이고, 즉 임의의 9개의 TV 코너들 중에서 임의의 30개 칩들에 비트 플립이 없다. 인터-칩 HD는 49.7%로 이상적인 값인 50%에 가깝다. 도 6은 개별적인 HD의 히스토그램을 도시한다. 30개의 칩으로, HD는 칩 비트스트링의 30*29/2 = 435 페어링으로부터 계산된다.
본 발명에 따르면, 신뢰성 및 엔트로피 향상은 글리치-프리 기능 유닛들에 의해 제공된다. 본 발명의 일 실시 예에 따르면, 대체 박스(substitution box, "SBOX") 구성요소가 기능 유닛으로서 사용된다. 암호 기법(cryptography)에서, SBOX는 대체를 수행하는 대칭 키 알고리즘의 기본 구성요소이다. 일반적으로, SBOX는 일부 입력 비트 수(m)를 취하고, 이를 일부 출력 비트 수(n)로 변환하며, 여기서 n은 반드시 m과 같을 필요는 없다.
SBOX 구성요소는 "표준 설계" 또는 "WDDL 설계"라고 하는 2가지 방법으로 구현된다. "표준 설계"는 임의의 유형의 특별한 로직 스타일 또는 제한조건들(constraints) 없이, 즉 정상적으로 합성된다. "WDDL 설계"는 웨이브-차동 다이내믹 로직을 사용하는 글리치들이 없다. 본 발명이 WDDL을 사용하여 글리치들을 제거하는 것에 대해 논의하지만, 글리치들을 제거하는 임의의 기술이 고려된다. 랜덤성, 독창성 및 신뢰성에 대한 2가지 로직 스타일의 절충(trade-off)을 결정하기 위해, 인터-칩(inter-chip) 해머링 거리("HD")가 평가된다.
온도 및 전압 변동은 바람직하지 않은 지연 변이를 일으키며, 대부분은 TV 보상 프로세스를 적용함으로써 제거될 수 있다. TV 보상은 각 칩 및 각 TV 코너에 대한 PNDiff들의 세트로부터 별도로 평균(오프셋) 및 범위(승수)를 계산함으로써 수행된다. 등록하는 동안에 계산된 오프셋 및 승수는 TV 코너에서 생성된 PNDiff를 식 1을 사용하여 보상하기 위해 각 TV 코너에서 계산된 오프셋 및 승수와 함께 사용된다.
Figure pat00001
(식 1)
여기에서, zvali은 평균을 빼고 특정 칩에 대해 TV 코너(TVx)에서 생성된 PNDiff의 세트를 사용하여 계산된 범위로 나눈 표준화된 PNDiff를 나타낸다. 그 다음, 개별 zvali은 등록 동안, 즉 TVEnroll에서 동일한 칩에 대해 이전에 계산된 평균 및 범위를 사용하여 변환된다. 등록하는 동안에 생성된 PNDiff는 "참조"로서 사용된다. 이 선형 변환은 다른 TV 코너에서 경로 지연에 발생하는 시프팅(shifting) 및 스케일링(scaling)의 제거에 매우 효과적이다.
모듈러스(modulus) 방식에 기초한 제2 비트 생성 방식은 글리치-프리 기능 유닛에서의 엔트로피 활용에 보다 효과적이다. 모듈러스 방식은 모델 구축에 대한 알고리즘을 강화하고 PUF 응답의 다양성을 증가시키는 수단으로서 두 경로 지연(PNDiff)에서의 부호화된 차이를 사용한다. ModPNDiff는 2개의 임의로 선택된 PN들 사이의 부호화된 차이를 계산한 다음, 모듈러스를 적용하여 정의된다. 모듈러스는 FU의 경로 길이가 변경되기 때문에 필요하다. 예를 들어, 짧은 경로는 1 LUT로 구성되고, 가장 긴 경로는 13 LUT로 구성되며, PNDiff에서 캡쳐된다. 모듈러스는 '경로 길이' 바이어스를 제거하면서 더 작은 다이 내 지연 변이를 완전히 보존한다.
예를 들어, 도 7은 '상승 에지 PN들' 및 '하강 에지 PN들'로 표시된 2세트의 파형을 도시한다. 파형의 포인트들은 SBOX 기능 유닛의 칩(Ci)에 있는 경로 세트에서 측정된 지연 값들(PN들)을 나타낸다. 유사한 모양을 갖는 파형의 각 그룹은 TV 보상 방법이 적용된 후 10개의 TV 코너들의 각각에서 측정된 PN들을 나타낸다(전술된 PNDiff들에 적용된 TV 보상과 동일한 프로세스). 10포인트에서의 수직 확산은 보상되지 않은 TV 노이즈를 나타낸다. 도 7의 중간에 도시된 파형은, 도 7의 상단에 도시된 바와 같은 상승 및 하강 에지 PN들의 랜덤화된 페어링으로부터 계산된 PNDiff들을 나타낸다. 칩(Ci) 데이터만이 도시되었지만, 차이 파형들의 모양은 경로 길이 바이어스 때문에 다른 칩들과 유사하다. 도 7의 하단에 도시된 ModPNDiff들은 도 7의 중간에 도시된 상승 에지 및 하강 에지 PN들의 랜덤화된 페어링들로부터 계산된 PNDiff들에 64의 모듈러스를 적용한 결과이다. 모듈러스는 모든 차이를 0 내지 63의 범위로 효과적으로 '랩핑(wrapping)'하고 바이어스를 감소 및/또는 제거한다. 비트 생성 알고리즘은 0 내지 31까지의 범위에 있는 ModPNDiff들을 '0'으로서 할당하고 32 내지 63까지의 범위에 있는 ModPNDiff들을 '1'로서 할당한다.
도 7의 중간에서 볼 수 있는 바와 같이, 도 7에서, 포인트 10 및 1에 대한 원은 비트 플립들을 나타낸다. 비트 플립들은 각 그룹 내의 10개 포인트 중 일부(전부는 아님)가 0 또는 63에 의해 주어진 경계 중 하나를 가로지를 때 발생한다. 추가 비트 플립은 도 7의 하단의 포인트 4에 대한 원으로 표시된다. 여기서, 포인트들은 '0'과 '1' 사이의 경계를 가로지른다. 10포인트의 긴밀한 그룹화는, 하기에서 더욱 충분히 논의되는 바와 같이, 이러한 비트 플립의 대부분/전부를 피하는 예측 차단(screening) 프로세스를 적용하는 것을 가능하게 한다. 더욱이, 모듈러스 파라미터는 설명된 바와 같이 바이어스를 제거하는데 사용될 수 있지만, 이하에서보다 상세히 논의되는 HELP PUF의 입출력 공간을 증가시키는데 유용하다.
"WDDL 설계"에 따르면 SBOX 구성요소는 전역 및 다이 내 지연 변이에 의해 도입된 엔트로피를 측정하는 수단 및 HELP PUF의 안정성을 향상시키는 수단으로서 웨이브-차동 다이내믹 로직("WDDL")를 사용하여 글리치없이 구현된다. WDDL은 자극(stimulus) 제한조건들을 부과하고 양의 게이트만 사용하도록 구현을 제한함으로써 기능 및 로직 해저드(hazard)를 제거한다. WDDL은 측면 채널 공격에 대한 AES와 같은 설계 유닛을 강화하는 메커니즘으로 제안되었으므로, 전력 곡선에서 정보를 제거하려고 시도한다. WDDL의 이점은 구현이 간단하고 글리치-프리 로직 구현의 평가를 위한 우수한 테스트 베드(bed)를 제공한다는 것이다.
WDDL 버전의 기능 유닛을 생성하기 위한 프로세스 흐름의 세부 사항은 하기에 제공된다. 단순화를 위해, WDDL 버전의 넷리스트(netlist)에는 오리지널 네트워크와 듀얼 게이트 세트로 구성된 보완(complementary) 네트워크가 포함되어 있다는 것만 알면 된다. SBOX의 8개 주 입력은 보완 네트워크를 구동하기 위해 복제되고 보완된다. WDDL의 작동은 프리차지(precharge) 단계와 평가 단계의 두 단계로 구성된다. 프리차지 단계는 모든 주 입력(보수 입력을 포함하는)이 '0'으로 구동되는 단계를 포함한다. 이것은 회로 전체의 모든 게이트의 입력 및 출력에 'O'들을 강요한다. 평가 단계는 진수(true) 및 보수(complementary) 값들을 8개의 진수 및 보수 주 입력들에 각각 적용하고 한 세트의 상승 전이가 회로를 통해 전파되도록 한다. SBOX 구현을 위해, 진수 출력의 절반과 보수 출력의 절반이 평가 동안 평균으로 전이한다. 따라서, 256개의 가능한 입력 전이들 각각에 대해, 즉 0000000->xxxxxxxx로부터, 총 2048개의 PN들을 생성하기 위해 8개의 PN들이 획득된다. 프리차지 단계, 즉 xxxxxxxx->00000000에 대해 다른 2048이 얻어지므로 총 4096개의 PN들이 생성되며, 이로부터 2048개의 PNDiff들의 세트가 고유하게(uniquely) 구성될 수 있다.
0℃, 25℃ 및 85℃의 온도 및 0.95 V, 1.00 V 및 1.05 V의 공급 전압에서 30개의 칩에서의 실험을 실행한다. TV 코너에서 30개의 칩으로부터 측정된 2048 PNDiff들의 25포인트 샘플이 도 8에 도시되어 있다. PNDiff들은 상승 경로 중 하나 및 하강 경로 중 하나(도 7의 상단 참조)로부터의 고유한 랜덤 쌍의 PN들을 선택함으로써 계산된다. 파형 그룹은 전술된 바와 같이 각 칩의 등록 값을 "참조"로서 사용하여 TV로 보정되었다(수식 1 참조). 파형 그룹 간의 수직 오프셋은 전역(칩 전체의) 변이, 즉 칩의 전반적인 성능 특성의 변화에 의해 초래된다. 전역 변이는 다이 내 변이와 유사한 엔트로피의 소스로 활용될 수 있지만, 그것에 의존하는 단점이 있다.
이 문제를 설명하기 위해, 도 8의 하단에 따라 도시된 파형은 다시 30개의 칩으로부터 나오지만, 칩(Ci)으로부터의 등록 데이터가 모든 칩에 대한 참조로 사용되는 특별한 프로세스를 사용하여 TV 보상된다. 이는 전역 변이를 효과적으로 제거하고 측정 노이즈, 보상되지 않은 TV 노이즈 및 다이 내 변이(within-die variations, WDV)만을 남긴다(도 8 참조). 많은 수의 칩에서, 칩 세트들은 전역 변이의 레벨이 동일할 가능성이 높으므로, 이 그래프는 이 경우를 나타내며, 여기서 다이 내 변이 만이 엔트로피 소스로 활용될 수 있다.
노이즈 소스의 크기(magnitude)는 도 8의 상단을 따라 도시된 파형들의 대역의 폭에 반영된다. 측정 노이즈(16샘플 평균화)는 평균 약 1PN(약 18ps)이므로, 변동의 대부분은 보상되지 않은 TV 노이즈에 의해 발생된다. 파형에 잔류하는 10개의 TV 보상된 PNDiff들의 3σ 값들의 평균으로 계산된 평균 변동 값은 등록 값 이상 또는 이하의 평균 약 +/-2.5 LCI 또는 45ps이며, 최악의 값은 +/- 8LCI 또는 145ps보다 작다. 이 수치는 손실된 엔트로피의 양을 나타내기 때문에 중요하다. 즉,이 LCI 값보다 작은 다이 내 변이는 활용하기에 더 어렵다. 다이 내 변이는 각 칩에 대한 파형 그룹의 모양 변화에 반영된다. 다이 내 변이에 의해 도입된 변이의 크기는 평균적으로 TV 노이즈(5 LCI)에 의해 도입된 평균 변이보다 약 4배 더 크다(20LCIs). 예를 들어, 각각 360ps 대 90ps가 된다.
본 발명에 따르면, 마진 기술을 사용함으로써 신뢰성이 향상된다. 마진 기술은 등록 중에 비트 플립을 도입할 확률이 가장 높은 PNDiff들을 식별한다. 도 7의 하단쪽에 도시된 PN 모듈러스 그래프는 도 9에서 복제되어 도해의 역할을 한다. 도 9는 비트 플립이 발생하는 3가지 경우를 도시한다. 이러한 데이터 포인트는 0과 1 사이의 경계, 즉 0, 31 및 63을 나타내는 라인에 가깝다. 마진 기술은 등록 PNDiff가 이러한 경계 주변의 작은 영역(마진) 내에 있는 경우 '무효'로 분류한다. 마진은 최상의 결과를 위해 최악의 TV 노이즈 레벨로 이상적으로 설정되지만(도 9에서는 마진 8이 사용된다), 필요한 허용 오차의 레벨에 따라 조정될 수 있다. 각 ModPNDiff 데이터 포인트의 유효한 상태를 기록하는 등록 중에, 헬퍼(helper) 데이터 비트스트링이 생성된다. 재생 동안에, 헬퍼 데이터는 응답에서의 '약한' 비트를 필터링하고 폐기(discard)하는데 사용된다.
PN 모듈러스 및 마진의 특정 조합은 폐기된 비트가 응답 비트스트링에서 사용될 수 있게 한다. 도 9에 도시된 예는 PN 모듈러스가 64이고 마진이 8로 설정된 하나의 유효한 조합을 도시한다. 이 예에서, 헬퍼 데이터의 보수를 사용하여 제2 응답 비트스트링을 생성하는 것이 가능하다. 제2 응답 비트스트링은 동일한 PNDiff들의 세트를 사용하지만, 모듈러스 연산을 적용하기 전에 PNMod의 1/4에 해당하는 오프셋(이 예에서는 16)을 우선 추가하며, 이는 효과적으로 분포를 시프팅시키고 이전의 '약한' 비트 모두를 '강한' 비트로 변환시킨다(반대의 경우도 마찬가지임). 이 기술은 응답 비트스트링에서 모든 데이터 포인트를 사용할 수 있도록 하며 헬퍼 데이터 크기 대 응답 비트스트링 크기를 1:1로 만들어 헬퍼 데이터의 오버헤드 패널티를 감소시킬 수 있다. 이 기술은 마진으로 구분된 영역의 합이 '0'과 '1'에 대해 정의된 '유효' 영역의 합과 같은 경우에 사용될 수 있다.
랜덤성, 독창성 및 신뢰성에 대한 2가지 로직 스타일의 절충을 결정하기 위해, 인터-칩 해머링 거리("HD")가 평가된다. 도 10은 표준 설계 SBOX에서 수집된 데이터를 사용한 통계 결과를 나타낸다. 분석은 x축을 따라 플롯팅되는 PN 모듈러스(PNMod)의 세트에 대해 수행된다. 인터-칩 HD는 등록 동안 2개의 칩에 의해 생성된 2048비트 비트스트링에서 서로 다른 비트 수를 카운트한 다음, 비트 수로 나누어 계산된다. 플롯팅된 값은 비트스트링의 가능한 모든 페어링(30*29/2=435 페어링)에 대한 평균 인터-칩 HD이다. 인트라-칩 HD는 각 칩(10*9/2=45 페어링)에 대해 TV 코너에서 생성된 비트스트링을 사용하여 페어링들이 정의되는 것을 제외하고는 유사한 방식으로 계산된다. 플롯팅된 값은 다시 30개의 개별 칩 값에 대해 계산된 평균이다. 최악의 인트라-칩 HD는 단순히 개별 칩들 중 하나에 의해 생성된 최대 값이다. 도 10a에서의 최악의 경우 및 평균의 경우인 인트라-칩 HD에 대한 곡선은 노이즈 레벨을 반영하는 반면, 인터-칩 및 인트라-칩 HD 곡선의 차이는 사용 가능한 엔트로피의 범위를 반영한다. 결과는 전역 변이가 있는 경우와 없는 경우로 도시된다.
인트라-칩 HD의 상대적으로 큰 값(이상적으로 0%)은 글리치의 존재에 직접적으로 기인한다. 글리칭(glitching)은 인트라-칩 및 인터-칩 HD를 모두 증가시킬 수 있다. 지연이 모든 TV 코너에서 일관되게 글리치의 영향을 받는 경로의 경우, 경로 지연이 일반적으로 10 내지 100 LCI만큼 변경되기 때문에 그 효과가 유익하며, 따라서 다이 내 변이의 중요한 소스가 된다. 글리치가 일부 TV 코너에 나타나고 다른 것에서는 사라지는 경로의 경우, 효과가 유해하여 비트 플립이 발생한다. 최악의 경우인 인트라-칩 HD 및 내부 칩 HD의 곡선은 2가지 유형이 모두 발생함을 보여준다. 인터-칩 HD가 증가하더라도, 이러한 이점은 최악의 비트 플립의 증가로 부분적으로 오프셋된다. 반면에, 평균적인 경우인 인트라-칩 HD는 약간 증가한다.
도 10b는 마진 기술을 적용한 후의 결과를 도시한다. 마진 기술은, 도 10b에 도시된 바와 같이, 인트라-칩 및 인터-칩 HD 결과 모두를 상당히 향상시킨다. 응답의 '약한' 비트를 식별하는 임계값으로 마진 8이 사용되지만, 임의의 마진 번호가 고려된다. 인터-칩 HD는 PNDiffs가 서로 다른 칩에서의 '강한' 비트의 생성에 해당하므로 이제 향상된다. 이는 다이 내 변이로 인해 일부 칩의 PNDiff가 마진의 범위에 들어가기 때문에 특히 그렇다. 반면, 다른 칩에서는 동일한 PNDiff가 마진의 범위 밖에 있다. 다른 중요한 특징은 전역 변이의 존재 여부에 대한 결과의 민감도(sensitivity)가 낮다는 것이며, 이는 매우 바람직한 특징이다. 또한, 30개의 칩 중 하나에 의해 생성된 가장 작은 비트스트링의 크기는 전술된 특별한 '보수 헬퍼 데이터' 방식이 사용되지 않을 때 헬퍼 데이터와 관련된 오버헤드를 설명하기 위해, 이 경우의 오버헤드를 설명하기 위해, 도 10b에 플롯팅되어 있다. >=64인 PNMod를 선택하면, 헬퍼 데이터 비트스트링은 최악의 응답 비트스트링 크기의 두 배보다 크지 않다.
WDDL 버전을 사용한 결과는 도 11에 도시된다. WDDL 버전에 존재하는 더 긴 경로는 도 11a의 좌측에 도시된 바와 같이 인터-칩 HD의 거의 이상적인 개선을 담당한다. 따라서, 더 긴 경로는 전역 변이가 보존되는 경우에만 인터-칩 HD을 개선한다. 즉, 전역 변이가 없는 인터-칩 HD 곡선은 매우 다른 결과를 나타낸다. 한편, 도 11b에 도시된 마진 기술을 이용한 결과는 전역 변이의 포함 여부와 관계없이 거의 이상적이다. 또한, 인트라-칩 HD 곡선은 도 10b의 대응하는 결과에 남아있는 대부분의 비트 플립들이 "표준 설계"에서 생성된 글리치에 기인한다는 것을 나타낸다. 즉, 마지닝(margining)은 지연의 변화가 마진으로 사용된 최악의 TV 노이즈보다 크기 때문에 글리치에는 효과적이지 않다. 이는 WDDL 버전에 대한 최악의 0에 가까운 값 및 평균 인트라-칩 HD에 의해 명백하다.
글리치-프리 기능 유닛의 이점을 감안할 때, 이를 구현하는 오버헤드의 감소가 바람직하다. 특히, 본 발명은 WDDL과 유사한 구현에서 사용될 수 있는 효율적인 분기 한정 알고리즘(branch-and-bound algorithm)을 사용하여 2입력 - 6입력 게이트에 대한 해저드-프리 기능을 위한 진리표의 완전한 세트를 생성하는 방법을 포함한다. 이 알고리즘은 WDDL 로직에 대해 전술한 바와 같이 프리차지 단계와 평가 단계가 있는 2단계 로직 스타일을 가정한다 - 이 알고리즘은 다른 유형의 프리차지 및 평가 조건에 적용할 수 있다. 파생된 해저드-프리(hazard-free) 기능의 선택된 서브세트(들)는 하기에 설명되는 바와 같이 CAD 합성 도구에서 게이트 수를 최소화하고 기능 구현에 다양성을 추가하는데 사용될 수 있다.
알고리즘은 데이터 구조로서 n-input 함수의 카르노-맵(Karnaugh-map, K-맵)의 추상적 표현을 사용한다. 전이 큐브는 시작 포인트 A, 종료 포인트 B를 갖고 A에서 B로 전이하는 동안 도달될 수 있는 모든 입력 조합을 포함하는 큐브를 참조한다. 해저드-프리 회로 구현에서 일반적인 것처럼, 게이트 입력은 2-벡터 테스트를 주 입력들(primary inputs)에 적용하는 동안 최대 한번만 변경될 것으로 가정되지만, 순서에 관계없이 변경될 수 있다. 게이트 구현 함수에 대한 해저드-프리 구현은 출력에서 최대 한번 전이한다.
WDDL 스타일 함수와 연관된 전이에는 도 12에서 3-입력 함수 f = a + bc에 대하여 도시된 바와 같이 함수의 카르노 맵에서 시작 포인트가 f(000,.0) = 0 ('모두 0' 프리차지 조건에 의해 실행되는)이 되어야 한다는 추가 제한조건이 있다. 평가 동안, K-맵에서 트래버스될 수 있는 모든 경로는 곡선으로 강조 표시된다. 도 12의 우측은, 12는 이러한 경로를 '게이트 입력 값 - 출력 값'형식으로 나열한다. 시작 포인트가 (000) = 0이고 종료 포인트가 (111) = 1인 경우에도, 이러한 게이트가 실제 작동시 활성화될 때 모든 입력이 변경될 필요는 없으므로, 종료 포인트는 나열된 경로에 따른 임의의 포인트가 될 수 있고, 해저드-프리 작동을 유지한다.
본 발명에 따르면, 이러한 제한조건들에 부합하는 모든 함수를 생성하는 알고리즘은 최대 6개의 입력(최신 FPGA들의 LUT 입력 크기와 일치)에 대한 K-맵 표현을 구성한다. 도 12의 우측에 나열된 트레이스(traces)는 알고리즘의 템플릿으로 사용된다. n-입력 게이트의 경우, 트레이스의 길이는 n + 1이다. 예를 들어, 트레이스 길이는 도 12의 3-입력 게이트에 대해 4이다. 또한, 트레이스의 수는 n!(계승)로 주어지는데, 3-입력 게이트에 대해서는 6이지만 6-입력 게이트의 경우 720으로 증가한다. 도면의 우측에 표시된 출력 값들은 유효한 K-맵을 검색하기 위해 알고리즘에 의해 사용된다. 트레이스-오더에서의 좌측에서 우측으로 나열된 출력 값들은 온도계 코드(thermometer code) 형식(즉, 0의 다음에 1)에 대응하며, 구성된 게이트의 해저드-프리 작동을 보장한다.
6-입력 함수에 대해 가능한 K-맵의 수는 264이므로, 해저드-프리 조건과 일치하는 모든 가능성을 검색하는 것은 어렵다. 대신에, 모든 해저드-프리 K-맵을 반복적으로 구성하기 위한 분기 한정 알고리즘 접근법이 개발되었다. 알고리즘은 가능한 모든 트레이스 및 트레이스에 대한 모든 가능한 온도계 코드 할당을 통해 시퀀싱된다. 가능한 온도계 코드 출력 할당의 수는 3-입력 게이트에 대해 (0001, 0011, 0111)과 같이 n으로 주어진다. 도 12로부터, 이들 온도계 코드 출력 값 중에서 단지 2개만이 함수 f = a + bc, 즉 0011 및 0111에 대해 실제로 사용되지만, 3번째는 다른 유효한 해저드-프리 3-입력 함수에 사용된다.
이것이 검색 공간을 nnb로, 예를 들어 3-입력 함수에 대해 36 = 729로 증가시키더라도, 검색 프로세스는 검색 공간의 매우 큰 부분을 제거(한정)할 수 있게 하고, 알고리즘을 최대 6-입력까지의 함수에 대해 다루기 쉽도록 한다. 유효한 K-맵은, 할당이 K-맵을 정의하기 위해 결합되는 경우, 모든 n개의 트레이스(각각에는 출력 값에 대한 특정 온도계 코드가 할당된다)가 일치할 때 검색된다. 일관성은 K-맵의 출력 값이 모든 트레이스에 의해 일관되게 0 또는 1로 할당되는 요구 사항을 나타낸다. 검색 프로세스에서 한 트레이스가 0을 할당하고 다른 트레이스가 1을 할당하는 경우, 이 동일한 '불일치' 할당이 사용되는 모든 후속 K-맵 뿐만 아니라 이 K-맵도 실패한다. 알고리즘의 이런 특징은 검색 공간의 많은 부분을 제거한다. 예를 들어, 가능한 55! = 7.5e+83의 5-입력 게이트에 대해 검색된 요소의 수는 1.8e + 6인 반면, 생성된 유효한 K-맵의 수는 7,579개이다. 6-입력 게이트의 경우, 유효한 K-맵의 수는 수백만 개이다.
생성된 함수의 대부분이 너무 복잡하기 때문에 합성 도구에 의해 무시되더라도, 수백 게이트의 서브세트에는 그렇지 못하다. 하기에 설명된 바와 같이, 합성에 사용되는 라이브러리에 이들 게이트를 포함시키는 것은 예를 들어 WDDL 로직을 사용하여 기능 유닛의 해저드-프리 구현의 게이트 카운트를 감소시키며, FPGA 합성의 직접적인 이점을 나타낸다. 더욱이, 공개된 알고리즘에 의해 생성된 해저드-프리 함수들 사이의 큰 다양성은 또한 FPGA-중심(oriented)의 합성이 "기능적 다양성"이라고 하는 기능 유닛의 상이한 '버전들'을 생성할 수 있게 한다.
분석에 사용된 기능 유닛은 도 13에 도시된다. 도 13에 도시된 바와 같이, 기능 유닛은 SBOX 뿐만 아니라 WDDL 구현의 믹싱된 칼럼 구성요소(이하, "MIXCOL"이라고 함)를 포함한다. 전술된 알고리즘을 사용하여 생성된 해저드-프리 함수의 90개의 요소 서브세트는 MIXCOL의 행태적 HDL 설명에서 단일 종단(single-ended) 구조의 넷리스트를 합성하는데 사용된다. 90개의 요소 서브세트는 생성된 EXT 함수의 가장 단순한 버전, 특히 각 입력 리터럴(literal)의 단일 인스턴스를 포함하는 함수만을 사용하여 선택되었다. 구조적 넷리스트는 라이브러리에서 사용할 수 있는 90개의 셀 중 25개를 사용하여 합성된다. 펄 스크립트(perl script)는 보완 네트워크를 생성하고 인버터들을 제거함으로써 단일 종단 버전을 WDDL 버전으로 변환하는데 사용된다. 변환 프로세스는 도 14에 도시되고, 여기서 반전된 출력을 갖는 EXT 게이트는 인버터를 제거하는 수단으로서 교환된(swapped) 출력을 갖는 동일한 EXT 게이트 + 듀얼(상보형) 게이트로 변환된다.
WDDL 넷리스트는 합성 및 구현 도구, 예를 들어 비바도(Vivado)의 입력으로 사용된다. 넷리스트가 최적화되더라도, 대부분의 최적화는 최신의 FPGA LUT 특성과 매칭하도록 의도적으로 구축된 EXT 라이브러리를 사용하는 컴파일러에 의해 이미 수행되었다. 일 실시 예에 따르면, 컴파일러 생성 버전의 총 게이트 수는 3,096개이고, 비바도 생성 버전은 2,891개의 LUT를 포함한다. 비바도에 의해 생성된 LUT 기반 넷리스트는 하기에 설명된 분석에 사용된다.
해저드-프리 전이는 프리차지-평가 제한조건들을 사용하여 32개의 진수 및 보수 입력들에 2-벡터 시퀀스를 적용함으로써 도 13의 MIXCOL 기능 유닛에서 생성된다. 예를 들어, 64비트 WDDL 벡터 쌍은 (00...0/00...0, xx...x/xx...x) 형태로 표현될 수 있고, 이는 프리차지 동안에 진수 및 보수 입력 둘다에 모두 0을 적용된 후, 평가 동안에 세트 232 및 그 보수로부터의 임의의 벡터를 적용한 것을 나타낸다.
기능 유닛의 개별 게이트 및 와이어 내에서 및 가로질러 발생하는 지연 변이는 HELP PUF에 대한 엔트로피의 기본 소스이다. HELP PUF는 경로 지연에서 엔트로피를 활용하며, 게이트 및 와이어 지연의 변동을 고유한 방식으로 결합한다. 본 발명에 따르면, 기능 유닛 내의 경로는 예측 가능한 방식으로 체계적으로 결합되지 않고, 오히려 길이가 변하고 글리칭을 나타낼 수 있고 매우 큰 수의 활성화하기 어려운 복잡한 상호접속 네트워크로서 정의된다. 상이한 길이의 경로에 의해 도입된 바람직하지 않은 바이어스는 모듈러스 기술을 사용함으로써 감소되거나 제거될 수 있는 반면, WDDL과 같은 글리치-프리 로직 스타일은 바람직하지 않은 글리칭 제거를 위해 사용될 수 있다.
기능 유닛을 엔트로피 소스로 사용하는 주된 이점 중 하나는 그것이 제공하는 다수의 경로 및 이들을 활성화하기 위해 벡터를 생성하는 어려움에 기반한다. 다수의 경로는 특히 주요 위협 메커니즘이 모델-구축일 때 인증과 같은 애플리케이션에 이점을 제공한다.
도 13에 도시된 바와 같이, MIXCOL의 WDDL 버전은 64개의 주 입력들 및 64개의 주 출력들을 갖는다. 오리지널 컴파일러-생성된 단일 종단 버전의 넷리스트(WDDL로 변환하기 전)에는 652개의 인버터와 1,548개의 로직 게이트가 있다. WDDL로의 변환은 인버터가 처리(및 제거)될 때마다 실제(true) 네트워크와 보완 네트워크 사이에 인터커넥터(interconnector)가 생성된다. 다수의 인버터는 두 네트워크가 여러 위치에서 상호연결되어 있음을 나타낸다. MIXCOL의 구조적 경로의 총 수는 1,732,085개이다. MIXCOL이 전체 기능 유닛의 1/4보다 작은 것을 나타내는 경우, 총 경로 수가 기능 유닛의 풀(full) 버전에서 1,000만 개를 초과할 가능성이 있음을 나타낸다. 따라서, MIXCOL의 구조적 넷리스트는 엔트로피의 매우 큰 소스를 제공한다.
WDDL 넷리스트는 프리차지-평가 제한조건들과 함께 기능 유닛의 글리치-프리 작동을 보장한다. 이러한 제한조건들 하에서 적용할 수 있는 WDDL 벡터의 총 수는 상승 및 하강 전이를 모두 고려하는 233이다. 보완 네트워크는 각 벡터 시퀀스 하에서 정확히 32개의 주 출력(64개의)이 전이되도록 하여 총 2개의 상승 및 하강 전이를 산출한다. 각 전이는 경로의 테스팅에 대응한다. 표시된 바와 같이, 모든 경로가 WDDL 벡터에 의해 테스트된 경우, 170만 경로만 존재하고, 그 다음 각 경로는 모든 벡터에서 평균 약 238/220 = 218회 테스트된다.
시뮬레이션 및 신호 전파 분석을 위한 특수 형식은 WDDL 벡터에 의해 테스트된 실제 경로 수를 결정하는데 필요하다. 넷리스트의 상호연결 구조는 임의의 특정 경로를 따라 게이트 입력에서 리컨버징(reconverging)하는 다중 신호가 주 출력에서의 신호 전이의 타이밍을 결정할 수 있게 한다. 예를 들어, AND 게이트로의 입력에서 마지막으로 0->1 전이가 도달하면 해당 게이트에서 출력 0->1 전이를 제어한다. 마찬가지로, OR 게이트의 경우, 첫 번째 0->1 전이를 구동하는 경로 세그먼트가 0->1 출력 전이를 제어하는 경우 반대 조건이 유지된다. 타이밍을 지배하는 입력/세그먼트는 출력 전이를 제어하는 경로 입력 및 대응 경로 세그먼트를 나타낸다. 따라서, 실제로 테스트되는 경로는 타이밍을 지배하는 경로에 따른 경로 세그먼트로 구성되며, 다른 모든 경로 세그먼트와 관련된 전이는 마스킹된다. 마스킹된 경로 세그먼트는 테스트된 경로와 연관된 엔트로피에 참여하지 않으며 카운트되지 않는다.
도 15는 본 발명의 일 실시 예에 따른 엔트로피 분석의 순서도를 나타낸다. 분석에 따르면, 각 주 출력에 대한 타이밍을 지배하는 경로가 열거된다. 이 프로그램은 구조적 넷리스트 및 2-벡터 시퀀스가 주 입력에 적용될 때 생성된 시뮬레이션 데이터를 사용한다. 시뮬레이션 데이터는 테스트 시퀀스(들) 하에서 회로의 모든 노드에서 발생하는 타임스탬프 및 신호 전이의 압축된 표현을 제공하는 파일(예를 들어, 값 변경 덤프(value-change-dump, "VCD" 파일)에 저장된다.
이 프로그램은 VCD 파일에 캡쳐된 테스트 벡터 시퀀스의 타이밍을 지배하는 고유하게 활성화된 경로의 수를 보고한다. 또한, 주 출력들(primary outputs, PO들) 및 내부 노드에서 발생하는 스태틱 및 다이내믹 해저드의 수를 보고한다(많은 해저드는 PO들에서 관측되지 않는다). VCD 파일의 신호 전이 타이밍은 최악의 프로세스, 온도 및 공급 전압 조건을 나타낸다. 더 중요하게, 비바도는 어떤 타이밍 분포 또는 다이 내 변이 모델링을 제공하지 않는다. 따라서, 보고된 결과는 보수적인데, 다이 내 변이는 다른 경로 세그먼트가 타이밍을 지배할 수 있게 하기 때문이다. 실제 하드웨어를 더욱 근사화하기 위해, 각 PO 출력 전이에 대한 추가 경로 세그먼트의 보고를 가능하게 하는 지배적인 경로를 검색할 수 있는 허용오차 파라미터를 사용할 수 있다. 가능한 경로 세그먼트 중 하나만이 각 칩의 타이밍을 지배하더라도(2개 이상의 세그먼트가 동일한 지연 값을 갖지 않는 한), 각 PO 전이에 대해 생성된 경로 리스트, 더 중요한 것은, 주어진 허용오차에 대해 보고된 고유 경로의 총 수는 하드웨어의 행태를 보다 잘 반영한다.
전술한 바와 같이, 233개의 WDDL 벡터(상승 및 하강)가 있으며, 이는 도 15에 도시된 도구 순서도를 사용하여 처리하기에는 너무 크다. 대신에, 이러한 WDDL 벡터의 작은 서브세트가 처리되어, 86억 개의 모든 벡터에 대한 경로 커버리지를 예측하기 위해 그 결과가 사용된다. 1, 500, 1000, 2000, 4000 및 8000 크기의 벡터 서브세트가 제공하는 커버리지는 지수를 사용하여 커브-피트(curve-fit)된다. WDDL 벡터의 예측 커버리지는 170만개 이상의 구조 경로의 약 2%이다.
실제로 해저드-프리 테스트 가능한 경로의 수는 모든 유형의 2 벡터 시퀀스를 사용하여 결정된다. 문제를 다루기 쉽도록 하기 위해, 170 만개 이상의 경로의 서브세트가 형성되어 실전 테스트(encounter test, "ET")에 대한 입력으로 사용된다. ET는 서브세트에서의 경로의 거의 절반에 대해 해저드-프리 테스트를 생성할 수 있으며, 약 30% 이상의 엔트로피가 기능 유닛에서 활용될 수 있음을 시사한다. 더욱이, 사용 가능한 많은 경로와 결합하여, 모든 경로를 테스트하기 위한 벡터 생성의 어려움은 공격자가 모델 구축 공격을 수행하는 수단으로서 하드웨어 토큰에 테스트 패턴을 체계적으로 적용하는 것이 어렵거나 불가능하도록 한다.
하나의 가능한 인증 프로토콜이 도 16에 도시된다. 등록 동안에, 서버는 하드웨어 토큰에 의한 입력으로서 사용되는 랜덤 챌린지들(ci, PNModi 및 마진i)을 생성한다. HELP PUF는 챌린지 정보와 함께 서버에 저장된 응답(ri) 및 헬퍼 데이터(hi)를 생성한다. 전역 변이가 사용되는 경우, μ 및 rng도 칩에 대해 계산되어 서버에 저장되며, 이 값들은 칩의 의사(pseudo)-ID로서도 사용될 수 있다. 많은 제안된 인증 프로토콜에서, 챌린지는 일반적으로 PUF의 응답 특성을 체계적으로 학습하려는 모델 구축 공격의 어려움을 증가시키기 위해 암호 해시 함수를 통과한다.
해시는 해시의 출력이 특정 PUF 입력 값으로 제어되도록 ci를 선택하는 방법을 결정하기 어렵게 한다. 유사하게, 응답의 XOR 난독화 함수를 추가하여 응답을 난독화할 수 있다. 모델 구축 HELP는 그것의 입력 및 출력에 직접 액세스하더라도 매우 어렵기 때문에, 이러한 난독화 함수는 'x'출력('x'ed out)된다. 따라서, HELP를 사용하는 본 발명에 따른 인증 프로토콜은 비보호 인터페이스를 갖는다. 중량이 큰(heavy-weight) 암호 해시 및 XOR 네트워크의 제거는 하드웨어 토큰의 영역과 에너지 오버헤드를 감소시킨다.
인증은 헬퍼 데이터(hi, μ 및 rng)의 전송 방향을 제외하고는 유사한 방식으로 수행된다. PNDiffs들이 유니버설 표준으로 보상되는 TV인 경우(전역 변이에서 엔트로피를 제거하는 경우), rng는 필요하지 않다. 또한, 리소스 제약을 받는 토큰에 대한 에너지를 절약하기 위해 서버 측에서 헬퍼 데이터 처리가 수행될 수 있다(헬퍼 데이터를 토큰으로 전송할 필요가 없음). 마지막으로, 토큰이 비트 플립 에러-프리 비트스트링 재생을 수행할 수 있는 경우, '퍼지 매칭'은 불필요할 수 있다.
앞에서 언급한 바와 같이, 마진 및 PNMod 파라미터는 HELP PUF의 보안 속성을 향상시키며, 이는 이들이 챌린지-응답 공간을 확장시키기 때문이다. 그러나, 이 파라미터를 제한조건들 없이 설정할 수 있는 것은 모델 구축을 보조하기 위해 공격자에 의해 사용될 수 있다. 본 발명은 하드 코딩된 마진 또는 예를 들어 5와 8 사이의 작은 범위의 값들만의 허용이 제한된 정보 누설 채널을 유지하면서 통계를 개선하려는 목표를 달성하고 있음을 제시한다. 제한된 값들의 세트만 허용되어야 하는 PNMod 파라미터에 대해서도 마찬가지이다. 예를 들어, 2의 제곱으로 제한하면 모듈러스 연산의 구현이 크게 단순화되는 동시에, CRP 공간이 '제한적'으로 확장을 제공한다.
본 발명 및 현재 그 최상의 모드로 고려되는 것은 발명자들에 의해 소유권을 설정하고 당업자가 본 발명을 제조하고 사용할 수 있게 하는 방식으로 설명되었지만, 본 명세서에 개시된 예시적인 실시 예들과 많은 등가물들이 존재하며, 본 발명의 범위 및 사상을 벗어나지 않는 범위 내에서 무수한 수정 및 변형이 이루어질 수 있으며, 이는 예시적인 실시 예들에 의해서가 아니라 첨부된 청구항들에 의해 제한되어야 한다.

Claims (9)

  1. 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법으로서,
    복수의 간격들 중 각각의 론치-캡쳐 간격의 경로 지연값을 측정하는 단계;
    랜덤하게 선택된 2개의 경로 지연값들 사이의 차이 값을 계산하는 단계;
    상기 차이 값이 양수이면 '0'비트로, 그리고 상기 차이 값이 음수이면 '1'비트로 상기 차이 값을 정의하는 단계;
    상기 정의 단계에 기초하여 비트스트링 패밀리를 생성하는 단계로서, 각각의 비트스트링은 2개 이상의 공급 전압 조정기에서 생성되고; 및
    상기 2개 이상의 공급 전압 조정기에서 생성된 각각의 비트스트링의 하나 이상의 비트 위치에서 불일치를 식별함으로써 상기 비트스트링 패밀리를 제거하는 단계;
    를 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  2. 제1항에 있어서, 상기 정의하는 단계는,
    온도-전압 조건에 기초하여 임계값을 유도하는 단계; 및
    상기 차이 값이 임계값보다 큰 경우, 상기 차이 값을 '무효'로 정의하는 단계를 더 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  3. 제1항에 있어서,
    점프 마진 파라미터를 정의하는 단계; 및
    상기 경로 지연값 또는 차이 값 중 어느 하나가 상기 점프 마진 파라미터보다 작은 경우, 상기 경로 지연 값 및 차이 값을 무시하는 단계;
    를 더 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  4. 제1항에 있어서, 상기 공급 전압 조정기는 각각 0.95V, 1.00V, 1.05V의 전압에서 동작하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  5. 제1항에 있어서, 온도 및 전압의 변화를 보상하기 위해 차이 값들의 세트로부터 평균 및 범위를 계산하는 단계를 더 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  6. 제1항에 있어서, 경로 길이 바이어스을 제거하기 위해 상기 차이 값에 모듈러스를 적용하는 단계를 더 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  7. 제1항에 있어서, 비트 플립을 도입할 가장 높은 확률을 갖는 차이 값을 식별하는 단계를 더 포함하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  8. 제7항에 있어서, 상기 비트 플립을 도입할 가장 높은 확률은 '0' 비트와 '1' 비트의 경계에서 발생하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.
  9. 제1항에 있어서, 상기 방법은 기능 유닛의 글리치-프리 구현을 이용하는, 물리적 복제 방지 기능 비트스트링을 생성하는 동안 비트 플립의 수를 줄이기 위한 신뢰성 향상 방법.








KR1020237004581A 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 KR20230035122A (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201462091985P 2014-12-15 2014-12-15
US62/091,985 2014-12-15
US201562199685P 2015-07-31 2015-07-31
US62/199,685 2015-07-31
US201562204835P 2015-08-13 2015-08-13
US62/204,835 2015-08-13
KR1020177018868A KR102499723B1 (ko) 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법
PCT/US2015/065909 WO2016100402A1 (en) 2014-12-15 2015-12-15 Reliability enhancement methods for physically unclonable function bitstring generation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177018868A Division KR102499723B1 (ko) 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법

Publications (1)

Publication Number Publication Date
KR20230035122A true KR20230035122A (ko) 2023-03-10

Family

ID=56127492

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237004581A KR20230035122A (ko) 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법
KR1020177018868A KR102499723B1 (ko) 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177018868A KR102499723B1 (ko) 2014-12-15 2015-12-15 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법

Country Status (7)

Country Link
US (1) US10366253B2 (ko)
EP (1) EP3234857B1 (ko)
JP (1) JP6608457B2 (ko)
KR (2) KR20230035122A (ko)
CA (1) CA2971212C (ko)
MA (1) MA40999A (ko)
WO (1) WO2016100402A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3011279A1 (en) 2016-01-11 2017-07-20 Stc.Unm A privacy-preserving, mutual puf-based authentication protocol
CN106571924B (zh) * 2016-10-21 2019-07-05 北京智芯微电子科技有限公司 一种物理不可克隆函数电路
US11095461B2 (en) 2016-11-04 2021-08-17 Stc.Unm System and methods for entropy and statistical quality metrics in physical unclonable function generated bitstrings
EP3340216B1 (en) * 2016-12-23 2020-01-29 Secure-IC SAS Secret key generation using a high reliability physically unclonable function
WO2018183572A1 (en) * 2017-03-29 2018-10-04 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
DE102017205818A1 (de) * 2017-04-05 2018-10-11 Robert Bosch Gmbh Einstellbare physikalische unklonbare Funktion
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
US10305479B1 (en) * 2018-06-12 2019-05-28 Nxp B.V. Fault attack protection against synchronized fault injections
WO2020006178A1 (en) * 2018-06-27 2020-01-02 Stc. Unm Correlation-based robust authentication technique using helper data only
CN111431841B (zh) * 2019-01-10 2022-08-02 北京普安信科技有限公司 一种物联网安全感知系统及物联网数据安全传输方法
US11314579B2 (en) 2019-09-03 2022-04-26 International Business Machines Corporation Application protection from bit-flip effects
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses
US11356851B2 (en) 2019-12-03 2022-06-07 Harris Global Communications, Inc. Communications system having multiple carriers with selectively transmitted real information and fake information and associated methods
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
US11049555B1 (en) * 2020-05-08 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM power-up random number generator
WO2022075585A1 (ko) * 2020-10-05 2022-04-14 엘지전자 주식회사 물리적 복제 방지 장치, 및 이를 구비하는 신호처리장치, 영상표시장치
US11985259B2 (en) 2021-06-24 2024-05-14 Raytheon Company Unified multi-die physical unclonable function
CN114372299B (zh) * 2022-01-09 2024-05-07 北京航空航天大学杭州创新研究院 基于物理不可克隆函数的安全分支预测器抗Spectre攻击的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616036B1 (en) * 2005-09-12 2009-11-10 Virage Logic Corporation Programmable strobe and clock generator
KR102026757B1 (ko) * 2011-12-06 2019-09-30 인트린직 아이디 비브이 단일 등록을 이용한 메모리 기반 puf에 대한 소프트 결정 에러 정정
US9449153B2 (en) * 2012-12-20 2016-09-20 Qualcomm Incorporated Unique and unclonable platform identifiers using data-dependent circuit path responses
US9015500B2 (en) 2013-01-16 2015-04-21 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
US10038446B2 (en) * 2013-08-21 2018-07-31 Carnegie Mellon University Reliability of physical unclonable function circuits

Also Published As

Publication number Publication date
JP2018503328A (ja) 2018-02-01
KR20170094326A (ko) 2017-08-17
JP6608457B2 (ja) 2019-11-20
KR102499723B1 (ko) 2023-02-13
EP3234857A4 (en) 2018-08-22
EP3234857B1 (en) 2019-08-21
WO2016100402A1 (en) 2016-06-23
EP3234857A1 (en) 2017-10-25
CA2971212C (en) 2023-08-08
MA40999A (fr) 2017-10-25
CA2971212A1 (en) 2016-06-23
US10366253B2 (en) 2019-07-30
US20170364709A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
KR102499723B1 (ko) 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법
EP3403209B1 (en) A privacy-preserving, mutual puf-based authentication protocol
Che et al. PUF-based authentication
Majzoobi et al. Techniques for design and implementation of secure reconfigurable PUFs
Suzuki et al. The glitch PUF: A new delay-PUF architecture exploiting glitch shapes
Wendt et al. Hardware obfuscation using PUF-based logic
Xin et al. A configurable ring-oscillator-based PUF for Xilinx FPGAs
Xu et al. Secure remote sensing and communication using digital PUFs
Hemavathy et al. Arbiter puf—a review of design, composition, and security aspects
Bernard et al. Implementation of Ring‐Oscillators‐Based Physical Unclonable Functions with Independent Bits in the Response
Ardakani et al. Improving performance of FPGA-based SR-latch PUF using Transient Effect Ring Oscillator and programmable delay lines
Zalivaka et al. FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability
Sami et al. POCA: First power-on chip authentication in untrusted foundry and assembly
US11411751B2 (en) Correlation-based robust authentication technique using helper data only
Yu et al. Hardware hardening approaches using camouflaging, encryption, and obfuscation
Tariguliyev et al. Reliability and security of arbiter‐based physical unclonable function circuits
Plusquellic PUF-based authentication
Streit et al. Design and evaluation of a tunable PUF architecture for FPGAs
Masoumi et al. Design and implementation of a ring oscillator-based physically unclonable function on field programmable gate array to enhance electronic security
Rahman Hardware-Based Security Primitives and Their Applications to Supply Chain Integrity
Silwal Asynchronous physical unclonable function using FPGA-based self-timed ring oscillator
Saha et al. FPGA-Based IP and SoC Security
Li FPGA Security Techniques with Applications to Cloud and Multi-Tenant Use Cases
Lao Authentication and Obfuscation of Digital Signal Processing Integrated Circuits
Srivathsa Secure and energy efficient physical unclonable functions

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal