KR102539418B1 - Apparatus and method for mutual authentication based on physical unclonable function - Google Patents

Apparatus and method for mutual authentication based on physical unclonable function Download PDF

Info

Publication number
KR102539418B1
KR102539418B1 KR1020200069204A KR20200069204A KR102539418B1 KR 102539418 B1 KR102539418 B1 KR 102539418B1 KR 1020200069204 A KR1020200069204 A KR 1020200069204A KR 20200069204 A KR20200069204 A KR 20200069204A KR 102539418 B1 KR102539418 B1 KR 102539418B1
Authority
KR
South Korea
Prior art keywords
value
authentication
puf
response
challenge
Prior art date
Application number
KR1020200069204A
Other languages
Korean (ko)
Other versions
KR20210152295A (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 KR1020200069204A priority Critical patent/KR102539418B1/en
Publication of KR20210152295A publication Critical patent/KR20210152295A/en
Application granted granted Critical
Publication of KR102539418B1 publication Critical patent/KR102539418B1/en

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

PUF 기반 상호 인증 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서, 상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계; 상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계 및 상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계를 포함한다.A PUF-based mutual authentication apparatus and method are disclosed. A PUF-based mutual authentication method according to an embodiment of the present invention is a PUF-based mutual authentication method in which each step is performed by a first device, a second device, and an authentication server, wherein the authentication server authenticates the first device. Generating a first authentication response message by performing a first PUF-based encryption operation on the first authentication request message received from the second device that has received the request; authenticating the authentication server by performing, by the second device, a second PUF-based encryption operation on the first authentication response message, and generating a second authentication response message; authenticating the authentication server and the second device by performing, by the first device, a third PUF-based encryption operation on the second authentication response message, and generating a second authentication request message; Authenticating, by the second device, the first device by performing a fourth PUF-based encryption operation on the second authentication request message and generating a third authentication request message; and, by the authentication server, performing the third authentication and performing a fifth PUF-based encryption operation on the request message to authenticate the first device and the second device and updating challenge-response pairs used in the first PUF-based encryption operation.

Description

PUF 기반 상호 인증 장치 및 방법 {APPARATUS AND METHOD FOR MUTUAL AUTHENTICATION BASED ON PHYSICAL UNCLONABLE FUNCTION}PUF-based mutual authentication device and method {APPARATUS AND METHOD FOR MUTUAL AUTHENTICATION BASED ON PHYSICAL UNCLONABLE FUNCTION}

본 발명은 IoT 기술에 관한 것으로, 보다 상세하게는 IoT 환경에서 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 상호 인증 기술에 관한 것이다.The present invention relates to IoT technology, and more particularly, to a PUF (PHYSICAL UNCLONABLE FUNCTION) based mutual authentication technology in an IoT environment.

최근 IoT 기술이 발전함에 따라 스마트 홈, 스마트 카, 스마트 팩토리 등 다양한 분야에서 인간의 생활에 편리함을 제공해주는 다양한 디바이스 및 서비스가 등장하고 있다. 그러나, IoT 디바이스는 IoT 환경이 보안 취약점이나 보안 위협에 쉽고 널리 노출되어 있기 때문에 해킹 사례가 빈번히 보고되고 있으며, 이로 인한 경제적, 사회적 손실이 날이 갈수록 커져가고 있다. 대부분의 IoT 디바이스들은 전원 및 리소스의 제약으로 인해 기존의 PC나 서버에서 사용되는 보안 기술을 그대로 적용할 수 없어, 경량화된 보안 기술이나 최소한의 보안 기능만을 적용하거나, 아예 아무런 보안 기능도 적재하지 않고 운영되고 있다.Recently, with the development of IoT technology, various devices and services that provide convenience to human life are appearing in various fields such as smart homes, smart cars, and smart factories. However, since IoT devices are easily and widely exposed to security vulnerabilities or security threats, hacking cases are frequently reported, resulting in economic and social losses increasing day by day. Most IoT devices cannot apply the security technology used in existing PCs or servers as they are due to power and resource constraints. It is operating.

또한, 엄청나게 많은 수의 디바이스들이 24시간 인터넷에 연결되어 있고, 물리적으로 쉽게 접근 가능한 환경에 설치되어 있어서 해커들의 먹잇감이 되고 있다. In addition, a huge number of devices are connected to the Internet 24 hours a day and are installed in an easily physically accessible environment, making them prey for hackers.

또한, IoT 디바이스는 사용자 인터페이스도 매우 불편하고, 새롭게 발견된 취약점에 대한 보안 패치 적용도 어려워 보안 관리가 제대로 이루어지고 있지 않아, 해킹에 의한 정보 유출, DDoS 공격(Distributed Denial of Service Attack), 불법 복제나 위변조로 인한 피해 등 보안 사고는 끊임없이 발생하고 있다.In addition, IoT devices have very inconvenient user interfaces, and it is difficult to apply security patches for newly discovered vulnerabilities, so security management is not properly performed. Security incidents, such as damage caused by forgery or alteration, are constantly occurring.

이러한 상황에서 하드웨어 기반 보안 기술인 PUF(PHYSICAL UNCLONABLE FUNCTION)가 주목받고 있다. 도 1은 PUF 기술의 기본 개념을 나타낸 도면이다. PUF 기술은 마치 인간의 지문이나 홍채와 같은 생체 정보처럼 각각의 디바이스가 하드웨어 고유의 특성을 가질 수 있는 기술로써, 동일한 제조 공정으로 만들어진 디바이스라고 할지라도 다른 특성을 가질 수 있도록 하는 디지털 핑거프린트(Digital Fingerprint) 기술이다. 즉, 아무리 똑같은 방법으로 디바이스를 만들어도 절대로 그 고유한 특성만큼은 복제할 수 없는 기술이다. In this situation, PUF (PHYSICAL UNCLONABLE FUNCTION), a hardware-based security technology, is attracting attention. 1 is a diagram showing the basic concept of PUF technology. PUF technology is a technology in which each device can have hardware-specific characteristics, such as biometric information such as human fingerprint or iris. Fingerprint) technology. In other words, it is a technology that cannot be replicated as much as its unique characteristics no matter how much a device is made in the same way.

IoT 디바이스는 다양한 방법을 활용하여 구현된 복제 불가능한 PUF를 필요할 때만 사용할 수 있다. 즉, IoT 디바이스는 PUF를 통해 만들어진 비밀 키와 같은 중요 정보는 메모리와 같은 별도의 저장공간에 저장하지 않고, 필요할 때마다 생성하여 사용한 후 바로 삭제하여 정보 노출 위험을 원천적으로 차단한다. 따라서, PUF 기술은 IoT 환경의 다양한 응용 분야에 적용할 수 있어 보안성을 크게 향상시킬 수 있다. 정품 인증, 펌웨어 복제 방지, 디바이스 인증, 고유 식별자 생성, 실시간 보안 키 생성 등이 대표적인 예이다.IoT devices can use non-replicable PUFs implemented using various methods only when necessary. In other words, IoT devices do not store important information such as secret keys created through PUF in a separate storage space such as memory, but generate and use it whenever necessary and then delete it immediately to fundamentally block the risk of information exposure. Therefore, PUF technology can be applied to various application fields in the IoT environment and can greatly improve security. Typical examples include product activation, firmware copy protection, device authentication, unique identifier generation, and real-time security key generation.

특히, PUF 기술은 인증 분야에서 각 디바이스를 식별하기 위한 고유 식별자 및 인증 키를 외부에서 주입하는 과정 없이, 디바이스 내부에서 PUF가 생성될 수 있다. 또한, PUF 기술은 각 식별자 및 인증 키를 저장하기 위한 별도의 내부 비휘발성 메모리를 두지 않아도 되기 때문에, 비용절감 효과도 기대할 수 있다. In particular, in the PUF technology, a PUF can be generated inside a device without externally injecting a unique identifier and an authentication key for identifying each device in the field of authentication. In addition, since the PUF technology does not require a separate internal non-volatile memory for storing each identifier and authentication key, a cost reduction effect can be expected.

도 2는 PUF 기반의 디바이스 인증 기법을 나타낸 도면이다.2 is a diagram illustrating a PUF-based device authentication scheme.

도 2를 참조하면, PUF 기반의 디바이스 인증 기법은 동일한 공정으로 생산된 회로라고 할지라도 같은 입력 값(Challenge)에 대해 서로 다른 출력 값(Response)을 가지므로, 각 PUF의 입력 값과 출력 값의 CRP 쌍(Challenge-Response Pair)은 각 디바이스를 인증하기 위한 수단으로 활용될 수 있다. 즉, 제조 공정 단계에서 디바이스 인증을 위한 CRP 데이터베이스를 인증 서버에 미리 저장 및 구축해 놓고, 인증하고자 하는 디바이스의 PUF를 통해서 생성된 CRP와 비교함으로써, 각각의 디바이스에 대한 인증이 가능하게 된다.Referring to FIG. 2, since the PUF-based device authentication technique has different output values (Response) for the same input value (Challenge) even though circuits produced in the same process, A challenge-response pair (CRP pair) may be used as a means for authenticating each device. That is, by storing and building a CRP database for device authentication in advance in the authentication server in the manufacturing process step and comparing it with the CRP generated through the PUF of the device to be authenticated, authentication for each device is possible.

그러나, 이러한 PUF 기반의 인증 기법은 인증 서버 입장에서 등록된 디바이스마다 상당히 많은 양의 CRP 쌍들을 저장 관리해야 하며, 이는 인증 서버에 등록된 디바이스 수가 증가함에 따라 비례적으로 증가할 것이다. 최근의 대규모(Massive) IoT 환경을 고려하면 디바이스 관리의 어려움은 더욱 가중될 것이다. 또한, 인증 서버가 해킹되었을 때, 관리하고 있는 전체 디바이스에 대한 CRP 데이터베이스가 노출됨으로 보안 상 매우 취약한 구조를 가지고 있다. 마지막으로, 인공 지능 기술이 발전함에 따라 CRP 쌍을 예측할 수 있는 머신 러닝 기반의 모델링 공격(Machine Learning-based Modeling Attack)이 출현하였는데, 이러한 공격에 아주 취약하다고 알려져 있다.However, such a PUF-based authentication scheme requires storage and management of a considerable amount of CRP pairs for each registered device from the viewpoint of the authentication server, which will increase proportionally as the number of devices registered in the authentication server increases. Considering the recent massive IoT environment, the difficulty of device management will increase. Also, when the authentication server is hacked, the CRP database for all managed devices is exposed, so it has a very vulnerable structure in terms of security. Finally, with the development of artificial intelligence technology, machine learning-based modeling attacks that can predict CRP pairs have emerged, and are known to be very vulnerable to these attacks.

따라서, 인증 서버의 CRP 관리 정보 양을 줄여 디바이스 증가에 따른 관리 문제를 해결하고, 서버 해킹 시 발생할 수 있는 CRP 쌍에 대한 노출 피해를 최소화하기 위한 효과적인 인증 기법이 요구된다. 또한 머신 러닝 기반의 모델링 공격을 방어할 수 있는 인증 방안도 요구된다.Therefore, an effective authentication technique is required to reduce the amount of CRP management information in the authentication server, to solve the management problem caused by the increase in devices, and to minimize damage from exposure to the CRP pair that may occur when the server is hacked. In addition, an authentication method capable of defending against machine learning-based modeling attacks is required.

이처럼, PUF 기반의 인증 기법은 디바이스와 서버 간의 기기 인증에 초점을 맞추어 연구가 진행되어 왔다. 그러나, 다양한 IoT 환경에서는 사용자들의 요구가 디바이스와 서버 간(Device-to-Server) 뿐만 아니라 디바이스와 디바이스 간(Device-to-Device)에도 상호인증 및 안전한 데이터 통신을 기대하고 있다. 따라서 PUF 기반의 디바이스와 디바이스 간 상호인증 기술에 대한 개발이 필요한 시점이다.As such, PUF-based authentication techniques have been studied with a focus on device authentication between a device and a server. However, in various IoT environments, users' demands expect mutual authentication and secure data communication not only between devices and servers (Device-to-Server) but also between devices (Device-to-Device). Therefore, it is time to develop PUF-based device-to-device mutual authentication technology.

한편, 한국공개특허 제 10-2013-0019358 호“사물지능통신에서 PUF에 기반한 장치간 보안 인증 장치 및 방법”는 사물지능통신을 위해 PUF 기술을 이용한 장치 간의 보안 인증을 수행하는 방법에 관하여 개시하고 있다.On the other hand, Korean Patent Publication No. 10-2013-0019358 “Security authentication device and method between devices based on PUF in IoT communication” discloses a method for performing security authentication between devices using PUF technology for IoT communication. there is.

본 발명은 디바이스와 디바이스 간 보안 강화를 위한 상호 인증 기법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a mutual authentication scheme for enhancing security between devices.

또한, 본 발명은 디바이스 간 상호 인증을 통한 안전한 통신을 제공하여 보안 취약점 및 보안 위협을 제거하는 것을 목적으로 한다.Another object of the present invention is to eliminate security vulnerabilities and security threats by providing secure communication through mutual authentication between devices.

또한, 본 발명은 보안이 취약한 대규모 IoT 환경에서 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지하여, 경제적, 사회적 손실을 획기적으로 줄이는 것을 목적으로 한다.In addition, an object of the present invention is to prevent security incidents such as information leakage by hacking, DDoS attack, damage due to illegal copying or forgery in a large-scale IoT environment with weak security, thereby dramatically reducing economic and social losses.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은 제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서, 상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계; 상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계 및 상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계를 포함한다.To achieve the above object, a PUF-based mutual authentication method according to an embodiment of the present invention is a PUF-based mutual authentication method in which each step is performed by a first device, a second device, and an authentication server, wherein the authentication server Generating a first authentication response message by performing a first PUF (PHYSICAL UNCLONABLE FUNCTION) based encryption operation on the first authentication request message received from the second device that has received the authentication request of the first device; authenticating the authentication server by performing, by the second device, a second PUF-based encryption operation on the first authentication response message, and generating a second authentication response message; authenticating the authentication server and the second device by performing, by the first device, a third PUF-based encryption operation on the second authentication response message, and generating a second authentication request message; Authenticating, by the second device, the first device by performing a fourth PUF-based encryption operation on the second authentication request message and generating a third authentication request message; and, by the authentication server, performing the third authentication and performing a fifth PUF-based encryption operation on the request message to authenticate the first device and the second device and updating challenge-response pairs used in the first PUF-based encryption operation.

이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 인증 요청 메시지에 포함된 상기 제1 디바이스의 식별 값과 상기 제2 디바이스의 식별 값을 이용하여 기저장된 상기 제1 디바이스의 제1 챌린지-리스폰스 쌍과 기저장된 상기 제2 디바이스의 제2 챌린지-리스폰스 쌍을 획득할 수 있다.At this time, the generating of the first authentication response message may include the first authentication request message of the first device using the identification value of the first device and the identification value of the second device included in the first authentication request message. A challenge-response pair and a pre-stored second challenge-response pair of the second device may be acquired.

이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고, 상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성할 수 있다.In this case, the generating of the first authentication response message may include generating a first secret key by performing a hash operation on a first challenge value and a first response value of the first challenge-response pair, and A second secret key may be generated by hashing the second challenge value and the second response value of .

이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 비밀키를 이용하여 상기 제1 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제1 암호화 값을 생성하고, 상기 제2 비밀키를 이용하여 상기 제2 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제2 암호화 값을 생성할 수 있다.At this time, the generating of the first authentication response message generates a first encryption value obtained by encrypting the nonce value of the first device and the nonce value of the authentication server using the first secret key, and A second encryption value obtained by encrypting the nonce value of the second device and the nonce value of the authentication server using the secret key may be generated.

이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 챌린지 값, 상기 제2 챌린지 값, 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성할 수 있다.In this case, the generating of the first authentication response message may generate the first authentication response message including the first challenge value, the second challenge value, the first encryption value, and the second encryption value. there is.

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고, 상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성할 수 있다.At this time, the generating of the second authentication response message may include performing a PUF operation on the second challenge value to generate a second device response value, performing a hash operation on the second challenge value and the second device response value, and performing a hash operation on the second challenge value. You can generate a device secret key.

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 제2 디바이스의 논스 값을 기저장된 제2 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버를 인증할 수 있다.At this time, the generating of the second authentication response message decrypts the second encryption value using the second device secret key, and converts the decrypted nonce value of the second device to a pre-stored nonce value of the second device. The authentication server may be authenticated based on a result of comparison with

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 기저장된 제1 디바이스의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제2 디바이스의 논스 값을 암호화한 제3 암호화 값을 생성할 수 있다.At this time, the generating of the second authentication response message generates a third secret key by hashing a pre-stored nonce value of the first device and a nonce value of the authentication server decrypted from the second encryption value, A third encryption value obtained by encrypting the nonce value of the second device using a third secret key may be generated.

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.At this time, the generating of the second authentication response message may include the third encryption value, the first challenge value included in the first authentication response message, and the second authentication response message including the first encryption value. can create

이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고, 상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성할 수 있다.In this case, the generating of the second authentication request message may include performing a PUF operation on the first challenge value to generate a first device response value, performing a hash operation on the first challenge value and the first device response value, and performing a hash operation on the first challenge value. You can generate a device secret key.

이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 제1 디바이스의 논스 값을 기저장된 제1 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버와 상기 제2 디바이스를 인증할 수 있다.At this time, in the generating of the second authentication request message, the first encryption value is decrypted using the first device secret key, and the decrypted nonce value of the first device is converted into a pre-stored nonce value of the first device. The authentication server and the second device may be authenticated based on the comparison result.

이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 기저장된 상기 제1 디바이스의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 제2 디바이스의 논스 값을 획득할 수 있다.At this time, the generating of the second authentication request message generates the third secret key by performing a hash operation on a pre-stored nonce value of the first device and a nonce value of the authentication server decrypted from the first encryption value, , It is possible to obtain the nonce value of the second device by decrypting the third encryption value using the third secret key.

이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제2 디바이스의 논스 값 및 상기 인증 서버의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성할 수 있다.At this time, the generating of the second authentication request message generates a third response value for updating the first challenge-response pair, and the third response value and the second The second authentication request message including a fourth encryption value obtained by encrypting the nonce value of the device and the nonce value of the authentication server may be generated.

이 때, 상기 제3 인증 요청 메시지를 생성하는 단계는 상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 제2 디바이스의 논스 값과 기저장된 제2 디바이스의 논스 값을 비교한 결과에 기반하여 상기 제1 디바이스를 인증할 수 있다.At this time, the step of generating the third authentication request message decrypts the fourth encryption value using the third secret key, and the nonce value of the second device decrypted from the fourth encryption value and the pre-stored second encryption value. The first device may be authenticated based on a result of comparing the nonce values of the two devices.

이 때, 상기 제3 인증 요청 메시지를 생성하는 단계는 상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성할 수 있다.At this time, the generating of the third authentication request message generates a fourth response value for updating the second challenge-response pair, and the third response value and the first response value are generated using the second device secret key. 4 The third authentication request message including a fifth encryption value obtained by encrypting a response value and a nonce value of the authentication server may be generated.

이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버의 논스 값과 기저장된 인증 서버의 논스 값을 비교하여 상기 제1 디바이스와 상기 제2 디바이스를 인증할 수 있다.At this time, the step of updating the challenge-response pairs decrypts the fifth encryption value using the second secret key, compares the decrypted nonce value of the authentication server with a pre-stored nonce value of the authentication server, The first device and the second device may be authenticated.

이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성할 수 있다.In this case, the updating of the challenge-response pairs generates a third challenge value by PUF-calculating the third response value decrypted from the fifth encryption value, and PUF-calculating the fourth response value to obtain a fourth challenge value. value can be created.

이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.In this case, the updating of the challenge-response pairs may include updating the first challenge value and the first response value of the first challenge-response pair to the third challenge value and the third response value, and updating the second The second challenge value and the second response value of the challenge-response pair may be updated to the fourth challenge value and the fourth response value.

또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고, 상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고, 상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신한다.In addition, a PUF-based mutual authentication apparatus according to an embodiment of the present invention for achieving the above object includes one or more processors and an execution memory for storing at least one or more programs executed by the one or more processors, wherein the at least one One or more programs receive an authentication request from another device and transmit a generated first authentication request message to an authentication server, and from the authentication server, a first PUF (PHYSICAL UNCLONABLE FUNCTION) based encrypted PUF operation for the first authentication request message A first authentication response message generated by performing is received, a second PUF-based encryption operation is performed on the first authentication response message to authenticate the authentication server, and a second authentication response message is generated to the other device. transmits, receives a second authentication request message generated by performing a third PUF-based encryption operation on the second authentication response message from the other device, and receives a fourth PUF-based encryption operation on the second authentication request message; to authenticate the other device, and generate and transmit a third authentication request message to the authentication server to update challenge-response pairs used in the first PUF-based encryption operation.

또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고, 상기 제2 디바이스로부터 수신한 제2 인증 요청 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신한다.In addition, a PUF-based mutual authentication apparatus according to an embodiment of the present invention for achieving the above object includes one or more processors and an execution memory for storing at least one or more programs executed by the one or more processors, wherein the at least one One or more programs generate a first authentication response message by performing a first PUF (PHYSICAL UNCLONABLE FUNCTION)-based encryption PUF operation on a first authentication request message received from a second device that has received a request for authentication of the first device. 2 transmits to the device, performs a second PUF-based encryption operation on the second authentication request message received from the second device, authenticates the first device and the second device, and uses it for the first PUF-based encryption operation update the challenge-response pairs.

본 발명은 디바이스와 디바이스 간 보안 강화를 위한 상호 인증 기법을 제공할 수 있다.The present invention may provide a mutual authentication scheme for enhancing security between devices.

또한, 본 발명은 디바이스 간 상호 인증을 통한 안전한 통신을 제공하여 보안 취약점 및 보안 위협을 제거할 수 있다.In addition, the present invention can eliminate security vulnerabilities and security threats by providing secure communication through mutual authentication between devices.

또한, 본 발명은 보안이 취약한 대규모 IoT 환경에서 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지하여, 경제적, 사회적 손실을 획기적으로 줄일 수 있다.In addition, the present invention can drastically reduce economic and social losses by preventing security accidents such as information leakage by hacking, DDoS attack, damage caused by illegal copying or forgery in a large-scale IoT environment where security is weak.

도 1은 PUF 기술의 기본 개념을 나타낸 도면이다.
도 2는 PUF 기반의 디바이스 인증 기법을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템을 나타낸 도면이다.
도 4 및 도 5는 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법을 나타낸 시퀀스 다이어그램이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
1 is a diagram showing the basic concept of PUF technology.
2 is a diagram illustrating a PUF-based device authentication scheme.
3 is a diagram illustrating a PUF-based mutual authentication system according to an embodiment of the present invention.
4 and 5 are sequence diagrams illustrating a PUF-based mutual authentication method according to an embodiment of the present invention.
6 is a diagram illustrating a computer system according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clarity.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템을 나타낸 도면이다.3 is a diagram illustrating a PUF-based mutual authentication system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템은 신뢰할 수 있는 중개자로서의 역할을 수행하는 인증 서버와, 상호인증 및 통신의 당사자인 적어도 두 개의 디바이스들을 포함할 수 있다.Referring to FIG. 3 , a PUF-based mutual authentication system according to an embodiment of the present invention may include an authentication server serving as a trusted intermediary and at least two devices that are parties to mutual authentication and communication.

본 발명의 일실시예에 따른 인증 서버는 제조 공정 단계에서 각각의 디바이스에 대한 CRP 쌍들을 CRP 데이타베이스(CRP Database)로 구축하여 저장 및 관리할 수 있다. 인증 서버는 디바이스로부터 인증 요청이 들어오면, CRP 데이터베이스에서 임의로 선택된 Challenge 값을 해당 디바이스로 전달할 수 있다.The authentication server according to an embodiment of the present invention may construct, store, and manage CRP pairs for each device as a CRP database in a manufacturing process step. When an authentication request is received from a device, the authentication server may transfer a randomly selected challenge value from the CRP database to the corresponding device.

본 발명의 일실시예에 따른 디바이스는 수신한 Challenge 값에 대한 Response 값을 PUF(PHYSICAL UNCLONABLE FUNCTION) 연산을 수행하여 생성하고, 인증 서버에 응답할 수 있다.The device according to an embodiment of the present invention may generate a response value for the received challenge value by performing a PUF (PHYSICAL UNCLONABLE FUNCTION) operation, and may respond to the authentication server.

인증 서버는 기저장되어 있는 디바이스 A의 Challenge 값에 대한 Response 값과의 일치 여부를 통해서 디바이스 A를 인증할 수 있다. 이 때, 한번 사용된 CRP 쌍은 중간자 공격(Man-in-the-middle Attack)이나 재사용 공격(Replay Attack) 등을 방지하기 위해서 삭제되고, 절대 재사용되지 않는다.The authentication server may authenticate device A through whether the previously stored challenge value of device A matches the response value. At this time, the CRP pair used once is deleted to prevent a man-in-the-middle attack or a replay attack, and is never reused.

도 3에 도시된 바와 같이, 디바이스는 1)디바이스와 서버간(Device-to-Server) 인증, 2) 디바이스와 디바이스 간(Device-to-Device) 인증이 수행될 수 있고, 사용자는 3)사용자와 서버 간(User-to-Server) 인증, 4)사용자와 디바이스 간(User-to-Device) 인증이 수행될 수 있다.As shown in FIG. 3, the device may perform 1) device-to-server authentication, 2) device-to-device authentication, and the user may perform 3) user Authentication between user-to-server and 4) authentication between user and device (user-to-device) may be performed.

이 때, 본 발명의 일실시예에 따른 인증 서버는 사전 단계로 CRP 데이터베이스를 미리 구축해 놓은 것으로 가정한다. 즉, 인증 서버는 제조 공정 단계에서 생산된 IoT 디바이스로부터 디바이스 식별자와 CRP(Challenge-Response-Pair)를 추출하여 데이터베이스를 구축할 수 있다. 이 때, 각각의 디바이스는 PUF 기반의 고유 식별자와 인증에 필요한 초기 CRP 쌍 하나만을 CRP 데이터베이스에 등록할 수 있다. 이렇게 구축된 데이터베이스는 이후 디바이스와 디바이스 간 인증에 활용될 수 있다. 인증 서버는 디바이스들 마다 초기 1개의 CRP 만을 저장함으로써, 서버의 CRP 를 위한 데이터베이스 저장 공간을 최소화 할 수 있고, 대규모 IoT 환경에서 디바이스 증가에 따른 관리 문제를 해결할 수 있다. 또한 서버 해킹 시 CRP 노출을 최소화하여 전체 디바이스에 대한 CRP 노출 취약점 문제도 해결 할 수 있다.At this time, it is assumed that the authentication server according to an embodiment of the present invention has previously built a CRP database in advance. That is, the authentication server may build a database by extracting a device identifier and a challenge-response-pair (CRP) from the IoT device produced in the manufacturing process step. At this time, each device may register only one pair of a PUF-based unique identifier and an initial CRP required for authentication in the CRP database. The database constructed in this way can then be used for device-to-device authentication. The authentication server can minimize the database storage space for the CRP of the server by storing only one initial CRP for each device, and can solve the management problem due to the increase of devices in a large-scale IoT environment. In addition, by minimizing CRP exposure in case of server hacking, it is possible to solve the CRP exposure vulnerability problem for all devices.

도 4 및 도 5는 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법을 나타낸 시퀀스 다이어그램이다.4 and 5 are sequence diagrams illustrating a PUF-based mutual authentication method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 IoT 환경에서, PUF 기반 상호인증 장치는 적어도 두 개의 디바이스들(디바이스 A(10) 및 디바이스 B(20)) 및 인증 서버(30)에 상응할 수 있다.Referring to FIG. 4 , in an IoT environment according to an embodiment of the present invention, a PUF-based mutual authentication device corresponds to at least two devices (device A 10 and device B 20) and an authentication server 30. can do.

인증 서버(30)는 디바이스 A(10)와 디바이스 B(20) 사이에 상호 인증을 하기 위해 각각의 디바이스가 모두 신뢰할 수 있는 중개자로서 활용될 수 있다.The authentication server 30 may be used as an intermediary in which each device can be trusted to perform mutual authentication between the device A 10 and the device B 20 .

인증 서버(30)는 사전에 생성된 디바이스 식별자와 인증에 필요한 초기 CRP 값을 데이터베이스에서 관리할 수 있다.The authentication server 30 may manage a previously generated device identifier and an initial CRP value required for authentication in a database.

디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)는 상호 인증에 이용되는 챌린지(Challenge) 값에 대한 리스폰스(Response) 값을 암호화하여 전송하므로 해커에 의해 중간에서 도청이나 감청을 원천적으로 차단하여 머신 러닝 기반의 모델일 공격을 막을 수 있다.Device A (10), device B (20), and authentication server (30) encrypt and transmit the response value for the challenge value used for mutual authentication, so hackers can prevent eavesdropping or wiretapping in the middle. can be blocked to prevent machine learning-based model attacks.

또한, 디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)는 상호 인증 프로토콜 수행 중에 세션 키(비밀키)를 공유하여, 인증이 완료된 이후에 디바이스 간 공유된 세션 키(비밀키)로 데이터를 암호화하여 전송함으로써 보다 안전한 데이터 통신을 제공할 수 있다.In addition, the device A 10, the device B 20, and the authentication server 30 share a session key (secret key) during mutual authentication protocol, and the session key (secret key) shared between devices after authentication is completed. By encrypting data and transmitting it, more secure data communication can be provided.

본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은 먼저 디바이스 A(10)인 제1 디바이스가 디바이스 B(20)인 제2 디바이스에게 자신의 디바이스 식별 고유 디바이스 식별자(IDA)와 랜덤 넘버인 논스 값 Nonce(NA)을 포함하는 제1 인증 요청메시지를 송신할 수 있다(S110).In the PUF-based mutual authentication method according to an embodiment of the present invention, first, a first device, which is device A 10, sends a second device, which is device B 20, its device identification unique device identifier (ID A ) and a random number A first authentication request message including a nonce value (N A ) may be transmitted (S110).

디바이스 B(20)는 수신한 제1 인증 요청 메시지에 자신의 고유 디바이스 식별자(IDB)와 랜덤 넘버 Nonce(NB)를 추가하여 인증 서버(30)로 제1 인증 요청 메시지를 송신할 수 있다(S120).Device B 20 may transmit the first authentication request message to the authentication server 30 by adding its own device identifier (ID B ) and random number Nonce (N B ) to the received first authentication request message. (S120).

인증 서버(30)는 디바이스 A(10)의 인증을 요청 받은 디바이스 B(20)로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성할 수 있다(S130).The authentication server 30 may generate a first authentication response message by performing a first PUF-based encryption operation on the first authentication request message received from the device B 20 requested to authenticate the device A 10. (S130).

이 때, 단계(S130)는 상기 제1 인증 요청 메시지에 포함된 디바이스 A(20)의 식별 값과 디바이스 B(20)의 식별 값을 이용하여 기저장된 상기 디바이스 A(10)의 제1 챌린지-리스폰스 쌍과 기저장된 상기 디바이스 B(20)의 제2 챌린지-리스폰스 쌍을 획득할 수 있다.At this time, in step S130, the first challenge of the device A 10 pre-stored using the identification value of the device A 20 and the identification value of the device B 20 included in the first authentication request message A response pair and a pre-stored second challenge-response pair of the device B 20 may be acquired.

이 때, 단계(S130)는 인증 서버(30)가 디바이스 간 상호 인증을 위해서 기저장된 디바이스 A(10)와 B(20)의 식별자(IDA, IDB)에 상응하는 디바이스 A(10)의 초기 CRP 값 (CA1, RA1) 및 디바이스 B(20)의 초기 CRP 값 (CB1, RB1)을 데이터베이스에서 각각 검색하여 획득할 수 있다.At this time, in step S130, the authentication server 30 identifies device A 10 corresponding to identifiers ID A and ID B of devices A 10 and B 20 previously stored for mutual authentication between devices. The initial CRP values (C A1 , R A1 ) and the initial CRP values (C B1 , R B1 ) of the device B 20 may be obtained by searching the database, respectively.

이 때, 단계(S130)는 상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고, 상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성할 수 있다.At this time, in step S130, a first secret key is generated by hashing the first challenge value and the first response value of the first challenge-response pair, and the second challenge value of the second challenge-response pair and A second secret key may be generated by hashing the second response value.

이 때, 단계(S130)는 인증 서버(30)가, 검색된 디바이스 A(10)와 B(20)의 챌린지(Challenge) 값들(CA1, CB1)과 리스폰스(Response) 값들(RA1, RB1)을 이용하여 인증 메시지를 암호화하기 위한 비밀키들(KA1, KB1)을 생성할 수 있다. 이 때, 비밀 키는 대칭 키일 수 있고, 챌린지 값과 리스폰스 값을 조합하여 (Exclusive OR) 해시 함수로 생성될 수 있다.At this time, in step S130, the authentication server 30 determines the challenge values C A1 and C B1 and the response values R A1 and R of the searched devices A 10 and B 20. B1 ) can be used to generate secret keys (K A1, K B1 ) for encrypting the authentication message. In this case, the secret key may be a symmetric key and may be generated by a hash function by combining a challenge value and a response value (Exclusive OR).

이 때, 단계(S130)는 상기 제1 비밀키를 이용하여 상기 디바이스 A(10)의 논스 값과 상기 인증 서버(30)의 논스 값을 암호화한 제1 암호화 값을 생성하고, 상기 제2 비밀키를 이용하여 상기 디바이스 B(20)의 논스 값과 상기 인증 서버(30)의 논스 값을 암호화한 제2 암호화 값을 생성할 수 있다.At this time, in step S130, a first encryption value obtained by encrypting the nonce value of the device A 10 and the nonce value of the authentication server 30 is generated using the first secret key, and the second secret key is generated. A second encryption value obtained by encrypting the nonce value of the device B 20 and the nonce value of the authentication server 30 may be generated using the key.

이 때, 단계(S130)는 인증 서버(30)가 디바이스 인증에 사용할 랜덤 넘버인 논스 값 Nonce(NS)을 생성할 수 있다.At this time, in step S130, the authentication server 30 may generate a nonce value Nonce (N S ) that is a random number to be used for device authentication.

이 때, 단계(S130)는 인증 서버(30)가 제1 비밀 키(KA1)를 이용하여 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 암호화한 제1 암호화 값과, 제2 비밀 키(KB1)를 이용하여 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 논스 값 Nonce(NS)을 암호화한 제2 암호화 값을 생성할 수 있다.At this time, in step S130, the authentication server 30 uses the first secret key (K A1 ) to use the device A 10's nonce value Nonce(N A ) and the authentication server 30's nonce value Nonce (N S ) and the second secret key (K B1 ), the device B 20's nonce value Nonce (N B ) and the authentication server 30's nonce value Nonce (N S ) An encrypted second encryption value may be generated.

이 때, 단계(S130)는 DES, AES 등 여러 대칭 키 암호 방식 중 하나를 선택하여 암호화 알고리즘을 사용하여 암호화를 수행할 수 있고, 디바이스 자원을 고려하여 동작할 수 있다.At this time, in step S130, encryption may be performed using an encryption algorithm by selecting one of several symmetric key encryption methods such as DES and AES, and operation may be performed in consideration of device resources.

이 때, 단계(S130)는 상기 제1 챌린지 값 (CA1), 상기 제2 챌린지 값 (CB1), 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성할 수 있다.At this time, step S130 generates the first authentication response message including the first challenge value (C A1 ), the second challenge value (C B1 ), the first encryption value, and the second encryption value can do.

또한, 인증 서버(30)는 제1 인증 응답 메시지를 디바이스 B(20)에게 송신할 수 있다(S140).Also, the authentication server 30 may transmit a first authentication response message to the device B 20 (S140).

디바이스 B(20)는 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버(30)를 인증하고, 제2 인증 응답 메시지를 생성할 수 있다(S150, S160).Device B 20 may perform a second PUF-based encryption operation on the first authentication response message to authenticate the authentication server 30 and generate a second authentication response message (S150 and S160).

이 때, 단계(S150)는 상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고, 상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성할 수 있다.At this time, in step S150, a second device response value is generated by PUF calculation of the second challenge value, and a second device secret key is generated by hash operation of the second challenge value and the second device response value. can

이 때, 단계(S150)는 디바이스 B(20)가 제2 챌린지 값(CB1)을 PUF 연산하여 제2 디바이스 리스폰스 값(RB1)을 생성할 수 있다(RB1=P(CB1)).At this time, in step S150, the device B 20 may perform a PUF operation on the second challenge value C B1 to generate a second device response value R B1 (R B1 =P(C B1 )). .

이 때, 단계(S150)는 디바이스 B(20)가 제2 챌린지 값(CB1)과 생성된 제2 디바이스 리스폰스 값(RB1)을 이용하여 제1 인증 응답 메시지를 복호화하기 위한 제2 디바이스 비밀키(KB1)를 생성할 수 있다.At this time, step S150 is a second device secret for the device B 20 to decrypt the first authentication response message using the second challenge value (C B1 ) and the generated second device response value (R B1 ). A key (K B1 ) can be generated.

이 때, 단계(S150)는 상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 디바이스 B(20)의 논스 값을 기저장된 디바이스 B(20)의 논스 값과 비교한 결과에 기반하여 상기 인증 서버(30)를 인증할 수 있다.At this time, in step S150, the second encryption value is decrypted using the second device secret key, and the decrypted nonce value of device B 20 is compared with a pre-stored nonce value of device B 20. Based on one result, the authentication server 30 may be authenticated.

이 때, 단계(S150)는 디바이스 B(20)가 제2 디바이스 비밀키(KB1)를 이용하여 제1 인증 응답 메시지의 제2 암호화 값을 복호화하여 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 논스 값 Nonce(NS)을 획득할 수 있다.At this time, in step S150, the device B 20 decrypts the second encryption value of the first authentication response message using the second device secret key (K B1 ), and the nonce value of the device B 20 Nonce(N B ) and the nonce value Nonce (N S ) of the authentication server 30 may be obtained.

이 때, 단계(S150)는 디바이스 B(20)가, 이전 제1 인증 요청 메시지에서 전송한 자신의 논스 값 Nonce(NB)과 제1 인증 응답 메시지에서 복호화하여 획득한 디바이스 B(20)의 논스 값 Nonce(NB)를 비교할 수 있다.At this time, in step S150, the device B 20 transmits its own nonce value Nonce (N B ) transmitted in the previous first authentication request message and the device B 20 obtained by decoding the first authentication response message. The nonce value Nonce(N B ) can be compared.

이 때, 단계(S150)는 비교 결과가 일치하면 인증 서버(30)의 인증이 성공인 것으로 판단하고 다음 단계를 수행할 수 있고, 비교 결과가 일치하지 않으면 인증 서버(30)에게 에러 메시지를 송신할 수 있다.At this time, in step S150, if the comparison result matches, it is determined that the authentication of the authentication server 30 is successful, and the next step can be performed. If the comparison result does not match, an error message is sent to the authentication server 30. can do.

이 때, 단계(S160)는 기저장된 디바이스 A(10)의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버(30)의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 디바이스 B(20)의 논스 값을 암호화한 제3 암호화 값을 생성할 수 있다.At this time, in step S160, a third secret key is generated by hashing the nonce value of the authentication server 30 decrypted from the pre-stored nonce value of the device A 10 and the second encryption value, and the third secret key is generated. 3 A third encryption value obtained by encrypting the nonce value of the device B 20 using the secret key may be generated.

이 때, 단계(S160)는 디바이스 B(20)가, 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 이용하여 제3 비밀키(KS)를 생성할 수 있다. 이 때, 제3 비밀키는 대칭키일 수 있고, Nonce 값들(NA, NS)을 조합한(Exclusive OR) 해시 함수로 생성될 수 있다.At this time, in step S160, the device B 20 uses the nonce value Nonce (N A ) of the device A 10 and the nonce value Nonce (N S ) of the authentication server 30 to use the third secret key ( K S ) can be created. In this case, the third secret key may be a symmetric key and may be generated by a hash function combining (Exclusive OR) Nonce values (N A , N S ).

이 때, 단계(S160)는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.At this time, in step S160, the second authentication response message including the third encryption value, the first challenge value included in the first authentication response message, and the first encryption value may be generated.

이 때, 단계(S160)는 디바이스 B(20)가 디바이스 A(10)의 제1 챌린지 값(CA1)과, 제1 암호화 값(EKA1(NA || NS)과, 복호화된 디바이스 B(20)의 논스 값 Nonce(NB)을 제3 비밀키(KS)로 암호화한 제3 암호화 값을 조합하여 제2 인증 응답 메시지를 생성할 수 있다.At this time, in step S160, the device B 20 obtains the first challenge value C A1 of the device A 10, the first encryption value E KA1 (N A || N S ), and the decrypted device The second authentication response message may be generated by combining the third encryption value obtained by encrypting the nonce value Nonce (N B ) of B 20 with the third secret key (K S ).

또한, 디바이스 B(20)는 제2 인증 응답 메시지를 디바이스 A(10)에게 송신할 수 있다(S170).In addition, the device B 20 may transmit a second authentication response message to the device A 10 (S170).

도 5를 참조하면, 디바이스 A(10)는 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버(30)와 상기 디바이스 B(20)를 인증하고, 제2 인증 요청 메시지를 생성할 수 있다(S180, S190).Referring to FIG. 5 , the device A 10 authenticates the authentication server 30 and the device B 20 by performing a third PUF-based encryption operation on the second authentication response message, and requests a second authentication. A message can be generated (S180, S190).

이 때, 단계(S180)는 상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고, 상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성할 수 있다.At this time, in step S180, a first device response value is generated by performing a PUF operation on the first challenge value, and a first device secret key is generated by hashing the first challenge value and the first device response value. can

이 때, 단계(S180)는 디바이스 A(10)가, 제1 챌린지 값(CA1)을 PUF 연산을 통해 제1 디바이스 리스폰스 값(RA1)을 생성할 수 있다(RA1=P(CA1)).At this time, in step S180, device A 10 may generate a first device response value (R A1 ) through a PUF operation on the first challenge value (C A1 ) (R A1 =P(C A1 )).

이 때, 단계(S180)는 디바이스 A(10)가, 제1 챌린지 값(CA1)과 제1 디바이스 리스폰스 값(RA1)을 이용하여 제1 디바이스 비밀키(KA1)를 생성할 수 있다.At this time, in step S180, device A 10 may generate a first device secret key (K A1 ) using the first challenge value (C A1 ) and the first device response value (R A1 ). .

이 때, 단계(S180)는 상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 디바이스 A(10)의 논스 값을 기저장된 디바이스 A(10)의 논스 값과 비교한 결과에 기반하여 상기 인증 서버(30)와 상기 디바이스 B(20)를 인증할 수 있다.At this time, in step S180, the first encryption value is decrypted using the first device secret key, and the decrypted nonce value of device A 10 is compared with a pre-stored nonce value of device A 10. Based on one result, the authentication server 30 and the device B 20 may be authenticated.

이 때, 단계(S180)는 디바이스 A(10)가, 제1 디바이스 비밀키(KA1)를 이용하여 제1 암호화 값을 복호화하여 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 획득할 수 있다.At this time, in step S180, the device A 10 decrypts the first encryption value using the first device secret key (K A1 ), and the nonce value Nonce (N A ) of the device A 10 and the authentication server The nonce value Nonce(N S ) of (30) can be obtained.

이 때, 단계(S180)는 디바이스 A(10)가, 제1 인증 요청 메시지에서 전송한 자신의 논스 값 Nonce(NA)과 복호화된 디바이스 A의 논스 값 Nonce(NA)를 비교할 수 있다.At this time, in step S180, the device A 10 may compare its own nonce value Nonce(N A ) transmitted in the first authentication request message with the decrypted device A's nonce value Nonce(N A ).

이 때, 단계(S180)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.At this time, in step S180, if the comparison results match, authentication is successful and the next step can be performed. If they do not match, an error message can be transmitted to the device B 20.

이 때, 상기 제3 PUF 기반 암호화 연산은 기저장된 상기 디바이스 A(10)의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버(30)의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 디바이스 B(20)의 논스 값을 획득할 수 있다.At this time, the third PUF-based encryption operation performs a hash operation on the pre-stored nonce value of the device A 10 and the nonce value of the authentication server 30 decrypted from the first encryption value to obtain the third secret key. A nonce value of the device B 20 may be obtained by generating and decrypting the third encryption value using the third secret key.

이 때, 단계(S190)는 디바이스 A(10)가, 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 이용하여 제2 인증 응답 메시지를 복호화하기 위한 제3 비밀 키(KS)를 생성할 수 있다.At this time, in step S190, the device A 10 uses the nonce value Nonce (N A ) of the device A 10 and the nonce value Nonce (N S ) of the authentication server 30 to send a second authentication response message. A third secret key ( KS ) for decrypting may be generated.

이 때, 단계(S190)는 디바이스 A(10)가, 비밀 키(KS)를 이용하여 제3 암호화 값을 복호화하여 디바이스 B(20)의 Nonce(NB)를 획득할 수 있다.At this time, in step S190 , the device A 10 may decrypt the third encryption value using the secret key K S to obtain the Nonce (N B ) of the device B 20 .

이 때, 단계(S190)는 디바이스 A(10)가, 상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 디바이스 B(20)의 논스 값 및 상기 인증 서버(30)의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성할 수 있다.At this time, in step S190, the device A 10 generates a third response value for updating the first challenge-response pair, and the third response value, the device The second authentication request message including a fourth encryption value obtained by encrypting the nonce value of B 20 and the nonce value of the authentication server 30 may be generated.

이 때, 단계(S190)는 디바이스 A(10)가, 초기 CRP 값을 업데이트하기 위한 제3 챌린지 값(CA2)을 PUF 연산을 통해 제3 리스폰스 값(RA2)을 생성할 수 있다. 이후, 모든 인증 과정이 성공하여 인증 서버(30)에 CRP 쌍이 업데이트되면 생성된 CRP 쌍은 추후 인증(Future Authentication)에 사용될 수 있다.At this time, in step S190 , the device A 10 may generate a third response value R A2 through a PUF operation on the third challenge value C A2 for updating the initial CRP value. Thereafter, when all authentication processes are successful and the CRP pair is updated in the authentication server 30, the generated CRP pair can be used for future authentication.

이 때, 단계(S190)는 제1 챌린지 값(CA1)과 인증 서버(30)의 논스 값 Nonce(NS)를 조합하여 해시 함수로 제3 챌린지 값(CA2)을 생성할 수 있다.At this time, in step S190 , a third challenge value (C A2 ) may be generated using a hash function by combining the first challenge value (C A1 ) and the nonce value (N S ) of the authentication server 30 .

이 때, 단계(S190)는 디바이스 A(10)가 제3 비밀키(KS)를 이용하여 디바이스 B의 논스 값 Nonce(NB), 인증 서버(30)의 논스 값 Nonce(NS), 제3 리스폰스 값(RA2)을 암호화한 제4 암호화 값을 포함하는 제2 인증 요청 메시지를 생성할 수 있다.At this time, in step S190, the device A 10 uses the third secret key K S to determine the device B's nonce value Nonce (N B ), the authentication server 30's nonce value Nonce (N S ), A second authentication request message including a fourth encryption value obtained by encrypting the third response value (R A2 ) may be generated.

또한, 디바이스 A(10)는 제2 인증 요청 메시지를 디바이스 B(20)로 송신할 수 있다(S200).In addition, device A 10 may transmit a second authentication request message to device B 20 (S200).

디바이스 B(20)는 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성할 수 있다(S210, S220).Device B 20 may authenticate the first device by performing a fourth PUF-based encryption operation on the second authentication request message and generate a third authentication request message (S210 and S220).

이 때, 단계(S210)는 상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 디바이스 B(20)의 논스 값과 기저장된 디바이스 B(20)의 논스 값을 비교한 결과에 기반하여 상기 디바이스 A(10)를 인증할 수 있다.At this time, in step S210, the fourth encryption value is decrypted using the third secret key, and the nonce value of the device B 20 decrypted from the fourth encryption value and the previously stored device B 20 The device A 10 may be authenticated based on a result of comparing nonce values of .

이 때, 단계(S210)는 디바이스 B(20)가 제3 비밀키(KS)를 이용하여 제4 암호화 값을 복호화할 수 있다.At this time, in step S210, the device B 20 may decrypt the fourth encryption value using the third secret key K S .

이 때, 단계(S210)는 복호화를 통해 디바이스 B(20)의 논스 값 Nonce(NB), 인증 서버(30)의 논스 값 Nonce(NS) 및 제3 리스폰스 값(RA2) 정보를 획득할 수 있다.At this time, step S210 obtains the nonce value Nonce (N B ) of the device B 20, the nonce value Nonce (N S ) of the authentication server 30, and the third response value (R A2 ) information through decryption can do.

이 때, 단계(S210)는 디바이스 B(20)가 디바이스 A(10)의 인증을 수행하기 위해, 제2 인증 응답 메시지에서 송신한 자신의 논스 값 Nonce(NB)과 복호화된 디바이스 B(20)의 논스 값 Nonce(NB)을 비교할 수 있다.At this time, in step S210, in order for device B 20 to authenticate device A 10, its own nonce value Nonce (N B ) transmitted in the second authentication response message and the decrypted device B 20 ), the nonce value Nonce(N B ) can be compared.

이 때, 단계(S210)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 A(10)와 인증 서버(30)로 에러 메시지를 송신할 수 있다.At this time, in step S210, if the comparison result matches, authentication is successful and the next step may be performed. If not matched, an error message may be transmitted to the device A 10 and the authentication server 30.

또한, 단계(S220)는 디바이스 B(20)가, CRP 데이트를 위한 제4 챌린지 값(CB2)을 PUF 연산하여 제4 리스폰스 값(RB2)을 생성할 수 있다. 이후, 모든 인증 과정이 성공하여 인증 서버(30)에 CRP 쌍이 업데이트되면 생성된 CRP 쌍은 추후 인증(Future Authentication)에 사용될 수 있다.Also, in step S220 , the device B 20 may perform a PUF operation on the fourth challenge value C B2 for CRP data to generate a fourth response value R B2 . Thereafter, when all authentication processes are successful and the CRP pair is updated in the authentication server 30, the generated CRP pair can be used for future authentication.

이 때, 업데이트를 위한 제4 챌린지 값(CB2)은 이전 제2 챌린지 값(CB1)과 인증 서버(30)의 논스 값 Nonce(NS)을 조합하여 해시 함수로 생성될 수 있다.In this case, the fourth challenge value for update (C B2 ) may be generated by a hash function by combining the previous second challenge value (C B1 ) and the nonce value of the authentication server 30 (N S ).

이 때, 단계(S220)는 상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버(30)의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성할 수 있다.At this time, in step S220, a fourth response value for updating the second challenge-response pair is generated, and the third response value, the fourth response value, and the authentication are performed using the second device secret key. The third authentication request message including a fifth encryption value obtained by encrypting the nonce value of the server 30 may be generated.

이 때, 단계(S220)는 디바이스 B(20)가, 기생성한 제2 비밀키(KB1)를 이용하여 인증 서버(30)의 논스 값 Nonce(NS), 업데이트 할 디바이스 A(10)의 제3 리스폰스 값(RA2), 업데이트 할 디바이스 B(20)의 제4 리스폰스 값(RB2)을 암호화한 제5 암호화 값을 포함하는 제3 인증 요청 메시지를 생성할 수 있다.At this time, in step S220, the device B 20 uses the previously generated second secret key (K B1 ) to determine the nonce value Nonce (N S ) of the authentication server 30 and the device A 10 to be updated. A third authentication request message including a third response value (R A2 ) of and a fifth encryption value obtained by encrypting the fourth response value (R B2 ) of device B 20 to be updated may be generated.

또한, 디바이스 B(20)는 제3 인증 요청 메시지를 인증 서버(30)로 송신할 수 있다(S230).In addition, the device B 20 may transmit a third authentication request message to the authentication server 30 (S230).

인증 서버(30)는 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 디바이스 A(10)와 상기 디바이스 B(20)를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다(S240, S250).The authentication server 30 authenticates the device A 10 and the device B 20 by performing a fifth PUF-based encryption operation on the third authentication request message, and the challenge used in the first PUF-based encryption operation - Response pairs can be updated (S240, S250).

이 때, 단계(S240)는 상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버(30)의 논스 값과 기저장된 인증 서버(30)의 논스 값을 비교하여 상기 디바이스 A(10)와 상기 제2 디바이스 B(20)를 인증할 수 있다.At this time, in step S240, the fifth encryption value is decrypted using the second secret key, and the decrypted nonce value of the authentication server 30 is compared with a pre-stored nonce value of the authentication server 30. The device A 10 and the second device B 20 may be authenticated.

이 때, 단계(S240)는 인증 서버(30)가 기생성한 제2 비밀키(KB1)를 이용하여 제5 암호화 값을 복호화할 수 있다.At this time, in step S240, the fifth encryption value may be decrypted using the second secret key K B1 previously generated by the authentication server 30.

이 때, 단계(S240)는 인증 서버(30)가 복호화를 통해 인증 서버(30)의 논스 값 Nonce(NS), 업데이트 할 디바이스 A(10)의 제3 리스폰스 값(RA2), 업데이트 할 디바이스 B(20)의 제4 리스폰스 값(RB2)을 획득할 수 있다.At this time, in step S240, the authentication server 30 determines the nonce value Nonce (N S ) of the authentication server 30 through decryption, the third response value (R A2 ) of the device A 10 to be updated, and A fourth response value (R B2 ) of device B 20 may be obtained.

이 때, 단계(S240)는 인증 서버(30)가 디바이스 A(10)와 B(20)의 인증을 수행하기 위해, 이전 제1 인증 응답 메시지에서 전송한 자신의 논스 값 Nonce(NS)과 복호화된 인증 서버(30)의 논스 값 Nonce(NS)을 비교할 수 있다.At this time, in step S240, in order for the authentication server 30 to authenticate devices A 10 and B 20, its own nonce value Nonce (N S ) transmitted in the previous first authentication response message and A nonce value of the decrypted authentication server 30 (N S ) may be compared.

이 때, 단계(S240)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 만약 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.At this time, in step S240, if the comparison results match, authentication is successful and the next step may be performed. If they do not match, an error message may be transmitted to the device B 20.

이 때, 단계(S250)는 상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성할 수 있다.At this time, in step S250, a third challenge value may be generated by performing PUF operation on the third response value decrypted from the fifth encryption value, and a fourth challenge value may be generated by PUF operation on the fourth response value. there is.

이 때, 단계(S250)는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.At this time, in step S250, the first challenge value and the first response value of the first challenge-response pair are updated to the third challenge value and the third response value, and the second challenge-response pair The second challenge value and the second response value may be updated to the fourth challenge value and the fourth response value.

이 때, 단계(S250)는 디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)가 모두 상호 인증에 성공한 것으로 판단하고, 추후 인증(Future Authentication)을 위해 디바이스 A와 B의 초기 CRP 값들 (CA1, RA1 )과 (CB1, RB1 )을 새로운 CRP 값들 (CA2, RA2 )과 (CB2, RB2 )으로 업데이트 할 수 있다. 이 과정을 통해 비밀 키 업데이트 효과를 얻을 수 있다.At this time, step S250 determines that the device A 10, the device B 20, and the authentication server 30 have all succeeded in mutual authentication, and the initial CRP of devices A and B for future authentication. The values (C A1, R A1 ) and (C B1, R B1 ) can be updated with the new CRP values (C A2, R A2 ) and (C B2, R B2 ). Through this process, the secret key update effect can be obtained.

또한, 디바이스 A(10)와 B(20)는 세션키를 공유하고 암호화된 데이터를 송수신할 수 있다(S260).In addition, devices A 10 and B 20 may share a session key and transmit/receive encrypted data (S260).

즉, 단계(S260)는 PUF를 활용한 디바이스 간 상호인증 과정이 모두 성공적으로 완료되면, 디바이스 A(10)와 B(20)는 세션 키를 공유할 수 있다. 세션 키는 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 Nonce(NS)를 조합하여 해시 함수로 생성될 수 있다.That is, in step S260, when all mutual authentication processes between devices using PUF are successfully completed, devices A 10 and B 20 may share a session key. The session key may be generated by a hash function by combining the nonce value Nonce (N B ) of device B 20 and the nonce (N S ) of authentication server 30 .

이 때, 단계(S260)는 공유된 세션 키를 이용한 암호화된 보안 채널 제공을 통해 디바이스 간 안전한 데이터 전송이 가능하게 된다.At this time, in step S260, secure data transmission between devices is possible through the provision of an encrypted secure channel using a shared session key.

도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.6 is a diagram illustrating a computer system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치에 상응하는 디바이스들과 인증 서버는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 6에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 6 , devices and an authentication server corresponding to the PUF-based mutual authentication apparatus according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 6, the computer system 1100 includes one or more processors 1110, memory 1130, user interface input device 1140, and user interface output device 1150 communicating with each other through a bus 1120. and storage 1160 . In addition, computer system 1100 may further include a network interface 1170 coupled to network 1180 . The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160 . The memory 1130 and the storage 1160 may be various types of volatile or non-volatile storage media. For example, the memory may include ROM 1131 or RAM 1132 .

본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 제1 디바이스는 하나 이상의 프로세서(1110); 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고, 상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고, 상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다.A first device that is a PUF-based mutual authentication apparatus according to an embodiment of the present invention includes one or more processors 1110; and an execution memory 1130 storing one or more programs executed by the one or more processors 1110, wherein the one or more programs authenticate a first authentication request message generated by receiving an authentication request from another device. transmits to a server, receives a first authentication response message generated by performing a first PUF-based encrypted PUF operation on the first authentication request message from the authentication server, and receives a second PUF for the first authentication response message The authentication server is authenticated by performing a base encryption operation, a second authentication response message is generated and transmitted to the other device, and a third PUF-based encryption operation is performed on the second authentication response message from the other device. The generated second authentication request message is received, a fourth PUF-based encryption operation is performed on the second authentication request message to authenticate the other device, and a third authentication request message is generated and transmitted to the authentication server to perform a fourth PUF-based encryption operation. Challenge-response pairs used in the first PUF-based encryption operation may be updated.

또한, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 제2 디바이스는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스에게 자신의 식별자와 논스 값을 포함하는 제1 인증 요청 메시지를 송신하여 인증을 요청하고, 타 디바이스로부터 수신한 제1 인증 응답 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 인증 서버와 상기 타 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하여 상기 타 디바이스에 송신할 수 있다.In addition, the second device, which is a PUF-based mutual authentication device according to an embodiment of the present invention, includes one or more processors and an execution memory storing one or more programs executed by the one or more processors, and the one or more programs. requests authentication by sending a first authentication request message including its own identifier and nonce value to another device, performs a first PUF-based encryption operation on the first authentication response message received from the other device, and The other device may be authenticated, and a second authentication request message may be generated and transmitted to the other device.

또한, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 인증 서버는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고, 상기 제2 디바이스로부터 수신한 제2 인증 요청 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다.In addition, an authentication server, which is a PUF-based mutual authentication device according to an embodiment of the present invention, includes one or more processors and an execution memory storing one or more programs executed by the one or more processors, wherein the one or more programs A first authentication response message is generated by performing a first PUF-based encrypted PUF operation on a first authentication request message received from a second device that has been requested to authenticate the first device, and the first authentication response message is generated and transmitted to the second device, and the second device Perform a second PUF-based encryption operation on the second authentication request message received from the device to authenticate the first device and the second device and update challenge-response pairs used in the first PUF-based encryption operation. there is.

본 발명의 일실시예에 따른 인증 서버는 디바이스 마다 각각 초기 1개의 CRP 만 인증 서버 데이터베이스에 저장하고 있고, 추후 인증(Future Authentication)을 위한 CRP는 인증 프로토콜 수행 중에 획득할 수 있다. 이로써, 서버 저장 공간을 최소화하고 디바이스 증가에 따른 관리 문제를 해결하며, 서버 해킹 시 CRP 전체가 노출되는 보안 취약점을 해결할 수 있다. 그리고, 인증 과정 중에 Challenge에 대한 Response 정보를 암호화해서 전송함으로써 머신 러닝 기반의 모델링 공격에 대한 대응 방안을 제공할 수 있다. 또한, 디바이스는 인증 서버를 중개자로 이용하여, 새롭게 요구가 증가되고 있는 디바이스와 디바이스 간 상호인증 기법을 제공할 수 있다. 마지막으로, 본 발명은 인증 프로토콜 수행 중에 데이터 통신 채널 보호를 위한 세션 키를 공유하여 보안 채널 기능을 제공할 수 있다The authentication server according to an embodiment of the present invention stores only one initial CRP for each device in the authentication server database, and a CRP for future authentication can be obtained during authentication protocol execution. As a result, it is possible to minimize server storage space, solve management problems due to the increase in devices, and solve security vulnerabilities in which the entire CRP is exposed when the server is hacked. In addition, it is possible to provide a countermeasure against a machine learning-based modeling attack by encrypting and transmitting the response information for the challenge during the authentication process. In addition, the device may use the authentication server as an intermediary to provide a device-to-device mutual authentication technique, which is newly in demand. Finally, the present invention can provide a secure channel function by sharing a session key for protecting a data communication channel while performing an authentication protocol.

이상에서와 같이 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the PUF-based mutual authentication device and method according to an embodiment of the present invention are not limited to the configuration and method of the above-described embodiments, and various modifications can be made to the above embodiments. All or part of each embodiment may be configured by selectively combining so as to be.

10: 제1 디바이스(디바이스 A) 20: 제2 디바이스(디바이스 B))
30: 인증 서버
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
10: first device (device A) 20: second device (device B))
30: authentication server
1100: computer system 1110: processor
1120: bus 1130: memory
1131: Rom 1132: Ram
1140: user interface input device
1150: user interface output device
1160: storage 1170: network interface
1180: network

Claims (20)

제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서,
상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계;
상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계;
상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계;
상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계; 및
상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계;
를 포함하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
In a PUF-based mutual authentication method in which each step is performed by a first device, a second device, and an authentication server,
generating, by the authentication server, a first authentication response message by performing a first PUF-based encryption operation on a first authentication request message received from the second device that has received authentication of the first device;
authenticating the authentication server by performing, by the second device, a second PUF-based encryption operation on the first authentication response message, and generating a second authentication response message;
authenticating the authentication server and the second device by performing, by the first device, a third PUF-based encryption operation on the second authentication response message, and generating a second authentication request message;
authenticating the first device by performing, by the second device, a fourth PUF-based encryption operation on the second authentication request message, and generating a third authentication request message; and
The authentication server performs a fifth PUF-based encryption operation on the third authentication request message to authenticate the first device and the second device and update challenge-response pairs used in the first PUF-based encryption operation doing;
A PUF-based mutual authentication method comprising a.
청구항 1에 있어서,
상기 제1 PUF 기반 암호화 연산은
상기 제1 인증 요청 메시지에 포함된 상기 제1 디바이스의 식별 값과 상기 제2 디바이스의 식별 값을 이용하여 기저장된 상기 제1 디바이스의 제1 챌린지-리스폰스 쌍과 기저장된 상기 제2 디바이스의 제2 챌린지-리스폰스 쌍을 획득하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 1,
The first PUF-based encryption operation
A pre-stored first challenge-response pair of the first device and a pre-stored second device of the second device using the identification value of the first device and the identification value of the second device included in the first authentication request message A PUF-based mutual authentication method characterized by obtaining a challenge-response pair.
청구항 2에 있어서,
상기 제1 인증 응답 메시지를 생성하는 단계는
상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고,
상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 2,
Generating the first authentication response message
generating a first secret key by hashing a first challenge value and a first response value of the first challenge-response pair;
and performing a hash operation on the second challenge value and the second response value of the second challenge-response pair to generate a second secret key.
청구항 3에 있어서,
상기 제1 인증 응답 메시지를 생성하는 단계는
상기 제1 비밀키를 이용하여 상기 제1 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제1 암호화 값을 생성하고
상기 제2 비밀키를 이용하여 상기 제2 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제2 암호화 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 3,
Generating the first authentication response message
generating a first encryption value obtained by encrypting a nonce value of the first device and a nonce value of the authentication server using the first secret key;
and generating a second encryption value obtained by encrypting the nonce value of the second device and the nonce value of the authentication server using the second secret key.
청구항 4에 있어서,
상기 제1 인증 응답 메시지를 생성하는 단계는
상기 제1 챌린지 값, 상기 제2 챌린지 값, 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 4,
Generating the first authentication response message
and generating the first authentication response message including the first challenge value, the second challenge value, the first encryption value, and the second encryption value.
청구항 5에 있어서,
상기 제2 인증 응답 메시지를 생성하는 단계는
상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고,
상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 5,
Generating the second authentication response message
generating a second device response value by performing a PUF operation on the second challenge value;
and performing a hash operation on the second challenge value and the second device response value to generate a second device secret key.
청구항 6에 있어서,
상기 제2 인증 응답 메시지를 생성하는 단계는
상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 제2 디바이스의 논스 값을 기저장된 제2 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 6,
Generating the second authentication response message
Decrypting the second encryption value using the second device secret key, and authenticating the authentication server based on a result of comparing the decrypted nonce value of the second device with a pre-stored nonce value of the second device. Characterized by PUF-based mutual authentication method.
청구항 7에 있어서,
상기 제2 인증 응답 메시지를 생성하는 단계는
기저장된 제1 디바이스의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제2 디바이스의 논스 값을 암호화한 제3 암호화 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 7,
Generating the second authentication response message
A third secret key is generated by hashing the nonce value of the authentication server decrypted from the pre-stored nonce value of the first device and the second encryption value, and the nonce value of the second device is generated using the third secret key. A PUF-based mutual authentication method characterized by generating a third encryption value by encrypting .
청구항 8에 있어서,
상기 제2 인증 응답 메시지를 생성하는 단계는
상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 8,
Generating the second authentication response message
and generating the second authentication response message including the third encryption value, the first challenge value included in the first authentication response message, and the first encryption value.
청구항 9에 있어서,
상기 제2 인증 요청 메시지를 생성하는 단계는
상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고,
상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 9,
Generating the second authentication request message
generating a first device response value by performing a PUF operation on the first challenge value;
and performing a hash operation on the first challenge value and the first device response value to generate a first device secret key.
청구항 10에 있어서,
상기 제2 인증 요청 메시지를 생성하는 단계는
상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 제1 디바이스의 논스 값을 기저장된 제1 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버와 상기 제2 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 10,
Generating the second authentication request message
The authentication server and the second encryption value are decrypted using the first device secret key, and based on a result of comparing the decrypted nonce value of the first device with a pre-stored nonce value of the first device. A PUF-based mutual authentication method characterized by authenticating a device.
청구항 11에 있어서,
상기 제2 인증 요청 메시지를 생성하는 단계는
기저장된 상기 제1 디바이스의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 제2 디바이스의 논스 값을 획득하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 11,
Generating the second authentication request message
The third secret key is generated by hashing a nonce value of the authentication server decrypted from the pre-stored nonce value of the first device and the first encryption value, and the third encryption value is generated using the third secret key. and obtaining a nonce value of the second device by decoding a PUF-based mutual authentication method.
청구항 12에 있어서,
상기 제2 인증 요청 메시지를 생성하는 단계는
상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제2 디바이스의 논스 값 및 상기 인증 서버의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 12,
Generating the second authentication request message
generating a third response value for updating the first challenge-response pair, and encrypting the third response value, the nonce value of the second device, and the nonce value of the authentication server using the third secret key; and generating the second authentication request message including a fourth encryption value.
청구항 13에 있어서,
상기 제3 인증 요청 메시지를 생성하는 단계는
상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 제2 디바이스의 논스 값과 기저장된 제2 디바이스의 논스 값을 비교한 결과에 기반하여 상기 제1 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 13,
Generating the third authentication request message
Based on a result of decrypting the fourth encryption value using the third secret key and comparing a nonce value of the second device decrypted from the fourth encryption value with a pre-stored nonce value of the second device, the first encryption value is decrypted. 1 PUF-based mutual authentication method characterized in that the device is authenticated.
청구항 14에 있어서,
상기 제3 인증 요청 메시지를 생성하는 단계는
상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 14,
Generating the third authentication request message
Generating a fourth response value for updating the second challenge-response pair, and encrypting the third response value, the fourth response value, and the nonce value of the authentication server using the second device secret key 5. The PUF-based mutual authentication method characterized by generating the third authentication request message including an encryption value.
청구항 15에 있어서,
상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버의 논스 값과 기저장된 인증 서버의 논스 값을 비교하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 15
Updating the challenge-response pairs
The fifth encryption value is decrypted using the second secret key, and the first device and the second device are authenticated by comparing the decrypted nonce value of the authentication server with a pre-stored nonce value of the authentication server. PUF-based mutual authentication method.
청구항 16에 있어서,
상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 16
Updating the challenge-response pairs
PUF-based mutual authentication method characterized in that PUF-calculates the third response value decrypted from the fifth encryption value to generate a third challenge value, and PUF-calculates the fourth response value to generate a fourth challenge value. .
청구항 17에 있어서,
상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고,
상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
The method of claim 17
Updating the challenge-response pairs
Updating the first challenge value and the first response value of the first challenge-response pair to the third challenge value and the third response value;
and updating the second challenge value and the second response value of the second challenge-response pair to the fourth challenge value and the fourth response value.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고,
상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고,
상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고,
상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고,
상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 장치.
one or more processors; and
an execution memory storing at least one or more programs executed by the one or more processors;
including,
the at least one program
Sending a first authentication request message generated by receiving an authentication request from another device to an authentication server;
Receiving a first authentication response message generated by performing a first PUF-based encrypted PUF operation on the first authentication request message from the authentication server;
Authenticating the authentication server by performing a second PUF-based encryption operation on the first authentication response message, generating a second authentication response message, and transmitting it to the other device;
Receiving a second authentication request message generated by performing a third PUF-based encryption operation on the second authentication response message from the other device;
A fourth PUF-based encryption operation is performed on the second authentication request message to authenticate the other device, and a third authentication request message is generated and transmitted to the authentication server to challenge the first PUF-based encryption operation- A PUF-based mutual authentication device characterized by updating response pairs.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고,
상기 제2 디바이스는
상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 인증 응답 메시지를 송신한 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하고,
상기 제1 디바이스는
상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하고,
상기 제2 디바이스는
상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하고,
상기 적어도 하나 이상의 프로그램은
상기 제2 디바이스로부터 수신한 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 장치.
one or more processors; and
an execution memory storing at least one or more programs executed by the one or more processors;
including,
the at least one program
Performing a first PUF-based encrypted PUF operation on a first authentication request message received from a second device requested for authentication of the first device to generate a first authentication response message and transmit it to the second device;
The second device
Performing a second PUF-based encryption operation on the first authentication response message to authenticate an authentication server that has transmitted the first authentication response message, and generating a second authentication response message;
The first device
Performing a third PUF-based encryption operation on the second authentication response message to authenticate the authentication server and the second device, and generating a second authentication request message;
The second device
Authenticating the first device by performing a fourth PUF-based encryption operation on the second authentication request message and generating a third authentication request message;
the at least one program
A challenge-response pair used for authentication of the first device and the second device by performing a fifth PUF-based encryption operation on the third authentication request message received from the second device and used for the first PUF-based encryption operation PUF-based mutual authentication device, characterized in that for updating.
KR1020200069204A 2020-06-08 2020-06-08 Apparatus and method for mutual authentication based on physical unclonable function KR102539418B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200069204A KR102539418B1 (en) 2020-06-08 2020-06-08 Apparatus and method for mutual authentication based on physical unclonable function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200069204A KR102539418B1 (en) 2020-06-08 2020-06-08 Apparatus and method for mutual authentication based on physical unclonable function

Publications (2)

Publication Number Publication Date
KR20210152295A KR20210152295A (en) 2021-12-15
KR102539418B1 true KR102539418B1 (en) 2023-06-05

Family

ID=78865989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200069204A KR102539418B1 (en) 2020-06-08 2020-06-08 Apparatus and method for mutual authentication based on physical unclonable function

Country Status (1)

Country Link
KR (1) KR102539418B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422145B (en) * 2022-01-21 2024-05-28 上海交通大学 End-to-end dynamic identity authentication method of Internet of things based on PUF and Hash

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150135032A (en) * 2014-05-23 2015-12-02 숭실대학교산학협력단 System and method for updating secret key using physical unclonable function
KR102347087B1 (en) * 2017-10-24 2022-01-05 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system

Also Published As

Publication number Publication date
KR20210152295A (en) 2021-12-15

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN109347835B (en) Information transmission method, client, server, and computer-readable storage medium
JP5815294B2 (en) Secure field programmable gate array (FPGA) architecture
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
CA2913444C (en) System and method for user authentication
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
CN110059458B (en) User password encryption authentication method, device and system
KR102364652B1 (en) APPARATUS AND METHOD FOR AUTHENTICATING IoT DEVICE BASED ON PUF USING WHITE-BOX CRYPTOGRAPHY
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
CN110505055B (en) External network access identity authentication method and system based on asymmetric key pool pair and key fob
US9773129B2 (en) Anti-replay protected flash
US20190044922A1 (en) Symmetric key identity systems and methods
KR102364649B1 (en) APPARATUS AND METHOD FOR AUTHENTICATING IoT DEVICE BASED ON PUF
CN110519222B (en) External network access identity authentication method and system based on disposable asymmetric key pair and key fob
KR20210153419A (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
US11216571B2 (en) Credentialed encryption
KR102539418B1 (en) Apparatus and method for mutual authentication based on physical unclonable function
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN114553566B (en) Data encryption method, device, equipment and storage medium
CN114285557A (en) Communication encryption method, system and device
KR102192477B1 (en) Method, system and program of silent authentication instead of fido-based authentication
Kim et al. Secure IoT Device Authentication Scheme using Key Hiding Technology
CN112398818B (en) Software activation method and related device thereof
US11616789B2 (en) Communication system, communication method, and computer program product

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