KR101688813B1 - IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템 - Google Patents

IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101688813B1
KR101688813B1 KR1020160046890A KR20160046890A KR101688813B1 KR 101688813 B1 KR101688813 B1 KR 101688813B1 KR 1020160046890 A KR1020160046890 A KR 1020160046890A KR 20160046890 A KR20160046890 A KR 20160046890A KR 101688813 B1 KR101688813 B1 KR 101688813B1
Authority
KR
South Korea
Prior art keywords
iot device
platform server
registration
key
data
Prior art date
Application number
KR1020160046890A
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 (주)케이사인
Priority to KR1020160046890A priority Critical patent/KR101688813B1/ko
Application granted granted Critical
Publication of KR101688813B1 publication Critical patent/KR101688813B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

IoT 기기와 소유자 사이의 관계 확립을 위한 방법에서, 플랫폼 서버가 소유자 단말기의 요청에 기초하여 IoT 기기를 위한 등록 트랜잭션 핸들을 생성하고, 플랫폼 서버가 등록 트랜잭션 핸들에 기초한 IoT 기기의 등록 요청에 기초하여 IoT 기기와 소유자 단말기를 바인딩하며, 플랫폼 서버와 IoT 기기가 제1 및 제2 공유키들을 설정함으로써, 플랫폼 서버에 IoT 기기를 등록한다. IoT 기기가 제2 공유키를 기초로 제1 부분키를 암호화하여 제1 데이터를 생성하고, 플랫폼 서버가 제1 공유키에 기초하여 제1 데이터를 검증하고 제1 공유키를 기초로 제2 부분키를 암호화하여 제2 데이터를 생성하고, IoT 기기가 제2 공유키에 기초하여 제2 데이터를 검증하며, 제1 및 제2 부분키들을 결합하여 세션키를 설정함으로써, IoT 기기를 인증한다.

Description

IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템{METHOD AND SYSTEM FOR ESTABLISHING RELATIONSHIP BETWEEN IOT DEVICE AND OWNER}
본 발명은 사물인터넷(Internet of Things: IoT)에 관한 것으로서, 더욱 상세하게는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 상기 방법을 수행하는 시스템에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 사물인터넷(Internet of Things: IoT) 망으로 진화하고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술 등이 요구되는데, 특히 IoT 기기를 포함하는 시스템에서 보안 기술의 중요성이 더욱 요구될 수 있다.
본 발명의 일 목적은 IoT 기기와 상기 IoT 기기의 소유자 사이의 관계를 효율적으로 확립할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 IoT 기기와 상기 IoT 기기의 소유자 사이의 관계를 효율적으로 확립할 수 있는 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법에서, 플랫폼 서버가 소유자 단말기의 요청에 기초하여 제1 사물인터넷(Internet of Things: IoT) 기기를 위한 제1 등록 트랜잭션 핸들을 생성하고, 상기 제1 IoT 기기가 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 플랫폼 서버에 등록 요청 메시지를 전송하고, 상기 플랫폼 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기와 상기 소유자 단말기를 바인딩(binding)하며, 상기 플랫폼 서버와 상기 제1 IoT 기기가 상호 연동하여 제1 공유키 및 제2 공유키를 각각 설정함으로써, 상기 플랫폼 서버에 상기 제1 IoT 기기를 등록한다. 상기 제1 IoT 기기가 제1 부분키를 발생하고 상기 제2 공유키를 기초로 상기 제1 부분키를 암호화하여 제1 데이터를 생성하고, 상기 플랫폼 서버가 제2 부분키를 발생하고 상기 제1 공유키에 기초하여 상기 제1 데이터를 검증하고 상기 제1 공유키를 기초로 상기 제2 부분키를 암호화하여 제2 데이터를 생성하고, 상기 제1 IoT 기기가 상기 제2 공유키에 기초하여 상기 제2 데이터를 검증하며, 상기 제1 부분키 및 상기 제2 부분키를 결합하여 세션키를 설정한다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 소유자 단말기는 상기 플랫폼 서버에 등록 트랜잭션 핸들 요청 메시지를 전송할 수 있다. 상기 플랫폼 서버는 상기 등록 트랜잭션 핸들 요청 메시지에 기초하여 제1 등록 트랜잭션 핸들 정보를 생성하고, 상기 소유자 단말기에 상기 제1 등록 트랜잭션 핸들을 돌려줄 수 있다. 상기 제1 등록 트랜잭션 핸들 정보는 제1 트랜잭션 ID, 상기 소유자 단말기에 대한 소유자 ID 및 상기 제1 등록 트랜잭션 핸들의 유효 시간을 나타내는 제1 시간 정보를 포함할 수 있다. 상기 제1 등록 트랜잭션 핸들은 상기 제1 트랜잭션 ID, 상기 플랫폼 서버의 위치를 나타내는 제1 URL, 및 제2 URL을 포함할 수 있다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 소유자 단말기는 상기 제1 IoT 기기에 상기 제1 등록 트랜잭션 핸들을 전송할 수 있다. 상기 제1 IoT 기기는 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 제1 IoT 기기의 제1 물리적 기기 ID를 추출하고, 상기 플랫폼 서버에 상기 제1 물리적 기기 ID 및 상기 제1 트랜잭션 ID를 포함하는 상기 등록 요청 메시지를 전송할 수 있다. 상기 플랫폼 서버는 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기의 제1 기기 ID를 생성할 수 있다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 소유자 단말기와 상기 제1 IoT 기기 사이에 제1 보안 채널이 형성되고, 상기 제1 보안 채널을 통해 상기 제1 등록 트랜잭션 핸들이 전송될 수 있다. 상기 제1 IoT 기기와 상기 플랫폼 서버 사이에 제2 보안 채널이 형성되고, 상기 제2 보안 채널을 통해 상기 등록 요청 메시지가 전송될 수 있다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 플랫폼 서버는 상기 제1 물리적 기기 ID 및 상기 제1 기기 ID에 기초하여 상기 제1 공유키를 유도하고, 상기 제1 공유키를 기초로 제1 체크 데이터를 암호화하여 제2 체크 데이터를 생성하고, 상기 제1 기기 ID 및 상기 제2 체크 데이터를 상기 제1 IoT 기기에 돌려줄 수 있다. 상기 제1 IoT 기기는 상기 제1 물리적 기기 ID 및 상기 제1 기기 ID에 기초하여 상기 제2 공유키를 유도하고, 상기 제2 공유키에 기초하여 상기 제2 체크 데이터를 검증할 수 있다. 상기 제2 체크 데이터에 대한 검증 동작이 완료된 경우에, 상기 제1 IoT 기기는 상기 제1 기기 ID 및 상기 제2 공유키를 저장하고, 상기 플랫폼 서버는 상기 제1 기기 ID, 상기 소유자 ID, 상기 제1 물리적 기기 ID 및 상기 제1 공유키를 저장할 수 있다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 플랫폼 서버의 공개키에 기초하여 상기 제1 IoT 기기와 상기 플랫폼 서버 사이에 제3 보안 채널이 형성될 수 있다. 상기 제1 IoT 기기는 상기 제3 보안 채널을 통해 상기 제1 기기 ID 및 상기 제1 데이터를 전송하고, 상기 플랫폼 서버는 상기 제3 보안 채널을 통해 상기 제2 데이터를 전송할 수 있다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는 단계는 상기 제1 IoT 기기의 최초 구동 시에 1회 수행될 수 있다. 상기 제1 IoT 기기를 인증하는 단계는 상기 제1 IoT 기기가 수행 가능한 복수의 동작들 중 적어도 하나가 요청될 때마다 수행될 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 시스템은, 제1 사물인터넷(Internet of Things: IoT) 기기, 상기 제1 IoT 기기의 등록을 제어하는 소유자 단말기, 및 상기 제1 IoT 기기의 등록 및 인증을 제어하는 플랫폼 서버를 포함한다. 상기 플랫폼 서버가 상기 소유자 단말기의 요청에 기초하여 상기 제1 IoT 기기를 위한 제1 등록 트랜잭션 핸들을 생성하고, 상기 제1 IoT 기기가 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 플랫폼 서버에 등록 요청 메시지를 전송하고, 상기 플랫폼 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기와 상기 소유자 단말기를 바인딩(binding)하며, 상기 플랫폼 서버와 상기 제1 IoT 기기가 상호 연동하여 제1 공유키 및 제2 공유키를 각각 설정함으로써, 상기 플랫폼 서버에 상기 제1 IoT 기기를 등록한다. 상기 제1 IoT 기기가 제1 부분키를 발생하고 상기 제2 공유키를 기초로 상기 제1 부분키를 암호화하여 제1 데이터를 생성하고, 상기 플랫폼 서버가 제2 부분키를 발생하고 상기 제1 공유키에 기초하여 상기 제1 데이터를 검증하고 상기 제1 공유키를 기초로 상기 제2 부분키를 암호화하여 제2 데이터를 생성하고, 상기 제1 IoT 기기가 상기 제2 공유키에 기초하여 상기 제2 데이터를 검증하며, 상기 제1 부분키 및 상기 제2 부분키를 결합하여 세션키를 설정함으로써, 상기 제1 IoT 기기를 인증한다.
상기와 같은 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템에서, 플랫폼 서버에 IoT 기기를 등록하고 플랫폼 서버와 통신하여 IoT 기기를 인증하는 절차에 의해 소유자가 IoT 기기를 적법하게 소유하고 있음이 보장될 수 있다. 다시 말하면, IoT 기기에 대한 신뢰성이 보장될 수 있으며, 따라서 IoT 기기를 사용하는데 있어서 효율적인 인증, 인가, 프라이버시 관리 등을 제공할 수 있다.
도 1은 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법을 나타내는 순서도이다.
도 3은 도 2의 IoT 기기를 등록하는 단계의 일 예를 나타내는 순서도이다.
도 4는 플랫폼 서버에 IoT 기기를 등록하는 동작을 설명하기 위한 도면이다.
도 5는 도 2의 IoT 기기를 인증하는 단계의 일 예를 나타내는 순서도이다.
도 6은 플랫폼 서버와의 통신에 기초하여 IoT 기기를 인증하는 동작을 설명하기 위한 도면이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 시스템을 나타내는 블록도이다.
도 1을 참조하면, IoT 기기와 소유자 사이의 관계 확립을 위한 시스템(10)은 소유자 단말기(100), 사물인터넷(Internet of Things: IoT) 기기(200) 및 플랫폼 서버(300)를 포함한다. 소유자 단말기(100), IoT 기기(200) 및 플랫폼 서버(300)는 IoT 서비스 플랫폼을 형성할 수 있다.
본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 시스템(10)에서, 소유자 단말기(100)는 IoT 기기(200)를 가지고 있는 소유자에 의해 관리 및/또는 제어될 수 있고, IoT 기기(200)의 등록을 제어할 수 있다. 플랫폼 서버(300)는 IoT 기기(200)를 제조한 제조자 또는 제조사에 의해 관리 및/또는 제어될 수 있고, IoT 기기(200)의 등록 및 인증을 제어할 수 있다. 예를 들어, 소유자 단말기(100)에 설치된 IoT 기기 관리 어플리케이션을 통해 IoT 기기(200)의 등록이 제어될 수 있다. 상기 등록 및 인증 절차에 의해 상기 소유자가 IoT 기기(200)를 적법하게 소유하고 있음이 보장(즉, IoT 기기(200)에 대한 신뢰성이 보장)될 수 있다.
일 실시예에서, IoT 기기(200)는 가정용 기기(예를 들어, TV, 냉장고, 오븐, 세탁기, 건조기 등), 전등, 화재 경보기, 계량기(예를 들어, 전기 계량기, 가스 계량기 등), 태양광 발전기, 스프링클러, 온/습도 조절 기기(예를 들어, 보일러, 가습기 등), 보안 기기(예를 들어, 보안 카메라, 보안 센서 등) 등과 같은 임의의 IoT 기기일 수 있다.
일 실시예에서, 소유자 단말기(100)는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC(Personal Computer), 노트북(Laptop Computer), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 기기일 수도 있고, PC(Personal Computer), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box) 등과 같은 임의의 컴퓨팅 기기일 수도 있다.
일 실시예에서, 소유자 단말기(100)와 플랫폼 서버(300), 또는 IoT 기기(200)와 플랫폼 서버(300)는, LTE(Long Term Evolution), LTE-A(Advanced), CDMA(Code Division Multiple Access), WCDMA(Wide-CDMA), UMTS(Universal Mobile Telecommunication System), WiBro, GSM(Global System for Mobile communication) 등과 같은 원거리 통신 방식에 기초하여 신호 및 데이터를 서로 주고 받을 수 있다.
일 실시예에서, 소유자 단말기(100)와 IoT 기기(200)는, 블루투스(Bluetooth), NFC(Near Field Communication), CoAP(Constrained Application Protocol), 와이파이(WiFi), 지그비(Zigbee) 등과 같은 근거리 통신 방식 또는 상기 원거리 통신 방식에 기초하여 신호 및 데이터를 서로 주고 받을 수 있다.
도시하지는 않았지만, 소유자 단말기(100), IoT 기기(200) 및 플랫폼 서버(300) 각각은, 특정 계산들 또는 태스크들을 실행하는 프로세서, 상기 프로세서에 의해 처리되는 데이터를 저장하는 메모리, 외부 장치와 통신을 수행하는 통신부, 및 사용자 인터페이스를 제공하는 키패드, 터치 스크린, 디스플레이 등의 입출력 장치를 포함하여 구현될 수 있다.
도 2는 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법을 나타내는 순서도이다. 도 2는 하나의 IoT 기기(200)에 대한 관계 확립 방법(예를 들어, 등록, 인증 등)을 나타낸다.
도 1 및 2를 참조하면, 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법에서, 소유자 단말기(100)의 요청에 기초하여 플랫폼 서버(300)에 제1 IoT 기기(200)를 등록하고(단계 S1000), 제1 IoT 기기(200)의 등록이 완료된 이후에 플랫폼 서버(300)와의 통신에 기초하여 제1 IoT 기기(200)를 인증한다(단계 S2000). 단계 S1000에 대해서는 도 3 및 4를 참조하여 상세하게 후술하도록 하고, 단계 S2000에 대해서는 도 5 및 6을 참조하여 상세하게 후술하도록 한다.
일 실시예에서, 플랫폼 서버(300)에 제1 IoT 기기(200)를 등록하는 단계(S1000)는, 제1 IoT 기기(200)의 최초 구동 시에 1회 수행될 수 있다. 예를 들어, 제1 IoT 기기(200)가 상기 소유자에 의해 구매된 후 또는 제1 IoT 기기(200)가 초기화된 후 제1 IoT 기기(200)를 최초로 구동시키는 경우와 같은 상기 최초 동작 시에, 단계 S1000은 한 번만 수행될 수 있다.
일 실시예에서, 플랫폼 서버(300)와의 통신에 기초하여 제1 IoT 기기(200)를 인증하는 단계(S2000)는, 제1 IoT 기기(200)가 수행 가능한 복수의 동작들 중 적어도 하나가 요청될 때마다 수행될 수 있다. 예를 들어, 제1 IoT 기기(200)가 보일러이고 상기 보일러가 수행 가능한 동작들이 온/오프 및 온도 조절인 경우에, 단계 S2000은 외부의 장치 또는 단말기가 제1 IoT 기기(200)인 상기 보일러에 상기 온/오프 또는 상기 온도 조절과 같은 목표 동작을 요청할 때마다 수행될 수 있다.
일 실시예에서, 소유자 단말기(100) 또는 상기 소유자의 다른 장치 또는 단말기가 제1 IoT 기기(200)에 상기 목표 동작을 요청할 수 있다. 다른 실시예에서, 상기 소유자가 가지고 있지 않은 장치 또는 단말기(예를 들어, 사용자 단말기)가 제1 IoT 기기(200)에 상기 목표 동작을 요청할 수 있다. 다시 말하면, 제1 IoT 기기(200)를 가지고 있는 상기 소유자와 제1 IoT 기기(200)를 이용하고자 하는 사용자가 동일할 수도 있고 서로 다를 수도 있다.
IoT 기기가 IoT 서비스를 제공하기 위해서는, IoT 기기의 제조 및 구매 이후에 IoT 네트워크 환경 또는 서비스 플랫폼 환경에 설치 및 등록되어야 한다. 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템에서, 상기 등록 및 인증 절차에 의해 상기 소유자가 IoT 기기(200)를 적법하게 소유하고 있음이 보장(즉, IoT 기기(200)에 대한 신뢰성이 보장)될 수 있으며, 따라서 IoT 기기(200)를 사용하는데 있어서 효율적인 인증, 인가, 프라이버시 관리 등을 제공할 수 있다.
도 3은 도 2의 IoT 기기를 등록하는 단계의 일 예를 나타내는 순서도이다. 도 4는 플랫폼 서버에 IoT 기기를 등록하는 동작을 설명하기 위한 도면이다.
도 1, 2, 3 및 4를 참조하면, 플랫폼 서버(300)에 IoT 기기를 등록하는데 있어서(단계 S1000), IoT 기기를 등록하는데 사용되는 등록 트랜잭션(transaction) 핸들이 요청 및 생성될 수 있다(단계 S1100). 예를 들어, 소유자 단말기(100)는 플랫폼 서버(300)에 제1 IoT 기기(200)를 등록하는데 사용되는 제1 등록 트랜잭션 핸들(RTH)을 요청할 수 있고(도 4의 1110), 플랫폼 서버(300)는 제1 등록 트랜잭션 핸들(RTH)을 생성할 수 있다(도 4의 1120).
구체적으로, 소유자 단말기(100)는 플랫폼 서버(300)에 등록 트랜잭션 핸들 요청 메시지(RTH_REQ)를 전송할 수 있다. 플랫폼 서버(300)는 등록 트랜잭션 핸들 요청 메시지(RTH_REQ)에 기초하여 제1 IoT 기기(200)에 대한 제1 등록 트랜잭션 핸들 정보를 생성할 수 있다. 예를 들어, 상기 제1 등록 트랜잭션 핸들 정보는 제1 트랜잭션 ID(T_ID), 소유자 단말기(100)에 대한 소유자 ID(Identity 또는 Identification) 및 제1 등록 트랜잭션 핸들(RTH)의 유효 시간을 나타내는 제1 시간 정보를 포함할 수 있다. 제1 트랜잭션 ID(T_ID)는 임의의(random) 값일 수 있고, 상기 소유자 ID는 상기 소유자 및/또는 소유자 단말기(100)와 관련될 수 있다. 플랫폼 서버(300)는 상기 제1 등록 트랜잭션 핸들 정보를 트랜잭션 데이터베이스(310)에 저장할 수 있다.
플랫폼 서버(300)는 등록 트랜잭션 핸들 요청 메시지(RTH_REQ)에 기초하여 제1 등록 트랜잭션 핸들(RTH)을 생성할 수 있다. 예를 들어, 제1 등록 트랜잭션 핸들(RTH)은 제1 트랜잭션 ID(T_ID), 플랫폼 서버(300)의 위치를 나타내는 제1 URL(Uniform Resource Locator)(예를 들어, 플랫폼 서버(300)의 어드레스), 및 제2 URL(예를 들어, 추후 등록 요청을 전송하기 위한 플랫폼 서버(300)의 리턴 URL)을 포함할 수 있다.
소유자 단말기(100)의 요청에 대한 결과로서, 플랫폼 서버(300)는 소유자 단말기(100)에 제1 등록 트랜잭션 핸들(RTH)을 돌려줄 수 있다(return).
상기 등록 트랜잭션 핸들의 생성 이후에, 상기 등록 트랜잭션 핸들이 전송될 수 있고(단계 S1300), IoT 기기의 등록이 요청될 수 있으며(단계 S1500), 바인딩 및 키 교환이 수행될 수 있다. 이 때, 보안 채널들이 형성될 수 있다(단계 S1200 및 S1400).
구체적으로, 소유자 단말기(100)는 제1 IoT 기기(200)에 제1 등록 트랜잭션 핸들(RTH)을 전송할 수 있다(도 4의 1310). 제1 IoT 기기(200)는 제1 등록 트랜잭션 핸들(RTH)에 기초하여 플랫폼 서버(300)에 등록 요청 메시지(RREQ)를 전송할 수 있다(도 4의 1510). 예를 들어, 등록 요청 메시지(RREQ)는 제1 트랜잭션 ID(T_ID) 및 제1 IoT 기기(200)의 제1 물리적 기기 ID(PD_ID)(예를 들어, 제1 IoT 기기(200)의 제조 시에 부여된 시리얼 넘버)를 포함할 수 있다. 제1 IoT 기기(200)는 제1 등록 트랜잭션 핸들(RTH)에 기초하여 내재된 제1 물리적 기기 ID(PD_ID)를 추출할 수 있다. 등록 요청 메시지(RREQ)에 포함되는 제1 트랜잭션 ID(T_ID)는 제1 등록 트랜잭션 핸들(RTH)로부터 획득될 수 있다. 제1 등록 트랜잭션 핸들(RTH)에 포함되는 상기 제2 URL에 기초하여 등록 요청 메시지(RREQ)가 플랫폼 서버(300)에 전송될 수 있다.
일 실시예에서, 소유자 단말기(100)와 제1 IoT 기기(200) 사이에 제1 보안 채널이 형성될 수 있고(도 4의 1210), 상기 제1 보안 채널을 통해 제1 등록 트랜잭션 핸들(RTH)이 전송될 수 있다. 예를 들어, 상기 제1 보안 채널은 블루투스, NFC, CoAP, 와이파이, 지그비 등과 같은 임의의 근거리 통신 방식에 기초하여 형성될 수 있다.
일 실시예에서, 제1 IoT 기기(200)와 플랫폼 서버(300) 사이에 제2 보안 채널이 형성될 수 있고(도 4의 1410), 상기 제2 보안 채널을 통해 등록 요청 메시지(RREQ)가 전송될 수 있다. 예를 들어, 상기 제2 보안 채널은 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, GSM 등과 같은 임의의 원거리 통신 방식에 기초하여 형성될 수 있다.
일 실시예에서, 상기 제1 및 제2 보안 채널들 각각은 익명 방식의 DTLS(Datagram Transport Layer Security) 채널일 수 있다.
플랫폼 서버(300)는 등록 요청 메시지(RREQ)에 기초하여 제1 IoT 기기(200)와 소유자 단말기(100)를 바인딩(binding)할 수 있다(도 4의 1610).
구체적으로, 플랫폼 서버(300)는 등록 요청 메시지(RREQ)에 포함된 제1 트랜잭션 ID(T_ID)를 기초로 트랜잭션 데이터베이스(310)를 검색하여 상기 소유자 ID 및 상기 제1 시간 정보를 획득할 수 있다. 플랫폼 서버(300)는 현재 시점(즉, 등록 요청 메시지(RREQ)가 수신된 시점)이 제1 등록 트랜잭션 핸들(RTH)의 상기 유효 시간 범위 이내인지 확인하고, 상기 현재 시점이 상기 유효 시간 범위 이내인 경우에 제1 IoT 기기(200)의 제1 기기 ID(D_ID)를 생성할 수 있다. 제1 기기 ID(D_ID)는 임의의 값일 수 있다.
플랫폼 서버(300)와 제1 IoT 기기(200)가 상호 연동하여 제1 공유키(PSK1) 및 제2 공유키(PSK2)를 각각 설정할 수 있다(도 4의 1710).
구체적으로, 플랫폼 서버(300)는 등록 요청 메시지(RREQ)에 포함되는 제1 물리적 기기 ID(PD_ID) 및 새롭게 생성된 제1 기기 ID(D_ID)에 기초하여 상기 제1 공유키(PSK1)를 유도할 수 있고, 상기 제1 공유키(PSK1)를 기초로 제1 체크 데이터(NONCE)를 암호화하여 제2 체크 데이터(CHKD)를 생성할 수 있으며, 제1 기기 ID(D_ID) 및 제2 체크 데이터(CHKD)를 제1 IoT 기기(200)에 돌려줄 수 있다. 예를 들어, 상기 제1 체크 데이터(NONCE)는 임의의 값일 수 있고, 암호화된 제1 체크 데이터(EN_NONCE)는 "Encrypt(NONCE)PSK1"과 같이 정의될 수 있으며, 제2 체크 데이터(CHKD)는 "EN_NONCE + HMAC(EN_NONCE)PSK1"과 같이 정의될 수 있다. HMAC은 Hash-based Message Authentication Code의 약자이며, "HMAC(EN_NONCE)PSK1"은 암호화 과정에서 생성된 제1 해시 값일 수 있다.
제1 IoT 기기(200)는 제1 물리적 기기 ID(PD_ID) 및 리턴된 제1 기기 ID(D_ID)에 기초하여 상기 제2 공유키(PSK2)를 유도할 수 있고, 상기 제2 공유키(PSK2)에 기초하여 제2 체크 데이터(CHKD)를 검증할 수 있다. 예를 들어, 제1 IoT 기기(200)는 상기 제2 공유키(PSK2)를 기초로 제2 체크 데이터(CHKD)를 복호화할 수 있다. 제2 체크 데이터(CHKD)를 복호화하여 획득된 체크 데이터(DE_NONCE)는 "Decrypt(EN_NONCE)PSK2"와 같이 정의될 수 있다. 제1 IoT 기기(200)는 상기 제1 해시 값인 "HMAC(EN_NONCE)PSK1"과 복호화 과정에서 생성된 제2 해시 값인 "HMAC(DE_NONCE)PSK2"를 비교할 수 있고, 상기 제1 해시 값과 상기 제2 해시 값이 실질적으로 동일한 경우에 상기 공유키 설정이 완료될 수 있다. 예를 들어, 설정 완료된 상기 제1 공유키(PSK1)와 상기 제2 공유키(PSK2)는 실질적으로 동일할 수 있다.
상기 바인딩이 완료된 경우에(단계 S1600: 예), 예를 들어, 상기 소유자 ID 및 상기 제1 시간 정보가 정상적으로 획득되고 상기 현재 시점이 상기 유효 시간 범위 이내인 경우에, 그리고 상기 키 교환이 완료된 경우에(단계 S1700: 예), 예를 들어, 제2 체크 데이터(CHKD)에 대한 검증 동작이 완료(즉, 성공)된 경우에, IoT 기기의 등록이 완료될 수 있다(단계 S1800). 구체적으로, 제1 IoT 기기(200)는 제1 기기 ID(D_ID) 및 상기 제2 공유키(PSK2)를 저장할 수 있고(도 4의 1810), 제1 IoT 기기(200)는 플랫폼 서버(300)에 등록 완료 메시지(RCPL)를 전송할 수 있다. 플랫폼 서버(300)는 등록 완료 메시지(RCPL)에 기초하여 제1 기기 ID(D_ID), 상기 소유자 ID, 제1 물리적 기기 ID(PD_ID) 및 상기 제1 공유키(PSK1)를 기기 데이터베이스(320)에 저장할 수 있다. 따라서, 제1 IoT 기기(200)가 플랫폼 서버(300)에 성공적으로 등록될 수 있다.
상기 바인딩이 완료되지 못한 경우에(단계 S1600: 아니오), 예를 들어, 상기 소유자 ID 및 상기 제1 시간 정보가 정상적으로 획득되지 않거나 상기 현재 시점이 상기 유효 시간 범위를 초과한 경우에, 또는 상기 키 교환이 완료되지 못한 경우에(단계 S1700: 아니오), 예를 들어, 제2 체크 데이터(CHKD)에 대한 검증 동작이 실패한 경우에, IoT 기기에 대한 등록 절차(즉, 단계 S1000)가 종료될 수 있다. 도시하지는 않았지만, 상기 바인딩이 완료되지 못한 경우에(단계 S1600: 아니오), 실시예에 따라서 상기 등록 트랜잭션 핸들이 다시 요청 및 생성될 수 있고, 상기 키 교환이 완료되지 못한 경우에(단계 S1700: 아니오), 실시예에 따라서 상기 키 교환이 다시 수행될 수도 있다.
실시예에 따라서, 트랜잭션 데이터베이스(310) 및 기기 데이터베이스(320)의 적어도 일부는 하나의 저장소로 구현되거나 분리된 저장소들로 구현될 수 있고, 플랫폼 서버(300)의 내부 또는 외부에 배치될 수 있다.
도 5는 도 2의 IoT 기기를 인증하는 단계의 일 예를 나타내는 순서도이다. 도 6은 플랫폼 서버와의 통신에 기초하여 IoT 기기를 인증하는 동작을 설명하기 위한 도면이다.
도 1, 2, 5 및 6을 참조하면, IoT 기기에 대한 등록 이후에, 소유자 단말기(100) 또는 사용자 단말기(미도시)로부터의 요청에 기초하여 IoT 기기에 대한 인증이 수행될 수 있다. 예를 들어, 제1 IoT 기기(200) 및 플랫폼 서버(300)는 키 교환을 수행할 수 있다(도 6의 2210). 이 때, 보안 채널이 형성될 수 있다(단계 S2100).
구체적으로, 제1 IoT 기기(200)는 임의의 키인 제1 부분키(K1)를 발생할 수 있다. 예를 들어, 상기 제1 부분키(K1)는 약 128 비트의 랜덤키일 수 있다. 제1 IoT 기기(200)는 상기 등록 절차에서 저장된 상기 제2 공유키(PSK2)를 기초로 상기 제1 부분키(K1)를 암호화하여 제1 데이터(CHKDA)를 생성할 수 있고, 플랫폼 서버(300)에 제1 기기 ID(D_ID) 및 제1 데이터(CHKDA)를 전송하여 인증을 요청할 수 있다. 예를 들어, 암호화된 제1 부분키(EN_K1)는 "Encrypt(K1)PSK2"와 같이 정의될 수 있고, 제1 데이터(CHKDA)는 "EN_K1 + HMAC(EN_K1)PSK2"와 같이 정의될 수 있다.
플랫폼 서버(300)는 수신된 제1 기기 ID(D_ID)를 기초로 기기 데이터베이스(320)를 검색하여 제1 기기 ID(D_ID)와 매칭되는(matching) 상기 제1 공유키(PSK1)를 획득할 수 있다. 플랫폼 서버(300)는 상기 제1 공유키(PSK1)에 기초하여 수신된 제1 데이터(CHKDA)를 검증할 수 있다. 예를 들어, 플랫폼 서버(300)는 상기 제1 공유키(PSK1)를 기초로 제1 데이터(CHKDA)를 복호화할 수 있다. 제1 데이터(CHKDA)를 복호화하여 획득된 데이터(DE_K1)는 "Decrypt(EN_K1)PSK1"과 같이 정의될 수 있다. 플랫폼 서버(300)는 제1 IoT 기기(200)에서 수신된 해시 값 "HMAC(EN_K1)PSK2"와 복호화 과정에서 생성된 해시 값 "HMAC(DE_K1)PSK1"을 비교하여 제1 데이터(CHKDA)를 검증할 수 있다. 예를 들어, 상기 해시 값들이 실질적으로 동일한 경우에 검증이 성공될 수 있다.
플랫폼 서버(300)는 임의의 키인 제2 부분키(K2)를 발생할 수 있다. 예를 들어, 상기 제1 부분키(K1)와 동일하게, 상기 제2 부분키(K2)는 약 128 비트의 랜덤키일 수 있다. 플랫폼 서버(300)는 상기 제1 공유키(PSK1)를 기초로 상기 제2 부분키(K2)를 암호화하여 제2 데이터(CHKDB)를 생성할 수 있고, 인증 요청에 응답하여 제1 IoT 기기(200)에 제2 데이터(CHKDB)를 돌려줄 수 있다. 예를 들어, 암호화된 제2 부분키(EN_K2)는 "Encrypt(K2)PSK1"과 같이 정의될 수 있고, 제2 데이터(CHKDB)는 "EN_K2 + HMAC(EN_K2)PSK1"과 같이 정의될 수 있다.
제1 IoT 기기(200)는 상기 제2 공유키(PSK2)에 기초하여 수신된 제2 데이터(CHKDB)를 검증할 수 있다. 예를 들어, 제1 IoT 기기(200)는 상기 제2 공유키(PSK2)를 기초로 제2 데이터(CHKDB)를 복호화할 수 있다. 제2 데이터(CHKDB)를 복호화하여 획득된 데이터(DE_K2)는 "Decrypt(EN_K2)PSK2"와 같이 정의될 수 있다. 제1 IoT 기기(200)는 플랫폼 서버(300)에서 수신된 해시 값 "HMAC(EN_K2)PSK1"과 복호화 과정에서 생성된 해시 값 "HMAC(DE_K2)PSK2"를 비교하여 제2 데이터(CHKDB)를 검증할 수 있다. 예를 들어, 상기 해시 값들이 실질적으로 동일한 경우에 검증이 성공될 수 있다. 도시하지는 않았지만, 상기 검증 동작이 완료된 경우에, 인증 완료 메시지가 전송될 수 있다.
일 실시예에서, 플랫폼 서버(300)의 공개키에 기초하여 제1 IoT 기기(200)와 플랫폼 서버(300) 사이에 제3 보안 채널이 형성될 수 있고(도 6의 2110), 상기 제3 보안 채널을 통해 제1 기기 ID(D_ID), 제1 데이터(CHKDA) 및 제2 데이터(CHKDB)가 전송될 수 있다. 예를 들어, 상기 제3 보안 채널은 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, GSM 등과 같은 임의의 원거리 통신 방식에 기초하여 형성될 수 있다. 일 실시예에서, 상기 제3 보안 채널은 익명 방식의 DTLS 채널일 수 있다.
상기 키 교환이 완료된 경우에(단계 S2200: 예), 예를 들어, 제1 데이터(CHKDA) 및 제2 데이터(CHKDB)에 대한 검증 동작이 모두 완료(즉, 성공)된 경우에, 상기 인증 완료 메시지에 기초하여 세션(session)키(SE_KEY)가 설정될 수 있다(단계 S2300). 구체적으로, 제1 IoT 기기(200) 및 플랫폼 서버(300) 각각은 상호 교환된 상기 제1 부분키(K1) 및 상기 제2 부분키(K2)를 결합하여 상기 세션키(SE_KEY)를 설정할 수 있다. 예를 들어, 상기 세션키(SE_KEY)는 "HASH(K1 || K2)"와 같이 정의될 수 있다. HASH는 해시 함수를 나타낼 수 있다. 상기 세션키(SE_KEY)에 기초하여 제1 IoT 기기(200)와 플랫폼 서버(300)가 통신할 수 있다. 실시예에 따라서, 상기 세션키(SE_KEY)는 상기 인증 절차가 수행될 때마다 생성될 수도 있고, 상기 인증 절차의 횟수를 카운트하여 상기 인증 절차의 횟수가 미리 정해진 횟수에 도달할 때마다 생성될 수도 있다.
상기 키 교환이 완료되지 못한 경우에(단계 S2200: 아니오), 예를 들어, 제1 데이터(CHKDA) 또는 제2 데이터(CHKDB)에 대한 검증 동작이 실패한 경우에, IoT 기기에 대한 인증 절차(즉, 단계 S2000)가 종료될 수 있다. 도시하지는 않았지만, 상기 키 교환이 완료되지 못한 경우에(단계 S2200: 아니오), 실시예에 따라서 상기 키 교환이 다시 수행될 수도 있다.
이상, 하나의 IoT 기기에 기초하여 본 발명의 실시예들에 따른 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템을 설명하였으나, 본 발명의 실시예들은 복수의 IoT 기기들을 포함하는 경우에도 적용될 수 있다. 이 때, 하나의 소유자 단말기에 의해 두 개 이상의 IoT 기기들이 제어될 수도 있다.
본 발명의 실시예들에 포함되는 소유자 단말기(100), IoT 기기(200) 및 플랫폼 서버(300)의 일부 또는 전부는 프로그램(즉, 소프트웨어) 또는 하드웨어의 형태로 구현될 수 있다. 예를 들어, 소프트웨어의 형태로 구현되는 경우에, 소유자 단말기(100), IoT 기기(200) 및 플랫폼 서버(300) 각각은, 상술한 동작들을 수행하기 위한 프로그램 루틴들(program routines) 또는 명령어들(instructions)을 저장하는 메모리, 및 상기 프로그램 루틴들 또는 상기 명령어들의 실행을 제어하는 프로세서를 포함할 수 있다. 하드웨어의 형태로 구현되는 경우에, 소유자 단말기(100), IoT 기기(200) 및 플랫폼 서버(300)의 구성요소들의 일부 또는 전부는 프로세서에 포함될 수 있다.
본 발명의 실시예들은 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명은 IoT를 구현하기 위한 다양한 장치 및 시스템에 적용될 수 있으며, 만물인터넷(Internet of Everything: IoE), 센서 네트워크(Sensor Network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 등과 상기 기술을 기반으로 하는 지능형 서비스(스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 다양하게 활용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (8)

  1. 플랫폼 서버가 소유자 단말기의 요청에 기초하여 제1 사물인터넷(Internet of Things: IoT) 기기를 위한 제1 등록 트랜잭션 핸들을 생성하고, 상기 제1 IoT 기기가 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 플랫폼 서버에 등록 요청 메시지를 전송하고, 상기 플랫폼 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기와 상기 소유자 단말기를 바인딩(binding)하며, 상기 플랫폼 서버와 상기 제1 IoT 기기가 상호 연동하여 제1 공유키 및 제2 공유키를 각각 설정함으로써, 상기 플랫폼 서버에 상기 제1 IoT 기기를 등록하는 단계; 및
    상기 제1 IoT 기기가 제1 부분키를 발생하고 상기 제2 공유키를 기초로 상기 제1 부분키를 암호화하여 제1 데이터를 생성하고, 상기 플랫폼 서버가 제2 부분키를 발생하고 상기 제1 공유키에 기초하여 상기 제1 데이터를 검증하고 상기 제1 공유키를 기초로 상기 제2 부분키를 암호화하여 제2 데이터를 생성하고, 상기 제1 IoT 기기가 상기 제2 공유키에 기초하여 상기 제2 데이터를 검증하며, 상기 제1 부분키 및 상기 제2 부분키를 결합하여 세션키를 설정함으로써, 상기 제1 IoT 기기를 인증하는 단계를 포함하고,
    상기 제1 IoT 기기를 등록하는 단계에 있어서,
    상기 소유자 단말기는 상기 플랫폼 서버에 등록 트랜잭션 핸들 요청 메시지를 전송하고,
    상기 플랫폼 서버는 상기 등록 트랜잭션 핸들 요청 메시지에 기초하여 제1 등록 트랜잭션 핸들 정보를 생성하고, 상기 소유자 단말기에 상기 제1 등록 트랜잭션 핸들을 돌려주며,
    상기 제1 등록 트랜잭션 핸들 정보는 제1 트랜잭션 ID, 상기 소유자 단말기에 대한 소유자 ID 및 상기 제1 등록 트랜잭션 핸들의 유효 시간을 나타내는 제1 시간 정보를 포함하며,
    상기 제1 등록 트랜잭션 핸들은 상기 제1 트랜잭션 ID, 상기 플랫폼 서버의 위치를 나타내는 제1 URL, 및 제2 URL을 포함하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 제1 IoT 기기를 등록하는 단계에 있어서,
    상기 소유자 단말기는 상기 제1 IoT 기기에 상기 제1 등록 트랜잭션 핸들을 전송하고,
    상기 제1 IoT 기기는 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 제1 IoT 기기의 제1 물리적 기기 ID를 추출하고, 상기 플랫폼 서버에 상기 제1 물리적 기기 ID 및 상기 제1 트랜잭션 ID를 포함하는 상기 등록 요청 메시지를 전송하며,
    상기 플랫폼 서버는 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기의 제1 기기 ID를 생성하는 것을 특징으로 하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  4. 제 3 항에 있어서, 상기 제1 IoT 기기를 등록하는 단계에 있어서,
    상기 소유자 단말기와 상기 제1 IoT 기기 사이에 제1 보안 채널이 형성되고, 상기 제1 보안 채널을 통해 상기 제1 등록 트랜잭션 핸들이 전송되고,
    상기 제1 IoT 기기와 상기 플랫폼 서버 사이에 제2 보안 채널이 형성되고, 상기 제2 보안 채널을 통해 상기 등록 요청 메시지가 전송되는 것을 특징으로 하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  5. 제 3 항에 있어서, 상기 제1 IoT 기기를 등록하는 단계에 있어서,
    상기 플랫폼 서버는 상기 제1 물리적 기기 ID 및 상기 제1 기기 ID에 기초하여 상기 제1 공유키를 유도하고, 상기 제1 공유키를 기초로 제1 체크 데이터를 암호화하여 제2 체크 데이터를 생성하고, 상기 제1 기기 ID 및 상기 제2 체크 데이터를 상기 제1 IoT 기기에 돌려주며,
    상기 제1 IoT 기기는 상기 제1 물리적 기기 ID 및 상기 제1 기기 ID에 기초하여 상기 제2 공유키를 유도하고, 상기 제2 공유키에 기초하여 상기 제2 체크 데이터를 검증하며,
    상기 제2 체크 데이터에 대한 검증 동작이 완료된 경우에, 상기 제1 IoT 기기는 상기 제1 기기 ID 및 상기 제2 공유키를 저장하고, 상기 플랫폼 서버는 상기 제1 기기 ID, 상기 소유자 ID, 상기 제1 물리적 기기 ID 및 상기 제1 공유키를 저장하는 것을 특징으로 하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  6. 제 5 항에 있어서, 상기 제1 IoT 기기를 인증하는 단계에 있어서,
    상기 플랫폼 서버의 공개키에 기초하여 상기 제1 IoT 기기와 상기 플랫폼 서버 사이에 제3 보안 채널이 형성되고,
    상기 제1 IoT 기기는 상기 제3 보안 채널을 통해 상기 제1 기기 ID 및 상기 제1 데이터를 전송하고, 상기 플랫폼 서버는 상기 제3 보안 채널을 통해 상기 제2 데이터를 전송하는 것을 특징으로 하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  7. 제 1 항에 있어서,
    상기 제1 IoT 기기를 등록하는 단계는 상기 제1 IoT 기기의 최초 구동 시에 1회 수행되고,
    상기 제1 IoT 기기를 인증하는 단계는 상기 제1 IoT 기기가 수행 가능한 복수의 동작들 중 적어도 하나가 요청될 때마다 수행되는 것을 특징으로 하는 IoT 기기와 소유자 사이의 관계 확립을 위한 방법.
  8. 제1 사물인터넷(Internet of Things: IoT) 기기;
    상기 제1 IoT 기기의 등록을 제어하는 소유자 단말기; 및
    상기 제1 IoT 기기의 등록 및 인증을 제어하는 플랫폼 서버를 포함하고,
    상기 플랫폼 서버가 상기 소유자 단말기의 요청에 기초하여 상기 제1 IoT 기기를 위한 제1 등록 트랜잭션 핸들을 생성하고, 상기 제1 IoT 기기가 상기 제1 등록 트랜잭션 핸들에 기초하여 상기 플랫폼 서버에 등록 요청 메시지를 전송하고, 상기 플랫폼 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기와 상기 소유자 단말기를 바인딩(binding)하며, 상기 플랫폼 서버와 상기 제1 IoT 기기가 상호 연동하여 제1 공유키 및 제2 공유키를 각각 설정함으로써, 상기 플랫폼 서버에 상기 제1 IoT 기기를 등록하며,
    상기 제1 IoT 기기가 제1 부분키를 발생하고 상기 제2 공유키를 기초로 상기 제1 부분키를 암호화하여 제1 데이터를 생성하고, 상기 플랫폼 서버가 제2 부분키를 발생하고 상기 제1 공유키에 기초하여 상기 제1 데이터를 검증하고 상기 제1 공유키를 기초로 상기 제2 부분키를 암호화하여 제2 데이터를 생성하고, 상기 제1 IoT 기기가 상기 제2 공유키에 기초하여 상기 제2 데이터를 검증하며, 상기 제1 부분키 및 상기 제2 부분키를 결합하여 세션키를 설정함으로써, 상기 제1 IoT 기기를 인증하며,
    상기 제1 IoT 기기를 등록하는데 있어서,
    상기 소유자 단말기는 상기 플랫폼 서버에 등록 트랜잭션 핸들 요청 메시지를 전송하고,
    상기 플랫폼 서버는 상기 등록 트랜잭션 핸들 요청 메시지에 기초하여 제1 등록 트랜잭션 핸들 정보를 생성하고, 상기 소유자 단말기에 상기 제1 등록 트랜잭션 핸들을 돌려주며,
    상기 제1 등록 트랜잭션 핸들 정보는 제1 트랜잭션 ID, 상기 소유자 단말기에 대한 소유자 ID 및 상기 제1 등록 트랜잭션 핸들의 유효 시간을 나타내는 제1 시간 정보를 포함하며,
    상기 제1 등록 트랜잭션 핸들은 상기 제1 트랜잭션 ID, 상기 플랫폼 서버의 위치를 나타내는 제1 URL, 및 제2 URL을 포함하는 IoT 기기와 소유자 사이의 관계 확립을 위한 시스템.
KR1020160046890A 2016-04-18 2016-04-18 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템 KR101688813B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160046890A KR101688813B1 (ko) 2016-04-18 2016-04-18 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160046890A KR101688813B1 (ko) 2016-04-18 2016-04-18 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101688813B1 true KR101688813B1 (ko) 2016-12-22

Family

ID=57723754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046890A KR101688813B1 (ko) 2016-04-18 2016-04-18 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101688813B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180092542A (ko) * 2017-02-10 2018-08-20 동서대학교산학협력단 MQTT를 이용한 실내 온도 제어, 화재경보 및 진압을 위한 IoT 서비스 시스템 및 방법
CN108521857A (zh) * 2017-07-25 2018-09-11 北京小米移动软件有限公司 一种NB-IoT设备绑定方法和一种物联网控制***
GB2560894A (en) * 2017-03-23 2018-10-03 Taberner Neil Secure transfer of data between internet of things devices
KR20190006155A (ko) 2017-07-09 2019-01-17 권형석 전자기기 관리 방법 및 시스템.
KR20190078701A (ko) * 2017-12-14 2019-07-05 아주대학교산학협력단 사물 인터넷 장치의 부트스트랩 방법
CN110519052A (zh) * 2019-08-23 2019-11-29 青岛海尔科技有限公司 基于物联网操作***的数据交互方法和装置
US11032376B2 (en) 2017-12-14 2021-06-08 Samsung Electronics Co., Ltd. Electronic device for controlling registration session, and operation method therefor; and server, and operation method therefor
KR102580639B1 (ko) * 2023-03-20 2023-09-20 (주)포소드 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법
WO2023219230A1 (ko) * 2022-05-09 2023-11-16 삼성전자주식회사 사물 인터넷 장치를 제어하는 전자 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055263A (ko) * 2004-11-17 2006-05-23 삼성전자주식회사 사용자 바인딩을 이용한 홈 네트워크에서의 콘텐츠 전송방법
KR20120069037A (ko) * 2010-12-20 2012-06-28 삼성전자주식회사 홈 네트워크 디바이스에 외부 네트워크 서비스를 제공하는 방법 및 장치
KR20150096979A (ko) * 2014-02-17 2015-08-26 한국전자통신연구원 홈 네트워크 접근 제어 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055263A (ko) * 2004-11-17 2006-05-23 삼성전자주식회사 사용자 바인딩을 이용한 홈 네트워크에서의 콘텐츠 전송방법
KR20120069037A (ko) * 2010-12-20 2012-06-28 삼성전자주식회사 홈 네트워크 디바이스에 외부 네트워크 서비스를 제공하는 방법 및 장치
KR20150096979A (ko) * 2014-02-17 2015-08-26 한국전자통신연구원 홈 네트워크 접근 제어 장치 및 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180092542A (ko) * 2017-02-10 2018-08-20 동서대학교산학협력단 MQTT를 이용한 실내 온도 제어, 화재경보 및 진압을 위한 IoT 서비스 시스템 및 방법
KR101985694B1 (ko) * 2017-02-10 2019-06-04 동서대학교 산학협력단 MQTT를 이용한 실내 온도 제어, 화재경보 및 진압을 위한 IoT 서비스 시스템 및 방법
GB2560894B (en) * 2017-03-23 2020-04-15 Taberner Neil Secure transfer of data between internet of things devices
GB2560894A (en) * 2017-03-23 2018-10-03 Taberner Neil Secure transfer of data between internet of things devices
KR20190006155A (ko) 2017-07-09 2019-01-17 권형석 전자기기 관리 방법 및 시스템.
US11005944B2 (en) 2017-07-25 2021-05-11 Beijing Xiaomi Mobile Software Co., Ltd. Method for binding NB-IoT device, and internet of things control system
CN108521857A (zh) * 2017-07-25 2018-09-11 北京小米移动软件有限公司 一种NB-IoT设备绑定方法和一种物联网控制***
KR102024376B1 (ko) * 2017-12-14 2019-09-23 아주대학교산학협력단 사물 인터넷 장치의 부트스트랩 방법
KR20190078701A (ko) * 2017-12-14 2019-07-05 아주대학교산학협력단 사물 인터넷 장치의 부트스트랩 방법
US11032376B2 (en) 2017-12-14 2021-06-08 Samsung Electronics Co., Ltd. Electronic device for controlling registration session, and operation method therefor; and server, and operation method therefor
CN110519052A (zh) * 2019-08-23 2019-11-29 青岛海尔科技有限公司 基于物联网操作***的数据交互方法和装置
CN110519052B (zh) * 2019-08-23 2022-07-05 青岛海尔科技有限公司 基于物联网操作***的数据交互方法和装置
WO2023219230A1 (ko) * 2022-05-09 2023-11-16 삼성전자주식회사 사물 인터넷 장치를 제어하는 전자 장치 및 그 동작 방법
KR102580639B1 (ko) * 2023-03-20 2023-09-20 (주)포소드 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법

Similar Documents

Publication Publication Date Title
KR101688813B1 (ko) IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템
KR101688812B1 (ko) 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템
US11258781B2 (en) Context and device state driven authorization for devices
JP6812421B2 (ja) モビリティ管理エンティティ再配置を伴うモビリティ手順のための装置および方法
US10419907B2 (en) Proximity application discovery and provisioning
US9749865B2 (en) Method and apparatus for managing beacon device
US9529985B2 (en) Global authentication service using a global user identifier
US10728244B2 (en) Method and system for credential management
JP6504630B2 (ja) Gprsシステム鍵強化方法、sgsnデバイス、ue、hlr/hss、およびgprsシステム
US11991527B2 (en) Communication method and communication device
CN105474677A (zh) 安全管理的位置和跟踪服务访问
CN111742531B (zh) 简档信息共享
KR20160083128A (ko) 암호화된 통신을 위한 방법 및 시스템
CN103797830A (zh) 用于对与一组共享临时密钥数据的交换进行编码的***和方法
CA2879910C (en) Terminal identity verification and service authentication method, system and terminal
EP3189643A1 (en) Proximity application discovery and provisioning
Han et al. A novel secure key paring protocol for RF4CE ubiquitous smart home systems
CN103329589A (zh) 发布用于在cpns环境中验证用户的验证密钥的***和方法
Gao et al. LIP‐PA: A Logistics Information Privacy Protection Scheme with Position and Attribute‐Based Access Control on Mobile Devices
CN103188229A (zh) 用于安全内容访问的方法和设备
JP2014006691A (ja) デバイス認証方法及びシステム
Hanumanthappa et al. Privacy preserving and ownership authentication in ubiquitous computing devices using secure three way authentication
US20150180862A1 (en) Method of generating one-time password and apparatus for performing the same
WO2016035466A1 (ja) 通信システム、サーバ装置用プログラム及びこれを記録した記録媒体、通信装置用プログラム及びこれを記録した記録媒体、端末装置用プログラム及びこれを記録した記録媒体
Wang et al. Secure and efficient control transfer for IoT devices

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant