KR101688812B1 - 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템 - Google Patents

소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템 Download PDF

Info

Publication number
KR101688812B1
KR101688812B1 KR1020160046888A KR20160046888A KR101688812B1 KR 101688812 B1 KR101688812 B1 KR 101688812B1 KR 1020160046888 A KR1020160046888 A KR 1020160046888A KR 20160046888 A KR20160046888 A KR 20160046888A KR 101688812 B1 KR101688812 B1 KR 101688812B1
Authority
KR
South Korea
Prior art keywords
iot device
resource
authentication server
token
owner
Prior art date
Application number
KR1020160046888A
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 KR1020160046888A priority Critical patent/KR101688812B1/ko
Application granted granted Critical
Publication of KR101688812B1 publication Critical patent/KR101688812B1/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/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

소유자 인증 서버 기반의 IoT 기기 인가관리 방법에서, IoT 기기가 소유자 인증 서버에 미등록된 경우에, 소유자 단말기의 요청에 기초하여 IoT 기기가 소유자 인증 서버에 등록 요청 메시지를 전송하고, 소유자 인증 서버가 IoT 기기를 검증하고 인증서를 발급하며 호스팅 자원을 등록함으로써, 소유자 인증 서버에 IoT 기기를 등록한다. 소유자 인증 서버가 IoT 기기 및 사용자 단말기에 대한 접근 통제 정책을 설정한다. IoT 기기는 사용자 단말기에서 자원 요청 메시지와 함께 토큰이 제출되었는지 확인한다. 토큰이 미제출된 경우에, 사용자 단말기가 소유자 인증 서버에 토큰 발급 요청 메시지를 전송하고, 소유자 인증 서버가 사용자 단말기의 속성 정보 및 접근 통제 정책을 기초로 토큰을 발급한다. 토큰이 제출된 경우에, IoT 기기가 토큰을 검증하고 목표 동작을 수행한다.

Description

