KR102356137B1 - 물리적 복제방지 기능 기반 인증 방법 - Google Patents

물리적 복제방지 기능 기반 인증 방법 Download PDF

Info

Publication number
KR102356137B1
KR102356137B1 KR1020190079622A KR20190079622A KR102356137B1 KR 102356137 B1 KR102356137 B1 KR 102356137B1 KR 1020190079622 A KR1020190079622 A KR 1020190079622A KR 20190079622 A KR20190079622 A KR 20190079622A KR 102356137 B1 KR102356137 B1 KR 102356137B1
Authority
KR
South Korea
Prior art keywords
authentication
polynomial
message
challenge
user device
Prior art date
Application number
KR1020190079622A
Other languages
English (en)
Other versions
KR20210003608A (ko
Inventor
김주한
강유성
김병구
오미경
이상재
최두호
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190079622A priority Critical patent/KR102356137B1/ko
Publication of KR20210003608A publication Critical patent/KR20210003608A/ko
Application granted granted Critical
Publication of KR102356137B1 publication Critical patent/KR102356137B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Abstract

본 발명에 따른 물리적 복제방지 기능 기반 인증 방법은, 인증 서버에서 사용자 장치로부터 인증 요청에 대응하는 다항식 계수를 수신하는 단계, 상기 인증 서버에서 상기 다항식 계수에 대응하는 다항식에서 임의의 좌표를 선택 및 인증용 메시지를 생성하는 단계, 상기 인증 서버에서 상기 임의의 좌표 및 인증용 메시지를 상기 사용자 장치로 전송하는 단계, 상기 인증 서버에서 상기 사용자 장치로부터 상기 임의의 좌표 및 상기 인증용 메시지에 대응하는 메시지 인증 코드 값을 수신하는 단계, 및 상기 인증 서버에서 상기 메시지 인증 코드 값을 검증하는 단계를 포함할 수 있다.

Description

물리적 복제방지 기능 기반 인증 방법{PHYSICAL UNCLONABLE FUNCTION BASED AUTHENTICATION METHOD}
본 발명은 물리적 복제방지 기능 기반 인증 방법에 관한 것이다.
최근에, IoT(Internet of Things) 장치들이 증가하고 있다. 이런 IoT 장치를 인증하기 위해 장치 내의 고유한 특성(SRAM, Oscillator, Chip 및 Sensor 등의 오차 등)을 이용하는 PUF(Physical Unclonable Function) 기술들이 급격하게 발전하고 있다. PUF 회로는 반도체 제조 공정에서 발생하는 공정 편차를 이용하여 반도체 칩 내부에 구현된, 예측하기 어려운 랜덤한 디지털 값을 생성하는 회로를 말한다. PUF 회로를 이용하여 키(Key)를 생성할 경우, 보안 장치에 저장되는 인증 키와 같은 중요 키의 복제를 원천적으로 방지할 수 있다.
공개번호: 10-2019-0052631, 공개일: 2019년 5월 16일, 제목: 물리적으로 복제 불가능한 기능의 원격 재등록.
Jeroen Delvaux1 외 3인, "Secure Lightweight Entity Authentication with Strong PUFs: Mission Impossible" CHES 2014. LNCS, vol. 8731, pp. 451-475. Springer, Heidelberg (2014). Matthew D. Dailey, "Authentication Schemes based on Physical Unclonable Functions" https://digitalcommons.wpi.edu/mqp-all/1078/
본 발명의 목적은 신규한 물리적 복제방지 기능 기반의 인증 방법을 제공하는 데 있다.
본 발명의 목적은, 서버에서 CR 쌍의 관리를 간단하게 하는 물리적 복제방지 기능 기반의 인증 방법을 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다
본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 방법은, 인증 서버에서 사용자 장치로부터 인증 요청에 대응하는 다항식 계수를 수신하는 단계; 상기 인증 서버에서 상기 다항식 계수에 대응하는 다항식에서 임의의 좌표를 선택 및 인증용 메시지를 생성하는 단계; 상기 인증 서버에서 상기 임의의 좌표 및 인증용 메시지를 상기 사용자 장치로 전송하는 단계; 상기 인증 서버에서 상기 사용자 장치로부터 상기 임의의 좌표 및 상기 인증용 메시지에 대응하는 메시지 인증 코드 값을 수신하는 단계; 및 상기 인증 서버에서 상기 메시지 인증 코드 값을 검증하는 단계를 포함할 수 있다.
이 때, 상기 다항식 계수는, 상기 사용자 장치의 PUF(Physical Unclonable Function)회로를 통해 임의의 n개의 챌린지(Ci)와 상기 챌린지에 대응하는 리스판스(Ri)를 추출하고, 상기 챌린지와 상기 리스판스 쌍을 x, y의 실수 좌표로 매핑하고, 상기 실수 좌표에 기반하여 생성된 다항식의 계수일 수 있다.
이 때, 상기 임의의 좌표는, 상기 다항식 상에서 임의로 선택된 챌린지일 수 있다.
이 때, 상기 메시지 인증 코드 값은, 상기 사용자 장치의 PUF(Physical Unclonable Function)회로를 통해 상기 임의의 좌표로 선택된 챌린지에 대응하는 리스판스를 포함할 수 있다.
이 때, 상기 메시지 인증 코드 값을 검증하는 단계는, 상기 다항식에 기반하여 상기 인증서버에서 상기 임의의 좌표로 선택된 챌린지에 대응하는 리스판스를 추출하고, 상기 사용자 장치로부터 수신한 상기 메시지 인증 코드 값에 포함된 리스판스를 상호 비교하여 검증할 수 있다.
또한, 본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 장치는, 임의의 n개의 챌린지(Ci) 값을 생성하는 난수 발생기, 상기 n개의 챌린지 값을 저장하는 메모리 장치, 상기 n개의 챌린지 값에 각각 대응하는 n개의 리스판스(Ri) 값을 생성하는 PUF(Physical Unclonable Function) 회로, 상기 n개의 챌린지 값과 상기 n개의 리스판스 값들을 기반으로 다항식을 생성하는 다항식 생성기 및 인증 장치 고유의 ID정보를 포함하는 메시지 인증 코드 값을 생성하고, 상기 메시지 인증 코드 값을 인증 서버로 전송하는 해쉬 생성기를 포함한다.
이 때, 상기 다항식 생성기는, 상기 n개의 챌린지 값과 상기 n개의 리스판스 값을 x, y의 실수 좌표로 매핑하고, 상기 실수 좌표에 기반하여 다항식을 생성할 수 있다.
이 때, 상기 다항식 생성기는, 생성된 상기 다항식의 계수와 상기 인증 장치 고유의 ID정보를 상기 인증 서버로 전송할 수 있다.
이 때, 상기 메시지 인증 코드 값은, 인증 서버로부터 수신한 인증용 메시지에 대응하여 생성될 수 있다.
이 때, 상기 인증용 메시지는, 임의의 특정 챌린지 값을 포함하고, 상기 PUF 회로는, 상기 임의의 특정 챌린지 값에 대응하는 리스판스 값을 생성하고, 상기 해쉬 생성기는, 상기 생성된 리스판스 값을 포함하여 메시지 인증 코드 값을 생성하고, 상기 메시지 인증 코드 값을 상기 인증 서버에 전송할 수 있다.
본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 방법은, 인증 서버가 항상 n개의 다항식 계수 만을 저장하고, 사용자 장치가 n개의 챌린지(C)만을 저장하고, 인증 서버에서 쉽고 빠르게 장치 인증을 수행할 수 있다.
또한, 본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 방법은, 인증 서버가 PUF 기능이 있는 장치를 인증할 때, 필요한 CR 쌍의 수집 및 관리가 필요 없는 간편한 인증을 제공할 수 있다.
또한, 본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 방법은, 공격자가 CR 쌍에 대한 정보를 획득할 수 없기 때문에 PUF에 대한 모델링 공격에 강인하다.
또한, 본 발명의 실시 예에 따른 물리적 복제방지 기능 기반 인증 방법은, 별도의 보안 영역(키를 저장하기 위한) 등이 없는 보안성이 상대적으로 떨어지는 저사양의 장치에서 충분히 이용 가능하다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 일반적인 PUF(Physical Unclonable Function) 관련 인증 시스템(10)을 보여주는 도면이다.
도 2은 본 발명의 실시 예에 따른 PUF 기반 인증 시스템(20)을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 PUF 기반 사용자 장치를 예시적으로 보여주는 도면이다.
도 4는 CR(Challenge-Response) 값을 실수 좌표로 변환 및 계산된 다항식을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 사용자 장치와 서버 간의 초기 설정 과정을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 키 교환 및 장치 인증 과정을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 다항식 계수 업데이트 프로토콜을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 CR 쌍의 초기 셋팅(등록) 과정을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 키 교환 및 장치 인증 과정을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일반적인 PUF(Physical Unclonable Function) 관련 인증 시스템(10)을 보여주는 도면이다. 도 1을 참조하면, 인증 시스템(10)은 사용자 장치(11) 및 인증 서버(13)를 포함할 수 있다.
일반적으로, 사용자 장치(11)의 PUF 회로(12)는 사용자 장치(10) 내의 고유한 특성을 반영하여 구현된다. 인증 서버(13)가 사용자 장치(11)의 PUF 회로(12)를 통해 인증하기 위해서, 인증 서버(13)는 대응하는 사용자 장치(11)의 PUF 회로(12)의 모든 CR(Challenge-Response) 쌍을 갖고 있어야 한다. 일반적으로 인증 동작은 다음과 같이 진행된다. 인증 서버(13)는 임의의 챌린지(Ci)를 사용자 장치(11)로 전송하고, 사용자 장치(11)의 PUF 회로(12)가 올바른 리스판스(Ri)를 보냈는지를 확인함으로써 인증한다.
따라서, PUF 회로(12)을 이용하여 인증에 사용하는 인증 서버(200)는 초기 설정 단계에서 PUF 회로(12)과 연결되어 모든 CR 쌍((C0,R0), (C1,R1), (C2,R2), (C3,R3), ... , (CN-1,RN-1), N은 자연수)을 수집하고, 저장하고 있어야 한다. 이 때문에 사용자 장치의 개수가 증가할수록 각 사용자 장치 내의 PUF 회로에 대한 CR 쌍을 수집 및 관리해야 하는 인증 서버(13)는, 이러한 CR 쌍의 수집 시간 및 관리 저장 공간에 대한 큰 부담을 갖는다.
본 발명의 실시 예에 따른 인증 시스템은, PUF 기반 인증 서버가 CR 쌍을 수집 및 관리하지 않아도 되는 간편한 인증 방식을 제공할 수 있다.
본 발명의 실시 예에 따른 인증 시스템은, 모든 CR(Challenge-Response) 쌍을 공유하지 않고 임의로 선택된 n개의 CR 쌍을 근거로 하여 생성된 다항식의 계수를 사용자 장치와 인증 서버가 공유함으로써, 인증을 수행할 수 있다.
도 2는 본 발명의 실시 예에 따른 인증 시스템(20)을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 인증 시스템(20)은 사용자 장치(100) 및 인증 서버(200)를 포함할 수 있다.
사용자 장치(100)는 PUF 회로(130)에 의해 CR 쌍을 생성하고, 임의의 CR 쌍 중에서 n개를 선택하여, 다항식 생성기(POL, 140)에 의해 n개의 CR 쌍에 대응하는 다항식을 생성하고, 생성된 다항식에 대응하는 다항식 계수들(a0, a1, ... , an-1)를 인증 서버(200)로 전송할 수 있다.
도 3은 본 발명의 실시 예에 따른 사용자 장치(100)를 예시적으로 보여주는 도면이다. 도 3을 참조하면, 사용자 장치(100)는 난수 발생기(PRNG; 110), 메모리 장치(NVM, 120), PUF 회로(130), 다항식 생성기(POL, 140), 및 해쉬 생성기(HASH, 150)를 포함할 수 있다.
난수 발생기(110)는 복수의 챌린지 값들(C1, C2, ... , Cn)을 생성할 수 있다.
메모리 장치(120)는 복수의 챌린지 값들(C1, C2, ... , Cn)을 저장할 수 있다. 여기서 메모리 장치(120)는 비휘발성 메모리 장치로 구현될 수 있다.
PUF 회로(130)는 복수의 챌린지 값들(C1, C2, ... , Cn)의 각각에 대응하는 리스판스 값들(r1, r2, ... , rn)을 생성할 수 있다.
다항식 생성기(140)는 메모리 장치(120)에 저장된 복수의 챌린지 값들(C1, C2, ... , Cn)과 PUF 회로(130)에서 생성된 복수의 리스판스 값들(r1, r2, ... , rn)을 수신하고, 임의의 CR 쌍 n개를 선택하고, 선택된 (C1,R1),…, (Cn,Rn)을 실수 좌표로 매핑되고, 보간법을 이용하여 실수 좌표들을 n-1차의 다항식으로 계산할 수 있다.
도 4는 본 발명의 실시 예에 따른 CR 값을 실수 좌표로 변환 및 계산된 다항식을 예시적으로 보여주는 도면이다. 도 4에 도시된 바와 같이 다항식이 생성되면, 다항식 생성기(140)는 관련된 다항식 계수들(a0, a1, ... , an-1)을 인증 서버(200)로 전송할 수 있다. 즉, 인증 서버(200)에 인증을 위한 다항식 계수가 배포될 수 있다.
실시 예에 있어서, 사용자 장치(100)는 n개의 챌린지(C) 리스트만 저장할 수있다. 생성된 다항식은 삭제될 수 있다.
실시 예에 있어서, 사용자 장치(100)는 C 리스트를 PUF 회로(130)를 통해 리스판스(R) 리스트를 확보하고, 이를 통해 다시 다항식을 만들어 인증 동작에 사용할 수 있다.
도 5는 본 발명의 실시 예에 따른 인증 시스템(20)의 초기 설정 과정을 예시적으로 보여주는 래더 다이어그램이다.
임의의 사용자 장치(도 2 참조, 100)의 초기화 과정은 다음과 같다. 사용자임의의 장치(100)는 CR 쌍 중에서 n개를 선택할 수 있다(S110). 사용자 장치(100)는 선택된 n개의 CR 값들을 실수 좌표로 변경할 수 있다(S120). 사용자 장치(100)는 실수 좌표에 대응하는 다항식을 계산할 수 있다(S130). 이후, 사용자 장치(100)는 생성된 다항식에 대응하는 다항식 계수들(a0, a1, ... , an-1)을 인증 서버(200)로 전송할 수 있다(S140). 이후에 사용자 장치(100)는 n개의 C값들을 비휘발성 메모리(NVM)에 저장할 수 있다(S150).
인증 서버(200)의 초기화 과정은 다음과 같다. 인증 서버(200)는 사용자 장치(100)로부터 장치 정보(ID 등)와 다항식 계수를 수신 받고, 이것들을 저장할 수 있다(S160).
도 6은 본 발명의 실시 예에 따른 인증 시스템(20)의 키 교환 및 인증 프로토콜을 예시적으로 보여주는 래더 다이어그램이다. 도 6을 참조하면, 키 교환 및 인증 프로토콜은 다음과 같이 진행될 수 있다.
사용자 장치(100)는 사용 전에 인증 서버(200)와 안전하게 연결되어 임의의 CR 쌍 n개로 다항식을 계산하고(S, 다항식 계수를 인증 서버(200)으로 전송하고, 이를 수신한 인증 서버(200)는 다항식 계수와 사용자 장치(100)의 디바이스 ID를 함께 저장할 수 있다. 사용자 장치(100)는 인증 서버(200)로부터 인증 요청을 수신할 수 있다. 사용자 장치(100)는 이에 대응하는 응답으로 자신의 ID를 인증 서버(200)로 전송할 수 있다.
인증 서버(200)는 사용자 장치(100)의 ID로 저장된 계수들을 검색하고, 다항식(f)을 구성하고, 다항식(f) 상의 임의의 x 좌표를 선택하고(S210), 임의의 인증용 메시지(msg)를 생성한 후에(S220)에, 인증을 위하여 좌표(x)와 메시지(msg)을 사용자 장치(100)로 전송할 수 있다.
사용자 장치(100)는 PUF 회로(130)에 의해 n개의 C 값들을 이용하여 R 값들을 생성할 수 있다. 사용자 장치(100)는 인증 서버(200)로부터 (x, msg)를 수신하고, 다항식(f)에 x값을 입력하여 나온 결과인 키(y)를 생성하고(S230), 인증 서버(200)가 보낸 인증용 메시지(msg, 예, nonce)와 키(y)을 HMAC(혹은, 해쉬 생성기(도 1 참조, 150) 입력하여 생성된 인증값(mac = HMAC(y,msg))을 생성할 수 있다(S240). 여기서 메시지 인증 코드값(mac)은 인증 응답으로 인증 서버(200)로 전송될 수 있다.
이후에, 인증 서버(200)는 사전에 보낸 좌표(x)를 통해 다항식(f)에 입력함으로써 키(y)을 생성하고(S250), 전송된 메시지(msg)값과 키(y)를 HMAC에 입력하여계산된 메지시 인증 코드값과 사용자 장치(100)로부터 수신된 인증 응답의 mac 값을 비교함으로써 인증 코드 값을 검증할 수 있다(S260). 상술된 비교 결과가 일치한다면, 사용자 장치(100)의 인증이 완료될 수 있다.
본 발명의 실시 예에 따른 인증 시스템(10)은 임의로 선택된 n개의 CR 쌍 만을 이용하여 인증하는 방법을 제공할 수 있다. 다항식이 실수 기반으로 충분한 인증 횟수를 보장하지만, 필요에 의해 다항식을 변경할 수 있다.
도 7은 본 발명의 실시 예에 따른 인증 시스템(20)의 다항식 계수 업데이트 프로토콜을 예시적으로 보여주는 래더 다이어그램이다. 도 7을 참조하면, 다항식 계수 업데이트 과정은 다음과 같이 진행될 수 있다.
임의의 사용자 장치(100, 도 2 참조)는 인증 서버(200)로부터 다항식 계수 업데이트 요청을 수신할 수 있다. 이에 따라 사용자 장치(100)는 장치 식별 번호(IDk)와 동작를 개시 인증을 위한 인증 메시지(msg)를 답신(ACK)으로 인증 서버(200)에 전송할 수 있다.
인증 서버(200)는 장치 식별 번호(IDk)에 대응하는 다항식(f) 상의 임의의 좌표(x)를 선택하고(S310), 키(y=f(x))를 생성하고, 인증값(mac=HMAC(y,msg)을 생성한 후에(S320), 좌표(x)와 메시지 인증 코드값(mac)을 사용자 장치(100)로 전송할 수 있다.
사용자 장치(100)는 인증 서버(200)로부터 좌표(x)와 메시지 인증 코드값(mac)을 수신한 후에 메시지 인증 코드값(mac)이 옳은지 검증할 수 있다(S330). 사용자 장치(100)는 키(y=f(x))를 생성하고, 인증값(mac=HMAC(y,msg)을 생성한 후에, 생성된 인증값(HMAC(y,msg))와 인증 서버(200)로부터 수신된 메시지 인증 코드값(mac)이 동일한 지를 판별할 수 있다.
만일, 인증값이 적합하다면, 사용자 장치(100)는 다항식 계수 업데이트 동작을 개시할 수 있다. 우선 사용자 장치(100)는 난수 발생기(PRNG, 110)로부터 n개의 챌린지(c) 값들을 생성하고(S340), PUF 회로(130)에서 n개의 챌린지(c) 값들에 대응하는 리스판스(r) 값들을 생성하(S350), CR 쌍을 이용하여 새로운 다항식를 생성할 수 있다(S360).
이후에, 사용자 장치(100)는 키값을 이용하여 새로운 다항식 계수를 암호화시키고(S370), 이를 응답(SEC = ENC(y,(a0,a1, ... , an-1))으로 인증 서버(200)로 전송 할 수 있다.
이후에, 인증 서버(200)는 암호화된 다항식 계수(sec)를 사용자 장치(100)로부터 수신하고, 이를 키(y)를 이용하여 복호화(DEC(y,sec))할 수 있다(S380). 인증 서버(200)는 복호화된 다항식 계수(a0, a1, ... , an-1)를 사용자 장치(100)의 새로운 다항식 계수로 저장할 수 있다(S390).
한편, 각 사용자 장치에서 다항식을 생성할 때, c값들이 동일하더라도 각각의 PUF 출력이 동일하지 않으므로 각 장치 별로 각기 다른 다항식이 생성될 수 있다. 인증 서버(200)에서 각 장치에 동일한 x를 전송하더라도, PUF 회로의 영향으로 각기 다른 키(y)가 생성될 수 있다.
한편, 일반적인 PUF 사용 방법처럼, 인증 서버(200)에서 사용자 장치(100)의 PUF의 CR 쌍들을 수집하고, 이를 이용하는 방법도 가능하다.
도 8은 본 발명의 실시 예에 따른 사용자 장치의 CR 쌍 초기 등록 과정을 예시적으로 보여주는 래더 다이어그램이다. 도 8을 참조하면, 인증 서버(200)에서 사용자 장치(100)의 CR 쌍을 수집 및 저장하는 과정은 다음과 같이 진행될 수 있다.
인증 서버(200)는 CRP 수집 대상이 되는 사용자 장치(100)에 대응하는 장치 식별 번호(IDk)를 생성할 수 있다(S410). 인증 서버(200)는 장치 식별 번호(IDk)를 사용자 장치(100)로 전송할 수 있다.
사용자 장치(100)는 장치 식별 번호(IDk)가 자신의 장치 식별 번호인지를 확인하고(S420), 대응하는 CRP(Challenge-Response Pair)를 인증 서버(200)로 전송할 수 있다.
인증 서버(200)는 수신된 장치 식별 번호(IDk) 및 CRP(ci,ri)를 저장할 수 있다(S430). 여기서 ci는 사용자 장치(100)의 난수 발생기(PRNG)에 의해 생성된 챌린지 값이고, ri는 사용자 장치(100)의 PUF 회로에서 생성된 챌린지 값(ci)에 대응하는 리스판스 값이다.
한편, 본 발명의 실시 예에 따른 인증 시스템(20)은 인증을 수행할 때마다 임의의 C 값을 전송할 수도 있다.
도 9는 본 발명의 실시 예에 따른 인증 시스템(20)의 키 교환 및 장치 인증 과정을 예시적으로 보여주는 래더 다이어그램이다.
임의의 사용자 장치(100, 도 2 참조)는 인증 서버(200)로부터 인증 요청을 수신할 수 있다. 이에 따라 사용자 장치(100)는 장치 식별 번호(IDk)를 답신(ACK)으로 인증 서버(200)에 전송할 수 있다.
인증 서버(200)는 장치 식별 번호(IDk)에 대응하는 n개의 <C,R> 쌍을 선택하고, 다항식(f) 상의 임의의 좌표(x)를 선택하고(S510), 인증을 위한 메시지(msg)를 생성한 후에(S520), 선택된 n개의 챌린지 값(c[1, ... , n], 좌표(x)와 메시지 인증 코드값(mac)을 사용자 장치(100)로 전송할 수 있다.
사용자 장치(100)는 PUF 회로(130)에서 인증 서버(200)로부터 수신된 n개의 챌린지 값들을 이용하여 리스판스(R) 값들을 생성하고(S530), 다항식 생성기(140)에서 CR 값들을 실수 좌표로 변경하고(S540), 다항식(f)를 생성하고(S550), 키(y=f(x))를 계산하고(S560), 인증값(mac=HMAC(y,msg)을 생성한 후(S570)에, 메시지 인증 코드값(mac)을 응답 메시지로 인증 서버(200)로 전송할 수 있다.
이후에, 인증 서버(200)는 사용자 장치(100)로부터 응답(mac)을 수신한 후, 키(y=f(x))를 계산하고(S580), 키(y)와 메시지(msg)로부터 인증 검증값(HMAC(y,msg))을 생성하고, 생성된 인증 검증값(HMAC(y,msg))와 사용자 장치(100)로부터 수신된 메시지 인증 코드값(mac)이 동일한 지를 판별할 수 있다(S590).
한편, 도 9에 도시된 바와 같이, 매번 인증 시에 임의의 C들을 전송할 수도 있지만, 간단한 프로토콜의 추가 및 변경을 통해 한 번 생성된 다항식을 일정 기간 사용하는 방법을 사용할 수도 있다. 다항식의 x 구간이 실수라 다항식의 해가 무수히 존재하기 때문이다. 따라서, 초기 셋팅 시에 서버는 기존의 PUF 방식처럼 CR쌍을 수집하는 방식에 있어서도 기존의 PUF 방식처럼 많은 량의 CR쌍을 수집할 필요가 없다.
일반적인 PUF 기술들은 225개 CR쌍 저장이 현실적이라 언급하고 있다. CR가 각각 32비트이면, PUF하나의 CR쌍을 저장하기 위해서는 최소 256MB의 용량이 필요하며, 초기에 이를 수집하기 위한 시간도 많이 필요할 것으로 예상된다. 특히, IoT 분야 등에서는 PUF 장치들이 기하 급수적으로 증가할 것으로 예상되며 이를 기존의 PUF 기술 방식대로 사용하면 데이터베이스 용량 및 비용의 급격한 증가가 필요하다.
본 발명의 서버는 항상 n개의 다항식 계수 만을 저장하면 되고 장치 또한 n개의 C만을 저장하고 있으면 서버에서 쉽고 빠르게 장치 인증이 가능하다. 따라서, 본 발명은 서버가 PUF 기능이 있는 장치를 인증할 때 필요한 CR 쌍의 수집 및 관리가 필요 없는 간편한 인증을 제공할 수 있다.
또한, 공격자가 CR 쌍에 대한 정보를 획득할 수 없어 PUF에 대한 모델링 공격에 강인하며, 별도의 보안 영역(키를 저장하기 위한) 등이 없는 보안성이 상대적으로 떨어지는 저사양의 장치에서도 충분히 이용 가능하다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 이용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10, 20: 인증 시스템
11, 100: 사용자 장치
13, 200: 인증 서버
110: 난수 발생기
120: 메모리 장치
130: PUF 회로
140: 다항식 발생기
150: 해쉬 생성기

Claims (10)

  1. 삭제
  2. 물리적 복제방지 기능 기반 인증 방법에 있어서,
    인증 서버에서 사용자 장치로부터 인증 요청에 대응하는 다항식 계수를 수신하는 단계;
    상기 인증 서버에서 상기 다항식 계수에 대응하는 다항식에서 임의의 좌표를 선택 및 인증용 메시지를 생성하는 단계;
    상기 인증 서버에서 상기 임의의 좌표 및 인증용 메시지를 상기 사용자 장치로 전송하는 단계;
    상기 인증 서버에서 상기 사용자 장치로부터 상기 임의의 좌표 및 상기 인증용 메시지에 대응하는 메시지 인증 코드 값을 수신하는 단계; 및
    상기 인증 서버에서 상기 메시지 인증 코드 값을 검증하는 단계를 포함하고,
    상기 다항식 계수는,
    상기 사용자 장치의 PUF(Physical Unclonable Function)회로를 통해 임의의 n개의 챌린지(Ci)와 상기 챌린지에 대응하는 리스판스(Ri)를 추출하고, 상기 챌린지와 상기 리스판스 쌍을 x, y의 실수 좌표로 매핑하고, 상기 실수 좌표에 기반하여 생성된 다항식의 계수인 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 방법.
  3. 청구항 2에 있어서,
    상기 임의의 좌표는,
    상기 다항식 상에서 임의로 선택된 챌린지인 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 방법.
  4. 청구항 3에 있어서,
    상기 메시지 인증 코드 값은,
    상기 사용자 장치의 PUF(Physical Unclonable Function)회로를 통해 상기 임의의 좌표로 선택된 챌린지에 대응하는 리스판스를 포함하는 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 방법.
  5. 청구항 4에 있어서,
    상기 메시지 인증 코드 값을 검증하는 단계는,
    상기 다항식에 기반하여 상기 인증서버에서 상기 임의의 좌표로 선택된 챌린지에 대응하는 리스판스를 추출하고, 상기 사용자 장치로부터 수신한 상기 메시지 인증 코드 값에 포함된 리스판스를 상호 비교하여 검증하는 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 방법.
  6. 임의의 n개의 챌린지(Ci) 값을 생성하는 난수 발생기;
    상기 n개의 챌린지 값을 저장하는 메모리 장치;
    상기 n개의 챌린지 값에 각각 대응하는 n개의 리스판스(Ri) 값을 생성하는 PUF(Physical Unclonable Function) 회로;
    상기 n개의 챌린지 값과 상기 n개의 리스판스 값들을 기반으로 다항식을 생성하는 다항식 생성기; 및
    인증 장치 고유의 ID정보를 포함하는 메시지 인증 코드 값을 생성하고, 상기 메시지 인증 코드 값을 인증 서버로 전송하는 해쉬 생성기;
    를 포함하되,
    상기 메시지 인증 코드 값은,
    인증 서버로부터 수신한 인증용 메시지에 대응하여 생성되고,
    상기 인증용 메시지는,
    임의의 특정 챌린지 값을 포함하고,
    상기 PUF 회로는,
    상기 임의의 특정 챌린지 값에 대응하는 리스판스 값을 생성하고,
    상기 해쉬 생성기는,
    상기 생성된 리스판스 값을 포함하여 메시지 인증 코드 값을 생성하고, 상기 메시지 인증 코드 값을 상기 인증 서버에 전송하는, 물리적 복제방지 기능 기반 인증 장치.
  7. 청구항 6에 있어서,
    상기 다항식 생성기는,
    상기 n개의 챌린지 값과 상기 n개의 리스판스 값을 x, y의 실수 좌표로 매핑하고, 상기 실수 좌표에 기반하여 다항식을 생성하는 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 장치.
  8. 청구항 6에 있어서,
    상기 다항식 생성기는,
    생성된 상기 다항식의 계수와 상기 인증 장치 고유의 ID정보를 상기 인증 서버로 전송하는 것을 특징으로 하는 물리적 복제방지 기능 기반 인증 장치.
  9. 삭제
  10. 삭제
KR1020190079622A 2019-07-02 2019-07-02 물리적 복제방지 기능 기반 인증 방법 KR102356137B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190079622A KR102356137B1 (ko) 2019-07-02 2019-07-02 물리적 복제방지 기능 기반 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190079622A KR102356137B1 (ko) 2019-07-02 2019-07-02 물리적 복제방지 기능 기반 인증 방법

Publications (2)

Publication Number Publication Date
KR20210003608A KR20210003608A (ko) 2021-01-12
KR102356137B1 true KR102356137B1 (ko) 2022-01-28

Family

ID=74129477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190079622A KR102356137B1 (ko) 2019-07-02 2019-07-02 물리적 복제방지 기능 기반 인증 방법

Country Status (1)

Country Link
KR (1) KR102356137B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019040651A1 (en) 2017-08-24 2019-02-28 T-Central, Inc. SECURE COMMUNICATION OF IOT DEVICE FOR VEHICLE

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3226460A1 (en) * 2016-04-01 2017-10-04 Institut Mines-Telecom Secret key estimation methods and devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019040651A1 (en) 2017-08-24 2019-02-28 T-Central, Inc. SECURE COMMUNICATION OF IOT DEVICE FOR VEHICLE

Also Published As

Publication number Publication date
KR20210003608A (ko) 2021-01-12

Similar Documents

Publication Publication Date Title
Wazid et al. LAM-CIoT: Lightweight authentication mechanism in cloud-based IoT environment
JP6622795B2 (ja) 動的鍵生成を用いるネットワーク認証システム
Zhang et al. A privacy-aware PUFs-based multiserver authentication protocol in cloud-edge IoT systems using blockchain
Amin et al. An untraceable and anonymous password authentication protocol for heterogeneous wireless sensor networks
US9887976B2 (en) Multi-factor authentication using quantum communication
US8762723B2 (en) Cryptographic security using fuzzy credentials for device and server communications
US9509506B2 (en) Quantum key management
US8510556B2 (en) Authentication method, system, server, and user node
EP2456121A2 (en) Challenge response based enrollment of physical unclonable functions
US11146410B2 (en) Pseudo-random generation of matrices for a computational fuzzy extractor and method for authentication
US20230032099A1 (en) Physical unclonable function based mutual authentication and key exchange
US8972734B2 (en) Symmetric dynamic authentication and key exchange system and method thereof
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
Li et al. Practical threshold multi-factor authentication
US20230045288A1 (en) Puf-protected pseudo-homomorphic methods to generate session keys
CN111654481B (zh) 一种身份认证方法、装置和存储介质
Hossain et al. ICAS: Two-factor identity-concealed authentication scheme for remote-servers
KR102356137B1 (ko) 물리적 복제방지 기능 기반 인증 방법
CN114244531B (zh) 基于强puf的轻量级自更新消息认证方法
Kumar et al. Cryptanalysis and improvement of mutual authentication protocol for real-time data access in industrial wireless sensor networks
US11165594B2 (en) Reverse computational fuzzy extractor and method for authentication
CN116055136A (zh) 一种基于秘密共享的多目标认证方法
KR101924138B1 (ko) 트리 기반 다중 사물인터넷 디바이스의 동시 인증을 위한 시스템 및 방법
US10469267B2 (en) Method of managing implicit certificates using a distributed public keys infrastructure
Hughes et al. Multi-factor authentication using quantum communication

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant