KR20210152295A - 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
KR20210152295A
KR20210152295A KR1020200069204A KR20200069204A KR20210152295A KR 20210152295 A KR20210152295 A KR 20210152295A KR 1020200069204 A KR1020200069204 A KR 1020200069204A KR 20200069204 A KR20200069204 A KR 20200069204A KR 20210152295 A KR20210152295 A KR 20210152295A
Authority
KR
South Korea
Prior art keywords
value
authentication
puf
response
challenge
Prior art date
Application number
KR1020200069204A
Other languages
Korean (ko)
Other versions
KR102539418B1 (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
    • 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]
    • 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

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

Disclosed are an apparatus and a method for mutual authentication based on a physical unclonable function (PUF). The PUF-based mutual authentication method according to one embodiment of the present invention in which each step is performed by a first device, a second device, and an authentication server includes the steps of: 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 requesting authentication of the first device; performing, by the second device, a second PUF-based encryption operation on the first authentication response message to authenticate the authentication server, and generating a second authentication response message; performing, by the first device, 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; performing, by the second device, a fourth PUF-based encryption operation on the second authentication request message, authenticating the first device, and generating a third authentication request message; and performing, by the authentication server, a fifth PUF-based encryption operation on the third authentication request message to authenticate the first device and the second device, and updating the challenge-response pairs used in the first PUF-based encryption operation. Accordingly, a mutual authentication technique for enhancing security between devices is provided.

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 PUF (PHYSICAL UNCLONABLE FUNCTION)-based mutual authentication technology in an IoT environment.

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

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

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

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

IoT 디바이스는 다양한 방법을 활용하여 구현된 복제 불가능한 PUF를 필요할 때만 사용할 수 있다. 즉, IoT 디바이스는 PUF를 통해 만들어진 비밀 키와 같은 중요 정보는 메모리와 같은 별도의 저장공간에 저장하지 않고, 필요할 때마다 생성하여 사용한 후 바로 삭제하여 정보 노출 위험을 원천적으로 차단한다. 따라서, PUF 기술은 IoT 환경의 다양한 응용 분야에 적용할 수 있어 보안성을 크게 향상시킬 수 있다. 정품 인증, 펌웨어 복제 방지, 디바이스 인증, 고유 식별자 생성, 실시간 보안 키 생성 등이 대표적인 예이다.IoT devices can use non-replicable PUFs implemented using various methods only when needed. 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 create and use them whenever necessary and delete them immediately to fundamentally block the risk of information exposure. Therefore, the PUF technology can be applied to various application fields in the IoT environment, and thus security can be greatly improved. Product activation, firmware copy protection, device authentication, unique identifier generation, and real-time security key generation are typical examples.

특히, PUF 기술은 인증 분야에서 각 디바이스를 식별하기 위한 고유 식별자 및 인증 키를 외부에서 주입하는 과정 없이, 디바이스 내부에서 PUF가 생성될 수 있다. 또한, PUF 기술은 각 식별자 및 인증 키를 저장하기 위한 별도의 내부 비휘발성 메모리를 두지 않아도 되기 때문에, 비용절감 효과도 기대할 수 있다. In particular, in the PUF technology, a PUF can be generated inside a device without a process of externally injecting a unique identifier and an authentication key for identifying each device in the authentication field. In addition, since PUF technology does not require a separate internal non-volatile memory for storing each identifier and authentication key, a cost reduction effect can also 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 (Responses) to the same input value (Challenge) even if the circuits are produced by the same process, the input and output values of each PUF are A CRP pair (Challenge-Response Pair) may be utilized as a means for authenticating each device. That is, by storing and building a CRP database for device authentication in the authentication server in advance 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 becomes possible.

그러나, 이러한 PUF 기반의 인증 기법은 인증 서버 입장에서 등록된 디바이스마다 상당히 많은 양의 CRP 쌍들을 저장 관리해야 하며, 이는 인증 서버에 등록된 디바이스 수가 증가함에 따라 비례적으로 증가할 것이다. 최근의 대규모(Massive) IoT 환경을 고려하면 디바이스 관리의 어려움은 더욱 가중될 것이다. 또한, 인증 서버가 해킹되었을 때, 관리하고 있는 전체 디바이스에 대한 CRP 데이터베이스가 노출됨으로 보안 상 매우 취약한 구조를 가지고 있다. 마지막으로, 인공 지능 기술이 발전함에 따라 CRP 쌍을 예측할 수 있는 머신 러닝 기반의 모델링 공격(Machine Learning-based Modeling Attack)이 출현하였는데, 이러한 공격에 아주 취약하다고 알려져 있다.However, such a PUF-based authentication scheme needs to store and manage a fairly large amount of CRP pairs for each device registered in 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 be further aggravated. 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, as artificial intelligence technology advances, a Machine Learning-based Modeling Attack that can predict CRP pairs has emerged, which is known to be very vulnerable to such attacks.

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

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

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

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

또한, 본 발명은 디바이스 간 상호 인증을 통한 안전한 통신을 제공하여 보안 취약점 및 보안 위협을 제거하는 것을 목적으로 한다.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, the present invention aims to dramatically reduce economic and social losses by preventing security accidents such as information leakage due to hacking, DDoS attacks, and damage due to illegal copying or forgery in a large-scale IoT environment with weak security.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 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 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계를 포함한다.In the PUF-based mutual authentication method in which each step is performed by a first device, a second device, and an authentication server, the PUF-based mutual authentication method according to an embodiment of the present invention for achieving the above object, 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 been requested to authenticate the first device; performing, by the second device, a second PUF-based encryption operation on the first authentication response message to authenticate the authentication server, and generating a second authentication response message; performing, by the first device, 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; performing, by the second device, a fourth PUF-based encryption operation on the second authentication request message to authenticate the first device, and generating a third authentication request message; and, by the authentication server, the third authentication performing a fifth PUF-based encryption operation on the request message to authenticate the first device and the second device, and updating the challenge-response pairs used in the first PUF-based encryption operation.

이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 인증 요청 메시지에 포함된 상기 제1 디바이스의 식별 값과 상기 제2 디바이스의 식별 값을 이용하여 기저장된 상기 제1 디바이스의 제1 챌린지-리스폰스 쌍과 기저장된 상기 제2 디바이스의 제2 챌린지-리스폰스 쌍을 획득할 수 있다.In this case, the generating of the first authentication response message includes using the identification value of the first device and the identification value of the second device included in the first authentication request message to be the first stored first device of the first device. 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 includes 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 the second challenge-response pair A second secret key may be generated by performing a hash operation on the second challenge value and the second response value.

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

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

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고, 상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성할 수 있다.In this case, the generating of the second authentication response message includes 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. You can create a device secret key.

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

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 기저장된 제1 디바이스의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제2 디바이스의 논스 값을 암호화한 제3 암호화 값을 생성할 수 있다.In this case, the generating of the second authentication response message includes generating a third secret key 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, A third encryption value obtained by encrypting the nonce value of the second device may be generated using the third secret key.

이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.In this case, the step of generating the second authentication response message includes 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. can create

이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고, 상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성할 수 있다.In this case, the generating of the second authentication request message includes 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. You can create a device secret key.

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

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

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

이 때, 상기 제3 인증 요청 메시지를 생성하는 단계는 상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 제2 디바이스의 논스 값과 기저장된 제2 디바이스의 논스 값을 비교한 결과에 기반하여 상기 제1 디바이스를 인증할 수 있다.In this case, the generating of the third authentication request message includes decrypting 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 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 인증 요청 메시지를 생성할 수 있다.In this case, the generating of the third authentication request message includes generating a fourth response value for renewing the second challenge-response pair, and using the second device secret key, the third response value, the second The third authentication request message including the fourth response value and the fifth encryption value obtained by encrypting the nonce value of the authentication server may be generated.

이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버의 논스 값과 기저장된 인증 서버의 논스 값을 비교하여 상기 제1 디바이스와 상기 제2 디바이스를 인증할 수 있다.In this case, the updating of the challenge-response pairs may include decrypting the fifth encryption value using the second secret key, and comparing 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 includes generating a third challenge value by performing a PUF operation on the third response value decrypted from the fifth encryption value, and performing a PUF operation on the fourth response value to obtain a fourth challenge value can be created.

이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.In this case, the updating of the challenge-response pairs includes 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 the second The second challenge value and the second response value of the challenge-response pair may be updated with 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, the 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 or more programs transmit a first authentication request message generated by receiving an authentication request from another device to the authentication server, and from the authentication server, a first PUF (PHYSICAL UNCLONABLE FUNCTION)-based encryption PUF operation for the first authentication request message to receive a first authentication response message generated by performing transmit, receive, from the other device, a second authentication request message generated by performing a third PUF-based encryption operation on the second authentication response message, and a fourth PUF-based encryption operation on the second authentication request message to authenticate the other device, generate a third authentication request message and transmit it to the authentication server to update the 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, the 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 or more programs generate a first authentication response message by performing a first PUF (PHYSICAL UNCLONABLE FUNCTION)-based cryptographic PUF operation on a first authentication request message received from a second device requesting authentication of the first device to generate the first authentication response message. A second PUF-based encryption operation is performed on the second authentication request message transmitted to the second device and received from the second device to authenticate the first device and the second device, and used for the first PUF-based encryption operation Update the challenge-response pairs.

본 발명은 디바이스와 디바이스 간 보안 강화를 위한 상호 인증 기법을 제공할 수 있다.The present invention may provide a device and a mutual authentication method 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 prevent security accidents such as information leakage due to hacking, DDoS attack, and damage caused by illegal copying or forgery in a large-scale IoT environment with weak security, thereby dramatically reducing economic and social losses.

도 1은 PUF 기술의 기본 개념을 나타낸 도면이다.
도 2는 PUF 기반의 디바이스 인증 기법을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템을 나타낸 도면이다.
도 4 및 도 5는 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법을 나타낸 시퀀스 다이어그램이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
1 is a diagram illustrating a basic concept of a 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 as follows. Here, repeated descriptions, well-known functions that may unnecessarily obscure the gist of the present invention, and detailed descriptions of configurations will be omitted. The embodiments of the present invention are provided in order to more completely explain the present invention to those of ordinary skill in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer description.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, 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 build, store and manage CRP pairs for each device as a CRP database in the manufacturing process step. When an authentication request is received from a device, the authentication server may transmit a challenge value randomly selected from the CRP database to the device.

본 발명의 일실시예에 따른 디바이스는 수신한 Challenge 값에 대한 Response 값을 PUF(PHYSICAL UNCLONABLE FUNCTION) 연산을 수행하여 생성하고, 인증 서버에 응답할 수 있다.The device according to an embodiment of the present invention may generate a response value to 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 can authenticate the device A through whether the response value to the challenge value of the device A stored in advance matches or not. 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 (Device-to-Server) authentication, 2) device-to-device (Device-to-Device) authentication, and the user 3) the user User-to-Server authentication and 4) User-to-Device authentication 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 established the CRP database as a preliminary step. That is, the authentication server may build a database by extracting a device identifier and a CRP (Challenge-Response-Pair) from the IoT device produced in the manufacturing process step. At this time, each device may register only one initial CRP pair required for PUF-based unique identifier and authentication in the CRP database. The database constructed in this way can then be utilized for device-to-device authentication. By storing only one initial CRP for each device, the authentication server can minimize the database storage space for CRP of the server, and can solve management problems due to the increase of devices in a large-scale IoT environment. In addition, it is possible to solve the CRP exposure vulnerability problem for the entire device by minimizing the CRP exposure when the server is hacked.

도 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 apparatus 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 utilized as an intermediary trusted by each device in order to perform mutual authentication between the device A 10 and the device B 20 .

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

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

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

본 발명의 일실시예에 따른 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, the first device, which is the device A (10), first provides the second device, which is the device B (20), its own device identification unique device identifier (ID A ) and a random number. The first authentication request message including the nonce value Nonce (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 that has been 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) stored in advance 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 second challenge-response pair of the device B 20 previously stored may be acquired.

이 때, 단계(S130)는 인증 서버(30)가 디바이스 간 상호 인증을 위해서 기저장된 디바이스 A(10)와 B(20)의 식별자(IDA, IDB)에 상응하는 디바이스 A(10)의 초기 CRP 값 (CA1, RA1) 및 디바이스 B(20)의 초기 CRP 값 (CB1, RB1)을 데이터베이스에서 각각 검색하여 획득할 수 있다.At this time, step S130 is performed by the authentication server 30 of the device A 10 corresponding to the identifiers (ID A, ID B ) of the devices A 10 and B 20 stored in advance 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 비밀키를 생성할 수 있다.In this case, in step S130, a first secret key is generated by performing a hash operation on 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 performing a hash operation on 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 performs the searched challenge values C A1 , C B1 and response values R A1 and R of the devices A 10 and B 20 . B1 ) can be used to generate secret keys K A1 and K B1 for encrypting the authentication message. In this case, the secret key may be a symmetric key, and may be generated as 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, step S130 generates a first encrypted value obtained by encrypting the nonce value of the device A 10 and the nonce value of the authentication server 30 using the first secret key, and the second secret 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)을 생성할 수 있다.In this case, in step S130 , the authentication server 30 may generate a nonce value Nonce (N S ), which 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 obtain a nonce value Nonce (N A ) of the device A 10 and a nonce value Nonce (N) of the authentication server 30 . and S), a first encrypted value, encrypting, the two secret keys (K B1) nonce values nonce (N S) of the device B (20) nonce values nonce (N B) and the authentication server (30) of using the An encrypted second encryption value may be generated.

이 때, 단계(S130)는 DES, AES 등 여러 대칭 키 암호 방식 중 하나를 선택하여 암호화 알고리즘을 사용하여 암호화를 수행할 수 있고, 디바이스 자원을 고려하여 동작할 수 있다.In this case, 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 may operate in consideration of device resources.

이 때, 단계(S130)는 상기 제1 챌린지 값 (CA1), 상기 제2 챌린지 값 (CB1), 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성할 수 있다.In this case, 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 the first authentication response message to the device B 20 ( S140 ).

디바이스 B(20)는 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버(30)를 인증하고, 제2 인증 응답 메시지를 생성할 수 있다(S150, S160).The 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 performing a PUF operation on the second challenge value, and a second device secret key is generated by performing a hash operation on the second challenge value and the second device response value. can

이 때, 단계(S150)는 디바이스 B(20)가 제2 챌린지 값(CB1)을 PUF 연산하여 제2 디바이스 리스폰스 값(RB1)을 생성할 수 있다(RB1=P(CB1)).In this case, 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 the device B 20 is compared with a pre-stored nonce value of the device B 20. Based on the 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 to obtain the nonce value Nonce (N) of the device B 20 . B) and it may obtain a nonce value nonce (S N) of the authentication server 30.

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

이 때, 단계(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 transmitted 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 previously stored device A 10 and the nonce value of the authentication server 30 decrypted from the second encryption value, and the third secret key is generated. A third encryption value obtained by encrypting the nonce value of the device B 20 may be generated using the 3 secret key.

이 때, 단계(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 obtain a 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) the nonce values (N A , N S ).

이 때, 단계(S160)는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.In this case, step S160 may generate 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.

이 때, 단계(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 performs 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).Also, 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 performs a third PUF-based encryption operation on the second authentication response message to authenticate the authentication server 30 and the device B 20 , and requests a second authentication A message can be generated (S180, S190).

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

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

이 때, 단계(S180)는 디바이스 A(10)가, 제1 챌린지 값(CA1)과 제1 디바이스 리스폰스 값(RA1)을 이용하여 제1 디바이스 비밀키(KA1)를 생성할 수 있다.In this case, in step S180 , the 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 the device A10 is compared with a pre-stored nonce value of the device A10. Based on the 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, the step (S180) the device A (10) a first device private key (K A1) nonce value of the device A (10) and decrypts the first encrypted value by using the Nonce (N A) and the authentication server, It may obtain a nonce value nonce (S N) of 30.

이 때, 단계(S180)는 디바이스 A(10)가, 제1 인증 요청 메시지에서 전송한 자신의 논스 값 Nonce(NA)과 복호화된 디바이스 A의 논스 값 Nonce(NA)를 비교할 수 있다.At this time, the step (S180) may be compared to the device A (10) a first authentication request message, his nonce value sent by the Nonce nonce value for (N A) and the decoding device A Nonce (N A).

이 때, 단계(S180)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.At this time, in step S180 , if the comparison results match, authentication may be successful and the next step may be performed, and if not, an error message may 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 hashes the nonce value of the device A 10 that is stored in advance and the nonce value of the authentication server 30 decrypted from the first encryption value to obtain the third secret key. and decrypting the third encryption value using the third secret key to obtain the nonce value of the device B 20 .

이 때, 단계(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 receive a second authentication response message A third secret key (K S ) 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 uses the third secret key to obtain the third response value, the device The second authentication request message including the nonce value of B 20 and the fourth encryption value obtained by encrypting 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 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 (Future Authentication).

이 때, 단계(S190)는 제1 챌린지 값(CA1)과 인증 서버(30)의 논스 값 Nonce(NS)를 조합하여 해시 함수로 제3 챌린지 값(CA2)을 생성할 수 있다.In this case, in step S190 , the third challenge value C A2 may be generated using a hash function by combining the first challenge value C A1 and the nonce value Nonce (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, the step (S190) the device A (10) a third secret key nonce value of the device B using the (K S) nonce value of Nonce (N B), the authentication server (30) 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).Also, the device A 10 may transmit a second authentication request message to the device B 20 ( S200 ).

디바이스 B(20)는 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성할 수 있다(S210, S220).The device B 20 may perform a fourth PUF-based encryption operation on the second authentication request message to authenticate the first device 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 pre-stored device B 20 are stored. The device A 10 may be authenticated based on a result of comparing the nonce values of .

이 때, 단계(S210)는 디바이스 B(20)가 제3 비밀키(KS)를 이용하여 제4 암호화 값을 복호화할 수 있다.In this case, 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, in step S210, the nonce value Nonce (N B ) of the device B 20, the nonce value Nonce (N S ) and the third response value (R A2 ) of the authentication server 30 are obtained through decryption. can do.

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

이 때, 단계(S210)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 A(10)와 인증 서버(30)로 에러 메시지를 송신할 수 있다.At this time, in step S210 , if the comparison results match, authentication may be successful and the next step may be performed, and if not, 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)에 사용될 수 있다.In addition, in step S220, the device B 20 may generate a fourth response value R B2 by performing PUF operation on the fourth challenge value C B2 for CRP data. 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 (Future Authentication).

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

이 때, 단계(S220)는 상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버(30)의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성할 수 있다.In this case, 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 the fifth encrypted 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, the step (S220) is the device B (20), group generate a nonce value of the second secret key (K B1) an authentication server (30) using a Nonce (N S), the device A (10) to update 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 the device B 20 to be updated may be generated.

또한, 디바이스 B(20)는 제3 인증 요청 메시지를 인증 서버(30)로 송신할 수 있다(S230).Also, 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 performs a fifth PUF-based encryption operation on the third authentication request message to authenticate the device A 10 and the device B 20, and a challenge used for 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 the 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 암호화 값을 복호화할 수 있다.In this case, 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, the step (S240), the authentication server 30 is for a third response value of the nonce values Nonce (N S), the device A (10) to update the authentication server 30 through the decoding (R A2), updating A fourth response value R B2 of the device B 20 may be obtained.

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

이 때, 단계(S240)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 만약 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.At this time, in step S240 , if the comparison results match, authentication may be successful and the next step may be performed, and if not, 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 is generated by performing a PUF operation on the third response value decrypted from the fifth encrypted value, and a fourth challenge value can be generated by performing a PUF operation on the fourth response value. have.

이 때, 단계(S250)는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.At this time, step S250 updates 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 the second challenge-response pair The second challenge value and the second response value may be updated with 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 the devices A and B for future authentication (Future Authentication) You can update the values (C A1, R A1 ) and (C B1, R B1 ) 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 as a hash function by combining the nonce value Nonce (N B ) of the device B 20 and the nonce (N S ) of the authentication server 30 .

이 때, 단계(S260)는 공유된 세션 키를 이용한 암호화된 보안 채널 제공을 통해 디바이스 간 안전한 데이터 전송이 가능하게 된다.In this case, step S260 enables secure data transmission between devices by providing an encrypted secure channel using the 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 , the devices and the authentication server corresponding to the PUF-based mutual authentication apparatus according to an embodiment of the present invention may be implemented in the 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 , a memory 1130 , a user interface input device 1140 , and a user interface output device 1150 that communicate with each other via a bus 1120 . and storage 1160 . In addition, the computer system 1100 may further include a network interface 1170 coupled to the 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 a ROM 1131 or a 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 for storing at least one or more programs executed by the one or more processors 1110, wherein the at least one program authenticates a first authentication request message generated by receiving a request for authentication from another device Transmitting to a 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, and receiving 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. Receives the generated second authentication request message, performs a fourth PUF-based encryption operation on the second authentication request message to authenticate the other device, generates a third authentication request message, and transmits it to the authentication server. The 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 apparatus according to an embodiment of the present invention, includes one or more processors and an execution memory for storing at least one or more programs executed by the one or more processors, and the at least one or more programs sends a first authentication request message including its identifier and nonce value to another device to request authentication, and performs a first PUF-based encryption operation on the first authentication response message received from another device to communicate with the authentication server 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, the 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 for storing at least one program executed by the one or more processors, the at least one program comprising: A first PUF-based encrypted PUF operation is performed on a first authentication request message received from a second device requesting authentication of the first device, a first authentication response message is generated and transmitted to the second device, and the second 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 the challenge-response pairs used in the first PUF-based encryption operation have.

본 발명의 일실시예에 따른 인증 서버는 디바이스 마다 각각 초기 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 the CRP for future authentication can be obtained while performing the authentication protocol. Thus, it is possible to minimize the server storage space, solve the management problem due to the increase in devices, and solve the security vulnerability that exposes the entire CRP 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 response information to a challenge during the authentication process. In addition, the device may use the authentication server as an intermediary to provide a mutual authentication method between the device and the device, which is newly requested. Finally, the present invention can provide a secure channel function by sharing a session key for data communication channel protection while performing an authentication protocol.

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

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

Cited By (1)

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

Citations (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
KR20190045575A (en) * 2017-10-24 2019-05-03 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system

Patent Citations (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
KR20190045575A (en) * 2017-10-24 2019-05-03 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system

Cited By (2)

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

Also Published As

Publication number Publication date
KR102539418B1 (en) 2023-06-05

Similar Documents

Publication Publication Date Title
CN110120869B (en) Key management system and key service node
US11563567B2 (en) Secure shared key establishment for peer to peer communications
EP3090520B1 (en) System and method for securing machine-to-machine communications
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
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
US20140068267A1 (en) Universal secure messaging for cryptographic modules
US11329835B2 (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
JP2012050066A (en) Secure field-programmable gate array (fpga) architecture
WO2023083007A1 (en) Internet of things device identity authentication method, apparatus and system, and storage medium
US20230283475A1 (en) Identity authentication system, method, apparatus, and device, and computer-readable storage medium
US20050027979A1 (en) Secure transmission of data within a distributed computer system
US20190044922A1 (en) Symmetric key identity systems and methods
KR100668446B1 (en) Safe --method for transferring digital certificate
KR102591826B1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
KR20200104084A (en) APPARATUS AND METHOD FOR AUTHENTICATING IoT DEVICE BASED ON PUF
US20220045848A1 (en) Password security hardware module
KR102539418B1 (en) Apparatus and method for mutual authentication based on physical unclonable function
CN115473655B (en) Terminal authentication method, device and storage medium for access network
KR20210126319A (en) Apparatus and method for managing key
CN116208330A (en) Industrial Internet cloud-edge cooperative data secure transmission method and system based on quantum encryption
CN114285557A (en) Communication encryption method, system and device
CN112398818B (en) Software activation method and related device thereof

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