KR20170100403A - 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 - Google Patents
사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 Download PDFInfo
- 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
- identifier
- client device
- self
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 1
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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H04L67/16—
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 인증 장치는 클라이언트 장치가 상기 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신하고, 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 네트워크 인터페이스 및 상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 프로세서를 포함한다.
Description
본 발명은 사물인터넷 기술에 관한 것으로, 보다 상세하게는 사물인터넷 클라이언트 장치의 인증 기술에 관한 것이다.
현재 시중에는 다양한 사물인터넷을 지원하는 플랫폼/프레임웍 들이 출시되고 있으며, 각각의 플랫폼/프레임웍들은 다양한 장점을 내세우며 시장 주도권을 선점하기 위하여 경쟁하고 있는 상황이다.
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에 도시된 클라이언트 인증 단계의 일 예를 세부적으로 나타낸 동작 흐름도이다.
도 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: 네트워크
120: 메시지 전송부 130: 클라이언트 인증부
200: 클라이언트 장치 1100: 컴퓨터 시스템
1110: 프로세서 1120: 버스
1130: 메모리 1131: 롬
1132: 램 1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치 1160: 스토리지
1170: 네트워크 인터페이스 1180: 네트워크
Claims (1)
- 클라이언트 장치가 상기 클라이언트 장치의 자가인증 식별자(Self-Certifying Identifier)가 기술된 인터넷 식별자(Uniform Resource Identifier, URI)를 이용하여 배포한 공개키를 수신하고, 인증을 요청한 상기 클라이언트 장치에게 상기 공개키로 데이터를 서명한 인증 메시지를 전송하는 네트워크 인터페이스;
상기 클라이언트 장치로부터 수신된 상기 인증 메시지에 대한 응답 메시지에 기반하여 상기 클라이언트 장치의 인증을 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 인증 장치.
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)
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 |
-
2016
- 2016-11-14 KR KR1020160151120A patent/KR20170100403A/ko unknown
Cited By (2)
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) | サービス層におけるコンテンツセキュリティ | |
US10412061B2 (en) | Method and system for encrypted communications | |
CN108235806B (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
US10601594B2 (en) | End-to-end service layer authentication | |
US11804967B2 (en) | Systems and methods for verifying a route taken by a communication | |
US9313030B2 (en) | Method and apparatus for secure ad hoc group device-to-device communication in information-centric network | |
CN106537864B (zh) | 一种访问资源的方法及装置 | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
CN107454079B (zh) | 基于物联网平台的轻量级设备认证及共享密钥协商方法 | |
WO2022100356A1 (zh) | 身份认证系统、方法、装置、设备及计算机可读存储介质 | |
WO2019041802A1 (zh) | 基于服务化架构的发现方法及装置 | |
US10680835B2 (en) | Secure authentication of remote equipment | |
US11146554B2 (en) | System, method, and apparatus for secure identity authentication | |
US10944555B2 (en) | Secure methods and systems for identifying bluetooth connected devices with installed application | |
US11133931B2 (en) | Security service providing apparatus and method for supporting lightweight security scheme | |
EP3811583B1 (en) | Secure systems and methods for resolving audio device identity using remote application | |
CN108353279A (zh) | 一种认证方法和认证系统 | |
CN108809907A (zh) | 一种证书请求消息发送方法、接收方法和装置 | |
US20140181508A1 (en) | Communication device and computer program product | |
KR20170100403A (ko) | 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법 | |
CN113949432B (zh) | 面向飞行任务无人机区块链建立方法、系统、设备、终端 | |
US11102655B1 (en) | Secure device action initiation using a remote device | |
KR101757563B1 (ko) | 사물인터넷 환경에서의 비밀키 관리 방법 및 장치 | |
JP2008191727A (ja) | データ送信装置、データ受信装置、認証方法、受信方法及びプログラム | |
CN112818412A (zh) | 一种基于区块链的设备数据访问方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20161114 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination |