KR20180069737A - 디바이스들 사이의 통신들의 인에이블 - Google Patents

디바이스들 사이의 통신들의 인에이블 Download PDF

Info

Publication number
KR20180069737A
KR20180069737A KR1020170172554A KR20170172554A KR20180069737A KR 20180069737 A KR20180069737 A KR 20180069737A KR 1020170172554 A KR1020170172554 A KR 1020170172554A KR 20170172554 A KR20170172554 A KR 20170172554A KR 20180069737 A KR20180069737 A KR 20180069737A
Authority
KR
South Korea
Prior art keywords
identifier
server
connection data
resource
data
Prior art date
Application number
KR1020170172554A
Other languages
English (en)
Inventor
용범 박
한네스 츠코페닉
Original Assignee
에이알엠 아이피 리미티드
암, 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이알엠 아이피 리미티드, 암, 리미티드 filed Critical 에이알엠 아이피 리미티드
Publication of KR20180069737A publication Critical patent/KR20180069737A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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
    • 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

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)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Abstract

디바이스들 사이에 통신 경로를 설정하는 방법은 제1 디바이스에서, 데이터를 수신하는 단계 - 데이터는 제1 디바이스로부터 원격의 제2 디바이스에 대한 제1 식별자를 갖는 제1 자원; 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원을 포함함 -; 제1 식별자에 의해 제2 디바이스를 어드레싱하는 단계; 제1 디바이스에서, 제2 식별자에 기초하여 제1 연결 데이터를 생성하는 단계; 제1 디바이스로부터 제2 디바이스로, 제1 연결 데이터를 송신하는 단계; 제1 디바이스에서, 제2 연결 데이터를 수신하는 단계; 제1 디바이스에서, 제2 연결 데이터를 입증하는 단계; 유효 제2 연결 데이터에 응답하여 제1 디바이스와 제2 디바이스 사이에 통신 경로를 설정하는 단계를 포함한다.

Description

디바이스들 사이의 통신들의 인에이블{ENABLING COMMUNICATIONS BETWEEN DEVICES}
본 기술들은 일반적으로 디바이스들 사이의 통신들을 인에이블하는 방법들, 장치들 및 시스템들에 관한 것이다.
"사물 인터넷"의 일부로서 서비스들에 액세스하기 위해 동일한 네트워크 내에서 또는 상이한 네트워크 상에서(예를 들어, 인터넷 상에서) 다른 디바이스들(예를 들어, 엔드포인트 디바이스들, 서버들)과 통신하는 것을 허용하는 처리 및 통신 능력들을 갖는 계속 증가하는 수들의 디바이스들이 집, 다른 빌딩들 또는 실외 환경 내에 있다.
예를 들어, 집 내의 온도 디바이스는 감지된 데이터를 수집하고 감지된 데이터를 원격 서비스(예컨대 클라우드 상에 실행하는 애플리케이션)에 푸시할 수 있다. 그 다음, 온도 디바이스는 수신된 커맨드 데이터를 통해 원격 서비스에 의해 원격 제어될 수 있다. 다른 예들에서, 공장 오염 감시 센서는 다양한 화학 센서들로부터 정보를 수집하고 수집된 정보에 기초하여 유지관리를 준비할 수 있는 반면에; 건강관리 제공자는 환자들이 집에 있을 때 환자들의 건강을 추적하기 위해 무선 센서들, 예컨대 심박수 모니터를 사용할 수 있다.
그러한 디바이스들은 무수한 네트워크들에 사용되며, 그것에 의해 데이터는 머신 투 머신(machine-to-machine)(M2M) 통신 기술들을 사용하여 디바이스들 및/또는 서비스들에 일반적으로 송신된다.
그러한 디바이스들에는 디바이스가 통신할 필요가 있는 서버의 인터넷 프로토콜(internet protocol)(IP) 어드레스를 포함하는 보안 인증서가 프로비저닝된다. 그러나, IP 어드레스들이 (예를 들어, IP 재할당들, 네트워크 제공자 스위칭, 멀티호밍, 또는 로드 밸런싱으로 인해) 변경됨에 따라, 다른 디바이스에 연결하기 위해 IP 어드레스들에 의존하는 디바이스는 갱신된 IP 어드레스들을 갖는 보안 인증서들의 리-프로비저닝(re-provisioning)을 필요로 할 것이다. 이것은 불편할 수 있고, 비용들을 초래할 수 있고 시간이 걸릴 것이다.
본 기술들은 상술한 문제들을 처리하도록 시도한다.
제1 기술에 따르면, 디바이스들 사이에 통신 경로를 설정하는 방법이 제공되며, 방법은 제1 디바이스에서, 데이터를 수신하는 단계 - 데이터는 제1 디바이스로부터 원격의 제2 디바이스에 대한 제1 식별자를 갖는 제1 자원; 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원 -; 제1 식별자에 의해 제2 디바이스를 어드레싱하는 단계; 제1 디바이스에서, 제2 식별자에 기초하여 제1 연결 데이터를 생성하는 단계; 제1 디바이스로부터 제2 디바이스로, 제1 연결 데이터를 송신하는 단계; 제1 디바이스에서 제2 디바이스로부터, 제2 연결 데이터를 수신하는 단계; 제1 디바이스에서, 제2 연결 데이터를 입증하는(validate) 단계; 유효 제2 연결 데이터에 응답하여 제1 디바이스와 제2 디바이스 사이에 통신 경로를 설정하는 단계를 포함한다.
추가 기술에 따르면, 부트스트랩 디바이스에 의해 제1 디바이스 상에 데이터를 프로비저닝하는 방법이 제공되며, 방법은 통신 경로를 부트스트랩 디바이스로부터 제1 디바이스로 설정하는 단계; 부트스트랩 디바이스로부터 제1 디바이스로, 제1 디바이스가 제2 디바이스와 통신 경로를 설정할 수 있는 것에 기초하여 데이터를 송신하는 단계를 포함하며, 데이터는 제1 디바이스가 제2 디바이스를 어드레싱할 수 있는 것에 기초하여 제1 식별자를 갖는 제1 자원; 제1 디바이스가 제2 디바이스에 대한 연결 데이터를 생성할 수 있는 것에 기초하여 제2 식별자를 갖는 제2 자원; 제1 디바이스가 제2 디바이스로부터 연결 데이터를 입증할 수 있는 것에 기초하여 제3 식별자를 갖는 제3 자원을 포함한다.
추가 기술에 따르면, 디바이스가 제공되며, 디바이스는 스토리지 - 스토리지는 원격 디바이스를 식별하는 제1 식별자를 갖는 제1 자원; 원격 디바이스를 식별하는 제2 식별자를 갖는 제2 자원을 저장하도록 구성됨 -; 제2 식별자에 기초하여 제1 연결 데이터를 생성하도록 구성되는 처리 회로; 제1 식별자에 의해 원격 디바이스를 어드레싱하고 제1 연결 데이터를 원격 디바이스에 송신하고 원격 디바이스로부터 제2 연결 데이터를 수신하는 통신 회로를 포함하며; 처리 회로는 제2 연결 데이터를 입증하고 유효 제2 연결 데이터에 응답하여 원격 디바이스와 통신 경로를 설정하도록 더 구성된다.
추가 기술에 따르면, 디바이스 상에 데이터를 프로비저닝하는 장치가 제공되며, 장치는 그것로부터 원격의 하나 이상의 디바이스들에 대한 자원들을 저장하도록 구성되는 스토리지; 제1 디바이스로부터 부트스트랩 요청을 수신하도록 구성되는 통신 회로 - 부트스트랩 요청은 제1 디바이스에 대한 식별자를 포함함 -; 부트스트랩 요청을 처리하고 제1 디바이스에 대한 식별자에 기초하여 제1 디바이스에 송신되는 자원들을 결정하도록 구성되는 처리 회로, 및 자원들을 제1 디바이스에 송신하는 것을 포함하며, 자원들은 제1 디바이스가 제2 디바이스를 어드레싱할 수 있는 제2 디바이스를 식별하는 제1 식별자를 갖는 제1 자원, 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원, 및 제1 디바이스가 제2 디바이스에 대한 연결 데이터를 생성할 수 있는 것에 기초하여 제2 디바이스에 대한 제3 식별자를 갖는 제3 자원 및 제1 디바이스가 제2 디바이스로부터 통신들을 입증할 수 있는 것에 기초하여 제3 식별자를 갖는 제3 자원을 포함한다.
추가 기술에 따르면, 시스템이 제공되며, 시스템은 디바이스; 제1 디바이스; 제1 디바이스가 서비스에 액세스하도록 연결하는 제2 디바이스 상에 데이터를 프로비저닝하는 장치를 포함하며; 장치는 제1 디바이스에 대한 부트스트랩 요청에 응답하여 제1 디바이스 상에 제1 자원, 제2 자원 및 제3 자원을 프로비저닝하도록 구성되고; 제1 디바이스는 제1 식별자에 의해 제2 디바이스를 어드레싱하고; 제2 식별자에 기초하여 제1 연결 데이터를 생성하고; 제2 디바이스에, 제1 연결 데이터를 송신하고; 제2 디바이스로부터, 제2 연결 데이터를 수신하고; 제2 연결 데이터를 입증하고; 유효 제2 연결 데이터에 응답하여 제2 디바이스와 통신 경로를 설정하도록 구성된다.
기술들은 첨부 도면들에서, 예로서, 개략적으로 예시된다.
도 1a는 일 실시예에 따른 하나 이상의 서비스들에 액세스를 필요로 하는 복수의 디바이스들에 대한 전개 시나리오를 도시한다.
도 1b는 일 실시예에 따른 도 1a의 디바이스의 개략도를 도시한다.
도 2a는 일 실시예에 따른 도 1a의 디바이스와 서버 사이의 통신들에 대한 아키텍처를 도시한다.
도 2b는 도 2a의 디바이스에 제공되는 객체들/자원들을 도시한다.
도 3a는 일 예에 따른 도 2a의 디바이스가 서버 및 부트스트랩 서버의 통신 범위에 있는 전개 시나리오를 도시한다.
도 3b는 도 3a의 부트스트랩 서버, 디바이스 및 서버 사이의 통신 시퀀스를 도시한다.
도 4a는 일 실시예에 따른 서버 및 부트스트랩 서버와 통신하는 도 2a의 디바이스를 갖는 시스템을 도시한다.
도 4b는 도 4a의 디바이스 상에 프로비저닝되는 상이한 자원들을 도시한다.
도 4c는 도 4a의 부트스트랩 서버, 디바이스 및 서버 사이의 통신 시퀀스를 도시한다.
도 5는 일 실시예에 따른 서버 및 부트스트랩 서버와 통신하는 도 2a의 디바이스를 갖는 시스템을 도시한다.
도 6은 도 5의 디바이스, 서버 및 부트스트랩 서버 사이의 통신 시퀀스를 도시한다.
도 7은 일 실시예에 따른 제1 디바이스가 제2 디바이스와 보안 통신할 수 있게 하는 일반 단계들의 흐름도를 도시한다.
도 8은 일 실시예에 따른 액세스 환경 플랫폼을 통해 다수의 상이한 서비스들에 액세스하도록 각각 동작가능한 다수의 디바이스들(2a 내지 2n)을 포함하는 시스템을 도시한다.
도 1a는 서버(4)와 통신하는 하나 이상의 서비스들에 액세스를 필요로 하는 복수의 디바이스들(2)에 대한 전개 시나리오(1)를 도시하고, 도 1b는 일 예에 따른 디바이스(2)를 예시한다.
디바이스들(2)은 컴퓨터 단말, 랩톱, 태블릿 또는 이동 전화일 수 있거나, 예를 들어 객체들을 "스마트 객체들" 예컨대 가로등들, 전기 미터들, 온도 센서들 및 빌딩 자동화로 IoT의 일부로서 변화시키기 위해 사용되는 경량 머신 투 머신(lightweight machine to machine)(LWM2M) 디바이스일 수 있고, 디바이스들의 범위는 도 1a의 예시적으로 도시된다. 도 1a에 도시된 디바이스들(2)의 묘사들은 예시적 목적들만을 위한 것이고 도 1a는 그러한 디바이스들의 총망라한 리스트를 도시하지 않는다는 점이 이해될 것이다.
도 1b는 디바이스(2)가 원격 디바이스들 예컨대 서버(4)(도 1a)와 통신하는 통신 회로(7)를 포함하는 것을 개략적으로 도시한다.
통신 회로(7)는 무선 통신, 예컨대 무선 근거리 네트워크(Wi-Fi®)를 사용하는 통신, 단범위 통신 예컨대 무선 주파수 통신(RFID) 또는 근접장 통신(near field communication)(NFC), 또는 무선 기술들 예컨대 ZigBee®, Thread®, Bluetooth®, Bluetooth® LE, 저전력 무선 표준을 통한 IPv6(IPv6 over Low Power Wireless Standard)(6LoWPAN) 또는 제한적 애플리케이션 프로토콜(Constrained Application Protocol)(CoAP)에 사용되는 통신들을 사용할 수 있다. 또한, 통신 회로는 셀룰러 네트워크 예컨대 3G 또는 4G를 사용할 수 있다. 통신 회로는 또한 광섬유 또는 금속 케이블을 사용하는 것과 같이 유선 통신을 사용할 수 있다. 통신 회로는 또한 통신의 2개 이상의 상이한 형태들, 예컨대 조합하여 상기에 주어지는 예들 중 수개를 사용할 수 있다.
디바이스(2)는 디바이스(2)에 의해 수행되는 다양한 처리 동작들, 예컨대 원격 디바이스로부터의 연결 데이터의 입증을 제어하고 원격 디바이스에의 송신을 위해 디바이스(2)에서 연결 데이터를 생성하는 처리 회로(8)를 더 포함한다.
디바이스(2)는 데이터 및 정보를 저장하는 스토리지(9)를 더 포함하며, 그것에 의해 저장 회로(9)는 휘발성 및/또는 휘발성 메모리를 포함할 수 있다.
디바이스(2)는 디바이스가 입력들(예를 들어, 센서 입력들, 측정 입력들 등)을 수신하고 및 또는 출력들(예를 들어, 오디오/시각/제어 커맨드들 등)을 생성할 수 있도록, 입력/출력 회로(10)를 더 포함한다.
서버(4)는 예를 들어 그것이 통신하거나 호스팅하는 서비스(6)에 액세스를 제공하기 위해, 다른 디바이스를 위한 서버 기능성을 제공할 수 있는 임의의 디바이스일 수 있고, 예를 들어 집, 에지 서버, 컴퓨터 단말, 랩톱, 태블릿 또는 이동 전화 내의 게이트웨이 디바이스일 수 있거나, 예를 들어 객체들을 "스마트 객체들"로 변화시키기 위해 사용되는 디바이스일 수 있다.
디바이스들(2)은 예를 들어 (6LoWPAN)을 사용하는 저전력 무선 네트워크와 같은 제1 네트워크를 통해 포함하는 개방 IETF 표준들과 같은 적절한 표준들 또는 프로토콜들을 사용하여 서버(4)와 통신하지만, 임의의 적절한 네트워크가 사용될 수 있다. 중개 디바이스들, 예컨대 게이트웨이 디바이스가 디바이스들(2)과 서버(4) 사이에 위치될 수 있다는 점이 이해될 것이다.
서버(4)는 서비스들(6)과 통신하며, 서비스들은 예를 들어 인터넷 상의 개인 클라우드 또는 공개 클라우드 환경의 일부일 수 있거나 서버 상에 호스팅될 수 있고, 서비스들은 상이한 타입들의 서비스들 예컨대 데이터 저장 & 분석 서비스들, 관리 서비스들 및 애플리케이션 서비스들을 제공할 수 있지만, 이러한 리스트는 총망라하지 않는다.
도 2a는 아키텍처(20)를 예시적으로 도시하며, 아키텍처는 본 예시적 예에서 디바이스(2)와 서버(4) 사이에 보안 통신 경로 또는 채널을 제공하는 LWM2M 아키텍처(20)이고, 서버는 본 예시적 예에서 LWM2M 서버(4)이다.
논리 인터페이스들이 디바이스(2)와 서버(4) 사이에 정의되며, 즉 '부트스트래핑'이 프리-프로비저닝(pre-provisioning)되거나 디바이스/서버가 개시되는 것; 디바이스 및 그것의 객체들을 등록하는 '등록'; 객체(22) 또는 자원(24)에 서버(4) 액세스를 인에이블하는 '객체/자원 액세스'; 및 새로운 자원(24) 값들을 갖는 통지들에 대한 '보고'가 정의된다. 도 2b는 디바이스(2) 상에 제공되는 상이한 객체들(22)을 예시적으로 도시한다.
프로토콜 스택은 전송 프로토콜을 가지며, 전송 프로토콜은 예를 들어 제한적 애플리케이션 프로토콜(CoAP)일 수 있거나 HTTP일 수 있지만, 임의의 적절한 전송 프로토콜이 사용될 수 있다.
LWM2M 아키텍처(20)는 데이터/페이로드들을 위해 디바이스(2)와 서버(4) 사이에 보안 통신들을 제공하는 통신 경로 또는 채널을 설정하기 위해 보안 프로토콜(들)을 사용한다. 보안 프로토콜들은 예를 들어 전송 계층 보안/데이터그램 전송 계층 보안(Transport Layer Security/Datagram Transport Layer Security)(TLS/DTLS)을 포함할 수 있으며, 그것에 의해 TLS/DTLS는 LWM2M 서버(4)와 디바이스(2) 사이에 보안 채널을 제공하기 위해 사용되며, 그것에 의해 TLS/DTLS 보안 모드들은 사전 공유 키 및 공개 키 기술 둘 다를 포함한다. TLS/DTLS에 의해 보호되는 데이터(예를 들어, 애플리케이션 데이터)는 IoT 전개들에서의 사용에 적절한 평문, 이진 TLV, JSON, CBOR, 또는 임의의 다른 데이터 교환 포맷으로 인코딩될 수 있다.
디바이스들(2)이 예를 들어 웹 애플리케이션 서비스(28) 및/또는 디바이스 관리 애플리케이션(30)을 서비스(6)의 일부로서 사용하여, 예를 들어 M2M 애플리케이션 개발자(26)에 의해 원격 관리될 수 있다는 점이 이해될 것이다.
도 2b를 참조하면, 디바이스(2)에 의해 이용가능해지는 각각의 데이터 또는 정보는 자원(24)이며, 그것에 의해 자원(24)은 판독, 기입 또는 실행될 수 있는 데이터이다.
자원들(24)은 객체들(22)로 더 논리적으로 조직된다. 각각의 디바이스(2)는 임의의 수의 자원들(24)을 가질 수 있으며, 그 각각은 객체(22)에 속한다. 각각의 디바이스(2)는 임의의 수의 객체들(22)을 가질 수 있다.
일 예로서, 보안 객체는 디바이스(2)와 서버들(4) 사이에서 보안 통신들을 인에이블하기 위해 사용되는 자원들을 포함한다. 그러한 자원들은 연결 데이터 예컨대 크리덴셜 데이터를 포함할 수 있다. 자원들은 제조 시에(예를 들어, 공장 부트스트래핑 프로세스 동안) 또는 조작자에 의한 등록 프로세스 동안 프로비저닝될 수 있다.
크리덴셜 데이터는 디바이스(예를 들어, 서버) 또는 서비스를 식별하기 위해 인증서들(예를 들어, X.509 인증서들), 신뢰 앵커들, 사전 공유 또는 미가공 공개 키들, 및 식별자들(예를 들어, 직접 또는 간접 식별자들)을 포함할 수 있으며, 그것에 의해 디바이스(2)는 그것에 등록하기 위해 서버 식별자들을 사용한다. 크리덴셜 데이터는 보안 통신 경로를 설정하기 위해 TLS/DTLS 보안 프로토콜에 입력될 수 있다.
신뢰 앵커들은 클라이언트에 프로비저닝되고 따라서 클라이언트들에 의해 신뢰되는 인증서들이다. 이러한 신뢰 앵커들은 전형적으로 인증 기관(certificate authority)(CA) 인증서들이지만 그들은 또한 피닝된 엔드 엔티티 인증서들일 수 있다.
인증서들은 검증 목적들(예를 들어, 식별자 매칭 알고리즘에 따라 원격 디바이스로부터 수신되는 인증서를 검증함)을 위해 사용될 수 있는 식별자의 일부 형태를 필요로 할 수 있다. 일 예로서, 디바이스가 그것을 인증하기 위해 원격 디바이스(예를 들어, 서버)와 상호작용하는 경우, 이때 알고리즘은 2개의 식별자들이 매칭되는 것을 필요로 할 수 있으며, 즉 참조 식별자(디바이스 상에 저장되는 인증서 내의)는 제시된 식별자(원격 자원으로부터 수신됨)와 매칭할 필요가 있다. 인증서 파싱의 상세한 프로세스는 RFC 5280에 설명된다.
식별자가 이름 분석(이하 "간접 식별자")을 필요로 할 때, 이름 분석 서비스, 예컨대 DNS는 대응하는 어드레스를 발견하기 위해 사용될 수 있다. 그러나, 디바이스가 간접 식별자를 처리할 수 없는 경우, 예를 들어 공개 또는 개인 이름 분석 서비스에 대한 액세스 없이 주거 환경에 위치되는 경우, 이때 디바이스는 간접 식별자를 사용하여 다른 디바이스를 위치시킬 수 없을 것이고, 그것과 통신들을 설정할 수 없다.
간접 식별자들은 전체 주소 도메인 이름(fully qualified domain name)(FQDN), 통합 자원 위치자(Uniform Resource Locator)(URL)), 통합 자원 표시자(Uniform Resource Indicator)(URI) 또는 통합 자원 이름(Uniform Resource Name)(URN)을 포함하지만, 이것은 총망라한 리스트는 아니다.
프로비저닝된 식별자가 이름 분석(이하 "직접 식별자") 예컨대 IP 어드레스(예를 들어, IPv4 또는 IPv6 어드레스)를 필요로 하지 않을 때, 디바이스는 직접 식별자를 사용하여 어드레스에 도달할 수 있다.
도 2a에 도시되지 않지만, 디바이스 관리를 위한 추가 객체들은 이하를 포함할 수 있다:
ㆍ펌웨어 갱신 목적들을 위해 사용되는 모든 자원들을 포함하는 펌웨어 객체;
ㆍ서버들(4)과 관련되는 데이터 및 기능들을 정의하는 서버 객체;
ㆍ서버들(4)이 디바이스(2) 상의 각각의 객체(22)에 대해 갖는 액세스 권리들을 수개의 허가된 서버들(4) 각각에 대해 정의하는 액세스 제어 객체;
ㆍ예를 들어, 디바이스 특정 정보와 관련되는 바와 같이, 디바이스(2) 상에 자원들을 열거하는 디바이스 객체 - 그것에 의해 디바이스 객체는 디바이스 정보 예컨대 제조자, 모델, 전력 정보, 자유 메모리 및 에러 정보의 원격 검색을 허용한다. 더욱이, 디바이스 객체는 원격 리부트 또는 공장 리셋의 개시를 위해 자원을 제공하고;
ㆍ디바이스(2)의 현재 위치에 관한 정보를 제공하는 그러한 자원들을 그룹화하는 위치 객체;
ㆍ네트워크 연결의 상태를 감시하는 것을 돕는 디바이스(2) 상의 자원들을 함께 그룹화하는 연결성 객체; 및
ㆍ기존 네트워크 연결에 관한 통계 정보를 유지하는 디바이스(2) 상의 자원들을 함께 그룹화하는 연결 통계 객체.
본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 디바이스(2)에 의해 요구되는 객체들 및 자원들은 예를 들어 장치 예컨대 부트스트랩 서버(32)를 통한 부트스트래핑 프로세스 동안, 또는 '대역 외' 프로세스를 통해 그 위에 프로비저닝될 수 있으며, '대역 외' 프로세스는 디바이스(2) 상에 정보를 프로비저닝하기 위해 비-Wi-Fi 매체를 사용한다. 대역 외(out-of-band) 프로비저닝은 예를 들어 USB 인터페이스로 와이어링될 수 있다. 대안적으로, 대역 외 프로비저닝은 예를 들어 근접장 통신(NFC) 라디오, Bluetooth® 또는 BLE를 사용하는 무선일 수 있다.
도 3a는 일 예에 따라 디바이스(2)가 서버(4) 및 부트스트랩 서버(32)의 통신 범위에 있는 전개 시나리오(33)를 도시하고; 도 3b는 부트스트랩 서버(32), 디바이스(2) 및 서버(4) 사이의 통신 시퀀스를 도시한다. 부트스트랩 서버(32)는 디바이스(2)가 서버(4) 및/또는 다른 디바이스들(도시되지 않음)과 통신하기 위해 사용하는 요구된 객체들 및 자원들을 디바이스(2)에 프로비저닝하기 위해 사용된다.
부트스트랩 서버(32)는 그것이 등록되는 모든 디바이스들의 데이터베이스(34)를 포함할 수 있으며, 데이터베이스(34)는 임의의 특정 디바이스가 가져야 하는 허가들을 열거하고, 다른 디바이스(예를 들어, 엔드포인트 디바이스 또는 서버)가 특정 디바이스와 통신할 때 갖는 허가들을 열거한다.
부트스트랩 서버(32)는 또한 부트스트래핑 프로세스의 일부로서 디바이스들 상에 프로비저닝되는 크리덴셜 데이터(36)를 포함할 수 있다.
도 3a & 도 3b를 참조하면, 디바이스(2)에는 "LWM2M 서버 URI" 자원을 포함하는 보안 객체(38)가 프로비저닝되며(S100), 그것에 의해, 본 예에 대해, 자원은 서버 인증서 식별자로서 서버(2)에 대한 IP 어드레스를 포함하는 서버 인증서이다. 디바이스(2)는 인증서 내의 IP 어드레스를 사용하여 LWM2M 서버(4)와 통신하고 특정 서비스에 액세스를 요청한다(S102). LWM2M 서버(4)는 디바이스(2)가 서비스에 액세스하도록 인가되는 것을 검증하면, 서버 인증서 식별자로서 서버의 IP 어드레스를 포함하는 서버 인증서를 반환한다(S104). 서버(4)는 디바이스(2)가 디바이스의 개인 키(Priv(D))로 설명되는 요청에 서명을 검증하고 그것을 액세스 제어 리스트와 비교함으로써 서비스에 액세스하도록 인가되는 것을 검증한다.
그 다음, 디바이스(2)는 수신된 서버 인증서 식별자 내의 IP 어드레스가 그 위에 프로비저닝되는 서버 인증서 내의 IP 어드레스와 매칭하는 것을 검증함으로써, 수신된 서버 인증서를 입증한다(S106).
각각의 인증서들의 IP 어드레스들이 매칭되는 경우, 이때 디바이스(2)는 디바이스-서버 인증서(도시되지 않음)를 반환하며, 그것에 의해 디바이스-서버 인증서는 디바이스(2) 및 서버(4)에 특정되고, 부트스트랩 프로세스 동안 디바이스(2) 상에 프로비저닝될 수 있다. 디바이스-서버 인증서는 디바이스와 그것이 연결을 설정하도록 시도하는 서버 사이의 관계를 식별한다. 그러한 관계는 인증서 내의 정보, 예컨대 디바이스 및 서버 식별자들, 또는 암호 키들을 사용하여 검증될 수 있다. 예를 들어, 디바이스-서버 인증서는 검증가능 신뢰 앵커를 포함할 수 있다.
본 예시적 예에서, 디바이스-서버 인증서는 서버(2)에 의해 입증될 수 있고, 입증이 성공적일 때 디바이스(2)와 서버(4) 사이에 보안 통신들을 제공하는 통신 경로가 설정되어, 디바이스(2)는 서버(4)와 보안으로 상호작용하고 역도 또한 같다.
그러나, 디바이스(2)가 서버에 도달하기 위해 IP 어드레스들을 사용하여 서버(4)와 보안 통신들을 설정할 수 있지만, 다양한 인증서들 내의 IP 어드레스들이 변경될 수 있고, 디바이스들 상에 갱신된 인증서들을 프로비저닝하는 것은 불편할 수 있어, 비용들을 초래하고 시간이 걸릴 것이다.
유사하게, 디바이스(2)가 서버(2)를 식별하기 위해 간접 식별자(예를 들어, FQDN, URI, URL)를 갖는 인증서를 가졌다면, 그것은 DNS가 IP 어드레스에 대해 간접 식별자를 해결하는 것을 필요로 할 것이거나 서버(4)와 통신을 설정하기 위해 IP 패킷을 구성할 어떠한 방식도 갖지 않을 것이다. 그러나, 일부 네트워크들은 DNS(예를 들어, 개인 네트워크)을 갖지 않을 것이고, 따라서 그러한 네트워크에서 서버(4)를 어드레싱하기 위해 간접 식별자에 의존하는 디바이스는 서버(4)를 어드레싱할 수 없을 것이다.
도 4a는 일 실시예에 따른 서버(4) 및 부트스트랩 서버(32)와 통신하는, 보안 객체(40)를 갖는 디바이스(2)를 포함하는 시스템(41)을 도시하고; 도 4b는 디바이스(2) 상에 프로비저닝되는 객체(40)의 자원들(42, 44, 46)을 도시하고; 도 4c는 시스템(41)의 부트스트랩 서버(32), 디바이스(2) 및 서버(4) 사이의 통신 시퀀스를 도시한다.
도 4a에서, 디바이스(2)는 부트스트랩 서버(32)로부터 보안 객체(40)가 프로비저닝되는 것으로 도시되지만, 보안 객체(40)는 또한 대역 외에 프로비저닝될 수 있다.
본 예에서, 보안 객체(40)는 디바이스(2)가 연결하는 서버에 대한 제1 서버 식별자를 포함하는 제1 자원(42)을 포함한다. 본 예에서, 제1 자원은 인증서(예를 들어, X.509 인증서)를 포함하고, 제1 서버 식별자는 간접 식별자(예를 들어, 전체 주소 도메인 이름(FQDN))를 포함하지만 제1 서버 식별자(42)는 이 점에 있어서 제한되지 않고 직접 식별자를 부가적으로 또는 대안적으로 포함할 수 있다. 제1 서버 식별자는 연관된 이름공간 식별자를 가질 수 있다.
보안 객체(40)는 디바이스(2)가 연결하는 서버에 대한 제2 서버 식별자(44)를 포함하는 제2 자원(44)을 더 포함한다. 제2 서버 식별자(44)는 보안 통신들을 위한 통신 경로를 설정하기 위해 연결 데이터로 사용될 수 있다.
예를 들어, 제2 서버 식별자, 또는 그것의 일부 또는 그것과 연관되는 일부는 아래에 더 상세히 논의되는 바와 같이 TLS/DTLS 핸드셰이크 동안 서버 이름 표시(Server Name Indication)(SNI) 필드에 포함될 수 있다. 본 예에서, 제2 서버 식별자는 간접 식별자(예를 들어, 전체 주소 도메인 이름(FQDN))를 포함하지만 제2 자원(44)는 이 점에 있어서 제한되지 않고 직접 식별자를 부가적으로 또는 대안적으로 포함할 수 있다. 제2 서버 식별자는 연관된 이름공간 식별자를 가질 수 있다.
보안 객체(40)는 제3 자원(46), 이하 "도달가능성 자원"을 포함하며, 이 자원은 디바이스(2)가 연결하는 서버에 대한 하나 이상의 제3 서버 식별자들을 포함한다. 제3 서버 식별자는 임의의 적절한 직접 식별자 예컨대 IPv4, IPv6에서의 IP 어드레스, 미디어 액세스 제어(media access control)(MAC) 어드레스, 단문 메시지 서비스(short message service)(SMS) 어드레스를 포함할 수 있거나 제3 서버 식별자는 간접 식별자를 포함할 수 있다. 제3 서버 식별자는 또한 예를 들어 도달가능성 자원에 포함될 수 있는 상이한 타입들의 식별자들을 구별하기 위해 예를 들어 IPv4, IPv6 어드레스 및 SMS 어드레스(E164 번호일 수 있음)를 구별하기 위해, 연관된 이름공간을 가질 수 있다. 상이한 이름공간들로부터의 식별자들은 하나의 도달가능성 자원 내에 사용될 수 있다. 예를 들어, 하나의 이름공간은 IP 및 SMS 어드레스가 포함되게 할 수 있으며, 그것은 디바이스가 IP 어드레스들을 사용하여 IP를 통해 서버와 보안 통신들을 설정하는 것을 허용하거나 리-프로비저닝되어야 하는 것 없이 SMS를 통해 동일한 서버와 보안 통신들을 설정하는 것을 허용한다.
보안 객체(40)는 추가 자원(48), 이하 "디바이스-서버 자원"을 포함하며, 이 자원은 본 예시적 예에서 디바이스-서버 인증서를 포함한다. 상기와 같이, 디바이스-서버 인증서는 디바이스와 그것이 연결하도록 시도하고 있는 서버 사이의 관계를 식별한다. 그러한 관계는 인증서 내의 정보, 예컨대 디바이스 및 서버 식별자들을 사용하여 검증될 수 있다. 부가적으로 또는 대안적으로, 디바이스-서버 인증서는 인증 경로를 신뢰 당사자에게 제공할 수 있어, 그것을 수신하는 각각의 디바이스들 상의 대응하는 인증서들 또는 키들에 의해 검증될 수 있다.
보안 객체(40)는 디바이스(2)가 연결하는 특정 서버(예를 들어, 서버(서버의 역할을 하는 다른 디바이스를 포함함)/부트스트랩 서버)를 위해 구성된다. 그러나, 디바이스(2)는 그것이 복수의 서버들과 통신할 수 있게 하는 복수의 보안 객체들(40)을 가질 수 있으며, 그것에 의해 디바이스(2)는 서버에 연결하기 위해 적절한 어드레스를 선택한다.
더욱이, 보안 객체가 특정 서버를 위해 구성되지만, 도달가능성 자원은 다수의 IP 어드레스들을 사용하여 어드레싱될 수 있는 서버들(예를 들어, 도 4a의 서버(4)에서의 서버: ipA; 및 서버: ipB에 의해 도시되는 바와 같은 멀티 홈 호스트들)을 어드레싱하기 위해 다수의 서버 식별자들을 포함할 수 있다.
도 4c를 참조하면, 디바이스(2)에는 상기 상세히 설명되는 바와 같이 제1 내지 제4 자원들(42, 44, 46, 48)을 포함하는 보안 객체(40)가 프로비저닝된다(S150).
디바이스(2)는 서버(4)를 어드레싱하기 위해 도달가능성 자원에서 제3 서버 식별자를 사용하고 보안 통신 경로를 설정하기 위해 연결 데이터로서 제2 서버 식별자를 사용하며, 그것에 의해 이하의 예들에서 디바이스(2)는 TLS/DTLS 핸드셰이크를 위한 SNI 필드에, 제2 서버 식별자, 또는 그것의 일부를 포함한다(S152).
보안 객체(40)는 서버와의 임의의 통신들에 사용되는 연결 데이터의 타입 및 포맷을 정의할 수 있다. 예를 들어, TLS/DTLS 핸드셰이크에 대해, 제1 자원 내의 인증서는 디바이스가 SNI 필드를 어떻게 정확히 채워져야 하는지를 정의하는 특정 알고리즘을 지정할 수 있다.
핸드셰이크의 일부로서, 서버(4)는 디바이스(2)에 의해 입증되는 크리덴셜 데이터를 포함하는 연결 데이터를 반환하며(S154), 그것에 의해, 본 예에서, 서버로부터의 크리덴셜 데이터는 서버 인증서를 포함하며, 서버 인증서는 서버 식별자를 갖는다. 서버(4)는 추가 크리덴셜 데이터로서 그것의 개인 키(Priv(S))를 사용하여 인증서를 서명할 수 있다. 서버(4)가 액세스를 복수의 상이한 서비스들에 제공할 수 있지만, 서버(4)가 디바이스(2)로부터 수신되는 SNI 필드에서 데이터에 대응하는 적절한 서버 인증서를 선택한다는 점이 이해될 것이다.
본 예시적 예에서, 서버 인증서(예를 들어, X.509 인증서)는 서버 식별자로서 서버에 대한 FQDN을 포함하지만, 서버 식별자는 FQDN인 것에 제한되지 않는다.
그 다음, 디바이스(2)는 서버(4)로부터 수신되는 연결 데이터를 입증하며(S156), 그것에 의해 본 예시적 예에 대해, 디바이스(2)는 수신된 서버 인증서 내의 서버 식별자가 서버(4)에 송신되는 SNI에 제공되는 제2 서버 식별자와 매칭하는 것을 체크하고, 및/또는 제1 자원(42)의 서버 인증서를 사용하여 서버(4)로부터 수신되는 서버 인증서에 관한 서명을 입증한다.
입증이 실패될 때 예를 들어, 2개의 서버 식별자들이 매칭되지 않기 때문에, 수신된 서버 인증서에 관한 서명은 입증될 수 없거나, 수신된 또는 프로비저닝된 서버 인증서들 중 하나 또는 둘 다가 만료되었기 때문에, 이때 디바이스(2)는 핸드셰이크 절차를 재시작하는 단계를 포함할 수 있는 보안 액션을 취할 수 있다(S152에서와 같음).
부가적으로 또는 대안적으로, 그러한 보안 액션은 디바이스(2)가 통신을 중단하는 것일 수 있으며, 그것에 의해 디바이스(2)는 소유자가 갱신된 보안 객체를 디바이스(2)에게 프로비저닝할 수 있도록 갱신된 자원들을 갖는 갱신된 보안 객체를 요청하거나 상기 또는 임계 수의 통신 시도들이 실패된 디바이스(2)의 등록된 소유자(예를 들어, 등록된 조작자 또는 사용자)를 (예를 들어, 시각 또는 가청 경보를 통해) 경보하기 위해 부트스트랩 서버와 통신할 수 있다.
그러나, 서버(4)로부터 수신되는 연결 데이터의 입증이 성공적일 때, 그것에 의해 본 예시적 예에 대해, 2개의 서버 식별자들이 매핑되면, 이때 디바이스(2)는 핸드셰이크 절차를 계속한다.
본 예시적 예에 대해, 디바이스(2)는 연결 데이터 예컨대 서버(4)에서의 사용에 적절한 인증서를 송신할 수 있으며(S158), 그것에 의해 본 예에서, 디바이스는 그 안의 하나 이상의 디바이스-서버 식별자들에 의해 표시될 수 있는 바와 같이 디바이스(2)와 서버(4) 사이의 사용에 특정한 디바이스-서버 인증서(48)를 송신한다.
서버는 디바이스(2)로부터 수신되는 연결 데이터를 입증할 것이고(S160), 입증이 성공적이면, 이때 보안 통신들은 디바이스가 서비스에 액세스할 수 있도록 디바이스(2)와 서버(4) 사이에 설정될 수 있다(S162).
서버(4)에 의한 입증이 성공적이지 않을 때, 서버(4)는 보안 액션을 수행할 수 있으며, 그것에 의해 그러한 보안 액션은 서버(4)가 핸드셰이크 프로세스를 중단하는 것일 수 있다.
부가적으로 또는 대안적으로, 보안 액션은 서버(4)가 디바이스 상에 프로비저닝되는 갱신된 자원들을 갖는 갱신된 보안 객체(40)를 요청하기 위해, 디바이스의 부트스트랩 서버(32)와 통신하는 것일 수 있다. 부가적으로 또는 대안적으로, 보안 액션은 소유자가 갱신된 보안 객체를 디바이스에 프로비저닝하도록 배열할 수 있도록, 통신 시도(들)가 실패된 디바이스의 등록된 소유자와 (예를 들어, 이메일 또는 SMS를 통해) 서버가 통신하는 것일 수 있다. 소유자 상세들은 디바이스(2)로부터의 연결 데이터, 예를 들어 제1 자원의 인증서에 제공될 수 있다.
일정 시간 기간 후에 또는 이벤트 후에 디바이스 상의 보안 객체(들)를 갱신하는 것이 필요할 수 있다. 예를 들어, 그러한 갱신은 특정 인증서가 만료할 때 또는 보안 객체가 연관되는 서버가 (예를 들어, 대체로 인해) 네트워크로부터 제거될 때 또는 상이한 기술이 디바이스와 서버 사이의 통신을 위해 사용될(예를 들어, IPv4에서 GSM으로 변경될) 때 요구될 수 있다. 그러한 프로비저닝은 서버 개시 부트스트래핑 프로세스에서 부트스트랩 서버(32)를 사용하여 수행될 수 있으며, 그것에 의해 부트스트랩 서버는 갱신된 보안 객체를 프로비저닝하기 위해 필요한 갱신을 인식하고 개별 디바이스와 통신한다. 다른 예들에서, 그러한 프로비저닝은 대역 외에서 수행될 수 있다.
직접 식별자(즉, 도달가능성 자원 내의)를 사용하고 SNI로서 제2 자원 내의 서버 식별자를 사용하여 서버들을 어드레싱함으로써, 서버 또는 디바이스가 이름 분석 능력들을 갖는 어떠한 요건도 없고, 따라서 디바이스와 서버 사이의 보안 통신들은 임의의 이름 분석 인프라스트럭처(예를 들어, DNS)와 독립적으로 설정될 수 있다.
더욱이, 예시적 예들에 설명되는 인증서들이 디바이스와 서버 사이에 직접 신뢰를 제공하지만, 간접 신뢰를 제공하는 인증서들이 또한 사용될 수 있으며, 그것에 의해 인증서들이 일련의 신뢰를 인증 경로를 통해 서버(4)로 디바이스(2)에 의해 신뢰되는 당사자로 또는 디바이스(2)로부터 서버(4)에 의해 신뢰되는 당사자로 제공하며, 그것에 의해 일련의 신뢰가 각각의 디바이스들 상에 제공되는 하나 이상의 공개 키들을 사용하여 검증될 수 있다는 점이 이해될 것이다.
본 예시적 예들이 TLS/DTLS 핸드셰이크를 사용하여 서버(4)에 연결하는 디바이스(2)를 설명하지만, 청구항들은 이 점에 있어서 제한되지 않는다.
더욱이, 본 예시적 예들이 서버(4) 및 부트스트랩 서버(32)를 별개의 디바이스들인 것으로 도시하지만, 청구항들이 이 점에 있어서 제한되지 않고, 서버(4) 및 부트스트랩 서버(32)가 (예를 들어, 클라우드 기반 인프라스트럭처의 일부와 같이) 동일한 디바이스 또는 동일한 서비스의 일부일 수 있다는 점이 이해될 것이다.
도 5a 내지 도 5d는 일 실시예에 따른 제조로부터 서버(4)와의 보안 통신들을 위한 통신 경로를 설정하는 것으로, 시스템(50) 내의 디바이스(2)의 예시적 수명주기를 도시하고; 도 6은 일 실시예에 따른 시스템(50) 내의 디바이스(2), 서버(4) 및 부트스트랩 서버(32) 사이의 통신 시퀀스를 도시한다.
도 5a를 참조하면, 도 5a는 "클라이언트"로 언급되는 디바이스(2)를 도시하지만, 이것은 제한적 용어는 아니다. 디바이스(2)에는 크리덴셜 데이터, 예컨대 암호 키들 및 인증서들이, 공장 부트스트랩 프로세스의 일부로서(예를 들어, 제조시에) 프로비저닝된다. 그러한 크리덴셜 데이터 없이 그것은 다른 디바이스와 신뢰를 설정할 수 없다.
본 예시적 예에서, 디바이스(2)에는 디바이스 개인 암호 키(Priv(C)) 및 디바이스 인증서(Cert(C))가 제공된다. 다른 데이터는 또한 프로비저닝될 수 있지만 도시되지 않는다. 예를 들어, 디바이스(2)에는 도 5b에 도시된 바와 같이 부트스트랩 서버(32)와 보안 통신들을 설정하는 것을 허용하기 위해 연결 데이터, 예컨대 부트스트랩 서버(32)에 대한 부트스트랩 서버 cert(예를 들어, IP 어드레스) 및 SNI 파라미터가 프로비저닝될 수 있으며, 그것에 의해 디바이스는 (예를 들어, 첫번째 파워 업될 때) 부트스트랩 서버를 검색하고 그것과 연결할 수 있다. 그러한 크리덴셜 데이터는 디바이스 상에 공장 부트스트랩의 일부로서 또는 소유자에 의한 구성 또는 등록 프로세스의 일부로서 프로비저닝될 수 있다.
도 5c에 도시된 바와 같이, 부트스트랩 서버(32)는 DTLS를 사용하여 상이한 자원들을 포함하는 보안 객체(40)를 디바이스(2)에 프로비저닝하며, 그것에 의해, 상기와 같이, 보안 객체는 제1 서버 식별자를 갖는 서버 인증서(Cert(S))를 포함하는 제1 자원(42); 제2 서버 식별자를 포함하는 제2 자원(44); 및 제3 서버 식별자를 포함하는 제3 도달가능성 자원(46)을 포함한다.
보안 객체는 또한 디바이스-서버 인증서(Cert(C-S))(48)를 포함하는 디바이스-서버 자원을 포함하고 개인 디바이스-서버 암호 키(Priv(C-S))(56)를 더 포함한다.
자원들은 디바이스(2) 상의 메모리에 저장될 수 있고, 예를 들어 신뢰 앵커 저장소(52)에 저장될 수 있다.
본 예시적 예에서, 서버 인증서(Cert(S))는 신뢰 앵커 저장소(52)에 저장되며, 이 저장소는 디바이스(2) 상의 비휘발성 메모리의 보안 부분을 포함할 수 있고, 그곳에 다른 디바이스들의 크리덴셜 데이터를 입증하기 위해 사용되는 크리덴셜 데이터가 저장된다.
서버(4)는 디바이스-서버 인증서(Cert(C-S))(48)를 입증할 수 있다. 예를 들어, 서버(4)는 디바이스(2)의 조작자로부터 대응하는 키들/인증서들을 (예를 들어, 그것에의 등록 프로세스의 일부로서) 수신할 수 있다. 본 예에서, 서버(4)에 제공되는 그러한 키들/인증서들은 디바이스-서버 인증서(Cert(C-S))(48)에 대한 공개 키를 포함할 수 있다.
도 5d에 도시된 바와 같이, 그리고 도 6을 참조하면, 디바이스(2)는 연결 데이터 'Clienthello + SNI'를 포함하는 제1 통신을 서버에 송신함으로써 TLS/DTLS 핸드셰이크를 개시하며(S200), 그것에 의해 SNI 정보(58)는 디바이스(2) 상의 제2 자원(44) 내의 서버 식별자에 기초하고, 그것에 의해 서버(4)는 도달가능성 자원(46) 내의 서버 식별자를 사용하여 어드레싱된다.
서버(4)는 S200에서 연결 데이터 내의 SNI에 응답하여 적절한 서버 인증서를 선택하고, S202에서, 서버 인증서(Cert(S))(59)의 형태로 연결 데이터를 포함하는 통신을 복귀시키고, 그것에 의해 서버(4)는 연결 데이터에서 추가 크리덴셜 데이터를 제공하기 위해 그것의 개인 키(Priv(S))를 사용하여 통신을 암호 서명한다.
S204에서 연결 데이터를 포함하는 통신을 수신하면, 디바이스(2)는 그 위에 프로비저닝되는 서버 인증서(Cert(S))(42)를 사용하여 서명을 입증함으로써, 그 안에서 크리덴셜 데이터를 입증하며; S200에서 송신되는 SNI 정보를 서버(4)로부터 수신되는 서버 인증서(59)에 포함되는 정보와 매칭시킨다.
입증이 성공적이지 않을 때, 디바이스(2)는 도 4a 내지 도 4c 및 도 7를 참조하여 설명되는 바와 같이 보안 액션을 수행할 수 있다.
디바이스(2)에 의한 입증이 성공적일 때, 디바이스(2)는 TLS/DTLS 핸드셰이크를 진행하고 디바이스-서버 인증서(Cert(C-S))(48)를 포함하는 크리덴셜 데이터를 포함하는 연결 데이터를 포함하는 통신을 서버(4)에 송신하고(S206), 연결 데이터에서 추가 크리덴셜 데이터를 제공하기 위해 그 위에 프로비저닝되는 개인 디바이스-서버 암호 키(Priv(C-S))(56)를 사용하여 통신을 서명할 수 있다.
연결 데이터를 포함하는 통신을 수신하면(S208), 서버(4)는 예를 들어 서명(예를 들어, 그 위에 프로비저닝되는 적절한 키 또는 인증서를 사용하거나 서버(4)의 호스팅 환경에서 액세스가능함)을 입증함으로써 디바이스-서버 인증서(Cert(C-S))(48)를 입증하고;
입증이 성공적이지 않을 때, 서버(4)는 도 4a 내지 도 4c 및 도 7을 참조하여 설명되는 바와 같이 보안 액션을 수행할 수 있다.
서버(4)에 의한 입증이 성공적일 때, 서버(4)는 TLS/DTLS 핸드셰이크를 진행하고, S210에서, 통신을 서버(4)에 송신하고, 그것에 의해 디바이스(2)는 서버(4)와 보안 통신되고 원하는 서비스에 액세스할 수 있으며, 그것에 의해 본 예시적 예에서, 디바이스(2)와 서버(4) 사이의 통신들은 DTLS 하에 보안된다.
도 7은 일 실시예에 따른 제1 디바이스가 제2 디바이스와 보안 통신할 수 있게 하는 일반 단계들의 흐름도를 도시한다. 본 예에서, 제2 디바이스는 서버로 설명되고, 제2 디바이스는 제1 디바이스가 원격 서비스에 액세스하는 것을 허용하기 위해 서버의 기능을 할 수 있는 임의의 디바이스일 수 있다는 점이 이해될 것이다.
도 7에 따르면, 프로세스는 단계(300)에서 시작된다.
단계(301)에서, 디바이스에는 보안 객체가 프로비저닝되며, 보안 객체는 제1 디바이스가 연결하는 서버에 대한 제1 서버 식별자를 포함하는 제1 자원, 제1 디바이스가 연결하는 서버에 대한 제2 서버 식별자를 포함하는 제2 자원 및 제1 디바이스가 연결하는 서버에 대한 제3 서버 식별자를 포함하는 제3 도달가능성 자원을 포함한다. 본 예에서, 제1 및 제2 서버 식별자들은 FQDN들이며, 제3 서버 식별자가 IP 어드레스로 본원에 설명되는 직접 식별자를 포함하지만, 그것은 이에 제한되지 않는다.
단계(302)에서, 제1 디바이스는 서버와의 보안 통신을 개시한다. 본 예에서, 개시하는 단계는 서버를 어드레싱하기 위해 제3 서버 식별자를 사용하고 SNI 필드 내의 SNI로서 제2 서버 식별자를 사용하여, TLS/DTLS 핸드셰이크를 개시한다.
단계(303)에서, 서버는 핸드셰이크의 일부로서 제1 디바이스에 응답하여, 서버 식별자를 갖는 서버 인증서를 포함하는 연결 데이터를 송신하며, 그것에 의해 서버는 제1 디바이스로부터 수신되는 SNI 파라미터에 대응하는 적절한 서버 인증서를 선택한다. 본 예에서, 서버는 적절한 암호 키, 예컨대 그것의 개인 키에 의해 서버 인증서를 서명하며, 그것에 의해 서명은 연결 데이터 내의 추가 크리덴셜 데이터이다.
단계(304)에서, 제1 디바이스는 서버로부터 수신되는 연결 데이터를 입증하며, 그것에 의해 디바이스는 그 안의 서버 식별자가 서버에 송신되는 SNI에서 제공되는 제2 서버 식별자와 매칭하는 것을 체크함으로써, 그리고 다른 체크들을 수행함으로써, 예컨대 인증서가 만료하지 않았던 것을 검증함으로써 수신된 서버 인증서를 입증한다.
단계(305)에서, 서버로부터의 크리덴셜 데이터가 입증될 때, 제1 디바이스는 단계(306)에서 핸드셰이크를 계속하여 그것에 의한 입증을 위해 연결 데이터를 서버에 송신한다. 제1 디바이스 연결 데이터는 그 위에 프로비저닝되는 디바이스-서버 인증서를 (예를 들어, 단계(301)에서 보안 객체의 일부로서) 포함할 수 있다. 제1 디바이스는 또한 디바이스-서버 인증서 또는 통신 자체를 그것의 개인 키(Priv(FD))에 의해 연결 데이터 내의 추가 크리덴셜 데이터로서 서명할 수 있다.
단계(305)에서, 연결 데이터가 입증되지 않을 때, 또는 어떠한 통신도 복귀되지 않으면, 제1 디바이스는 단계(310)에서, 보안 액션을 취하며, 보안 액션은 단계(302)에서와 같이 보안 통신들을 다시 개시하려고 시도할 수 있다.
부가적으로 또는 대안적으로, 그러한 보안 액션은 제1 디바이스가 통신을 중단하는 것일 수 있으며, 그것에 의해 프로세스가 종료된다. 일부 예들에서, 제1 디바이스(2)는 소유자가 갱신된 보안 객체를 제1 디바이스에 프로비저닝하도록 배열할 수 있도록 갱신된 자원들을 갖는 갱신된 보안 객체를 요청하거나 상기 또는 임계 수의 통신 시도들이 실패된 제1 디바이스를 등록된 소유자를 (예를 들어, 시각 또는 가청 경보를 통해) 경보하기 위해 부트스트랩 서버와 통신할 수 있다.
단계(307)에서, 서버는 예를 들어 디바이스-인증서가 그것에 이용가능한 대응하는 인증서와 매칭하는 것을 체크함으로써, 그리고 예를 들어, 수신된 디바이스-서버 인증서의 만료 날짜가 유효한 것을 체크하고 적절한 키를 사용하여 수신된 인증서 또는 통신에 관한 서명을 입증함으로써 제1 디바이스로부터 수신되는 연결 데이터를 입증한다.
단계(308)에서, 크리덴셜 데이터가 입증될 때, 핸드셰이크는 완료될 것이고 단계(309)에서 보안 통신들을 위한 통신 경로는 TLS/DTSL을 사용하여 설정되고 프로세스는 종료된다. 보안 통신 경로가 설정된 경우, 제1 디바이스는 서버를 통해 서비스들에 액세스할 수 있다.
단계(308)에서, 크리덴셜 데이터가 입증되지 않을 때, 서버는 단계(312)에서, 보안 액션을 취한다. 그러한 보안 액션은 서버가 핸드셰이크 프로세스를 중단하는 것일 수 있으며, 그것에 의해 프로세스는 종료된다.
일부 예들에서, 보안 액션은 서버가 디바이스 상에 프로비저닝되는 갱신된 자원들을 갖는 갱신된 보안 객체를 요청하기 위해, 디바이스의 부트스트랩 서버와 통신하는 것일 수 있다. 부가적으로 또는 대안적으로, 보안 액션은 소유자가 갱신된 보안 객체를 제1 디바이스에 프로비저닝하도록 배열할 수 있도록, 통신 시도(들)가 실패된 것을 디바이스의 소유자에게 (예를 들어, 이메일 또는 SMS를 통해) 서버가 통지하는 것일 수 있다. 부가적으로 또는 대안적으로, 특정 디바이스로부터의 연결되기 위한 비성공적 시도들에 대한 시도들의 임계 수가 초과될 때, 서버는 디바이스 블랙리스트에 액세스를 갖는 다른 서버들이 또한 그러한 특정 디바이스로부터의 요청들을 무시할 수 있도록 그러한 특정 디바이스로부터의 연결되기 위한 임의의 추가 요청들을 무시할 수 있고 및/또는 디바이스 블랙리스트를 갱신할 수 있다.
직접 식별자(즉, 도달가능성 자원 내의)를 사용하고 SNI로서 제2 자원 내의 서버 식별자를 사용하여 서버들을 어드레싱함으로써, 서버 또는 디바이스가 이름 분석 능력들을 갖는 어떠한 요구도 없고, 따라서 디바이스와 서버 사이의 보안 통신들은 임의의 이름 분석 인프라스트럭처(예를 들어, DNS)와 독립적으로 설정될 수 있다.
더욱이, 인증서들이 간접 식별자들(예컨대 FQDN들)을 포함함에 따라, 디바이스들은 검증을 위한 정적 IP 어드레스들에 의존하지 않고 있다. 그와 같이, 간접 식별자들을 갖는 인증서들은 직접 식별자들에 의존하는 인증서들과 비교하여 갱신될 감소된 가능성을 갖는다는 점이 이해될 것이다.
도 8은 일 실시예에 따른 액세스 환경 플랫폼을 통해 하나 이상의 서비스들(6)에 액세스하도록 각각 동작가능한 다수의 디바이스들(2a 내지 2n)을 포함하는 시스템(60)을 도시한다.
디바이스들(2a 내지 2n)는 예를 들어 동일한 운영 시스템을 각각 실행하는 IoT 디바이스들일 수 있다. 그러한 디바이스들은 32 비트 ARM® Cortex®-M 마이크로컨트롤러들에 기초할 수 있다.
액세스 환경(61)은 디바이스들(2a 내지 2n)이 서비스들(6)에 액세스할 수 있게 하는 인프라스트럭처를 포함하며, 그것에 의해, 본 예에서, 액세스 환경(61)은 상기 예들에 설명된 바와 같은 상이한 서비스들(6)에 대한 액세스를 디바이스들(2a 내지 2n)에 제공하는 서버들(4), 및 디바이스들(2a 내지 2n)의 원하는 동작을 위한 상이한 객체들 및 자원들을 디바이스들(2a 내지 2n)에 프로비저닝하는 부트스트랩 서버들(32) 둘 다를 포함한다.
디바이스들(2a 내지 2n)가 상이한 부트스트랩 서버들(32)과 통신할 수 있고, 일부 경우들에서 디바이스들(2a 내지 2n)이 (예를 들어, 도 8에서의 2n에 의해 도시된 바와 같이) 하나보다 많은 부트스트랩 서버(32)과 통신할 수 있다는 점이 인지될 것이다.
더욱이, 디바이스들(2a 내지 2n)은 다수의 서버들(4)과 통신할 수 있으며, 그것에 의해, 상기 설명된 바와 같이, 디바이스들에는 각각의 서버(4)에 특정한 보안 객체(도 8에 도시되지 않음)가 프로비저닝될 수 있다.
더욱이, 액세스 환경(61) 내의 각각의 서버(4)는 다수의 서비스들(6)과 통신할 수 있으며, 이 서비스들은 개인 클라우드 또는 공중 클라우드 환경의 일부일 수 있고, 상이한 타입들의 서비스들, 예컨대 데이터 저장 & 분석 서비스들, 관리 서비스들 및 애플리케이션 서비스들을 포함할 수 있지만, 이러한 리스트는 총망라하지 않는다는 점이 이해될 것이다. 액세스 환경 내의 서버들(4) 중 하나 이상은 기업 네트워크 또는 심지어 로컬 네트워크에서와 같이, 디바이스(2)에 국부적일 수 있다는 점이 이해될 것이다. 본 기술들의 실시예들은 또한 프로세서 상에 구현될 때, 프로세서로 하여금 본원에 설명되는 방법들을 수행하게 하는 코드를 운반하는 비일시적 데이터 캐리어를 제공한다.
기술들은 상기 설명된 방법들을 예를 들어 일반 목적 컴퓨터 시스템 또는 디지털 신호 프로세서(digital signal processor)(DSP) 상에 구현하기 위해 프로세서 제어 코드를 더 제공한다. 기술들은 또한 실행할 때, 상기 방법들 중 어느 것을, 특히 비일시적 데이터 캐리어 - 예컨대 디스크, 마이크로프로세서, CD- 또는 DVD-ROM, 프로그래밍된 메모리 예컨대 판독 전용 메모리(펌웨어) 상에, 또는 데이터 캐리어 예컨대 광 또는 전기 신호 캐리어 상에 구현하기 위해 프로세서 제어 코드를 운반하는 캐리어를 제공한다. 코드는 캐리어 예컨대 디스크, 마이크로프로세서, CD- 또는 DVD-ROM, 프로그래밍된 메모리 예컨대 비휘발성 메모리(예를 들어, 플래시) 또는 판독 전용 메모리(펌웨어) 상에 제공될 수 있다. 기술들의 실시예들을 구현하는 코드(및/또는 데이터)는 종래의 프로그래밍 언어로 (해석되거나 컴파일되는) 소스, 객체 또는 실행가능 코드 예컨대 C, 또는 어셈블리 코드, 주문형 집적 회로(Application Specific Integrated Circuit)(ASIC) 또는 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array)(FPGA)를 셋업하거나 제어하는 코드, 또는 하드웨어 서술 언어 예컨대 VerilogTM 또는 초고속 집적 회로 하드웨어 서술 언어(Very high speed integrated circuit Hardware Description Language)(VHDL)를 위한 코드를 포함할 수 있다. 숙련된 자가 이해하는 바와 같이, 그러한 코드 및/또는 데이터는 서로 통신하는 복수의 결합된 구성요소들 사이에 분산될 수 있다. 기술들은 시스템의 구성요소들 중 하나 이상에 결합되는 마이크로프로세서, 작업 메모리 및 프로그램 메모리를 포함하는 컨트롤러를 포함할 수 있다.
상기 설명된 기술들에 대한 동작들을 수행하는 컴퓨터 프로그램 코드는 객체 지향 프로그래밍 언어들 및 종래의 절차 프로그래밍 언어들을 포함하는, 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기입될 수 있다. 코드 구성요소들은 절차들, 방법들 등으로 구체화될 수 있고, 고레벨 컴파일 또는 해석 언어 구성요소들에 설정되는 네이티브 명령어의 직접 머신 명령어들로부터, 추상화의 레벨들 중 어느 것에서 명령어들 또는 명령어들의 시퀀스들의 형태를 취할 수 있는 부구성요소들을 포함할 수 있다.
또한 본 기술들의 바림직한 실시예들에 따른 논리 방법의 전부 또는 일부가 상기 설명된 방법들의 단계들을 수행하기 위해 논리 요소들을 포함하는 로직 장치에 적절히 구체화될 수 있는 것, 및 그러한 로직 요소들이 예를 들어 프로그래밍 로직 어레이 또는 주문형 집적 회로 내의 로직 게이트들과 같은 구성요소들을 포함할 수 있다는 점이 본 기술분야의 통상의 기술자에게 분명할 것이다. 그러한 로직 배열은 예를 들어, 가상 하드웨어 서술자 언어를 사용하여 그러한 어레이 또는 회로에서 로직 구조들을 일시적으로 또는 영구적으로 설정하기 위한 인에이블링 요소들에 더 구체화될 수 있으며, 이 서술자 언어는 고정 또는 송신가능 캐리어 매체들을 사용하여 저장되고 송신될 수 있다.
일 실시예에서, 본 기술들은 기능 데이터를 갖는 데이터 캐리어의 형태로 실현될 수 있으며, 상기 기능 데이터는 컴퓨터 시스템 또는 네트워크로 로딩되고 그것에 의해 동작될 때, 상기 컴퓨터 시스템이 상기 설명된 방법의 모든 단계들을 수행할 수 있게 하기 위해 기능 컴퓨터 데이터 구조들을 포함한다.
본 기술분야의 통상의 기술자들은 상술한 것이 본 기술들을 수행하는 최상의 모드 및 적절한 다른 모드들로 간주되는 것을 설명했지만, 본 기술들이 바림직한 실시예의 이러한 설명에 개시되는 특정 구성들 및 방법들에 제한되지 않아야 하는 것을 이해할 것이다. 본 기술분야의 통상의 기술자들은 본 기술들이 광범위한 응용들을 갖는 것, 및 실시예들이 첨부된 청구항들에 정의된 바와 같은 임의의 발명 개념으로부터 벗어나는 것 없이 광범위한 수정들을 취할 수 있는 것을 인식할 것이다.

Claims (38)

  1. 디바이스들 사이에 통신 경로를 설정하는 방법으로서,
    제1 디바이스에서, 데이터를 수신하는 단계 - 상기 데이터는,
    상기 제1 디바이스로부터 원격의 제2 디바이스에 대한 제1 식별자를 갖는 제1 자원;
    상기 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원을 포함함 -;
    상기 제1 식별자에 의해 상기 제2 디바이스를 어드레싱하는 단계;
    상기 제1 디바이스에서, 상기 제2 식별자에 기초하여 제1 연결 데이터를 생성하는 단계;
    상기 제1 디바이스로부터 상기 제2 디바이스로, 상기 제1 연결 데이터를 송신하는 단계;
    상기 제1 디바이스에서 제2 연결 데이터를 수신하는 단계;
    상기 제1 디바이스에서, 상기 제2 연결 데이터를 입증하는(validate) 단계;
    유효 제2 연결 데이터에 응답하여 상기 제1 디바이스와 상기 제2 디바이스 사이에 통신 경로를 설정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 연결 데이터는 상기 제2 식별자에 기초하여 서버 이름 표시를 포함하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 데이터는 상기 제2 디바이스에 대한 제3 식별자를 갖는 제3 자원을 더 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 데이터는 상기 제1 디바이스와 상기 제2 디바이스 사이의 관계를 식별하는 제4 식별자를 갖는 제4 자원을 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 제2 연결 데이터를 입증하는 것에 응답하여 상기 제1 디바이스로부터 상기 제2 디바이스로 상기 제4 식별자를 송신하는 단계를 더 포함하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 연결 데이터는 상기 제2 디바이스에 대한 제5 식별자를 포함하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제2 연결 데이터는 상기 제2 디바이스의 암호 서명을 더 포함하는 방법.
  8. 제6항 또는 제7항에 있어서, 상기 제2 연결 데이터를 입증하는 단계는,
    상기 제2 식별자가 상기 제5 식별자에 대응하는 것을 검증하는 단계를 포함하는 방법.
  9. 제7항 또는 제8항에 있어서, 상기 제2 연결 데이터를 입증하는 단계는,
    상기 제3 자원을 사용하여 상기 암호 서명을 검증(verify)하는 단계를 포함하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 디바이스로부터 상기 제2 디바이스로, 상기 제1 연결 데이터를 송신하는 단계는 상기 제1 디바이스와 상기 제2 디바이스 사이에 핸드셰이크 시퀀스를 개시하는 방법.
  11. 제10항에 있어서, 상기 핸드셰이크 시퀀스는 TLS/DTLS 핸드셰이크 시퀀스인 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 통신 경로는 TLS/DTLS 하에 보안되는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    무효 제2 연결 데이터에 응답하여 상기 제1 디바이스에서 보안 액션을 수행하는 단계를 더 포함하는 방법.
  14. 제13항에 있어서,
    상기 보안 액션은: 상기 핸드셰이크 절차를 재시작하는 단계; 상기 통신을 중단하는 단계; 하나 이상의 갱신된 자원을 요청하기 위해 부트스트랩 서버와 통신하는 단계; 및 상기 제1 디바이스의 소유자를 경보하는 단계 중 하나 이상을 포함하는 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 제1 디바이스는 IoT(Internet of Things) 디바이스인 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 제2 디바이스는 LWM2M 서버인 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 제1 디바이스에서, 데이터를 수신하는 단계는,
    상기 제1 디바이스에서 부트스트랩 서버로부터, 상기 데이터를 수신하는 단계를 포함하는 방법.
  18. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 제1 디바이스에서 데이터를 수신하는 단계는,
    상기 제1 디바이스에서 대역 외(out-of-band) 프로세스에서, 상기 데이터를 수신하는 단계를 포함하는 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 상기 제1 식별자는 직접 식별자를 포함하는 방법.
  20. 제3항 내지 제19항 중 어느 한 항에 있어서, 상기 제2 식별자 또는 상기 제3 식별자는 간접 식별자를 포함하는 방법.
  21. 제3항 내지 제20항 중 어느 한 항에 있어서, 상기 제3 자원 및 상기 제4 자원 중 하나 또는 둘 다는 그 안에 상기 각각의 자원에 대한 식별자를 포함하는 인증서를 포함하는 방법.
  22. 제4항 내지 제21항 중 어느 한 항에 있어서, 상기 제2 연결 데이터는 그 안에 상기 제5 식별자를 포함하는 인증서를 포함하는 방법.
  23. 부트스트랩 디바이스에 의해 제1 디바이스 상에 데이터를 프로비저닝하는 방법으로서,
    통신 경로를 상기 부트스트랩 디바이스로부터 상기 제1 디바이스로 설정하는 단계;
    상기 부트스트랩 디바이스로부터 상기 제1 디바이스로 데이터를 송신하는 단계
    를 포함하며,
    상기 데이터는
    상기 제1 디바이스로부터 원격의 제2 디바이스에 대한 제1 식별자를 갖는 제1 자원;
    상기 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원;
    상기 제2 디바이스에 대한 제3 식별자를 갖는 제3 자원을 포함하는 방법.
  24. 제23항에 있어서, 상기 데이터는 상기 제1 디바이스와 상기 제2 디바이스 사이의 관계를 식별하는 제4 식별자를 갖는 제4 자원을 더 포함하는 방법.
  25. 제1항 내지 제24항 중 어느 한 항에 있어서, 상기 제1 자원은 각각 상이한 디바이스에 관련된 복수의 식별자를 포함하는 방법.
  26. 프로세서 상에 구현될 때, 상기 프로세서로 하여금 제1항 내지 제25항 중 어느 한 항의 방법을 수행하게 하는 코드를 운반하는 비일시적 데이터 캐리어.
  27. 디바이스로서,
    스토리지 - 상기 스토리지는,
    원격 디바이스를 식별하는 제1 식별자를 갖는 제1 자원;
    상기 원격 디바이스를 식별하는 제2 식별자를 갖는 제2 자원을 저장하도록 구성됨 -;
    상기 제2 식별자에 기초하여 제1 연결 데이터를 생성하도록 구성되는 처리 회로;
    상기 제1 식별자에 의해 상기 원격 디바이스를 어드레싱하고 상기 제1 연결 데이터를 상기 원격 디바이스에 송신하고 상기 원격 디바이스로부터 제2 연결 데이터를 수신하는 통신 회로를 포함하며;
    상기 처리 회로는 상기 제2 연결 데이터를 입증하고 유효 제2 연결 데이터에 응답하여 상기 원격 디바이스와 통신 경로를 설정하도록 더 구성되는
    디바이스.
  28. 디바이스 상에 데이터를 프로비저닝하는 장치로서,
    원격의 하나 이상의 디바이스에 대한 자원들을 저장하도록 구성되는 스토리지;
    제1 디바이스로부터 부트스트랩 요청을 수신하도록 구성되는 통신 회로 - 상기 부트스트랩 요청은 상기 제1 디바이스에 대한 식별자를 포함함 -;
    상기 부트스트랩 요청을 처리하고 상기 제1 디바이스에 대한 상기 식별자에 기초하여 상기 제1 디바이스에 송신되는 자원들을 결정하고, 상기 자원들을 상기 제1 디바이스에 송신하도록 구성되는 처리 회로
    를 포함하고,
    상기 자원들은 상기 제1 디바이스가 통신하는 제2 디바이스를 식별하는 제1 식별자를 갖는 제1 자원, 상기 제2 디바이스에 대한 제2 식별자를 갖는 제2 자원을 포함하는 장치.
  29. 제28항에 있어서, 상기 자원들은 상기 제2 디바이스에 대한 제3 식별자를 갖는 제3 자원을 더 포함하는 장치.
  30. 제29항에 있어서, 상기 자원들은 상기 제1 디바이스와 상기 제2 디바이스 사이의 관계를 식별하는 제4 식별자를 갖는 제4 자원을 더 포함하는 장치.
  31. 제30항에 있어서, LWM2M 부트스트랩 서버를 포함하는 장치.
  32. 시스템으로서,
    제28항 내지 제31항 중 어느 한 항의 디바이스 상에 데이터를 프로비저닝하는 장치;
    제1 디바이스;
    서비스를 액세스하기 위해 상기 제1 디바이스가 연결하는 제2 디바이스
    를 포함하고,
    상기 장치는 상기 제1 디바이스에 대한 부트스트랩 요청에 응답하여 상기 제1 디바이스 상에 상기 제1 자원, 제2 자원 및 제3 자원을 프로비저닝하도록 구성되고,
    상기 제1 디바이스는,
    상기 제1 식별자에 의해 제2 디바이스를 어드레싱하고;
    상기 제2 식별자에 기초하여 제1 연결 데이터를 생성하고;
    상기 제2 디바이스에, 상기 제1 연결 데이터를 송신하고;
    상기 제2 디바이스로부터, 제2 연결 데이터를 수신하고;
    상기 제2 연결 데이터를 입증하고;
    유효 제2 연결 데이터에 응답하여 상기 제2 디바이스와 통신 경로를 설정하도록 구성되는 시스템.
  33. 제32항에 있어서, 상기 제1 디바이스는 상기 제3 연결 데이터를 이용하여 상기 제2 연결 데이터를 입증하도록 더 구성되는 시스템.
  34. 제33항에 있어서, 상기 제1 디바이스는 상기 통신 경로를 설정하기 전에 상기 제2 연결 데이터를 입증하는 것에 응답하여 상기 제2 디바이스에 대한 상기 제4 식별자를 포함하는 제3 연결 데이터를 전송하도록 더 구성되는 시스템.
  35. 제32항 내지 제34항 중 어느 한 항에 있어서, 상기 제2 디바이스는,
    상기 제1 디바이스로부터 상기 제1 연결 데이터를 수신하고,
    유효 제1 연결 데이터에 응답하여 상기 제2 연결 데이터를 상기 제1 디바이스에 전송하도록 구성되고, 상기 제2 연결 데이터는 상기 제2 디바이스에 대한 제5 식별자를 포함하는 시스템.
  36. 제35항에 있어서, 상기 제2 디바이스는 상기 제3 연결 데이터를 입증하고, 유효 제3 연결 데이터에 응답하여 상기 제1 디바이스와의 통신 경로를 설정하도록 더 구성되는 시스템.
  37. 제36항에 있어서, 상기 제2 디바이스는 무효 제1 연결 데이터 또는 제3 연결 데이터에 응답하여 보안 액션을 수행하도록 더 구성되는 시스템.
  38. 제37항에 있어서, 상기 보안 액션은:
    상기 제1 디바이스와의 통신을 중단하는 것; 상기 제1 디바이스에 대한 갱신된 자원들을 요청하기 위해 상기 제1 디바이스와 연관된 부트스트랩 서버와 통신하는 것; 상기 무효 연결 데이터에 대해 상기 제1 디바이스의 소유자를 경보하는 것; 상기 제1 디바이스를 디바이스 블랙리스트에 추가하는 것
    중 하나 이상을 포함하는 시스템.
KR1020170172554A 2016-12-15 2017-12-14 디바이스들 사이의 통신들의 인에이블 KR20180069737A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1621327.4 2016-12-15
GB1621327.4A GB2558205B (en) 2016-12-15 2016-12-15 Enabling communications between devices

Publications (1)

Publication Number Publication Date
KR20180069737A true KR20180069737A (ko) 2018-06-25

Family

ID=58284315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170172554A KR20180069737A (ko) 2016-12-15 2017-12-14 디바이스들 사이의 통신들의 인에이블

Country Status (4)

Country Link
US (1) US11252239B2 (ko)
KR (1) KR20180069737A (ko)
CN (1) CN108235319A (ko)
GB (1) GB2558205B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220104020A1 (en) * 2020-09-25 2022-03-31 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5g roaming spoofing attacks
US20220104112A1 (en) * 2020-09-25 2022-03-31 Oracle International Corporation Methods, systems, and computer readable media for mitigating spoofing attacks on security edge protection proxy (sepp) inter-public land mobile network (inter-plmn) forwarding interface
US11622255B2 (en) 2020-10-21 2023-04-04 Oracle International Corporation Methods, systems, and computer readable media for validating a session management function (SMF) registration request
US11751056B2 (en) 2020-08-31 2023-09-05 Oracle International Corporation Methods, systems, and computer readable media for 5G user equipment (UE) historical mobility tracking and security screening using mobility patterns
US11812271B2 (en) 2020-12-17 2023-11-07 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming attacks for internet of things (IoT) devices based on expected user equipment (UE) behavior patterns

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9935827B2 (en) 2014-09-30 2018-04-03 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10812998B2 (en) * 2017-04-05 2020-10-20 Sensr Monitoring Technologies Llc Sensor and monitoring system
GB2561822B (en) * 2017-04-13 2020-02-19 Arm Ip Ltd Reduced bandwidth handshake communication
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
SE1850155A1 (en) * 2018-02-13 2019-08-14 Fingerprint Cards Ab Registration of data at a sensor reader and request of data at the sensor reader
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) * 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11194610B2 (en) 2019-02-22 2021-12-07 Vmware, Inc. Service rule processing and path selection at the source
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11277331B2 (en) 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US20230114129A1 (en) * 2021-10-08 2023-04-13 Kasten, Inc. Multi-cluster boot-strapping

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0409704D0 (en) * 2004-04-30 2004-06-02 Nokia Corp A method for verifying a first identity and a second identity of an entity
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8527770B2 (en) 2006-07-20 2013-09-03 Research In Motion Limited System and method for provisioning device certificates
EP2709336A1 (en) 2012-09-18 2014-03-19 Thomson Licensing Method and devices for securely accessing a web service
EP3185469B1 (en) 2012-10-30 2018-10-17 LG Electronics Inc. Method and apparatus for authenticating access authority for specific resource in wireless communication system
US10033719B1 (en) * 2012-12-20 2018-07-24 Amazon Technologies, Inc. Mobile work platform for remote data centers
KR102084104B1 (ko) * 2013-07-25 2020-03-03 콘비다 와이어리스, 엘엘씨 종단간 m2m 서비스 계층 세션
GB2518257A (en) * 2013-09-13 2015-03-18 Vodafone Ip Licensing Ltd Methods and systems for operating a secure mobile device
WO2015072899A1 (en) * 2013-11-15 2015-05-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for bootstrapping of resource constrained devices
EP2916573A1 (en) * 2014-03-03 2015-09-09 Gemalto SA Method for accessing a first device and a corresponding server
GB2529838B (en) 2014-09-03 2021-06-30 Advanced Risc Mach Ltd Bootstrap Mechanism For Endpoint Devices
US9445270B1 (en) 2015-12-04 2016-09-13 Samsara Authentication of a gateway device in a sensor network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11751056B2 (en) 2020-08-31 2023-09-05 Oracle International Corporation Methods, systems, and computer readable media for 5G user equipment (UE) historical mobility tracking and security screening using mobility patterns
US20220104020A1 (en) * 2020-09-25 2022-03-31 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5g roaming spoofing attacks
US20220104112A1 (en) * 2020-09-25 2022-03-31 Oracle International Corporation Methods, systems, and computer readable media for mitigating spoofing attacks on security edge protection proxy (sepp) inter-public land mobile network (inter-plmn) forwarding interface
US11825310B2 (en) * 2020-09-25 2023-11-21 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming spoofing attacks
US11832172B2 (en) * 2020-09-25 2023-11-28 Oracle International Corporation Methods, systems, and computer readable media for mitigating spoofing attacks on security edge protection proxy (SEPP) inter-public land mobile network (inter-PLMN) forwarding interface
US11622255B2 (en) 2020-10-21 2023-04-04 Oracle International Corporation Methods, systems, and computer readable media for validating a session management function (SMF) registration request
US11812271B2 (en) 2020-12-17 2023-11-07 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming attacks for internet of things (IoT) devices based on expected user equipment (UE) behavior patterns

Also Published As

Publication number Publication date
GB2558205A (en) 2018-07-11
US20180213040A1 (en) 2018-07-26
CN108235319A (zh) 2018-06-29
GB2558205B (en) 2019-07-03
GB201621327D0 (en) 2017-02-01
US11252239B2 (en) 2022-02-15

Similar Documents

Publication Publication Date Title
US11252239B2 (en) Enabling communications between devices
US11824643B2 (en) Security lifecycle management of devices in a communications network
US10965473B2 (en) Smart object identification in the digital home
US11153754B2 (en) Devices, systems and methods for connecting and authenticating local devices to common gateway device
US10243954B2 (en) Access network assisted bootstrapping
US20200274707A1 (en) Server for and method of secure device registration
GB2581402A (en) Generating trust for devices
US11475134B2 (en) Bootstrapping a device
US11949664B2 (en) Machine to machine communications
US20220200984A1 (en) Provisioning data on a device
US20220052999A1 (en) Bootstrapping with common credential data
US12001853B2 (en) Device bootstrapping
US20200174798A1 (en) Device bootstrapping
WO2024094319A1 (en) First node, second node, third node, fourth node and methods performed thereby for handling registration of the second node

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application