소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템{METHOD AND SYSTEM OF AUTHORIZING/MANAGING IOT DEVICE BASED ON OWNER'S AUTHORIZATION SERVER}
본 발명은 사물인터넷(Internet of Things: IoT)에 관한 것으로서, 더욱 상세하게는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 상기 방법을 수행하는 시스템에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 사물인터넷(Internet of Things: IoT) 망으로 진화하고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술 등이 요구되는데, 특히 IoT 기기를 포함하는 시스템에서 보안 기술의 중요성이 더욱 요구될 수 있다.
본 발명의 일 목적은 소유자 인증 서버에 기초하여 IoT 기기를 효율적으로 인증, 인가 및 관리할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 소유자 인증 서버에 기초하여 IoT 기기를 효율적으로 인증, 인가 및 관리할 수 있는 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법에서, 제1 사물인터넷(Internet of Things: IoT) 기기가 소유자 인증 서버(authorization server)에 미등록된 경우에, 소유자 단말기가 상기 제1 IoT 기기에 등록 명령 메시지를 전송하고, 상기 제1 IoT 기기가 상기 등록 명령 메시지에 기초하여 상기 소유자 인증 서버에 등록 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기를 검증하고 상기 제1 IoT 기기에 대한 제1 인증서를 발급하며 상기 제1 IoT 기기에 대한 제1 호스팅 자원을 등록함으로써, 상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록한다. 상기 소유자 인증 서버가 상기 제1 IoT 기기 및 사용자 단말기에 대한 제1 접근 통제 정책(access control policy)을 설정한다. 상기 사용자 단말기가 상기 제1 IoT 기기에 자원 요청 메시지를 전송한 경우에, 상기 제1 IoT 기기는 상기 자원 요청 메시지와 함께 제1 토큰(token)이 제출되었는지 확인한다. 상기 제1 토큰이 미제출된 경우에, 상기 제1 IoT 기기가 상기 사용자 단말기에 비인가 메시지를 전송하고, 상기 사용자 단말기가 상기 비인가 메시지에 기초하여 상기 소유자 인증 서버에 토큰 발급 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 토큰 발급 요청 메시지, 상기 사용자 단말기에서 제공되는 속성 정보 및 상기 제1 접근 통제 정책을 기초로 상기 제1 토큰을 생성하여 상기 사용자 단말기에 전송함으로써, 상기 제1 토큰을 발급한다. 상기 제1 토큰이 제출된 경우에, 상기 제1 IoT 기기가 상기 제1 토큰을 검증하고 상기 자원 요청 메시지에 기초하여 제1 목표 동작을 수행한다.
일 실시예에서, 상기 제1 IoT 기기를 등록하는데 있어서, 상기 소유자 인증 서버는 상기 제1 IoT 기기에 상기 제1 인증서를 돌려주고, 상기 제1 IoT 기기는 상기 제1 인증서를 저장할 수 있다. 상기 소유자 인증 서버는 상기 제1 IoT 기기로부터 제공된 상기 제1 호스팅 자원에 상응하는 제1 자원 ID를 생성하고, 상기 제1 호스팅 자원 및 상기 제1 자원 ID를 저장하고, 상기 제1 IoT 기기에 상기 제1 자원 ID를 돌려줄 수 있다. 상기 제1 IoT 기기는 상기 제1 자원 ID를 저장할 수 있다.
일 실시예에서, 상기 등록 명령 메시지는 상기 소유자 인증 서버의 위치를 나타내는 서버 URL, 및 상기 제1 IoT 기기를 포함하는 제1 서비스 플랫폼의 제1 플랫폼 ID를 포함할 수 있다. 상기 등록 요청 메시지는 상기 제1 플랫폼 ID, 상기 제1 IoT 기기에 임베디드된 제1 공개키, 및 상기 제1 IoT 기기의 위치를 나타내는 제1 기기 URL을 포함할 수 있다. 상기 제1 인증서는 상기 제1 IoT 기기의 제1 기기 ID, 상기 소유자 단말기에 대한 소유자 ID, 및 상기 제1 플랫폼 ID를 포함할 수 있다. 상기 제1 호스팅 자원은 상기 제1 IoT 기기에 대한 제1 자원 URI, 상기 제1 IoT 기기가 수행 가능한 제1 동작들의 제1 목록, 상기 제1 자원 URI를 식별하기 위한 제1 규칙, 및 상기 제1 동작들을 식별하기 위한 제2 규칙을 포함할 수 있다.
일 실시예에서, 상기 자원 요청 메시지는 상기 제1 자원 ID에 대한 제1 정보 및 상기 제1 동작들 중 상기 제1 목표 동작에 대한 제1 동작 정보를 포함할 수 있다. 상기 제1 IoT 기기는 상기 제1 규칙 및 상기 제2 규칙에 기초하여 상기 자원 요청 메시지를 상기 제1 자원 ID 및 상기 제1 동작 정보로 변환할 수 있다.
일 실시예에서, 상기 제1 토큰을 발급하는데 있어서, 상기 제1 IoT 기기는 상기 소유자 인증 서버에 상기 제1 자원 ID 및 상기 제1 동작 정보를 전송할 수 있다. 상기 소유자 인증 서버는 상기 제1 자원 ID 및 상기 제1 동작 정보에 기초하여 제1 티켓(ticket)을 생성하고, 상기 제1 티켓을 저장하고, 상기 제1 IoT 기기에 상기 제1 티켓을 돌려줄 수 있다. 상기 제1 IoT 기기는 상기 사용자 단말기에 오류 정보, 상기 서버 URL, 및 상기 제1 티켓을 포함하는 상기 비인가 메시지를 돌려줄 수 있다.
일 실시예에서, 상기 제1 토큰을 발급하는데 있어서, 상기 사용자 단말기는 상기 소유자 인증 서버에 상기 토큰 발급 요청 메시지와 함께 상기 제1 티켓을 제출할 수 있다. 상기 소유자 인증 서버는 상기 제1 티켓에 기초하여 상기 제1 자원 ID 및 상기 제1 동작 정보를 획득하고, 상기 제1 자원 ID, 상기 제1 동작 정보 및 상기 제1 접근 통제 정책에 기초하여 상기 사용자 단말기에 속성 요청 메시지를 전송할 수 있다. 상기 사용자 단말기는 상기 속성 요청 메시지에 기초하여 상기 소유자 인증 서버에 상기 속성 정보를 전송할 수 있다. 상기 제1 자원 ID, 상기 제1 동작 정보 및 상기 속성 정보가 상기 제1 접근 통제 정책을 만족하는 경우에, 상기 소유자 인증 서버는 상기 제1 자원 ID, 상기 제1 목록 및 상기 제1 토큰의 만료 시점을 나타내는 제1 만료 정보를 포함하는 상기 제1 토큰을 생성할 수 있다.
일 실시예에서, 상기 제1 토큰을 발급하는데 있어서, 상기 소유자 인증 서버는 제1 키를 생성하고, 상기 제1 자원 ID, 상기 제1 목록 및 상기 제1 만료 정보를 포함하는 제1 데이터와 상기 제1 키에 기초하여 제2 데이터를 생성하고, 제2 키를 기초로 상기 제2 데이터를 암호화하여 상기 제1 토큰을 생성하고, 상기 제1 키 및 상기 제1 토큰을 상기 사용자 단말기에 전송할 수 있다. 상기 사용자 단말기는 상기 제1 키 및 상기 제1 토큰을 저장할 수 있다.
일 실시예에서, 상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록하는 동안에, 상기 소유자 인증 서버와 상기 제1 IoT 기기는 상기 제2 키를 공유할 수 있다.
일 실시예에서, 상기 제1 목표 동작을 수행하는데 있어서, 상기 사용자 단말기는 상기 제1 IoT 기기에 상기 제1 토큰, 및 상기 제1 키에 기초하여 암호화된 제1 검증 데이터를 전송할 수 있다. 상기 제1 IoT 기기는 상기 제2 키를 기초로 상기 제1 토큰을 복호화하여 상기 제1 키를 추출하고, 상기 추출된 제1 키를 기초로 상기 제1 검증 데이터를 복호화하여 상기 제1 토큰의 유효성을 검증할 수 있다. 상기 제1 토큰의 유효성이 검증되고 상기 제1 자원 ID가 일치하며 상기 제1 목표 동작이 상기 제1 목록에 포함되는 경우에, 상기 제1 IoT 기기는 상기 제1 목표 동작을 수행할 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템은, 제1 사물인터넷(Internet of Things: IoT) 기기, 상기 제1 IoT 기기의 등록을 제어하는 소유자 단말기 및 소유자 인증 서버(authorization server), 및 상기 제1 IoT 기기의 사용을 제어하는 사용자 단말기를 포함한다. 상기 제1 IoT 기기가 상기 소유자 인증 서버에 미등록된 경우에, 상기 소유자 단말기가 상기 제1 IoT 기기에 등록 명령 메시지를 전송하고, 상기 제1 IoT 기기가 상기 등록 명령 메시지에 기초하여 상기 소유자 인증 서버에 등록 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기를 검증하고 상기 제1 IoT 기기에 대한 제1 인증서를 발급하며 상기 제1 IoT 기기에 대한 제1 호스팅 자원을 등록함으로써, 상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록한다. 상기 소유자 인증 서버가 상기 제1 IoT 기기 및 상기 사용자 단말기에 대한 제1 접근 통제 정책(access control policy)을 설정한다. 상기 사용자 단말기가 상기 제1 IoT 기기에 자원 요청 메시지를 전송한 경우에, 상기 제1 IoT 기기는 상기 자원 요청 메시지와 함께 제1 토큰(token)이 제출되었는지 확인한다. 상기 제1 토큰이 미제출된 경우에, 상기 제1 IoT 기기가 상기 사용자 단말기에 비인가 메시지를 전송하고, 상기 사용자 단말기가 상기 비인가 메시지에 기초하여 상기 소유자 인증 서버에 토큰 발급 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 토큰 발급 요청 메시지, 상기 사용자 단말기에서 제공되는 속성 정보 및 상기 제1 접근 통제 정책을 기초로 상기 제1 토큰을 생성하여 상기 사용자 단말기에 전송함으로써, 상기 제1 토큰을 발급한다. 상기 제1 토큰이 제출된 경우에, 상기 제1 IoT 기기가 상기 제1 토큰을 검증하고 상기 자원 요청 메시지에 기초하여 제1 목표 동작을 수행한다.
상기와 같은 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템에서, 소유자의 IoT 기기에 대한 등록 등이 소유자에 의해 관리/제어되는 소유자 인증 서버에 기초하여 수행될 수 있고, 사용자 단말기는 소유자 인증 서버에 인증할 필요 없이 미리 설정된 정책에 따라 IoT 기기에 접근/제어할 수 있으며, 따라서 소유자 중심의 통합 권한 관리를 구현할 수 있고, 효율적인 인증, 인가, 프라이버시 관리 등을 제공할 수 있다. 또한, 복수의 IoT 기기들의 제조자가 서로 다른 경우에도 하나의 소유자 인증 서버에 기초하여 IoT 기기들을 관리할 수 있으므로, 인증, 인가의 확장성이 개선될 수 있다.
도 1은 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법을 나타내는 순서도이다.
도 3은 도 2의 IoT 기기를 등록하는 단계의 일 예를 나타내는 순서도이다.
도 4는 소유자 인증 서버에 IoT 기기를 등록하는 동작을 설명하기 위한 도면이다.
도 5는 소유자 인증 서버가 IoT 기기에 대한 접근 통제 정책을 설정하는 동작을 설명하기 위한 도면이다.
도 6은 도 2의 토큰을 발급하는 단계의 일 예를 나타내는 순서도이다.
도 7은 소유자 인증 서버가 토큰을 발급하는 동작을 설명하기 위한 도면이다.
도 8은 도 2의 토큰 검증 및 목표 동작을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 9는 IoT 기기가 토큰 검증 및 목표 동작을 수행하는 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템(10)은 소유자 단말기(100), 소유자 인증 서버(authorization server)(200), 사물인터넷(Internet of Things: IoT) 기기(300) 및 사용자 단말기(400)를 포함한다.
본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템(10)에서, IoT 기기(300)를 가지고 있는 소유자와 IoT 기기(300)를 이용하고자 하는 사용자가 서로 다를 수 있다. 소유자 단말기(100) 및 소유자 인증 서버(200)는 상기 소유자에 의해 관리 및/또는 제어될 수 있고, IoT 기기(300)의 등록을 제어할 수 있다. 사용자 단말기(400)는 상기 사용자에 의해 관리 및/또는 제어될 수 있고, IoT 기기(300)의 사용(즉, 동작)을 제어할 수 있다. 예를 들어, 소유자 단말기(100)에 설치된 자원 툴(RS Tool)과 같은 IoT 기기 관리 어플리케이션을 통해 IoT 기기(300)의 등록이 제어될 수 있고, 사용자 단말기(400)에 설치된 IoT 기기 구동 어플리케이션을 통해 IoT 기기(300)의 사용이 제어될 수 있다.
소유자 인증 서버(200)는 자원 관리부(210), 정책 관리부(220) 및 토큰 관리부(230)를 포함할 수 있다. IoT 기기(300)는 자원 관리부(310) 및 토큰 검증부(320)를 포함할 수 있다.
자원 관리부(210) 및 자원 관리부(310)에 의해 IoT 기기(300) 및 IoT 기기(300)에 대한 호스팅(hosting) 자원이 소유자 인증 서버(200)에 등록될 수 있고, 상기 등록과 관련된 정보들이 갱신될 수 있다. 정책 관리부(220)는 상기 등록 이후에 IoT 기기(300)에 대한 접근 통제 정책(Access Control Policy: ACP)을 설정할 수 있다. 토큰 관리부(230)는 사용자 단말기(400)가 IoT 기기(300)에 접근/제어할 수 있도록 토큰을 발행하여 사용자 단말기(400)에 제공할 수 있다. 토큰 검증부(320)는 사용자 단말기(400)가 제출하는 상기 토큰을 검증할 수 있고, IoT 기기(300)는 상기 검증 결과에 기초하여 목표 동작을 수행할 수 있다.
일 실시예에서, IoT 기기(300)는 가정용 기기(예를 들어, TV, 냉장고, 오븐, 세탁기, 건조기 등), 전등, 화재 경보기, 계량기(예를 들어, 전기 계량기, 가스 계량기 등), 태양광 발전기, 스프링클러, 온/습도 조절 기기(예를 들어, 보일러, 가습기 등), 보안 기기(예를 들어, 보안 카메라, 보안 센서 등) 등과 같은 임의의 IoT 기기일 수 있다.
일 실시예에서, 소유자 단말기(100) 및 사용자 단말기(400) 각각은 휴대폰(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) 등과 같은 임의의 컴퓨팅 기기일 수도 있다.
일 실시예에서, IoT 기기(300) 및 사용자 단말기(400)는 IoT 서비스 플랫폼(500)을 형성할 수 있다. 예를 들어, 사용자 단말기(400)에 설치되어 IoT 기기(300)의 사용을 제어하는 상기 IoT 기기 구동 어플리케이션 및 IoT 기기(300)가 IoT 서비스 플랫폼(500)에 포함될 수 있다.
일 실시예에서, 소유자 인증 서버(200)와 IoT 기기(300), 또는 소유자 인증 서버(200)와 사용자 단말기(400)는, 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 기기(300) 또는 사용자 단말기(400)와 IoT 기기(300)는, 블루투스(Bluetooth), NFC(Near Field Communication), CoAP(Constrained Application Protocol), 와이파이(WiFi), 지그비(Zigbee) 등과 같은 근거리 통신 방식 또는 상기 원거리 통신 방식에 기초하여 신호 및 데이터를 서로 주고 받을 수 있다.
도시하지는 않았지만, 소유자 단말기(100), 소유자 인증 서버(200), IoT 기기(300) 및 사용자 단말기(400) 각각은, 특정 계산들 또는 태스크들을 실행하는 프로세서, 상기 프로세서에 의해 처리되는 데이터를 저장하는 메모리, 외부 장치와 통신을 수행하는 통신부, 및 사용자 인터페이스를 제공하는 키패드, 터치 스크린, 디스플레이 등의 입출력 장치를 더 포함하여 구현될 수 있다.
도 2는 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법을 나타내는 순서도이다. 도 2는 하나의 IoT 기기(300)에 대한 인가관리 방법(예를 들어, 등록, 접근 통제 정책의 설정, 목표 동작의 요청, 토큰 발행, 목표 동작의 수행 등)을 나타낸다.
도 1 및 2를 참조하면, 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법에서, 소유자 단말기(100)의 요청에 기초하여 소유자 인증 서버(200)에 제1 IoT 기기(300)를 등록하고(단계 S1000), 제1 IoT 기기(300)의 등록이 완료된 이후에 소유자 인증 서버(200)는 제1 IoT 기기(300)에 대한 제1 접근 통제 정책을 설정한다(단계 S2000). 단계 S1000에 대해서는 도 3 및 4를 참조하여 상세하게 후술하도록 하고, 단계 S2000에 대해서는 도 5를 참조하여 상세하게 후술하도록 한다.
사용자 단말기(400)는 제1 IoT 기기(300)의 자원(resource)을 요청한다. 다시 말하면, 사용자 단말기(400)는 제1 IoT 기기(300)에 제1 목표 동작을 요청한다(단계 S3000).
사용자 단말기(400)가 상기 제1 목표 동작을 요청한 경우에, 제1 IoT 기기(300)는 제1 토큰이 함께 제출되었는지 확인한다. 상기 제1 토큰은 사용자 단말기(400)가 제1 IoT 기기(300)에 접근/제어할 수 있는 권한을 나타낼 수 있다. 상기 제1 토큰이 미제출된 경우에(단계 S4000: 예), 소유자 인증 서버(200)는 사용자 단말기(400)의 요청에 기초하여 상기 제1 토큰을 발급한다(단계 S5000). 상기 제1 토큰이 제출된 경우에(단계 S4000: 아니오), 제1 IoT 기기(300)는 상기 제1 토큰을 검증하고 상기 제1 토큰이 유효한 경우에 상기 제1 목표 동작을 수행한다(단계 S6000). 단계 S5000에 대해서는 도 6 및 7을 참조하여 상세하게 후술하도록 하고, 단계 S6000에 대해서는 도 8 및 9를 참조하여 상세하게 후술하도록 한다.
본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템에서, 소유자의 IoT 기기(300)에 대한 등록, 접근 통제 정책의 설정, 토큰 발행, 목표 동작의 요청 및 수행 등이 소유자에 의해 관리 및/또는 제어되는 소유자 인증 서버(200)에 기초하여 수행됨으로써, 소유자 중심의 통합 권한 관리를 구현할 수 있다. 또한, 사용자 단말기(400)는 소유자 인증 서버(200)에 인증할 필요 없이 미리 설정된 정책에 따라 IoT 기기(300)에 접근/제어할 수 있다. 따라서, IoT 기기(300)를 사용하는데 있어서 효율적인 인증, 인가, 프라이버시 관리 등을 제공할 수 있다.
도 3은 도 2의 IoT 기기를 등록하는 단계의 일 예를 나타내는 순서도이다. 도 4는 소유자 인증 서버에 IoT 기기를 등록하는 동작을 설명하기 위한 도면이다. 도 4에서, 제1 IoT 기기(300)의 동작은 제1 IoT 기기(300)에 포함되는 자원 관리부(310)의 동작으로 설명될 수 있고, 소유자 인증 서버(200)의 동작은 소유자 인증 서버(200)에 포함되는 자원 관리부(210)의 동작으로 설명될 수 있다.
도 1, 2, 3 및 4를 참조하면, 소유자 인증 서버(200)에 IoT 기기를 등록하는데 있어서(단계 S1000), 주변에 인접하는 미등록된 IoT 기기가 검색될 수 있다(단계 S1100).
구체적으로, 상기 미등록된 IoT 기기를 검색하기 위해, 소유자 단말기(100)는 근거리 통신 방식에 기초하여 등록 확인 메시지(REG_CHK)를 브로드캐스팅(broadcasting)할 수 있다(도 4의 1110). 예를 들어, 등록 확인 메시지(REG_CHK)는 "GET /rs/?as_registered=false"와 같이 정의될 수 있다. 예를 들어, 상기 근거리 통신 방식은 블루투스, NFC, CoAP, 와이파이, 지그비 등과 같은 임의의 근거리 통신 방식일 수 있다.
제1 IoT 기기(300)가 소유자 인증 서버(200)에 미등록된 경우에, 제1 IoT 기기(300)는 등록 확인 메시지(REG_CHK)에 대한 응답으로 미등록 메시지(NREG)를 소유자 단말기(100)에 전송할 수 있다.
상기 검색 이후에, 미등록된 IoT 기기가 존재하지 않는 경우에(단계 S1200: 아니오), IoT 기기에 대한 등록 절차(즉, 단계 S1000)가 종료될 수 있다. 다시 말하면, 소유자 단말기(100) 및 소유자 인증 서버(200)는 IoT 기기에 대한 등록 절차를 종료할 수 있다.
상기 미등록된 IoT 기기가 존재하는 경우에(단계 S1200: 예), 상기 미등록된 IoT 기기에 대한 등록 절차가 개시될 수 있다(단계 S1300). 예를 들어, 소유자 단말기(100) 및 소유자 인증 서버(200)는 제1 IoT 기기(300)에 대한 등록 절차를 개시할 수 있다(도 4의 1310).
구체적으로, 소유자 단말기(100)는 제1 IoT 기기(300)에 등록 명령 메시지(REG_COM)를 전송할 수 있다. 예를 들어, 등록 명령 메시지(REG_COM)는 소유자 인증 서버(200)의 위치를 나타내는 서버 URL(Uniform Resource Locator)(AS_URL), 및 제1 IoT 기기(300)를 포함하는 제1 서비스 플랫폼(500)의 제1 플랫폼 ID(예를 들어, 제조자 ID(Identity 또는 Identification) 또는 제조사 ID)(Platform_ID)를 포함할 수 있다.
제1 IoT 기기(300)는 등록 명령 메시지(REG_COM)에 기초하여 소유자 인증 서버(200)에 등록 요청 메시지(REG_REQ)를 전송할 수 있다. 예를 들어, 등록 요청 메시지(REG_REQ)는 상기 제1 플랫폼 ID(Platform_ID), 제1 IoT 기기(300)의 제조 시에 제1 IoT 기기(300)에 임베디드된 제1 공개키, 및 제1 IoT 기기(300)의 위치를 나타내는 제1 기기 URL(IoT_URL)을 포함할 수 있다. 등록 요청 메시지(REG_REQ)에 포함되는 상기 제1 플랫폼 ID(Platform_ID)는 등록 명령 메시지(REG_COM)로부터 획득될 수 있다. 등록 명령 메시지(REG_COM)에 포함되는 상기 서버 URL(AS_URL)에 기초하여 등록 요청 메시지(REG_REQ)가 소유자 인증 서버(200)에 전송될 수 있다.
소유자 인증 서버(200)는 등록 요청 메시지(REG_REQ)에 기초하여 제1 IoT 기기(300)를 검증할 수 있다(도 4의 1410). 예를 들어, 소유자 인증 서버(200)는 제1 IoT 기기(300)의 POP(Proof of Possession)를 검증할 수 있으며, 이에 따라 상기 소유자가 제1 IoT 기기(300)를 적법하게 소유하고 있음이 검증될 수 있다. 도시하지는 않았지만, 플랫폼 서버(예를 들어, 제조자 서버)와의 통신에 기초하여 제1 IoT 기기(300)가 검증될 수 있다.
등록하고자 하는 IoT 기기에 대한 검증이 완료되지 못한 경우에(단계 S1400: 아니오), 예를 들어, 상기 등록하고자 하는 IoT 기기의 POP 검증이 실패한 경우에, 상기 등록 절차(즉, 단계 S1000)가 종료될 수 있다. 한편, 도시하지는 않았지만, 상기 등록하고자 하는 IoT 기기에 대한 검증이 완료되지 않은 경우에(단계 S1400: 아니오), 실시예에 따라서 미등록된 다른 IoT 기기가 추가적으로 검색될 수도 있다. 다시 말하면, 단계 S1100이 다시 수행될 수도 있다.
상기 등록하고자 하는 IoT 기기에 대한 검증이 완료된 경우에(단계 S1400: 예), 예를 들어, 상기 등록하고자 하는 IoT 기기의 상기 POP 검증이 성공한 경우에, 상기 등록하고자 하는 IoT 기기에 대한 인증서가 발급 및 저장될 수 있다(단계 S1500). 예를 들어, 소유자 인증 서버(200)는 제1 IoT 기기(300)에 대한 제1 인증서(CER)를 발급 및 저장할 수 있고(도 4의 1510), 제1 IoT 기기(300)는 제1 인증서(CER)를 저장할 수 있다(도 4의 1520).
구체적으로, 소유자 인증 서버(200)에 의해 발급되는 제1 인증서(CER)는 제1 IoT 기기(300)의 제1 기기 ID, 소유자 단말기(100)에 대한 소유자 ID, 및 상기 제1 플랫폼 ID(Platform_ID)를 포함할 수 있다. 예를 들어, 상기 제1 기기 ID는 임의의(random) 값일 수 있다. 상기 소유자 ID는 상기 등록 절차를 개시한(trigger) 상기 소유자 및/또는 소유자 단말기(100)에 설치된 상기 자원 툴과 관련될 수 있다. 제1 인증서(CER)에 포함되는 상기 제1 플랫폼 ID(Platform_ID)는 등록 요청 메시지(REG_REQ)로부터 획득될 수 있다.
일 실시예에서, 소유자 인증 서버(200)는 상기 제1 기기 ID, 상기 소유자 ID 및 상기 제1 플랫폼 ID(Platform_ID)를 포함하는 X.509 타입의 데이터를 소유자 인증 서버(200)의 개인키로 서명하여 제1 인증서(CER)를 발급할 수 있다.
소유자 인증 서버(200)는 제1 IoT 기기(300)에 대한 정보인 상기 제1 기기 ID, 상기 소유자 ID, 상기 제1 플랫폼 ID(Platform_ID), 제1 인증서(CER) 및 공유키(SKEY)를 기기 데이터베이스(250)에 저장할 수 있다. 공유키(SKEY)는 소유자 인증 서버(200)와 제1 IoT 기기(300) 사이에서 토큰 암호화/복호화에 이용되는 임의의 키를 나타낼 수 있다.
상기 등록 요청에 대한 결과로서, 소유자 인증 서버(200)는 제1 IoT 기기(300)에 제1 인증서(CER)를 돌려줄 수 있다(return). 제1 IoT 기기(300)는 인증서 데이터베이스(350)에 제1 인증서(CER)를 저장할 수 있다. 또한, 소유자 인증 서버(200)는 제1 IoT 기기(300)에 공유키(SKEY)를 전송할 수 있다. 다시 말하면, 소유자 인증 서버(200)와 제1 IoT 기기(300)는 공유키(SKEY)를 공유할 수 있다.
상기 인증서 발급 이후에, 상기 등록하고자 하는 IoT 기기에 대한 호스팅 자원이 등록될 수 있고(단계 S1600), 상기 호스팅 자원과 관련된 자원 정보가 갱신(update)될 수 있다(단계 S1700). 예를 들어, 소유자 인증 서버(200)는 제1 IoT 기기(300)에 대한 제1 호스팅 자원(HST_RS)을 등록할 수 있다(도 4의 1610). 제1 IoT 기기(300)는 소유자 인증 서버(200)로부터 전송된 제1 자원 ID(RS_ID)를 저장할 수 있다(도 4의 1710).
구체적으로, 제1 IoT 기기(300)는 소유자 인증 서버(200)에 제1 호스팅 자원(HST_RS)을 전송할 수 있다. 예를 들어, 제1 호스팅 자원(HST_RS)은 제1 IoT 기기(300)에 대한 제1 자원 URI(Uniform Resource Identifier), 제1 IoT 기기(300)가 수행 가능한 제1 동작들의 제1 목록(OPS), 상기 제1 자원 URI를 식별하기 위한 제1 규칙(rule), 및 상기 제1 동작들을 식별하기 위한 제2 규칙 등의 메타 정보를 포함할 수 있다. 예를 들어, 제1 IoT 기기(300)가 보일러이고 상기 보일러가 수행 가능한 동작들이 온/오프 및 온도 조절인 경우에, 상기 제1 자원 URI는 "/Boiler"와 같이 정의될 수 있고, 상기 제1 목록(OPS)은 "on_off 및 set_temperature"와 같이 정의될 수 있다.
소유자 인증 서버(200)는 제1 호스팅 자원(HST_RS)에 상응하는 제1 자원 ID(RS_ID)를 생성할 수 있고, 자원 데이터베이스(260)에 제1 호스팅 자원(HST_RS) 및 제1 자원 ID(RS_ID)를 저장할 수 있다. 예를 들어, 제1 자원 ID(RS_ID)는 임의의 값일 수 있다.
호스팅 자원 등록의 결과로서, 소유자 인증 서버(200)는 제1 IoT 기기(300)에 제1 자원 ID(RS_ID)를 돌려줄 수 있다. 제1 IoT 기기(300)는 제1 호스팅 자원(HST_RS)이 저장된 자원 데이터베이스(360)에 제1 자원 ID(RS_ID)를 추가적으로 저장하여 제1 호스팅 자원(HST_RS)과 관련된 제1 자원 정보를 갱신할 수 있다.
상기 호스팅 자원 등록 및 상기 자원 정보 갱신이 완료되면, 제1 IoT 기기(300)의 등록이 완료될 수 있다.
도 5는 소유자 인증 서버가 IoT 기기에 대한 접근 통제 정책을 설정하는 동작을 설명하기 위한 도면이다. 도 5에서, 소유자 인증 서버(200)의 동작은 소유자 인증 서버(200)에 포함되는 정책 관리부(220)의 동작으로 설명될 수 있다.
도 1, 2 및 5를 참조하면, IoT 기기에 대한 접근 통제 정책을 설정하는데 있어서(단계 S2000), 소유자 인증 서버(200)는 소유자 인증 서버(200)에 등록된 IoT 기기들 중 상기 소유자 및/또는 소유자 단말기(100)로부터 설정 요청이 접수된 제1 IoT 기기(300)의 자원을 검색할 수 있고(도 5의 2100), 제1 IoT 기기(300) 및 사용자 단말기(400)에 대한 상기 제1 접근 통제 정책을 설정할 수 있다(도 5의 2200).
구체적으로, 소유자 인증 서버(200)는 소유자 단말기(100)로부터 전송되는 정책 설정 요청 메시지에 기초하여 자원 데이터베이스(260)에서 제1 호스팅 자원(HST_RS)을 검색할 수 있고, 상기 정책 설정 요청 메시지에 기초하여 설정된 상기 제1 접근 통제 정책을 ACP 데이터베이스(270)에 저장할 수 있다. 예를 들어, 상기 제1 접근 통제 정책은 제1 IoT 기기(300)의 제1 자원 ID(RS_ID), 허용 동작 목록 및 사용자 단말기(400)의 허용 속성을 포함할 수 있다. 예를 들어, 제1 IoT 기기(300)가 보일러이고 특정 사용자에게 온/오프 및 온도 조절을 허용하고자 하는 경우에, 제1 자원 ID(RS_ID)에 대한 상기 허용 동작 목록은 "on_off 및 set_temperature"와 같이 정의될 수 있고, 제1 자원 ID(RS_ID)에 대한 사용자 단말기(400)의 상기 허용 속성(예를 들어, "age=18, email=alice@abc.com 및 gender=female")은 상기 정책 설정 요청 메시지에 포함된 속성 정보에 상응할 수 있다. 다시 말하면, 상기 제1 접근 통제 정책은, "age=18, email=alice@abc.com 및 gender=female"의 속성 정보를 가지는 사용자 단말기가 제1 IoT 기기(300)인 보일러의 온/오프 및 온도 조절이 가능한 정책일 수 있다.
도 6은 도 2의 토큰을 발급하는 단계의 일 예를 나타내는 순서도이다. 도 7은 소유자 인증 서버가 토큰을 발급하는 동작을 설명하기 위한 도면이다. 도 7에서, 제1 IoT 기기(300)의 동작은 제1 IoT 기기(300)에 포함되는 토큰 검증부(320)의 동작으로 설명될 수 있고, 소유자 인증 서버(200)의 동작은 소유자 인증 서버(200)에 포함되는 토큰 관리부(230)의 동작으로 설명될 수 있다.
도 1, 2, 6 및 7을 참조하면, IoT 기기에 대한 등록 및 정책 설정 이후에, 제1 IoT 기기(300)에 대한 상기 제1 목표 동작이 요청된다(단계 S3000).
구체적으로, 사용자 단말기(400)는 제1 IoT 기기(300)에 자원 요청 메시지(RS_REQ)를 전송할 수 있다. 이 때, 사용자 단말기(400)는 제1 IoT 기기(300)에 접근/제어할 수 있는 권한을 아직 확보하지 못하였을 수 있으며, 따라서 제1 토큰(TKN)이 미제출될 수 있다(도 7의 3100). 사용자 단말기(400)의 제어에 의해 제1 IoT 기기(300)가 상기 제1 목표 동작을 수행하기 위해서, 사용자 단말기(400)를 위한 제1 토큰(TKN)이 발급되어야 한다. 예를 들어, 제1 IoT 기기(300)는 보일러이고 상기 제1 목표 동작은 보일러 온 동작일 수 있다.
제1 IoT 기기(300)에 대한 사용자 단말기(400)의 권한을 나타내는 제1 토큰(TKN)을 발급하는데 있어서(단계 S5000), 자원 요청 메시지(RS_REQ)가 변환될 수 있다(단계 S5100). 예를 들어, 제1 IoT 기기(300)는 자원 요청 메시지(RS_REQ)로부터 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 획득할 수 있다(도 7의 5110).
구체적으로, 자원 요청 메시지(RS_REQ)는 제1 자원 ID(RS_ID)에 대한 제1 정보(예를 들어, 상기 제1 자원 URI 또는 상기 제1 기기 ID) 및 상기 제1 목표 동작에 대한 제1 동작 정보(OP)를 포함할 수 있다. 제1 IoT 기기(300)는 상기 제1 규칙 및 상기 제2 규칙에 기초하여 자원 요청 메시지(RS_REQ)로부터 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 획득할 수 있고, 소유자 인증 서버(200)에 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 전송할 수 있다.
일 실시예에서, 상기 제1 및 제2 규칙들은 URL 식별 타입 및 BODY 식별 타입 중 하나일 수 있다. 예를 들어, 제1 IoT 기기(300)가 보일러이고 온/오프 동작을 수행하고자 하는 경우에, 자원 요청 메시지(RS_REQ)는 상기 URL 식별 타입에서 "/OpenAPI/v1/Control/Boiler/On"(보일러 온) 또는 "/OpenAPI/v1/Control/Boiler/Off"(보일러 오프)와 같이 URL만으로 요청 정보를 나타낼 수도 있고, 상기 BODY 식별 타입에서 "/OpenAPI/v1/Control"의 URL과 "deviceId: jc@0067A01, isOn:true"(보일러 온) 또는 "deviceId: jc@0067A01, isOn:false"(보일러 오프)의 BODY를 함께 제공하여 BODY로 요청 정보를 나타낼 수도 있다.
제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)의 전송 이후에, 상기 제1 목표 동작이 요청 대기로 등록될 수 있고, 상기 제1 목표 동작에 상응하는 제1 티켓(TKT)이 생성될 수 있다(단계 S5200).
구체적으로, 소유자 인증 서버(200)는 상기 제1 목표 동작을 나타내는 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 요청 대기 데이터베이스(280)에 저장할 수 있다(도 5의 5210). 또한, 소유자 인증 서버(200)는 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)에 기초하여 제1 티켓(TKT)을 생성할 수 있고, 요청 대기 데이터베이스(280)에 제1 티켓(TKT)을 저장할 수 있으며, 제1 IoT 기기(300)에 제1 티켓(TKT)을 돌려줄 수 있다(도 5의 5220). 예를 들어, 제1 티켓(TKT)은 단명의(short-lived) 티켓일 수 있다.
사용자 단말기(400)가 비인가 상태임이 통지될 수 있고(단계 S5300), 제1 IoT 기기(300)에 접근/제어할 수 있는 권한을 확보하기 위해 토큰 발급이 요청될 수 있다(단계 S5400).
구체적으로, 제1 IoT 기기(300)는 사용자 단말기(400)에 비인가 메시지(NAUT)를 전송할 수 있다(도 7의 5310). 제1 IoT 기기(300)는 자원 요청 메시지(RS_REQ)에 대한 응답으로 비인가 메시지(NAUT)를 돌려줄 수 있다. 예를 들어, 비인가 메시지(NAUT)는 오류 정보, 상기 서버 URL(AS_URL), 및 제1 티켓(TKT)을 포함할 수 있다.
사용자 단말기(400)는 비인가 메시지(NAUT)에 기초하여 소유자 인증 서버(200)에 토큰 발급 요청 메시지(TKN_REQ)를 전송할 수 있고, 토큰 발급 요청 메시지(TKN_REQ)와 함께 제1 티켓(TKT)을 제출할 수 있다(도 7의 5410). 비인가 메시지(NAUT)에 포함되는 상기 서버 URL(AS_URL)에 기초하여 토큰 발급 요청 메시지(TKN_REQ) 및 제1 티켓(TKT)이 소유자 인증 서버(200)에 전송될 수 있다.
제1 IoT 기기(300)에 대한 사용자 단말기(400)의 접근/제어가 허용되는지 여부를 판단하기 위해 사용자 속성이 요청될 수 있고, 이에 응답하여 상기 사용자 속성이 제출될 수 있다(단계 S5500).
구체적으로, 소유자 인증 서버(200)는 제1 티켓(TKT)에 기초하여 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 획득할 수 있다. 예를 들어, 제1 티켓(TKT)을 기초로 요청 대기 데이터베이스(280)를 검색하여 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)가 획득될 수 있다.
소유자 인증 서버(200)는 제1 자원 ID(RS_ID), 제1 동작 정보(OP) 및 상기 제1 접근 통제 정책에 기초하여 사용자 단말기(400)에 속성 요청 메시지(PRP_REQ)를 전송할 수 있다(도 7의 5510). 예를 들어, ACP 데이터베이스(270)를 검색하여 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)에 상응하는 상기 제1 접근 통제 정책이 획득될 수 있고, 상기 제1 접근 통제 정책으로부터 사용자 속성 항목(예를 들어, "age, email 및 gender")이 획득될 수 있으며, 상기 사용자 속성 항목을 요청하기 위한 속성 요청 메시지(PRP_REQ)가 생성될 수 있다.
사용자 단말기(400)는 속성 요청 메시지(PRP_REQ)에 기초하여 소유자 인증 서버(200)에 사용자 단말기(400)의 속성 정보(PRP)를 전송할 수 있다(도 7의 5520).
소유자 인증 서버(200)는 ACP 데이터베이스(270)를 검색하여, 제1 자원 ID(RS_ID), 제1 동작 정보(OP) 및 속성 정보(PRP)가 상기 제1 접근 통제 정책에 부합하는지(즉, 상기 제1 접근 통제 정책을 만족하는지) 판단하기 위한 정책 평가를 수행할 수 있다(도 7의 5610).
상기 정책 평가가 완료되지 못한 경우에(단계 S5600: 아니오), 예를 들어, 제1 자원 ID(RS_ID), 제1 동작 정보(OP) 및 속성 정보(PRP) 중 적어도 하나가 상기 제1 접근 통제 정책을 만족하지 않는 경우에, 상기 토큰 발급(즉, 단계 S5000)이 종료될 수 있다. 한편, 도시하지는 않았지만, 상기 정책 평가가 완료되지 못한 경우에(단계 S5600: 아니오), 실시예에 따라서 상기 사용자 속성이 다시 요청될 수도 있다. 다시 말하면, 단계 S5500이 다시 수행될 수도 있다.
상기 정책 평가가 완료된 경우에(단계 S5600: 아니오), 예를 들어, 제1 자원 ID(RS_ID), 제1 동작 정보(OP) 및 속성 정보(PRP) 모두가 상기 제1 접근 통제 정책을 만족하는 경우에, 제1 토큰(TKN)이 생성 및 저장될 수 있다(단계 S5700). 예를 들어, 소유자 인증 서버(200)는 제1 토큰(TKN)을 생성할 수 있고(도 7의 5710), 사용자 단말기(400)는 제1 토큰(TKN)을 저장할 수 있다(도 7의 5720).
구체적으로, 제1 토큰(TKN)은 제1 자원 ID(RS_ID), 상기 제1 목록(OPS) 및 제1 토큰(TKN)의 만료 시점을 나타내는 제1 만료 정보(EXP)를 포함할 수 있다. 소유자 인증 서버(200)는 임의의 키인 제1 키(AKEY)를 생성할 수 있고, 제1 자원 ID(RS_ID), 상기 제1 목록(OPS) 및 상기 제1 만료 정보(EXP)를 포함하는 제1 데이터(TD)와 제1 키(AKEY)에 기초하여 제2 데이터(PLN_TKN)를 생성할 수 있으며, 제2 키(도 4의 SKEY)를 기초로 제2 데이터(PLN_TKN)를 암호화하여 제1 토큰(TKN)을 생성할 수 있다. 예를 들어, 제1 데이터(TD)는 "<RS_ID> | <OPS> | <EXP>"와 같이 정의될 수 있고, 제2 데이터(PLN_TKN)는 "<AKEY> | <TD>"와 같이 정의될 수 있으며, 제1 토큰(TKN)은 "Encrypt_sign <PLN_TKN> with <SKEY>"와 같이 정의될 수 있다.
토큰 생성의 결과로서, 소유자 인증 서버(200)는 제1 키(AKEY) 및 제1 토큰(TKN)을 사용자 단말기(400)에 전송할 수 있다. 사용자 단말기(400)는 제1 키(AKEY) 및 제1 토큰(TKN)을 저장할 수 있다. 예를 들어, 자원 요청 메시지(RS_REQ), 제1 토큰(TKN) 및 제1 키(AKEY)가 캐시 메모리에 저장될 수 있으며, 제1 토큰(TKN)은 상기 만료 시점 전까지 사용 가능할 수 있다.
상기 토큰 생성 및 저장이 완료되면, 상기 토큰 발급이 완료될 수 있다.
실시예에 따라서, 기기 데이터베이스(도 4의 250), 자원 데이터베이스(도 4 및 5의 260), ACP 데이터베이스(도 5 및 7의 270) 및 요청 대기 데이터베이스(도 7의 20)의 적어도 일부는 하나의 저장소로 구현되거나 분리된 저장소들로 구현될 수 있고, 소유자 인증 서버(200)의 내부 또는 외부에 배치될 수 있다. 이와 유사하게, 인증서 데이터베이스(도 4의 350) 및 자원 데이터베이스(도 4의 360) 역시 결합 또는 분리되어 구현될 수 있고, 제1 IoT 기기(300)의 내부 또는 외부에 배치될 수 있다.
도 8은 도 2의 토큰 검증 및 목표 동작을 수행하는 단계의 일 예를 나타내는 순서도이다. 도 9는 IoT 기기가 토큰 검증 및 목표 동작을 수행하는 동작을 설명하기 위한 도면이다.
도 1, 2, 8 및 9를 참조하면, IoT 기기에 대한 등록, 정책 설정 및 토큰 발급 이후에, 제1 IoT 기기(300)에 대한 상기 제1 목표 동작이 요청된다(단계 S3000).
구체적으로, 사용자 단말기(400)는 제1 IoT 기기(300)에 자원 요청 메시지(RS_REQ)를 전송할 수 있다. 사용자 단말기(400)는 제1 IoT 기기(300)에 접근/제어할 수 있는 권한을 확보하였으며, 따라서 제1 토큰(TKN)이 제출될 수 있다(도 9의 3200). 도 9의 자원 요청 메시지(RS_REQ) 및 제1 토큰(TKN)은 도 7의 자원 요청 메시지(RS_REQ) 및 제1 토큰(TKN)과 각각 실질적으로 동일할 수 있다. 이에 따라, 제1 토큰(TKN)이 검증될 수 있고, 상기 검증 결과에 기초하여 상기 제1 목표 동작이 수행될 수 있다(단계 S6000).
사용자 단말기(400)는 제1 IoT 기기(300)에 제1 토큰(TKN)과 함께 제2 검증 데이터(AUTD)를 전송할 수 있다. 예를 들어, 제2 검증 데이터(AUTD)는 제1 키(AKEY)를 기초로 제1 검증 데이터(REQ_AUTD)를 암호화하여 생성된 데이터일 수 있으며, "Encrypt_sign <REQ_AUTD> with <AKEY>"와 같이 정의될 수 있다.
제1 IoT 기기(300)는 제2 키(SKEY) 및 제2 검증 데이터(AUTD)에 기초하여 제1 토큰(TKN)의 유효성을 검증할 수 있다(도 9의 6110). 도 4를 참조하여 상술한 것처럼, 소유자 인증 서버(200)에 제1 IoT 기기(300)를 등록하는 동안에, 소유자 인증 서버(200)와 제1 IoT 기기(300)는 제2 키(SKEY)를 공유하므로, 제1 IoT 기기(300)도 제2 키(SKEY)를 가질 수 있다. 도 9에서, 제1 IoT 기기(300)의 토큰 검증 동작(6110)은 제1 IoT 기기(300)에 포함되는 토큰 검증부(320)의 동작으로 설명될 수 있다.
구체적으로, 제1 IoT 기기(300)는 제2 키(SKEY)를 기초로 제1 토큰(TKN)을 복호화하여 제2 데이터(PLN_TKN')를 생성할 수 있고, 복호화된 제2 데이터(PLN_TKN')로부터 제1 키(AKEY')를 추출할 수 있으며, 추출된 제1 키(AKEY')를 기초로 제2 검증 데이터(AUTD)를 복호화하여 제1 검증 데이터(REQ_AUTD')를 생성할 수 있다. 예를 들어, 복호화된 제2 데이터(PLN_TKN')는 "decrypt <TKN> with <SKEY>"와 같이 정의될 수 있고, 복호화된 제1 검증 데이터(REQ_AUTD')는 "decrypt <AUTD> with <AKEY'>"와 같이 정의될 수 있다. 사용자 단말기(400)의 제1 검증 데이터(REQ_AUTD)와 제1 IoT 기기(300)의 복호화된 제1 검증 데이터(REQ_AUTD')가 실질적으로 동일할 경우에, 제1 토큰(TKN)이 유효한 것으로 판단될 수 있다.
상기 토큰의 유효성이 검증된 경우에(단계 S6100: 예), 예를 들어, 제1 토큰(TKN)이 유효한 것으로 판단된 경우에, 자원 요청 메시지(RS_REQ)가 변환될 수 있다(단계 S6200). 예를 들어, 제1 IoT 기기(300)는 자원 요청 메시지(RS_REQ)로부터 제1 자원 ID(RS_ID) 및 제1 동작 정보(OP)를 획득할 수 있다(도 9의 6210). 도 8의 단계 S6200 및 도 9의 6210은 도 6의 단계 S5100 및 도 7의 5110과 각각 실질적으로 동일할 수 있다.
자원 ID 및 동작 정보가 일치하는 경우에(단계 S6300: 예), 예를 들어, 자원 요청 메시지(RS_REQ)로부터 획득된 제1 자원 ID(RS_ID)가 제1 토큰(TKN) 내의 제1 자원 ID(RS_ID)와 일치하고 자원 요청 메시지(RS_REQ)로부터 획득된 제1 동작 정보(OP)가 제1 토큰(TKN) 내의 상기 제1 목록(OPS)에 포함되는 경우에, 목표 동작이 수행될 수 있다(단계 S6400). 예를 들어, 제1 IoT 기기(300)는 상기 제1 목표 동작인 보일러 온 동작을 수행할 수 있다(도 9의 6410).
상기 토큰의 유효성이 검증되지 못한 경우에(단계 S6100: 아니오), 예를 들어, 제1 토큰(TKN)이 유효하지 않은 것으로 판단된 경우에, 또는 자원 ID 및 동작 정보가 일치하지 않는 경우에(단계 S6300: 아니오), 예를 들어, 자원 요청 메시지(RS_REQ)로부터 획득된 제1 자원 ID(RS_ID)가 제1 토큰(TKN) 내의 제1 자원 ID(RS_ID)와 일치하지 않거나 자원 요청 메시지(RS_REQ)로부터 획득된 제1 동작 정보(OP)가 제1 토큰(TKN) 내의 상기 제1 목록(OPS)에 포함되지 않는 경우에, 오류가 통지될 수 있다(단계 S6500). 예를 들어, 제1 IoT 기기(300)는 사용자 단말기(400)에 오류 메시지를 전송할 수 있다.
이상, 하나의 IoT 기기에 기초하여 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템을 설명하였으나, 본 발명의 실시예들은 복수의 IoT 기기들을 포함하는 경우에도 적용될 수 있다.
도 10은 본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템을 나타내는 블록도이다.
도 10을 참조하면, 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템(10a)은 소유자 단말기(100), 소유자 인증 서버(200), 제1 내지 제N(N은 2 이상의 자연수) IoT 기기들(300a~300n) 및 제1 내지 제N 사용자 단말기들(400a~400n)을 포함한다.
복수의 IoT 기기들(300a~300n) 및 복수의 사용자 단말기들(400a~400n)을 포함하는 것을 제외하면, 도 10의 시스템(10a)은 도 1의 시스템(10)과 실질적으로 동일할 수 있다.
일 실시예에서, IoT 기기들(300a~300n) 중 하나 및 사용자 단말기들(400a~400n) 중 하나는 IoT 서비스 플랫폼들(500a~500n) 중 하나를 형성할 수 있다.
한편, 도 10에서는 IoT 기기들(300a~300n)과 사용자 단말기들(400a~400n)이 일대일 대응하는 것으로 도시하였으나, 실시예에 따라서 하나의 사용자 단말기에 의해 두 개 이상의 IoT 기기들이 사용, 접근 또는 제어될 수도 있다.
본 발명의 실시예들에 따른 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템에서, 소유자의 IoT 기기들(300a~300n)에 대한 등록, 접근 통제 정책의 설정, 토큰 발행, 목표 동작의 요청 및 수행 등이 소유자 인증 서버(200)에 기초하여 수행될 수 있고, 사용자 단말기들(400a~400n)은 소유자 인증 서버(200)에 인증할 필요 없이 미리 설정된 정책에 따라 IoT 기기들(300a~300n)을 접근/제어할 수 있으며, IoT 기기들(300a~300n)의 제조자가 서로 다른 경우에도 하나의 소유자 인증 서버(200)에 기초하여 IoT 기기들(300a~300n)을 관리할 수 있다. 따라서, 소유자 중심의 통합 권한 관리를 구현할 수 있고, 효율적인 인증, 인가, 프라이버시 관리 등을 제공할 수 있으며, 인증, 인가의 확장성이 개선될 수 있다.
본 발명의 실시예들에 따른 소유자 단말기(100), 소유자 인증 서버(200), IoT 기기(300) 및 사용자 단말기(400)의 일부 또는 전부는 프로그램(즉, 소프트웨어) 또는 하드웨어의 형태로 구현될 수 있다. 예를 들어, 소프트웨어의 형태로 구현되는 경우에, 소유자 단말기(100), 소유자 인증 서버(200), IoT 기기(300) 및 사용자 단말기(400) 각각은, 상술한 동작들을 수행하기 위한 프로그램 루틴들(program routines) 또는 명령어들(instructions)을 저장하는 메모리, 및 상기 프로그램 루틴들 또는 상기 명령어들의 실행을 제어하는 프로세서를 포함할 수 있다. 하드웨어의 형태로 구현되는 경우에, 소유자 단말기(100), 소유자 인증 서버(200), IoT 기기(300) 및 사용자 단말기(400)의 구성요소들의 일부 또는 전부는 프로세서에 포함될 수 있다.
본 발명의 실시예들은 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명은 IoT를 구현하기 위한 다양한 장치 및 시스템에 적용될 수 있으며, 만물인터넷(Internet of Everything: IoE), 센서 네트워크(Sensor Network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 등과 상기 기술을 기반으로 하는 지능형 서비스(스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 다양하게 활용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 제1 사물인터넷(Internet of Things: IoT) 기기가 소유자 인증 서버(authorization server)에 미등록된 경우에, 소유자 단말기가 상기 제1 IoT 기기에 등록 명령 메시지를 전송하고, 상기 제1 IoT 기기가 상기 등록 명령 메시지에 기초하여 상기 소유자 인증 서버에 등록 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기를 검증하고 상기 제1 IoT 기기에 대한 제1 인증서를 발급하며 상기 제1 IoT 기기에 대한 제1 호스팅 자원을 등록함으로써, 상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록하는 단계;
    상기 소유자 인증 서버가 상기 제1 IoT 기기 및 사용자 단말기에 대한 제1 접근 통제 정책(access control policy)을 설정하는 단계;
    상기 사용자 단말기가 상기 제1 IoT 기기에 자원 요청 메시지를 전송한 경우에, 상기 제1 IoT 기기는 상기 자원 요청 메시지와 함께 제1 토큰(token)이 제출되었는지 확인하는 단계;
    상기 제1 토큰이 미제출된 경우에, 상기 제1 IoT 기기가 상기 사용자 단말기에 비인가 메시지를 전송하고, 상기 사용자 단말기가 상기 비인가 메시지에 기초하여 상기 소유자 인증 서버에 토큰 발급 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 토큰 발급 요청 메시지, 상기 사용자 단말기에서 제공되는 속성 정보 및 상기 제1 접근 통제 정책을 기초로 상기 제1 토큰을 생성하여 상기 사용자 단말기에 전송함으로써, 상기 제1 토큰을 발급하는 단계; 및
    상기 제1 토큰이 제출된 경우에, 상기 제1 IoT 기기가 상기 제1 토큰을 검증하고 상기 자원 요청 메시지에 기초하여 제1 목표 동작을 수행하는 단계를 포함하고,
    상기 제1 IoT 기기를 등록하는 단계에 있어서,
    상기 소유자 인증 서버는 상기 제1 IoT 기기에 상기 제1 인증서를 돌려주고, 상기 제1 IoT 기기는 상기 제1 인증서를 저장하며,
    상기 소유자 인증 서버는 상기 제1 IoT 기기로부터 제공된 상기 제1 호스팅 자원에 상응하는 제1 자원 ID를 생성하고, 상기 제1 호스팅 자원 및 상기 제1 자원 ID를 저장하고, 상기 제1 IoT 기기에 상기 제1 자원 ID를 돌려주며,
    상기 제1 IoT 기기는 상기 제1 자원 ID를 저장하며,
    상기 등록 명령 메시지는 상기 소유자 인증 서버의 위치를 나타내는 서버 URL, 및 상기 제1 IoT 기기를 포함하는 제1 서비스 플랫폼의 제1 플랫폼 ID를 포함하고,
    상기 등록 요청 메시지는 상기 제1 플랫폼 ID, 상기 제1 IoT 기기에 임베디드된 제1 공개키, 및 상기 제1 IoT 기기의 위치를 나타내는 제1 기기 URL을 포함하고,
    상기 제1 인증서는 상기 제1 IoT 기기의 제1 기기 ID, 상기 소유자 단말기에 대한 소유자 ID, 및 상기 제1 플랫폼 ID를 포함하며,
    상기 제1 호스팅 자원은 상기 제1 IoT 기기에 대한 제1 자원 URI, 상기 제1 IoT 기기가 수행 가능한 제1 동작들의 제1 목록, 상기 제1 자원 URI를 식별하기 위한 제1 규칙, 및 상기 제1 동작들을 식별하기 위한 제2 규칙을 포함하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 자원 요청 메시지는 상기 제1 자원 ID에 대한 제1 정보 및 상기 제1 동작들 중 상기 제1 목표 동작에 대한 제1 동작 정보를 포함하고,
    상기 제1 IoT 기기는 상기 제1 규칙 및 상기 제2 규칙에 기초하여 상기 자원 요청 메시지를 상기 제1 자원 ID 및 상기 제1 동작 정보로 변환하는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  5. 제 4 항에 있어서, 상기 제1 토큰을 발급하는 단계에 있어서,
    상기 제1 IoT 기기는 상기 소유자 인증 서버에 상기 제1 자원 ID 및 상기 제1 동작 정보를 전송하고,
    상기 소유자 인증 서버는 상기 제1 자원 ID 및 상기 제1 동작 정보에 기초하여 제1 티켓(ticket)을 생성하고, 상기 제1 티켓을 저장하고, 상기 제1 IoT 기기에 상기 제1 티켓을 돌려주며,
    상기 제1 IoT 기기는 상기 사용자 단말기에 오류 정보, 상기 서버 URL, 및 상기 제1 티켓을 포함하는 상기 비인가 메시지를 돌려주는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  6. 제 5 항에 있어서, 상기 제1 토큰을 발급하는 단계에 있어서,
    상기 사용자 단말기는 상기 소유자 인증 서버에 상기 토큰 발급 요청 메시지와 함께 상기 제1 티켓을 제출하고,
    상기 소유자 인증 서버는 상기 제1 티켓에 기초하여 상기 제1 자원 ID 및 상기 제1 동작 정보를 획득하고, 상기 제1 자원 ID, 상기 제1 동작 정보 및 상기 제1 접근 통제 정책에 기초하여 상기 사용자 단말기에 속성 요청 메시지를 전송하며,
    상기 사용자 단말기는 상기 속성 요청 메시지에 기초하여 상기 소유자 인증 서버에 상기 속성 정보를 전송하며,
    상기 제1 자원 ID, 상기 제1 동작 정보 및 상기 속성 정보가 상기 제1 접근 통제 정책을 만족하는 경우에, 상기 소유자 인증 서버는 상기 제1 자원 ID, 상기 제1 목록 및 상기 제1 토큰의 만료 시점을 나타내는 제1 만료 정보를 포함하는 상기 제1 토큰을 생성하는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  7. 제 6 항에 있어서, 상기 제1 토큰을 발급하는 단계에 있어서,
    상기 소유자 인증 서버는 제1 키를 생성하고, 상기 제1 자원 ID, 상기 제1 목록 및 상기 제1 만료 정보를 포함하는 제1 데이터와 상기 제1 키에 기초하여 제2 데이터를 생성하고, 제2 키를 기초로 상기 제2 데이터를 암호화하여 상기 제1 토큰을 생성하고, 상기 제1 키 및 상기 제1 토큰을 상기 사용자 단말기에 전송하며,
    상기 사용자 단말기는 상기 제1 키 및 상기 제1 토큰을 저장하는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  8. 제 7 항에 있어서,
    상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록하는 동안에, 상기 소유자 인증 서버와 상기 제1 IoT 기기는 상기 제2 키를 공유하는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  9. 제 8 항에 있어서, 상기 제1 목표 동작을 수행하는 단계에 있어서,
    상기 사용자 단말기는 상기 제1 IoT 기기에 상기 제1 토큰, 및 상기 제1 키에 기초하여 암호화된 제1 검증 데이터를 전송하고,
    상기 제1 IoT 기기는 상기 제2 키를 기초로 상기 제1 토큰을 복호화하여 상기 제1 키를 추출하고, 상기 추출된 제1 키를 기초로 상기 제1 검증 데이터를 복호화하여 상기 제1 토큰의 유효성을 검증하며,
    상기 제1 토큰의 유효성이 검증되고 상기 제1 자원 ID가 일치하며 상기 제1 목표 동작이 상기 제1 목록에 포함되는 경우에, 상기 제1 IoT 기기는 상기 제1 목표 동작을 수행하는 것을 특징으로 하는 소유자 인증 서버 기반의 IoT 기기 인가관리 방법.
  10. 제1 사물인터넷(Internet of Things: IoT) 기기;
    상기 제1 IoT 기기의 등록을 제어하는 소유자 단말기 및 소유자 인증 서버(authorization server); 및
    상기 제1 IoT 기기의 사용을 제어하는 사용자 단말기를 포함하고,
    상기 제1 IoT 기기가 상기 소유자 인증 서버에 미등록된 경우에, 상기 소유자 단말기가 상기 제1 IoT 기기에 등록 명령 메시지를 전송하고, 상기 제1 IoT 기기가 상기 등록 명령 메시지에 기초하여 상기 소유자 인증 서버에 등록 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 등록 요청 메시지에 기초하여 상기 제1 IoT 기기를 검증하고 상기 제1 IoT 기기에 대한 제1 인증서를 발급하며 상기 제1 IoT 기기에 대한 제1 호스팅 자원을 등록함으로써, 상기 소유자 인증 서버에 상기 제1 IoT 기기를 등록하고,
    상기 소유자 인증 서버가 상기 제1 IoT 기기 및 상기 사용자 단말기에 대한 제1 접근 통제 정책(access control policy)을 설정하고,
    상기 사용자 단말기가 상기 제1 IoT 기기에 자원 요청 메시지를 전송한 경우에, 상기 제1 IoT 기기는 상기 자원 요청 메시지와 함께 제1 토큰(token)이 제출되었는지 확인하고,
    상기 제1 토큰이 미제출된 경우에, 상기 제1 IoT 기기가 상기 사용자 단말기에 비인가 메시지를 전송하고, 상기 사용자 단말기가 상기 비인가 메시지에 기초하여 상기 소유자 인증 서버에 토큰 발급 요청 메시지를 전송하고, 상기 소유자 인증 서버가 상기 토큰 발급 요청 메시지, 상기 사용자 단말기에서 제공되는 속성 정보 및 상기 제1 접근 통제 정책을 기초로 상기 제1 토큰을 생성하여 상기 사용자 단말기에 전송함으로써, 상기 제1 토큰을 발급하며,
    상기 제1 토큰이 제출된 경우에, 상기 제1 IoT 기기가 상기 제1 토큰을 검증하고 상기 자원 요청 메시지에 기초하여 제1 목표 동작을 수행하고,
    상기 제1 IoT 기기를 등록하는데 있어서,
    상기 소유자 인증 서버는 상기 제1 IoT 기기에 상기 제1 인증서를 돌려주고, 상기 제1 IoT 기기는 상기 제1 인증서를 저장하며,
    상기 소유자 인증 서버는 상기 제1 IoT 기기로부터 제공된 상기 제1 호스팅 자원에 상응하는 제1 자원 ID를 생성하고, 상기 제1 호스팅 자원 및 상기 제1 자원 ID를 저장하고, 상기 제1 IoT 기기에 상기 제1 자원 ID를 돌려주며,
    상기 제1 IoT 기기는 상기 제1 자원 ID를 저장하며,
    상기 등록 명령 메시지는 상기 소유자 인증 서버의 위치를 나타내는 서버 URL, 및 상기 제1 IoT 기기를 포함하는 제1 서비스 플랫폼의 제1 플랫폼 ID를 포함하고,
    상기 등록 요청 메시지는 상기 제1 플랫폼 ID, 상기 제1 IoT 기기에 임베디드된 제1 공개키, 및 상기 제1 IoT 기기의 위치를 나타내는 제1 기기 URL을 포함하고,
    상기 제1 인증서는 상기 제1 IoT 기기의 제1 기기 ID, 상기 소유자 단말기에 대한 소유자 ID, 및 상기 제1 플랫폼 ID를 포함하며,
    상기 제1 호스팅 자원은 상기 제1 IoT 기기에 대한 제1 자원 URI, 상기 제1 IoT 기기가 수행 가능한 제1 동작들의 제1 목록, 상기 제1 자원 URI를 식별하기 위한 제1 규칙, 및 상기 제1 동작들을 식별하기 위한 제2 규칙을 포함하는 소유자 인증 서버 기반의 IoT 기기 인가관리 시스템.

KR1020160046888A 2016-04-18 2016-04-18 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템 KR101688812B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160046888A KR101688812B1 (ko) 2016-04-18 2016-04-18 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160046888A KR101688812B1 (ko) 2016-04-18 2016-04-18 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템

Publications (1)

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

Family

ID=57723444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046888A KR101688812B1 (ko) 2016-04-18 2016-04-18 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101688812B1 (ko)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395567A (zh) * 2017-06-16 2017-11-24 深圳市盛路物联通讯技术有限公司 一种基于物联网的设备使用权限获取方法及系统
KR101880999B1 (ko) * 2018-02-13 2018-07-24 (주)케이사인 사물 인터넷 네트워크의 엔드 투 엔드 데이터 암호화 시스템 및 방법
KR20180099304A (ko) * 2017-02-28 2018-09-05 주식회사 스마트구루 존 통신 시스템 및 방법
GB2560895A (en) * 2017-03-23 2018-10-03 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
KR20190092091A (ko) 2018-01-30 2019-08-07 동서대학교 산학협력단 Ifttt 서비스를 위한 실시간 이벤트 처리 규칙 관리 시스템
KR102018596B1 (ko) * 2018-03-28 2019-09-06 크레노바시스템스 주식회사 대인용 수송부재의 디지탈 비디오 방송 컨텐츠 서비스 수신 시스템과 그 제어방법
KR102020488B1 (ko) 2019-03-21 2019-09-11 주식회사그린존시큐리티 IoT 디바이스의 인터넷 접근 제어를 위한 장치 및 이를 위한 방법
KR102049939B1 (ko) 2019-04-26 2019-11-28 주식회사그린존시큐리티 IoT 디바이스를 관리하기 위한 장치 및 이를 위한 방법
WO2020028971A1 (en) * 2018-08-09 2020-02-13 Wgames Incorporated Multi-process interface controller
WO2020111488A1 (ko) * 2018-11-27 2020-06-04 삼성전자 주식회사 아이오티 장치를 등록하는 전자 장치, 서버 및 그 작동 방법
WO2020142446A3 (en) * 2018-12-31 2020-08-13 Citrix Systems, Inc. Facilitating remote access
KR20210060282A (ko) * 2019-11-18 2021-05-26 주식회사 시옷 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
WO2021162272A1 (ko) * 2020-02-11 2021-08-19 현대자동차주식회사 M2m 시스템에서 개인 데이터를 취급하기 위한 방법 및 장치
CN113596013A (zh) * 2021-07-26 2021-11-02 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113612747A (zh) * 2021-07-26 2021-11-05 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113711631A (zh) * 2019-05-02 2021-11-26 华为技术有限公司 一种用于控制物联网设备的移动设备
US11336635B2 (en) 2019-11-18 2022-05-17 Ciot Systems and methods for authenticating device through IoT cloud using hardware security module
CN114697067A (zh) * 2020-12-25 2022-07-01 扉睿科技股份有限公司 基于安全导向暨群组分享的物联网系统
KR20220116136A (ko) * 2019-11-18 2022-08-22 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법
KR20230031717A (ko) * 2021-08-27 2023-03-07 롯데정보통신 주식회사 IoT 포털 서버, IoT 플랫폼 서버, 인증 서버를 통해 획득된 토큰과 ACP 데이터 필드를 이용하여 권한을 관리하는 방법, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
WO2023123944A1 (zh) * 2021-12-31 2023-07-06 广州市浩洋电子股份有限公司 一种数据高安全性舞台灯以及物联网系统
CN116668201A (zh) * 2023-07-31 2023-08-29 北京小米移动软件有限公司 用于分配生产资源的系统、生产资源的传输方法及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140045829A (ko) * 2012-10-09 2014-04-17 에스케이텔레콤 주식회사 사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140045829A (ko) * 2012-10-09 2014-04-17 에스케이텔레콤 주식회사 사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이범기 외 2인, "IoT에서 Capability 토큰 기반 접근제어 시스템 설계 및 구현", 정보보호학회논문지 25(2), 439-448 (2015.04.) *

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180099304A (ko) * 2017-02-28 2018-09-05 주식회사 스마트구루 존 통신 시스템 및 방법
KR102028906B1 (ko) * 2017-02-28 2019-10-07 주식회사 스마트구루 존 통신 시스템 및 방법
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
GB2560895B (en) * 2017-03-23 2019-05-29 Taberner Neil Secure transfer of data between internet of things devices
GB2560895A (en) * 2017-03-23 2018-10-03 Taberner Neil Secure transfer of data between internet of things devices
CN107395567A (zh) * 2017-06-16 2017-11-24 深圳市盛路物联通讯技术有限公司 一种基于物联网的设备使用权限获取方法及系统
KR20190092091A (ko) 2018-01-30 2019-08-07 동서대학교 산학협력단 Ifttt 서비스를 위한 실시간 이벤트 처리 규칙 관리 시스템
KR101880999B1 (ko) * 2018-02-13 2018-07-24 (주)케이사인 사물 인터넷 네트워크의 엔드 투 엔드 데이터 암호화 시스템 및 방법
KR102018596B1 (ko) * 2018-03-28 2019-09-06 크레노바시스템스 주식회사 대인용 수송부재의 디지탈 비디오 방송 컨텐츠 서비스 수신 시스템과 그 제어방법
WO2020028971A1 (en) * 2018-08-09 2020-02-13 Wgames Incorporated Multi-process interface controller
WO2020111488A1 (ko) * 2018-11-27 2020-06-04 삼성전자 주식회사 아이오티 장치를 등록하는 전자 장치, 서버 및 그 작동 방법
US11178185B2 (en) 2018-12-31 2021-11-16 Citrix Systems, Inc. Extending management control to IoT devices
WO2020142446A3 (en) * 2018-12-31 2020-08-13 Citrix Systems, Inc. Facilitating remote access
US11431754B2 (en) 2018-12-31 2022-08-30 Citrix Systems, Inc. Authenticating to secured resource via coupled devices
US11082451B2 (en) 2018-12-31 2021-08-03 Citrix Systems, Inc. Maintaining continuous network service
US11722528B2 (en) 2018-12-31 2023-08-08 Citrix Systems, Inc. Extending management control to IoT devices
KR102020488B1 (ko) 2019-03-21 2019-09-11 주식회사그린존시큐리티 IoT 디바이스의 인터넷 접근 제어를 위한 장치 및 이를 위한 방법
KR102049939B1 (ko) 2019-04-26 2019-11-28 주식회사그린존시큐리티 IoT 디바이스를 관리하기 위한 장치 및 이를 위한 방법
CN113711631B (zh) * 2019-05-02 2024-04-09 华为云计算技术有限公司 一种用于控制物联网设备的移动设备
CN113711631A (zh) * 2019-05-02 2021-11-26 华为技术有限公司 一种用于控制物联网设备的移动设备
KR102443259B1 (ko) 2019-11-18 2022-09-14 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법
US11336635B2 (en) 2019-11-18 2022-05-17 Ciot Systems and methods for authenticating device through IoT cloud using hardware security module
KR20220116136A (ko) * 2019-11-18 2022-08-22 주식회사 시옷 하드웨어 보안 모듈을 이용한 IoT(Internet of Thing) 보안 서비스 제공 시스템 및 방법
KR102377045B1 (ko) * 2019-11-18 2022-03-21 주식회사 시옷 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
KR20210060282A (ko) * 2019-11-18 2021-05-26 주식회사 시옷 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
WO2021162272A1 (ko) * 2020-02-11 2021-08-19 현대자동차주식회사 M2m 시스템에서 개인 데이터를 취급하기 위한 방법 및 장치
US11936746B2 (en) 2020-02-11 2024-03-19 Hyundai Motor Company Method and device for handling personal data in M2M system
CN114697067A (zh) * 2020-12-25 2022-07-01 扉睿科技股份有限公司 基于安全导向暨群组分享的物联网系统
CN113612747A (zh) * 2021-07-26 2021-11-05 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113596013B (zh) * 2021-07-26 2024-02-09 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113612747B (zh) * 2021-07-26 2024-02-09 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113596013A (zh) * 2021-07-26 2021-11-02 深圳Tcl新技术有限公司 设备控制权限的设置方法、装置、计算机设备和存储介质
KR102587106B1 (ko) * 2021-08-27 2023-10-10 롯데정보통신 주식회사 IoT 포털 서버, IoT 플랫폼 서버, 인증 서버를 통해 획득된 토큰과 ACP 데이터 필드를 이용하여 권한을 관리하는 방법, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
KR20230031717A (ko) * 2021-08-27 2023-03-07 롯데정보통신 주식회사 IoT 포털 서버, IoT 플랫폼 서버, 인증 서버를 통해 획득된 토큰과 ACP 데이터 필드를 이용하여 권한을 관리하는 방법, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
WO2023123944A1 (zh) * 2021-12-31 2023-07-06 广州市浩洋电子股份有限公司 一种数据高安全性舞台灯以及物联网系统
CN116668201A (zh) * 2023-07-31 2023-08-29 北京小米移动软件有限公司 用于分配生产资源的系统、生产资源的传输方法及设备
CN116668201B (zh) * 2023-07-31 2023-10-20 北京小米移动软件有限公司 用于分配生产资源的系统、生产资源的传输方法及设备

Similar Documents

Publication Publication Date Title
KR101688812B1 (ko) 소유자 인증 서버 기반의 IoT 기기 인가관리 방법 및 시스템
US10728244B2 (en) Method and system for credential management
US20210119764A1 (en) Systems and methods for securing access rights to resources using cryptography and the blockchain
JP6054457B2 (ja) 制御された情報開示によるプライベート解析
CN105718782B (zh) 用于在移动设备上获得标识信息的方法和系统
KR101688813B1 (ko) IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템
KR102168392B1 (ko) 레지스트리 장치, 에이전트 디바이스, 애플리케이션 제공 장치 및 대응하는 방법들
CN107070863A (zh) 本地设备认证
JP5749236B2 (ja) 鍵付け替え管理装置および鍵付け替え管理方法
CN106537357A (zh) 应用间委托的认证
KR101702748B1 (ko) 이중 암호화를 이용한 사용자 인증 방법과 시스템 및 기록매체
JP5380583B1 (ja) デバイス認証方法及びシステム
JPWO2019239591A1 (ja) 認証システム、認証方法、アプリケーション提供装置、認証装置、及び認証用プログラム
EP3603014B1 (en) Methods and systems of performing preemptive generation of second factor authentication
CN105612731A (zh) 跨受信和非受信平台漫游互联网可访问应用状态
CN115412269A (zh) 业务处理方法、装置、服务器及存储介质
US9621546B2 (en) Method of generating one-time password and apparatus for performing the same
KR20140098028A (ko) 다중 디바이스 및 플랫폼을 위한 접속 인증 방법
KR20150052897A (ko) 인증 어플리케이션을 이용한 인증 방법 및 장치
JP6435678B2 (ja) 情報処理装置、管理装置、プログラム及びシステム
KR102171458B1 (ko) IoT 시스템에서의 개인정보수집 동의 절차 제공 방법 및 이를 수행하는 장치들
KR101308081B1 (ko) 두 대의 통신단말기를 이용한 인증방법
KR101019616B1 (ko) 두 대의 통신단말기를 이용한 인증방법.
JP6750260B2 (ja) 情報処理装置およびエージェントシステム
KR101986690B1 (ko) 메시지 종단간 암호화를 위한 키 체인 관리 방법 및 시스템

Legal Events

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

Payment date: 20191115

Year of fee payment: 4