KR20210083991A - Method of authenticating message for lightweight device and apparatuses performing the same - Google Patents
Method of authenticating message for lightweight device and apparatuses performing the same Download PDFInfo
- Publication number
- KR20210083991A KR20210083991A KR1020190176843A KR20190176843A KR20210083991A KR 20210083991 A KR20210083991 A KR 20210083991A KR 1020190176843 A KR1020190176843 A KR 1020190176843A KR 20190176843 A KR20190176843 A KR 20190176843A KR 20210083991 A KR20210083991 A KR 20210083991A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- electronic device
- mac
- authentication
- message authentication
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
아래 실시예들은 경량 기기 전용 메시지 인증 방법 및 이를 수행하는 장치들에 관한 것이다.The following embodiments relate to a message authentication method dedicated to a lightweight device and apparatuses for performing the same.
최근에는 경량 기기 시장이 확대되고 있다. 예를 들어, 최근에는 스마트 기기 및/또는 센서 등의 단말기인 경량 기기를 통해 수많은 사람과 기기가 연결될 수 있다. 경량 기기는 초소형, 저전력 및 저가라는 특징을 가질 수 있다.Recently, the lightweight device market is expanding. For example, recently, many people and devices may be connected through a smart device and/or a light-weight device that is a terminal such as a sensor. A lightweight device may have the characteristics of being very small, low power and low cost.
하지만, 경량 기기는 많은 연산량을 필요로 하는 종래의 암호화 알고리즘, 메시지 인증 프로토콜, 및/또는 개체 인증 프로토콜 등이 적용되기 어려울 수 있다.However, it may be difficult to apply a conventional encryption algorithm, a message authentication protocol, and/or an entity authentication protocol that requires a large amount of computation to a lightweight device.
최근에는 경량 기기 시작의 확대에 의해 경량 기기 및 데이터에 대한 사용자의 인증, 정보 무결성, 해킹, 사생활 침해 및/또는 신뢰성 검증 등과 같은 보안 문제가 떠오르고 있다. 예를 들어, 최근에는 경량 기기에 적합한 경량의 특징을 가지면서도 신뢰할 수 있는 새로운 보안 플랫폼이 요구된다.In recent years, security issues such as authentication of users for lightweight devices and data, information integrity, hacking, invasion of privacy and/or reliability verification, etc. are emerging due to the expansion of the lightweight device startup. For example, in recent years, there is a demand for a new reliable security platform with lightweight features suitable for lightweight devices.
소프트웨어로 구현되는 종래의 보안 시스템의 신뢰성은 알고리즘의 연산량에 비례한다는 특징이 있을 수 있다. 따라서, 종래의 보안 시스템은 알고리즘 연산에 의존한다는 점에서 취약한 단점이 있다.The reliability of the conventional security system implemented in software may be characterized in that it is proportional to the amount of computation of the algorithm. Therefore, the conventional security system is weak in that it relies on algorithmic operation.
종래의 보안 시스템은 클라이언트와 서버 간에 키 공유 시, 키를 경량 기기 내의 메모리에 저장해야 한다. 종래의 보안 시스템은 경량 기기 내 공유키 저장으로 인해 해킹 위험성을 내포하고 있다는 단점이 있다. 종래의 보안 시스템은 신뢰성을 암호학적으로 분석 및/또는 증명하는 것이 까다롭다는 단점이 있다.In the conventional security system, when a key is shared between a client and a server, the key must be stored in a memory in a lightweight device. The conventional security system has a disadvantage in that it contains a risk of hacking due to storage of a shared key in a lightweight device. The conventional security system has a disadvantage in that it is difficult to cryptographically analyze and/or prove the reliability.
실시예들은 TRNG PUF 및 CRP PUF에 기반한 하드웨어인 보안 칩과 메시지 인증 서버를 통해 전자 장치가 전송한 메시지에 대한 메시지 인증을 수행하는 기술을 제공할 수 있다.Embodiments may provide a technique for performing message authentication on a message transmitted by an electronic device through a security chip, which is hardware based on TRNG PUF and CRP PUF, and a message authentication server.
일 실시예에 따른 경량 기기 전용 메시지 인증 방법은 제1 전자 장치가 메시지 인증 서버가 생성한 패킷을 수신하는 단계와, 상기 제1 전자 장치가 상기 메시지 인증 서버의 제2 전자 장치가 전송한 메시지에 대한 인증 성공에 응답하여 상기 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계를 포함한다.A light-weight device-only message authentication method according to an embodiment includes the steps of: receiving, by a first electronic device, a packet generated by a message authentication server; and performing authentication on the message included in the packet in response to authentication success.
상기 수행하는 단계는 상기 패킷에서 챌린지 신호, 제1 MAC(message authentication code) 및 상기 메시지를 추출하는 단계와, 상기 제1 전자 장치에 포함된 PUF(physical unclonable function) 회로에 상기 챌린지 신호를 입력하여 응답 신호를 출력하는 단계와, 상기 메시지 및 상기 응답 신호를 이용하여 제2 MAC을 생성하는 단계와, 상기 제1 MAC 및 상기 제2 MAC를 비교하여 상기 메시지를 인증하는 단계를 포함할 수 있다.The performing may include extracting a challenge signal, a first message authentication code (MAC) and the message from the packet, and inputting the challenge signal to a physical unclonable function (PUF) circuit included in the first electronic device. The method may include outputting a response signal, generating a second MAC using the message and the response signal, and authenticating the message by comparing the first MAC and the second MAC.
상기 인증하는 단계는 상기 제1 MAC과 상기 제2 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하는 단계, 또는 상기 제1 MAC과 상기 제2 MAC이 동일하지 않는 경우, 상기 메시지에 대한 인증을 실패로 결정하는 단계를 포함할 수 있다.In the authenticating step, when the first MAC and the second MAC are the same, determining that the authentication of the message is successful, or when the first MAC and the second MAC are not the same, determining authentication to fail.
상기 메시지 인증 방법은 상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷을 수신하는 단계와, 상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계와, 상기 메시지 인증 서버가 상기 메시지에 대한 인증 결과를 상기 제2 전자 장치로 전송하는 단계를 포함할 수 있다.The message authentication method includes: receiving, by the message authentication server, a packet generated by the second electronic device; and performing, by the message authentication server, authentication on the message included in the packet generated by the second electronic device. and transmitting, by the message authentication server, an authentication result for the message to the second electronic device.
상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계는 상기 제2 전자 장치가 생성한 패킷에서 챌린지 신호, 제1 MAC 및 상기 메시지를 추출하는 단계와, CRP(challenge to response pairs) 리스트로부터 상기 챌린지 신호에 대응하는 응답 신호를 추출하는 단계와, 상기 메시지 및 상기 응답 신호를 이용하여 제2 MAC을 생성하는 단계와, 상기 제1 MAC 및 상기 제2 MAC을 비교하여 상기 메시지를 인증하는 단계를 포함할 수 있다.The step of the message authentication server authenticating the message included in the packet generated by the second electronic device may include extracting the challenge signal, the first MAC, and the message from the packet generated by the second electronic device. and extracting a response signal corresponding to the challenge signal from a list of challenge to response pairs (CRP); generating a second MAC using the message and the response signal; Comparing two MACs may include authenticating the message.
상기 인증하는 단계는 상기 제1 MAC과 상기 제2 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하는 단계, 또는 상기 제1 MAC과 상기 제2 MAC이 동일하지 않는 경우, 상기 메시지에 대한 인증을 실패로 결정하는 단계를 포함할 수 있다.In the authenticating step, when the first MAC and the second MAC are the same, determining that the authentication of the message is successful, or when the first MAC and the second MAC are not the same, determining authentication to fail.
상기 메시지 인증 방법은 상기 메시지 인증 서버가 상기 제2 전자 장치로부터 전송된 상기 제1 전자 장치의 ID에 응답하여 상기 메시지 인증 서버가 생성한 패킷을 상기 제1 전자 장치에 전송하는 단계를 더 포함할 수 있다.The message authentication method may further include transmitting, by the message authentication server, a packet generated by the message authentication server to the first electronic device in response to the ID of the first electronic device transmitted from the second electronic device. can
상기 전송하는 단계는 상기 제1 전자 장치의 ID에 응답하여 난수를 생성하는 단계와, 상기 난수를 상기 메시지가 인증되게 하기 위한 챌린지 신호로 변환하는 단계와, CRP(challenge to response pairs) 리스트로부터 상기 챌린지 신호에 대응하는 응답 신호를 추출하는 단계와, 상기 메시지 및 상기 응답 신호를 이용하여 MAC을 생성하는 단계와, 상기 챌린지 신호, 상기 메시지 및 상기 MAC을 패킷화하는 단계를 포함할 수 있다.The transmitting may include generating a random number in response to the ID of the first electronic device, converting the random number into a challenge signal for authenticating the message, and receiving the random number from a list of challenge to response pairs (CRP). It may include extracting a response signal corresponding to the challenge signal, generating a MAC using the message and the response signal, and packetizing the challenge signal, the message, and the MAC.
일 실시예에 따른 전자 장치는 메시지 인증 장치와 통신을 수행하여 상기 메시지 인증 장치가 생성한 패킷을 수신하는 송수신기와, 상기 메시지 인증 서버의 상이한 전자 장치가 전송한 메시지에 대한 인증 성공에 응답하여 상기 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 보안 칩을 포함할 수 있다.An electronic device according to an embodiment communicates with a message authentication device and receives a packet generated by the message authentication device, and a transceiver in response to authentication success for messages transmitted by different electronic devices of the message authentication server. A security chip for authenticating the message included in the packet may be included.
상기 보안 칩은 상기 패킷에 포함된 챌린지 신호에 응답하여 응답 신호를 출력하는 PUF 회로와, 상기 메시지 및 상기 응답 신호를 이용하여 MAC을 생성하는 생성기와, 생성된 MAC 및 상기 패킷에 포함된 MAC을 비교하여 상기 메시지를 인증하는 인증기를 포함할 수 있다.The security chip includes a PUF circuit for outputting a response signal in response to the challenge signal included in the packet, a generator for generating a MAC using the message and the response signal, and the generated MAC and the MAC included in the packet. It may include an authenticator that compares and authenticates the message.
상기 인증기는 상기 생성된 MAC과 상기 패킷에 포함된 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하거나 상기 생성된 MAC과 상기 패킷에 포함된 MAC이 동일하지 않은 경우, 상기 메시지에 대한 인증을 실패로 결정할 수 있다.The authenticator determines that the authentication of the message is successful when the generated MAC and the MAC included in the packet are the same, or when the generated MAC and the MAC included in the packet are not the same, the authenticator authenticates the message can be determined to fail.
상기 송수신기는 상기 보안 칩에 구현될 수 있다.The transceiver may be implemented in the security chip.
도 1은 메시지 인증 방법을 설명하기 위한 일 예를 나타낸다.
도 2는 난수 생성용 물리적 복제 불가능 함수를 설명하기 위한 일 예를 나타낸다.
도 3은 챌린지-응답 쌍 생성용 물리적 복제 불가능 함수를 설명하기 위한 일 예를 나타낸다.
도 4는 일 실시예에 따른 메시지 인증 시스템의 개략적인 블록도를 나타낸다.
도 5는 도 4에 도시된 제1 전자 장치의 개략적인 블록도를 나타낸다.
도 6은 도 4에 도시된 메시지 인증 서버의 개략적인 블록도를 나타낸다.
도 7a는 전자 장치들 및 메시지 인증 서버 간의 메시지 인증 동작을 설명하기 위한 일 예를 나타낸다.
도 7b는 전자 장치들 및 메시지 인증 서버 간의 메시지 인증 동작을 설명하기 위한 다른 예를 나타낸다.
도 8은 도 4에 도시된 제2 전자 장치가 생성한 메시지를 인증하기 위한 메시지 인증을 설명하기 위한 순서도를 나타낸다.1 shows an example for explaining a message authentication method.
2 shows an example for explaining a physically non-replicable function for generating a random number.
3 shows an example for explaining a physically non-replicable function for generating a challenge-response pair.
4 shows a schematic block diagram of a message authentication system according to an embodiment.
FIG. 5 is a schematic block diagram of the first electronic device shown in FIG. 4 .
6 shows a schematic block diagram of the message authentication server shown in FIG.
7A illustrates an example for explaining a message authentication operation between electronic devices and a message authentication server.
7B illustrates another example for describing a message authentication operation between electronic devices and a message authentication server.
8 is a flowchart illustrating message authentication for authenticating a message generated by the second electronic device shown in FIG. 4 .
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one element from another element, for example, without departing from the scope of rights according to the concept of the embodiment, a first element may be named as a second element, and similarly The second component may also be referred to as the first component.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.
도 1은 메시지 인증 방법을 설명하기 위한 일 예를 나타낸다.1 shows an example for explaining a message authentication method.
메시지 인증은 상대방이 자신과 동일한 키를 가지고 있는지 여부에 따라 메시지가 안전하고, 신뢰도 있는 메시지임을 인증하는 과정이다.Message authentication is a process of authenticating that a message is a safe and reliable message depending on whether the other party has the same key as itself.
기존의 메시지 인증 방법은 해시 함수, 메시지 인증 코드(message authentication code; MAC) 및 공유 키에 기반한 메시지 인증 프로토콜을 통해 메시지 인증을 수행한다.The existing message authentication method performs message authentication through a message authentication protocol based on a hash function, a message authentication code (MAC), and a shared key.
기존 메시지 인증 프로토콜은 메시지를 전송할 때 해시 함수와 공유된 비밀 키를 이용하여 MAC을 생성한다. 기존 메시지 인증 프로토콜은 MAC을 메시지와 함께 전송하여 메시지에 대한 인증을 수행하는 MAC 및 공유 키 기반의 프로토콜일 수 있다. MAC은 작은 데이터 블록일 수 있다. MAC 생성시 사용되는 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터(또는 해시값)로 매핑하는 함수일 수 있다. 기존의 메시지 인증 프로토콜은 해시 함수를 통해 입력 메시지에 대한 오류나 변조가 탐지 가능한 증거값을 생성할 수 있다.Existing message authentication protocols generate a MAC using a hash function and a shared secret key when sending a message. The existing message authentication protocol may be a protocol based on MAC and shared key that performs authentication on a message by transmitting the MAC along with the message. A MAC may be a small data block. The hash function used when generating the MAC may be a function that maps data of an arbitrary length to data (or hash value) of a fixed length. Existing message authentication protocols can generate evidence values that detect errors or tampering with input messages through hash functions.
도 1에 도시된 바와 같이 메시지 인증 방법은 기존의 메시지 인증 프로토콜을 통해 제1 기기(alice)와 제2 기기(bob) 간의 메시지 인증을 수행한다.1 , the message authentication method performs message authentication between a first device (alice) and a second device (bob) through an existing message authentication protocol.
구체적으로, 제1 기기(alice)와 제2 기기(bob)는 기존의 메시지 인증 방법을 통해 메시지 인증을 수행한다. 제1 기기(alice)는 메시지 인증을 주장하는 주장자(claimant)이다. 제2 기기(bob)는 메시지 인증을 증명하는 증명자(verifier)이다. 제1 기기(alice)와 제2 기기(bob)는 안전한 채널을 통해 사전에 키()를 분배 및 공유하는 절차가 이미 수행되어 있을 수 있다.Specifically, the first device (alice) and the second device (bob) perform message authentication through the existing message authentication method. The first alice is a claimant claiming message authentication. The second device (bob) is a verifier that proves message authentication. The first device (alice) and the second device (bob) are pre-keyed through a secure channel. ) may already have been distributed and shared.
먼저, 제1 기기(alice)는 메시지(m)를 입력으로 사전에 공유된 사전 공유 키()를 키로 사용하여 해시 함수를 통해 제1 MAC(, m)를 생성한다. 제1 기기(alice)는 제1 MAC을 메시지(m)와 함께 제2 기기(bob)에 전송한다.First, the first device (alice) receives a message (m) as an input and a pre-shared key ) as the key, the first MAC( , m) is created. The first device (alice) transmits the first MAC together with the message (m) to the second device (bob).
이후에, 제2 기기(bob)는 제1 기기(alice)로부터 전송된 메시지(m)를 입력으로 사전 공유 키()를 키로 사용하여 해시 함수를 통해 제2 MAC(, m)을 생성한다.Thereafter, the second device (bob) receives the message (m) transmitted from the first device (alice) as an input to the pre-shared key ( ) as the key, through the hash function to the second MAC( , m) is created.
제2 기기(bob)는 제1 MAC과 제2 MAC을 비교하는 과정을 통해 제1 기기(alice) 및 제2 기기(bob) 간의 메시지 인증 즉, 제1 기기(alice)의 메시지에 대한 메시지 인증을 수행한다. 제1 MAC과 제2 MAC이 일치하는 경우, 제1 기기(alice) 및 제2 기기(bob) 간의 메시지 인증은 성공했다고 판단될 수 있다.The second device (bob) authenticates the message between the first device (alice) and the second device (bob) through the process of comparing the first MAC and the second MAC, that is, the message authentication for the message of the first device (alice) carry out When the first MAC and the second MAC match, it may be determined that message authentication between the first device (alice) and the second device (bob) is successful.
이에, 기존의 메시지 인증 방법은 MAC를 통해 개별 메시지에 대한 인증 절차를 일일이 수행하여 메시지 무결성(message integrity) 및 메시지 근원 인증(message origin authentication)을 검증한다. 기존의 메시지 인증 방법은 대용량의 메시지를 고정된 길이의 데이터로 압축하는 효과가 있기 때문에, 통신 시 비용이 줄어드는 이점이 있다.Accordingly, the existing message authentication method verifies message integrity and message origin authentication by individually performing authentication procedures for individual messages through MAC. Since the existing message authentication method has an effect of compressing a large-capacity message into data of a fixed length, there is an advantage in that communication costs are reduced.
도 2는 난수 생성용 물리적 복제 불가능 함수를 설명하기 위한 일 예를 나타내고, 도 3은 챌린지-응답 쌍 생성용 물리적 복제 불가능 함수를 설명하기 위한 일 예를 나타낸다.FIG. 2 shows an example for explaining a physically non-replicable function for generating a random number, and FIG. 3 shows an example for explaining a physically non-replicable function for generating a challenge-response pair.
물리적 복제 불가능 함수(physical unclonable function; PUF) 시스템은 CMOS(complementary metal-oxide semiconductor) 공정을 기반으로 하는 시스템일 수 있다. CMOS 공정은 고집적 및 저비용의 장점을 가지고 있는 공정일 수 있다.The physically unclonable function (PUF) system may be a system based on a complementary metal-oxide semiconductor (CMOS) process. The CMOS process may be a process having advantages of high integration and low cost.
물리적 복제 불가능 함수(physical unclonable function; PUF) 시스템은 특정한 입력에 의해 고유한 값을 무작위로(Randomly) 빠르게 생성할 수 있다. 특정한 입력은 챌린지(challenge)일 수 있다. 고유한 값은 입력에 대응하는 값으로 ID 또는 응답(response)일 수 있다. CMOS를 이용한 물리적 복제 불가능 칩이 생산되는 경우, 고유한 값은 동일한 구조(또는 동일한 레이아웃)를 갖는 서로 다른 칩이 생산되더라도 공정상의 불일치(Process Mismatch)에 의해 생성될 수 있다.A physical unclonable function (PUF) system can rapidly and randomly generate a unique value based on a specific input. A particular input may be a challenge. The unique value is a value corresponding to an input and may be an ID or a response. When a physically non-replicable chip using CMOS is produced, a unique value may be generated due to a process mismatch even when different chips having the same structure (or the same layout) are produced.
외부의 환경 변화에 상관없이 물리적 복제 불가능 함수가 동일한 입력에 의해 입력에 대응하는 동일한 물리적 값을 가지는 것은 재생산성(Reproducibility) 및/또는 안정성(Stability)이라는 확률적 성질로 나타낼 수 있다. 확률적 성질은 물리적 복제 불가능 함수의 중요한 성능 지표 중에서 하나일 수 있다. 물리적 복제 불가능 함수가 서로 다른 입력에 대해 서로 다른 물리적 값을 가지는 것은 인증식별성(Uniqueness, Randomness 또는 Identifiability)으로 나타낼 수 있다.The fact that the physically non-replicable function has the same physical value corresponding to the input by the same input regardless of changes in the external environment can be expressed as a probabilistic property of reproducibility and/or stability. The probabilistic property may be one of the important performance indicators of the physically non-replicable function. The fact that the physically non-replicable function has different physical values for different inputs can be expressed as uniqueness, randomness, or identity.
도 2를 참조하면, 난수 생성용 물리적 복제 불가능 함수(true random number generator physical unclonable function; TRNG PUF)는 특정 신호(응답 생성 시작 신호)에 의해 무작위한 난수 값을 생성할 수 있다. 무작위한 난수 값은 공정상의 불일치에 의해 결정될 수 있다.Referring to FIG. 2 , a true random number generator physical unclonable function (TRNG PUF) for generating random numbers may generate a random random number value according to a specific signal (response generation start signal). A random random number value may be determined by a process inconsistency.
TRNG PUF는 동일한 구조를 가지는 칩이더라도, 칩 마다 다른 난수 값을 생성할 수 있다. 한 칩에서 생성된 난수 값은 재생성시 전혀 다른 난수 값을 가지게 될 수 있다.The TRNG PUF may generate a different random number value for each chip even if the chips have the same structure. A random number value generated by one chip may have a completely different random number value when it is regenerated.
도 3을 참조하면, 챌린지-응답 쌍 생성용 물리적 복제 불가능 함수(challenge to response pairs physical unclonable function; CRP PUF)는 특정한 챌린지 입력에 대해 고유한 무작위의 응답을 생성할 수 있다. 챌린지-응답 쌍(CRP)은 특정한 챌린지와 챌린지에 대응하는 응답 간의 쌍일 수 있다. 챌린지-응답 쌍 목록(CRP List)은 챌린지-응답 쌍들의 목록일 수 있다.Referring to FIG. 3 , a challenge to response pairs physical unclonable function (CRP PUF) may generate a unique random response to a specific challenge input. A challenge-response pair (CRP) may be a pair between a particular challenge and a response corresponding to the challenge. The challenge-response pair list (CRP List) may be a list of challenge-response pairs.
CRP PUF는 동일한 구조를 가지는 칩이더라도, 칩 마다 서로 다른 챌린지-응답 쌍을 갖는 특징이 있을 수 있다. 다만, CRP PUF는 한 칩 내에서 동일한 챌린지 입력에 대해 동일한 응답이 생성되어야 한다. CRP PUF는 다른 챌린지 입력에 대해 다른 응답이 생성되어야 한다.Even if the CRP PUF is a chip having the same structure, there may be a feature of having a different challenge-response pair for each chip. However, the CRP PUF should generate the same response to the same challenge input within one chip. CRP PUFs must generate different responses for different challenge inputs.
도 4는 일 실시예에 따른 메시지 인증 시스템의 개략적인 블록도를 나타낸다.4 shows a schematic block diagram of a message authentication system according to an embodiment.
메시지 인증 시스템(10)은 기존의 메시지 인증 시스템을 대체하는 경량 기기 전용의 메시지 인증 시스템일 수 있다. 메시지 인증 시스템(10)는 도 2 및 도 3에서 설명된 물리적 복제 불가능 함수에 기반한 메시지 인증 기법을 이용하여 메시지 인증을 수행할 수 있다.The
메시지 인증 시스템(10)은 제1 전자 장치(100), 메시지 인증 서버(300) 및 제2 전자 장치(500)를 포함한다.The
제1 전자 장치(100) 및 제2 전자 장치(500)는 동일한 구조의 경량 기기일 수 있다. 제1 전자 장치(100) 및 제2 전자 장치(500)는 프로세서(또는 마이크로 프로세서), 메모리, 소프트웨어 기반의 CRP 및 난수 생성기가 설치(또는 내장, 탑재)되기 어려운 전자 장치일 수 있다.The first
전자 장치(100 및 500)는 많은 연산량을 필요로 하지 않는 IoT(internet of things) 장치 또는 휴대용 전자 장치 등 다양한 장치일 수 있다. 휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 스마트 디바이스(smart device)으로 구현될 수 있다. 이때, 스마트 디바이스는 스마트 워치(smart watch) 또는 스마트 밴드(smart band)로 구현될 수 있다.The
제1 전자 장치(100) 및 제2 전자 장치(500)는 안전한 채널을 통해 각 전자 장치에 대응하는 CRP 리스트(challenge to response pairs list, 또는 CRP 테이블(CRP table))를 메시지 인증 서버(300)와 공유할 수 있다. 예를 들어, 메시지 인증 서버(300)는 제1 전자 장치(100)에 대응하는 제1 CRP 리스트 및 제2 전자 장치(500)에 대응하는 제2 CRP 리스트를 데이터베이스에 저장할 수 있다. 제1 CRP 리스트는 제1 전자 장치(100)가 입력 및 출력할 수 있는 챌린지 신호와 응답 신호 쌍이 정렬된 CRP 리스트이고, 제2 CRP 리스트는 제2 전자 장치(500)가 입력 및 출력할 수 있는 챌린지 신호와 응답 신호 쌍이 정렬된 CRP 리스트일 수 있다.The first
제1 전자 장치(100) 및 제2 전자 장치(500)는 서로 간에 전송된 메시지에 대한 메시지 인증을 수행하기 위해 메시지 인증 서버(300)를 통해 서로가 전송한 메시지에 대한 메시지 인증을 수행할 수 있다.The first
제1 전자 장치(100)와 제2 전자 장치(500)는 TRNG PUF 및 CRP PUF에 기반한 하드웨어인 보안 칩을 통해 메시지 인증을 수행할 수 있다. 이때, 제1 전자 장치(100)와 제2 전자 장치(500) 각각에 포함된 보안 칩은 TRNG PUF 및 CRP PUF에 기반한 반도체 칩일 수 있다.The first
전자 장치(100 및 500)는 프로세서(또는 마이크로 프로세서), 메모리, 소프트웨어 기반의 CRP 및 난수 생성기가 없이 메시지 인증을 수행할 수 있다. 즉, 전자 장치(100 및 500)는 기존의 소프트웨어 알고리즘에 기반한 연산을 통해 암호학적으로 안전한 난수를 생성하지 않고, 자연 법칙에 의존적인 PUF 기반의 반도체인 하드웨어를 이용하여 메시지 인증을 수행할 수 있다.The
전자 장치(100 및 500)를 통한 메시지 인증은 공유 키를 내부 메모리에 저장할 필요가 없기에 효율적으로 보안성 및 신뢰성이 향상될 수 있고, 경량 기기에서 활용되기 어려운 많은 연산양을 필요로 하는 기존의 메시지 인증 방식을 대체할 수 있다.Since message authentication through the
또한, 보안 칩 및 메시지 인증 서버(300)를 통한 메시지 인증은 소프트웨어를 통한 알고리즘 연산에 종속적이라는 기존의 메시지 인증 방식(또는 기존의 메시지 인증 플랫폼, 기존의 보안 플랫폼)의 취약점 문제를 해결할 수 있고, 저가격(Low Cost), 저전력(Low Power), 고효율(High Efficiency)의 인증 시스템으로 소프트웨어를 이용한 보안 시스템이 적용되기 어려움 다양한 분야에서 활용될 수 있다.In addition, it is possible to solve the vulnerability problem of the existing message authentication method (or the existing message authentication platform, the existing security platform) that message authentication through the security chip and the
상술한 바와 같이, 제1 전자 장치(100) 및 제2 전자 장치(500)는 동일한 메시지 인증 동작을 수행하여 메시지 인증을 수행할 수 있다.As described above, the first
제1 전자 장치(100) 및 제2 전자 장치(500)의 구조 및 메시지 인증 동작이 동일하기에, 설명의 편의를 위해서 이하에서는 제1 전자 장치(100)가 제2 전자 장치(500)로부터 전송된 메시지에 대한 인증을 수행하는 것으로 가정하여 설명하도록 한다. 제1 전자 장치(100)에 대한 내용은 모두 제2 전자 장치(500)에 적용되고, 제2 전자 장치(500)에 대한 내용은 모두 제1 전자 장치(100)에 적용될 수 있다.Since the structures and message authentication operations of the first
도 5는 도 4에 도시된 제1 전자 장치의 개략적인 블록도를 나타낸다.FIG. 5 is a schematic block diagram of the first electronic device shown in FIG. 4 .
제1 전자 장치(100)는 송수신기(110) 및 보안 칩(130)을 포함할 수 있다.The first
송수신기(110)는 메시지 인증 서버(300)와 통신을 수행할 수 있다. 예를 들어, 송수신기(100)는 제1 전자 장치(100)가 생성한 메시지에 대한 인증이 수행되도록 제1 전자 장치(100)가 생성한 패킷을 메시지 인증 서버(300)에 전송할 수 있다. 송수신기(110)는 제2 전자 장치(500)가 생성한 메시지에 대한 인증이 수행되도록 메시지 인증 서버(300)로부터 전송된 패킷을 수신할 수 있다. 이때, 메시지는 각 전자 장치가 생성, 수집 및/또는 획득한 다양한 메시지, 신호 및/또는 데이터일 수 있다. 메시지 인증 서버(300)로부터 전송된 패킷은 메시지 인증 서버(300)가 생성한 패킷일 수 있다.The
도 5에 도시된 바와 같이 송수신기(110)가 보안 칩(130)과 구별되게 구현되었지만, 이에 한정하는 것은 아니다. 예를 들어, 송수신기(110)는 보안 칩(130) 내에 구현될 수 있다.As shown in FIG. 5 , the
송수신기(110)는 패킷화기(111) 및 디패킷화기(113)를 포함할 수 있다.The
패킷화기(111)는 제1 전자 장치(100)가 생성한 메시지, 챌린지 신호 및 MAC을 패킷화하여 패킷을 생성할 수 있다. 패킷은 메시지, 챌린지 신호 및 MAC을 포함할 수 있다.The
패킷화기(111)는 패킷을 메시지 인증 서버(300)로 전송할 수 있다. 이때, 패킷화기(110)는 제1 전자 장치(100)의 ID(또는 식별자)를 패킷과 함께 메시지 인증 서버(300)에 전송할 수 있다. 예를 들어, 제1 전자 장치(100)의 ID는 패킷과 구별되게 독립적으로 전송되거나 패킷에 포함되어 전송될 수 있다.The
디패킷화기(113)는 메시지 인증 서버(300)로부터 전송된 패킷을 디패킷화하여 챌린지 신호, MAC 및 메시지를 추출할 수 있다. 이때, 추출된 챌린지 신호 및 MAC은 메시지 인증 서버(300)가 생성한 챌린지 신호 및 MAC일 수 있다. 추출된 메시지는 제2 전자 장치(500)가 생성한 메시지일 수 있다. 제2 전자 장치(500)가 생성한 메시지는 제2 전자 장치(500)로부터 메시지 인증 서버(300)로 전송되어 메시지 인증 서버(300)에 의해 메시지 인증이 수행되고, 메시지 인증 성공시 메시지 인증 서버(300)로부터 제1 전자 장치(100)로 전송될 수 있다.The
디패킷화기(113)는 추출된 챌린지 신호, MAC 및 메시지를 보안 칩(130)으로 전송할 수 있다.The
보안 칩(130)은 제1 전자 장치(100)가 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증을 수행할 때 및 제2 전자 장치(500)가 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증을 수행할 때 필요한 메시지 인증 관련 동작을 수행할 수 있다.When the first
보안 칩(130)은 제1 PUF 회로(131), 제2 PUF 회로(133), 생성기(135) 및 인증기(137)를 포함할 수 있다. 이때, 보안 칩(130)은 마더보드(motherboard)와 같은 인쇄 회로 기판(printed circuit board(PCB)), 집적 회로(integrated circuit(IC)) 및/또는 SoC(system on chip)으로 구현될 수 있다.The
제1 PUF 회로(131)는 제2 전자 장치(500)의 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증에 이용될 수 있다. 제1 PUF 회로(131)는 TRNG PUF 기반의 회로일 수 있다. 제1 PUF 회로(131)는 난수를 생성할 수 있다. 제1 PUF 회로(131)는 생성된 난수를 제1 전자 장치(100)가 생성한 메시지에 대한 인증이 수행되기 위한 챌린지 신호로 출력할 수 있다.The
제2 PUF 회로(133)는 제1 전자 장치(100)의 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증 및 제2 전자 장치(500)의 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증에 이용될 수 있다. 제2 PUF 회로(133)는 CRP PUF 기반의 회로일 수 있다. 제2 PUF 회로(133)는 입력되는 입력 신호에 응답하여 응답 신호를 출력할 수 있다.The
일 예로, 제2 PUF 회로(133)는 제2 전자 장치(500)의 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증에 이용되는 응답 신호를 출력할 수 있다. 예를 들어, 제2 PUF 회로(133)는 제1 PUF 회로(131)로부터 출력된 챌린지 신호에 응답하여 응답 신호를 출력할 수 있다. 제1 PUF 회로(131)가 출력한 챌린지 신호가 입력 신호로 제2 PUF 회로(133)에 입력되어, 제2 PUF 회로(133)는 제1 PUF 회로(131)로부터 출력된 챌린지 신호에 대응하는 응답 신호를 출력 신호로 출력할 수 있다.For example, the
다른 예로, 제2 PUF 회로(133)는 제1 전자 장치(100)의 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증에 이용되는 응답 신호를 출력할 수 있다. 예를 들어, 제2 PUF 회로(133)는 디패킷화기(133)로부터 추출된 챌린지 신호에 응답하여 응답 신호를 출력할 수 있다. 디패킷화기(133)로부터 추출된 챌린지 신호가 입력 신호로 제2 PUF 회로(133)에 입력되어, 제2 PUF 회로(133)는 디패킷화기(133)로부터 추출된 챌린지 신호에 대응하는 응답 신호를 출력할 수 있다.As another example, the
생성기(135)는 제1 전자 장치(100)의 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증 및 제2 전자 장치(500)의 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증에 이용될 수 있다. 생성기(135)는 메시지 및 응답 신호를 이용하여 MAC을 생성할 수 있다.The
일 예로, 생성기(135)는 제2 전자 장치(500)의 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증에 이용되는 MAC을 생성할 수 있다. 예를 들어, 생성기(135)는 제1 전자 장치(100)가 생성한 메시지 및 제1 PUF 회로(131)로부터 출력된 챌린지 신호에 대응하는 응답 신호를 이용하여 MAC을 생성할 수 있다.For example, the
다른 예로, 생성기(135)는 제1 전자 장치(100)의 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증에 이용되는 MAC을 생성할 수 있다. 예를 들어, 생성기(135)는 디패킷화기(133)로부터 추출된 메시지 및 디패킷화기(133)로부터 추출된 챌린지 신호에 대응하는 응답 신호를 이용하여 MAC을 생성할 수 있다.As another example, the
인증기(137)는 제1 전자 장치(100)의 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증에 이용될 수 있다. 예를 들어, 인증기(137)는 디패킷화기(133)로부터 추출된 MAC 및 생성기(135)가 생성한 MAC을 비교하여 디패킷화기(133)로부터 추출된 메시지를 인증할 수 있다. 디패킷화기(133)로부터 추출된 MAC과 생성기(135)가 생성한 MAC이 동일한 경우, 인증기(137)는 디패킷화기(133)로부터 추출된 메시지인 제2 전자 장치(500)로부터 전송된 메시지에 대한 인증을 성공으로 결정할 수 있다. 디패킷화기(133)로부터 추출된 MAC과 생성기(135)가 생성한 MAC이 동일하지 않은 경우, 인증기(137)는 디패킷화기(133)로부터 추출된 메시지인 제2 전자 장치(500)로부터 전송된 메시지에 대한 인증을 실패로 결정할 수 있다.The
설명의 편의를 위해 이하에서는 제2 전자 장치(500)가 전송한 메시지에 대한 메시지 인증 동작을 설명하도록 한다. 제1 전자 장치(100)가 전송한 메시지에 대한 메시지 인증 동작은 제2 전자 장치(500)가 전송한 메시지에 대한 메시지 인증 동작과 동일할 수 있다.For convenience of description, a message authentication operation for a message transmitted by the second
도 6은 도 4에 도시된 메시지 인증 서버의 개략적인 블록도를 나타낸다.6 shows a schematic block diagram of the message authentication server shown in FIG.
도 6에서는 제1 전자 장치(100)가 제2 전자 장치(500)로부터 전송된 메시지에 대한 메시지 인증을 수행하기 위해 메시지 인증 서버(300)에서 수행되는 메시지 인증 동작을 설명하도록 한다. 이는 제2 전자 장치(500)가 제1 전자 장치(100)로부터 전송된 메시지에 대한 메시지 인증을 수행하기 위해 메시지 인증 서버(300)에서 수행되는 메시지 인증 동작과 실질적으로 동일하다.In FIG. 6 , a message authentication operation performed by the
메시지 인증 서버(300)는 메모리(310) 및 프로세서(330)를 포함할 수 있다.The
메모리(310)는 프로세서(330)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(330)의 동작 및/또는 프로세서(330)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The
프로세서(330)는 메모리(310)에 저장된 데이터를 처리할 수 있다. 프로세서(330)는 메모리(310)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(330)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The
프로세서(330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).
프로세서(330)는 메시지 인증 서버(300)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(330)는 메모리(310)의 동작을 제어할 수 있다.The
프로세서(330)는 제2 전자 장치(500)가 생성한 패킷을 수신할 수 있다. 이때, 프로세서(330)는 제2 전자 장치(500)의 ID를 수신할 수 있다. 제2 전자 장치(500)의 ID는 제2 전자 장치(500)가 생성한 패킷과 구별되게 독립적으로 전송되거나 제2 전자 장치(500)가 생성한 패킷에 포함되어 전송될 수 있다.The
프로세서(330)는 제2 전자 장치(500)가 생성한 패킷에 포함된 메시지에 대한 인증을 수행할 수 있다.The
예를 들어, 프로세서(330)는 제2 전자 장치(500)가 생성한 패킷에서 챌린지 신호, MAC 및 메시지를 추출할 수 있다. 이때, 추출된 메시지는 제2 전자 장치(500)가 생성한 메시지일 수 있다. 추출된 챌린지 신호 및 MAC는 제2 전자 장치(500)가 생성한 메시지에 대한 인증이 수행되게 제2 전자 장치(500)가 생성한 챌린지 신호 및 MAC일 수 있다. 제2 전자 장치(500)가 생성한 패킷에 제2 전자 장치(500)의 ID가 포함된 경우, 프로세서(330)는 제2 전자 장치(500)가 생성한 패킷에서 제2 전자 장치(500)의 ID를 추출할 수 있다.For example, the
프로세서(330)는 제2 전자 장치(500)의 ID를 이용하여 공유된 CRP 리스트들 중에서 제2 전자 장치(500)에 대응하는 제2 CRP 리스트를 획득(또는 추출)할 수 있다. 프로세서(330)는 제2 CRP 리스트로부터 추출된 챌린지 신호에 대응하는 응답 신호를 추출할 수 있다. 프로세서(330)는 추출된 메시지 및 추출된 응답 신호를 이용하여 MAC을 생성할 수 있다.The
프로세서(330)는 추출된 MAC 및 생성된 MAC을 비교하여 추출된 메시지를 인증할 수 있다. 추출된 MAC과 생성된 MAC이 동일한 경우, 프로세서(330)는 추출된 메시지에 대한 인증을 성공으로 결정할 수 있다. 추출된 MAC과 생성된 MAC이 동일하지 않는 경우, 프로세서(330)는 추출된 메시지에 대한 인증을 실패로 결정할 수 있다.The
프로세서(330)는 추출된 메시지인 제2 전자 장치(500)가 생성한 메시지에 대한 인증 결과를 제2 전자 장치(500)로 전송할 수 있다.The
프로세서(330)는 제2 전자 장치(500)로부터 전송된 제1 전자 장치(100)의 ID에 응답하여 프로세서(330)가 생성한 패킷을 제1 전자 장치(100)에 전송할 수 있다.The
예를 들어, 프로세서(330)는 제2 전자 장치(500)로부터 전송된 제1 전자 장치(100)의 ID에 응답하여 TRNG PUF에 기반한 난수를 생성할 수 있다. 프로세서(330)는 난수를 제1 전자 장치(100)에 의해 제2 전자 장치(500)가 생성한 메시지가 인증되기 위한 챌린지 신호로 변환할 수 있다. 프로세서(330)는 제1 전자 장치(100)에 대응하는 제1 CRP 리스트로부터 변환된 챌린지 신호에 대응하는 응답 신호를 추출할 수 있다. 프로세서(330)는 제2 전자 장치(500)가 생성한 메시지 및 추출된 응답 신호를 이용하여 MAC을 생성할 수 있다. 프로세서(330)는 변환된 챌린지 신호, 제2 전자 장치(500)가 생성한 메시지 및 생성된 MAC을 패킷화하여 패킷을 생성할 수 있다.For example, the
도 7a는 전자 장치들 및 메시지 인증 서버 간의 메시지 인증 동작을 설명하기 위한 일 예를 나타내고, 도 7b는 전자 장치들 및 매사자 인증 서버 간의 메시지 인증 동작을 설명하기 위한 다른 예를 나타낸다.7A shows an example for explaining a message authentication operation between electronic devices and a message authentication server, and FIG. 7B shows another example for explaining a message authentication operation between electronic devices and a user authentication server.
도 7a를 참조하면, 개별 전자 장치는 경량 기기로 공유 키를 저장하는 메모리를 포함하지 않지만, TRNG PUF 회로와 CRP PUF 회로가 내장될 수 있다. TRNG PUF는 난수 분포도 및 자기 상관 함수 그래프 등이 인증 식별성(randomness)의 성능 지표일 수 있다. CRP PUF는 해밍 거리와 비트 오류율 등이 인증 식별성과 인증 안정성(stability)의 성능 지표일 수 있다.Referring to FIG. 7A , the individual electronic device is a lightweight device and does not include a memory for storing a shared key, but a TRNG PUF circuit and a CRP PUF circuit may be built-in. In the TRNG PUF, a random number distribution map and an autocorrelation function graph may be performance indicators of authentication randomness. In the CRP PUF, a Hamming distance and a bit error rate may be performance indicators of authentication identification and authentication stability.
전자 장치들이 서로 동일한 구조로 설계된다 할지라도 물리적 복제 불가능 함수의 입출력쌍이 개별 전자 장치마다 다르기에, 임의의 전자 장치는 다른 전자 장치의 비밀 키를 알아내거나 저장할 수 없다.Even if the electronic devices are designed to have the same structure, since the input/output pair of the physically non-replicable function is different for each electronic device, any electronic device cannot find out or store the secret key of another electronic device.
따라서, 메시지 인증은 개별 전자 장치에서 직접적으로 수행될 수 없고, 모든 전자 장치들 각각의 PUF 입출력 값을 알고 있고 신뢰할 수 있는 메시지 인증 서버(300)를 통해서 수행될 수 있다.Accordingly, message authentication cannot be directly performed by an individual electronic device, but may be performed through a
도 7b를 참조하면, 메시지 인증 서버(300)는 제1 전자 장치(100)를 기준으로 제2 전자 장치 내지 제4 전자 장치(500, 700 및 900) 간의 메시지 인증을 수행할 수 있다.Referring to FIG. 7B , the
상술한 바와 같이, 메시지 인증 서버(300)가 제1 전자 장치(100)를 기준으로 제2 전자 장치 내지 제4 전자 장치(500, 700 및 900) 간의 메시지 인증을 수행하지만, 이에 한정하는 것은 아니다. 예를 들어, 메시지 인증 서버(300)는 제2 전자 장치 내지 제4 전자 장치(500, 700 및 900) 중에서 어느 하나의 전자 장치를 기준으로 제1 전자 장치 내지 제4 전자 장치(500, 700 및 900) 중에서 어느 하나의 전자 장치를 제외한 나머지 전자 장치들 간의 메시지 인증을 수행할 수 있다.As described above, the
즉, 전자 장치들(100, 500, 700 및 900) 간의 메시지 인증은 물리적 복제 불가능 함수에 기반한 메시지 인증 과정을 통해 수행되어 메시지 인증 서버(300) 및 경량 기기에 적용 가능하고, 효과적일 수 있다.That is, message authentication between the
따라서, 메시지 인증의 가장 효율적인 방식은 메시지 인증 서버(300)를 통해 전자 장치들(100, 500, 700 및 900) 간의 메시지 인증이 수행되는 경우일 수 있다. 메시지 인증 서버(300)를 통한 메시지 인증은 비밀 키가 경량 기기 내부에 저장되지 않고, 필요할 때마다 물리적 복제 불가능 함수에 기반한 생성 과정을 통해 메시지 인증이 수행되기에, 보안 및 하드웨어(hard ware; HW) 관점에서 장점이 있을 수 있다. 메시지 인증 서버(300)를 통한 메시지 인증은 기존의 메시지 인증 방법이 경량 기기에 채용되기 힘든 문제점을 극복하고, 해킹 위험성을 낮아지게 할 수 있다.Accordingly, the most efficient method of message authentication may be a case where message authentication is performed between the
도 8은 도 4에 도시된 제2 전자 장치가 생성한 메시지를 인증하기 위한 메시지 인증을 설명하기 위한 순서도를 나타낸다.8 is a flowchart illustrating message authentication for authenticating a message generated by the second electronic device shown in FIG. 4 .
제1 전자 장치(100)는 안전한 채널을 통해 제1 전자 장치(100)에 대응하는 제1 CRP 리스트를 메시지 인증 서버(300)와 공유할 수 있다. 제2 전자 장치(500)는 안전한 채널을 통해 제2 전자 장치(500)에 대응하는 제2 CRP 리스트를 메시지 인증 서버(300)와 공유할 수 있다.The first
제2 전자 장치(500)는 제2 전자 장치(500)가 생성한 제1 메시지가 인증되게 하기 위해 제1 메시지가 포함된 제1 패킷을 생성하여 제1 패킷을 메시지 인증 서버(300)에 전송할 수 있다(811).In order to authenticate the first message generated by the second
예를 들어, 제2 전자 장치(500)는 제2 전자 장치(500)에 포함된 제1 PUF 회로를 통해 TRNG PUF 기반의 난수를 생성하여 생성된 난수를 제1 챌린지 신호로 변환할 수 있다.For example, the second
제2 전자 장치(500)는 제2 전자 장치(500)에 포함된 제2 PUF 회로에 제1 챌린지 신호를 입력하여 제2 PUF 회로가 제1 챌린지 신호에 대응하는 제1 응답 신호를 출력하게 할 수 있다.The second
제2 전자 장치(500)는 제2 전자 장치(500)에 포함된 생성기를 통해 제1 메시지와 제1 응답 신호를 이용하여 제1 MAC을 생성할 수 있다. 제1 응답 신호는 제1 메시지를 암호화하여 제1 MAC을 생성하기 위한 암호화 키일 수 있다.The second
제2 전자 장치(500)는 제2 전자 장치(500)에 포함된 패킷화기를 통해 제1 메시지, 제1 챌린지 신호 및 제1 MAC을 패킷화하여 제1 패킷을 생성할 수 있다. 이때, 제2 전자 장치(500)는 제1 패킷에 제2 전자 장치(500)의 ID가 포함되게 할 수 있다.The second
제2 전자 장치(500)는 제1 패킷을 메시지 인증 서버(300)에 전송할 수 있다.The second
메시지 인증 서버(300)는 제1 패킷을 수신하여(831) 제1 패킷에 포함된 제1 메시지를 인증할 수 있다.The
예를 들어, 메시지 인증 서버(300)는 제1 패킷에서 제1 메시지, 제1 챌린지 신호 및 제1 MAC을 추출할 수 있다. 이때, 메시지 인증 서버(300)는 제1 패킷에서 제2 전자 장치(500)의 ID도 추출할 수 있다.For example, the
메시지 인증 서버(300)는 제2 전자 장치(500)의 ID를 이용하여 공유된 CRP 리스트들 중에서 제2 전자 장치(500)에 대응하는 제2 CRP 리스트를 획득할 수 있다.The
메시지 인증 서버(300)는 제2 CRP 리스트로부터 제1 챌린지 신호에 대응하는 응답 신호를 추출할 수 있다.The
메시지 인증 서버(300)는 제1 메시지 및 제1 챌린지 신호에 대응하는 응답 신호를 이용하여 제2 MAC을 생성할 수 있다(833). 제1 챌린지 신호에 대응하는 응답 신호는 제1 메시지를 암호화하여 제2 MAC을 생성하기 위한 암호화 키일 수 있다.The
메시지 인증 서버(300)는 제1 MAC과 제2 MAC을 비교하여 제1 메시지를 인증할 수 있다(835). 제1 MAC과 제2 MAC이 동일한 경우, 메시지 인증 서버(300)는 제1 메시지에 대한 인증을 성공으로 결정할 수 있다(835a). 제1 MAC과 제2 MAC이 동일하지 않은 경우, 메시지 인증 서버(300)는 제1 메시지에 대한 인증을 실패로 결정할 수 있다(835b).The
메시지 인증 서버(300)에 의해 제1 메시지가 인증된 경우, 메시지 인증 서버(300)는 인증 결과를 제2 전자 장치(500)에 전송할 수 있다.When the first message is authenticated by the
제2 전자 장치(500)는 메시지 인증 서버(300)의 제1 메시지에 대한 인증 성공에 응답하여 제1 전자 장치(100)의 ID를 메시지 인증 서버(300)로 전송할 수 있다(813).The second
메시지 인증 서버(300)는 제1 메시지가 제1 전자 장치(100)에서 인증되게 하기 위해 제1 전자 장치(100)의 ID에 응답하여 제1 메시지가 포함된 제2 패킷을 생성하고(837), 제2 패킷을 제1 전자 장치(100)에 전송할 수 있다(839).The
예를 들어, 메시지 인증 서버(300)는 제1 전자 장치(100)의 ID에 응답하여 TRNG PUF에 기반한 난수를 생성할 수 있다.For example, the
메시지 인증 서버(300)는 생성된 난수를 제2 챌린지 신호로 변환할 수 있다.The
메시지 인증 서버(300)는 제1 전자 장치(100)의 ID를 이용하여 공유된 CRP 리스트들 중에서 제1 전자 장치(100)에 대응하는 제1 CRP 리스트를 획득할 수 있다.The
메시지 인증 서버(300)는 제1 CRP 리스트로부터 제2 챌린지 신호에 대응하는 응답 신호를 추출할 수 있다.The
메시지 인증 서버(300)는 제1 메시지 및 제2 챌린지 신호에 대응하는 응답 신호를 이용하여 제3 MAC을 생성할 수 있다. 제2 챌린지 신호에 대응하는 응답 신호는 제1 메시지를 암호화하여 제3 MAC을 생성하기 위한 암호화 키일 수 있다.The
메시지 인증 서버(300)는 제1 메시지, 제2 챌린지 신호 및 제3 MAC을 패킷화하여 제2 패킷을 생성할 수 있다.The
메시지 인증 서버(300)는 제2 패킷을 제1 전자 장치(100)에 전송할 수 있다.The
제1 전자 장치(100)는 메시지 인증 서버(300)가 생성한 제2 패킷을 수신하여(851) 제2 패킷에 포함된 제1 메시지를 인증할 수 있다.The first
예를 들어, 제1 전자 장치(100)는 디패킷화기(113)를 통해 제2 패킷를 디패킷화하여 제2 패킷에 포함된 제1 메시지, 제2 챌린지 신호 및 제3 MAC을 추출할 수 있다.For example, the first
제1 전자 장치(100)는 제2 PUF 회로(133)에 제2 챌린지 신호를 입력하여 제2 PUF 회로(133)가 제2 챌린지 신호에 대응하는 제2 응답 신호를 출력하게 할 수 있다.The first
제1 전자 장치(100)는 생성기(135)를 통해 제1 메시지와 제2 응답 신호를 이용하여 제4 MAC을 생성할 수 있다(853). 제2 응답 신호는 제1 메시지를 암호화하여 제4 MAC을 생성하기 위한 암호화 키일 수 있다.The first
제1 전자 장치(100)는 인증기(137)를 통해 제3 MAC과 제4 MAC을 비교하여 제1 메시지를 인증할 수 있다(855). 제3 MAC과 제4 MAC이 동일한 경우, 제1 전자 장치(100)는 제1 메시지에 대한 인증을 성공으로 결정할 수 있다(855a). 제3 MAC과 제4 MAC이 동일하지 않은 경우, 제1 전자 장치(100)는 제1 메시지에 대한 인증을 실패로 결정할 수 있다(855b).The first
제1 전자 장치(100)에 의해 제1 메시지가 인증된 경우, 제1 전자 장치(100)는 제1 메시지에 대한 무결성을 확인할 수 있다. 이때, 제1 전자 장치(100)는 제2 전자 장치(500)가 올바른 메시지를 전송한 올바른 송신자로 확인하여 제2 전자 장치(500)와 통신을 수행할 수 있다.When the first message is authenticated by the first
제1 전자 장치(100), 메시지 인증 서버(300) 및 제2 전자 장치(500)는 통신 세션에 만료되거나 새로운 메시지가 전송되면 상술한 메시지 인증 과정을 반복하여 메시지 인증을 재수행할 수 있다.When a communication session expires or a new message is transmitted, the first
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (12)
상기 제1 전자 장치가 상기 메시지 인증 서버의 제2 전자 장치가 전송한 메시지에 대한 인증 성공에 응답하여 상기 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계
를 포함하는 메시지 인증 방법.
receiving, by the first electronic device, a packet generated by the message authentication server; and
performing, by the first electronic device, authentication on the message included in the packet in response to successful authentication of the message transmitted by the second electronic device of the message authentication server
A message authentication method comprising
상기 수행하는 단계는,
상기 패킷에서 챌린지 신호, 제1 MAC(message authentication code) 및 상기 메시지를 추출하는 단계;
상기 제1 전자 장치에 포함된 PUF(physical unclonable function) 회로에 상기 챌린지 신호를 입력하여 응답 신호를 출력하는 단계;
상기 메시지 및 상기 응답 신호를 이용하여 제2 MAC을 생성하는 단계; 및
상기 제1 MAC 및 상기 제2 MAC를 비교하여 상기 메시지를 인증하는 단계
를 포함하는 메시지 인증 방법.
According to claim 1,
The performing step is,
extracting a challenge signal, a first message authentication code (MAC) and the message from the packet;
outputting a response signal by inputting the challenge signal to a physical unclonable function (PUF) circuit included in the first electronic device;
generating a second MAC using the message and the response signal; and
comparing the first MAC and the second MAC to authenticate the message
A message authentication method comprising
상기 인증하는 단계는,
상기 제1 MAC과 상기 제2 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하는 단계; 또는
상기 제1 MAC과 상기 제2 MAC이 동일하지 않는 경우, 상기 메시지에 대한 인증을 실패로 결정하는 단계
를 포함하는 메시지 인증 방법.
3. The method of claim 2,
The authentication step is
determining that authentication of the message is successful when the first MAC and the second MAC are the same; or
If the first MAC and the second MAC are not the same, determining that the authentication for the message fails
A message authentication method comprising
상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷을 수신하는 단계;
상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계; 및
상기 메시지 인증 서버가 상기 메시지에 대한 인증 결과를 상기 제2 전자 장치로 전송하는 단계
를 포함하는 메시지 인증 방법.
According to claim 1,
receiving, by the message authentication server, a packet generated by the second electronic device;
performing, by the message authentication server, authentication on the message included in the packet generated by the second electronic device; and
transmitting, by the message authentication server, an authentication result for the message to the second electronic device
A message authentication method comprising
상기 메시지 인증 서버가 상기 제2 전자 장치가 생성한 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 단계는,
상기 제2 전자 장치가 생성한 패킷에서 챌린지 신호, 제1 MAC 및 상기 메시지를 추출하는 단계;
CRP(challenge to response pairs) 리스트로부터 상기 챌린지 신호에 대응하는 응답 신호를 추출하는 단계;
상기 메시지 및 상기 응답 신호를 이용하여 제2 MAC을 생성하는 단계; 및
상기 제1 MAC 및 상기 제2 MAC을 비교하여 상기 메시지를 인증하는 단계
를 포함하는 메시지 인증 방법.
5. The method of claim 4,
performing, by the message authentication server, authentication on the message included in the packet generated by the second electronic device,
extracting a challenge signal, a first MAC, and the message from the packet generated by the second electronic device;
extracting a response signal corresponding to the challenge signal from a challenge to response pairs (CRP) list;
generating a second MAC using the message and the response signal; and
comparing the first MAC and the second MAC to authenticate the message
A message authentication method comprising
상기 인증하는 단계는,
상기 제1 MAC과 상기 제2 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하는 단계; 또는
상기 제1 MAC과 상기 제2 MAC이 동일하지 않는 경우, 상기 메시지에 대한 인증을 실패로 결정하는 단계
를 포함하는 메시지 인증 방법.
6. The method of claim 5,
The authentication step is
determining that authentication of the message is successful when the first MAC and the second MAC are the same; or
If the first MAC and the second MAC are not the same, determining that the authentication for the message fails
A message authentication method comprising
상기 메시지 인증 서버가 상기 제2 전자 장치로부터 전송된 상기 제1 전자 장치의 ID에 응답하여 상기 메시지 인증 서버가 생성한 패킷을 상기 제1 전자 장치에 전송하는 단계
를 더 포함하는 메시지 인증 방법.
5. The method of claim 4,
transmitting, by the message authentication server, a packet generated by the message authentication server to the first electronic device in response to the ID of the first electronic device transmitted from the second electronic device
A message authentication method further comprising a.
상기 전송하는 단계는,
상기 제1 전자 장치의 ID에 응답하여 난수를 생성하는 단계;
상기 난수를 상기 메시지가 인증되게 하기 위한 챌린지 신호로 변환하는 단계;
CRP(challenge to response pairs) 리스트로부터 상기 챌린지 신호에 대응하는 응답 신호를 추출하는 단계;
상기 메시지 및 상기 응답 신호를 이용하여 MAC을 생성하는 단계; 및
상기 챌린지 신호, 상기 메시지 및 상기 MAC을 패킷화하는 단계
를 포함하는 메시지 인증 방법.
8. The method of claim 7,
The transmitting step is
generating a random number in response to the ID of the first electronic device;
converting the random number into a challenge signal for authenticating the message;
extracting a response signal corresponding to the challenge signal from a challenge to response pairs (CRP) list;
generating a MAC using the message and the response signal; and
packetizing the challenge signal, the message and the MAC.
A message authentication method comprising
메시지 인증 장치와 통신을 수행하여 상기 메시지 인증 장치가 생성한 패킷을 수신하는 송수신기; 및
상기 메시지 인증 서버의 상이한 전자 장치가 전송한 메시지에 대한 인증 성공에 응답하여 상기 패킷에 포함된 상기 메시지에 대한 인증을 수행하는 보안 칩
을 포함하는 전자 장치.
In an electronic device,
a transceiver for communicating with a message authentication device to receive a packet generated by the message authentication device; and
A security chip that authenticates the message included in the packet in response to authentication success for messages transmitted by different electronic devices of the message authentication server
An electronic device comprising a.
상기 보안 칩은,
상기 패킷에 포함된 챌린지 신호에 응답하여 응답 신호를 출력하는 PUF 회로;
상기 메시지 및 상기 응답 신호를 이용하여 MAC을 생성하는 생성기; 및
생성된 MAC 및 상기 패킷에 포함된 MAC을 비교하여 상기 메시지를 인증하는 인증기
를 포함하는 전자 장치.
10. The method of claim 9,
The security chip,
a PUF circuit for outputting a response signal in response to the challenge signal included in the packet;
a generator for generating a MAC by using the message and the response signal; and
An authenticator that authenticates the message by comparing the generated MAC and the MAC included in the packet.
An electronic device comprising a.
상기 인증기는,
상기 생성된 MAC과 상기 패킷에 포함된 MAC이 동일한 경우, 상기 메시지에 대한 인증을 성공으로 결정하거나; 또는
상기 생성된 MAC과 상기 패킷에 포함된 MAC이 동일하지 않은 경우, 상기 메시지에 대한 인증을 실패로 결정하는 메시지 인증 방법.
11. The method of claim 10,
The authenticator is
if the generated MAC and the MAC included in the packet are the same, determining authentication for the message as success; or
When the generated MAC and the MAC included in the packet are not the same, the message authentication method determines that authentication of the message fails.
상기 송수신기는 상기 보안 칩에 구현되는 전자 장치.10. The method of claim 9,
The transceiver is an electronic device implemented in the security chip.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176843A KR20210083991A (en) | 2019-12-27 | 2019-12-27 | Method of authenticating message for lightweight device and apparatuses performing the same |
PCT/KR2020/019033 WO2021133074A2 (en) | 2019-12-27 | 2020-12-23 | Method for entity or message authentication dedicated to lightweight device, and devices for performing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176843A KR20210083991A (en) | 2019-12-27 | 2019-12-27 | Method of authenticating message for lightweight device and apparatuses performing the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210083991A true KR20210083991A (en) | 2021-07-07 |
Family
ID=76862246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190176843A KR20210083991A (en) | 2019-12-27 | 2019-12-27 | Method of authenticating message for lightweight device and apparatuses performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210083991A (en) |
-
2019
- 2019-12-27 KR KR1020190176843A patent/KR20210083991A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liang et al. | A double PUF-based RFID identity authentication protocol in service-centric internet of things environments | |
KR102493744B1 (en) | Security Verification Method Based on Biometric Characteristics, Client Terminal, and Server | |
EP2737656B1 (en) | Credential validation | |
US10164963B2 (en) | Enforcing server authentication based on a hardware token | |
US10187373B1 (en) | Hierarchical, deterministic, one-time login tokens | |
US20210234857A1 (en) | Authentication system, authentication method, and application providing method | |
US9762567B2 (en) | Wireless communication of a user identifier and encrypted time-sensitive data | |
CN109714176B (en) | Password authentication method, device and storage medium | |
KR101739203B1 (en) | Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption | |
CN101964789B (en) | Method and system for safely accessing protected resources | |
CN106817346B (en) | Data transmission method and device and electronic equipment | |
US11909734B2 (en) | Methods and systems for authenticating identity | |
US20210073359A1 (en) | Secure one-time password (otp) authentication | |
CN114553590B (en) | Data transmission method and related equipment | |
WO2018227471A1 (en) | Secure processing method and apparatus for biometric feature data, sensor, and terminal device | |
US8954728B1 (en) | Generation of exfiltration-resilient cryptographic keys | |
Aysu et al. | A design method for remote integrity checking of complex PCBs | |
JP6574265B2 (en) | Authentication control system, server device, authentication control method, and program | |
KR20200144407A (en) | Bidirectional message authentication chip based on physical unclonable function for iot device | |
KR20200064017A (en) | Method for generating fido2.o public key and private key based on blockchain | |
KR20210083991A (en) | Method of authenticating message for lightweight device and apparatuses performing the same | |
US11902428B2 (en) | Key exchange system, communication apparatus, key exchange method and program | |
KR102094606B1 (en) | Apparatus and method for authentication | |
KR102125133B1 (en) | Apparatus and method for message authentication | |
KR20210083992A (en) | Method of authenticating entity for lightweight device and apparatuses performing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |