KR101741967B1 - 에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법 - Google Patents

에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법 Download PDF

Info

Publication number
KR101741967B1
KR101741967B1 KR1020167012752A KR20167012752A KR101741967B1 KR 101741967 B1 KR101741967 B1 KR 101741967B1 KR 1020167012752 A KR1020167012752 A KR 1020167012752A KR 20167012752 A KR20167012752 A KR 20167012752A KR 101741967 B1 KR101741967 B1 KR 101741967B1
Authority
KR
South Korea
Prior art keywords
registry
agent
devices
agent device
authentication information
Prior art date
Application number
KR1020167012752A
Other languages
English (en)
Other versions
KR20160071456A (ko
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
Priority claimed from US14/056,459 external-priority patent/US9307405B2/en
Priority claimed from US14/056,468 external-priority patent/US9860235B2/en
Priority claimed from US14/056,423 external-priority patent/US10069811B2/en
Application filed by 에이알엠 아이피 리미티드 filed Critical 에이알엠 아이피 리미티드
Publication of KR20160071456A publication Critical patent/KR20160071456A/ko
Application granted granted Critical
Publication of KR101741967B1 publication Critical patent/KR101741967B1/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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]
    • 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/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/003
    • H04W4/005
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • 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
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

에이전트 디바이스(4)가, 애플리케이션 제공 장치들과 통신하기 위한 에이전트 디바이스들(4)을 인증하기 위한 제1 레지스트리 장치(8)에 의해 유지되는 제1 디바이스 레지스트리에 등록된다. 에이전트 디바이스(4)는 제2 레지스트리 장치(80)에 의해 유지되는 제2 디바이스 레지스트리에 할당될 수 있다. 할당 방법은, 제1 레지스트리 장치(8)가 요청자 디바이스로부터 디바이스 할당 요청을 수신하는 단계(250)를 포함한다. 디바이스 할당 요청에 응답하여, 제1 레지스트리 장치(8)는, 에이전트 디바이스(4)가 제2 디바이스 레지스트리(80)에 할당되는 것이 허용되어 있는지를 체크하고, 만일 그렇다면, 에이전트 디바이스(4)는, 에이전트 디바이스(4)의 신원을 인증하기 위한 제2 인증 정보를, 이 제2 인증 정보를 제2 디바이스 레지스트리에 등록하는 제2 레지스트리 장치(80)에 전송한다(290).

Description

에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법{METHOD FOR ASSIGNING AN AGENT DEVICE FROM A FIRST DEVICE REGISTRY TO A SECOND DEVICE REGISTRY}
본 발명은 데이터 처리 분야에 관한 것이다. 더 구체적으로는, 본 발명은 에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하는 방법에 관한 것이다.
가정, 기타의 건물 또는 실외 환경 내에는, 다른 처리 디바이스와 상호작용하는 것을 허용하는 처리 및 통신 능력을 갖는 지속적으로 증가하는 수의 디바이스들이 있다. 매일 객체들과 비교적 소형 처리 디바이스들은 서로 및 중앙 플랫폼에 "사물 인터넷"의 일부로서 접속될 수 있다. 예를 들어, 가정 내의 스프링클러 시스템은 다양한 습도 센서로부터 정보를 수집하여 습도 정보에 기초해 스플링클러의 작동을 제어할 수 있다. 또한, 헬스케어 제공자는 집에 있는 환자의 건강을 추적하기 위해 무선 센서(예를 들어, 심박수 모니터 또는 환자가 처방된 약물을 복용하고 있는지를 모니터링하기 위한 센서)를 이용할 수 있다.
따라서, 다양한 응용에서, 하나 이상의 에이전트 디바이스와 상호작용하는 중앙 애플리케이션 제공 장치가 있을 수 있으며, 하나 이상의 에이전트 디바이스는 애플리케이션 제공 장치에 데이터를 제공하고 및/또는 애플리케이션 제공 장치에 의해 제어된다. 에이전트 디바이스들은, 복잡성, 처리 자원, 하드웨어 및 목적의 관점에서 상당히 상이할 수 있다. 에이전트 디바이스와 애플리케이션 제공 장치 사이에 신뢰를 제공하여 애플리케이션 제공자가 에이전트 디바이스로부터 수신된 데이터의 유효성을 신뢰할 수 있고 에이전트 디바이스가 애플리케이션 제공 장치로부터 수신된 임의의 명령을 신뢰할 수 있게 하는 것이 중요할 수 있다. 그러나, 사물 인터넷 내의 많은 에이전트 디바이스들은 처리 능력이 거의 없기 때문에, 애플리케이션 제공 장치와의 신뢰된 관계를 확립하기 위해 에이전트 디바이스에 자원을 제공하는 것은 어려울 수 있고 에이전트 디바이스의 비용을 상당히 증가시킬 수 있다. 이러한 에이전트 디바이스의 급속하고 광범위한 배치는 설치를 가능한 한 신속하고 효율적이게 하고자 하는 바람이 있다는 것을 의미한다.
제1 양태로부터 볼 때, 본 발명은, 하나 이상의 제1 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리에 등록되어 있는 에이전트 디바이스를, 하나 이상의 제2 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제2 레지스트리 장치에 의해 유지되는 제2 디바이스 레지스트리로 할당하기 위한 방법을 제공하고, 여기서, 제1 디바이스 레지스트리는 에이전트 디바이스의 신원을 인증하기 위한 제1 인증 정보를 포함하며, 이 방법은 하기 단계들을 포함한다:
(a) 제1 레지스트리 장치가, 에이전트 디바이스가 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 요청자 디바이스로부터 수신하는 단계;
(b) 디바이스 할당 요청에 응답하여, 제1 레지스트리 장치가, 에이전트 디바이스가 요청자 디바이스로부터의 디바이스 할당 요청에 응답하여 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계;
(c) 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 에이전트 디바이스가 제2 레지스트리 장치에 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 전송하는 단계; 및
(d) 제2 레지스트리 장치가 에이전트 디바이스에 대한 제2 인증 정보를 제2 디바이스 레지스트리에 등록하는 단계.
레지스트리 장치는, 에이전트 디바이스와 애플리케이션 제공 장치 사이의 신뢰된 관계를 관리하기 위해 제공될 수 있다. 예를 들어, 레지스트리 장치는 에이전트 디바이스에 대한 인증 정보를 저장할 수 있고 인증 정보를 이용하여 에이전트 디바이스의 인증을 관리할 수 있다. 레지스트리는 또한, 예를 들어, 에이전트 디바이스와 애플리케이션 제공 장치 사이에 신뢰된 통신을 확립하기 위한 애플리케이션 키를 제공하는 등의 태스크를 수행할 수 있다. 이런 방식으로 레지스트리 장치를 이용하는 것은, 상이한 제조사 또는 제공자들에 의해 제공되는 에이전트 디바이스와 애플리케이션 제공 장치가 서로 신뢰하여 이들이 동일한 제조사로부터의 장치들과 통신하는 것으로 제약되지 않도록 허용하는 등의 수 개의 이점을 제공할 수 있다. 또한, 레지스트리를 이용하여 인증을 조율하고 신뢰된 통신을 확립하는 것은 에이전트 디바이스가 애플리케이션 제공 장치와 신뢰를 확립할 것을 책임질 필요가 없기 때문에 에이전트 디바이스의 자원을 간소화할 수 있다.
본 기술은, 상이한 레지스트리 장치들에 의해 유지되는 하나보다 많은 디바이스 레지스트리를 제공하는 것이 유용할 수 있다는 것을 인식한다. 예를 들어, 정부 등의 조직에 의해 개인 레지스트리가 운영되어, 공개 레지스트리에 등록되어 있는 다른 에이전트 디바이스들과는 별개로 그 에이전트 디바이스들과의 통신을 보안 관리할 수 있게 한다. 상이한 애플리케이션 제공 장치들이 상이한 레지스트리들과 유사하게 연관될 수 있다. 특정한 센서가 통신할 수 있는 애플리케이션 제공자들의 범위를 확장, 변경 또는 제약하기 위해, 하나의 디바이스 레지스트리에 등록된 디바이스가 제2 디바이스 레지스트리에 할당되는 것을 허용하는 것이 유용할 수 있다. 그러나, 에이전트 디바이스에 대한 신뢰를 유지하기 위해, 이것을 보안상태로 행하는 것이 중요할 수 있다. 디바이스 할당 요청이 에이전트 디바이스의 등록을 현재 보유하고 있는 제1 레지스트리 장치에 전송되어, 제1 레지스트리 장치를 트리거해 에이전트 디바이스가 디바이스 할당 요청에 응답하여 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하도록 요구함으로써, 보안 할당 프로시져가 달성될 수 있다.
제1 레지스트리 장치는 에이전트 디바이스의 신원을 인증하기 위한 제1 인증 정보를 유지할 수 있다. 디바이스가 제2 디바이스 레지스트리에 할당되면, 디바이스는 디바이스 레지스트리에 등록하기 위해 제2 인증 정보를 제2 레지스트리 장치에 전송한다. 일부 예에서, 제2 인증 정보는 제1 인증 정보와 동일하여, 제2 레지스트리가 제1 레지스트리에서 원래 등록되었던 것과 정확히 동일한 정보를 수신하게 할 수 있다. 예를 들어, 에이전트 디바이스는 새로운 인증 정보를 생성하는 어떠한 능력도 가지 않을 수 있으므로 단순히 제2 레지스트리에 그 원래의 인증 정보를 전송할 수도 있다. 이 경우, 할당에 이어, 에이전트 디바이스는 예를 들어 제1 레지스트리와 제2 레지스트리 양쪽 모두에 등록될 수 있고 동일한 인증 정보를 이용하여 어느 한 레지스트리에 의해 인증될 수 있다. 이것은, 에이전트 디바이스가 신뢰된 통신에 진입할 수 있는 애플리케이션 제공 장치의 범위를 확장시키는데 유용할 수 있다.
다른 예에서, 제2 인증 정보는 제1 인증 정보와 상이할 수 있다. 예를 들어, 에이전트 디바이스는 제2 인증 정보를 생성하기 위한 인증 정보 생성 회로를 가질 수 있으므로, 제2 레지스트리로의 할당시에 새로운 인증 정보가 생성된다. 예를 들어, 제2 인증 정보는 그 신원을 확인하기 위한 에이전트 디바이스로부터의 메시지를 암호화하기 위한 새로운 키일 수 있다. 이것은, 에이전트 디바이스가 새로운 신뢰된 암호 신원을 제공받아 일단 제2 레지스트리로 이전되고 나면 더 이상 제1 레지스트리에 의해 인증될 수 없게 하는 것을 허용한다.
에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다고 판정한 후에, 제1 레지스트리 장치는 제1 디바이스 레지스트리로부터 에이전트 디바이스에 대한 제1 인증 정보를 삭제하여, 에이전트 디바이스가 제1 레지스트리에 의해 더 이상 인증될 수 없게 보장할 수 있다. 대안으로서, 에이전트 디바이스는 그 인증 정보를 재생성하고 제1 인증 정보에 대응하는 어떠한 인증 정보도 더 이상 보유하지 않을 수도 있다. 이 경우, 어쨌든 에이전트 디바이스는 제1 인증 정보를 이용하여 더 이상 인증될 수 없기 때문에 제1 레지스트리 장치가 제1 인증 정보를 삭제하는 것은 필수적이지 않을 수 있다.
한 예에서, 제1 인증 정보는 에이전트 디바이스에 의해 보유되는 대응하는 키와 동일한 대칭 키를 포함할 수 있고, 제2 인증 정보는 유사하게 에이전트 디바이스 내의 대응하는 키에 대응하는 대칭 키를 포함할 수 있다(제2 인증 정보는 앞서 논의된 바와 같이 제1 인증 정보와 동일하거나 상이할 수 있다). 그러나, 에이전트 디바이스가 개인 키를 보유하고 제1 또는 제2 인증 정보가 에이전트 디바이스에 의해 보유되는 개인 키에 대응하는 공개 키를 포함하는 실시예들에 의해 추가적인 보안이 달성될 수 있다. 이들 실시예에서, 키들의 비대칭 성질은, 에이전트 디바이스만이 개인 키에 액세스할 수 있고 레지스트리에 의해 유지되는 공개 키는 다른 디바이스에 노출되더라도 에이전트 디바이스에 의해 유지되는 개인 키를 노출시키지 않는다는 것을 의미한다.
예를 들어, 에이전트 디바이스는 원래 제1 개인 키를 보유할 수 있고 대응하는 제1 공개 키는 제1 레지스트리에 등록될 수 있다. 제2 레지스트리에 할당되면, 에이전트 디바이스는 제2 개인 키와 제2 공개 키를 포함하는 새로운 키 쌍을 생성하고, 제2 개인 키를 유지하며, 제2 공개 키를 제2 레지스트리에 등록하기 위해 제2 레지스트리 장치에 전송할 수 있다. 에이전트 디바이스가 제2 인증 정보를 제2 레지스트리 장치에 전송한 이후에 제1 개인 키를 삭제한다면, 할당 이후에, 제1 공개 키를 이용하여 확인될 수 있는 대응하는 제1 개인 키가 더 이상 존재하지 않으므로 제1 레지스트리 장치에 의해 유지된 제1 공개 키는 쓸모없게 된다. 이 경우, 보안 관점에서, 제1 레지스트리 장치가 제1 디바이스 레지스트리로부터 제1 공개 키를 삭제하는 것은 필수적이 않지만, 제1 레지스트리 장치의 저장 용량을 절감하기 위해 여전히 에이전트 디바이스에 대한 레지스트리 엔트리를 삭제할 수도 있다.
제2 공개 키를 제2 레지스트리 장치에 전송할 때, 에이전트 디바이스는 공개 키를 포함하는 디지털 인증서를 전송할 수 있고 제2 레지스트리 장치는 디지털 인증서에 서명할 수 있다. 따라서, 제2 레지스트리 장치는 공개 키가 실제로 에이전트 디바이스로부터 나온 것인지를 확인하는 공개 키를 포함하는 디지털 인증서에 대한 인증 기관으로서 효과적으로 역할할 수 있다. 예를 들어, X.509 인증서가 디지털 인증서로서 이용될 수 있다.
에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다고 제1 레지스트리 장치가 판정한다면, 제2 레지스트리 장치에 제2 인증 정보를 전송하도록 에이전트 디바이스가 트리거될 수 있는 다양한 방식이 존재할 수 있다. 제1 레지스트리 장치는 디바이스 그 자신에게 상이한 레지스트리에 할당된 것이라는 것을 통보하고, 그러면, 디바이스는 제2 인증 정보를 제2 레지스트리 장치에 전송함으로써 응답할 수 있다. 또한, 제1 레지스트리 장치는 제2 디바이스 레지스트리 또는 디바이스 할당 요청을 발생한 요청자 디바이스 등의 또 다른 디바이스에 할당이 승인되었다는 것을 통보할 수 있고, 그러면, 이 디바이스는 제2 인증 정보를 전송하도록 에이전트 디바이스를 트리거할 수 있다.
에이전트 디바이스 또는 제1 레지스트리 장치 중 어느 하나에 의한 인증 정보의 생성이나 삭제는 원자 동작(atomic operation)으로서 수행될 수 있다. 이것은, 키의 생성이나 삭제는 전체로서의 그 동작이 완전히 성공적이거나 완전히 실패하도록 진행되어야 하므로, 원자 동작을 부분적으로 수행하는 것은 가능하지 않다는 것을 의미한다. 이것은 성공하거나 실패하지만 부분적으로 성공할 수는 없는 데이터베이스에서의 원자 트랜잭션과 유사하다. 키 정보 또는 기타의 인증 정보의 재생성을 원자 동작으로서 수행함으로써, 이것은, 에이전트 디바이스가 제1 레지스트리 또는 제2 레지스트리와의 그 신원을 확인하기 위한 적절한 인증 정보를 항상 가질 것이라는 것을 보장하므로, 에이전트 디바이스의 신원을 확인하는 능력의 소실로 이어질 수 있는 인증 정보가 없거나 무효한 인증 정보로 끝나는 것이 가능하지 않다. 원자 동작은, 예를 들어 키 정보의 생성이나 삭제가 시작하기 이전에 원래의 인증 정보의 백업을 취한 다음, 원자 동작이 완료되기 이전에 어떤 문제가 발생한다면 백업을 복원함으로써 시행될 수 있다.
일부 경우에, 디바이스 할당 요청을 행하는 요청자 디바이스는 제1 레지스트리 및 제2 레지스트리와는 분리된 제3자 디바이스일 수도 있다. 예를 들어, 그 자신의 개인 레지스트리를 제2 디바이스 레지스트리로서 갖는 스마트 접속된 도시의 정황에서, 도시 관리자에 의해 운영되는 플랫폼 등의, 도시 내의 또 다른 디바이스는 디바이스가 제2 레지스트리에 할당될 것을 요청하는 할당 요청을 행할 수 있다.
다른 예에서, 요청된 디바이스는 제2 레지스트리 장치 자체를 포함하여, 제2 레지스트리 장치가 제1 레지스트리 장치에서 디바이스 할당 요청을 행하여 디바이스가 동일한 바로 그 장치에 의해 보유된 제2 레지스트리에 할당될 것을 요청하게 한다.
제1 레지스트리 장치는 에이전트 디바이스가 상이한 방식들로 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크할 수 있다. 한 예에서, 제1 레지스트리 장치는 요청자 디바이스를 인증하여 그 요청자 디바이스가 신뢰된 것이고 또 다른 레지스트리로의 에이전트 디바이스의 할당을 요청하는 것이 허용되어 있는지를 확인할 수 있다. 예를 들어, 제1 레지스트리 장치는 요청된 디바이스와 메시지를 교환하여 요청자 디바이스의 신원을 확인할 수 있다. 대안으로서, 제1 레지스트리 장치는 어떤 요청된 디바이스를 이미 인증했을 수 있고 단순히 요청된 디바이스가 이미 인증되었는지를 체크하기만 할 수도 있다. 따라서, 디바이스 할당 요청을 수신할 때에 인증을 실제로 수행하는 것이 필요하지 않다.
또한, 모든 에이전트 디바이스들이 상이한 레지스트리로의 할당을 지원하지는 않을 수도 있다. 예를 들어, 보안상의 이유로 일부 에이전트 디바이스는 단일의 레지스트리에 등록되는 것으로 제약될 수도 있다. 또한, 일부 에이전트 디바이스는 키 생성을 지원하지 않아 상이한 레지스트리에 이전되는 것이 허용되지 않아서 단 하나의 레지스트리만이 그 에이전트 디바이스를 인증하는 인증서를 가지게 할 수도 있다. 다른 에이전트 디바이스들은 보안이 덜 중요해서 키 생성 능력을 갖지 않더라도 동일한 인증 정보를 양쪽 레지스트리에 제공함으로써 상이한 레지스트리로의 할당이 여전히 허용될 수도 있다. 따라서, 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 것은 또한, 에이전트 디바이스가 제2 디바이스 레지스트리로의 할당을 실제로 지원하는지를 체크하는 것을 포함할 수 있다. 예를 들어, 제1 레지스트리는, 디바이스가 상이한 레지스트리에 할당되는 것이 허용되어 있는지를 나타내는 메타데이터를 각각의 신뢰된 디바이스에 대해 포함할 수 있다.
체크하는 것은 또한 다른 동작을 포함할 수도 있다. 예를 들어, 상이한 타겟 디바이스 레지스트리들에 대응하는 동일한 에이전트 디바이스에 대한 복수의 요청이 수신된다면, 디바이스가 어느 레지스트리에 할당되어야 하는지를 판정하기 위해 각각의 타겟 레지스트리와 연관된 어떤 우선순위의 체크가 존재할 수 있다. 체크하는 것은 또한, 전술된 상이한 종류의 체크들 모두의 혼합을 포함할 수 있다.
에이전트 디바이스는 그 등록을 현재 보유하고 있는 레지스트리 장치의 주소를 저장할 수 있다. 주소는, 예를 들어, URL(uniform resource locator), IP 주소(internet protocol address) 등의, 에이전트 디바이스가 레지스트리 장치와 연락하는 것을 허용하는 임의의 정보일 수 있다. 할당 동안에, 제1 레지스트리 장치, 제2 레지스트리 장치 또는 요청자 디바이스는 에이전트 디바이스에 제2 레지스트리 장치의 주소를 전송할 수 있고, 그러면, 에이전트 디바이스는 후속해서 제2 레지스트리 장치와 통신할 수 있도록 그 저장된 주소의 사본을 업데이트할 수 있다. 따라서, 할당 프로세스는 레지스트리와 연락하기 위한 연락 정보를 업데이트하는 것을 포함할 수 있다.
제2 디바이스 레지스트리로의 에이전트 디바이스의 할당에 이어, 에이전트 디바이스의 등록을 제1 디바이스 레지스트리 반환하는 것이 나중에 바람직할 수 있다. 따라서, 제1 레지스트리 장치는 (제2 레지스트리 장치나 또 다른 요청 디바이스로부터) 리셋 요청을 수신할 수 있다. 리셋 요청에 응답하여, 제1 레지스트리 장치는, 에이전트 디바이스가 제1 디바이스 레지스트리에 재할당되는 것이 허용되어 있는지를 체크할 수 있고, 만일 그렇다면, 에이전트 디바이스는 제3 인증 정보를 제1 디바이스 레지스트리에 등록하기 위해 제1 레지스트리 장치에 전송하도록 트리거될 수 있다. 제3 인증 정보는, 제1 또는 제2 인증 정보와 동일하거나 새로이 생성된 인증 정보일 수 있다. 따라서, 제2 디바이스 레지스트리가 디바이스를 등록하기를 더 이상 원치 않는다면, 그 원래의 레지스트리에 반환할 수 있다.
제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로의 에이전트 디바이스의 할당은 에이전트 디바이스의 사용자로부터의 어떠한 개입도 없이 실행될 수도 있다. 디바이스의 제2 레지스트리로의 할당을 조율하기 위한 임의의 사용자 인터페이스가 에이전트 디바이스에 제공될 필요가 없다. 대신에, 제1 레지스트리 장치, 제2 레지스트리 장치 및/또는 요청자 디바이스는, 사용자의 관여없이 에이전트 디바이스로부터의 제2 인증 정보의 전송을 제어할 수 있다. 사용자는 자신의 디바이스가 상이한 레지스트리에 이전되는 것을 알 필요조차 없다.
또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치를 제공하며, 이 레지스트리 장치는 다음을 포함한다:
에이전트 디바이스들의 제1 디바이스 레지스트리 ―제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하도록 구성된 저장 회로;
요청자 디바이스로부터, 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하도록 구성된 통신 회로; 및
디바이스 할당 요청에 응답하여 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하고, 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 명시된 에이전트 디바이스, 요청자 디바이스 및 제2 레지스트리 장치 중 적어도 하나에게 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하게끔 통신 회로를 제어하도록 구성된 처리 회로.
따라서, 특정한 에이전트 디바이스에 대한 등록을 현재 보유하고 있는 제1 레지스트리 장치는 디바이스 할당 요청을 수신하고 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크한 다음, 할당을 실행하도록, 에이전트 디바이스, 요청자 디바이스, 및 제2 레지스트리 장치 중 적어도 하나를 트리거할 수 있다.
추가적인 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치를 제공하며, 이 레지스트리 장치는 다음을 포함한다:
에이전트 디바이스들의 제1 디바이스 레지스트리 ―제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하기 위한 저장 수단;
요청자 디바이스로부터, 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하기 위한 통신 수단;
디바이스 할당 요청에 응답하여 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하고, 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 명시된 에이전트 디바이스, 요청자 디바이스 및 제2 레지스트리 장치 중 적어도 하나에게 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하게끔 통신 수단을 제어하기 위한 처리 수단.
또 다른 양태로부터, 본 발명은 제1 레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들의 제1 디바이스 레지스트리를 유지하기 위한 방법을 제공하며, 여기서, 제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함하고, 이 방법은 하기 단계들을 포함한다:
요청자 디바이스로부터, 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하는 단계;
디바이스 할당 요청에 응답하여 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계; 및
명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 명시된 에이전트 디바이스, 요청자 디바이스, 및 제2 레지스트리 장치 중 적어도 하나에게 명시된 에이전트 디바이스가 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하는 단계.
역시 또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치를 제공하며, 이 레지스트리 장치는 다음을 포함한다:
에이전트 디바이스들의 제1 디바이스 레지스트리 ―제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하도록 구성된 저장 회로;
에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―할당 요청은 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하도록 구성된 통신 회로; 및
명시된 에이전트 디바이스의 신원을 인증하기 위한 명시된 에이전트 디바이스로부터 수신된 인증 정보를 제1 디바이스 레지스트리에 등록하도록 구성된 처리 회로.
따라서, 에이전트 디바이스에 대한 등록을 현재 유지하고 있지 않은 레지스트리 장치는 에이전트 디바이스가 그 자신의 레지스트리에 이전될 것을 요청할 수 있다. 인증 정보가 에이전트 디바이스로부터 수신되면, 이것은 에이전트 디바이스의 미래의 인증을 위해 디바이스 레지스트리에 등록된다.
또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치를 제공하며, 이 레지스트리 장치는 다음을 포함한다:
에이전트 디바이스들의 제1 디바이스 레지스트리 ―제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하기 위한 저장 수단;
에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―할당 요청은 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하기 위한 통신 회로; 및
명시된 에이전트 디바이스의 신원을 인증하기 위한 명시된 에이전트 디바이스로부터 수신된 인증 정보를 제1 디바이스 레지스트리에 등록하기 위한 처리 수단.
또 다른 양태로부터, 본 발명은 레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들의 제1 디바이스 레지스트리를 유지하기 위한 방법을 제공하며, 여기서, 제1 디바이스 레지스트리는 에이전트 디바이스들의 신원을 인증하기 위한 인증 정보를 포함하고, 이 방법은 하기 단계들을 포함한다:
에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―할당 요청은 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하는 단계;
명시된 에이전트 디바이스로부터 인증 정보를 수신하는 단계; 및
명시된 에이전트 디바이스로부터 수신된 인증 정보를 제1 디바이스 레지스트리에 등록하는 단계.
추가적인 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스를 제공하며, 이 에이전트 디바이스는 다음을 포함한다:
제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 제1 레지스트리 장치와의 인증을 수행하도록 구성된 처리 회로;
에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청에 응답하여, 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하도록 구성된 인증 정보 생성 회로; 및
인증 정보 생성 회로에 의해 생성된 제2 인증 정보를 제2 디바이스 레지스트리에 등록하기 위해 제2 레지스트리 장치에 전송하도록 구성된 통신 회로.
(제1 레지스트리 장치, 제2 레지스트리 장치, 또는 전술된 요청자 장치 등의 또 다른 장치로부터 나올 수 있는) 디바이스 할당 요청을 수신하면, 에이전트 디바이스는 그 신원을 인증하기 위한 제2 인증 정보를 생성하도록 트리거된다. 그러면, 제2 인증 정보는 디바이스가 할당될 제2 레지스트리 장치에 전송된다.
또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스를 제공하며, 이 에이전트 디바이스는 다음을 포함한다:
제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 제1 레지스트리 장치와의 인증을 수행하기 위한 처리 수단;
에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청에 응답하여, 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하기 위한 인증 정보 생성 수단; 및
인증 정보 생성 수단에 의해 생성된 제2 인증 정보를 제2 디바이스 레지스트리에 등록하기 위해 제2 레지스트리 장치에 전송하기 위한 통신 수단.
추가적인 양태로부터 볼 때, 본 발명은 에이전트 디바이스가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 방법을 제공하여, 이 방법은 하기 단계들을 포함한다:
제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 제1 레지스트리 장치와의 인증을 수행하는 단계;
에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청을 수신하는 단계;
디바이스 할당 요청에 응답하여, 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하는 단계; 및
제2 인증 정보를 제2 디바이스 레지스트리에 등록하기 위해 제2 레지스트리 장치에 전송하는 단계.
본 기술의 추가적인 양태, 특징 및 이점들은, 첨부된 도면들과 연계하여 판독되어야 하는 이하의 상세한 설명으로부터 명백할 것이다.
도 1은 에이전트 디바이스와 애플리케이션 제공 장치 사이에 신뢰된 통신을 확립하기 위한 적어도 하나의 레지스트리 장치를 포함하는 시스템의 예를 개략적으로 나타낸다;
도 2는 에이전트 디바이스, 애플리케이션 제공자, 디바이스 레지스트리, 및 소비자 사이의 관계의 예를 나타낸다;
도 3은, 제조로부터 애플리케이션에서의 이용까지의 수명기간을 통한 에이전트 디바이스의 진행을 도시하는 예시적 타임라인을 나타낸다;
도 4는 에이전트 디바이스의 예를 개략적으로 나타낸다;
도 5는 인증 정보와 레지스트리 장치와의 통신을 확립하기 위한 기타의 정보를 저장하기 위한 에이전트 디바이스에 제공된 저장 영역들의 예를 개략적으로 나타낸다;
도 6은 애플리케이션 제공 장치의 예를 도시한다;
도 7은 신뢰된 디바이스 레지스터를 유지하기 위한 레지스트리 장치의 예를 도시한다;
도 8a는 에이전트 디바이스에 대한 레지스트리 엔트리의 예를 도시한다;
도 8b는 에이전트 디바이스에 대한 이벤트 레코드의 예를 도시한다;
도 9는 보안과 보안을 구현하는 비용 사이의 절충을 나타내는 그래프이다;
도 10, 11, 및 12는 에이전트 디바이스의 신원을 인증하기 위한 인증 모델들의 3가지 예를 나타낸다;
도 13은 도 10 내지 도 12에 도시된 인증 모델의 상이한 속성들을 비교하는 표이다;
도 14는 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 제1 예시적 방법을 도시한다;
도 15는 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 제2 예시적 방법을 도시한다;
도 16은, 에이전트 디바이스와 레지스트리 장치 사이에서 인증을 수행하고 에이전트 디바이스와 애플리케이션 제공 장치 사이에서 암호화된 통신을 확립하는 방법을 도시한다;
도 17은, 에이전트 디바이스를 사용자와 연관시키고 에이전트 디바이스를 특정한 애플리케이션과 연관시키는 방법의 예를 도시한다;
도 18은, 제1 레지스트리에 현재 등록되어 있는 에이전트 디바이스를 제2 레지스트리에 할당하는 방법의 예를 도시한다;
도 19는 다시 제1 레지스트리로 에이전트 디바이스의 소유권을 리셋하는 방법의 예를 도시한다;
도 20 내지 도 23은, 에이전트 디바이스, 레지스트리 장치 및 애플리케이션 제공 장치의 이용 사례들의 4가지 예를 도시한다.
도 1은, 다수의 에이전트 디바이스(4), 애플리케이션 제공 장치(6), 및 레지스트리 장치(8)로 구성된 시스템(2)의 예를 나타낸다. 애플리케이션 제공 장치(6)는, 클라우드 서비스를 제공하고 하나 이상의 에이전트 디바이스(4)로부터 수집된 데이터를 이용하여 애플리케이션 프로그램을 실행하며 및/또는 하나 이상의 에이전트 디바이스(4)를 제어하기 위한 명령을 내리는 임의의 디바이스를 포함할 수 있다. 에이전트 디바이스(4)는, 애플리케이션 제공 장치(6)에 전송하기 위한 데이터를 수집하거나 애플리케이션 제공 장치(6)에 의해 제어되는 임의의 디바이스일 수 있다. 예를 들어, 에이전트 디바이스(4)는, 무선 센서 및 액츄에이터 등의, 사물 인터넷(IOT; Internet of Things) 내의 접속된 디바이스들일 수 있다. 에이전트 디바이스(4)는, 태블릿 컴퓨터 또는 모바일 전화 등의 더 큰 규모의 처리 디바이스를 포함할 수 있지만, 종종 에이전트 디바이스(4)는, 감지 데이터를 수집하고 이를 애플리케이션에 피드백하는 센서들 등의, 제한된 태스크 세트만을 수행하는 비교적 작은 규모의 디바이스, 또는 스프링클러, 수영장 펌프 또는 공기 조절 유닛 등의 연관된 객체를 제어하는 비교적 간단한 제어 유닛을 포함할 수도 있다. 에이전트 디바이스(4)는, 인터넷 접속을 경유할 수 있는 유선 또는 무선 통신을 이용하여 (애플리케이션 제공 장치(6) 및 레지스트리 장치(8) 등의) 다른 디바이스들과 통신할 수 있다. 본 출원에서, 용어 "센서"는 때때로 에이전트 디바이스의 예로서 사용되지만, 에이전트 디바이스들은 또한 감지 이외의 태스크를 수행할 수 있는 디바이스들도 포함할 수 있다는 것을 이해할 것이다.
에이전트 디바이스들(4)과 애플리케이션 제공 장치(6)는 암호화된 통신에 의해 통신한다. 이러한 암호화된 통신을 확립하는 것을 돕기 위해, 신뢰된 에이전트 디바이스(4)에 대한 정보를 저장하는 신뢰된 에이전트 디바이스 레지스트리를 유지하기 위한 하나 이상의 레지스트리 장치(8)가 제공된다. 레지스트리(8)는 애플리케이션 제공 장치(6)와의 에이전트 디바이스(4)의 자동화된 보안 페어링을 용이하게 하여, 애플리케이션과 에이전트 디바이스들이 상이한 제조사, 공급자 또는 배포자들에 의해 제공되더라도, 애플리케이션이 에이전트 디바이스(4)의 진본성과 데이터 무결성을 신뢰할 수 있게 하고 에이전트 디바이스(4)가 애플리케이션(6)의 진본성과 명령 무결성을 신뢰할 수 있게 한다. 레지스트리(8)는 또한 에이전트 디바이스(4)와 애플리케이션(6) 사이의 신뢰된 통신의 구성을 간소화하여, 에이전트 디바이스들(4)이 자신들과 통신하는 애플리케이션의 구체적인 세부사항을 알 필요가 없게 하고 에이전트 디바이스(4)의 사용자가 애플리케이션과의 통신을 확립하기 위한 구성 동작을 수행할 필요가 없게 한다. 대신에, 활성화될 때, 에이전트 디바이스(4)는 단순히 레지스트리(8)와 연락할 수 있고, 그러면, 레지스트리(8)는 에이전트 디바이스(4)와 애플리케이션(6)이 서로 통신하도록 구성할 수 있다.
도 1에 도시된 바와 같이, 복수의 레지스트리 장치(8)가 제공될 수 있고, 그 각각은 상이한 세트의 에이전트 디바이스(4) 및 애플리케이션 제공자(6)와 연락한다. 도 1에 도시된 바와 같이, 에이전트 디바이스(A8)가 하나보다 많은 레지스트리에 등록되는 것이 가능하다. 유사하게, 애플리케이션 제공 장치(6)는 복수의 레지스트리와 연락할 수 있다. 또한, 대부분의 에이전트 디바이스들(4)은 하나의 애플리케이션 제공 장치(6)와 통신하지만, 레지스트리가 에이전트 디바이스(4)를 복수의 애플리케이션 제공자와 통신하도록 구성하는 것도 가능하다(예를 들어, 도 1의 에이전트 디바이스(A2) 참조).
에이전트 디바이스(4)와 애플리케이션 제공 장치(6)의 기능은 상이한 애플리케이션들마다 상당히 달라질 수 있다. 예를 들어, 에이전트 디바이스(4)는, 에이전트 디바이스(4)에 의해 수집된 데이터에 기초하여 예보를 수행하는 날씨 애플리케이션을 수행하는 애플리케이션 제공자(6)에게 전달될 기상 데이터를 수집할 수 있다. 또한, 일부 에이전트 디바이스(4)는, 심박수, 주파된 거리 등의 사용자의 건강 프로그램(fitness program)에 대한 정보를 수집할 수 있고, 이것은 애플리케이션 제공자(6)에 의해 유지되는 건강 모니터링 애플리케이션에 피드백될 수 있다. 또 다른 예에서, 가정용 공기 조절 시스템은, 중앙 모니터링 애플리케이션(6)과, 온도 센서, 습도 센서, 사용자 구성 패널, 및 공기 조절 제어 유닛 등의 다수의 에이전트 디바이스(4)를 포함할 수 있고, 중앙 애플리케이션은 사용자 구성 패널에서 설정된 사용자의 선호사항 및 센서들의 감지에 기초하여 공기 조절 제어 유닛의 동작을 제어한다. 애플리케이션 제공 장치(6)와 하나 이상의 에이전트 디바이스(4)를 유사한 방식으로 이용할 수 있는 많은 추가적인 애플리케이션들이 있다. 예를 들어, 가정 보안, 가정 또는 거리 조명, 유틸리티 프로비전(utility provision), 건물 자동화, 치안유지, 자산 추적 및 물류 등에서의 애플리케이션들이 있을 수 있다. 레지스트리(8)는 사물 인터넷 디바이스와 애플리케이션(6) 사이에서 인증과 신뢰를 관리하기 위한 공통 아키텍쳐를 제공한다.
도 2는, 에이전트 디바이스(4), 애플리케이션 제공자(6), 레지스트리(8), 및 소비자(10) 사이의 관계의 예를 나타낸다. 소비자(10)는 에이전트 디바이스(4)의 물리적 소유권을 가진다. 소비자(10)는 또한, 애플리케이션 제공자(6)와 사업 관계를 가진다. 예를 들어, 애플리케이션 제공자는 사용자 ID와 패스워드를 이용하여 소비자(10)의 사용자 프로파일을 설정했을 수 있다. 이 정황에서의 소비자는, 예를 들어, 사람, 가계 또는 회사일 수 있다.
에이전트 디바이스(4)(예를 들어, 센서)는 자신을 레지스트리(8)에 인증시키기 위한 인증 정보를 포함한다. 예를 들어, 에이전트 디바이스(4)는 그 신원을 입증하는데 이용될 수 있는 키를 가질 수 있다. 따라서, 레지스트리(8)는 에이전트 디바이스(4)의 신원을 체크하고 그것이 신뢰된 에이전트 디바이스라는 것을 확인할 수 있다. 유사하게, 레지스트리(8)와 애플리케이션 제공자(6)는 키를 교환하여 서로의 신원을 확인하고 신뢰된 관계를 확립할 수 있다. 레지스트리(8)가 에이전트 디바이스(4) 및 애플리케이션 제공 장치(6) 양쪽 모두와 신뢰를 확립하면, 레지스트리(8)는 에이전트 디바이스(4) 및 애플리케이션 제공 장치(6) 양쪽 모두에 애플리케이션 키를 프로비저닝할 수 있다. 그러면, 레지스트리(8)에 의해 제공된 애플리케이션 키는, 레지스트리(8)를 통한 통신에 대한 어떠한 필요성도 없이, 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이에서 통신을 암호화하는데 이용된다. 따라서, 레지스트리(8)는, 에이전트 디바이스(4)와 애플리케이션 제공자(6)가 그들 사이에서 직접 신뢰를 확립할 것을 필요로 하지 않고, 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이에서 신뢰된 통신의 확립을 용이하게 한다. 이것은, 에이전트 디바이스(4)가 애플리케이션 제공자(6)의 신원을 확인하기 위한 프로토콜과 암호 알고리즘을 구현하기 위한 처리 능력이 거의 없는 (온도 센서 또는 심박수 모니터 등의) 소형의 초저전력 디바이스일 수 있기 때문에 유용하다. 또한, 종종 에이전트 디바이스(4)를 설치하는 사람은 애플리케이션 제공자(6)와의 신뢰된 통신을 확립하기 위한 복잡한 구성 애플리케이션을 수행하기 위한 지식이나 정보를 갖지 못할 수도 있다. 레지스트리는 에이전트 디바이스(4)의 사용자 또는 설치자가 신뢰된 통신을 구성하는 방법을 알 필요성을 제거한다.
도 2에서 소비자(10)와 레지스트리(8) 사이에는 아무런 관계가 없다는 점에 유의한다. 레지스트리(8)는 사용자 ID나 패스워드 등의 소비자에 대한 어떠한 상세사항도 갖지 않으므로 어떠한 개인 상세사항도 레지스트리에 의해 전송되거나 저장되지 않는다. 소비자의 관계(10)는 오직 애플리케이션 제공자(6)에만 해당된다. 레지스트리(8)는 오직 에이전트 디바이스(4) 및 애플리케이션 제공자(6)와만 통신하고 소비자(10)와는 통신하지 않는다. 따라서, 레지스트리(8)는 에이전트 디바이스와 애플리케이션 사이에서 신뢰를 확립하기 위한 중립적 플랫폼이다. 일단 에이전트 디바이스(4)와 애플리케이션(6) 사이에 신뢰된 통신이 확립되고 나면, 레지스트리가 관여하지 않고 에이전트 디바이스와 애플리케이션 사이에서 직접 통신이 진행된다.
다른 예들에서, 도 2에 도시된 바와 같은 소비자(10)가 없을 수도 있고 대신에 에이전트 디바이스(4)는 애플리케이션 제공 장치(6)를 작동하는 동일한 조직에 속할 수도 있다. 예를 들어, 스마트 접속된 도시는, 예를 들어, 거리 조명, 트래픽 흐름, 또는 쓰레기 수거를 모니터링하기 위한 사물 인터넷 디바이스들을 도시 주변에 가질 수 있고, 도시 관리자는 감지 데이터를 제공하는 에이전트 디바이스(4)와 에이전트 디바이스(4)에 의해 획득된 데이터를 모니터링하고 이 데이터를 처리하기 위한 하나 이상의 애플리케이션 제공 장치(6) 양쪽 모두를 소유할 수 있다(예를 들어, 애플리케이션은 도시의 거주자가 상태를 체크하고 문제를 보고하기 위해 액세스할 수 있는 클라우드 플랫폼을 제공할 수 있다). 이 경우, 도 2에 도시된 바와 같은 특정한 에이전트 디바이스(4)와 연관된 소비자(10)는 없을 수도 있다. 그럼에도 불구하고, 레지스트리(8)의 이용은 에이전트 디바이스(4)의 설치를 간소화한다. 예를 들어, 거리 조명이나 쓰레기 통에 에이전트 디바이스(4)를 설치하는 계약자는 에이전트 디바이스(4)를 에이전트 디바이스(4)로부터 데이터를 수신하는 애플리케이션과 통신하도록 구성하는 방법을 알 필요가 없을 것이다. 대신에, 에이전트 디바이스(4)의 활성화시(예를 들어, 에이전트 디바이스의 전원투입이나 배치시)에, 에이전트 디바이스는 레지스트리(8)와 자동으로 통신하여 애플리케이션(6)과의 신뢰된 관계를 셋업할 수 있다.
도 3은 그 제조로부터 레지스트리(8)와의 등록 및 인증을 통해 애플리케이션 제공자(6)와의 통신이 확립될 때까지의 에이전트 디바이스(센서)(4)의 진행을 도시하는 예시적 타임라인을 도시한다. 단계 A에서, 에이전트 디바이스에 대한 시스템 온 칩(SOC)이 실리콘으로 제조된다. 단계 B에서, OEM(original equipment manufacturer) 및/또는 ODM(original device manufacturer)이 시스템 온 칩을 이용하여 에이전트 디바이스(4)를 제조한다. 제조 동안의 소정 시점에서, 고유한 디바이스 식별자가, 에이전트 디바이스의 신원을 인증하기 위한 키 정보 및 에이전트 디바이스에 대한 기타의 메타데이터와 함께, 에이전트 디바이스(4)에 임베딩된다. 단계 C에서, 에이전트 디바이스가 배포된다. 예를 들어, 사용자(10)는 상점으로부터 에이전트 디바이스(4)를 구입할 수 있고 에이전트 디바이스는 날씨 예보국 또는 시 정부 등의 기관에 제공될 수 있다. 단계 B의 제조 동안에 또는 단계 C의 배포 동안에, 등록 정보가 레지스트리(8)에 제공되어 에이전트 디바이스(4)를 신뢰된 에이전트 디바이스로서 레지스트리(8)에 등록한다. 레지스트리(8)에는 에이전트 디바이스(4)가 신뢰되는지를 확인하기 위한 키 정보 뿐만 아니라 에이전트 디바이스(4)에 대한 기타의 메타데이터가 제공될 수 있다.
이 때, 레지스트리(8)는, 고유한 ID를 갖는 에이전트 디바이스(4)가 신뢰된 에이전트 디바이스라는 것을 알지만, 어느 클라우드 서비스 애플리케이션이 에이전트 디바이스(4)로부터의 데이터를 이용할 것인지에 대해서는 모른다. 따라서, 단계 D에서, 결속 동작(binding operation)이 수행되어, 사용자(10), 에이전트 디바이스(4), 및 클라우드 애플리케이션(6)을 링크한다. 예를 들어, 에이전트 디바이스는, 참조 번호, 바코드 또는 QR 코드(Quick Response code) 등의, 어떤 종류의 디바이스 식별자를 가질 수 있다. 애플리케이션 제공자(6)는, 디바이스 식별자를 입력하거나 바코드 또는 QR 코드를 스캐닝하고 디바이스 식별자를 사용자 식별자와 함께 애플리케이션 제공자(6)에게 업로드하기 위한 웹 인터페이스 또는 스마트폰이나 태블릿 앱을 제공할 수 있다. 대안으로서, 이것은 애플리케이션 제공자에의 소비자의 등록 및 사용자로의 에이전트 디바이스의 후속된 할당 및 발송시에 애플리케이션 제공자에 의해 수행될 수도 있다. 이 때, 클라우드 서비스는 어느 사용자가 에이전트 디바이스(4)를 소유하는지를 알게 된 다음, 레지스트리(8)에게 그 애플리케이션(6)에서의 이용을 위해 등록될 디바이스 식별자를 통보하여, 레지스트리가 어느 애플리케이션 제공자(6)가 에이전트 디바이스(4)와 통신해야 하는지를 이제 알게 된다. 이런 방식으로, 에이전트 디바이스(4)의 사용자가 레지스트리(8)가 존재한다는 것을 인식하지 않고 에이전트 디바이스(4)가 에이전트 디바이스(4)를 특정한 클라우드 서비스나 애플리케이션 제공자(6)에 링크하는 정보를 저장할 필요없이, 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이의 링크가 레지스트리(8)에서 확립될 수 있다.
단계 E에서, 예를 들어, 사물 인터넷의 일부로서 현장에서 에이전트 디바이스를 설치함으로써, 또는 에이전트 디바이스를 처음으로 턴온함으로써, 에이전트 디바이스가 배치된다. 에이전트 디바이스(4)의 활성화시에, 에이전트 디바이스(4)는 에이전트 디바이스(4) 내에 저장된 레지스트리 주소를 이용하여 레지스트리(8)와 자동으로 연락한다. 에이전트 디바이스(4)와 레지스트리(8)는 이제, 단계 B에서 에이전트 디바이스(4)에 임베딩되었고 단계 B 또는 C의 등록 동안에 레지스트리(8)에 등록되었던 키 정보를 이용하여 서로 상호 인증하여 신뢰를 확립한다. 상호 인증이 성공적이면, 레지스트리(8)는 애플리케이션 키를 에이전트 디바이스(4)와 애플리케이션 제공자(6)에 제공하고, 단계 F에서, 에이전트 디바이스(4)와 애플리케이션 제공자(6)는 레지스트리(8)로부터 수신된 애플리케이션 키를 이용하여 메시지를 암호화 및 암호해독함으로써 보안 통신할 수 있다. 따라서, 레지스트리(8)는, 에이전트 디바이스가 임의의 복잡한 구성을 수행할 것을 필요로하지 않고 에이전트 디바이스(4)와 애플리케이션(6) 사이에서 신뢰가 확립될 수 있게 한다.
요약하면, 레지스트리(8)는, IOT 디바이스(예를 들어, 센서)(4)와 애플리케이션 제공 장치(클라우드 제공자)(6) 사이의 신뢰의 인증을 관리하기 위한 아키텍쳐를 제공한다. 레지스트리(8)는, 각각의 애플리케이션 제공자(6)와 에이전트 디바이스(4)에 대한 메타데이터를 관리하고, 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이의 관계를 관리하며, 디바이스 식별자를 인증하고, 에이전트 디바이스와 애플리케이션에게 보안 통신을 가능케하기 위한 키를 제공하는 클라우드 플랫폼을 포함한다. 에이전트 디바이스(4)는, 에이전트 디바이스(4)가 고유한 인증가능한 신원, 보안 키 저장, 및 신뢰를 보안 유지하기 위한 암호화 능력, 및 예측가능한 플랫폼 강인성을 가진다는 것을 보장하는 특정한 설계 지침에 따라 제조 및 설계될 수 있다. 에이전트 디바이스 제조 지원 플랫폼은 키 생성 및 에이전트 디바이스(4)로의 삽입과 키 쌍의 관리뿐만 아니라 레지스트리와의 인터페이스를 지원할 수 있다.
이 아키텍쳐는 기존 시스템에서의 몇 가지 문제점을 해결하는 것을 돕는다. 레지스트리 클라우드 서비스에 의해 인증되는 고유 식별자를 각각의 에이전트 디바이스에 제공함으로써, 에이전트 디바이스는 신뢰를 보장하도록 고유하게 식별될 수 있다. 바람직하게는, 디바이스 식별자는 전역적으로 고유할 수 있어서, 전 세계를 통해 어떠한 2개의 디바이스도 동일한 식별자를 공유하지 않는다. 이것은, 디바이스 식별자의 제조 및 할당은 임의의 후속적으로 이용되는 레지스트리와는 완전히 독립적일 수 있다는 것을 의미한다. 그러나, 디바이스 식별자가 주어진 레지스트리 또는 레지스트리 집단 내에서 국지적으로 고유하고, 독립된 상호작용하지 않는 레지스트리들에서 상이한 디바이스들에 대해 동일한 식별자가 이용되는 것도 가능하다. 에이전트 디바이스(4)와 애플리케이션(6) 사이의 상호 인증이 달성되어, 애플리케이션에 대해 에이전트 디바이스를 보안 페어링하는 자동 등록 프로세스를 통해, 애플리케이션은 에이전트 디바이스 진본성을 신뢰하고 에이전트 디바이스는 애플리케이션 진본성을 신뢰할 수 있다. 에이전트 디바이스(4)와 애플리케이션(6)은 이제, 그들이 동일한 제공자에 의해 제조 또는 배포괴지 않더라도, 서로 신뢰할 수 있기 때문에, 이것은 에이전트 디바이스와 애플리케이션에 대한 시장을 개방하여, 신뢰를 달성하기 위하여 어떤 애플리케이션 제공자(6)에 의해 제공된 특정한 브랜드의 에이전트 디바이스(4)를 이용할 필요가 없다. 애플리케이션은 복수의 제조사로부터의 광범위한 에이전트 디바이스들을 신뢰할 수 있고 에이전트 디바이스들은 복수의 제공자로부터의 광범위한 애플리케이션들을 신뢰할 수 있다. 이것은 에이전트 디바이스와 애플리케이션의 비용 감소를 돕고 또한 사물 인터넷 에이전트 디바이스와 애플리케이션의 이용을 증가시키는 것을 도울 것이다. 또한, 레지스트리(8)는, 많은 소스로부터 수신된 많은 양의 데이터를 처리하는 "빅 데이터" 애플리케이션을 위한 센서 데이터의 소스에 대한 애플리케이션 제공자의 신뢰성을 증가시키는 것을 돕는다. "빅 데이터" 서비스를 위해 수집된 정보의 가치는 개별 에이전트 디바이스(4)에 의해 수집된 모든 "리틀 데이터"의 유효성에 의존한다. 클라우드 서비스가 그 개별 에이전트 디바이스(4)를 신뢰할 수 없다면, "빅 데이터"에 의해 획득된 결론도 역시 신뢰될 수 없어서, 전체 애플리케이션을 무의미하게 한다. 본 기술은 이러한 애플리케이션들에 의해 수집된 전체 정보에 대한 신뢰를 유지하는 것을 돕는다. 또한, 레지스트리(8)는, 에이전트 디바이스 특성 및 에이전트 디바이스(4)의 이용 이력 등의 다른 정보를 저장할 수 있다. 이것은 애플리케이션 제공자(6)가 특정한 종류의 에이전트 디바이스(4)를 목표화하는 것을 허용하는데 이용될 수 있다. 예를 들어, 애플리케이션(6)은 소정의 최소한의 보안 요건을 갖는 에이전트 디바이스(4)로부터 데이터를 수집하기만을 원할 수도 있다.
도 4는 에이전트 디바이스(4)를 개략적으로 나타낸다. 에이전트 디바이스는 감지 데이터를 수집하기 위한 감지 회로(11)를 포함한다. 예를 들어, 감지 회로(11)는, 온도 센서, 카메라, 심박수 모니터, 또는 애플리케이션 제공자(6)에 의해 요구되는 데이터를 수집하기 위한 기타 임의의 검출기를 포함할 수 있다. 에이전트 디바이스(4)는 또한, 예를 들어, 상호 인증, 애플리케이션 제공 장치(6)에 전송되는 데이터의 암호화, 및 키 생성 등의, 에이전트 디바이스(4)에 의해 수행되는 다양한 처리 동작들을 제어하기 위한 처리 회로(12)를 포함한다. 에이전트 디바이스(4)는 또한, 레지스트리 장치(8) 및 애플리케이션 제공 장치(6) 등의 외부 디바이스와 통신하기 위한 통신 회로(14)를 가진다. 통신 회로(14)는, 무선 근거리 네트워크(WiFi)를 이용한 통신, 무선 주파수 통신(RFID) 또는 근접장 통신(NFC) 등의 단거리 통신, 또는 Zigbee 또는 Bluetooth 또는 6LoWPAN 등의 무선 센서 네트워크에서 이용되는 통신 등의, 무선 통신을 이용할 수 있다. 또한 통신 회로(14)는 3G 또는 4G 등의 셀룰러 네트워크를 이용할 수도 있다. 통신 회로(14)는 또한, 광섬유 또는 금속 케이블 등의 유선 통신을 이용할 수도 있다. 통신 회로(14)는 또한, 위에서 주어진 예들의 수 개의 조합으로 된 예 등의, 2개 이상의 상이한 형태의 통신을 이용할 수 있다. 에이전트 디바이스는 또한, 에이전트 디바이스(4)의 디바이스 식별자, 에이전트 디바이스를 인증하기 위한 인증 정보, 및 에이전트 디바이스(4)에 의해 이용되는 기타의 정보를 저장하기 위한 저장 회로(16)를 포함한다. 에이전트 디바이스는 선택사항으로서 또한 에이전트 디바이스(4)에 대한 키 정보 또는 기타의 인증 정보를 생성하기 위한 키 생성기(18)를 포함할 수 있다.
도 4는 에이전트 디바이스가 감지 회로(11)를 포함하는 센서인 예를 도시하고 있지만, 다른 예에서는 감지 회로(11)는 필수적이지 않을 수도 있다. 대신에, 예를 들어, 에이전트 디바이스는, 예를 들어, 스프링클러, 도난 경보, 난방 또는 공기 조절 유닛, 또는 트래픽 신호등 시스템 등의 물리적 객체를 제어하기 위한 제어 회로를 포함할 수도 있다.
도 5는 에이전트 디바이스(4)의 저장 회로(16)에 저장된 정보의 예를 개략적으로 나타낸다. 저장 회로(16)는, 에이전트 디바이스(4)를 고유하게 식별하는 디바이스 식별자(22)를 저장하기 위한 1회성 프로그램가능한(OTP) 영역(20)을 가진다. 디바이스 식별자(22)는 에이전트 디바이스(4)의 제조 동안에 OTP 영역(20) 내에 임베딩된다. 이 실시예에서, 일단 OTP 영역(20)에 고정되고 나면, 디바이스 식별자(22)는 변경될 수 없다. 예를 들어, 디바이스 식별자를 OTP 영역(20)에 기입한 후에, 저장 회로에서 퓨즈가 버닝되어 OTP 영역(20)이 재기입될 수 없게 할 수 있다. 대안으로서, 일부 디바이스에서 디바이스 제조후에 대한 새로운 식별자를 생성할 수 있다. 예를 들어, 디바이스를 상이한 레지스트리에 이전할 때, 새로운 레지스트리에 의해 이미 관리되고 있는 디바이스들의 식별자들과의 충돌을 피하기 위해 그 디바이스에 새로운 식별자를 할당하는 것이 가능할 수 있다.
저장 회로(16)는 또한, 판독 및 기입될 수 있지만, 판독 및 기입 보호가 적용되어 처리 회로(12)에 의해 실행되는 특권부여받은 소프트웨어에 의해서만 액세스될 수 있는, 비휘발성 메모리 영역(24)을 포함한다. 판독/기입 보호된 영역(24)은, 에이전트 디바이스(4)가 레지스트리(8)와 연락할 수 있게 하는 URL, IP 주소 또는 기타의 식별자를 포함하는 레지스트리 주소(26)를 저장한다. 보호된 영역(24)은 또한, 레지스트리(6)가 인증된 것인지를 확인하기 위해 레지스트리(6)로부터 수신된 메시지를 암호해독하기 위한 레지스트리 공개 키(27)를 저장한다(레지스트리 공개 키(27)는 레지스트리에 의해 유지되는 레지스트리 개인 키에 대응한다).
보호된 영역(24)은 또한, 그 신원을 고유하게 식별하기 위해 에이전트 디바이스(4)에 의해 유지되는 고유 키인 센서 키(28) 또는 개인 키(29)를 저장한다. 센서 키(28)는 레지스트리(8)와 함께 공유되는 대칭 키이다. 메시지는 센서 키(28)를 이용하여 적어도 부분적으로 암호화될 수 있고, 레지스트리(8)가 동일한 키를 이용하여 메시지를 성공적으로 암호해독할 수 있다면, 그 메시지는 신뢰된 에이전트 디바이스로부터 수신된 것으로 간주되므로 그에 따라 장치가 인증된다. 대안으로서, 에이전트 디바이스에는 레지스트리(8)에 의해 유지되는 상이한 공개 키에 대응하는 개인 키(29)가 제공될 수 있다. 이러한 비대칭 키 쌍은, 다른 어떤 디바이스도 에이전트 디바이스(4)의 개인 키(29)를 보유하지 않으므로, 에이전트 디바이스의 더욱 보안된 인증을 가능케한다. 개인 키(29)에 대응하는 공개 키(32)는, 저장 회로(16)의 기입 보호된 그러나 판독 보호되지 않은 영역(34)에 둘 수 있다. 따라서, 공개 키(32)는 임의의 디바이스에 의해 또는 에이전트 디바이스(4) 상에서 실행중인 임의의 소프트웨어에 의해 판독될 수 있다. 또한, 에이전트 디바이스(4)와 연관된 디지털 인증서(36)도 역시 저장 회로(16)의 개방 영역(34)에 저장된다. 디지털 인증서는 에이전트 디바이스(4)를 식별하는 다양한 데이터와 메타데이터 뿐만 아니라 공개 키(32)를 포함한다. 이 인증서는 인증 동안에 레지스트리(8)에 전송되고, 레지스트리는 이 인증서에 서명하여 에이전트 디바이스 신원을 인증한다. 그러면 다른 디바이스들이 레지스트리(8)로부터 인증서를 판독할 수 있고 레지스트리의 서명은 에이전트 디바이스가 신뢰되며 인증서(36)와 연관된 공개 키(32)가 실제로 그 에이전트 디바이스로부터 나온 것이라는 것을 확인한다. 따라서, 레지스트리(8)는, 공개 키 인프라스트럭쳐(PKI)에서 다른 인증 기관과 유사한 방식으로 공개 키(32)를 인증하기 위한 인증 기관으로서 역할할 수 있다.
판독/기입 보호된 영역(24)은 또한, 애플리케이션 제공자(6)와의 신뢰된 통신을 수행하기 위한 대칭 키인 하나 이상의 애플리케이션 키(30)를 저장한다. 이들 키는 레지스트리(8)에 의해 제공되고 에이전트 디바이스(4) 및 애플리케이션 제공자(6)에 의해 교환되는 데이터나 명령을 암호화/암호해독하는데 이용된다. 레지스트리(8)에 의해 각각의 쌍의 에이전트 디바이스(4)와 애플리케이션 제공자(6)에 대한 상이한 애플리케이션 키가 제공되어 디바이스들간의 통신의 보안을 유지할 수 있다. 다른 실시예에서, 디바이스(4)와 애플리케이션 제공자(6)에게 제공되는 애플리케이션 키(30)로서 비대칭 키가 이용될 수 있다. 레지스트리 장치(8)에 의해 제공되는 애플리케이션 키는 레지스트리 장치(8) 그 자체에 의해 생성되거나, 하드웨어 키 생성기 또는 키 저장 디바이스 등의 또 다른 디바이스로부터 레지스트리에 의해 획득될 수도 있다.
도 6은 애플리케이션 제공 장치(6)의 예를 도시한다. 레지스트리(8) 및 에이전트 디바이스(4)와의 통신을 위해 통신 회로(40)가 제공된다. 다시 한번, 에이전트 디바이스(4)에 대해 앞서 논의된 바와 같이 상이한 형태들의 유선이나 무선 통신이 제공될 수 있다. 애플리케이션 제공 장치는 또한, 애플리케이션 제공 장치(6)에 의해 이용되는 다양한 데이터와 애플리케이션을 저장하는 저장 회로(42)를 포함한다. 예를 들어, 저장 회로(42)는, 에이전트 디바이스(4)로부터 통신 회로(40)에 의해 수신된 데이터를 이용하고 이것을 소정 방식으로 처리하는, 또는 에이전트 디바이스(4)에 제어 명령을 내리는, 애플리케이션 프로그램을 저장할 수 있다. 애플리케이션을 실행하고, 레지스트리(8)의 인증, 에이전트 디바이스(4)와 교환되는 데이터의 암호화/암호해독 등의 기타의 동작을 제어하기 위해 처리 회로(44)가 제공된다. 저장 회로(42) 내의 보안 메모리 및 처리 회로(44) 내의 암호 알고리즘이나 보안 처리 기능 등의 암호화 피쳐가 제공될 수 있다.
도 7은 디바이스 레지스트리를 유지하기 위한 레지스트리 장치(8)의 예를 도시한다. 레지스트리(8)는 에이전트 디바이스(4) 및 애플리케이션 제공 장치(6)와 통신하기 위한 통신 회로(50)를 가진다. 다시 한번, 통신 회로(50)는 앞서 논의된 다양한 종류의 유선 또는 무선 통신을 이용할 수 있다. 레지스트리는 또한, 레지스트리(8)에 의해 실행되는 프로그램을 저장하고 다양한 에이전트 디바이스(4) 및 대응하는 애플리케이션(6)에 대한 정보를 추적하기 위한 디바이스 레지스트리를 저장하는 저장 회로(52)를 가진다. 저장 회로(52)에 저장된 애플리케이션 프로그램을 실행하고, 에이전트 디바이스(4) 및 애플리케이션 제공자(6)의 인증, 상이한 레지스트리들간의 에이전트 디바이스(4)의 이전, 및 에이전트 디바이스들에 대한 메타데이터의 관리 등의 동작을 제어하기 위한 처리 회로(54)가 제공된다. 다시 한 번, 저장 회로(42) 내의 보안 메모리 및 처리 회로(44) 내의 암호 알고리즘이나 보안 처리 기능 등의 암호화 피쳐가 제공될 수 있다. 레지스트리(8)는 또한, 에이전트 디바이스에 의해 어떤 인증 모델이 이용되는지에 대한 정보 등의, 소정 에이전트 디바이스(4)에 대한 정보에 대한, 외부 디바이스로부터의 질의에 응답할 수 있다. 보안상의 이유로, 모든 레지스트리(8)가 이러한 질의를 허용하는 것은 아닐 수도 있다. 예를 들어, 일부 레지스트리 오퍼레이터는 특정한 에이전트 디바이스(4)에 의해 이용되는 인증 모델에 대한 정보를 제공하지 않는 것을 선호할 수 있다. 또한, 레지스트리(8)는 에이전트 디바이스(4)에 대한 정보로 응답하기 이전에 질의측 디바이스의 인증을 수행하여 오직 신뢰된 질의측 디바이스만이 이 정보를 획득하도록 허용되어 있다는 것을 보장할 수 있다.
도 8a는 레지스트리 장치(8)의 저장 회로(52)에 의해 저장된 레지스트리 엔트리(60)의 예를 도시한다. 레지스트리에 등록된 각각의 에이전트 디바이스(4)는 (에이전트 디바이스(4)의 OTP 영역(20)에 저장된 식별자(22)에 대응하는) 에이전트 디바이스(4)의 디바이스 식별자(22)를 포함하는 레지스트리 엔트리를 가질 수 있다. 레지스트리 엔트리는 또한, 에이전트 디바이스(4)의 디바이스 인증서(36) 및 공개 키(32)와 에이전트 디바이스(4)가 신뢰된다는 것을 확인하기 위해 레지스트리(8)에 의해 이용되는 기타의 인증 정보를 포함한다. 도 8a가 동일한 필드에서 인증서(36) 및 공개 키(32)를 갖는 예를 도시하고 있지만, 이들은 또한 상이한 필드들에 제공될 수도 있다. 또한, 레지스트리 엔트리(60)는 다른 인증 모델들에서의 이용을 위한 다른 유형의 인증 정보를 위한 필드를 가질 수도 있다.
레지스트리 엔트리(60)는 또한, 에이전트 디바이스(4)가 신뢰된 통신을 확립하고자 하는 하나 이상의 애플리케이션 제공 장치(6)를 식별하는 하나 이상의 애플리케이션 식별자(62), 및 식별된 애플리케이션 제공 장치(6)와 통신하기 위한 하나 이상의 애플리케이션 키(30)를 포함한다. 다시 한번, 애플리케이션 식별자(62) 및 대응하는 애플리케이션 키(30)는 레지스트리 엔트리(60)의 동일한 필드 또는 별개의 필드들에 있을 수 있다. 애플리케이션 식별자는, 그 에이전트 디바이스와 연관된 애플리케이션 제공자로부터의 요청에 응답하여 레지스트리 엔트리에 저장될 수 있다. 따라서, 에이전트 디바이스 자체는 자신이 어느 애플리케이션과 통신하고 있는지를 알 필요가 없고 레지스트리(8)는 에이전트 디바이스와 애플리케이션 제공 장치 사이의 링크를 제공할 수 있다. 예를 들어, 일단 에이전트 디바이스가 레지스트리(8)로부터 애플리케이션 키(30)를 수신하고 나면, 에이전트 디바이스는, 데이터가 어디로 가고 있는지에 대해 걱정하지 않고 애플리케이션 키(30)를 이용하여 암호화된 데이터를 단순히 출력할 수 있다.
레지스트리 엔트리(60)는 또한, 이하에서 설명되는 바와 같이, 에이전트 디바이스(4)가 자신을 보안 인증하기 위해 어떤 인증 모델을 이용하는지를 식별하는 인증 모델 정보를 포함한다. 레지스트리 엔트리(60)는 애플리케이션 제공자 등의 외부 디바이스에 의해 질의될 수 있는 에이전트 디바이스에 대한 많은 다른 유형의 정보와 메타데이터를 포함할 수 있다는 것을 이해할 것이다. 에이전트 디바이스(4), 애플리케이션 제공자(6) 및 레지스트리(8)은 도 4, 6, 및 7에 도시된 것들 이외의 많은 다른 요소를 포함할 수도 있다는 것도 역시 이해할 것이다.
또한, 레지스트리 엔트리(60)는, 레지스트리 엔트리(60)의 다른 필드들 중 적어도 일부의 정보에 기초하여 생성된 신뢰된 서명이나 해시 값을 포함하는 서명/해시 필드(68)를 포함한다. 이것은, 레지스트리 엔트리(60)가 레지스트리에서 처음 생성된 이후에 디바이스나 사람이 다른 필드들 중 하나를 수정하려고 하는 경우에 조작 검출을 허용한다. 레지스트리 장치(8)는 다른 필드들을 이용하여 서명이나 해시를 재계산할 수 있고 이것이 저장된 서명/해시 필드(68)와 정합하는지를 체크할 수 있다.
도 8b에 도시된 바와 같이, 레지스트리 장치(8)는 또한, 대응하는 에이전트 디바이스(4)에 대한 이벤트 엔트리(69)를 저장할 수 있다. 이벤트 엔트리(69)는, 도 8a에 도시된 레지스트리 엔트리(60)의 하부-엔트리이거나, 다른 실시예에서는, 디바이스 ID(22)에 의해 레지스트리 엔트리(60)와 연관된 별개의 레코드로서 제공될 수도 있다. 이벤트 엔트리(69)는 대응하는 에이전트 디바이스(4)에서 발생할 수 있는 이벤트에 대한 이력 정보를 제공한다. 특정한 에이전트 디바이스(4)는, 자신과 연관된, 0, 1, 또는 복수의 이벤트 엔트리(69)를 가질 수도 있다. 따라서, 특정한 디바이스에 대한 레지스트리 엔트리(60)와, 동일한 디바이스와 연관된 이벤트 엔트리(69) 사이에는 1-대-다 관계가 있을 수 있다. 이벤트 엔트리(69)는, 에이전트 디바이스에 대한 디바이스 ID(22), 이벤트가 발생한 날짜를 나타내는 날짜 정보, 발생한 이벤트의 유형 및 이벤트와 연관된 기타 임의의 정보를 나타내는 이벤트 레코드, 및 레지스트리 엔트리(60)의 서명/해시 필드(68)와 유사한 조작 검출을 위한 서명/해시 필드를 위한 필드들을 포함한다. 에이전트 디바이스(4)와 연관된 이벤트의 발생시에 새로운 이벤트 엔트리(69)가 생성될 수 있다. 예를 들어, 기록될 수 있는 이벤트는, 제조 이후의 에이전트 디바이스(4)의 발송, 선적(장소), 디바이스의 활성화 또는 비활성화, 소비자에 의한 디바이스의 등록, 및 많은 다른 것들을 포함한다. 이벤트 엔트리(69)는 레지스트리가 디바이스의 이력을 추적하는 것을 허용한다.
도 9에 도시된 바와 같이, 상이한 유형들의 에이전트 디바이스(4)는 보안과 인증에 대한 상이한 요건들을 가질 수 있다. 일반적으로, (예를 들어, 데이터가 귀중하거나, 개인적이거나, 상업적으로 민감하거나 해서, 또는 데이터 이용과 연관된 건강이나 공공 안전 문제가 있어서) 요구되는 보안 레벨이 더 높을수록, 인증을 관리하기 위한 더 복잡한 자원이 요구될 수 있기 때문에 에이전트 디바이스(4)를 제조하는 비용도 더 높아진다. 일부 디바이스의 경우, 이 추가적인 비용은 정당화되지 못할 수도 있다. 예를 들어, 날씨 모니터링 애플리케이션에 데이터를 공급하는 온도계 등의 에이전트 디바이스의 경우, 데이터는 진짜임이 신뢰될 수 있어야 한다는 것이 요구되는 전부이므로 비교적 낮은 비용과 낮은 보안 인증 모델이 이용될 수 있다. 반면, 헬스케어 또는 스마트 도시나 텔레메틱스에서 이용되는 다른 종류의 디바이스들의 경우, 에이전트 디바이스 무결성과 진본성은 절충되지 않는다는 것이 매우 중요할 수 있다. 이들 응용의 경우, 더 높은 정도의 보안을 획득하기 위해 비용 증가를 초래하는 것이 정당화될 수 있다. 따라서, 도 9에 도시된 바와 같이, IOT 디바이스들에 대한 진본 디바이스 신원을 유지하기 위한 스케일가능한 기술을 제공하기 위해 복수의 상이한 신뢰 레벨들이 확립될 수 있다. 각각의 에이전트 디바이스(4)는 자신을 위해 선택된 특정한 인증 모델을 가질 수 있고, 선택된 모델은 도 8에 도시된 바와 같은 인증 모델 정보(64)를 이용하여 레지스트리 엔트리(60)에서 표시될 수 있다. 상이한 보안 레벨들에서 동작하는 인증 모델들을 갖는 유사한 기능을 갖춘 디바이스들에 대한 상업적 필요성도 있을 수 있다. 이것은 상이한 이용 분야를 제공하는데 유용할 수 있다.
디바이스들의 제조나 배포 동안에 상이한 인증 모델들을 갖춘 상이한 에이전트 디바이스들(4)을 확립함으로써, 레지스트리(8)는 에이전트 디바이스들을 인증 모델 정보(64)에 기초하여 상이한 범주들로 분할 또는 분리할 수 있다. 예를 들어, 소정의 애플리케이션(6)들은 그들이 특정한 인증 모델을 갖는 에이전트 디바이스와만 통신할 수 있다고 명시할 수 있다. 또한 디바이스들은 레지스트리(8)에 질의하여 명시된 에이전트 디바이스(4)에 대한 인증 모델을 판정할 수 있다. 예를 들어, 뱅킹 애플리케이션 제공자는, 사용자의 기존 에이전트 디바이스(4)가 에이전트 디바이스(4)와의 신뢰 통신을 확립하기 이전에 소정의 최소한의 보안 요건을 만족할 것을 설정하기 원할 수도 있다. 상이한 인증 모델들은 많은 상이한 방식들로 상이할 수 있다. 예를 들어, 일부 인증 모델은 고정된, 변경불가능한, 인증 정보를 이용할 수 있는 반면 다른 인증 모델은 인증 정보가 에이전트 디바이스(4)의 키 생성 회로(18)를 이용하여 업데이트되는 것을 허용할 수 있다. 고정된 모델의 경우, 키 생성 회로(18)가 에이전트 디바이스(4)에 제공될 필요가 없을 수도 있어서 에이전트 디바이스는 더욱 저렴하게 구현될 수 있는 반면, 키 생성 능력을 갖는 에이전트 디바이스의 경우, 필요할 때 키가 생성될 수 있으므로 더욱 보안된 인증이 제공될 수 있다. 유사하게, 일부 인증 모델은 에이전트 디바이스(4)와 레지스트리(8)에 의해 공유된 대칭 키를 이용할 수 있는 반면 다른 디바이스들은 에이전트 디바이스(4)와 레지스트리(8)가 상이한 상보형 키들을 갖는 비대칭 키를 이용할 수 있다. 일부 모델들은 한 레지스트리로부터 다른 레지스트리로의 에이전트 디바이스의 이전을 허용할 수 있는 반면 다른 모델들은 특정한 레지스트리와 함께 동작하도록 에이전트 디바이스를 제약할 수 있다. 따라서, 에이전트 디바이스의 제조와 개발 동안에 적절하게 선택될 수 있는 인증 모델을 구현하는 많은 상이한 방식들이 있다.
도 10 내지 도 12는 인증 모델의 3가지 예를 나타낸다. 도 10은, 고정된 센서 키(28)가 제조 동안에 에이전트 디바이스(4)의 보호된 영역(24) 내에 주입되는 제1 인증 모델을 도시한다. 센서 키(28)는 제조사에 속하는 외부 디바이스(70)에 의해 생성된다. 그러면, 센서 키(28)는 그 디바이스를 고유하게 식별하는 공유된 비밀로서 레지스트리(8)와 함께 공유된다. 예를 들어, 센서 키는 제조 동안에 생성된 128-비트 또는 256-비트 AES(Advanced Encryption Standard) 키일 수 있다. 에이전트 디바이스(4)를 인증하기 위해, 에이전트 디바이스(4)는 레지스트리(8)에 메시지를 전송할 수 있고, 그 메시지의 일부는 센서 키(28)로 암호화되어 있다. 레지스트리(8)가 메시지(28)의 그 일부를 성공적으로 암호해독하여 그 자신의 센서 키(28)의 사본을 이용하여 그것이 올바른 것이라고 확인할 수 있다면, 에이전트 디바이스(4)의 인증이 성공적이다. 예를 들어, 해시를 암호화하는데 이용된 센서 키(28)와 에이전트 디바이스(4)에 의해 메시지로부터 해시가 생성될 수 있다. 메시지를 수신하는 레지스트리는 에이전트 디바이스(4)와 동일한 알고리즘을 이용하여 그 자신의 수신된 메시지의 해시를 생성할 수 있고 또한 수신된 해시를 암호해독하여 이것이 자신이 생성한 해시와 정합하는지를 체크할 수 있다. 2개의 해시가 정합한다면, 에이전트 디바이스는 인증된다. 제1 인증 모델의 이점은 낮은 구현 비용이라는 것이다. 에이전트 디바이스(4)에서 공개 키 인프라스트럭쳐나 키 생성기(18)를 제공하는 것이 필요하지 않다. 단지 AES, 또는 다른 공유된 비밀 방식만이 요구된다. 그러나, 공유된 비밀은 손상되는 경우 공격자에게 소유권 변경이나 데이터 액세스를 포함한 디바이스 또는 에이전트 디바이스의 완벽한 제어를 제공하기 때문에, 낮은 비용은 감소된 보안을 희생하여 온다. 레지스트리(8)에 제공된 공유된 센서 키(28)는 디바이스를 인증하는데 이용되는 센서 키(28)와 동일하기 때문에, 특히 제조 시스템(70)으로부터 레지스트리(8)로의 센서 키의 배포(72) 동안에 센서 키(28)를 노출시킬 잠재성이 비대칭 키의 이용에 비해 크다. 그러나, 센서 키(28)는 각각의 에이전트 디바이스(4)에 대해 고유하기 때문에, 센서 키가 손상되더라도, 이것은 하나의 에이전트 디바이스(4)에만 영향을 미치고 임의의 다른 에이전트 디바이스에는 영향을 미치지 않을 것이다. 따라서, 이 모델은 날씨 예보 등의 낮은 보안 애플리케이션에 이용될 수 있다.
일부 실시예에서, 단일의 센서 키(28)를 갖는 것 대신에, 센서 키들의 목록이 에이전트 디바이스(4) 내에 임베딩될 수 있고, 목록으로부터의 키가 에이전트 디바이스(4)에 의해 그 자신을 인증하기 위해 선택될 수 있다. 이 경우, 어느 키가 선택된 키인지를 나타내는 목록 내로의 인덱스를 이용하여 디바이스의 활성 식별이 정의될 수 있다. 그 다음, 레지스트리(8)는 선택된 키에 대한 대응하는 에이전트 디바이스 키를 제공받을 수 있다. 이 접근법에 의해, 하나의 센서 키가 손상되더라도, 에이전트 디바이스(4)는 목록으로부터 또 다른 센서 키를 이용하도록 스위칭할 수 있다.
도 11은, 에이전트 디바이스(4)에 대한 인증 정보가 여전히 고정되어 (변경불가능하게) 있지만, 이번에는 인증 정보가 개인 키(29)와 공개 키(32)를 포함한 비대칭 키 쌍을 포함하는 제2 인증 모델의 예를 도시한다. 이것은 더욱 안전한데, 그 이유는 개인 키(29)는 에이전트 디바이스(4)에 의해서만 보유될 수 있고 임의의 다른 디바이스와 공유되지 않는 반면, 대응하는 공개 키(32)는 개인 키(29)를 노출하지 않고 다른 디바이스들에 널리 브로드캐스팅될 수 있기 때문이다. 비대칭 키 쌍은, 앞서 논의된 것과 유사한 방식으로 개인 키(29)를 이용하여 부분적으로 암호화된 메시지가 대응하는 공개 키(32)를 이용해서만 암호해독될 수 있게 하는 것이다. 따라서, 레지스트리(8)가 공개 키(32)를 이용하여 에이전트 디바이스로부터 수신된 메시지를 성공적으로 암호해독할 수 있다면, 메시지가 개인 키(29)를 갖는 인증된 에이전트 디바이스로부터 나온 것이라고 확신할 수 있다. 키 쌍은 또한, 에이전트 디바이스(4)의 공개 페이스(public face)를 나타내는 디지털 인증서(36)와 연관된다. 인증서(36)는 공개 키(32)를 레지스트리(8)에 전송하는데 이용될 수 있고 레지스트리에 의해 일단 서명되고 나면 공개 키(32)가 에이전트 디바이스(4)에 대한 올바른 키라는 것을 확인한다. 키 쌍과 인증서는 임의 종류의 형태의 서명된 인증서와 키 쌍을 포함할 수 있다. 예를 들어, ECC(elliptic curve cryptography) 키들은 키 쌍(29, 32)으로서 이용될 수 있고, X.509 인증서는 디지털 인증서(36)로서 이용될 수 있다. 이 모델에서, 제조 디바이스(70)는 제조 동안에 키 쌍과 인증서(36)를 생성하고 이들을 도 11에 도시된 바와 같이 메모리의 보호된 영역(24, 34)에 임베딩한다. 제조 프로세스(70)가 에이전트 디바이스(4)의 개인 키(29)를 알 것이라는 점에서 잠재적 취약성이 존재하지만, 제조사(70)는, 일단 개인 키가 에이전트 디바이스(4) 내에 주입되고 나면, 개인 키(29)를 삭제할 수 있고, 그 후, 에이전트 디바이스(4)는 개인 키로 액세스를 갖는 유일한 장치가 될 것이다. 개인 키는 에이전트 디바이스(4) 그 자체 이외의 다른 어떠한 부분에 의해서도 요구되지 않는다. 제조사(70)로부터 레지스트리(8)로의 인증 정보의 이전은 더욱 보안되는데, 그 이유는, 이것이 공개 키(32)와 인증서(36)의 이전만을 요구하고 개인 키(29)는 요구하지 않기 때문이다. 그러나, 이 모델에서는, 에이전트 디바이스가 PKI 능력과 개인 키(29), 공개 키(32) 및 인증서(36)를 저장하기 위한 더 많은 보호된 메모리를 요구하기 때문에, 제1 인증 모델에 비해 비용이 증가한다. 그러나, 에이전트 디바이스(4) 이외의 디바이스들에 의해 알려지는 영구적 공유된 키가 없기 때문에 보안성이 더 높다. 다시 한번, 단일의 키 쌍이 아니라, 에이전트 디바이스(4)는, 에이전트 디바이스가 일단 동작하고 나면, 선택에 이용가능한 키 쌍들의 목록을 가질 수 있다. 그럼에도 불구하고, 이 경우에 레지스트리(8)에 의해 유지되는 에이전트 디바이스들의 목록이 공개 키와 인증서만으로 구성되기 때문에 목록은 상당한 보호 요건들을 갖지 않는다. 제2 모델에 대해 임의의 알려진 PKI 방식이 이용될 수 있다.
도 12는 제1 및 제2 모델보다 더욱 안전하지만 구현하기에 비용이 더 많이 드는 제3 인증 모델을 도시한다. 다시 한번, 개인 키(29)와 공개 키(32)가 디지털 인증서(36)와 함께 에이전트 디바이스(4)의 저장 회로(16)에 제공된다. 그러나, 제3 모델은 온칩 키 생성 회로(18)가 키 쌍(29, 32)을 생성하기 위해 에이전트 디바이스(4)에 제공된다는 점에서 제2 모델과는 상이하다. 이것은, 제조사(70)가 에이전트 디바이스(4)의 개인 키(29)를 결코 알지 못하기 때문에 더 많은 보안을 제공한다. 또한, 온칩 키 생성 설비가 제공되기 때문에, 필요하다면 에이전트 디바이스는 인증 정보를 변경하기 위해 키 쌍을 재생성할 수 있다. 공개 키(32)와 인증서(36)만이 레지스트리(8) 등의 외부 디바이스들에 제공된다. 따라서, 신원 및 소유권 설정 동안에, 에이전트 디바이스(4) 내의 칩셋(18)은 ECC 키 쌍 등의 비대칭 키 쌍을 생성한다. 개인 키(29)는 메모리의 판독/기입 보호된 영역(24)에 저장된다. 특권 코드만이 개인 키(29)에 액세스한다. 온칩 키 생성 회로(18)는 또한, 인증서(36)를 생성하고, 디바이스 ID(22) 및 공개 키(32)를 포함하는 인증서 서명 요청을 레지스트리(8)에 전송한다. 공개 키(32)와 인증서(36)는 또한 보호 없이 완전히 판독가능한 메모리의 기입-보호된 영역(34) 내에 기입된다. 레지스트리(8)는 인증서(36)에 서명하여 에이전트 디바이스가 인증된 것임을 확인한다. 이 방법은, 센서 키(28) 또는 개인 키(29)가 레지스트리(8)나 제조 플랫폼(70)으로부터 추출될 수 있는 모델들 1 또는 2의 노출 취약성을 갖지 않는다. 에이전트 디바이스의 개인 키(29)는 에이전트 디바이스(4) 이외의 어떠한 디바이스에도 결코 노출되지 않는다. 이 경우 보안의 강도는 온칩 키 생성기(18)에 의한 키 쌍의 품질에 의존하고, 이것이 충분히 보안유지되기 위해, 보안된 키 생성을 지원하기 위해(예를 들어, 양호한 난수 생성이 요구될 것이다) 추가 실리콘이 필요하므로 디바이스 제조에서 비용 추가가 생긴다.
도 12의 예에서, 제3 인증 모델은 또한, 레지스트리(8)와 에이전트 디바이스(4) 사이의 신뢰된 관계가 제2 레지스트리(80)에 이전되는 것을 허용한다. 이 프로세스가 이후에 더 상세하게 설명될 것이다. 에이전트 디바이스(4)는 온칩 키 생성 회로(18)를 갖기 때문에, 이것은 에이전트 디바이스 신뢰를 제1 레지스트리(8)로부터 제2 레지스트리(80)로 이전할 때, 새로운 키가 생성되어 제1 레지스트리(8)가 에이전트 디바이스(4)를 더 이상 인증할 수 없게 한다. 이것은, 정부 또는 국방 애플리케이션에서의 이용 등을 위한 개인 레지스트리(8)의 오퍼레이터가 소정의 에이전트 디바이스들이 그 레지스트리에 이전되고 공개 레지스트리(8)와의 모든 결속이 제거될 것을 요구할 수 있기 때문에 추가적인 보안을 제공하는데 유용할 수 있다. 대안으로서, 제1 레지스트리는, 에이전트 디바이스를 더 이상 인증할 수 없도록 관련 엔트리를 삭제할 것을 지시받을 수 있다. 이런 방식으로, 에이전트 디바이스는 새로운 키를 생성할 필요가 없다. 또 다른 변형에서, 에이전트 디바이스는 하나보다 많은 미리-저장된 키를 가질 수도 있다. 레지스트리 변경시에, 이전의 미사용된 키가 이용될 수 있다.
도 10과 도 11의 다른 모델들에 대해 레지스트리들 간에 신뢰를 이전하는 능력을 제공하는 것이 역시 가능할 수 있다는 것을 이해할 것이다. 그러나 이 경우 에이전트 디바이스는 그 키 정보를 재생성할 수 없기 때문에 에이전트 디바이스(4)는 제2 레지스트리(80)에서 동일한 키 정보로 등록될 것이다. 이 경우, 2개의 레지스트리(8, 80)는 동일한 에이전트 디바이스(4)를 공유하여, 동일한 에이전트 디바이스(4)가 양쪽 레지스트리에 등록되게 할 수 있다. 따라서, 에이전트 디바이스 데이터를 직접 다른 레지스트리에 이전하는 것이 아니라, 그 대신, 에이전트 디바이스가 양쪽 레지스트리에 할당되어 에이전트 디바이스가 양쪽 레지스트리와 연관된 애플리케이션 제공자와 통신할 수 있게 할 수 있다.
따라서, 다수의 상이한 종류의 인증 모델이 제공되어 에이전트 디바이스 설계가 충분한 정도의 보안을 유지하는 능력과 보안을 구현하는 비용 간에 밸런스를 유지하도록 허용한다. 에이전트 디바이스의 의도된 목적에 따라, 제조 동안에 특정한 모델이 선택되고 어느 모델이 이용되었는지에 관한 정보가 레지스트리(8)에 의해 유지되어 애플리케이션들이 그들의 요구조건에 대해 적절한 에이전트 디바이스를 이용하는 것을 허용할 수 있다. 도 13은 도 10 내지 도 12에 도시된 모델들의 상이한 속성들을 비교하는 표를 도시한다. 다른 유형의 모델들이 이용될 수도 있다는 것을 이해할 것이다. 예를 들어, 상이한 유형의 키 생성이 이용되어 상이한 정도의 보안을 제공할 수 있다.
도 14는 에이전트 디바이스(4)에 대한 신뢰된 신원을 확립하는 방법의 제1 예를 도시한다. 에이전트 디바이스의 제조 동안에, 그 배포 동안에, 또는 나중에 레지스트리로의 디바이스의 등록시에, 신뢰된 신원이 확립될 수 있다. 단계(100)에서, 에이전트 디바이스(4)에 대해 이용될 인증 모델이 판정된다. 에이전트 디바이스(4)가 이미 제조되었다면 선택된 인증 모델의 판정은 에이전트 디바이스(4)에 어떤 자원이 이미 제공되었는지에 의존할 것이다(예를 들어, 에이전트 디바이스가 온칩 키 생성 회로(18)를 갖고 있지 않다면, 앞서 논의된 인증 모델(3)은 선택되지 못할 것이다). 반면, 에이전트 디바이스 제조 동안에 또는 제조 이전에 이 방법이 수행된다면, 임의의 인증 모델이 선택될 수 있고 (디바이스 내로 보호된 저장소, PKI 인프라스트럭쳐, 또는 키 생성 능력을 구축하는 것과 같이) 그 모델을 구현하기 위해 요구되는 처리 자원은 나중에 구현될 수 있다.
단계(102)에서, 에이전트 디바이스(4)를 인증하기 위한 키 정보가 선택된 인증 모델에 따라 생성된다. 이것은, 선택된 모델에 따라, 외부 제조 디바이스(70)에 의해 또는 에이전트 디바이스(4) 자체에 의해 수행될 수 있다. 단계(104)에서, 디바이스 ID(22), 공유된 센서 키(28) 또는 개인 키(29), 레지스트리 주소(26) 및 선택사항으로서 디바이스 인증서(36)가 에이전트 디바이스(4)의 저장 회로(16) 내에 임베딩된다. 임베딩 단계는, 저장 회로를 디바이스 내에 구축함으로써, 또는 제조의 이전 단계 동안에 에이전트 디바이스 내에 이미 제공된 저장 회로에 정보를 저장함으로써 구현될 수 있다. 인증 모델 1이 이용된다면 센서 키(28)가 임베딩되는 반면, 인증 모델 2 또는 3이 이용된다면, 개인 키(29) 및 인증서(36)가 저장 회로(16)에 저장된다. 이 때, 에이전트 디바이스(4)에는 또한 레지스트리(8)의 신원을 확인하기 위한 레지스트리 인증 정보가 제공될 수 있다.
단계(106)에서, 에이전트 디바이스의 신뢰된 신원을 정의하기 위한 다양한 메타데이터가 레지스트리 장치(8)에 업로드된다. 예를 들어, 디바이스 ID(22), (모델 1의 경우) 센서 키(28) 또는 (모델 2 또는 3의 경우) 공개 키(32), (모델 2 또는 3의 경우) 디지털 인증서(36), 및 선택된 모델을 나타내는 인증 모델 정보(64)가 레지스트리(8)에 업로드될 수 있다. 단계(108)에서, 레지스트리는 필요하다면 인증서에 서명하고, 디바이스 메타데이터를 레지스트리에 등록하여 디바이스를 그 신원이 인증될 수 있는 신뢰된 디바이스로서 확립한다.
도 15는 디바이스에 대한 신뢰와 신원을 확립하는 제2 예를 도시한다. 이 예에서, 에이전트 디바이스(센서)(4)는 이미 키 생성 회로(18)와 함께 제조되었고, 디바이스 식별자(22)는 저장 회로(16)의 OTP 영역(20)에 저장되었다. 따라서, 인증 모델 3 또는 온칩 키 생성을 허용하는 유사한 모델이 이 센서(4)에 의해 이용된다. 단계(120)에서, 센서(4)는 센서(4)의 디바이스 식별자(22)를 명시하는 등록(등재) 요청을 레지스트리(8)에 전송한다. 단계(122)에서, 레지스트리는 센서(4)가 이미 레지스트리에 의해 소유되어 있는지를 체크하고, 만일 그렇다면, 방법은 종료한다.
에이전트 디바이스가 이미 소유되어 있지 않다면, 단계(124)에서 센서(4)는 키 생성기(18)를 이용하여 새로운 키 쌍(29, 32)을 생성하도록 트리거되고, 키 쌍의 개인 키(29)는 보호된 저장 영역(24)에 놓여진다. 단계(126)에서, 인증서 서명 요청이 생성되어, 레지스트리(8)에 전송된다. 인증서 서명 요청은, 레지스트리(8)가 센서(4)의 디지털 인증서(32)에 서명할 것을 요청한다. 인증서는, 적어도 대상 이름으로서의 센서(4)의 디바이스 식별자(22), 센서(4)의 보안 레벨(인증 모델 정보), 및 키 생성기(18)에 의해 생성된 공개 키(32)를 포함한다. 단계(128)에서, 레지스트리(8)는 인증서에 서명하여 인증서와 공개 키가 유효하다는 것을 확인한다. 레지스트리는 센서(4)에 대한 정보를 디바이스 레지스트리에 등록하여 센서(4)를 신뢰된 에이전트 디바이스로서 확립한다.
도 16은 에이전트 디바이스(4)의 인증을 수행하여 이것이 신뢰된 디바이스로서 등록되어 있는지를 체크하고, 에이전트 디바이스(4)와 애플리케이션 제공 장치(6) 사이에 신뢰된 통신을 확립하는 방법을 도시한다. 에이전트 디바이스(4)는 예를 들어 도 14 또는 도 15에 도시된 방법을 이용하여 레지스트리(8)에 이미 등록되어 있고, 따라서, 레지스트리(8)는, 에이전트 디바이스(4)가 에이전트 디바이스(4)를 고유하게 식별하는 인증 정보를 포함하고 있는지를 확인하기 위한 정보를 포함한다고 가정된다. 이 예에서, 인증 모델 3이 이용되어 에이전트 디바이스(4)는 센서 개인 키 Ks .pr를 포함하고 레지스트리(8)는 개인 키 Ks .pr에 대응하는 센서 공개 키 Ks . pu를 포함한다. 유사하게 에이전트 디바이스(4)는, 레지스트리(8)에 의해 보유된 레지스트리 개인 키 Kr.pr에 대응하는 레지스트리 공개 키 Kr. pu를 이용하여 레지스트리(8)를 인증할 수 있다.
단계(150)에서, 레지스트리(8)와 애플리케이션 제공자(6)는 서로의 상호 인증을 수행하여 신뢰를 확립한다. 전형적으로, 이것은 레지스트리(8)에 의해 각각의 애플리케이션 제공자(6)에 대해 한번씩 수행될 것이다. 레지스트리(8)와 애플리케이션 제공자(6) 사이의 상호 인증(150)은 애플리케이션 제공자(6)와 통신하고자 하는 각각의 에이전트 디바이스(4)에 대해 통상적으로 반복되지 않을 것이다. 상호 인증(150)은 임의의 공지된 인증 기술을 이용하여 이루어질 수 있다.
단계(152)에서, 에이전트 디바이스가 활성화되고, 활성화에 응답하여, 에이전트 디바이스(4)는 인증 요청(154)을 에이전트 디바이스의 보호된 저장소(24)에 임베딩된 레지스트리 URL(26)에 의해 식별된 레지스트리에 전송한다. 인증 요청은 에이전트 디바이스(4)를 식별하는 디바이스 ID(22)를 포함한다. 에이전트 디바이스의 활성화는, 예를 들어, 에이전트 디바이스가 설치 이후에 처음으로 전원투입되는 것, 또는 에이전트 디바이스 상의 활성화 버튼이 눌러지는 것을 포함할 수 있다. 인증 요청(154)은 에이전트 디바이스의 활성화에 응답하여 자동으로 전송되어 인증을 트리거하기 위해 사용자 인터페이스 또는 어떤 다른 종류의 사용자 인터페이스가 요구될 필요성이 없다. 이것은, 에이전트 디바이스를 설치하거나 이용하는 사람이 그 에이전트 디바이스가 인증되어 있는지를 알 필요가 없다는 것을 의미한다. 인증 요청(154)에 응답하여, 에이전트 디바이스(4)와 레지스트리(8)는, 등록 또는 등재 동안에 에이전트 디바이스(4)와 레지스트리(8)에 의해 이미 교환된 키들을 이용하여 상호 인증(156)을 개시한다. 상호 인증에서, 에이전트 디바이스(4)는 센서 개인 키 Ks .pr를 이용하여 메시지의 해시를 암호화하고, 부분적으로 암호화된 메시지(158)를 레지스트리(8)에 전송한다. 대응하는 방식으로, 레지스트리(8)는 레지스트리 개인 키 Kr.pr를 이용하여 메시지의 해시를 암호화하고, 부분적으로 암호화된 메시지(159)를 에이전트 디바이스(4)에 전송한다. 에이전트 디바이스(4)는 그 자신의 메시지(159)의 해시를 획득하고, 이것을, 레지스트리 공개 키 Kr. pu로 암호화된 해시를 암호해독함으로써 획득된 해시와 비교한다. 2개의 해시가 정합한다면, 레지스트리(8)는 진본인 것으로 가정된다. 유사하게, 레지스트리(8)는 메시지(158)로부터 해시를 취득하고, 이것을, 센서 공개 키 Ks . pu를 이용하여 메시지(158)와 함께 수신된 암호화된 해시를 암호해독함으로써 획득된 해시와 비교한다. 다시 한번, 2개의 해시가 정합한다면, 에이전트 디바이스(4)는 인증된다.
도 16은 에이전트 디바이스(4)에 의해 전송된 별개의 인증 요청(154)과 인증 메시지(158)를 도시하고 있지만, 다른 실시예에서는, 인증 요청(154)과 인증 메시지(158)는 동일한 메시지일 수 있어서, 에이전트 디바이스(4)는 활성화(152) 시에 부분적으로 암호화된 인증 메시지(158)를 (디바이스 ID(22)와 함께) 레지스트리(8)에 전송하고 이것은 레지스트리(8)가 상호 인증(156)에 의해 응답하도록 트리거하는 인증 요청으로서 역할한다.
레지스트리(8)가 에이전트 디바이스(4)로부터 수신된 메시지(158)를 성공적으로 인증한다면, 단계(160)에서 레지스트리(8)는 애플리케이션 키(30)를 생성하고 이 애플리케이션 키를 에이전트 디바이스(4)에 전송한다. 또한, 레지스트리(8)는, 애플리케이션 키(30)를, 인증 요청(154)에서 명시된 디바이스 ID(22)를 갖는 에이전트 디바이스(4)에 대한 레지스트리 엔트리(60) 내의 애플리케이션 식별자(62)에 의해 식별되는 애플리케이션 제공자(6)에게 전송한다. 레지스트리(8)는 또한, 에이전트 디바이스(4)의 에이전트 디바이스 ID를 애플리케이션 제공자(6)에게 전송하여, 애플리케이션 제공자(6)가 수신된 애플리케이션 키(30)를 이용하여 어느 에이전트 디바이스(4)가 통신할 것인지를 알게 한다.
에이전트 디바이스(4)가 레지스트리(8)를 성공적으로 인증하면, 단계(170)에서 에이전트 디바이스(4)와 애플리케이션 제공자(6)는 레지스트리(8)로부터 수신된 애플리케이션 키(30)를 이용하여 암호화된 통신을 개시한다. 레지스트리(8)가 에이전트 디바이스(4)에 의해 성공적으로 인증되지 않았다면, 에이전트 디바이스(4)는 애플리케이션 키(30)를 이용한 어떠한 암호화된 통신에도 참여하지 않는다. 암호화된 통신(180)에서, 일반적으로 에이전트 디바이스(4)는 데이터를 애플리케이션 제공자(6)에 전송할 것이고 애플리케이션 제공자는 에이전트 디바이스(4)에 명령을 전송할 것이지만, 반대 방향으로 데이터나 명령을 전송하는 것도 역시 가능할 수 있다. 단계(190)에서, 애플리케이션 제공 장치(6) 상에서 실행중인 애플리케이션은 에이전트 디바이스로부터 수신된 데이터를 처리한다. 예를 들어, 애플리케이션은 추가 정보를 판정하기 위해 이 데이터를 이용하거나 인터넷을 통해 액세스될 수 있는 클라우드 컴퓨팅 플랫폼을 위해 이 데이터를 이용할 수도 있다. 암호화된 통신(180)은 레지스트리(8)를 통한 진행없이 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이에서 직접 진행한다.
따라서, 레지스트리(8)는 에이전트 디바이스(4)와 애플리케이션 제공자(6)가 에이전트 디바이스(4)에서의 복잡한 구성이나 사용자 상호작용을 요구하지 않고 통신을 암호화하도록 허용한다. 이것은, 에이전트 디바이스(4)가 매우 간단하고 복잡한 처리 자원을 가질 필요가 없는 한편, 보안이 여전히 유지될 수 있다는 것을 의미한다.
도 17은, 에이전트 디바이스(4)를 특정한 소비자(사용자)(10)와 연관시키고 에이전트 디바이스(4)를 레지스트리(8) 내의 애플리케이션 제공자(6)와 연관시키기 위한 방법을 도시한다. 단계(200)에서, 소비자(10)는 에이전트 디바이스의 디바이스 ID(22)를 획득한다. 이것은 다양한 방식으로 이루어질 수 있다. 예를 들어, 에이전트 디바이스(4) 또는 디바이스(4)를 위한 박스가 그 표면 상에 디바이스 ID를 인쇄할 수 있고 소비자는 에이전트 디바이스 케이스로부터 디바이스 ID를 판독할 수 있다. 또한, 디바이스 ID는 바코드 또는 QR 코드 또는 유사한 그래픽 표현으로 표현될 수 있고 사용자는 코드 리더기를 이용하여 코드를 스캔해 디바이스 ID(22)를 획득할 수 있다. 그 다음, 소비자(10)는 소비자의 식별자(사용자 ID)와 디바이스 식별자(22)를 포함하는 디바이스 연관 요청(210)을 애플리케이션 제공자(6)에게 전송한다. 이 단계는, 예를 들어 스마트폰이나 태블릿 앱 또는 웹 인터페이스를 이용하여 바코드나 QR 코드를 판독하는 것에 응답하여 자동으로 발생할 수 있다. 애플리케이션 제공자(6)는 이제 디바이스 ID에 대비하여 사용자 ID를 기록(log)할 수 있어서 에이전트 디바이스(4)로부터의 이후의 통신은 특정한 소비자와 연관될 수 있다. 디바이스 연관 요청(210)을 수신한 후에, 애플리케이션 제공자(6)는 또한, 애플리케이션 제공자(6)의 애플리케이션 식별자를 에이전트 디바이스 연관 요청(210)으로부터의 디바이스 ID(22)에 링크하는 애플리케이션 연관 요청(220)을 레지스트리(8)에 전송할 수 있다. 애플리케이션 연관 요청에 응답하여, 레지스트리(8)는 애플리케이션 식별자를 애플리케이션 연관 요청(220)에 의해 명시된 디바이스 식별자(22)를 갖는 에이전트 디바이스에 대한 레지스트리 엔트리(60)에 등록한다.
다른 예에서, 소비자(10)는 애플리케이션 제공자로부터 직접 에이전트 디바이스(4)를 획득했을 수도 있어서, 소비자가 에이전트 디바이스를 취득하는 때에, 애플리케이션 제공자(6)는 디바이스 ID와 사용자 ID 간의 링크를 이미 알 수도 있다. 이 경우, 디바이스 연관 요청(210)에 대한 필요성이 없으므로 애플리케이션 제공자(6)가 대신에 그 내부 레코드를 이용하여 레지스트리(8)에 전송될 애플리케이션 연관 요청(220)을 생성할 수도 있다. 레지스트리(8)는 사용자 식별자를 수신하지 않는다는 점에 유의한다. 레지스트리 엔트리(60)는 디바이스 ID에 의해서만 에이전트 디바이스(4)를 식별하며 어떠한 사용자 데이터도 포함하지 않는다.
유사한 방식으로, 애플리케이션 연관 요청(220)은 또한, 한 애플리케이션 제공자(6)와 현재 연관된 에이전트 디바이스(4)가 상이한 제공자(6)에게 이전될 것을 요청하기 위해 애플리케이션 제공자(6)에 의해 이용될 수 있다. 애플리케이션 연관 요청(220)은 이 경우에, 에이전트 디바이스 자체(예를 들어, 사용자가 애플리케이션 제공자를 스위칭하기로 선택한 경우), 에이전트 디바이스(4)와 이전에 연관되었던 구 애플리케이션 제공자(6), 애플리케이션 연관 요청(220)을 이용하여 디바이스가 할당된 새로운 애플리케이션 제공자(6), 또는 다른 제3자 디바이스를 포함한, 다양한 소스로부터 나올 수 있다. 레지스트리(4)는, 에이전트 디바이스(4)를 새로운 애플리케이션 제공자(6)에게 할당하기 이전에 애플리케이션 연관 요청(220)을 행하고 있는 디바이스가 신뢰된 디바이스인지를 체크할 수 있다. 대안으로서, 에이전트 디바이스(4)가 복수의 애플리케이션 제공자(6)와 연관되는 것이 허용된다면, 상기에서 주어진 예에서와 같이 이전의 애플리케이션 제공자(6)를 대체하는 것이 아니라 이전의 애플리케이션 제공자(6)와 함께 새로운 애플리케이션 제공자(6)가 에이전트 디바이스(4)에 대해 등록될 수 있다.
도 18은, 제1 레지스트리(8)에 등록되어 있는 에이전트 디바이스(4)를 제2 레지스트리(80)에 할당하는 방법을 나타낸다. 단계(250)에서, 요청자 디바이스는, 등록된 에이전트 디바이스(4)의 소유권을 제2 레지스트리(80)에 이전할 것을 요청한다. 요청자 디바이스는, 에이전트 디바이스(4), 제2 레지스트리(80)이거나, 애플리케이션 제공자(클라우드 서비스 소유자) 등의 또 다른 제3자 디바이스일 수도 있다. 단계(260)에서, 제1 레지스트리(8)는, 디바이스 할당 요청에서 언급된 에이전트 디바이스(4)가 레지스트리에 현재 등록되어 있는지를 체크한다. 등록되어 있지 않다면, 방법은 종료한다. 따라서, 에이전트 디바이스의 소유권을 할당받기 위하여, 그 에이전트 디바이스의 등록을 현재 갖고 있는 제1 레지스트리(8)로부터의 허용을 요청하는 것이 필요하다. 이것은, 그 에이전트 디바이스와 신뢰를 이미 확립한 레지스트리만이 그 신뢰된 상태를 또 다른 레지스트리(80)에 이전하는 것을 인가할 수 있도록 보장한다.
단계(270)에서, 제1 레지스트리는 에이전트 디바이스 할당 요청을 행한 요청자 디바이스를 신뢰하는지를 판정한다. 신뢰하지 않는다면, 방법은 종료한다. 제1 레지스트리는 요청자를 이전에 이미 인증했을 수 있고, 이 경우, 요청자는 신뢰된 요청자로서 판정될 수 있다. 대안으로서, 단계(270)에서, 요청자가 이미 인증되지 않았다면 레지스트리는 요청자를 새로이 인증할 수 있다. 제1 레지스트리(8)와 요청자 사이의 인증은 임의의 공지된 기술을 이용하여 진행될 수 있다. 또한, 일부 인증 모델의 경우, 상이한 레지스트리로의 에이전트 디바이스(4)의 할당은 허용되지 않을 수도 있으므로 레지스트리는 에이전트 디바이스에 대한 인증 모델 정보가 에이전트 디바이스의 할당이 허용되도록 하는 것인지를 체크할 수 있다.
단계(270)에서의 체크에 이어, 레지스트리가 요청자를 신뢰한다면 에이전트 디바이스는 상이한 레지스트리로 이전되는 것이 허용되고, 방법은 단계(280)로 진행하고, 여기서 에이전트 디바이스(4)는 키 생성기(18)를 이용해 새로운 키 쌍을 생성한다. 에이전트 디바이스(4)는 상이한 방식들로 새로운 키 쌍을 생성하도록 트리거될 수 있다. 한 예에서, 제1 레지스트리(8)는 에이전트 디바이스(4)에게 또 다른 레지스트리에 할당될 것을 지시할 수 있고, 이 지시에 응답하여 에이전트 디바이스는 새로운 키 쌍을 생성할 수 있다. 대안으로서, 제1 레지스트리(8)는 요청자 디바이스 또는 제2 레지스트리(80)에게 디바이스가 할당될 수 있다는 것을 통보할 수 있고, 그러면, 이 디바이스는 새로운 키 쌍을 생성하도록 에이전트 디바이스를 트리거할 수 있다. 단계(290)에서, 에이전트 디바이스(4)는 새로이 생성된 공개 키와 에이전트 디바이스(4)의 디바이스 ID를 포함하는 인증서 서명 요청을 생성한다. 공개 키에 대응하는 개인 키는 보안 저장소에 저장된다. 인증서 서명 요청은 제2 레지스트리(80)에 전송되어, 단계(300)에서, 제2 레지스트리(80)는 인증서에 서명하고 에이전트 디바이스(4)를 그 디바이스 레지스터에 등록한다. 단계(310)에서, 에이전트 디바이스는 원본 키 쌍으로부터 개인 키(29)를 삭제하고 그 레지스트리 URL(26)을 제2 레지스트리(80)의 URL에 대응하도록 업데이트함으로써 그 원본 레지스트리 소유권을 무효화한다. 단계(320)에서, 제1 레지스트리(8)는 에이전트 디바이스가 그 레지스트리 소유권을 정확히 이전했는지를 체크한 다음, 제2 레지스트리(80)에게 에이전트 디바이스(4)가 이제 제2 레지스트리(80)의 소유권 하에 있다는 것을 통보한다. 이 때, 제1 레지스트리(8)는 선택사항으로서 에이전트 디바이스(4)에 대한 레지스트리 엔트리(60)를 삭제하여 에이전트 디바이스(4)가 더 이상 제1 레지스트리에서 등록되어 있지 않도록 할 수 있다. 대안으로서, 에이전트 디바이스에 대한 엔트리는, 원래의 키 쌍으로부터의 공개 키(32)는 에이전트 디바이스(4)에 의해 그 대응하는 개인 키가 삭제되어서 더 이상 적절하지 않기 때문에 레지스트리 내에 머무를 수 있다.
도 18에 도시된 예는 인증 모델 3 또는 에이전트 디바이스가 새로운 키 쌍을 생성할 능력을 갖는 유사한 인증 모델에 대한 것이다. 에이전트 디바이스가 인증 모델 2 또는 인증 정보가 고정되어 있는 유사한 모델을 갖는 경우, 새로운 키 쌍을 생성하는 것이 아니라, 단계(280, 290, 및 300)에서, 제1 레지스트리로부터의 원본 키 쌍과 인증서가 이용되어 제2 레지스트리(80)에는 제1 레지스트리(8)에서 원래 등록되었던 것과 동일한 인증 정보가 제공될 수 있다. 할당 이후, 에이전트 디바이스(4)는 양쪽 레지스트리(8, 80)에 등록되어 양쪽 레지스트리에 의해 인증될 수 있고 양쪽 레지스트리(8, 80)와 연관된 애플리케이션 제공 장치와 통신할 수 있다.
에이전트 디바이스(4) 또는 제1 레지스트리(8)는 단계들(280 내지 320)이 자동으로 발생하되 단계들이 도중에 중단되어 완료되지 않은 채로 남는 것이 가능하지 않도록 보장하는 조처를 취할 수 있다. 이것은, 업데이트 프로세스를 통한 도중의 실패시에, 유일하게 가능한 결과는, 에이전트 디바이스(4)가 그 원본 키 쌍과 인증서를 유지하고 제2 레지스트리에 전송되지 않는 것(단계(270)를 따를 때, 요청자가 신뢰되지 않는다고 레지스트리가 판정하는 경우와 유사함)이거나, 에이전트 디바이스가 제2 레지스트리의 소유권 하에 있도록 완전히 업데이트되는 것일 것이다. 이것은 에이전트 디바이스(4)가 항상 하나의 레지스트리(8 또는 80)와 연락할 수 있고 어느 쪽 레지스트리(8, 80)에 의해서도 인증되지 못한 채 끝날 수 없도록 보장한다.
일부 경우에, 도 18에 도시된 바와 같이 에이전트 디바이스(4)를 새로운 레지스트리에 할당할 때, 에이전트 디바이스(4)와 연관된 애플리케이션 제공자(6)도 역시 변할 수 있다. 제2 레지스트리(80)는 예를 들어 어느 애플리케이션(들)이 에이전트 디바이스(4)에 할당되어야 하는지를 선택할 수 있고 또는 대안으로서 제2 레지스트리(80)는, 에이전트 디바이스(4)와 연관될 애플리케이션 제공자(6)의 애플리케이션 식별자를 나타내는, 외부 소스로부터의 애플리케이션 연관 요청(220)을 기다릴 수 있다. 대안으로서, 레지스트리의 스위칭시에, 에이전트 디바이스(4)와 연관된 애플리케이션은 동일하게 남을 수 있고 제2 레지스트리(80)는 단순히, 제1 레지스트리(8)에서 에이전트 디바이스(4)에 대해 등록되었던 것과 동일한 애플리케이션 식별자(들)를 등록할 수 있다(예를 들어, 제1 레지스트리(8)는 애플리케이션 식별자(들)를 제2 레지스트리(80)에 제공할 수 있다).
도 19는 이전에 제2 레지스트리(80)에 이전되었던 에이전트 디바이스(4)의 소유권을 리셋하여, 소유권이 원래 에이전트 디바이스(4)를 등록했던 제1 레지스트리(8)의 관리에 반환되도록 하기 위한 방법을 도시한다. 단계(350)에서, 제2 레지스트리(80)(요청자 디바이스)는 제1 레지스트리(8)가 에이전트 디바이스(4)의 소유권을 되찾을 것을 요청한다. 단계(360)에서, 제1 레지스트리(8)는 제2 레지스트리(80)가 신뢰되는지를 판정한다. 다시 한번, 이것은, 인증을 수행하고, 요청자가 이전에 인증되었는지를 체크하거나, 에이전트 디바이스(4)가 제1 레지스트리(8)로 리셋되는 것을 지원하는지를 판정하는 것을 포함한다. 에이전트 디바이스(4)가 레지스트리로 리셋되는 것이 허용되지 않는다면 방법은 종료한다. 그렇지 않다면, 방법은 단계(370)로 진행하고, 그 곳에서 레지스트리는 에이전트 디바이스(4)가 현재 제2 레지스트리(80)에 의해 소유되어 있는지를 체크한다. 그렇지 않다면, 방법은 종료한다. 이것은, 등록의 현재 소유자만이 제1 레지스트리(8)로 리셋되도록 디바이스(4)의 등록을 트리거할 수 있는 것을 보장한다.
에이전트 디바이스가 제2 레지스트리(80)에 의해 소유되어 있다면, 단계(380)에서 에이전트 디바이스(4)에 의해 새로운 키 쌍이 생성된다. 단계(390)에서, 인증서 서명 요청이 새로운 공개 키 및 디바이스 ID와 함께 준비되고 이것은 제1 레지스트리(8)에 전송된다. 생성기 키 쌍의 개인 키는 에이전트 디바이스(4)의 보안 저장소(16)에 저장된다. 단계(400)에서, 제1 레지스트리(8)는 새로운 인증서에 서명하여 에이전트 디바이스를 한번 더 인가한다. 단계(410)에서, 에이전트 디바이스는, 이전의 키 쌍과 인증서를 삭제하고 그 레지스트리 URL(26)을 제1 레지스트리(8)에 대응하도록 업데이트함으로써 제2 레지스트리(80)에의 그 등록을 철회한다. 단계(420)에서, 디바이스 소유권 상태는 제1 레지스트리(8) 내에서 업데이트되고 제2 레지스트리(80)는 에이전트 디바이스(4)에 대한 그 엔트리를 삭제할 수 있다. 그 다음, 이 방법은 종료한다. 다시 한번, 단계들(380-420)에서의 동작들은 자동으로 수행되어, 에이전트 디바이스가 레지스트리들 중 하나에 항상 등록되어 있고 어느 한 쪽의 레지스트리에서의 유효한 등록 없이 종료할 수 없도록 보장할 수 있다.
도 18 및 도 19의 방법들은 에이전트 디바이스가 레지스트리들 사이에서 이전되는 것 또는 한 번에 복수의 레지스트리에 할당되는 것을 허용하며, 이것은 어떤 오퍼레이터들이 그들의 에이전트 디바이스들을 공개 레지스트리를 이용하여 인증된 다른 에이전트 디바이스들로부터 분리하도록 그들 자신의 에이전트 디바이스들의 개인 레지스트리를 제공하는 것을 허용하는데 유용할 수 있다. 예를 들어, 국방 기구, 정부, 또는 도시 관리자는 그들이 조직 내에서의 이용을 위해 그들 자신의 보안되고 신뢰된 에이전트 디바이스들의 레지스트리를 운영할 수 있다. 범용적 이용을 위해 일반적인 공개 레지스트리가 제공될 수 있다. 에이전트 디바이스들이 제조되면 이들은 처음에 공개 레지스트리에 등록될 수 있지만, 개인 레지스트리에 의해 소유권 변경이 요청되면 이들은 개인 레지스트리에 이전될 수 있다. 개인 레지스트리에 의해 에이전트 디바이스들이 더 이상 요구되지 않으면, 소유권은 원래의 레지스트리로 리셋될 수 있다. 바람직하게는, 상이한 레지스트리로의 이전시에 새로운 인증 정보가 생성되어 에이전트 디바이스가 구 레지스트리에 의해 더 이상 인증될 수 없다는 것을 보장할 수 있다.
도 20 내지 도 23은 본 기술에 대한 상이한 응용예들을 설명하는 타임라인의 4가지 예를 도시한다. 도 20은 에이전트 디바이스(센서)가 특정한 클라우드 애플리케이션에 테더링(tether)되어 애플리케이션 제공자에 의해 직접 제공되고 다른 애플리케이션에서는 사용될 수 없도록 된 개인 헬스케어 분야의 제1 예를 도시한다. 에이전트 디바이스(4)는, 예를 들어, 환자의 건강을 모니터링하기 위해 헬스케어 제공자에 의해 작동되는 애플리케이션 제공 장치(6)에 심박수 정보를 피드백할 수 있는 심박수 모니터를 포함하는 손목-착용형 센서일 수 있다. 단계(1)에서, 칩 IP 회사는 센서(4)를 위한 하드웨어 및 소프트웨어와 센서에 대한 보안 설계 지침을 설계한다. 시스템 온 칩(SOC) 제조사는 보안 하드웨어와 고유 디바이스 식별자를 포함하는 SOC를 생성한다. ODM(original device manufacturer)은 센서 디바이스를 제조한다. OEM(original equipment manufacturer)은 최종 제품을 개발한다. (SOC, ODM, 또는 OEM 스테이지일 수 있는) 제조 프로세스 동안의 어떤 시점에서, 단계(2)에서, 디바이스 식별자와 개인 키가 에이전트 디바이스(4)에 설치된다. 단계(3)에서, 제조 지원 시스템(70)에 의해 센서 메타데이터가 레지스트리(8)에 업로드된다. 메타데이터는, 예를 들어, 디바이스 식별자, 공개 키 및 인증 모델 정보를 포함할 수 있다. 레지스트리 장치(8)는 이 정보를 그 디바이스 레지스트리에 등록한다.
단계(4)에서, 센서는 헬스케어 제공자(6)에게 판매된다. 단계(5)에서, 헬스케어 제공자(6)는 센서를 그 서비스의 일부로서 사용자에게 제공한다. 헬스케어 제공자(6)는 디바이스의 센서 ID를 사용자의 ID와 연관시킨다. 단계(4) 또는 단계(5)에서, OEM 또는 애플리케이션 제공자(6)는 애플리케이션 연관 요청을 레지스트리(8)에 제공하여 센서(4)가 헬스케어 제공자의 클라우드 애플리케이션에서 이용될 것임을 통보한다. 따라서, 레지스트리는 고객 정보를 갖지 않지만, 에이전트 디바이스(4)가 활성화될 때 디바이스가 헬스케어 회사에 대응하는 애플리케이션 제공 장치(6)과 통신할 것이라는 것을 안다.
단계(6)에서, 사용자는 헬스케어 제공자(6)로부터 센서(4)를 수신한다. 사용자는 커프(cuff)를 자신의 손목에 맞게 조절하고, 센서(4)를 턴 온(turn on) 해서 이용하기 시작한다. 디바이스를 턴 온 하는 것은 센서(4)를 트리거하여 인증 요청과 함께 레지스트리(8)에 연락하게 하며, 전술된 바와 같이 상호 인증이 이루어진다. 사용자는 이것을 알지 못하며 이 인증을 트리거하기 위한 사용자 인터페이스는 없다 ― 인증은 디바이스의 활성화에 의해 자동으로 트리거된다. 레지스트리(8)는 센서(4)가 이미 그 레지스트리에 등록되었는지 및 헬스케어 제공자(6)에 대응하는 애플리케이션 식별자를 그 레지스트리 엔트리에 갖고 있는지를 판정한다. 따라서, 단계(7)에서, 레지스트리(8)는 헬스케어 제공자에게 디바이스 ID를 통보하고 헬스케어 제공자(6)에게 에이전트 디바이스가 이제 인증된 유효한 디바이스 ID와 함께 활성이라는 것을 통보한다. 단계(8)에서, 헬스케어 제공자(6)는 센서(4)와의 보안 통신을 위한 애플리케이션 키를 요청한다. 단계(9)에서, 레지스트리는 센서(4)와 헬스케어 제공자(6) 양쪽 모두에게 애플리케이션 키를 제공한다. 단계(10)에서, 센서(4)와 헬스케어 제공자(6) 사이에 레지스트리의 관여 없이 직접적인 보안 암호화된 통신이 시작된다.
도 21은, 에이전트 디바이스가 사용자에게 제공되기 이전에 클라우드 애플리케이션에 테더링되는 것 대신에, 사용자가 "기성품" 디바이스를 구매하고 나중에 그 디바이스를 특정한 클라우드 애플리케이션과 연관시킬 수 있는 이용 사례의 또 다른 예를 도시한다. 이것은 사용자가 동일한 클라우드 애플리케이션에서 상이한 유형 또는 브랜드의 센서를 이용하는 것을 허용한다. 다시 한번, 이 예는 애플리케이션 제공 장치가 헬스케어 회사에 속하는 개인 헬스케어에 관한 것이다. 단계들(1-3)은 도 20에서와 동일하다. 그러나, 이 경우 단계(4)에서 OEM은 제품을 소매상에게 판매하고 소매상은 센서(4)를 최종 사용자에게 판매한다. 이 때, 센서(4)는 애플리케이션 제공자(6)에게 예속되어 있지 않다.
단계(5)에서, 사용자는 헬스케어 제공자(6)에 의해 제공하고 센서(4) 그 자체 또는 센서가 팩키징되어 있는 박스 상의 코드를 스캔하는 스마트폰 앱을 실행한다. 스마트폰 상의 앱은 센서의 디바이스 ID를 특정한 사용자 계정에 링크하는 센서 연관 요청을 헬스케어 제공자에게 전송한다. 단계(6)에서, 스마트폰 앱 또는 헬스케어 제공자의 플랫폼(6)은 애플리케이션 ID를 디바이스 ID에 링크하는 애플리케이션 연관 요청을 레지스트리(8)에 전송한다. 따라서, 이제, 레지스트리는 에이전트 디바이스를 특정한 애플리케이션과 연관시킬 수 있고 애플리케이션 제공자는 에이전트 디바이스 ID를 특정한 사용자와 연관시킬 수 있다. 그 다음, 도 21의 단계들(7-11)은 각각 도 20의 단계들(6-10)과 동일한 방식으로 진행한다.
도 22는, "BYOD(buy your own device)" 센서(4)가 사용자에 의해 구매되고 사용자는 센서(4)와 함께 이용하기 위한 수 개의 상이한 애플리케이션 제공자들 중 하나를 선택할 자유가 있는 제3 이용 사례를 도시한다. 사물 인터넷(IOT) 앱 스토어(400)가 이 선택을 행하기 위해 이용된다. 도 22의 단계들(1-4)은 도 21의 경우와 동일하다. 다시 한번, 센서(4)는 소매상에게 판매되고 소매상은 이것을 최종 사용자에게 판매한다. 단계(5)에서, 사용자는, 스마트폰, 태블릿, 또는 컴퓨터 상에서 앱 스토어(400)를 실행하고, 다시 한번, QR 코드 또는 유사한 기술이 이용되어 센서(4)의 디바이스 ID를 수집한다. 단계(6)에서, 앱 스토어(400)는 레지스트리(8)로 센서의 디바이스 ID를 유효성확인한다. 예를 들어, 앱 스토어(400)는 레지스트리(8)에게 질의하여 에이전트 디바이스에 의해 이용되는 인증 모델 또는 에이전트 디바이스의 다른 능력을 판정하고 에이전트 디바이스(4)와 함께 동작하는 호환가능한 앱들의 메뉴를 준비할 수 있다. 사용자는 앱들의 메뉴를 제공받고 원하는 앱을 선택하여, 실행하고 로그인한다. 단계(7)에서, 앱 스토어는 레지스트리를 사용자의 선택으로 업데이트하여 레지스트리가 센서의 디바이스 ID를 선택된 애플리케이션의 애플리케이션 식별자와 연관시키게 한다. 앱 스토어는 또한, 센서의 디바이스 ID와 사용자 ID를 선택된 애플리케이션 제공자(6)에게 전송하여 제공자(6)가 사용자 ID와 센서 ID를 함께 링크시킬 수 있게 한다. 이 때, 레지스트리(8)는 특정한 센서(4)가 어느 애플리케이션과 통신할 것인지를 알며, 애플리케이션 제공자는 어느 고객이 그 센서(4)와 연관되는지를 안다. 그 다음, 도 22의 단계들(8-12)은 각각 도 21의 단계들(7-11)과 동일하며, 여기서, 센서(4)와 레지스트리(22) 사이의 상호 인증이 이루어지고, 그 다음, 센서(4)와 애플리케이션 제공자(6) 사이에 보안 통신이 확립된다.
도 23은 에이전트 디바이스(4)가 개인 헬스케어가 아니라 대규모 산업 또는 정부 배치에서 이용되는 제4 이용 사례를 도시한다. 이 예에서, 에이전트 디바이스는 거리 조명등의 동작에 관한 데이터를 클라우드 플랫폼에 피드백하고, 그 다음, 유지보수 제공자가 이것을 이용하여 예를 들어, 거리 조명등이 수리를 요구하는지를 판정하는 거리 조명등에 설치된 센서(4)이다. 단계들(1-3)은 다시 한번 도 20 내지 도 22에서와 동일하다. 단계(4)에서, 센서를 포함하는 제품이 제조되고 계약자에게 제공된다. 예를 들어, 거리 조명등이 통합된 센서들과 함께 제조되거나, 또는 대안으로서 센서를 포함하는 제품이, 나중의 스테이지에서 거리 조명등 상에 설치되기 위해 거리 조명등과는 별개로 제작될 수 있다. 이 때 레지스트리가 업데이트되어 센서(4)의 판매를 특정한 서비스 제공자(6)에게 반영하거나 또는 대안으로서 이것은, 계약자가 스마트폰 앱이나 유사한 디바이스를 이용하여 제품 ID를 스캔하거나 센서(4)에 대한 GPS 위치 데이터를 제공할 때, 나중에 단계(5)에서의 센서와 거리 조명등의 설치시에 이루어질 수 있다. 단계(6)에서, 계약자의 디바이스는, 센서(4)의 디바이스 ID를, 센서(4)로부터의 센서 데이터를 이용할 애플리케이션(6)의 애플리케이션 식별자와 함께, 레지스트리에 전송할 수 있다. 스마트폰 앱은, 간단한 방식으로, 계약자가 무엇이 이루어지고 있는지를 이해할 필요없이 계약자가 센서(4)를 특정한 애플리케이션(6)에 링크하는 연관 요청을 행하는 것을 허용할 수 있다.
단계(7)에서, 에이전트 디바이스(4)의 활성화시에(예를 들어, 전원투입시에), 거리 조명등의 에이전트 디바이스는 레지스트리와 직접 연락하여 앞서 논의된 바와 같이 상호 인증을 확립한다. 일단 인증이 확립되고 나면, 단계(8)에서 레지스트리는 사물 인터넷(IoT) 기반의 시스템을 개발하거나 배치하는 서비스 제공자(6)에게 새로운 거리 조명등과 에이전트 디바이스들이 설치되었고 유효한 인증된 케이스 신원과 함께 온라인이라는 것을 통보한다. 단계(9)에서, 서비스 제공자(6)는 보안 통신을 위한 애플리케이션 키를 요청한다. 단계(10)에서, 레지스트리(8)는 대칭 애플리케이션 키를 서비스 제공자(6)와 에이전트 디바이스 자체에 제공한다. 그 다음, 직접 보안 통신이 시작되고 서비스 제공자(6)의 IoT 플랫폼은 센서(4)에 의해 제공된 센서 데이터를 이용하여 애플리케이션을 실행한다. (도시 관리자, 또는 유지보수 계약 회사 등의) 고객은 또한 예를 들어 웹 플랫폼을 이용하여 IoT 시스템에 액세스할 수 있다(단계 11). 따라서, 도 23의 예에서, 레지스트리(8)의 이용을 통해, 계약자는 에이전트 디바이스를 간단히 설치하고, 전원에 플러그인하거나 단일 버튼을 누르는 등의 간단한 수단을 이용하여 코드를 스캔하거나 및/또는 에이전트 디바이스를 활성화할 수 있기 때문에, 장비를 설치하는 계약자의 일이 간소화되고, 그 다음, 레지스트리(8)는 에이전트 디바이스를 인증하고 애플리케이션 제공 장치(6)와의 접속을 확립한다. 계약자는 에이전트 디바이스를 구성하기 위해 사용자 인터페이스와 상호작용하면서 시간을 소비할 필요가 없다.
여기서 특정한 실시예들이 설명되었지만, 본 발명은 이것으로 제한되지 않고 본 발명의 범위 내에서 많은 수정과 추가사항이 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 본 발명의 범위로부터 벗어나지 않고 독립항들의 특징들과 함께 이하의 종속항들의 특징들의 다양한 조합이 이루어질 수 있다.

Claims (31)

  1. 하나 이상의 제1 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스(agent device)들을 인증하기 위한 제1 레지스트리 장치(registry apparatus)에 의해 유지되는 제1 디바이스 레지스트리(device registry)에 등록되어 있는 에이전트 디바이스를, 하나 이상의 제2 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제2 레지스트리 장치에 의해 유지되는 제2 디바이스 레지스트리로 할당하기 위한 방법으로서, 상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원(identity)을 인증하기 위한 제1 인증 정보를 포함하고, 상기 방법은,
    (a) 상기 제1 레지스트리 장치가, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 요청자 디바이스로부터 수신하는 단계;
    (b) 상기 디바이스 할당 요청에 응답하여, 상기 제1 레지스트리 장치가, 상기 에이전트 디바이스가 상기 요청자 디바이스로부터의 상기 디바이스 할당 요청에 응답하여 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계;
    (c) 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 에이전트 디바이스가 상기 제2 레지스트리 장치에 상기 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 전송하는 단계; 및
    (d) 상기 제2 레지스트리 장치가 상기 에이전트 디바이스에 대한 상기 제2 인증 정보를 상기 제2 디바이스 레지스트리에 등록하는 단계
    를 포함하며,
    상기 제1 및 제2 디바이스 레지스트리는 상기 에이전트 디바이스와 상기 하나 이상의 제1 및 제2 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스 및 상기 하나 이상의 제1 및 제2 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 방법.
  2. 제1항에 있어서, 상기 제2 인증 정보는 상기 제1 인증 정보와 동일한, 방법.
  3. 제1항에 있어서, 상기 제2 인증 정보는 상기 제1 인증 정보와 상이한, 방법.
  4. 제3항에 있어서, 상기 에이전트 디바이스는 상기 제2 인증 정보를 생성하기 위한 인증 정보 생성 회로를 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 레지스트리 장치는, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다고 판정한 후에 상기 제1 디바이스 레지스트리로부터 상기 에이전트 디바이스에 대한 상기 제1 인증 정보를 삭제하는, 방법.
  6. 제1항에 있어서, 상기 제1 인증 정보는 상기 에이전트 디바이스에 의해 유지되는 제1 개인 키에 대응하는 제1 공개 키를 포함하고, 상기 제2 인증 정보는 상기 에이전트 디바이스에 의해 유지되는 제2 개인 키에 대응하는 제2 공개 키를 포함하는, 방법.
  7. 제6항에 있어서, 상기 에이전트 디바이스는, 상기 제2 인증 정보를 상기 제2 레지스트리 장치에 전송한 후에 상기 제1 개인 키를 삭제하는, 방법.
  8. 제6항 또는 제7항에 있어서, 단계 (c)는, 상기 에이전트 디바이스가 상기 제2 공개 키를 포함하는 디지털 인증서를 상기 제2 레지스트리 장치에 전송하는 단계를 포함하고, 단계 (d)는 상기 제2 레지스트리 장치가 상기 디지털 인증서에 서명하는 단계를 포함하는, 방법.
  9. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 제1 레지스트리 장치, 상기 제2 레지스트리 장치, 및 상기 요청자 디바이스 중 적어도 하나는 상기 에이전트 디바이스에 상기 제2 인증 정보를 상기 제2 레지스트리 장치에 전송할 것을 지시하는, 방법.
  10. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 에이전트 디바이스와 상기 제1 레지스트리 장치 중 적어도 하나는 원자 동작(atomic operation)을 수행하고, 상기 원자 동작은, 상기 제2 인증 정보에 대응하는 정보를 생성하는 것과 상기 제1 인증 정보에 대응하는 정보를 삭제하는 것 중 적어도 하나를 포함하는, 방법.
  11. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 요청자 디바이스는 상기 제2 레지스트리 장치를 포함하는, 방법.
  12. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계는, 상기 제1 레지스트리 장치가 상기 요청자 디바이스를 인증하는 단계를 포함하는, 방법.
  13. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계는, 상기 제1 레지스트리 장치가, 상기 요청자 디바이스가 이미 인증된 신뢰된 디바이스(trusted device)인지를 체크하는 단계를 포함하는, 방법.
  14. 제1항 내지 제4항, 제6항 및 제7항 중 어느 한 항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계는, 상기 제1 레지스트리 장치가, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리로의 할당을 지원하는지를 체크하는 단계를 포함하는, 방법.
  15. 제1항에 있어서,
    상기 제1 레지스트리 장치, 상기 제2 레지스트리 장치 및 상기 요청자 디바이스 중 하나가 상기 에이전트 디바이스에 상기 제2 레지스트리 장치의 주소를 전송하는 단계; 및
    상기 에이전트 디바이스가 상기 제2 레지스트리 장치와의 후속 통신을 가능케 하기 위해 상기 제2 레지스트리 장치의 주소를 저장하는 단계를 포함하는 방법.
  16. 제1항에 있어서,
    (e) 상기 제1 레지스트리 장치가 상기 에이전트 디바이스를 상기 제1 디바이스 레지스트리에 재할당하는 리셋 요청을 수신하는 단계;
    (f) 상기 제1 레지스트리 장치가, 상기 리셋 요청에 응답하여 상기 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 재할당되는 것이 허용되어 있는지를 체크하는 단계;
    (g) 상기 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 재할당되는 것이 허용되어 있다면, 상기 에이전트 디바이스가 제3 인증 정보를 상기 제1 레지스트리 장치에 전송하는 단계; 및
    (h) 상기 제1 레지스트리 장치가 상기 제3 인증 정보를 상기 제1 디바이스 레지스트리에 등록하는 단계
    를 더 포함하는 방법.
  17. 제1항 내지 제4항, 제6항, 제7항, 제15항 및 제16항 중 어느 한 항에 있어서, 상기 에이전트 디바이스는, 상기 에이전트 디바이스의 사용자로부터의 개입없이, 상기 제1 디바이스 레지스트리로부터 상기 제2 디바이스 레지스트리로 할당되는, 방법.
  18. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치로서,
    에이전트 디바이스들의 제1 디바이스 레지스트리 ―상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하도록 구성된 저장 회로;
    요청자 디바이스로부터, 상기 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하도록 구성된 통신 회로; 및
    상기 디바이스 할당 요청에 응답하여 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하도록 구성되고, 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 명시된 에이전트 디바이스, 상기 요청자 디바이스 및 상기 제2 레지스트리 장치 중 적어도 하나에게 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하게끔 상기 통신 회로를 제어하도록 구성된 처리 회로
    를 포함하며,
    상기 제1 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하도록 구성되고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 제1 레지스트리 장치.
  19. 제18항에 있어서, 상기 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 처리 회로는 상기 명시된 에이전트 디바이스의 신원을 인증하기 위한 상기 인증 정보를 상기 제1 디바이스 레지스트리로부터 삭제하도록 구성된, 제1 레지스트리 장치.
  20. 제18항에 있어서, 상기 통신 회로에 의해 수신된 리셋 요청에 응답하여, 상기 리셋 요청은, 상기 제2 디바이스 레지스트리에 등록된 선택된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 재할당될 것을 요청하고, 상기 처리 회로는, 상기 선택된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 재할당되는 것이 허용되어 있는지를 체크하고, 상기 선택된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 재할당되는 것이 허용되어 있다면, 상기 선택된 에이전트 디바이스로부터 수신된 인증 정보를 상기 제1 디바이스 레지스트리에 등록하도록 구성된, 제1 레지스트리 장치.
  21. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치로서,
    에이전트 디바이스들의 제1 디바이스 레지스트리 ―상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하기 위한 저장 수단;
    요청자 디바이스로부터, 상기 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하기 위한 통신 수단; 및
    상기 디바이스 할당 요청에 응답하여 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하고, 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 명시된 에이전트 디바이스, 상기 요청자 디바이스 및 상기 제2 레지스트리 장치 중 적어도 하나에게 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하게끔 상기 통신 수단을 제어하기 위한 처리 수단
    을 포함하며,
    상기 제1 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하도록 구성되고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 제1 레지스트리 장치.
  22. 제1 레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들의 제1 디바이스 레지스트리를 유지하기 위한 방법으로서, 상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함하고, 상기 방법은,
    요청자 디바이스로부터, 상기 제1 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당될 것을 요청하는 디바이스 할당 요청을 수신하는 단계;
    상기 디바이스 할당 요청에 응답하여 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있는지를 체크하는 단계; 및
    상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당되는 것이 허용되어 있다면, 상기 명시된 에이전트 디바이스, 상기 요청자 디바이스, 및 상기 제2 레지스트리 장치 중 적어도 하나에게 상기 명시된 에이전트 디바이스가 상기 제2 디바이스 레지스트리에 할당될 수 있다는 것을 지시하는 단계
    를 포함하며,
    상기 제1 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 방법.
  23. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치로서,
    에이전트 디바이스들의 제1 디바이스 레지스트리 ―상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하도록 구성된 저장 회로;
    에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―상기 할당 요청은 상기 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하도록 구성된 통신 회로; 및
    상기 명시된 에이전트 디바이스의 신원을 인증하기 위한 상기 명시된 에이전트 디바이스로부터 수신된 인증 정보를 상기 제1 디바이스 레지스트리에 등록하도록 구성된 처리 회로
    를 포함하며,
    상기 제1 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하도록 구성되고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 제1 레지스트리 장치.
  24. 제23항에 있어서, 상기 통신 회로는 리셋 요청을 상기 제2 레지스트리 장치에 전송하도록 구성되고, 상기 리셋 요청은, 상기 제1 디바이스 레지스트리에 현재 등록되어 있는 선택된 에이전트 디바이스가 상기 제2 레지스트리 장치에 의해 유지되는 상기 제2 디바이스 레지스트리에 재할당될 것을 요청하는, 제1 레지스트리 장치.
  25. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들을 인증하기 위한 제1 레지스트리 장치로서,
    에이전트 디바이스들의 제1 디바이스 레지스트리 ―상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함함― 를 저장하기 위한 저장 수단;
    에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―상기 할당 요청은 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하기 위한 통신 수단; 및
    상기 명시된 에이전트 디바이스의 신원을 인증하기 위한 상기 명시된 에이전트 디바이스로부터 수신된 인증 정보를 상기 제1 디바이스 레지스트리에 등록하기 위한 처리 수단
    을 포함하며,
    상기 제1 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하도록 구성되고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 제1 레지스트리 장치.
  26. 레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스들의 제1 디바이스 레지스트리를 유지하기 위한 방법으로서, 상기 제1 디바이스 레지스트리는 상기 에이전트 디바이스의 신원을 인증하기 위한 인증 정보를 포함하고, 상기 방법은,
    에이전트 디바이스들의 제2 디바이스 레지스트리를 유지하기 위한 제2 레지스트리 장치에 디바이스 할당 요청 ―상기 할당 요청은 상기 제2 디바이스 레지스트리에 등록된 명시된 에이전트 디바이스가 상기 제1 디바이스 레지스트리에 할당될 것을 요청함― 을 전송하는 단계;
    상기 명시된 에이전트 디바이스로부터 인증 정보를 수신하는 단계; 및
    상기 명시된 에이전트 디바이스로부터 수신된 상기 인증 정보를 상기 제1 디바이스 레지스트리에 등록하는 단계
    를 포함하며,
    상기 레지스트리 장치는 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 암호화된 통신을 가능하게 한 후, 상기 에이전트 디바이스들 및 상기 하나 이상의 애플리케이션 제공 장치는 상기 레지스트리 및 상기 제2 레지스트리 장치를 통한 통신 없이 서로 암호 통신하는, 방법.
  27. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스로서,
    제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 상기 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 상기 제1 레지스트리 장치와의 인증을 수행하도록 구성된 처리 회로;
    상기 에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청에 응답하여, 상기 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하도록 구성된 인증 정보 생성 회로;
    상기 인증 정보 생성 회로에 의해 생성된 상기 제2 인증 정보를 상기 제2 디바이스 레지스트리에 등록하기 위해 상기 제2 레지스트리 장치에 전송하도록 구성된 통신 회로; 및
    상기 제1 및 제2 레지스트리 장치에 의해 제공되는 하나 이상의 애플리케이션 키를 저장하여, 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 에이전트 디바이스 및 상기 하나 이상의 애플리케이션 제공 장치가 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 통신하게 하도록 구성된 저장 회로
    를 포함하는, 에이전트 디바이스.
  28. 제27항에 있어서, 상기 제1 인증 정보는 상기 에이전트 디바이스에 의해 유지되는 제1 개인 키에 대응하는 제1 공개 키를 포함하고, 상기 제2 인증 정보는 상기 에이전트 디바이스에 의해 유지되는 제2 개인 키에 대응하는 제2 공개 키를 포함하는, 에이전트 디바이스.
  29. 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 에이전트 디바이스로서,
    제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 상기 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 상기 제1 레지스트리 장치와의 인증을 수행하기 위한 처리 수단;
    상기 에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청에 응답하여, 상기 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하기 위한 인증 정보 생성 수단;
    상기 인증 정보 생성 수단에 의해 생성된 상기 제2 인증 정보를 상기 제2 디바이스 레지스트리에 등록하기 위해 상기 제2 레지스트리 장치에 전송하기 위한 통신 수단; 및
    상기 제1 및 제2 레지스트리 장치에 의해 제공되는 하나 이상의 애플리케이션 키를 저장하여, 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 에이전트 디바이스 및 상기 하나 이상의 애플리케이션 제공 장치가 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 통신하게 하기 위한 저장 수단
    을 포함하는, 에이전트 디바이스.
  30. 에이전트 디바이스가 하나 이상의 애플리케이션 제공 장치와 통신하기 위한 방법으로서,
    제1 레지스트리 장치에 의해 유지되는 제1 디바이스 레지스트리 내의 상기 에이전트 디바이스에 대해 등록된 제1 인증 정보에 기초하여 상기 제1 레지스트리 장치와의 인증을 수행하는 단계;
    상기 에이전트 디바이스를 제2 레지스트리 장치에 의해 유지되는 에이전트 디바이스들의 제2 디바이스 레지스트리에 할당하는 디바이스 할당 요청을 수신하는 단계;
    상기 디바이스 할당 요청에 응답하여, 상기 에이전트 디바이스의 신원을 인증하기 위한 제2 인증 정보를 생성하는 단계;
    상기 제2 인증 정보를 상기 제2 디바이스 레지스트리에 등록하기 위해 상기 제2 레지스트리 장치에 전송하는 단계; 및
    상기 제1 및 제2 레지스트리 장치에 의해 제공되는 하나 이상의 애플리케이션 키를 저장하여, 상기 에이전트 디바이스들과 상기 하나 이상의 애플리케이션 제공 장치 사이의 암호화된 통신을 가능하게 하고, 상기 에이전트 디바이스 및 상기 하나 이상의 애플리케이션 제공 장치가 상기 제1 및 제2 레지스트리 장치를 통한 통신 없이 서로 통신하게 하는 단계
    를 포함하는, 방법.
  31. 삭제
KR1020167012752A 2013-10-17 2014-10-15 에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법 KR101741967B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14/056,468 2013-10-17
US14/056,459 US9307405B2 (en) 2013-10-17 2013-10-17 Method for assigning an agent device from a first device registry to a second device registry
US14/056,468 US9860235B2 (en) 2013-10-17 2013-10-17 Method of establishing a trusted identity for an agent device
US14/056,459 2013-10-17
US14/056,423 2013-10-17
US14/056,423 US10069811B2 (en) 2013-10-17 2013-10-17 Registry apparatus, agent device, application providing apparatus and corresponding methods
PCT/GB2014/053096 WO2015056008A1 (en) 2013-10-17 2014-10-15 Method for assigning an agent device from a first device registry to a second device registry

Publications (2)

Publication Number Publication Date
KR20160071456A KR20160071456A (ko) 2016-06-21
KR101741967B1 true KR101741967B1 (ko) 2017-05-30

Family

ID=51932539

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020167012706A KR102168392B1 (ko) 2013-10-17 2014-10-15 레지스트리 장치, 에이전트 디바이스, 애플리케이션 제공 장치 및 대응하는 방법들
KR1020167012752A KR101741967B1 (ko) 2013-10-17 2014-10-15 에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법
KR1020167012709A KR102169947B1 (ko) 2013-10-17 2014-10-15 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167012706A KR102168392B1 (ko) 2013-10-17 2014-10-15 레지스트리 장치, 에이전트 디바이스, 애플리케이션 제공 장치 및 대응하는 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167012709A KR102169947B1 (ko) 2013-10-17 2014-10-15 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 방법

Country Status (4)

Country Link
KR (3) KR102168392B1 (ko)
CN (3) CN105637915B (ko)
GB (3) GB2533727B (ko)
WO (3) WO2015056010A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170034700A1 (en) * 2015-07-28 2017-02-02 Masterpeace Solutions Ltd. System, Method and Device for Consistently Configuring and Securing Devices Installed in Close Physical Proximity
CN105162602B (zh) * 2015-09-01 2018-05-11 中国互联网络信息中心 一种可信网络身份管理和验证系统和方法
US10667229B2 (en) 2015-09-01 2020-05-26 Convida Wireless, Llc Service layer registration
US10666642B2 (en) * 2016-02-26 2020-05-26 Ca, Inc. System and method for service assisted mobile pairing of password-less computer login
US10084760B2 (en) 2016-03-11 2018-09-25 Hewlett-Packard Development Company, L. P. Secure messages for internet of things devices
EP3446456A1 (en) * 2016-04-21 2019-02-27 Philips Lighting Holding B.V. Systems and methods for registering and localizing building servers for cloud-based monitoring and control of physical environments
EP3253021A1 (en) 2016-06-03 2017-12-06 Gemalto Sa A method for managing the status of a connected device
EP3253020A1 (en) * 2016-06-03 2017-12-06 Gemalto Sa A method and an apparatus for publishing assertions in a distributed database of a mobile telecommunication network
US10176331B2 (en) 2016-06-10 2019-01-08 Microsoft Technology Licensing, Llc Enhanced metadata to authentically report the provenance of a file
CN105978690B (zh) * 2016-07-03 2019-03-26 恒宝股份有限公司 一种基于非对称密钥对的安全方法及系统
US10873511B2 (en) * 2016-11-22 2020-12-22 Airwatch Llc Management service migration for managed devices
CN108156126B (zh) * 2016-12-02 2020-12-08 阿里巴巴集团控股有限公司 物联网设备的烧录校验方法及装置、身份认证方法及装置
CN110235424B (zh) * 2017-01-20 2022-03-08 三星电子株式会社 用于在通信系统中提供和管理安全信息的设备和方法
US11095502B2 (en) 2017-11-03 2021-08-17 Otis Elevator Company Adhoc protocol for commissioning connected devices in the field
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
US11139989B2 (en) * 2019-08-30 2021-10-05 Motorola Solutions, Inc. Method of enrolling a device into a PKI domain for certificate management using factory key provisioning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313466A1 (en) 2006-12-19 2009-12-17 Telefonaktiebolaget L M Ericsson (Publ) Managing User Access in a Communications Network
US20120122423A1 (en) 2010-11-12 2012-05-17 Vodafone Holding Gmbh Subscriber identifier and method for subscriber authentication

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143443B2 (en) * 2001-10-01 2006-11-28 Ntt Docomo, Inc. Secure sharing of personal devices among different users
WO2005064844A1 (ja) * 2003-12-26 2005-07-14 Matsushita Electric Industrial Co.,Ltd. 素数算出装置及び方法並びに鍵発行システム
US8146142B2 (en) * 2004-09-03 2012-03-27 Intel Corporation Device introduction and access control framework
US7987356B2 (en) * 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
KR100769674B1 (ko) * 2004-12-30 2007-10-24 삼성전자주식회사 홈 네트워크에서 디바이스의 공개키 인증 방법 및 시스템
JP4741292B2 (ja) * 2005-06-09 2011-08-03 株式会社日立製作所 デバイス管理システム
US7796982B2 (en) * 2005-12-07 2010-09-14 Tor Anumana, Inc. Wireless controller device
US7936878B2 (en) * 2006-04-10 2011-05-03 Honeywell International Inc. Secure wireless instrumentation network system
US7966489B2 (en) * 2006-08-01 2011-06-21 Cisco Technology, Inc. Method and apparatus for selecting an appropriate authentication method on a client
US8370491B1 (en) * 2007-06-20 2013-02-05 Clearwire Ip Holdings Llc Open mobile alliance provisioning via a global wimax device registry
US20090215477A1 (en) * 2008-02-27 2009-08-27 Qualcomm, Incorporated Intelligent multiple device file sharing in a wireless communications system
US8873523B2 (en) * 2009-09-30 2014-10-28 Apple Inc. Methods and apparatus for solicited activation for protected wireless networking
WO2011123329A1 (en) * 2010-04-01 2011-10-06 Research In Motion Limited Methods and apparatus to transfer management control of a client between servers
US8831568B2 (en) * 2011-09-27 2014-09-09 Qualcomm Incorporated Automatic configuration of a wireless device
US8797139B2 (en) * 2012-02-23 2014-08-05 Infineon Technologies Ag System-level chip identify verification (locking) method with authentication chip
AU2013100802B4 (en) * 2013-04-11 2013-11-14 Uniloc Luxembourg S.A. Device authentication using inter-person message metadata

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313466A1 (en) 2006-12-19 2009-12-17 Telefonaktiebolaget L M Ericsson (Publ) Managing User Access in a Communications Network
US20120122423A1 (en) 2010-11-12 2012-05-17 Vodafone Holding Gmbh Subscriber identifier and method for subscriber authentication

Also Published As

Publication number Publication date
KR20160072176A (ko) 2016-06-22
GB2533728B (en) 2017-03-22
WO2015056009A1 (en) 2015-04-23
GB201604448D0 (en) 2016-04-27
KR102169947B1 (ko) 2020-10-26
CN105684482A (zh) 2016-06-15
WO2015056010A3 (en) 2015-06-11
KR102168392B1 (ko) 2020-10-21
WO2015056008A1 (en) 2015-04-23
KR20160072178A (ko) 2016-06-22
GB201604451D0 (en) 2016-04-27
GB201604447D0 (en) 2016-04-27
KR20160071456A (ko) 2016-06-21
GB2533511A (en) 2016-06-22
GB2533727A (en) 2016-06-29
GB2533511B (en) 2021-02-03
GB2533727B (en) 2021-06-23
CN105637915B (zh) 2017-11-07
CN105684483B (zh) 2019-11-22
GB2533728A (en) 2016-06-29
CN105684483A (zh) 2016-06-15
CN105637915A (zh) 2016-06-01
CN105684482B (zh) 2019-10-25
WO2015056010A2 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
US11240222B2 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
US11076290B2 (en) Assigning an agent device from a first device registry to a second device registry
US10951630B2 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
KR101741967B1 (ko) 에이전트 디바이스를 제1 디바이스 레지스트리로부터 제2 디바이스 레지스트리로 할당하기 위한 방법
US9860235B2 (en) Method of establishing a trusted identity for an agent device
US20190349346A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
US11522865B2 (en) Automated IoT device configuration using user profile
US20190349347A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
TW201923639A (zh) 用於管理數位身份之間的關係的系統和方法
WO2018107718A1 (zh) 智能卡的空中配号方法及装置
CN104520836A (zh) 用于促进应用之间的服务提供的系统和方法
US20190349348A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
JP6750260B2 (ja) 情報処理装置およびエージェントシステム
CN113711566A (zh) 在设备上提供数据
KR20200101053A (ko) 전자 장치 및 전자 장치에서의 인증 방법
JP2016024475A (ja) 情報処理装置、管理装置、プログラム及びシステム
JP2019190111A (ja) 鍵情報生成システム及び鍵情報生成方法
JP2019193303A (ja) 鍵情報生成システム及び鍵情報生成方法
JP2016039427A (ja) 判定装置,端末装置,判定プログラム,端末プログラム,及び通信システム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant