KR20180119201A - 인증 시스템을 위한 전자 장치 - Google Patents
인증 시스템을 위한 전자 장치 Download PDFInfo
- Publication number
- KR20180119201A KR20180119201A KR1020170052509A KR20170052509A KR20180119201A KR 20180119201 A KR20180119201 A KR 20180119201A KR 1020170052509 A KR1020170052509 A KR 1020170052509A KR 20170052509 A KR20170052509 A KR 20170052509A KR 20180119201 A KR20180119201 A KR 20180119201A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- message
- key
- authentication key
- data
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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
-
- 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/3297—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 involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명의 전자 장치는 프로세서 및 메모리를 포함한다. 프로세서는 제 1 데이터 및 제 1 인증 메시지를 이용하여 제 1 인증 키를 획득하고, 제 1 인증 키를 이용하여 제 1 인증 메시지를 인증하고, 제 2 데이터 및 제 2 인증 메시지를 이용하여 제 2 인증 키를 획득하고, 제 2 인증 키를 이용하여 상기 제 2 인증 메시지를 인증하도록 구성 된다. 메모리는 제 1 데이터, 제 1 인증 메시지, 제 1 인증키, 제 2 데이터, 제 2 인증 메시지, 및 제 2 인증 키를 저장하도록 구성 된다. 제 2 인증 메시지는 제 1 인증 메시지와 상이하고, 제 2 인증키는 제 1 인증 키와 상이하고, 제 1 인증 키는 제 1 단말 장치와 관련되고, 제 2 인증 키는 제 2 단말 장치와 관련된다.
Description
본 발명은 전자 장치에 관한 것으로, 좀 더 상세하게는 인증 시스템에 관한 것이다.
IT 기술의 발달로 사용자들의 개인 정보가 전자 장치 등에 의해 저장 및 처리 되고 있다. 따라서, 악의적인 공격으로부터 사용자들의 개인 정보를 보호하기 위한 인증 시스템이 발달하고 있다. 인증 시스템은 암호화 기술에 바탕을 두고 있다. 암호화 기술은 특정한 지식을 소유한 사용자들을 제외한 사용자들이 특정한 정보를 획득 할 수 없게 하기 위한 기술이다. 따라서, 암호화 기술은 복잡한 알고리즘을 이용하여 특정한 정보를 나타내는 데이터 값을 변환시키는 기술을 포함한다.
암호화 기술에는 대칭 키 기반 암호화 기술과 비대칭 키 기반 암호화 기술이 있다. 대칭 키 기반 암호화 기술에서는 데이터를 암호화 하는 과정 및 암호화된 데이터를 복호화 하는 과정에서 동일한 키가 사용된다. 따라서, 대칭 키 기반 암호화 기술에서 대칭 키는 제 3 자에서 노출되어서는 안 되는 비밀 키 이다. 반면, 비대칭 키 기반 암호화 기술에서는 상이한 두 종류의 키(공개 키 및 개인 키)가 사용된다. 공개 키는 제 3 자에게 노출되어도 된다. 공개 키는 메시지를 암호화 하는데 사용된다. 개인 키는 제 3 자에게 노출되어서는 안 된다. 개인 키는 암호화된 메시지를 복호화 하는데 사용된다.
사물 인터넷(Internet of Things, IoT) 시스템이 일상 생활에 적용되면서(예컨대, 홈 네트워크), 암호화 기술의 중요성은 증가하고 있다. 사물 인터넷 시스템은 인간의 개입 없이 정보 교환 및 교환된 정보의 처리를 수행할 수 있다. 사물 인터넷 시스템에는 저전력 단말 장치들이 포함된다. 따라서, 사물 인터넷 시스템에 이용되는 인증 시스템은 높은 연산능력을 요구하지 않는 대칭 키 기반 암호화 기술을 사용한다. 하지만, 대칭 키가 노출될 경우, 대칭 키 기반 암호화 기술의 보안은 크게 위협받을 수 있다.
본 발명은 단말 장치를 인증 하기 위한 인증 시스템을 제공할 수 있다.
본 발명의 실시 예에 따르면, 전자 장치는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 제 1 데이터 및 제 1 인증 메시지를 이용하여 제 1 인증 키를 획득하고, 제 1 인증 키를 이용하여 제 1 인증 메시지를 인증하고, 제 2 데이터 및 제 2 인증 메시지를 이용하여 제 2 인증 키를 획득하고, 제 2 인증 키를 이용하여 상기 제 2 인증 메시지를 인증하도록 구성될 수 있다. 메모리는 제 1 데이터, 제 1 인증 메시지, 제 1 인증키, 제 2 데이터, 제 2 인증 메시지, 및 제 2 인증 키를 저장하도록 구성될 수 있다. 제 2 인증 메시지는 제 1 인증 메시지와 상이하고, 제 2 인증키는 제 1 인증 키와 상이하고, 제 1 인증 키는 제 1 단말 장치와 관련되고, 제 2 인증 키는 제 2 단말 장치와 관련될 수 있다.
본 발명의 실시 예에 따르면, 안전한 인증을 수행하기 위한 인증 시스템이 제공될 수 있다.
도 1은 본 발명의 실시 예에 따른 예시적인 인증 시스템을 도시한 블록도 이다.
도 2는 본 발명의 실시 예에 따른 예시적인 인증 시스템을 도시한 블록도 이다.
도 3은 인증 키를 생성하는 예시적인 프로토콜을 도시한 블록도 이다.
도 4는 도 1의 단말 장치에서 인증 메시지를 생성하는 예시적인 프로토콜을 도시한 블록도 이다.
도 5는 인증 메시지로부터 데이터를 획득하는 예시적인 방법을 도시한 블록도 이다.
도 6은 도 1의 허브에서 인증 메시지를 인증하는 예시적인 프로토콜을 도시한 블록도 이다.
도 7은 본 발명의 실시 예에 따른 인증 시스템에 의해 인증 메시지를 인증하기 위한 예시적인 방법을 도시한 흐름도 이다.
도 8은 도 1의 단말 장치 또는 허브를 구현하기 위한 예시적인 전자 장치를 도시한 블록도 이다.
도 9는 본 발명의 실시 예에 따른 인증 시스템을 구현하기 위한 예시적인 사물 인터넷 시스템을 도시한 개념도 이다.
도 2는 본 발명의 실시 예에 따른 예시적인 인증 시스템을 도시한 블록도 이다.
도 3은 인증 키를 생성하는 예시적인 프로토콜을 도시한 블록도 이다.
도 4는 도 1의 단말 장치에서 인증 메시지를 생성하는 예시적인 프로토콜을 도시한 블록도 이다.
도 5는 인증 메시지로부터 데이터를 획득하는 예시적인 방법을 도시한 블록도 이다.
도 6은 도 1의 허브에서 인증 메시지를 인증하는 예시적인 프로토콜을 도시한 블록도 이다.
도 7은 본 발명의 실시 예에 따른 인증 시스템에 의해 인증 메시지를 인증하기 위한 예시적인 방법을 도시한 흐름도 이다.
도 8은 도 1의 단말 장치 또는 허브를 구현하기 위한 예시적인 전자 장치를 도시한 블록도 이다.
도 9는 본 발명의 실시 예에 따른 인증 시스템을 구현하기 위한 예시적인 사물 인터넷 시스템을 도시한 개념도 이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 예시적인 인증 시스템을 도시한 블록도 이다. 도 1을 참조하면, 인증 시스템(100)은 키 관리 시스템(Key Management System; KMS, 110), 단말 장치(End-device, 120), 및 허브(HUB, 130)를 포함할 수 있다. 단말 장치(120)는 SE(Secure Element, 121)에 기반하여 보안 기능을 제공할 수 있다. 허브(130)는 TEE(Trusted Execution Environment, 131)에 기반하여 보안 기능을 제공할 수 있다.
키 관리 시스템(110)은 소트(Salt), 장치 ID(Device ID), 식별자(Indentifier), 및비밀 키(Secret Key)를 생성할 수 있다. 키 관리 시스템(110)은 소트, 장치 ID, 식별자, 및 비밀 키에 기초하여 인증 키(Authentication Key)를 생성할 수 있다. 인증 키를 생성하기 위한 구체적인 프로토콜은 도 3을 참조하여 설명될 것이다.
예로서, 키 관리 시스템(110)은 특정한 비트 수의 데이터를 임의로 생성하여식별자로 사용할 수 있다. 또는, 키 관리 시스템(110)은 단말 장치(120)와 관련된 정보(예컨대, 단말 장치(120)의 제품 군과 관련된 정보)를 표시하기 위한 데이터를 생성하여 식별자로 사용할 수 있다.
예로서, 키 관리 시스템(110)은 특정한 비트 수의 데이터를 임의로 생성하여 소트로 사용할 수 있다. 소트는, 해쉬 함수를 이용하여 특정 데이터로부터 해쉬 값이 연산될 때 사용될 수 있다. 서로 다른 소트들에 의해, 동일한 데이터 및 동일한 해쉬 함수로부터 서로 다른 해쉬 값들이 연산될 수 있다.
예로서, 키 관리 시스템(110)은 단말 장치(120)에 관한 정보(예컨대, 단말 장치(120)의 제조사명)와 관련된 데이터를 생성하여 장치 ID로 사용할 수 있다. 또는, 장치 ID는 단말 장치(120)에 포함된 보안 모듈에 관한 정보(예컨대, 보안 모듈의 모델명)와 관련된 데이터를 생성하여 장치 ID로 사용할 수 있다.
예로서, 비밀 키는 대칭 키 기반의 암호화 연산에 사용될 수 있는 대칭 키 일 수 있다. 비밀 키는 약속된 규약에 따라 특정한 데이터를 변환시키는 암호화 연산에 사용될 수 있다.
단말 장치(120)가 양산되는 시점에(즉, 단말 장치(120)가 사용자들에 의해 사용되기 전에), 키 관리 시스템(110)은 소트, 장치 ID, 및 인증 키를 단말 장치(120)로 전송할 수 있다. 전송된 소트, 장치 ID, 및 인증 키는 단말 장치(120)에 저장될 수 있다. 전송된 인증 키는 SE(121)에 기반하여 제공되는 보안 기능에 의해 단말 장치(120)에 저장될 수 있다. 또한, 허브(130)가 양산되는 시점에(즉, 허브(130)가 사용자들에 의해 사용되기 전에), 키 관리 시스템(110)은 식별자, 및 비밀 키를 허브(130)로 전송할 수 있다. 전송된 식별자, 및 비밀 키는 TEE(131)에 기반하여 제공되는 보안 기능에 의해 허브(130)에 저장될 수 있다.
예로서 키 관리 시스템(110)은 인증 시스템(100)에서 이용되는 데이터를 생성하고 관리하기 위한 컴퓨팅 장치들의 집합체를 포함할 수 있다. 따라서, 키 관리 시스템(110)은 하나 이상의 프로세서들, 하나 이상의 메모리들, 및 하나 이상의 스토리지들 등을 포함할 수 있다. 키 관리 시스템(110)의 예시적인 구현은 도 8을 참조하여 설명될 것이다.
단말 장치(120)는 키 관리 시스템(110)으로부터 소트, 장치 ID, 및 인증 키를 수신할 수 있다. 단말 장치(120)는 수신된 소트, 장치 ID, 및 인증 키에 기초하여 인증 메시지를 생성할 수 있다. 인증 메시지를 생성하기 위한 구체적인 프로토콜은 도 4를 참조하여 설명될 것이다.
단말 장치(120)는 생성된 인증 메시지를 허브(130)로 전송할 수 있다. 예로서, 단말 장치(120)는 보안 채널을 통해 인증 메시지를 허브(130)로 전송할 수 있다. 또는, 단말 장치(120)는 일반 채널을 통해 인증 메시지를 허브(130)로 전송할 수 있다.
예로서, 단말 장치(120)는 SE(121)에 기반하여 보안 기능을 제공하는 보안 모듈(Secure Module)을 포함할 수 있다. 예로서, 보안 모듈은 스토리지(Storage)를 포함할 수 있다. SE(121)에 기반하여 제공되는 보안 기능은, 인증된 사용자만이 보안 모듈에 접근 할 수 있도록 할 수 있다. 도 8을 참조하여, SE(121)에 기반한 보안 모드에서 동작하는 보안 모듈이 설명될 것이다.
허브(130)는 키 관리 시스템(110)으로부터 식별자 및 비밀 키를 수신할 수 있다. 허브(130)는 식별자 및 비밀 키에 기초하여 인증 키를 획득할 수 있다. 인증 키를 획득하기 위한 구체적인 프로토콜은 도 3을 참조하여 설명될 것이다.
허브(130)는 단말 장치(120)로부터 인증 메시지를 수신할 수 있다. 허브(130)는 수신된 인증 메시지로부터 인증에 필요한 데이터를 획득할 수 있다. 허브(130)는 획득된 데이터 및 인증 키에 기초하여, 수신된 인증 메시지를 인증할 수 있다. 수신된 인증 메시지를 인증하기 위한 구체적인 프로토콜은 도 6를 참조하여 설명될 것이다.
예로서, 허브(130)는 TEE(131)에 기반하여 보안 기능을 제공하는 프로세서를 포함할 수 있다. 예로서, 프로세서는 메모리를 포함할 수 있다. TEE(131)에 기반하여 제공 되는 보안 기능은 인증된 사용자만이 프로세서에 접근할 수 있도록 할 수 있다. 도 8을 참조하여, TEE에 기반한 보안 모드에서 동작하는 프로세서가 설명될 것이다.
단말 장치(120)에서 생성 되는 인증 메시지가 허브(130)에 의해 인증될 경우, 단말 장치(120)는 허브(130)와 데이터를 교환할 수 있는 권한을 얻을 수 있다. 예로서, 단말 장치(120) 및 허브(130)가 사물 인터넷 시스템의 구성요소인 경우, 단말 장치(120) 및 허브(130)는 사물 인터넷 시스템을 사용하는 사용자에 관한 데이터를 교환할 필요가 있다. 사용자에 관한 데이터가 높은 보안 수준을 요구하는 경우, 허브(130)는 단말 장치(120)에 인증을 요청할 수 있다. 예컨대, 허브(130)는 인증을 요청하기 위한 인증 요청 메시지를 단말 장치(120)로 전송할 수 있다. 허브(130)의 요청에 응답하여 단말 장치(120)는 인증 메시지를 생성할 수 있다. 생성된 인증 메시지가 허브(130)에 의해 인증 되는 경우, 허브(130)는 사용자에 관한 데이터를 단말 장치(120)와 교환할 수 있다.
도 2는 본 발명의 실시 예에 따른 예시적인 인증 시스템을 도시한 블록도 이다. 도 2를 참조하면, 인증 시스템(100a)은 키 관리 시스템(110), 허브(130), 및 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)을 포함할 수 있다. 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 각각 제 1 내지 제 n SE들(121_1 내지 121_n)에 기반하여 보안 기능을 제공할 수 있다.
키 관리 시스템(110)은 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 식별자, 및 비밀 키를 생성할 수 있다. 키 관리 시스템(110)은 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 식별자, 및 비밀 키에 기초하여 제 1 내지 제 n 인증 키들을 생성할 수 있다. 제 1 내지 제 n 인증 키들을 생성하기 위한 프로토콜은 도 1의 인증 키를 생성하기 위한 프로토콜과 유사할 수 있다.
제 1 내지 제 n 소트들은 서로 동일할 수 있다. 또는 제 1 내지 제 n 소트들 중 적어도 하나는 나머지 소트들과 상이할 수 있다. 제 1 내지 제 n 장치 ID들은 서로 동일할 수 있다. 또는, 제 1 내지 제 n 장치 ID들 중 적어도 하나는 나머지 장치 ID들과 상이할 수 있다.
예로서, 제 1 및 제 2 소트들이 서로 동일할 경우, 제 1 및 제 2 장치 ID들은 서로 상이할 수 있다. 또는, 제 1 및 제 2 소트들이 서로 상이할 경우, 제 1 및 제 2 장치 ID들은 서로 동일 할 수 있다. 또는, 제 1 및 제 2 소트들이 상이하고, 제 1 및 제 2 장치 ID들도 서로 상이할 수 있다. 따라서, 제 1 소트 및 제 1 장치 ID에 기초하여 생성된 제 1 인증 키는 제 2 소트 및 제 2 장치 ID에 기초하여 생성된 제 2 인증 키와 상이할 수 있다. 이와 유사하게, 제 1 내지 제 n 인증 키들은 서로 상이할 수 있다.
키 관리 시스템(110)은 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 및 제 1 내지 제 n 인증 키들을 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)로 각각 전송할 수 있다. 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)이 양산될 때, 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 및 제 1 내지 제 n 인증 키들은 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)에 각각 전송될 수 있다. 전송된 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 및 제 1 내지 제 n 인증 키들은 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)에 각각 저장될 수 있다. 전송된 제 1 내지 제 n 인증 키들은 제 1 내지 제 n SE들(121_1 내지 121_n)에 기반하여 보안 기능을 제공하는 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)에 각각 저장될 수 있다.
제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 키 관리 시스템(110)으로부터 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 및 제 1 내지 제 n 인증 키들을 각각 수신할 수 있다. 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 수신된 제 1 내지 제 n 소트들, 제 1 내지 제 n 장치 ID들, 및 제 1 내지 제 n 인증 키들에 기초하여 제 1 내지 제 n 인증 메시지들을 각각 생성할 수 있다. 제 1 내지 제 n 인증 메시지들을 생성하기 위한 프로토콜은 도 1의 인증 메시지를 생성하기 위한 프로토콜과 유사할 수 있다. 인증 메시지들은 서로 상이한 인증 키들에 기초하여 생성되기 때문에, 인증 메시지들은 서로 상이할 수 있다.
제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 제 1 내지 제 n 인증 메시지들을 허브(130)로 전송할 수 있다. 예로서, 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 보안 채널들을 통해 제 1 내지 제 n 인증 메시지들을 허브(130)로 전송할 수 있다. 또는, 제 1 내지 제 n 단말 장치들(120_1 내지 120_n)은 일반 채널들을 통해 제 1 내지 제 n 인증 메시지들을 허브(130)로 전송할 수 있다.
도 3은 인증 키를 생성하는 예시적인 프로토콜(110a)을 도시한 블록도 이다. 키 관리 시스템(110)은 프로토콜(110a)에 따라 인증 키를 생성할 수 있다. 허브(130)는 프로토콜(110a)에 따라 인증 키를 획득할 수 있다.
예로서, 이하 설명될 도 3의 해쉬 함수(111), 해쉬 함수(112), XOR 연산(113), 및 암호화 연산(114)는 키 관리 시스템(110)에 포함된 하나 이상의 컴퓨팅 장치들에 의해 수행될 수 있다. 또는, 도 3의 연산들은 허브(130)에 의해 수행될 수 있다. 좀 더 구체적으로, 도 3의 연산들은 TEE에 기반한 보안 모드에서 동작하는 프로세서에 의해 수행될 수 있다.
도 3 의 예에서, 해쉬 함수(111) 및 해쉬 함수(112)는 제 1 비트 수를 갖는 데이터를 제 2 비트 수를 갖는 데이터로 변환하기 위한 연산을 포함할 수 있다. 예로서, 해쉬 함수는 SHA-128, SHA-256, 및 SHA-512 등과 같은 함수 중 어느 하나일 수 있다.
도 3 의 예에서, XOR 연산(113)은 논리 연산일 수 있다. 예로서, 1 비트 데이터를 이용하여 XOR 연산(113)을 수행할 경우 아래 표 1과 같은 결과를 얻을 수 있다.
|
A | ||
0 | 1 | ||
B |
0 | 0 | 1 |
1 | 1 | 0 |
표 1의 예에서, A 및 B는 입력 값일 수 있다. 표 1을 참조하면, A 및 B가 동일한 값을 갖는 경우, XOR 연산 값은 “0”일 수 있다. A 및 B가 상이한 값을 갖는 경우, XOR 연산 값은 “1”일 수 있다.
XOR 연산은 암호화 연산 및 복호화 연산으로 사용될 수 있다. 예로서, “1010”(암호화 하고자 하는 데이터) 및 “1111”(암호화 및 복호화에 사용 되는 키)을 XOR 연산 하는 경우, XOR 연산 값은 “0101”(암호화 된 데이터)일 수 있다. “0101”(암호화 된 데이터)을 다시 “1111”(암호화 및 복호화에 사용 되는 키)과 XOR 연산하는 경우, XOR 연산 값은 “1010”(복호화 된 데이터) 일 수 있다. 따라서, XOR 연산은 데이터 마스킹을 위한 연산으로 사용될 수 있다. 이하 도 3을 참조하여, XOR 연산이 데이터 마스킹을 위한 연산으로 사용되는 예시가 설명될 것이다.
XOR 연산은 데이터 인증을 위한 연산으로 사용될 수 있다. XOR 연산 값은, 두 개의 입력 값들이 동일한 경우에 입력 값들과는 무관하게 일정한 값(예컨대, “0”)을 가질 수 있다. 예로서, “1110”(인증 하고자 하는 값) 및 “1111”(기준 값)을 XOR 연산 하는 경우, XOR 연산 값은 “0001”일 수 있다. XOR 연산 값의 최하위 비트 값이 “1” 이므로 인증 하고자 하는 값의 최하위 비트 값과 기준 값의 최하위 비트 값은 동일하지 않음을 알 수 있다. 인증 하고자 하는 값 및 기준 값이 일치 하지 않는 경우, 인증은 거부될 수 있다. 도 6를 참조하여, XOR 연산이 데이터 인증을 위한 연산으로 사용되는 예시가 설명될 것이다.
도 3 의 예에서, 암호화 연산(114)은 대칭 키(예컨대, 도 3의 비밀 키(Secret Key))를 이용하여 특정 데이터를 변환하는 연산을 포함할 수 있다. 암호화 연산(114)에 의해 변환된 데이터는 암호화 연산(114)에 사용된 대칭 키와 동일한 대칭 키를 이용하여 복호화 될 수 있다.
도 1을 참조하여 설명된 것과 같이, 키 관리 시스템(110)은 식별자(Identifier), 소트(Salt_1), 및 장치 ID(Device ID_1)를 생성할 수 있다. 허브(130)는 키 관리 시스템(110)으로부터 식별자(Identifier), 소트(Salt_1), 및 장치 ID(Device ID_1)를 수신할 수 있다.
또한, 키 관리 시스템(110)은 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)를 생성할 수 있다. 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)는 일정한 비트 수를 갖는 임의의 데이터일 수 있다. 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)는 데이터 블럭의 위치를 표시하기 위해 사용될 수 있다. 예로서, 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)는 프로토콜(110a)을 파싱(parsing)하는 과정에서 사용될 수 있다.
허브(130)는 제 3 태그(TAG#3) 및 제 4 태그(TAG#4)를 생성할 수 있다. 제 3 태그(TAG#3) 및 제 4 태그(TAG#4)의 특성은 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)와 유사하므로 이하 설명 생략한다. 이하 도 3을 참조하여, 제 1 태그(TAG#1) 및 제 2 태그(TAG#2)를 사용하는 프로토콜(110a)이 설명된다. 이하, 프로토콜(110a)이 단계 별로 설명된다.
도 3을 참조하면, 키 관리 시스템(110)은 해쉬 함수(111)에 의해 식별자(Identifier)로부터 해쉬 값(iHash)을 연산할 수 있다.
키 관리 시스템(110)은 제 1 태그(TAG#1), 해쉬 값(iHash), 및 소트(Salt_1)를 포함하는 제 1 데이터 블럭(Data Block_1)을 생성할 수 있다. 키 관리 시스템(110)은 해쉬 함수(112)에 의해 제 1 데이터 블럭(Data Block_1)으로부터 해쉬 값(H)을 연산할 수 있다.
키 관리 시스템(110)은 제 2 태그(TAG#2) 및 소트(Salt_1)를 포함하는 제 2 데이터 블럭(Data Block_2)을 생성할 수 있다. 키 관리 시스템(110)은 XOR 연산(113)에 의해 제 2 데이터 블럭(Data Block_2) 및 해쉬 값(H)으로부터 마스크 DB(masked DB)를 생성할 수 있다. XOR 연산(113)은 데이터 마스킹을 위한 연산으로 사용될 수 있다. 따라서, 마스크 DB(masked DB)는 XOR 연산(113)에 의해 데이터 마스킹 처리된 데이터 일 수 있다.
키 관리 시스템(110)은 마스크 DB(masked DB), 해쉬 값(H) 및 장치 ID(Device ID_1)를 포함하는 암호화 메시지(Encoded message_1)를 생성할 수 있다. 키 관리 시스템(110)은 비밀 키(Secret Key)를 이용하여 암호화 연산(114)을 수행할 수 있다. 키 관리 시스템(110)은 암호화 연산(114)에 의해, 암호화 메시지(Encoded Message)로부터 인증 키(Authentication Key)를 생성할 수 있다. 생성된 인증 키(Authentication Key)는 단말 장치(120)로 전송될 수 있다.
단, 도 3에 도시된 제 1 데이터 블럭(Data Block_1), 제 2 데이터 블럭(Data Block_2), 및 암호화 메시지(Encoded Message_1)의 구성은 예시적인 사항이며 본 발명을 한정하기 위한 것은 아니다. 제 1 데이터 블럭은 도 3에 도시된 순서와 상이한 순서로 구성된 제 1 태그(TAG#1), 해쉬 값(iHash), 및 소트(Salt_1)를 포함할 수 있다. 예로서, 제 1 데이터 블럭(Data Block_1)은 제 1 태그(TAG#1), 소트(Salt_1), 해쉬 값(iHash) 순서로 구성된 데이터 블럭(TAG#1 | Salt_1 | iHash)을 포함할 수 있다. 제 2 데이터 블럭(Data Block_2) 및 암호화 메시지(Encoded Message_1) 또한 제 1 데이터 블럭(Data Block_1)과 유사한 방법으로 구성될 수 있는바 이하 설명은 생략한다.
도 2를 참조하여 설명된 것과 같이, 본 발명의 실시 예에 따른 인증 시스템은 복수의 단말 장치를 포함할 수 있다. 복수의 단말 장치 중 적어도 하나로 전송될 소트는 나머지 단말 장치들로 전송될 소트들과 상이할 수 있다. 또는, 복수의 단말 장치 중 적어도 하나로 전송될 장치 ID는 나머지 단말 장치들로 전송될 장치 ID들과 상이할 수 있다. 또는, 복수의 단말 장치 중 적어도 하나로 전송될 장치 ID 및 소트는 나머지 단말 장치들로 전송될 장치 ID들 및 소트들과 각각 상이할 수 있다.
따라서, 소트 및 장치 ID에 기초하여 생성된 인증 키들 중 적어도 하나는 나머지 인증 키들과 상이할 수 있다. 키 관리 시스템(110)에 의해 복수의 단말 장치들 중 적어도 하나로 전송될 인증 키는 나머지 단말 장치들로 전송될 인증 키들과 상이할 수 있다.
나머지 인증 키들과 상이한 인증 키는 공격자에 의해 유출될 수 있다. 유출된 인증 키는 나머지 인증 키들과 상이하기 때문에, 공격자는 유출된 인증 키로부터 다른 인증 키들을 획득하지 못할 수 있다. 따라서, 나머지 인증 키들과 상이한 인증 키를 사용하는 인증 시스템은, 동일한 인증 키를 사용하는 인증 시스템 보다 높은 보안 수준을 가질 수 있다.
도 4는 도 1의 단말 장치에서 인증 메시지를 생성하는 예시적인 프로토콜(120a)을 도시한 블록도 이다.
이하 설명될 도 4의 암호화 연산(121_1) 및 메시지 인증 코드 연산(121_2)은 도 1의 단말 장치(120)에 포함된 보안 모듈에서 수행될 수 있다. 보안 모듈은 SE에 기반한 보안 기능을 이용하여 도 4의 연산들을 수행할 수 있다. 따라서, 도 4의 연산과정은 공격자의 공격으로부터 안전하게 보호될 수 있다.
도 4의 예에서, 암호화 연산(121_1)은 대칭 키(예컨대, 도 4의 암호화 키(Enc Key_1))를 이용하여 특정 데이터를 변환하는 연산을 포함할 수 있다. 암호화 연산(121_1)에 의해 변환된 데이터는 암호화 연산(121_1)에 사용된 대칭 키와 동일한 대칭 키를 이용하여 복호화 될 수 있다.
도 4의 예에서, 메시지 인증 코드 연산(121_2)는 인증 키(Mac Key_1)를 이용하여 특정 데이터를 변환하는 연산을 포함할 수 있다. 메시지 인증 코드 연산(121_2)은 해쉬 함수에 의한 연산을 포함할 수 있다.
단말 장치(120)는 키 관리 시스템(110)으로부터 인증 키(Authentication Key_1), 소트(Salt_1), 및 장치 ID(Device ID_1)를 수신할 수 있다. 도 1을 참조하여 설명된 것과 같이, 단말 장치(120)는 보안 모듈을 포함할 수 있다. 수신된 인증 키(Authentication Key_1)는 SE(121)에 기반한 보안 기능을 제공하는 보안 모듈에 저장될 수 있다. 암호화 연산(121_1) 및 메시지 인증 코드 연산(121_2)은 SE(121)에 기반한 보안 모드에서 동작하는 보안 모듈에 의해 수행될 수 있다.
인증 키(Authentication Key_1)는 암호화 키(Enc Key_1) 및 메시지 인증 키(Mac Key_1)를 포함할 수 있다. 예로서, 암호화 키(Enc Key_1)는 인증 키(Authentication Key_1)의 최하위 비트(Least Significant Bit; LSB)를 포함하고, 메시지 인증키(Mac Key_1)는 인증 키(Authentication Key_1)의 최상위 비트(Most Significant Bit; MSB)를 포함할 수 있다. 또는, 암호화 키(Enc Key_1)는 인증 키(Authentication Key_1)의 최상위 비트를 포함하고, 메시지 인증키(Mac Key_1)는 인증 키(Authentication Key_1)의 최하위 비트를 포함할 수 있다. 이하 설명에서, 프로토콜(120a)이 단계 별로 설명된다.
단말 장치(120)는 키 관리 시스템(110)으로부터 수신된 인증 키(Authentication Key_1)로부터 암호화 키(Enc Key_1) 및 메시지 인증 키(Mac Key_1)를 획득할 수 있다.
단말 장치(120)는 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)를 생성할 수 있다. 예로서, 인증 ID(Verify ID_1)는 인증을 위해 임의로 생성된 데이터를 포함할 수 있다. 프로토콜(120a)에 따라 인증 메시지(Authentication Message_1)가 생성되기 전에, 허브(130) 및 단말 장치(120)는 인증 ID(Verify ID_1)를 공유할 수 있다. 예로서, 타임 스탬프(Time Stamp_1)는 인증을 위해 시각(예컨대, 인크립트 메시지(Encrypted Message_1)가 생성되는 시각)과 관련된 데이터를 포함할 수 있다. 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)를 이용하여 수행되는 인증은 도 6를 참조하여 설명될 것이다.
단말 장치(120)는 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)를 포함하는 제 3 데이터 블럭(Data Block_3)을 생성할 수 있다. 단말 장치(120)는 암호화 키(Enc Key_1)를 이용하여 암호화 연산(121_1)을 수행할 수 있다. 단말 장치(120)는 암호화 연산(121_1)에 의해, 제 3 데이터 블럭(Data Block_3)으로부터 인크립트 메시지(Encrypted Message_1)를 생성할 수 있다.
따라서, 인크립트 메시지(Encrypted Message_1)는 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)으로부터 변환된 데이터를 포함할 수 있다. 암호화 연산(121_1)은 SE(121)에 기반한 보안 기능에 의해 수행될 수 있기 때문에, 공격자는 암호화 된 인크립트 메시지(Encrypted Message_1)로부터 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)에 관한 데이터를 획득하지 못할 수 있다.
도 3을 참조하여 설명된 것처럼, 소트(Salt_1) 및 장치 ID(Device ID_1)는 허브(130)에서 인증 키(Authentication Key_1)를 획득할 때 이용될 수 있다. 또한, 도 6를 참조하여 설명될 것처럼, 인크립트 메시지(Encrypted Message_1)는 허브(130)에서 수행되는 인증에 이용될 수 있다. 따라서, 단말 장치(120)는 소트(Salt_1), 장치 ID(Device ID_1), 및 인크립트 메시지(Encrypted Message_1)를 허브(130)로 전송하기 위해, 암호화 메시지(Encoded Message_2)를 생성할 수 있다.
단말 장치(120)는 SE(121) 기반의 보안 모드에서 동작하는 보안 모듈에 의해 메시지 인증 코드 연산을 수행할 수 있다. 단말 장치(120)는 메시지 인증 키(Mac Key_1)를 이용하여 메시지 인증 코드 연산(121_2)을 수행할 수 있다. 단말 장치(120)는 메시지 인증 코드 연산(121_2)에 의해, 암호화 메시지(Encoded Message_2)로부터 해쉬 메시지 인증 코드(HMAC_1)를 생성할 수 있다.
따라서, 해쉬 메시지 인증 코드(HMAC_1)는 암호화 메시지(Encoded Message_2)로부터 변환된 데이터를 포함할 수 있다. 메시지 인증 코드 연산(121_2)은 SE(121)에 기반한 보안 기능에 의해 수행될 수 있기 때문에, 공격자는 암호화 된 해쉬 메시지 인증 코드(HMAC_1)로부터 암호화 메시지(Encoded Message_2)에 관한 데이터를 얻지 못할 수 있다. 해쉬 메시지 인증 코드(HMAC_1)는 암호화 메시지(Encoded Message_2)가 위조 및/또는 변조 되었는지 여부를 인증하기 위해 이용될 수 있다. 해쉬 메시지 인증 코드(HMAC_1)를 이용한 인증은 도 6를 참조하여 설명될 것이다.
단말 장치(120)는 암호화 메시지(Encoded Message_2) 및 해쉬 메시지 인증 코드(HMAC_1)를 포함하는 인증 메시지(Authentication Message_1)를 생성할 수 있다. 도 1을 참조하여 설명된 것처럼, 생성된 인증 메시지(Authentication Message_1)는 허브(130)의 요청에 응답하여 허브(130)로 전송될 수 있다.
단, 도 4에 도시된 제 3 데이터 블럭(Data Block_3), 암호화 메시지(Encoded Message_2), 및 인증 메시지(Authentication Message_1)의 구성은 예시적인 사항이며 본 발명을 한정하기 위한 것은 아니다. 제 3 데이터 블럭(Data Block_3)은 도 4에 도시된 순서와 상이한 순서로 구성된 인증 ID(Verify ID_1) 및 타임 스탬프(Time Stamp_1)를 포함할 수 있다. 예로서, 제 3 데이터 블럭(Data Block_3)은 타임 스탬프(Time Stamp_1), 인증 ID(Verify ID_1) 순서로 구성된 데이터 블럭(Time Stamp_1 | Verify ID_1)을 포함할 수 있다. 암호화 메시지(Encoded Message_2) 및 인증 메시지(Authentication Message_1) 또한 제 3 데이터 블럭(Data Block_3)과 유사한 방법으로 구성될 수 있는바 이하 설명은 생략한다.
인증 메시지(Authentication Message_1)는 공격자에 의해 유출될 수 있다. 인증 메시지(Authentication Message_1)는 암호화 연산(121_1) 및 메시지 인증 코드 연산(121_2)에 의해 암호화된 데이터를 포함하기 때문에, 공격자는 인증 메시지(Authentication Message_1)로부터 인증 키(Authentication Key_1)를 획득하지 못할 수 있다. 따라서, 인증 메시지(Authentication Message_1)를 전송하는 인증 시스템은 인증 키(Authentication Key_1)를 직접 전송하는 인증 시스템보다 높은 보안 수준을 가질 수 있다.
도 2 및 도 3을 참조하여 설명된 것과 같이, 본 발명의 실시 예에 따른 인증 시스템은 복수의 단말 장치를 포함할 수 있다. 키 관리 시스템(110)에 의해 생성된 인증 키들 중 적어도 하나는 나머지 인증 키들과 상이할 수 있다. 따라서, 도 4의 프로토콜(120a)에 의해 생성된 인증 메시지가 다수일 경우, 서로 상이한 인증 키들에 기초하여 생성된 인증 메시지들은 서로 상이할 수 있다.
다른 인증 메시지들과 상이한 인증 메시지는 공격자에 의해 유출될 수 있다. 유출된 인증 메시지는 다른 인증메시지들과 상이하기 때문에, 공격자는 유출된 인증 메시지로부터 다른 인증 메시지들을 획득하지 못할 수 있다. 따라서, 다른 인증 메시지들과 상이한 인증 메시지를 사용하는 인증 시스템은, 동일한 인증 메시지를 사용하는 인증 시스템 보다 높은 보안 수준을 가질 수 있다.
도 5는 인증 메시지로부터 데이터를 획득하는 예시적인 방법을 도시한 블록도 이다.
허브(130)는 어느 출처로부터 인증 메시지(Authentication Message_2)를 수신할 수 있다. 인증 메시지(Authentication Message_2)는 도 4의 인증 메시지(Authentication Message_1)와 유사한 데이터를 포함할 수 있다.
따라서, 인증 메시지(Authentication Message_2)는 암호화 메시지(Encoded Message_3) 및 해쉬 메시지 인증 코드(HMAC_2)를 포함할 수 있다. 또한, 암호화 메시지(Encoded Message_3)는 인크립트 메시지(Encrypted Message_2), 소트(Salt_2), 및 장치 ID(Device ID_2)를 포함할 수 있다.
따라서, 허브(130)는 인증 메시지(Authentication Message_2)로부터 암호화 메시지(Encoded Message_3), 해쉬 메시지 인증 코드(HMAC_2), 소트(Salt_2), 장치 ID(Device ID_2), 및 인크립트 메시지(Encrypted Message_2)를 획득할 수 있다.
도 1을 참조하여 설명된 것과 같이, 허브(130)는 키 관리 시스템(110)으로부터 식별자(Identifier) 및 비밀 키(Secret Key)를 수신할 수 있다. 허브(130)는 수신된 식별자(Identifier) 및 비밀 키(Secret Key)와 획득된 소트(Salt_2) 및 장치 ID(Device ID_2)에 기초하여 인증 키(Authentication Key_2)를 획득할 수 있다. 좀 더 구체적으로, 허브(130)는 도 3의 프로토콜(110a)에 따라 인증 키(Authentication Key_2)를 획득할 수 있다.
도 6은 도 1의 허브에서 인증 메시지를 인증하는 예시적인 프로토콜(131a)을 도시한 블록도 이다.
이하 설명될 도 6의 복호화 연산(131_1) 및 인증 연산들(131_3 내지 131_5)은 도 1의 허브에 포함된 프로세서에서 수행될 수 있다. 도 6의 연산들은 TEE(121)에 기반한 보안 모드에서 동작하는 프로세서에 의해 수행될 수 있다. 따라서, 도 6의 연산과정은 공격자의 공격으로부터 안전하게 보호될 수 있다.
도 6의 예에서, 복호화 연산(131_1)은 암호화 연산(121_1)에 의해 암호화된 데이터를, 대칭 키(예컨대, 도 6의 암호화 키(Enc Key_2))를 이용하여 복호화 할 수 있다. 도 4의 암호화 키(Enc Key_1)와 암호화 키(Enc Key_2)는 동일 할 수 있다.
도 6의 예에서, 인증 연산들(131_3 내지 131_5)은 수신되는 데이터를 기준 데이터와 비교하는 연산을 포함할 수 있다. 도 3을 참조하여 설명된 것처럼, 인증 연산들(131_3 내지 131_5)은 XOR 연산을 포함할 수 있다.
도 6의 예에서, 메시지 인증 코드 연산(131_2)은 도 4의 메시지 인증 코드 연산(121_2)과 유사한 방식으로 데이터를 생성할 수 있는 바 이하 설명 생략한다.
도 5를 참조하여 설명된 것과 같이, 허브(130)는 암호화 메시지(Encoded Message_3), 해쉬 메시지 인증 코드(HMAC_2), 및 인크립트 메시지(Encrypted Message_2)를 획득할 수 있다.
허브(130)는 인증 키(Authentication Key_2)로부터 암호화 키(Enc Key_2) 및 메시지 인증 키(Mac Key_2)를 획득할 수 있다. 암호화 키(Enc Key_2)와 메시지 인증 키(Mac Key_2) 및 인증 키(Authentication Key_2) 사이의 포함 관계는 도 4를 참조하여 설명된 것과 유사하므로 이하 설명 생략한다.
도 6의 인증 키(Authentication Key_2)는 도 4의 인증 키(Authentication Key_1)와 대응할 수 있다. 예로서, 인증 키(Authentication Key_2)는 인증 키(Authentication Key_1)와 대칭 키 관계에 있을 수 있다. 도 6의 메시지 인증 키(Mac Key_2)는 도 4의 메시지 인증 키(Mac Key_1)와 대응할 수 있다. 도 6의 암호화 키(Enc Key_2)는 도 4의 암호화 키(Enc Key_1)와 대응할 수 있다.
허브(130)는 암호화 키(Enc Key_2)를 이용하여 복호화 연산(131_1)을 수행할 수 있다. 허브(130)는 복호화 연산(131_1)에 의해, 인크립트 메시지(Encrypted Messasge_2)로부터 제 4 데이터 블럭(Data Block_4)을 획득할 수 있다.
허브(130)는 메시지 인증 키(Mac Key_2)를 이용하여 메시지 인증 코드 연산(131_2)을 수행할 수 있다. 허브(130)는 메시지 인증 코드 연산(131_2)에 의해, 암호화 메시지(Encoded Message_3)로부터 해쉬 메시지 인증 코드(HMAC_3)를 획득할 수 있다.
제 4 데이터 블럭(Data Block_4)은 인증 ID(Verify ID_2) 및 타임 스탬프(Time Stamp_2)를 포함할 수 있다. 따라서, 허브(130)는 제 4 데이터 블럭(Data Block_4)으로부터 인증 ID(Verify ID_2) 및 타임 스탬프(Time Stamp_2)를 획득할 수 있다.
허브(130)는 인증 연산(131_3)에 의해 인증 ID(Verify ID_2)를 인증 할 수 있다. 도 4를 참조하여 설명된 것과 같이, 단말 장치(120)가 인증 메시지(Authentication Message_1)를 생성하기 전에, 허브(130) 및 단말 장치(120)는 인증 ID(Verify ID_1)를 공유할 수 있다. 허브(130)는 제 4 데이터 블럭(Data Block_4)으로부터 획득되는 인증 ID(Verify ID_2)를 인증 ID(Verify ID_1)와 비교할 수 있다. 인증 ID(Verify ID_1)는 기준 데이터로 사용될 수 있다. 예로서, 허브(130)는 인증 연산(131_3)에 포함된 XOR 연산에 의해, 인증 ID(Verify ID_2) 및 인증 ID(Verify ID_1)가 일치하는지 여부를 판단 할 수 있다. 인증 ID(Verify ID_2) 및 인증 ID(Verify ID_1)가 일치하는 경우, 허브(130)는 제 1 인증 값을 생성할 수 있다.
인증 ID(Verify ID_2) 및 인증 ID(Verify ID_1)가 일치한다는 것은 인증 메시지(Authentication Message_2)의 출처가 단말 장치(120)임을 의미할 수 있다.
허브(130)는 인증 연산(131_4)에 의해 타임 스탬프(Time Stamp_2)를 인증 할 수 있다. 도 4를 참조하여 설명된 것과 같이, 타임 스탬프(Time Stamp_1)는 인크립트 메시지(Encrypted Message_1)가 생성된 시각에 관한 데이터를 포함할 수 있다. 유사한 맥락으로, 타임 스탬프(Time Stamp_2)는 인크립트 메시지(Encrypted Message_2)가 생성된 시각에 관한 데이터를 포함한다고 간주될 수 있다. 따라서, 허브(130)는 타임 스탬프(Time Stamp_2)에 기초하여 인크립트 메시지(Encrypted Message_2)가 생성된 시각이라고 간주되는 시각에 관한 데이터를 획득할 수 있다. 또한 허브(130)는 내장된 시계 장치 등으로부터 인증 메시지(Authentication Message_2)가 수신된 시각에 관한 데이터를 획득할 수 있다.
허브(130)는 획득된 데이터들에 기초하여, 인크립트 메시지(Encrypted Message_2)가 생성된 시각 및 인증 메시지(Authentication Message_2)가 수신된 시각을 비교할 수 있다. 인크립트 메시지(Encrypted Message_2)가 생성된 시각 및 인증 메시지(Authentication Message_2)가 수신된 시각 사이의 시간이 기준 시간 보다 짧을 경우, 허브(130)는 제 2 인증 값을 생성할 수 있다.
인크립트 메시지(Encrypted Message_2)가 생성된 시각 및 인증 메시지(Authentication Message_2)가 수신된 시각 사이의 시간이 기준 시간보다 짧다는 것은 인증 메시지(Authentication Message_2)의 출처가 단말 장치(120)임을 의미할 수 있다.
또한, 타임 스탬프를 이용한 인증은 공격자의 재전송 공격(reply attack)을 방지 할 수 있다. 예로서, 단말 장치(120)는 인증 메시지를 허브(130)로 전송할 수 있다. 전송된 인증 메시지는 공격자에 의해 유출될 수 있다. 공격자는 유출된 인증 메시지를 허브(130)로 한번 이상 전송할 수 있다. 따라서, 허브(130)는 하나 이상의 유사한 인증 메시지들을 수신할 수 있다. 허브(130)는 수신된 인증 메시지들에 포함된 타임 스탬프들로부터 시각들에 관한 데이터를 획득 할 수 있다. 허브(130)는 시각들에 관한 데이터를 비교 하여, 가장 앞선 시각에 생성된 인증 메시지를 판별할 수 있다. 허브(130)는 가장 앞선 시각에 생성되었다고 판별되는 인증 메시지에 대해서만 제 2 인증 값을 생성할 수 있다.
인증 메시지가 가장 앞선 시각에 생성된 것으로 판별 되었다는 것은, 인증 메시지의 출처가 단말 장치(120)임을 의미할 수 있다.
허브(130)는 인증 연산(131_5)에 의해 해쉬 메시지 인증 코드(HMAC_3)을 인증 할 수 있다. 도 5에서 설명된 것과 같이, 허브(130)는 해쉬 메시지 인증 코드(HMAC_2)를 획득할 수 있다. 허브(130)는 해쉬 메시지 인증 코드(HMAC_2) 및 해쉬 메시지 인증 코드(HMAC_3)를 비교할 수 있다. 해쉬 메시지 인증 코드(HMAC_2) 및 해쉬 메시지 인증 코드(HMAC_3)를 비교하는 방법은 인증 ID(Verify ID_1) 및 인증 ID(Verify ID_2)를 비교하는 방법과 유사할 수 있다. 해쉬 메시지 인증 코드(HMAC_2) 및 해쉬 메시지 인증 코드(HMAC_3)가 일치하는 경우, 허브(130)는 제 3 인증 값을 생성할 수 있다.
해쉬 메시지 인증 코드(HMAC_2) 및 해쉬 메시지 인증 코드(HMAC_3)가 일치한다는 것은, 인증 메시지(Authentication Message_2)가 전송과정에서 위조 및/또는 변조되지 않았음을 의미할 수 있다.
제 1 내지 제 3 인증 값이 모두 생성되는 경우, 허브(130)는 인증 메시지(Authentication Message_2)가 인증되었음을 표시하기 위한 제 4 인증 값을 생성할 수 있다.
도 7은 본 발명의 실시 예에 따른 인증 시스템에 의해 인증 메시지를 인증하기 위한 예시적인 방법을 도시한 흐름도 이다.
S105 동작에서, 단말 장치(120) 및 허브(130)는 인증 ID를 공유할 수 있다. 단, S105 동작의 경우 참조번호는 동작의 순서와 무관할 수 있다. 단, S105 동작은 S140 동작이 수행되기 전에 수행될 수 있다.
S110 동작에서, 도 1을 참조하여 설명된 것과 같이, 키 관리 시스템(110)은 식별자 및 비밀 키를 생성할 수 있다.
S115 동작에서, 키 관리 시스템(110)은 장치 ID 및 소트를 생성할 수 있다. 도 1을 참조하여 설명된 것과 같이, 소트는 동일한 데이터 및 동일한 해쉬 함수로부터 서로 다른 해쉬 값들이 연산되도록 하기 위해 사용될 수 있다. 장치 ID는 단말 장치(120)와 관련된 데이터를 포함할 수 있다.
S120 동작에서, 키 관리 시스템(110)은 도 3을 참조하여 설명된 프로토콜(110a)에 따라 인증 키를 생성할 수 있다.
S125 동작에서, 키 관리 시스템(110)은 S110 동작에 의해 생성된 식별자 및 비밀 키를 허브(130)로 전송할 수 있다. 예로서, 식별자 및 비밀 키는 허브(130)가 양산되는 시점에 전송될 수 있다. 전송된 식별자 및 비밀 키는 허브(130)에 저장 될 수 있다. 전송된 식별자 및 비밀 키는 TEE에 기반하여 보안 기능을 제공하는 프로세서에 저장될 수 있다. (도 8 참조)
S130 동작에서, 키 관리 시스템(110)은 S115 동작 및 S120 동작에 의해 생성된 인증 키, 소트, 및 장치 ID를 단말 장치(120)로 전송할 수 있다. 예로서, 인증 키, 소트, 및 장치 ID는 단말 장치(120)가 양산되는 시점에 전송될 수 있다. 전송된 인증 키, 소트, 및 장치 ID는 단말 장치(120)에 저장될 수 있다. 전송된 인증 키는 SE에 기반하여 보안 기능을 제공하는 보안 모듈에 저장될 수 있다. (도 8 참조)
S135 동작에서, 도 1을 참조하여 설명된 것처럼, 단말 장치(120)의 인증이 요구되는 때에, 허브(130)는 단말 장치(120)에 인증을 요청할 수 있다. 예로서, 허브(130)는 인증을 요청하기 위한 인증 요청 메시지를 단말 장치(120)로 전송할 수 있다.
S140 동작에서, 단말 장치(120)느 허브(130)의 요청에 응답하여 인증 메시지를 생성할 수 있다. 단말 장치(120)는 도 4를 참조하여 설명된 프로토콜(120a)에 따라 인증 메시지를 생성할 수 있다. S140 동작은 SE에 기반하여 보안 기능을 제공하는 보안 모듈에서 수행될 수 있다. (도 8 참조)
S145 동작에서, 단말 장치(120)는 S140 동작에서 생성된 인증 메시지를 허브(130)로 전송할 수 있다. 단말 장치(120)는 보안 채널 또는 일반 채널을 통해서 인증 메시지를 전송할 수 있다.
S150 동작에서, 허브(130)는 S145 동작에 의해 수신된 인증 메시지 및 S125 동작에 의해 수신된 식별자 및 비밀 키에 기초하여 인증 키를 생성할 수 있다. 허브(130)는 도 3을 참조하여 설명된 프로토콜(110a) 에 따라 인증 키를 획득할 수 있다. S150 동작은 TEE에 기반하여 보안 기능을 제공하는 프로세서에서 수행될 수 있다. (도 8 참조)
S155 동작에서, 허브(130)는 도 6의 프로토콜(131a)에 따라 S145 동작에 의해 수신된 인증 메시지를 인증할 수 있다. 허브(130)는 S150 동작에 의해 생성된 인증 키에 기초하여 획득되는 인증 ID, 타임 스탬프, 및 해쉬 메시지 인증 코드를 각각 인증할 수 있다. 허브(130)는 인증 ID의 인증 시, S105 동작에 의해 공유된 인증 ID를 이용할 수 있다. S155 동작은 TEE에 기반하여 보안 기능을 제공하는 프로세서에 의해 수행될 수 있다. (도 8 참조)
도 8은 도 1의 단말 장치 또는 허브를 구현하기 위한 예시적인 전자 장치를 도시한 블록도 이다.
도 8을 참조하면, 전자 장치(200)는 프로세서(210), 메모리(220), 스토리지(230), 보안 모듈(240), 통신 장치(250), 사용자 인터페이스(260), 및 버스(270)을 포함할 수 있다. 전자 장치(200)는 도 8에 나타나지 않은 다른 구성 요소(예컨대, 센서 또는 파워 서플라이 등)들을 더 포함할 수 있다. 또는, 전자 장치(200)는 도 8에 나타낸 구성 요소들 중 하나 이상을 포함하지 않을 수 있다.
프로세서(210)는 전자 장치(200)의 전반적인 동작들을 제어할 수 있다. 예로서, 프로세서(210)는 사용자의 편의를 위해 실행되는 어플리케이션 등을 실행할 수 있다. 예로서, 도 1의 허브(130)는 프로세서(210)를 포함할 수 있다. 프로세서(210)는 TEE에 기반한 보안 모드에서 동작할 수 있다. 프로세서(210)는 TEE에 기반한 보안 모드에서 도 3의 프로토콜(110a)에 따라 인증 키를 획득할 수 있다. 프로세서(210)는 TEE에 기반한 보안 모드에서 도 6의 프로토콜(131a)에 따라 인증 메시지를 인증할 수 있다. 따라서, 허브(130)는 공격자에 의한 연산과정의 유출을 방지 할 수 있다.
예로서, 프로세서(210)는 범용 프로세서, 워크스테이션 프로세서, 어플리케이션(Application) 프로세서 등 중 하나일 수 있다. 프로세서(210)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어(Multi-Core)를 포함할 수 있다. 예로서, 프로세서(210)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다.
또한, 프로세서(210)는 프로세서(210)의 내부 또는 외부에 위치한 메모리(211)를 더 포함할 수 있다. 메모리(211)는 TEE에 기반하여 보안 기능을 제공하는 저장 장치일 수 있다. 메모리(211)는 TEE에 기반한 보안 모드를 제공하는 위치에 높은 수준의 보안을 요구하는 데이터를 저장할 수 있다. 예로서, 메모리(211)는 TEE에 기반한 보안 모드를 제공하는 위치에 도 3, 도 5, 및 도 6에 도시된 데이터 등을 저장할 수 있다.
메모리(220)는 프로세서(210)에 의해 처리된 또는 처리될 데이터를 저장할 수 있다. 프로세서(210)에 의해 처리된 또는 처리될 데이터는 본 발명의 실시 예에 따른 인증 시스템과 관련된 데이터 중 다른 데이터에 비해 낮은 보안 수준을 요구하는 데이터를 포함할 수 있다. 예로서, 메모리(220)는 도 4의 제 3 데이터 블록, 암호화 메시지, 및 인증 메시지 등과 관련된 데이터를 저장할 수 있다.
예로서, 메모리(220)는 SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, 또는 플래시(Flash) 메모리, PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다. 또는, 메모리(220)는 이종의 메모리들을 포함할 수 있다.
스토리지(230)는 전원 공급과 관계없이 데이터를 저장할 수 있다. 예로서, 스토리지(230)는 본 발명의 실시 예에 따른 인증 시스템과 관련된 데이터 중 다른 데이터에 비해 낮은 보안 수준을 요구하는 데이터를 포함할 수 있다. 예로서, 스토리지(230)는 도 4의 제 3 데이터 블록, 암호화 메시지, 및 인증 메시지 등과 관련된 데이터를 저장할 수 있다.
예로서, 스토리지(230)는 HDD(Hard Disk Drive), SSD(Solid State Drive), SD(Secure Digital) 카드, USB(Universal Serial Bus) 메모리 장치 등과 같이 불휘발성 메모리를 포함하는 기록 매체(Storage Medium)일 수 있다.
보안 모듈(240)은 높은 보안 수준을 요구하는 데이터를 처리하거나 저장할 수 있다. 예로서, 도 1의 단말 장치(120)는 보안 모듈(240)을 포함할 수 있다. 보안 모듈(240)은 SE에 기반한 보안 모드에서 동작할 수 있다. 보안 모듈(240)은 SE에 기반한 보안 모드에서 도 4의 연산들을 수행할 수 있다. 따라서, 단말 장치(120)는 공격자에 의한 연산과정의 유출을 방지 할 수 있다.
통신 장치(250)는 송신부 및 수신부를 포함할 수 있다. 전자 장치(200)는 통신 장치(250)에 의해 다른 전자 장치와 통신하여 데이터를 송신 및/또는 수신 할 수 있다. 예로서, 전자 장치(200)는 통신 장치(250)에 의해, 키 관리 시스템, 단말 장치들, 및 허브들 중 적어도 하나와 데이터를 교환할 수 있다. 예로서, 통신 장치(250)에 의해 교환되는 데이터는 인증 메시지 및 인증 키 등 중 적어도 하나와 관련된 데이터를 포함할 수 있다.
사용자 인터페이스(260)는 사용자와 전자 장치(200) 사이에서 명령 또는 데이터의 입/출력을 전달할 수 있다. 예로서, 사용자 인터페이스(260)는 키보드, 마우스, 터치스크린, 스캐너, 조이스틱, 음성인식장치, 동작인식장치 또는 안구인식장치 등과 같은 입력장치, 및/또는 모니터, 디스플레이 장치, 프로젝터, 스피커 또는 플로터 등의 출력장치 등과 같은 물리 장치를 포함할 수 있다.
버스(270)는 전자 장치(200)의 구성 요소들 사이에서 통신 경로를 제공할 수 있다. 예로서, 프로세서(210), 메모리(220), 스토리지(230), 보안 모듈(240), 통신 장치(250), 및 사용자 인터페이스(260)는 버스(270)를 통해 서로 데이터를 교환할 수 있다. 버스(270)는 전자 장치(200)에서 이용되는 다양한 유형의 통신 포맷을 지원하도록 구성될 수 있다.
도 8의 전자 장치(200)는 컴퓨팅 장치로서 동작할 수 있다. 예로서, 도 1의 키 관리 시스템(110)은 하나 이상의 전자 장치(200)들을 포함할 수 있다. 키 관리 시스템(110)은 하나 이상의 전자 장치(200)들에 의해 복수의 인증 키를 생성할 수 있다.
도 9는 본 발명의 실시 예에 따른 인증 시스템을 구현하기 위한 예시적인 사물 인터넷 시스템을 도시한 개념도 이다.
본 발명의 실시 예에 따른 사물 인터넷 시스템은 홈 네트워크 시스템, 군사 네트워크 시스템, 또는 기업 네트워크 시스템 등 중 적어도 하나로 구현될 수 있다. 본 발명의 실시 예에 따른 사물 인터넷 시스템은 애드혹 네트워크(Ad-hoc Network) 또는 인프라스트럭쳐 네트워크(Infrastructure Network)일 수 있다. 이하 도 9을 참조하여, 사물 인터넷 시스템의 예시로서 홈 네트워크 시스템(300)이 설명된다.
도 9을 참조하면, 홈 네트워크 시스템(300)은 허브(310) 및 복수의 단말 장치(320 내지 360)를 포함 할 수 있다. 예로서, 홈 네트워크 시스템(300)은 냉장고, 세탁기, 에어컨 등과 같은 가전 기기(320), 도어락, CCTV, 인터폰, 윈도우 센서, 화재 감지 센서, 전기 플러그 등과 같은 보안/안전 기기(330), TV, 오디오, 게임기, 컴퓨터 등과 같은 엔터테인먼트 기기(340), 프린터, 프로젝터, 복사기 등과 같은 사무기기(350), 및 기타 다양한 형태의 컴퓨팅 장치(360) 등과 같은 단말 장치들 중 적어도 하나를 포함할 수 있다. 이외에도 홈 네트워크 시스템(300)은 다양한 전자 장치 또는 센싱 장치 등을 포함할 수 있다.
도 9의 허브(310)는 도 1의 허브(130) 및 도 8의 프로세서(210)를 포함할 수 있다. 도 9의 복수의 단말 장치(320 내지 360)는 도 1의 단말 장치(120), 도 2의 단말 장치들(120_1 내지 120_n), 및 도 8의 보안 모듈(240)을 포함할 수 있다.
홈 네트워크 시스템(300)은 유무선 네트워크를 통하여 건물(주택, 아파트, 빌딩 등) 내의 다양한 단말 장치들을 제어할 수 있다. 단말 장치들은 허브(310)를 경유하여 데이터를 전송 및/또는 수신할 수 있다.
홈 네트워크 시스템(300)은 다양한 유/무선 통신망을 포함할 수 있다. 예로서, 홈 네트워크 시스템(300)은 센서 네트워크, M2M 네트워크, IP(Internet protocol) 기반의 네트워크 및 비IP 기반의 네트워크 등을 포함할 수 있다. 구체적으로, 홈 네트워크 시스템(300)은 Home PNA(Home Phone line Networking Alliance), IEEE1394, USB(Universal Serial Bus), PLC(Power Line communication), Ethernet 등의 유선 통신망, IrDA(Infrared Data Association), Bluetooth, Wi-fi(Wireless Fidelity), WLAN(Wireless LAN), UWB(Ultra Wide Band), ZigBee, Wireless 1394, Wireless USB, NFC (Near Field Communication), RFID(Radio-frequency identification)등의 무선 통신망, 및 3G(3rd Generation), 4G(4th Generation), LTE(Long Term Evolution) 등의 이동 통신망 등 중 적어도 하나를 포함할 수 있다.
예로서, 홈 네트워크 시스템(300)은 유/무선 통신망을 통해 본 발명의 실시 예에 따른 인증 시스템과 관련된 데이터를 전송 및/또는 수신할 수 있다. 예로서, 허브(310)는 유/무선 통신망을 통해 복수의 단말 장치(320 내지 360)로 인증 요청 메시지들을 전송할 수 있다. 복수의 단말 장치(320 내지 360)는 유/무선 통신망을 통해 인증 메시지들을 전송 할 수 있다. 허브(310)는 유/무선 통신망을 통해 복수의 단말 장치(320 내지 360)로부터 인증 메시지들을 수신할 수 있다. 유/무선 통신망은 보안 채널 및 일반 채널 중 적어도 하나를 포함할 수 있다.
복수의 단말 장치(320 내지 360)는 도 7을 참조하여 설명된 인증 방법에 따라 인증을 받을 수 있다. 허브(310)는 복수의 단말 장치(320 내지 360) 중 인증된 단말 장치와 데이터를 교환 할 수 있다. 따라서, 허브(310) 및 복수의 단말 장치(320 내지 360)가 교환하는 데이터는 공격자의 공격으로부터 안전하게 보호될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100 : 인증 시스템
100a : 인증 시스템
110a : 프로토콜
120a : 프로토콜
131a : 프로토콜
100a : 인증 시스템
110a : 프로토콜
120a : 프로토콜
131a : 프로토콜
Claims (20)
- 제 1 데이터 및 제 1 인증 메시지를 이용하여 제 1 인증 키를 획득하고, 상기 제 1 인증 키를 이용하여 상기 제 1 인증 메시지를 인증하고,
제 2 데이터 및 제 2 인증 메시지를 이용하여 제 2 인증 키를 획득하고, 상기 제 2 인증 키를 이용하여 상기 제 2 인증 메시지를 인증하도록 구성된 프로세서; 및
상기 제 1 데이터, 상기 제 1 인증 메시지, 상기 제 1 인증키, 상기 제 2 데이터, 상기 제 2 인증 메시지, 및 상기 제 2 인증 키를 저장하도록 구성된 메모리를 포함하되,
상기 제 2 인증 메시지는 상기 제 1 인증 메시지와 상이하고, 상기 제 2 인증키는 상기 제 1 인증 키와 상이하고, 상기 제 1 인증 키는 제 1 단말 장치와 관련되고, 상기 제 2 인증 키는 제 2 단말 장치와 관련되는 전자 장치. - 제 1 항에 있어서,
상기 제 1 인증 메시지는 상기 제 1 인증 키와 대응하는 키에 기초하여 상기 제 1 단말 장치로부터 수신되는 전자 장치. - 제 1 항에 있어서,
상기 프로세서 및 상기 메모리는 보안 기능을 제공하기 위한 보안 모드에서 동작하도록 구성된 전자 장치. - 제 1 항에 있어서,
상기 제 1 인증 키는 암호화 키 및 메시지 인증 키를 포함하는 전자 장치. - 제 4 항에 있어서,
상기 제 1 데이터는 식별자(Identifier)에 관한 데이터 및 비밀 키에 관한 데이터를 포함하고,
상기 제 1 인증 메시지는 해쉬 메시지 인증 코드 및 암호화 메시지를 포함하고, 상기 암호화 메시지는 인크립트 메시지를 포함하고, 상기 인크립트 메시지는 인증 ID와 관련된 데이터 및 시각과 관련된 데이터와 관련되는 전자 장치. - 제 5 항에 있어서,
상기 프로세서는,
상기 암호화 키 및 상기 인크립트 메시지에 기초하여 상기 시각과 관련된 데이터 및 상기 인증 ID와 관련된 데이터를 획득하고, 상기 메시지 인증 키 및 상기 암호화 메시지를 이용하여 상기 해쉬 메시지 인증 코드를 획득하도록 구성된 전자 장치. - 제 5 항에 있어서,
상기 프로세서는,
상기 시각과 관련된 데이터, 상기 인증 ID와 관련된 데이터, 및 상기 해쉬 메시지 인증 코드를 인증하도록 구성된 전자 장치. - 제 1 인증 키에 기초하여 제 1 인증 메시지를 생성하도록 구성된 보안 모듈; 및
상기 제 1 인증 메시지와 관련된 데이터를 저장하도록 구성된 메모리를 포함하되,
상기 제 1 인증 키는 상기 보안 모듈과 관련되고, 상기 제 1 인증 키는 다른 보안 모듈과 관련되는 제 2 인증 키와 상이하고, 상기 제 1 인증 메시지는 상기 제 2 인증 키와 관련되는 제 2 인증 메시지와 상이한 전자 장치. - 제 8 항에 있어서,
상기 보안 모듈은 보안 기능을 제공하기 위한 보안 모드에서 동작하도록 구성된 전자 장치. - 제 9 항에 있어서,
상기 보안 모듈은,
상기 보안 모드에서 시각 및 인증 ID와 관련된 인크립트 메시지와 상기 제 1 인증 키를 생성하고,
상기 보안 모드에서 상기 제 1 인증 키 및 상기 인크립트 메시지에 기초하여 해쉬 메시지 인증 코드를 생성하되,
상기 인크립트 메시지는 상기 제 1 인증키에 기초하여 암호화되는 전자 장치. - 제 10 항에 있어서,
상기 시각은 상기 인크립트 메시지가 생성되는 시각과 관련된 데이터를 포함하는 전자 장치. - 제 1 단말 장치와 관련된 제 1 인증 키로부터 생성된 상기 제 1 인증 메시지를 수신하고,
제 2 단말 장치와 관련된 제 2 인증 키로부터 생성된 상기 제 2 인증 메시지를 수신하고,
상기 제 1 인증 메시지로부터 제 3 인증 키를 획득하고, 상기 제 2 인증 메시지로부터 제 4 인증 키를 획득하고,
상기 제 3 인증 키를 이용하여 상기 제 1 인증 메시지를 인증하고, 상기 제 4 인증 키를 이용하여 상기 제 2 인증 메시지를 인증하도록 구성된 프로세서; 및
상기 제 1 인증 메시지, 상기 제 2 인증 메시지, 상기 제 3 인증 키, 및 상기 제 4 인증 키와 관련된 데이터를 저장하도록 구성된 메모리를 포함하되,
상기 제 1 인증 키 및 상기 제 3 인증 키는 대칭 키 관계에 있고, 상기 제 2 인증 키 및 상기 제 4 인증 키는 대칭 키 관계에 있는 전자 장치. - 제 12 항에 있어서,
상기 제 1 인증 키는 상기 제 2 인증 키와 상이하고, 상기 제 2 인증 키는 상기 제 2 단말 장치로 전송되는 전자 장치. - 제 12 항에 있어서,
상기 프로세서는 상기 제 1 인증 키에 기초하여 상기 제 1 인증 메시지를 인증하는 전자 장치. - 제 12 항에 있어서
상기 제 1 인증 메시지는 일반 채널 및 보안 채널 중 적어도 하나를 통해 제 1 단말 장치로부터 수신되는 전자 장치. - 제 12 항에 있어서,
상기 프로세서 및 상기 메모리는 사물 인터넷 시스템을 구성하는 허브에 포함되되,
사물 인터넷 시스템을 구성하는 복수의 단말 장치는 상기 허브를 경유하여 데이터를 교환하는 전자 장치. - 제 12 항에 있어서,
상기 제 1 인증 키는 키 관리 시스템(Key Management System)에 의해 생성 되고, 상기 제 1 인증 키는 상기 제 1 단말 장치로 전송되는 전자 장치. - 제 17 항에 있어서,
상기 프로세서는 암호화 메시지 및 비밀 키에 기초하여 생성되는 상기 제 1 인증 키를 수신하고, 상기 암호화 메시지는 식별자, 소트, 및 장치 ID와 관련되는 전자 장치. - 제 18 항에 있어서,
상기 식별자 및 상기 장치 ID는 상기 제 1 단말 장치와 관련되는 데이터를 포함하는 전자 장치. - 제 18 항에 있어서,
상기 키 관리 시스템으로부터 상기 식별자 및 상기 비밀키를 수신하고, 상기 제 1 인증 메시지를 수신하기 위한 통신 장치를 더 포함하는 전자 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170052509A KR20180119201A (ko) | 2017-04-24 | 2017-04-24 | 인증 시스템을 위한 전자 장치 |
US15/848,262 US20180309580A1 (en) | 2017-04-24 | 2017-12-20 | Electronic device for authentication system |
CN201810300118.4A CN108737104A (zh) | 2017-04-24 | 2018-04-04 | 用于认证系统的电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170052509A KR20180119201A (ko) | 2017-04-24 | 2017-04-24 | 인증 시스템을 위한 전자 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180119201A true KR20180119201A (ko) | 2018-11-02 |
Family
ID=63854264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170052509A KR20180119201A (ko) | 2017-04-24 | 2017-04-24 | 인증 시스템을 위한 전자 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180309580A1 (ko) |
KR (1) | KR20180119201A (ko) |
CN (1) | CN108737104A (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577516B (zh) * | 2017-07-28 | 2020-08-14 | 华为技术有限公司 | 虚拟机密码重置方法、装置和系统 |
US11646894B2 (en) * | 2017-10-26 | 2023-05-09 | International Business Machines Corporation | Single channel multiple access communications system |
US11144620B2 (en) * | 2018-06-26 | 2021-10-12 | Counseling and Development, Inc. | Systems and methods for establishing connections in a network following secure verification of interested parties |
CN109361520B (zh) * | 2018-12-24 | 2021-06-25 | 泰华智慧产业集团股份有限公司 | 基于登录序号的物联网设备动态加密方法 |
US11343672B2 (en) | 2019-02-20 | 2022-05-24 | Coretigo Ltd. | Secure communication encryption and decryption mechanism in a wireless communication system |
CN110198218B (zh) * | 2019-05-10 | 2021-11-26 | 天津理工大学 | 一种基于轻量指纹的无线工业自动化网络设备认证的系统模型及认证方法 |
US11743254B2 (en) * | 2019-08-12 | 2023-08-29 | Lenovo (Singapore) Pte. Ltd. | Device authentication across unsecure network |
CN113206815B (zh) * | 2020-01-31 | 2024-02-20 | 伊姆西Ip控股有限责任公司 | 用于加解密的方法、可编程交换机和计算机可读存储介质 |
CN112073188B (zh) * | 2020-08-31 | 2023-01-24 | 北京市商汤科技开发有限公司 | 鉴权方法、装置、设备及计算机可读存储介质 |
KR20220052007A (ko) | 2020-10-20 | 2022-04-27 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN116028905A (zh) * | 2022-11-17 | 2023-04-28 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种usb外设认证方法、嵌入式系统及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284126B2 (en) * | 2002-11-12 | 2007-10-16 | Agilent Technologies, Inc. | Device authentication using pre-configured security keys |
KR101285863B1 (ko) * | 2006-11-17 | 2013-07-12 | 엘지전자 주식회사 | 디지털 데이터 통신 최적화 방법 |
KR20120067459A (ko) * | 2010-12-16 | 2012-06-26 | 삼성전자주식회사 | 서비스 제공업체와 이동망 사업자간의 기기간 단말별 서비스 인증 방법 및 장치 |
KR101675332B1 (ko) * | 2015-09-14 | 2016-11-11 | 인포뱅크 주식회사 | 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템 |
US9705859B2 (en) * | 2015-12-11 | 2017-07-11 | Amazon Technologies, Inc. | Key exchange through partially trusted third party |
US10084760B2 (en) * | 2016-03-11 | 2018-09-25 | Hewlett-Packard Development Company, L. P. | Secure messages for internet of things devices |
JP6814549B2 (ja) * | 2016-04-27 | 2021-01-20 | 日立オートモティブシステムズ株式会社 | 演算装置、認証システム、認証方法 |
CN107317674B (zh) * | 2016-04-27 | 2021-08-31 | 华为技术有限公司 | 密钥分发、认证方法,装置及系统 |
-
2017
- 2017-04-24 KR KR1020170052509A patent/KR20180119201A/ko unknown
- 2017-12-20 US US15/848,262 patent/US20180309580A1/en not_active Abandoned
-
2018
- 2018-04-04 CN CN201810300118.4A patent/CN108737104A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20180309580A1 (en) | 2018-10-25 |
CN108737104A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180119201A (ko) | 인증 시스템을 위한 전자 장치 | |
EP3090520B1 (en) | System and method for securing machine-to-machine communications | |
US9219722B2 (en) | Unclonable ID based chip-to-chip communication | |
KR101297648B1 (ko) | 서버와 디바이스간 인증방법 | |
US9203610B2 (en) | Systems and methods for secure peer-to-peer communications | |
Chen et al. | Enhanced authentication protocol for the Internet of Things environment | |
US11128455B2 (en) | Data encryption method and system using device authentication key | |
US11606196B1 (en) | Authentication system for a multiuser device | |
KR101785382B1 (ko) | 클라이언트 인증 방법, 클라이언트의 동작 방법, 서버, 및 통신 소프트웨어 | |
US11979501B2 (en) | Optimized access in a service environment | |
US11811915B1 (en) | Stateless system to protect data | |
US11799632B1 (en) | Optimized authentication system | |
US11831756B2 (en) | Sharing access to data externally | |
US11856105B1 (en) | Secure multi-factor authentication system including identity verification of an authorized user | |
US11949772B2 (en) | Optimized authentication system for a multiuser device | |
US11907351B2 (en) | Secure cross-device authentication system | |
US12021975B2 (en) | Authentication system for a multiuser device | |
US20240048559A1 (en) | Rendering endpoint connection without authentication dark on network | |
WO2024107897A1 (en) | System and method for secure end-to-end electronic communication using a mutating table of entropy | |
CN116186722A (zh) | 家电数据加密方法及装置 | |
Signorini et al. | Design and implementation of protection mechanisms for wireless sensor networks |