KR20230108825A - 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로 - Google Patents

머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로 Download PDF

Info

Publication number
KR20230108825A
KR20230108825A KR1020220004399A KR20220004399A KR20230108825A KR 20230108825 A KR20230108825 A KR 20230108825A KR 1020220004399 A KR1020220004399 A KR 1020220004399A KR 20220004399 A KR20220004399 A KR 20220004399A KR 20230108825 A KR20230108825 A KR 20230108825A
Authority
KR
South Korea
Prior art keywords
signal
receiving
puf
selection signal
integrated circuit
Prior art date
Application number
KR1020220004399A
Other languages
English (en)
Inventor
양준성
Original Assignee
삼성전자주식회사
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 연세대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020220004399A priority Critical patent/KR20230108825A/ko
Priority to US17/935,314 priority patent/US20230224172A1/en
Priority to CN202211689413.6A priority patent/CN116432250A/zh
Publication of KR20230108825A publication Critical patent/KR20230108825A/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/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로가 제공된다. 집적 회로는, 입력에 따라 고유한 값을 갖는 셀 신호를 출력하도록 구성된 복수의 PUF(Physically Unclonable Function) 셀을 포함하는 PUF 블록, 셀 신호를 입력받고 변환하여 변환 신호를 출력하는 변환부, 변환부에 제1 선택 신호를 제공하는 선택 신호 생성기, 및 변환부로부터 변환 신호를 제공받아 보안 키를 생성하는 키 생성기를 포함하고, 변환부는, 제공받은 제1 신호를, 제1 선택 신호의 비트값에 기초하여 제1 신호를 변환한 제2 신호를 출력하는 제1 레이어를 포함한다.

Description

머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로{Integrated circuit with physically unclonable function for being robust to machine learning attacks}
본 발명은 물리적 복제 방지 기능(PUF; Physically Unclonable Function)을 갖춘 집적 회로에 관한 것이다. 구체적으로, 물리적 복제 방지 기능을 갖춘 집적 회로의 내부 연결 구조 변화를 통하여, 머신 러닝 공격에 강건한 집적 회로에 관한 것이다.
최근 다양한 스마트 기기가 보급되고 있으며, 그 중 스마트폰의 대중화는 이를 이용한 금융 거래나 무인 자동차 분야에 활용되는 등 새롭고 다양한 서비스와 사용 환경을 만들어 내고 있다. 이러한 IoT(Internet of Things) 환경의 확산은 해킹에 대한 위험성도 높아져, 개인 정보 유출 등 많은 보안 사고를 유발하게 되어 보다 안전한 보안에 대한 요구가 높아지고 있다.
이러한 요구사항을 해결하기 위해 연구되고 있는 기술 중 하나가 물리적 복제 방지 기능(PUF; Physical Unclonable Function) 기술이다. 물리적 복제 방지 기능이란, 반도체 제조 공정에서 발생하는 공정 편차(Process variation)를 이용하여, 칩(chip) 내부에 구현된 예측하기 어려운 랜덤한 디지털 값을 생성하는 시스템을 의미한다. 이는 하드웨어적으로 예측이 불가능한 값이 출력되므로 복제가 불가능하다.
구체적으로, 칩의 제조 과정에서 동일한 회로와 동일한 마스크 레이아웃을 이용하여 동일한 공정과정을 진행하더라도 반도체 제조 과정 특성상 발생하는 공정 편차에 의해 트랜지스터, 캐패시터, 저항 등과 같은 소자 특성에서부터 게이트 지연시간과 같은 회로 특성까지 많은 부분에서 차이가 나게 된다.
물리적 복제 방지 기능은 이러한 특성 때문에 칩마다 서로 다른 0 또는 1의 비트 값을 갖게 되며, 결정된 값은 랜덤 수 생성 장치와 달리 매번 생성 시마다 동일한 값을 출력하기 때문에 칩 고유의 정보로 활용할 수 있다. 또한 생성되는 값은 칩 내부에서 생성되는 값이므로 외부의 유출을 근본적으로 차단할 수 있으며, 침입 공격 등과 같은 보안 공격에 대해서도 그 값을 리드하기가 어렵다.
이렇게 생성된 디지털 값은 칩의 ID, 인증 회로, 암호 알고리즘의 대칭 키 또는 비밀 키 등과 같이 다양한 영역에서 사용될 수 있다.
하지만 최근 이러한 물리적 복제 방지 기능에 대해서도 머신 러닝(machine learning)을 이용한 침입 공격이 이루어져, 더 높은 수준의 보안이 요구되고 있다. 이를 해결하기 위하여, 침입 공격 예상 가능성을 미리 예측하는 기술 등이 개발되고 있으나, 이는 추가적인 연산량으로 인해 오버헤드가 발생할 수 있는 문제점이 있다.
이를 해결하기 위하여, 오버헤드의 증가 없이 물리적 복제 방지 기능의 하드웨어를 내부적으로 변경하여 보안 수준을 높일 수 있는 연구가 지속되고 있다.
본 발명이 해결하고자 하는 기술적 과제는, 추가적인 연산량 오버헤드 없이 보안 성능이 향상된 물리적 복제 방지 기능을 갖춘 집적 회로를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 몇몇 실시예에 따른 집적 회로는, 입력에 따라 고유한 값을 갖는 셀 신호를 출력하도록 구성된 복수의 PUF(Physically Unclonable Function) 셀을 포함하는 PUF 블록, 셀 신호를 입력받고 변환하여 변환 신호를 출력하는 변환부, 변환부에 제1 선택 신호를 제공하는 선택 신호 생성기, 및 변환부로부터 변환 신호를 제공받아 보안 키를 생성하는 키 생성기를 포함하고, 변환부는, 제공받은 제1 신호를, 제1 선택 신호의 비트값에 기초하여 제1 신호를 변환한 제2 신호를 출력하는 제1 레이어를 포함한다.
상기 기술적 과제를 달성하기 위한 몇몇 실시예에 따른 집적 회로는, 입력에 따라 고유한 값을 갖는 셀 신호를 출력하도록 구성된 복수의 PUF(Physically Unclonable Function) 셀을 포함하는 PUF 블록, 셀 신호를 입력받고 변환하여 변환 신호를 출력하는 변환부, 변환부에 제1 선택 신호를 제공하는 선택 신호 생성기, 및 변환부로부터 변환 신호를 제공받아 보안 키를 생성하는 키 생성기를 포함하고, 변환부는, 복수의 제1 논리 게이트를 포함하고, 셀 신호를 입력받아 셀 신호에 대한 논리 연산을 수행하여, 제1 신호를 출력하는 제1 스테이지(stage)와, 복수의 제2 논리 게이트를 포함하고, 제1 신호를 기초로 생성되는 제2 신호를 입력받아 제2 신호에 대한 논리 연산을 수행하여, 제3 신호를 출력하는 제2 스테이지를 포함하되, 제1 선택 신호를 기초로 제1 스테이지의 적어도 일부의 제1 논리 게이트를 비활성화시키고, 제1 선택 신호를 기초로 제2 스테이지의 적어도 일부의 제2 논리 게이트를 비활성화시킨다.
상기 기술적 과제를 달성하기 위한 몇몇 실시예에 따른 집적 회로는, 제1 PUF(Physically Unclonable Function) 셀 및 제2 PUF 셀로부터, 입력에 따라 고유한 값을 갖는 제1 및 제2 셀 신호를 입력받아 제1 신호를 출력하는 제1 XOR 게이트, 제1 및 제2 PUF 셀과 다른 제3 및 제4 PUF 셀로부터, 입력에 따라 고유한 값을 갖는 제3 및 제4 셀 신호를 입력받아 제1 신호와 다른 제2 신호를 출력하는 제2 XOR 게이트, 제1 XOR 게이트로부터 제1 신호를 제공받고, 제2 XOR 게이트로부터 제2 신호를 제공받아, 제1 및 제2 신호 중 제1 신호를 출력하는 제1 멀티플렉서(MUX; Multiplexer), 제1 XOR 게이트로부터 제1 신호를 제공받고, 제2 XOR 게이트로부터 제2 신호를 제공받아, 제1 및 제2 신호 중 제2 신호를 출력하는 제2 멀티플렉서를 포함하되, 제1 멀티플렉서의 출력은 선택 신호 생성기로부터 제공받은 제1 선택 신호에 의해 결정되고, 제2 멀티플렉서의 출력은 선택 신호 생성기로부터 제공받은 제2 선택 신호에 의해 결정되고, 제1 선택 신호와 제2 선택 신호는 서로 다르다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예에 따른 집적 회로를 설명하기 위한 예시적인 블록도이다.
도 2는 몇몇 실시예에 따른 집적 회로의 동작을 설명하기 위한 예시적인 도면이다.
도 3은 몇몇 실시예에 따른 집적 회로에 포함된 변환부를 설명하기 위한 예시적인 회로도이다.
도 4는 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 회로도이다.
도 5는 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 회로도이다.
도 6은 다른 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 회로도이다.
도 7은 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 표이다.
도 8은 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 9는 다른 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 10은 또 다른 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 11은 몇몇 실시예에 따른 집적 회로를 포함하는 장치와 서버 사이의 서버 시스템을 설명하기 위한 예시적인 도면이다.
도 12는 몇몇 실시예에 따른 집적 회로를 포함하는 장치와 서버 사이의 서버 시스템의 동작을 설명하기 위한 예시적인 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 기술적 사상에 따른 실시예들에 대해 설명한다.
도 1은 몇몇 실시예에 따른 집적 회로를 설명하기 위한 예시적인 블록도이다.
도 1을 참조하면, 집적 회로(1)(IC; Integrated Circuit)는 PUF(Physically Unclonable Function) 블록(10), 변환부(20), 키 생성기(30)(Key Generator), 및 선택 신호 생성기(40)(Select Signal Generator)를 포함할 수 있다.
PUF 블록(10)은 복수의 PUF 셀(10_1~10_n)을 포함할 수 있다. 복수의 PUF 셀(10_1~10_n) 각각은 셀 신호(OUT1~OUTn)를 출력하여, 변환부(20)에 제공할 수 있다.
여기서, 셀 신호(OUT1~OUTn)는 복수의 PUF 셀(10_1~10_n) 각각이 입력에 따라 출력되는 고유한 값을 의미할 수 있다. 예를 들어, 복수의 PUF 셀(10_1~10_n)은 제조되는 과정에서 발생하는 다양한 공정 변이(process variation)에 기인하여, 각각의 고유한 값을 셀 신호(OUT1~OUTn)로 출력할 수 있다.
구체적으로, 복수의 PUF 셀(10_1~10_n)에 포함된 트랜지스터와 같은 소자들 또는 패턴들은, 높이, 폭, 길이, 도핑 농도 등의 공정 변이에 기인하여, 동일한 반도체 공정에 의해서 제조된 다른 PUF 셀들과 상이한 고유한 특성을 가질 수 있다. 이에 따라, 셀 신호(OUT1~OUTn)는 각각 고유한 값들을 가질 수 있고, 이를 이용하여 보안 키(KEY)를 생성할 수 있다.
한편, 셀 신호(OUT1~OUTn) 각각은 1bit일 수 있다. 따라서, 도 1에 도시된 PUF 블록(10)의 경우 n bit의 셀 신호(OUT1~OUTn)를 변환부(20)에 제공할 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 셀 신호의 크기는 실시예에 따라 다른 값의 bit를 가질 수 있다.
변환부(20)는 복수의 스테이지(21_1~21_m)와, 복수의 레이어(22_1~22_m-1)를 포함할 수 있다.
복수의 스테이지(21_1~21_m) 각각은 논리 연산을 수행하는 복수의 논리 게이트들을 포함할 수 있다. 예를 들어, 복수의 스테이지(21_1~21_m) 각각은 복수의 XOR 게이트를 포함할 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 복수의 스테이지(21_1~21_m) 각각은 실시예에 따라 다른 종류의 논리 게이트를 포함할 수 있다.
복수의 레이어(22_1~22_m-1)는 입력받은 신호를 변환할 수 있다. 구체적으로, 복수의 레이어(22_1~22_m-1) 각각은 이전에 위치하는 스테이지로부터 입력을 제공받아, 선택 신호에 기초하여 서로 다른 출력을 다음 스테이지에 제공할 수 있다.
복수의 레이어(22_1~22_m-1) 각각은 동일한 수의 복수의 멀티플렉서(MUX; Multiplexer)를 포함할 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 복수의 레이어(22_1~22_m-1) 각각은 실시예에 따라 다른 수의 멀티플렉서를 포함할 수 있으며, 또는 스위치 등 신호를 변환하는 다른 구성을 포함할 수 있다.
복수의 스테이지(21_1~21_m)와 복수의 레이어(22_1~22_m-1)는 서로 교대로 배치될 수 있다. 즉, 도 1에 도시된 바와 같이 제1 스테이지(21_1)와 제2 스테이지(21_2) 사이에 제1 레이어(22_1)가 구성될 수 있고, 제1 레이어(22_1)와 제2 레이어(22_2) 사이에 제2 스테이지(21_2)가 구성될 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 복수의 스테이지(21_1~21_m)와 복수의 레이어(22_1~22_m-1)의 배치 관계는 실시예에 따라 달라질 수 있다.
제1 스테이지(21_1)는 PUF 블록(10)으로부터 셀 신호(OUT1~OUTn)를 제공받을 수 있다. 제1 스테이지(21_1)는 제공받은 셀 신호(OUT1~OUTn)에 대하여 논리 연산을 수행하여, 제1 레이어(22_1)에 출력을 제공할 수 있다. 즉, 상기 논리 연산은 XOR 연산을 의미할 수 있다.
한편, 제1 스테이지(21_1)는 선택 신호 생성기(40)로부터 제공받은 제1 선택 신호(SEL1)에 기초하여, 포함하는 복수의 논리 게이트 중 일부만을 활성화시켜 논리 연산을 수행할 수 있다. 구체적인 내용은 후술한다.
제1 레이어(22_1)는 제1 스테이지(21_1)로부터 출력을 제공받을 수 있다. 제1 레이어(22_1)는 제1 스테이지(21_1)로부터 제공받은 출력에 대하여, 선택 신호 생성기(40)로부터 제공받은 제2 선택 신호(SEL2)에 기초하여, 다양한 조합의 출력을 생성할 수 있다. 예를 들어, 제1 레이어(22_1)는 제2 선택 신호(SEL2)의 비트값에 기초하여, 신호를 출력할 수 있다. 제1 레이어(22_1)는 출력을 제2 스테이지(21_2)에게 제공할 수 있다.
키 생성기(30)는 변환부(20)로부터 변환 신호(PUF)를 제공받을 수 있다. 여기서 변환 신호(PUF)는, PUF 블록(10)에 임의의 입력이 입력되어 이에 따른 셀 신호(OUT1~OUTn)가 출력되고, 변환부의 내부 연결 구조에 따라 셀 신호(OUT1~OUTn)가 변환된 신호를 의미할 수 있다. 이 때, PUF 블록(10)에 임의의 입력이 입력되어 그에 대한 변환 신호(PUF)가 생성되는 한 번의 주기를 챌린지(challenge)로 정의할 수 있다.
키 생성기(30)는 변환부(20)로부터 변환 신호(PUF)를 제공받아 수집하여, 보안 키(KEY)를 생성할 수 있다. 예를 들어, 키 생성기(30)는 L번의 챌린지에 대한 변환 신호(PUF)를 수집하여 보안 키(KEY)를 생성할 수 있고, 이 경우에 보안 키(KEY)는 n * L bit의 크기를 가질 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 보안 키(KEY)의 크기는 셀 신호(OUT1~OUTn) 각각의 크기, 변환부(20)의 내부 연결 구조 등에 따라 달라질 수 있음은 자명하다.
선택 신호 생성기(40)는 변환부(20)의 내부 연결 구조를 변화시키기 위한 선택 신호를 생성할 수 있다. 구체적으로, 선택 신호 생성기(40)는 제1 선택 신호(SEL1)와 제2 선택 신호(SEL2)를 생성하여 변환부(20)에 제공할 수 있다.
선택 신호 생성기(40)는 변환부(20)의 생성될 수 있는 모든 내부 연결 구조에 대한 정보를 포함할 수 있다. 구체적으로, 선택 신호 생성기(40)는 변환부(20)의 특정한 내부 연결 구조를 형성하기 위해 복수의 레이어(22_1~22_m-1) 각각에 제공해야 하는 선택 신호의 값들을 미리 저장할 수 있다.
제1 선택 신호(SEL1)는 복수의 스테이지(21_1~21_m)에 포함된 복수의 논리 게이트 중 활성화시키는 논리 게이트를 결정하는데 이용될 수 있다. 제2 선택 신호(SEL2)는 복수의 레이어(22_1~22_m-1)에 포함된 복수의 멀티플렉서가, 제공받은 입력 중 어떤 입력을 출력하는지를 결정하는데 이용될 수 있다. 구체적인 내용은 후술한다.
도 2는 몇몇 실시예에 따른 집적 회로의 동작을 설명하기 위한 예시적인 도면이다.
도 2를 참조하면, 도 1에서 설명한 바와 같이 복수의 PUF 신호를 수집하여 보안 키(KEY)가 생성될 수 있다. 구체적으로, 도 2에서는 l번의 챌린지를 수행하여 l개의 PUF 신호(PUF[1] ~ PUF[l])가 생성되었고, 이를 수집하여 보안 키(KEY)를 생성할 수 있다. 여기서 PUF 신호는 도 1의 변환 신호(PUF)를 의미할 수 있다.
한편, 각각의 챌린지에서 기존의 물리적 복제 방지 기능의 집적 회로는 동일한 회로 구조를 이용하여, 서로 다른 입력에 대한 PUF 신호를 출력할 수 있었다. 이는, 여러 번의 챌린지에 대한 PUF 신호를 수집하여 보안 키(KEY)를 생성한다고 하더라도, 머신 러닝(machine learning)의 공격에 대하여 취약한 문제점이 존재하였다.
예를 들어, 기존의 집적 회로에서 각각의 PUF 신호가 10bit라고 가정하고, 챌린지의 수가 10번이라고 가정하면, 이 때 보안 키(KEY)의 경우의 수는 2의 100승에 대응되는 값일 수 있다.
한편, 본 발명의 몇몇 실시예에 따른 집적 회로는 각 챌린지마다 집적 회로의 내부 연결 구조를 변경시켜, 머신 러닝의 공격에 대하여 더욱 강건하도록 구성될 수 있고, 이에 따라 향상된 보안 성능을 가질 수 있다.
예를 들어 도 2에 도시된 바와 같이, 제1 챌린지에서는 집적 회로는 제3 구성(Config[3])의 내부 연결 구조를 가질 수 있고, 이에 따른 입력에 대한 제1 PUF 신호(PUF[1])를 출력할 수 있다.
제2 챌린지에서는 집적 회로는 제5 구성(Config[5])의 내부 연결 구조를 가질 수 있고, 이에 따른 입력에 대한 제2 PUF 신호(PUF[2])를 출력할 수 있다.
제3 챌린지에서는 집적 회로는 제2 구성(Config[2])의 내부 연결 구조를 가질 수 있고, 이에 따른 입력에 대한 제3 PUF 신호(PUF[3])를 출력할 수 있다.
이와 같이, 각 챌린지마다 집적 회로의 내부 연결 구조를 변경시킴으로써 PUF 신호를 더욱 다양하게 조합할 수 있고, 이를 통해 보안 성능을 향상시킬 수 있다.
도 3은 몇몇 실시예에 따른 집적 회로에 포함된 변환부를 설명하기 위한 예시적인 회로도이며, 도 4 및 도 5는 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 회로도이다.
구체적으로, 도 3은 몇몇 실시예에 따른 집적 회로에 포함된 변환부 중 설명의 편의를 위해, 제i 스테이지(21_i)와, 제i+1 스테이지(21_i+1), 및 제i 스테이지(21_i)와 제i+1 스테이지(21_i+1) 사이에 구성된 제i 레이어를 도시한 회로도이다.
도 3을 참조하면, 제i 스테이지(21_i)는 도 1에서 설명한 바와 같이 복수의 논리 게이트를 포함할 수 있고, 제i+1 스테이지(21_i+1) 또한 복수의 논리 게이트를 포함할 수 있다. 구체적으로, 제i 스테이지(21_i)에 포함된 논리 게이트의 수와, 제i+1 스테이지(21_i+1)에 포함된 논리 게이트의 수는 동일할 수 있다.
제i 스테이지(21_i)와 제i+1 스테이지(21_i+1)는 XOR 게이트로 구성될 수 있으며, 10개의 XOR 게이트를 포함할 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 제i 스테이지(21_i)와 제i+1 스테이지(21_i+1)는 실시예에 따라 10개가 아닌 다른 수의 논리 게이트로 구성될 수도 있다.
제i 레이어(22_i)는 복수의 멀티플렉서를 포함할 수 있다. 예를 들어, 제i 레이어(22_i)는 도 3에 도시된 바와 같이 10개의 멀티플렉서를 포함할 수 있으며, 각각의 멀티플렉서는 2개의 입력에 대해 1개의 입력을 출력하도록 구성될 수 있다. 하지만 실시예가 이에 제한되는 것은 아니며, 멀티플렉서 각각에 입력되는 입력의 수는 실시예에 따라 달라질 수 있다.
또한, 반드시 제i 레이어(22_i)에 포함된 멀티플렉서의 개수와, 제i 스테이지(21_i)와 제i+1 스테이지(21_i+1)에 포함된 논리 게이트의 수가 동일할 필요는 없으며, 실시예에 따라 얼마든지 달라질 수 있다.
한편, 제i 스테이지(21_i)와 제i 레이어(22_i)의 관계에서 5개의 그룹(Group)이 정의될 수 있다.
구체적으로 도 3에 도시된 바와 같이, 제1 그룹(Group 1)은 제i 스테이지(21_i)의 A XOR 게이트 및 B XOR 게이트와, 상기 두 개의 게이트의 출력을 입력으로 제공받는 두 개의 멀티플렉서를 포함할 수 있다.
제2 그룹(Group 2)은 제i 스테이지(21_i)의 C XOR 게이트 및 D XOR 게이트와, 상기 두 개의 게이트의 출력을 입력으로 제공받는 두 개의 멀티플렉서를 포함할 수 있다.
제3 그룹(Group 3)은 제i 스테이지(21_i)의 E XOR 게이트 및 F XOR 게이트와, 상기 두 개의 게이트의 출력을 입력으로 제공받는 두 개의 멀티플렉서를 포함할 수 있다.
제4 그룹(Group 4)은 제i 스테이지(21_i)의 G XOR 게이트 및 H XOR 게이트와, 상기 두 개의 게이트의 출력을 입력으로 제공받는 두 개의 멀티플렉서를 포함할 수 있다.
제5 그룹(Group 5)은 제i 스테이지(21_i)의 I XOR 게이트 및 J XOR 게이트와, 상기 두 개의 게이트의 출력을 입력으로 제공받는 두 개의 멀티플렉서를 포함할 수 있다.
이 때, 제i 레이어(22_i)는 제2 선택 신호(SEL2)를 제공받을 수 있고, 제2 선택 신호(SEL2)를 기초로 출력을 결정할 수 있다. 구체적으로, 제i 레이어(22_i)에 포함된 멀티플렉서 각각은 제2 선택 신호(SEL2)에 포함된 서로 다른 신호 중 어느 하나를 제공받고, 이를 기초로 제i+1 스테이지(21_i+1)에 제공하는 출력을 결정할 수 있다.
더욱 구체적으로 도 4 및 도 5를 참조하여 설명의 편의를 위해 제2 그룹(Group 2)를 예를 들어 설명하면, 제2 그룹(Group 2)에 포함된 C 멀티플렉서(MUX_C)와 D 멀티플렉서(MUX_D) 각각은 제2 선택 신호(SEL2)를 제공받을 수 있다. 이 때, C 멀티플렉서(MUX_C)와 D 멀티플렉서(MUX_D) 각각은 제2 선택 신호(SEL2)에 포함된 복수의 신호 중 어느 하나를 제공받을 수 있고, C 멀티플렉서(MUX_C)가 제공받는 신호와 D 멀티플렉서(MUX_D)가 제공받는 신호는 서로 다를 수 있다.
C 멀티플렉서(MUX_C)와 D 멀티플렉서(MUX_D) 각각은 모두 C XOR 게이트와 D XOR 게이트의 출력을 입력으로 제공받을 수 있고, C 멀티플렉서(MUX_C)와 D 멀티플렉서(MUX_D) 각각은 C XOR 게이트의 출력과 D XOR 게이트 출력 중 서로 다른 어느 하나를 출력할 수 있다.
예를 들어, 도 4에서 C 멀티플렉서(MUX_C)는 C XOR 게이트의 출력과 D XOR 게이트의 출력을 제공받아, 이 중 C XOR 게이트의 출력(굵은선으로 도시)을 출력할 수 있다. 반면에, D 멀티플렉서(MUX_D)는 C XOR 게이트의 출력과 D XOR 게이트의 출력을 제공받아, 이 중 D XOR 게이트의 출력(점선으로 도시)을 출력할 수 있다.
반대로, 도 5에서 C 멀티플렉서(MUX_C)는 C XOR 게이트의 출력과 D XOR 게이트의 출력을 제공받아, 이 중 D XOR 게이트의 출력(점선으로 도시)을 출력할 수 있다. 반면에, D 멀티플렉서(MUX_D)는 C XOR 게이트의 출력과 D XOR 게이트의 출력을 제공받아, 이 중 C XOR 게이트의 출력(굵은선으로 도시)을 출력할 수 있다.
즉, 각각의 멀티플렉서의 출력값은 제2 선택 신호(SEL2)에 의해서 결정되며, 이를 통해 집적 회로의 내부 연결 구조를 변경시킬 수 있다.
다시 도 3을 참조하면, 제i 레이어(22_i)는 10개의 멀티플렉서를 포함하는 것으로 도시되었고 도 4 및 도 5에서 설명한 바와 같이 각각의 그룹은 서로 독립적으로 제2 선택 신호(SEL2)에 기초하여 2개의 경로를 설정할 수 있다. 이에 따라, 제i 레이어(22_i)에 의한 출력의 경우의 수는 2의 5승인 32에 대응될 수 있다.
한편, 제i+1 스테이지(21_i+1)에 제공되는 입력은 제i 레이어(22_i) 및 제i 레이어(22_i) 사이에서의 관계와 독립적일 수 있다.
예를 들어, 제2 그룹(Group 2)의 C 멀티플렉서(MUX_C)에서 출력되는 값은 제i+1 스테이지(21_i+1)의 L XOR 게이트 및 M XOR 게이트로 입력되고, L XOR 게이트의 다른 하나의 입력은 제1 그룹(Group)의 출력에 대응될 수 있다. 따라서, 레이어가 더 많이 존재할수록 더 많은 변환 신호의 경우의 수가 존재할 수 있다.
도 6은 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 회로도이다.
도 6을 참조하면, 변환부(20)는 제1 선택 신호(SEL1)를 제공받을 수 있다. 변환부(20)는 제1 선택 신호(SEL1)를 기초로, 제i 스테이지(21_i)와 제i+1 스테이지(21_i+1)에 포함된 복수의 논리 게이트 중 적어도 일부를 활성화시키고, 나머지는 비활성화시킬 수 있다.
예를 들어, 변환부(20)는 제i 스테이지(21_i)에 포함된 A XOR 게이트 내지 J XOR 게이트 중 A XOR 게이트 내지 F XOR 게이트를 활성화시키고, G XOR 게이트 내지 J XOR 게이트를 비활성화시킬 수 있다. 유사하게, 변환부(20)는 제i+1 스테이지(21_i+1)에 포함된 K XOR 게이트 내지 T XOR 게이트 중 K XOR 게이트 내지 P XOR 게이트를 활성화시키고, Q XOR 게이트 내지 T XOR 게이트를 비활성화시킬 수 있다.
변환부(20)는 제1 세트(Set 1)과 제2 세트(Set 2) 중 활성화된 제1 세트(Set 1)를 통하여 신호를 변환할 수 있다. 이 때, 활성화된 세트에 입력되는 비트수를 Width로 정의할 수 있다. 즉, 도 6을 예로 들면 Width의 값은 6에 대응될 수 있다.
상술한 바와 같이, 본 발명의 몇몇 실시예에 따른 집적 회로는, 선택 신호를 기초로 복수의 레이어에 포함된 멀티플렉서의 출력을 변경시킬 수 있으며, 또한 복수의 스테이지에 포함된 논리 게이트 중 활성화되는 논리 게이트의 수를 변경할 수도 있다. 이를 통해, 기존에 비해 더 많은 변환 신호의 경우의 수가 존재할 수 있고, 이에 따라 보안 성능을 향상시킬 수 있다.
도 7은 몇몇 실시예에 따른 변환부의 동작을 설명하기 위한 예시적인 표이다.
도 7을 참조하면, 구성 라벨(Configuration Label)은 집적 회로에서 내부 연결 구조 변화에 따라 생성될 수 있는 모든 경우의 수에 대하여 정의된 인덱스(Index)를 의미할 수 있다.
도 3 내지 도 6에서 설명한 바와 같이, 1개의 레이어에 대하여 2의 Width/2 승의 값에 대응되는 경우의 수가 존재할 수 있다. 또한, 레이어가 m개 존재하는 경우, 각각의 레이어의 출력은 서로 독립적이므로, 집적 회로가 가질 수 있는 내부 연결 구조의 총 경우의 수는 총 2의 (m*Width)/2 승의 값에 대응될 수 있다.
각각의 경우의 수에 대하여, 복수의 레이어에 선택 신호가 제공될 수 있다. 구체적으로, 구성 라벨(Configuration Label)이 다른 경우, 즉 집적 회로의 구조가 변경되는 경우, 복수의 레이어 각각에 제공되는 선택 신호 중 적어도 어느 하나는 다른 값을 가질 수 있다.
한편, 각각의 레이어는 서로 다른 선택 신호를 제공받을 수 있다. 예를 들어, 구성 라벨이 0인 경우, 제1 레이어에 제공되는 선택 신호의 값은 000…02에 대응될 수 있고, 제2 레이어에 제공되는 선택 신호의 값은 001…02에 대응될 수 있으며, 제m 레이어에 제공되는 선택 신호의 값은 011…02에 대응될 수 있다.
또한, 각각의 레이어에 포함된 복수의 멀티플렉서는, 레이어가 수신한 선택 신호에 포함된 서로 다른 복수의 신호 중 어느 하나를 제공받을 수 있음은 앞서 설명한 바와 동일하다.
도 8은 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 8을 참조하면, 식별 장치(100a)(Identification Device)는 PUF 집적 회로(101a)(PUF IC) 및 통신 인터페이스(102a)(Communication Interface)를 포함할 수 있다.
식별 장치(100a)는 외부로부터 수신되는 요청(REQ)에 응답하여 식별 장치(100a)의 식별 정보를 포함하는 응답(RES)을 외부로 전송할 수 있다. 식별 장치(100a)는 예를 들어, 무선 주파수 식별(RFID; Radio Frequency Identification)일 수 있다.
응답(RES)에 포함된 식별 정보는 식별 장치(100a)의 사용자를 식별하는데 사용될 수 있다. 응답(RES)에 포함된 식별 정보는 PUF 집적 회로(101a)가 생성하는 보안 키(KEY)에 기초하여 생성될 수 있다.
도 9는 다른 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 9를 참조하면, 저장 장치(100b)(Storage Device)는 PUF 집적 회로(101b), 암호화 엔진(102b)(Encryption Engine) 및 메모리(103b)(Memory)를 포함할 수 있다.
저장 장치(100b)는 외부로부터 수신된 데이터(DATA)를 저장하거나 저장된 데이터(DATA)를 외부에 전송할 수 있다. 저장 장치(100b)는 저장된 데이터의 보안을 위하여, 외부로부터 수신된 데이터(DATA)를 보안 키(KEY)를 사용하여 암호화할 수 있고, 암호화된 데이터(ENC)를 메모리(103b)에 저장할 수 있다. 저장 장치(100b)는 예를 들어, 휴대용 저장 장치 또는 스토리지 서버의 저장 장치일 수 있다.
암호화 엔진(102b)은 메모리(103b)로부터 독출한 암호화된 데이터(DEC)를 보안 키(KEY)를 사용하여 복호화할 수 있고, 복호화된 데이터(DATA)를 외부로 전송할 수 있다.
도 10은 또 다른 몇몇 실시예에 따른 물리적 복제 방지 기능의 집적 회로를 포함하는 장치의 예시적인 블록도이다.
도 10을 참조하면, 통신 장치(100c)(Communication Device)는 PUF 집적 회로(101c), 공개키 생성기(102c)(Public Key Generator) 및 모뎀(103c)(Modem)을 포함할 수 있다.
통신 장치(100c)는 다른 통신 장치로부터 신호(RX)를 수신하거나 다른 통신 장치로 신호(TX)를 송신함으로써 다른 통신 장치와 통신할 수 있다. 통신 장치(100c)는 예를 들어, 휴대용 무선 통신 장치일 수 있다.
공개키 생성기(102c)는 PUF 집적 회로(101c)가 생성하는 보안 키(KEY)에 기초하여 공개키(P_KEY)를 생성할 수 있다.
모뎀(103c)은 공개키(P_KEY)에 기초하여 암호화된 신호(TX)를 전송하거나 신호(RX)를 복호화할 수 있다.
즉, 통신 장치(100c)는 보안 키(KEY)에 기초하여 다른 통신 장치와 보안 통신을 수행할 수 있다.
도 11은 몇몇 실시예에 따른 집적 회로를 포함하는 장치와 서버 사이의 서버 시스템을 설명하기 위한 예시적인 블록도이다.
도 11을 참조하면, 서버 시스템(1000)은 서버(1100)(Server)와 IoT(Internet of Things) 장치(1200)를 포함할 수 있다.
서버(1100)는 시뮬레이션 모듈(1100)(Simulation Module)을 포함할 수 있다. 시뮬레이션 모듈(1100)은 서버 공개키(pKeys_s)와 구성 정보(Inf_conf)를 이용하여, 서버 비밀키(sKeys_s)를 생성할 수 있다.
여기서, 서버 공개키(pKeys_s)는 서버 비밀키(sKeys_s)를 생성하기 위해 필요한 정보를 의미할 수 있다. 예를 들어, 서버 공개키(pKeys_s)는 초기값, 시간 등의 정보를 포함할 수 있다.
여기서 구성 정보(Inf_conf)는 도 7에서 설명한 각 구성 라벨에 따른 변환부의 내부 연결 구조에 관한 정보를 의미할 수 있다.
서버(1100)는 IoT 장치(1200)에 서버 공개키(pKeys_s)와 구성 정보(Inf_conf)를 제공할 수 있다.
IoT 장치(1200)는 PUF 집적 회로(1210)를 포함할 수 있다. 여기서, PUF 집적 회로(1210)는 도 1 내지 도 7을 통해 설명한 집적 회로를 의미할 수 있고, 도 8 내지 도 10에서 설명한 PUF 집적 회로와 실질적으로 동일한 것을 의미할 수 있다.
IoT 장치(1200)는 서버(1100)로부터 서버 공개키(pKeys_s)와 구성 정보(Inf_conf)를 제공받을 수 있다. 이에 PUF 집적 회로(1210)는 제공받은 서버 공개키(pKeys_s)와 구성 정보(Inf_conf)를 이용하여, IoT 비밀키(sKeys_IoT)를 생성할 수 있다. 서버(1100)와 IoT 장치(1200)는 구성 정보(Inf_conf)에 대응하는 PUF 집적 회로(1210)의 내부 연결 구조에 관한 정보를 미리 공유하는 상태일 수 있다. IoT 장치(1200)는 생성한 IoT 비밀키(sKeys_IoT)를 서버(1100)에 제공할 수 있다.
도 12는 몇몇 실시예에 따른 집적 회로를 포함하는 장치와 서버 사이의 서버 시스템의 동작을 설명하기 위한 예시적인 흐름도이다.
도 12를 참조하면, IoT 장치는 서버에 접근하기 위하여 액세스 커맨드(ACMD)를 서버에 제공할 수 있다(S10). 액세스 커맨드(ACMD)는 IoT 장치가 서버를 통해 인증하기 위하여 제공하는 커맨드를 의미할 수 있다.
서버는 IoT 장치로부터 액세스 커맨드(ACMD)를 제공받은 것에 대응하여, 키 생성의 시뮬레이션 동작을 수행할 수 있다(S20). 즉, 서버는 도 11의 시뮬레이션 모듈(1110)을 이용하여 키를 생성하는 시뮬레이션을 수행할 수 있다. 구체적으로, 단계 S20은 IoT 장치의 PUF 회로를 가상으로 이용하여, 이에 대한 키를 생성하는 것을 의미할 수 있다. 이 때 도 11에서 설명한 바와 같이 서버는 서버 공개키와 구성 정보를 이용하여, 서버 비밀키를 생성할 수 있다.
이어서, 서버는 IoT 장치에 서버 공개키와 구성 정보를 제공할 수 있다(S30). 여기서 구성 정보는 서버가 IoT 장치에 포함된 PUF 회로의 내부 연결 구조에 대한 정보를 의미할 수 있다.
IoT 장치는 제공받은 서버 공개키와 구성 정보를 이용하여 IoT 비밀키를 복원할 수 있다(S40). 구체적으로, IoT 장치는 내부의 PUF 회로를 기초로, 제공받은 서버 공개키와 구성 정보를 이용하여 IoT 비밀키를 복원할 수 있다.
IoT 장치는 IoT 비밀키를 서버에 제공할 수 있다(S50).
서버는 인증과정을 수행할 수 있다(S60). 구체적으로, 서버는 생성한 서버 비밀키와, 제공받은 IoT 비밀키가 서로 동일한지 여부를 확인할 수 있다.
서버는 인증과정의 출력으로 응답(RES)을 IoT 장치에 제공할 수 있다(S70). 예를 들어, 서버는 서버 비밀키와 IoT 비밀키가 서로 동일한 경우 IoT 장치에 접근 허가의 응답(RES)을 제공할 수 있다. 반대로, 서버는 서버 비밀키와 IoT 비밀키가 서로 동일하지 않은 경우, IoT 장치에 접근 불가의 응답(RES)을 제공할 수도 있다.
상기와 같이, 서버 시스템은 기존에 비해 추가적인 구성 정보를 IoT 장치에 제공할 수 있고, IoT 장치는 구성 정보를 이용해야만 비밀키를 생성할 수 있다. 이에 따라, 서버 시스템에 있어서 보안 성능이 더욱 향상될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 집적 회로
10 : PUF 블록
20 : 변환부
21 : 스테이지
22 : 레이어
30 : 키 생성기
40 : 선택 신호 생성기

Claims (10)

  1. 입력에 따라 고유한 값을 갖는 셀 신호를 출력하도록 구성된 복수의 PUF(Physically Unclonable Function) 셀을 포함하는 PUF 블록;
    상기 셀 신호를 입력받고 변환하여 변환 신호를 출력하는 변환부;
    상기 변환부에 제1 선택 신호를 제공하는 선택 신호 생성기; 및
    상기 변환부로부터 변환 신호를 제공받아 보안 키를 생성하는 키 생성기를 포함하고,
    상기 변환부는,
    제공받은 제1 신호를, 상기 제1 선택 신호의 비트값에 기초하여 상기 제1 신호를 변환한 제2 신호를 출력하는 제1 레이어를 포함하는 집적 회로.
  2. 제1항에 있어서,
    상기 변환부는,
    상기 제2 신호를 변환한 제3 신호를 제공받고, 상기 제3 신호를, 상기 선택 신호 생성기로부터 제공받은 제2 선택 신호의 비트값에 기초하여 상기 제3 신호를 변환한 제4 신호를 출력하는 제2 레이어를 더 포함하는 집적 회로.
  3. 제2항에 있어서,
    상기 제1 선택 신호의 비트값과 상기 제2 선택 신호의 비트값은 서로 다른 집적 회로.
  4. 제1항에 있어서,
    상기 변환부는,
    복수의 제1 논리 게이트를 포함하고, 상기 셀 신호를 입력받아 상기 셀 신호에 대한 논리 연산을 수행하여, 상기 제1 신호를 출력하는 제1 스테이지(stage)와,
    복수의 제2 논리 게이트를 포함하고, 상기 제2 신호를 입력받아 상기 제2 신호에 대한 논리 연산을 수행하여, 제3 신호를 출력하는 제2 스테이지를 더 포함하는 집적 회로.
  5. 입력에 따라 고유한 값을 갖는 셀 신호를 출력하도록 구성된 복수의 PUF(Physically Unclonable Function) 셀을 포함하는 PUF 블록;
    상기 셀 신호를 입력받고 변환하여 변환 신호를 출력하는 변환부;
    상기 변환부에 제1 선택 신호를 제공하는 선택 신호 생성기; 및
    상기 변환부로부터 변환 신호를 제공받아 보안 키를 생성하는 키 생성기를 포함하고,
    상기 변환부는,
    복수의 제1 논리 게이트를 포함하고, 상기 셀 신호를 입력받아 상기 셀 신호에 대한 논리 연산을 수행하여, 제1 신호를 출력하는 제1 스테이지(stage)와,
    복수의 제2 논리 게이트를 포함하고, 상기 제1 신호를 기초로 생성되는 제2 신호를 입력받아 상기 제2 신호에 대한 논리 연산을 수행하여, 제3 신호를 출력하는 제2 스테이지를 포함하되,
    상기 제1 선택 신호를 기초로 상기 제1 스테이지의 적어도 일부의 제1 논리 게이트를 비활성화시키고,
    상기 제1 선택 신호를 기초로 상기 제2 스테이지의 적어도 일부의 제2 논리 게이트를 비활성화시키는 집적 회로.
  6. 제5항에 있어서,
    상기 제1 스테이지에 포함된 상기 제1 논리 게이트의 수와, 상기 제2 스테이지에 포함된 상기 제2 논리 게이트의 수는 동일한 집적 회로.
  7. 제5항에 있어서,
    상기 비활성화된 제1 논리 게이트의 수와, 상기 비활성화된 제2 논리 게이트의 수는 동일한 집적 회로.
  8. 제5항에 있어서,
    상기 변환부는,
    상기 제1 신호를 제공받아 변환하여 상기 제2 신호를 출력하는 제1 레이어를 더 포함하는 집적 회로.
  9. 제1 PUF(Physically Unclonable Function) 셀 및 제2 PUF 셀로부터, 입력에 따라 고유한 값을 갖는 제1 및 제2 셀 신호를 입력받아 제1 신호를 출력하는 제1 XOR 게이트;
    상기 제1 및 제2 PUF 셀과 다른 제3 및 제4 PUF 셀로부터, 입력에 따라 고유한 값을 갖는 제3 및 제4 셀 신호를 입력받아 상기 제1 신호와 다른 제2 신호를 출력하는 제2 XOR 게이트;
    상기 제1 XOR 게이트로부터 상기 제1 신호를 제공받고, 상기 제2 XOR 게이트로부터 상기 제2 신호를 제공받아, 상기 제1 및 제2 신호 중 상기 제1 신호를 출력하는 제1 멀티플렉서(MUX; Multiplexer);
    상기 제1 XOR 게이트로부터 상기 제1 신호를 제공받고, 상기 제2 XOR 게이트로부터 상기 제2 신호를 제공받아, 상기 제1 및 제2 신호 중 상기 제2 신호를 출력하는 제2 멀티플렉서를 포함하되,
    상기 제1 멀티플렉서의 출력은 선택 신호 생성기로부터 제공받은 제1 선택 신호에 의해 결정되고,
    상기 제2 멀티플렉서의 출력은 상기 선택 신호 생성기로부터 제공받은 제2 선택 신호에 의해 결정되고,
    상기 제1 선택 신호와 상기 제2 선택 신호는 서로 다른 집적 회로.
  10. 제9항에 있어서,
    상기 제1 멀티플렉서의 출력을 입력으로 제공받는 제3 XOR 게이트와,
    상기 제2 멀티플렉서의 출력을 입력으로 제공받는 제4 XOR 게이트와,
    상기 제1 및 제2 멀티플렉서의 출력 모두를 입력으로 제공받는 제5 XOR 게이트를 더 포함하는 집적 회로.
KR1020220004399A 2022-01-12 2022-01-12 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로 KR20230108825A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220004399A KR20230108825A (ko) 2022-01-12 2022-01-12 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로
US17/935,314 US20230224172A1 (en) 2022-01-12 2022-09-26 Integrated circuit with physically unclonable function robust to machine learning attacks
CN202211689413.6A CN116432250A (zh) 2022-01-12 2022-12-27 具有物理不可克隆功能的集成电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220004399A KR20230108825A (ko) 2022-01-12 2022-01-12 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로

Publications (1)

Publication Number Publication Date
KR20230108825A true KR20230108825A (ko) 2023-07-19

Family

ID=87069173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220004399A KR20230108825A (ko) 2022-01-12 2022-01-12 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로

Country Status (3)

Country Link
US (1) US20230224172A1 (ko)
KR (1) KR20230108825A (ko)
CN (1) CN116432250A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117010032B (zh) * 2023-10-07 2023-12-15 中国人民解放军国防科技大学 自动读和清零的sram物理不可克隆函数电路及设备

Also Published As

Publication number Publication date
US20230224172A1 (en) 2023-07-13
CN116432250A (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
US10193701B2 (en) Apparatus and method for processing authentication information
Machida et al. A new arbiter PUF for enhancing unpredictability on FPGA
US6226382B1 (en) Method for implementing a private-key communication protocol between two processing devices
US10439828B2 (en) Encoding data for cells in a PUF that corresponds to a response in a challenge response pair
CN111133720B (zh) 在设备之间安全地通信的方法和设备
US20080143561A1 (en) Operation processing apparatus, operation processing control method, and computer program
WO2012001796A1 (ja) 個体別情報生成装置及び個体別情報生成方法
KR20030019308A (ko) 2개의 데이터 처리 유닛의 상호 인증 방법 및 장치
US7512794B2 (en) System and method for authentication
Thangamani et al. A lightweight cryptography technique with random pattern generation
CN113972978A (zh) 使用同态加密的电子设备及其加密数据处理方法
KR20230108825A (ko) 머신 러닝 공격에 강건한 물리적 복제 방지 기능의 집적 회로
Jana et al. Differential fault attack on photon-beetle
Farha et al. Physical unclonable functions based secret keys scheme for securing big data infrastructure communication
Gomez et al. A 65 nm CMOS key establishment core based on tree parity machines
JP2004054128A (ja) 暗号化装置
CN114268447A (zh) 一种文件传输方法、装置、电子设备和计算机可读介质
Halak et al. Hardware-based security applications of physically unclonable functions
Narasimhan et al. Bio‐PUF‐MAC authenticated encryption for iris biometrics
Tariguliyev et al. Reliability and security of arbiter‐based physical unclonable function circuits
Cambou Addressabke PUF generators for database-free password management system
Yashiro et al. A deep learning attack countermeasure with intentional noise for a PUF-based authentication scheme
Zhou et al. Bagua protocol: a whole-process configurable protocol for IoT sensing devices security based on strong PUF
Geltink Concealing KETJE: A lightweight PUF-based privacy preserving authentication protocol
Kumar et al. A keyless secure data aggregation mechanism