KR20170100403A - 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 - Google Patents

사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 Download PDF

Info

Publication number
KR20170100403A
KR20170100403A KR1020160151120A KR20160151120A KR20170100403A KR 20170100403 A KR20170100403 A KR 20170100403A KR 1020160151120 A KR1020160151120 A KR 1020160151120A KR 20160151120 A KR20160151120 A KR 20160151120A KR 20170100403 A KR20170100403 A KR 20170100403A
Authority
KR
South Korea
Prior art keywords
authentication
public key
client device
identifier
self
Prior art date
Application number
KR1020160151120A
Other languages
English (en)
Inventor
이주철
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20170100403A publication Critical patent/KR20170100403A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Abstract

사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 인증 장치는 클라이언트 장치가 상기 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신하고, 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 네트워크 인터페이스 및 상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 프로세서를 포함한다.

Description

사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 {APPARATUS FOR AUTHENTICATION USING SELF-CERTIFYING IDENTIFIER ON INTERNET OF THINGS AND METHOD USING THE SAME}
본 발명은 사물인터넷 기술에 관한 것으로, 보다 상세하게는 사물인터넷 클라이언트 장치의 인증 기술에 관한 것이다.
현재 시중에는 다양한 사물인터넷을 지원하는 플랫폼/프레임웍 들이 출시되고 있으며, 각각의 플랫폼/프레임웍들은 다양한 장점을 내세우며 시장 주도권을 선점하기 위하여 경쟁하고 있는 상황이다.
2014년 7월 8일 인텔은 아트멜, 브로드컴, 델, 삼성전자 및 윈드리버 등 다양한 글로벌 선도 기업들과 함께 IoT 연결성 확보를 위하여 오픈 인터커넥트 컨소시엄(Open Interconnect Consortium, OIC)라 불리는 기업간 기술협력체를 결성하였다.
OIC는 사물인터넷 관련 표준을 만들고 있으며 동시에 표준을 구현하는 오픈소스 프로젝트를 함께 진행하고 있다.
OIC에서는 클라이언트/서버 구조의 사물인터넷 환경을 규정하고 있으며, "사물" 은 "서버"의 역할에 상응하고, 서버는 사물과 관련된 각종 정보를 "리소스 (resource)" 의 형태로 관리한다.
"클라이언트" 는 서버가 관리하고 있는 리소스를 지정하여 접근할 수 있으며 리소스를 대상으로 생성, 조회, 업데이트, 삭제 및 통지 등의 조작을 할 수 있다.
OIC에서 클라이언트와 서버는 다양한 통신기술을 통해서 통신 하지만 (e.g. WiFi, BLE, Bluetooth, Ethernet 등), 주요한 통신방식은 무선통신 방식이 주로 사용된다.
특히, 무선통신을 통해서 이루어지는 사물인터넷은 다루고 있는 정보의 특성이나, 사용하는 통신 미디어의 특성 등에 따라 보안의 중요성이 강조되고 있다.
이 때, OIC에서의 보안은 서버가 관리하는 리소스에 대한 보안, 통신데이터의 암호화 및 정보를 요청하는 클라이언트에 대한 인증 등으로 나누어 질 수 있다.
OIC에서의 보안동작구조는 먼저 클라이언트가 접근할 리소스를 가지고 있는 서버에 접속하는 제1 단계, 클라이언트와 서버간 주고받는 메시지를 암호화할 채널을 형성하여 클라이언트가 자신이 보유하고 있는 리소스에 접근을 허용하기 전에 서버가 클라이언트를 인증하는 제 2단계, 클라이언트가 요청한 리소스와 관련된 접근제어 리스트(Access Control List)를 확인하고, 접근제어 리스트에 명시된 권한내용에 따라 해당 클라이언트의 리소스에 대한 접근을 허용할 것인지 결정하는 제 3단계의 과정으로 이루어진다.
이 때, 제 2단계의 사물인터넷 환경에서의 접근 제어를 위하여 클라이언트에 대한 인증수단으로는 일반적으로 공개키 기반 구조(Public Key Infrastructure, PKI)를 많이 사용된다.
종래의 사물 인터넷 환경에서 공개키 기반 구조를 이용한 접근 제어는 먼저 인증기관(Certificate Authority, CA)이 공개키를 배포한다.
이 때, 보증을 원하는 인증 서버가 자신의 공개키를 인증 기관에 제출하고, 인증 기관은 인증 서버의 공개키를 인증 기관의 개인키로 서명한 인증서를 발급한다.
인증 서버는 배포된 인증 기관의 공개키로 인증 기관이 발급한 인증서를 복호화하는 것으로 인증 서버의 공개키를 보증 받을 수 있다.
또한, 클라이언트가 인증 서버에 인증을 요청하면, 인증 서버는 인증 기관이 발급한 인증서를 전달하여 클라이언트가 배포된 인증 기관의 공개키로 인증서를 복호화하는 것으로 인증서에 포함된 인증 서버의 공개키가 보증 받은 것임을 확인할 수 있다.
즉, 클라이언트는 인증 기관을 통해 보증된 인증 서버의 공개키를 이용하여 클라이언트와 인증 서버간 신뢰할 수 있는 인증을 수행할 수 있었다.
그러나, 사물인터넷 환경에서 인증 기관이 포함된 공개키 기반 구조에 요구되는 인프라는 무겁고 관리가 어려우며, 인증 기관이 별도로 필요하다는 점 때문에 수많은 기기가 연결되는 사물인터넷 환경에는 적합하지 않다.
또한, 경량의 사물인터넷 클라이언트는 복잡한 암호화를 지원하지 못하기 때문에 암호화 수준이 낮아 해킹이 용이하다는 문제점이 존재한다.
따라서, 사물인터넷 환경에 적합한 가벼운 인프라와 높은 암호화 수준의 보안 기술이 필요한 실정이다.
한편, 한국공개특허 제 10-2014-0045829 호"사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치"는 다양한 디바이스 간에 안전하게 IoT 통신을 통해 상호 접속할 수 있도록 하는 인증을 제공하는 사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치에 관하여 개시되어 있다.
그러나, 한국공개특허 제 10-2014-0045829 호는 사용자가 기등록한 디바이스 정보를 기반으로 디바이스를 인증하기 때문에 암호화 수준에 있어서 한계를 갖고 있다.
본 발명은 외부 인증 기관이 배제된 사물인터넷 환경에 적합한 접근 제어 기술을 제공하는 것을 목적으로 한다.
또한, 본 발명은 외부 인증 기관을 배제시켜 사물인터넷 환경의 관리 용이성과 가벼운 인프라를 제공하는 것을 목적으로 한다.
또한, 본 발명은 자가인증 식별자를 이용한 공개키 기반 구조의 사물 인터넷 환경에서 인증 서버와 클라이언트간의 접근 제어를 수행하는 것을 목적으로 한다.
또한, 본 발명은 자가인증 식별자를 이용한 공개키 기반 구조의 사물 인터넷 환경에서 인증 서버와 클라이언트간의 인증에 있어서 높은 보안성과 신뢰성을 보장하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 인증 장치는 클라이언트 장치가 상기 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신하고, 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 네트워크 인터페이스 및 상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 프로세서를 포함한다.
이 때, 상기 클라이언트 장치는 상기 공개키를 디스커버리 메시지에 포함시켜 멀티캐스트로 배포할 수 있다.
이 때, 상기 클라이언트 장치는 상기 인증 메시지를 상기 클라이언트 장치의 개인키로 복호화하고, 상기 데이터를 상기 공개키로 서명한 상기 응답 메시지를 상기 인증 장치에 전송할 수 있다.
이 때, 상기 프로세서는 공개키의 해시값을 산출하고, 상기 해시값과 상기 자가인증 식별자를 일치 여부를 비교할 수 있다.
이 때, 상기 프로세서는 상기 해시값과 상기 자가인증 식별자가 일치하는 경우, 상기 공개키를 상기 자가인증 식별자와 맵핑하여 저장할 수 있다.
이 때, 상기 프로세서는 상기 응답 메시지를 상기 공개키로 복호화하고, 상기 응답메시지의 복호화가 성공한 경우, 복호화한 내용과 상기 데이터의 일치 여부를 비교하여 상기 클라이언트 장치의 인증을 수행할 수 있다.
이 때, 상기 자가인증 식별자는 상기 인터넷 식별자의 권한 식별자에 호스트 식별자 및 포트 식별자와 함께 기술될 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 인증 방법은 인증 장치를 이용하는 방법에 있어서, 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 상기 클라이언트 장치가 배포한 공개키를 수신하는 단계; 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 단계; 상기 클라이언트 장치로부터 상기 인증 메시지에 대한 응답 메시지를 수신하는 단계 및 상기 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 단계를 포함한다.
이 때, 상기 클라이언트 장치는 상기 공개키를 디스커버리 메시지에 포함시켜 멀티캐스트로 배포할 수 있다.
이 때, 상기 인증 방법은 상기 인증 메시지를 전송하는 단계와 상기 응답 메시지를 수신하는 단계 사이에, 상기 클라이언트 장치가 상기 인증 메시지를 상기 클라이언트 장치의 개인키로 복호화하는 단계 및 상기 클라이언트 장치가 상기 데이터를 상기 공개키로 서명한 상기 응답 메시지를 상기 인증 장치에 전송하는 단계를 더 포함할 수 있다.
이 때, 상기 공개키를 수신하는 단계는 상기 공개키의 해시값을 산출하는 단계 및 상기 해시값과 상기 자가인증 식별자를 일치 여부를 비교하는 단계를 포함할 수 있다.
이 때, 상기 비교하는 단계는 상기 해시값과 상기 자가인증 식별자가 일치하는 경우에만, 상기 공개키를 상기 자가인증 식별자와 맵핑하여 저장할 수 있다.
이 때, 상기 인증을 수행하는 단계는 상기 응답 메시지를 상기 공개키로 복호화하는 단계 및 상기 응답메시지의 복호화가 성공한 경우, 복호화한 내용과 상기 데이터의 일치 여부를 비교하여 상기 클라이언트 장치의 인증을 수행하는 단계를 포함할 수 있다.
이 때, 상기 자가인증 식별자는 상기 인터넷 식별자의 권한 식별자에 호스트 식별자 및 포트 식별자와 함께 기술될 수 있다.
본 발명은 외부 인증 기관이 배제된 사물인터넷 환경에 적합한 접근 제어 기술을 제공할 수 있다.
또한, 본 발명은 외부 인증 기관을 배제시켜 사물인터넷 환경의 관리 용이성과 가벼운 인프라를 제공할 수 있다.
또한, 본 발명은 자가인증 식별자를 이용한 공개키 기반 구조의 사물 인터넷 환경에서 인증 서버와 클라이언트간의 접근 제어를 수행할 수 있다.
또한, 본 발명은 자가인증 식별자를 이용한 공개키 기반 구조의 사물 인터넷 환경에서 인증 서버와 클라이언트간의 인증에 있어서 높은 보안성과 신뢰성을 보장할 수 있다.
도 1는 본 발명의 일실시예에 따른 인증 장치를 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 인증 방법을 나타낸 동작 흐름도이다.
도 4는 도 3에 도시된 공개기 저장 단계의 일 예를 세부적으로 나타낸 동작 흐름도이다.
도 5는 도 3에 도시된 클라이언트 인증 단계의 일 예를 세부적으로 나타낸 동작 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1는 본 발명의 일실시예에 따른 인증 장치를 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 인증 장치는 공개키 수신부(110), 메시지 전송부(120) 및 클라이언트 인증부(130)를 포함한다.
공개키 수신부(110)는 클라이언트 장치(200)가 클라이언트 장치(200)의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신할 수 있다.
메시지 전송부(120)는 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송할 수 있다.
클라이언트 인증부(130)는 상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 2에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 입력 장치(1140), 사용자 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
네트워크 인터페이스(1170)는 클라이언트 장치(200)가 클라이언트 장치(200)의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신할 수 있다.
자가인증 식별자는 자가인증 식별자의 소유자가 인증기관(Certificate Authority, CA)과 같은 외부 기관에 의지하지 않고 본인임을 증명할 수 있는 식별자에 상응할 수 있다.
이 때, 자가인증 식별자는 공개키(Public Key) 또는 공개키의 해시값을 포함할 수 있다.
이 때, 자가인증 식별자의 길이는 해시함수를 통해 공개키의 해시값의 길이로 제한될 수도 있다.
즉, 자가인증 식별자는 클라이언트 장치(200)의 인증 정보를 식별자에 포함시킬 수가 있다.
오픈 인터커넥트 컨소시엄(Open Interconnect Consortium, OIC)에서는 각 식별자를 인터넷 식별자를 이용하여 기술할 수 있다.
본 발명의 일실시예에 따른 인터넷 식별자는 아래와 같은 형태에 상응할 수 있다.
<scheme>://<authority>/<path>?<query>
<path>는 OIC 서버 내에서 특정 리소스를 정확히 식별할 수 있는 문자열에 상응할 수 있다. 이 때, <path> 는 '/' 로 분할되는 형태에 상응할 수 있다.
<query>는 ';' 로 분할되는 <name>=<value> 의 리스트 형태에 상응할 수 있다.
상기 인터넷 식별자 형태를 기반으로 OIC에서 사용되는 OIC 인터넷 식별자는 아래와 같은 형태에 상응할 수 있다.
oic://<authority>/<path>?<query>
상기 인터넷 식별자 형태에서 권한 식별자에 상응하는 <authority>는 아래와 같은 형식에 상응할 수 있다.
<authority> := <host>:<port>
<host>는 IP 망인 경우 도메인네임이나 IP 주소에 상응할 수 있고, IP 망이 아닌 경우 이름 (name) 이나 적절한 식별자(identifier)에 상응할 수 있다.
이 때, 본 발명의 일실시예에 따른 <authority>는 다음과 같이 변경될 수 있다.
<host>:<port> -> <host>:<자가인증식별자>:<port>
즉, 자가인증 식별자는 인터넷 식별자의 권한 식별자에 호스트 식별자 및 포트 식별자와 함께 기술될 수 있다.
따라서, 인증 장치(100)와 클라이언트 장치(200)는 자가인증 식별자가 기술된 인터넷 식별자를 통해 통신, 접근 제어 및 인증을 수행할 수 있다.
즉, 인증 장치(100)와 클라이언트 장치(200)간에는 암호화된 채널이 형성된 효과와 동일한 효과를 얻을 수 있다.
이 때, 클라이언트 장치(200)는 공개키를 디스커버리 메시지에 포함시켜 멀티캐스트로 배포할 수 있다.
디스커버리 메시지는 특정 리소스 또는 디바이스 명을 찾기 위한 메시지에 상응할 수 있다.
즉, 클라이언트 장치(200)는 멀티캐스트를 통해 디스커버리 메시지를 한 번의 송신으로 인증 장치(100)뿐만 아니라 여러 대상에게 동시에 전송할 수 있다.
네트워크 인터페이스(1170)는 디스커버리 메시지를 수신할 수 있다.
프로세서(1110)는 수신한 디스커버리 메시지에 기반하여 공개키를 추출할 수 있다.
이 때, 프로세서(1110)는 공개키의 해시값을 산출하고, 공개키의 해시값과 자가인증 식별자의 일치 여부를 비교할 수 있다.
이 때, 프로세서(1110)는 공개키의 해시값과 자가인증 식별자가 일치하는 경우, 공개키와 자가입증 식별자를 맵핑하여 스토리지(1160)에 저장할 수 있다.
이 때, 프로세서(1110)는 공개키의 해시값과 자가인증 식별자가 일치하지 않는 경우, 공개키를 폐기할 수 있다.
즉, 스토리지(1160)는 프로세서(1110)를 이용하여 클라이언트 장치(200)가 배포한 디스커버리 메시지로부터 클라이언트 장치(200)마다 고유한 자가인증 식별자 별로 공개키를 데이터베이스화 할 수 있다.
이 때, 프로세서(1110)는 공개키가 저장이 확인된 경우, 클라이언트 장치(200)에 네트워크 인터페이스(1170)를 통해 공개키 저장 성공 메시지(positive response)를 리턴할 수 있고, 공개키 저장이 실패한 경우, 네트워크 인터페이스(1170)를 통해 클라이언트 장치(200)에게 공개키 저장 실패 메시지(negative response)를 리턴할 수 있다(S324).
클라이언트 장치(200)는 인증 장치(100)의 리소스에 대한 접근을 수행하기 위하여 인증 장치(100)에게 클라이언트 장치(200)의 인증을 요청할 수 있다.
이 때, 클라이언트 장치(200)의 인증 요청은 클라이언트 장치(200)가 원하는 리소스에 대한 임의의 동작 요청에 상응할 수도 있다.
네트워크 인터페이스(1170)는 인증을 요청한 클라이언트 장치(200)에게 저장된 공개키로 데이터를 서명한 인증 메시지를 전송할 수 있다.
데이터는 인증 장치(100)가 선택한 임의의 데이터에 상응할 수 있고, 클라이언트 장치(200)가 원하는 리소스에 대한 임의의 동작 요청에 상응하는 데이터에 상응할 수도 있다.
클라이언트 장치(200)는 수신한 인증 메시지를 클라이언트 장치(200)의 개인키(Private Key)로 복호화할 수 있다. 인증 메시지는 인증 장치(100)에 저장된 클라이언트 장치(200)의 공개키에 상응하므로, 클라이언트 장치(200)가 개인키로 복호화할 수 있다.
이 때, 클라이언트 장치(200)는 인증 메시지의 복호화한 내용에 상응하는 데이터를 다시 클라이언트 장치(200)의 공개키로 서명한 응답 메시지를 인증 장치(100)에 전송할 수 있다.
네트워크 인터페이스(1170)는 클라이언트 장치(200)로부터 인증 메시지에 대한 응답 메시지를 수신할 수 있다.
또한, 네트워크 인터페이스(1170)는 도 1에 도시된 공개키 수신부(110) 및 메시지 전송부(120)에 상응할 수도 있다.
이 때, 프로세서(1110)는 응답 메시지에 기반하여 클라이언트 장치(200)의 인증을 수행할 수 있다.
이 때, 프로세서(1110)는 응답 메시지를 전송한 클라이언트 장치(200)의 자가인증 식별자를 확인할 수 있다.
이 때, 프로세서(1110)는 스토리지(1160)에 저장된 자가인증 식별자와 맵핑된 공개키를 참조할 수도 있다.
이 때, 프로세서(1110)는 응답 메시지를 불러온 공개키로 복호화할 수 있다.
이 때, 프로세서(1110)는 응답 메시지의 복호화가 실패한 경우, 클라이언트 장치(200)의 인증을 실패 처리할 수 있고, 네트워크 인터페이스(1170)을 통해 인증 실패 메시지를 클라이언트 장치(200)에게 전송할 수도 있다.
이 때, 프로세서(1110)는 응답메시지의 복호화가 성공한 경우, 복호화한 내용과 데이터의 일치 여부를 비교하여 클라이언트 장치(200)의 인증을 수행할 수 있다.
이 때, 프로세서(1110)는 복호화한 내용과 데이터가 일치 하는 경우, 클라이언트 장치(200)의 인증은 성공할 수 있고, 복호화한 내용과 데이터가 일치하지 않는 경우, 클라이언트 장치(200)의 인증은 실패할 수 있다.
클라이언트 장치(200)는 인증이 성공하면 인증 장치(100)에 리소스를 지정하여 접근할 수 있으며, 리소스를 대상으로 생성, 조회, 업데이트, 삭제 및 통지 등의 조작을 수행할 수 있다.
또한, 프로세서(1110)는 도 1에 도시된 클라이언트 인증부(130)에 상응할 수도 있다.
도 3은 본 발명의 일실시예에 따른 인증 방법을 나타낸 동작 흐름도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 인증 방법은 먼저 공개키를 수신한다(S310).
즉, 단계(S310)는 클라이언트 장치(200)가 클라이언트 장치(200)의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신할 수 있다.
자가인증 식별자는 자가인증 식별자의 소유자가 인증기관(Certificate Authority, CA)와 같은 외부 기관에 의지하지 않고 본인임을 증명할 수 있는 식별자에 상응할 수 있다.
이 때, 자가인증 식별자는 공개키(Public Key) 또는 공개키의 해시값을 포함할 수 있다.
이 때, 자가인증 식별자의 길이는 해시함수를 통해 공개키의 해시값의 길이로 제한될 수도 있다.
즉, 자가인증 식별자는 클라이언트 장치의 인증 정보를 식별자에 포함시킬 수가 있다.
오픈 인터커넥트 컨소시엄(Open Interconnect Consortium, OIC)에서는 각 식별자를 인터넷 식별자를 이용하여 기술할 수 있다.
본 발명의 일실시예에 따른 인터넷 식별자는 아래와 같은 형태에 상응할 수 있다.
<scheme>://<authority>/<path>?<query>
<path>는 OIC 서버 내에서 특정 리소스를 정확히 식별할 수 있는 문자열에 상응할 수 있다. 이 때, <path> 는 '/' 로 분할되는 형태에 상응할 수 있다.
<query>는 ';' 로 분할되는 <name>=<value> 의 리스트 형태에 상응할 수 있다.
상기 인터넷 식별자 형태를 기반으로 OIC에서 사용되는 OIC 인터넷 식별자는 아래와 같은 형태에 상응할 수 있다.
oic://<authority>/<path>?<query>
상기 인터넷 식별자 형태에서 권한 식별자에 상응하는 <authority>는 아래와 같은 형식에 상응할 수 있다.
<authority> := <host>:<port>
<host>는 IP 망인 경우 도메인네임이나 IP 주소에 상응할 수 있고, IP 망이 아닌 경우 이름 (name) 이나 적절한 식별자(identifier)에 상응할 수 있다.
이 때, 본 발명의 일실시예에 따른 <authority>는 다음과 같이 변경될 수 있다.
<host>:<port> -> <host>:<자가인증식별자>:<port>
즉, 자가인증 식별자는 인터넷 식별자의 권한 식별자에 호스트 식별자 및 포트 식별자와 함께 기술될 수 있다.
따라서, 인증 장치(100)와 클라이언트 장치(200)는 자가인증 식별자가 포함된 인터넷 식별자를 통해 통신, 접근 제어 및 인증을 수행할 수 있다.
즉, 인증 장치(100)와 클라이언트 장치(200)간에는 암호화된 채널이 형성된 효과와 동일한 효과를 얻을 수 있다.
이 때, 클라이언트 장치(200)는 공개키를 디스커버리 메시지에 포함시켜 멀티캐스트로 배포할 수 있다.
디스커버리 메시지는 특정 리소스 또는 디바이스 명을 찾기 위한 메시지에 상응할 수 있다.
즉, 클라이언트 장치(200)는 멀티캐스트를 통해 디스커버리 메시지를 한 번의 송신으로 인증 장치(100)뿐만 아니라 여러 대상에게 동시에 전송할 수 있다.
이 때, 단계(S310)는 디스커버리 메시지를 수신하여 공개키를 추출할 수 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 공개키를 저장할 수 있다(S320).
이 때, 단계(S320)는 먼저 공개키의 해시값을 산출 할 수 있다(S321).
또한, 단계(S320)는 공개키의 해시값과 자가인증 식별자의 일치 여부를 비교할 수 있다(S322).
즉, 단계(S322)는 공개키의 해시값과 자가인증 식별자가 일치하는 경우, 공개키와 자가입증 식별자를 맵핑하여 저장할 수 있다(S323)
이 때, 단계(S322)는 공개키의 해시값과 자가인증 식별자가 일치하지 않는 경우, 공개키를 폐기할 수 있다(S324).
즉, 단계(S323)는 클라이언트 장치(200)가 배포한 디스커버리 메시지로부터 클라이언트 장치(200)마다 고유한 자가인증 식별자 별로 공개키를 데이터베이스화 할 수 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 공개키 수신에 대한 응답을 할 수 있다(S330).
즉, 단계(S330)는 공개키가 저장된 경우, 클라이언트 장치(200)에 공개키 저장 성공 메시지(positive response)를 리턴할 수 있고, 공개키 저장이 실패한 경우, 클라이언트 장치(200)에 공개키 저장 실패 메시지(negative response)를 리턴할 수 있다(S324).
또한, 본 발명의 일실시예에 따른 인증 방법은 클라이언트 인증을 요청할 수 있다(S340).
즉, 단계(S340)는 클라이언트 장치(200)가 인증 장치(100)의 리소스에 대한 접근을 수행하기 위하여 클라이언트 장치(200)의 인증을 요청할 수 있다.
이 때, 클라이언트 장치(200)의 인증 요청은 원하는 리소스에 대한 임의의 동작 요청에 상응할 수도 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 인증 메시지를 전송할 수 있다(S350).
즉, 단계(S350)는 인증을 요청한 클라이언트 장치(200)에게 저장된 공개키로 데이터를 서명한 인증 메시지를 전송할 수 있다.
데이터는 인증 장치(100)가 선택한 임의의 데이터에 상응할 수 있고, 클라이언트 장치(200)가 원하는 리소스에 대한 임의의 동작 요청에 상응하는 데이터에 상응할 수도 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 인증 메시지를 복호화할 수 있다(S360).
즉, 단계(S360)는 클라이언트 장치(200)가 수신한 인증 메시지를 클라이언트 장치(200)의 개인키(Private Key)로 복호화할 수 있다.
인증 메시지는 인증 장치(100)에 저장된 클라이언트 장치(200)의 공개키에 상응하므로, 클라이언트 장치(200)가 개인키로 복호화할 수 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 응답 메시지를 생성할 수 있다(S370).
즉, 단계(S370)는 클라이언트 장치(200)가 인증 메시지의 복호화한 내용에 상응하는 데이터를 다시 클라이언트 장치(200)의 공개키로 서명한 응답 메시지를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 응답 메시지를 수신할 수 있다(S380).
즉, 단계(S380)는 클라이언트 장치(200)로부터 인증 메시지에 대한 응답 메시지를 수신할 수 있다.
이 때, 단계(S380)는 응답 메시지를 전송한 클라이언트 장치(200)의 자가인증 식별자를 확인할 수 있다.
이 때, 단계(S380)는 저장된 자가인증 식별자와 맵핑된 공개키를 불러올 수 있다.
또한, 본 발명의 일실시예에 따른 인증 방법은 클라이언트 인증을 수행할 수 있다(S390).
즉, 단계(S390)는 응답 메시지에 기반하여 클라이언트 장치(200)의 인증을 수행할 수 있다.
이 때, 단계(S390)는 먼저 응답 메시지를 공개키로 복호화할 수 있다(S391).
이 때, 단계(S391)는 응답 메시지의 복호화가 실패한 경우, 클라이언트 장치(200)의 인증은 실패할 수 있다(S394).
또한, 단계(S391)는 응답메시지의 복호화가 성공한 경우, 복호화한 내용과 데이터의 일치 여부를 비교하여 클라이언트 장치(200)의 인증을 수행할 수 있다(S392).
이 때, 단계(S392)는 복호화한 내용과 데이터가 일치 하는 경우, 클라이언트 장치(200)의 인증은 성공할 수 있고(S393), 복호화한 내용과 데이터가 일치하지 않는 경우, 클라이언트 장치(200)의 인증은 실패할 수 있다(S394).
클라이언트 장치(200)는 인증이 성공하면 인증 장치(100)에 리소스를 지정하여 접근할 수 있으며, 리소스를 대상으로 생성, 조회, 업데이트, 삭제 및 통지 등의 조작을 수행할 수 있다.
도 4는 도 3에 도시된 공개기 저장 단계의 일 예를 세부적으로 나타낸 동작 흐름도이다.
도 4를 참조하면, 단계(S320)는 먼저 공개키의 해시값을 산출 할 수 있다(S321).
또한, 단계(S320)는 공개키의 해시값과 자가인증 식별자의 일치 여부를 비교할 수 있다(S322).
즉, 단계(S322)는 공개키의 해시값과 자가인증 식별자가 일치하는 경우, 공개키와 자가입증 식별자를 맵핑하여 저장할 수 있고, 클라이언트 장치(200)에 공개키 저장 성공 메시지(positive response)를 리턴할 수 있다(S323).
이 때, 단계(S322)는 공개키의 해시값과 자가인증 식별자가 일치하지 않는 경우, 공개키를 폐기할 수 있고, 클라이언트 장치(200)에 공개키 저장 실패 메시지(negative response)를 리턴할 수 있다(S324).
즉, 단계(S323)는 클라이언트 장치(200)가 배포한 디스커버리 메시지로부터 클라이언트 장치(200)마다 고유한 자가인증 식별자 별로 공개키를 데이터베이스화 할 수 있다.
도 5는 도 3에 도시된 클라이언트 인증 단계의 일 예를 세부적으로 나타낸 동작 흐름도이다.
도 5를 참조하면, 단계(S390)는 먼저 응답 메시지를 공개키로 복호화할 수 있다(S391).
이 때, 단계(S391)는 응답 메시지의 복호화가 실패한 경우, 클라이언트 장치(200)의 인증은 실패할 수 있다(S394).
또한, 단계(S391)는 응답메시지의 복호화가 성공한 경우, 복호화한 내용과 데이터의 일치 여부를 비교하여 클라이언트 장치(200)의 인증을 수행할 수 있다(S392).
이 때, 단계(S392)는 복호화한 내용과 데이터가 일치 하는 경우, 클라이언트 장치(200)의 인증은 성공할 수 있고(S393), 복호화한 내용과 데이터가 일치하지 않는 경우, 클라이언트 장치(200)의 인증은 실패할 수 있다(S394).
이상에서와 같이 본 발명에 따른 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 인증 장치 110: 공개키 수신부
120: 메시지 전송부 130: 클라이언트 인증부
200: 클라이언트 장치 1100: 컴퓨터 시스템
1110: 프로세서 1120: 버스
1130: 메모리 1131: 롬
1132: 램 1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치 1160: 스토리지
1170: 네트워크 인터페이스 1180: 네트워크

Claims (1)

  1. 클라이언트 장치가 상기 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신하고, 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 네트워크 인터페이스;
    상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 인증 장치.
KR1020160151120A 2016-02-25 2016-11-14 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 KR20170100403A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160022651 2016-02-25
KR1020160022651 2016-02-25

Publications (1)

Publication Number Publication Date
KR20170100403A true KR20170100403A (ko) 2017-09-04

Family

ID=59924224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160151120A KR20170100403A (ko) 2016-02-25 2016-11-14 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20170100403A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190135688A (ko) 2018-05-29 2019-12-09 삼성에스디에스 주식회사 디바이스 식별 장치 및 그 방법
US11184332B2 (en) 2018-01-12 2021-11-23 Samsung Electronics Co., Ltd. User terminal device, electronic device, system comprising the same and control method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184332B2 (en) 2018-01-12 2021-11-23 Samsung Electronics Co., Ltd. User terminal device, electronic device, system comprising the same and control method thereof
KR20190135688A (ko) 2018-05-29 2019-12-09 삼성에스디에스 주식회사 디바이스 식별 장치 및 그 방법

Similar Documents

Publication Publication Date Title
JP6923611B2 (ja) サービス層におけるコンテンツセキュリティ
CN108235806B (zh) 安全访问区块链的方法、装置、系统、存储介质及电子设备
US10601594B2 (en) End-to-end service layer authentication
US10412061B2 (en) Method and system for encrypted communications
US9313030B2 (en) Method and apparatus for secure ad hoc group device-to-device communication in information-centric network
US11303431B2 (en) Method and system for performing SSL handshake
US20220231859A1 (en) Systems and methods for verifying a route taken by a communication
WO2019041802A1 (zh) 基于服务化架构的发现方法及装置
US20230421394A1 (en) Secure authentication of remote equipment
US10944555B2 (en) Secure methods and systems for identifying bluetooth connected devices with installed application
US10637651B2 (en) Secure systems and methods for resolving audio device identity using remote application
WO2022100356A1 (zh) 身份认证系统、方法、装置、设备及计算机可读存储介质
US20180063105A1 (en) Management of enciphered data sharing
US20200213106A1 (en) Security service providing apparatus and method for supporting lightweight security scheme
CN108353279A (zh) 一种认证方法和认证系统
KR20170100403A (ko) 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법
CN110912685A (zh) 建立受保护通信信道
KR101886367B1 (ko) 사물 간 통신 네트워크에서의 기기 개별 세션키 생성 및 이를 이용한 기기 간의 암호화 및 복호화 기능 검증 방법
KR101757563B1 (ko) 사물인터넷 환경에서의 비밀키 관리 방법 및 장치
US11102655B1 (en) Secure device action initiation using a remote device
CN115801252B (zh) 一种结合量子加密技术的安全云桌面系统
WO2023240587A1 (zh) 一种设备权限配置方法及装置、终端设备
CN115333820A (zh) 区块链数据处理方法、装置、设备以及存储介质
JP2008191727A (ja) データ送信装置、データ受信装置、認証方法、受信方法及びプログラム