KR102169947B1 - Method of establishing a trusted identity for an agent device - Google Patents

Method of establishing a trusted identity for an agent device Download PDF

Info

Publication number
KR102169947B1
KR102169947B1 KR1020167012709A KR20167012709A KR102169947B1 KR 102169947 B1 KR102169947 B1 KR 102169947B1 KR 1020167012709 A KR1020167012709 A KR 1020167012709A KR 20167012709 A KR20167012709 A KR 20167012709A KR 102169947 B1 KR102169947 B1 KR 102169947B1
Authority
KR
South Korea
Prior art keywords
authentication
agent device
registry
information
agent
Prior art date
Application number
KR1020167012709A
Other languages
Korean (ko)
Other versions
KR20160072178A (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
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 KR20160072178A publication Critical patent/KR20160072178A/en
Application granted granted Critical
Publication of KR102169947B1 publication Critical patent/KR102169947B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

하나 이상의 애플리케이션 제공 장치(6)와 신뢰된 통신을 수행하기 위한 에이전트 디바이스(4)에 대해 신뢰된 신원이 확립될 수 있다. 신뢰된 신원을 확립하는 방법은, 다수의 인증 모델들 중 어느 것이 에이전트 디바이스(4)를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 판정하는 단계(100)를 포함한다. 선택된 모델에 따라 제1 및 제2 인증 정보가 생성된다(102). 제1 인증 정보는 디바이스의 신원을 고유하게 인증하기 위한 것이고, 제2 인증 정보는 에이전트 디바이스가 제1 인증 정보를 가지고 있는지를 확인하기 위한 것이다. 제1 인증 정보는 에이전트 디바이스(4)에 임베딩되는 반면(104) 제2 인증 정보는 에이전트 디바이스들의 디바이스를 유지하기 위한 레지스트리 장치(8)에 전송된다(106). 어느 것이 선택된 인증 모델인지를 식별하는 인증 모델 정보가 또한 레지스트리(8)에 전송된다(106).A trusted identity may be established for the agent device 4 for performing trusted communication with one or more application providing devices 6. The method of establishing a trusted identity includes determining 100 which of the plurality of authentication models is a selected authentication model used to uniquely authenticate the agent device 4. First and second authentication information is generated according to the selected model (102). The first authentication information is for uniquely authenticating the identity of the device, and the second authentication information is for checking whether the agent device has the first authentication information. The first authentication information is embedded in the agent device 4 (104) while the second authentication information is transmitted to the registry apparatus 8 for maintaining the device of the agent devices (106). Authentication model information identifying which is the selected authentication model is also transmitted to the registry 8 (106).

Description

에이전트 디바이스에 대한 신뢰된 신원을 확립하는 방법{METHOD OF ESTABLISHING A TRUSTED IDENTITY FOR AN AGENT DEVICE}How to establish a trusted identity for an agent device {METHOD OF ESTABLISHING A TRUSTED IDENTITY FOR AN AGENT DEVICE}

본 발명은 데이터 처리 분야에 관한 것이다. 더 구체적으로는, 본 발명은 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 방법에 관한 것이다.The present invention relates to the field of data processing. More specifically, the present invention relates to a method of establishing a trusted identity for an agent device.

가정, 기타의 건물 또는 실외 환경 내에는, 다른 처리 디바이스와 상호작용하는 것을 허용하는 처리 및 통신 능력을 갖는 지속적으로 증가하는 수의 디바이스들이 있다. 매일 객체들과 비교적 소형 처리 디바이스들은 서로 및 중앙 플랫폼에 "사물 인터넷"의 일부로서 접속될 수 있다. 예를 들어, 가정 내의 스프링클러 시스템은 다양한 습도 센서로부터 정보를 수집하여 습도 정보에 기초해 스플링클러의 작동을 제어할 수 있다. 또한, 헬스케어 제공자는 집에 있는 환자의 건강을 추적하기 위해 무선 센서(예를 들어, 심박수 모니터 또는 환자가 처방된 약물을 복용하고 있는지를 모니터링하기 위한 센서)를 이용할 수 있다.Within a home, other building or outdoor environment, there is a constantly increasing number of devices with processing and communication capabilities that allow them to interact with other processing devices. Daily objects and relatively small processing devices can be connected to each other and to a central platform as part of the “Internet of Things”. For example, a sprinkler system in a home may collect information from various humidity sensors and control the operation of the sprinkler based on the humidity information. In addition, healthcare providers may use wireless sensors (eg, heart rate monitors or sensors to monitor whether patients are taking prescribed medications) to track the health of patients at home.

따라서, 다양한 응용에서, 하나 이상의 에이전트 디바이스와 상호작용하는 중앙 애플리케이션 제공 장치가 있을 수 있으며, 하나 이상의 에이전트 디바이스는 애플리케이션 제공 장치에 데이터를 제공하고 및/또는 애플리케이션 제공 장치에 의해 제어된다. 에이전트 디바이스들은, 복잡성, 처리 자원, 하드웨어 및 목적의 관점에서 상당히 상이할 수 있다. 에이전트 디바이스와 애플리케이션 제공 장치 사이에 신뢰를 제공하여 애플리케이션 제공자가 에이전트 디바이스로부터 수신된 데이터의 유효성을 신뢰할 수 있고 에이전트 디바이스가 애플리케이션 제공 장치로부터 수신된 임의의 명령을 신뢰할 수 있게 하는 것이 중요할 수 있다. 그러나, 사물 인터넷 내의 많은 에이전트 디바이스들은 처리 능력이 거의 없기 때문에, 애플리케이션 제공 장치와의 신뢰된 관계를 확립하기 위해 에이전트 디바이스에 자원을 제공하는 것은 어려울 수 있고 에이전트 디바이스의 비용을 상당히 증가시킬 수 있다. 이러한 에이전트 디바이스의 급속하고 광범위한 배치는 설치를 가능한 한 신속하고 효율적이게 하고자 하는 바람이 있다는 것을 의미한다. 본 기술은 이들 문제점을 해결하고자 한다.Accordingly, in various applications, there may be a central application providing device that interacts with one or more agent devices, and one or more agent devices provide data to the application providing device and/or are controlled by the application providing device. Agent devices can differ considerably in terms of complexity, processing resources, hardware and purpose. It may be important to provide trust between the agent device and the application providing device so that the application provider can trust the validity of data received from the agent device and that the agent device can trust any commands received from the application providing device. However, since many agent devices in the Internet of Things have little processing power, it may be difficult to provide resources to the agent device to establish a trusted relationship with the application providing device and may significantly increase the cost of the agent device. The rapid and widespread deployment of these agent devices means there is a desire to make the installation as quick and efficient as possible. This technology attempts to solve these problems.

한 양태로부터 볼 때, 본 발명은, 하나 이상의 애플리케이션 제공 장치와의 신뢰된 통신을 수행하기 위한 에이전트 디바이스에 대한 신뢰된 신원을 확립하는 방법을 제공하며, 이 방법은 하기 단계들을 포함한다:Viewed from one aspect, the present invention provides a method of establishing a trusted identity for an agent device for performing trusted communication with one or more application providing devices, the method comprising the following steps:

(a) 복수의 인증 모델 중 어느 것이 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 판정하는 단계;(a) determining which of the plurality of authentication models is a selected authentication model used to uniquely authenticate the agent device;

(b) 선택된 인증 모델에 따라 제1 인증 정보와 제2 인증 정보를 생성 ―제1 인증 정보는 에이전트 디바이스의 신원을 고유하게 인증하기 위한 것이고, 제2 인증 정보는 에이전트 디바이스가 제1 인증 정보를 갖고 있는지를 확인하기 위한 것임― 하는 단계;(b) Generating the first authentication information and the second authentication information according to the selected authentication model-The first authentication information is for uniquely authenticating the identity of the agent device, and the second authentication information is the agent device To check whether you have it;

(c) 제1 인증 정보를 에이전트 디바이스에 임베딩하는 단계; 및(c) embedding the first authentication information in the agent device; And

(d) 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 레지스트리 장치에, 제2 인증 정보와, 복수의 인증 모델 중 어느 것이 에이전트 디바이스에 의해 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 전송하는 단계.(d) transmitting, to a registry apparatus for maintaining a device registry of agent devices, second authentication information and authentication model information identifying which of the plurality of authentication models is a selected authentication model used by the agent device.

레지스트리 장치는, 하나 이상의 애플리케이션 제공 장치와 통신하는데 대해 신뢰될 수 있는 에이전트 디바이스들의 디바이스 레지스트리를 유지할 수 있다. 레지스트리는 에이전트 디바이스를 인증하기 위한 인증 정보를 유지할 수 있다. 그러나, 본 기술은 하나의 인증 모델이 모든 종류의 에이전트 디바이스에 적합하지 않을 수도 있다는 것을 인식한다. 일부 에이전트 디바이스는 높은 보안 요건을 가지므로, 구현하기에 비교적 비싸더라도 이러한 디바이스들에 대해 보안 인증 모델이 적절할 수 있다. 반면, 예를 들어, 날씨 예보 애플리케이션에서의 온도 모니터 등의 다른 에이전트 디바이스들의 경우, 보안은 그렇게 중요하지 않을 수 있고 인증 모델은 단순히 센서가 식별될 수 있고 그 데이터가 유효하다고 신뢰되는 것만을 요구할 수 있다. 이러한 디바이스들의 경우, 비용을 절감하기 위해 보안성이 덜한 인증 모델이 선호될 수 있다. 따라서, 본 기술은, 상이한 에이전트 디바이스들에 대해 스케일가능한 보안 능력을 제공하는 것이 유용하다고 인식한다.The registry device may maintain a device registry of agent devices that can be trusted for communicating with one or more application providing devices. The registry may maintain authentication information for authenticating the agent device. However, the present technology recognizes that one authentication model may not be suitable for all kinds of agent devices. Since some agent devices have high security requirements, the security authentication model may be appropriate for these devices, even though they are relatively expensive to implement. On the other hand, for other agent devices, such as temperature monitors in weather forecasting applications, on the other hand, security may not be so important and the authentication model may simply require that the sensor can be identified and its data is trusted to be valid. have. For these devices, a less secure authentication model may be preferred to save cost. Accordingly, the present technology recognizes that it is useful to provide scalable security capabilities for different agent devices.

따라서, 에이전트 디바이스에 대한 신뢰된 신원을 확립할 때, 복수의 인증 모델 중 하나가 디바이스를 고유하게 인증하기 위해 이용되도록 선택될 수 있다. 그 다음, 선택된 인증 모델에 따라 제1 및 제2 인증 정보가 생성될 수 있다. 제1 인증 정보는 그 신원을 고유하게 인증하기 의해 에이전트 디바이스에 의해 보유되는 정보이고, 제2 인증 정보는 에이전트 디바이스가 제1 인증 정보를 갖고 있는지를 확인하기 위한 정보이다. 제2 인증 정보는 디바이스 레지스트리에 등록하기 위해 레지스트리 장치에 전송될 수 있다. 레지스트리 장치에는 또한, 복수의 인증 모델 중 어느 것이 에이전트 디바이스에 의해 이용되는지를 식별하는 인증 모델 정보가 제공될 수 있다.Thus, when establishing a trusted identity for an agent device, one of a plurality of authentication models may be selected to be used to uniquely authenticate the device. Then, first and second authentication information may be generated according to the selected authentication model. The first authentication information is information held by the agent device by uniquely authenticating its identity, and the second authentication information is information for confirming whether the agent device has the first authentication information. The second authentication information may be transmitted to the registry device to register in the device registry. The registry apparatus may also be provided with authentication model information for identifying which of the plurality of authentication models is used by the agent device.

이런 방식으로, 스케일가능한 인증 프로파일이 에이전트 디바이스에 대해 셋업될 수 있어서 그 특정한 디바이스에 대해 요구되는 보안에 대비한 구현 비용을 밸런싱할 수 있다. 또한, 어느 모델이 이용되었는지를 식별하는 정보를 레지스트리에 유지함으로써, 다른 디바이스들이 레지스트리에 질의하여 특정한 에이전트 디바이스의 신뢰 정도를 확립하고 그에 따라 그 에이전트 디바이스를 어떻게 이용할지를 판정할 수 있다. 예를 들어, 소정의 보안 애플리케이션은 그 인증 모델이 소정의 최소한의 보안 요건 아래에 해당하는 에이전트 디바이스를 이용하지 않기로 선택할 수 있다. 이런 방식으로 신뢰가 확립된 레지스트리와 에이전트 디바이스에 의해 제공되는 전체 플랫폼은 에이전트 디바이스들의 신원 및 보안과 그들의 대응하는 애플리케이션에 대한 더 큰 확신을 허용한다.In this way, a scalable authentication profile can be set up for an agent device to balance the cost of implementation against the security required for that particular device. Also, by maintaining information identifying which model has been used in the registry, other devices can query the registry to establish a degree of trust for a particular agent device and determine how to use that agent device accordingly. For example, a given security application may choose not to use an agent device whose authentication model falls below certain minimum security requirements. The entire platform provided by the agent device and the registry in which trust is established in this way allows greater confidence in the identity and security of agent devices and their corresponding applications.

일반적으로, 상이한 인증 모델들은 상이한 보안 레벨들을 제공할 수 있다. 이들 상이한 보안 레벨들은 통상적으로 상이한 구현 비용을 수반한다. 예를 들어, 더 높은 보안을 구현하는 것은 에이전트 디바이스에 소정 자원이 제공될 것을 요구할 수 있어서, 디바이스를 제조하는 비용을 증가시킬 수 있다.In general, different authentication models can provide different levels of security. These different levels of security typically entail different implementation costs. For example, implementing higher security may require the agent device to be provided with certain resources, thereby increasing the cost of manufacturing the device.

일단 선택된 인증 모델이 판정되고 나면, 이 방법은, 선택된 인증 모델을 구현하기 위해 에이전트 디바이스에 인증 자원들을 제공하는 단계를 포함할 수 있다. 예를 들어, 에이전트 디바이스의 제조 프로세스 동안에 신뢰된 신원이 확립될 수 있고, 그 다음, 일단 모델이 선택되고 나면 소정의 자원이 에이전트 디바이스 내에 구축될 수 있다. 예를 들어, 자원은, 인증 정보를 저장하기 위한 보호된 저장소, 또는 인증 정보를 생성하기 위한 회로를 포함할 수 있고, 이것은 어느 모델이 선택되는지에 따라 상이할 수 있다.Once the selected authentication model has been determined, the method may include providing authentication resources to the agent device to implement the selected authentication model. For example, a trusted identity may be established during the manufacturing process of the agent device, and then, once a model is selected, certain resources may be built into the agent device. For example, a resource may include a protected storage for storing authentication information, or circuitry for generating authentication information, which may be different depending on which model is selected.

대안으로서, 일단 에이전트 디바이스가 보호된 저장소 또는 키 생성 능력 등의 소정의 인증 자원과 함께 이미 제조되고 나면 신뢰된 신원이 확립될 수 있다. 이 경우, 인증 모델의 선택은 인증 자원이 이용가능한 소정의 정도로 제한될 수 있다. 그럼에도 불구하고, 선택이 이루어질 수 있고 어느 모델이 선택된 인증 모델인지의 표시가 레지스트리에 제공될 수 있다.As an alternative, a trusted identity can be established once the agent device has already been manufactured with some authentication resource, such as a protected storage or key generation capability. In this case, the selection of the authentication model may be limited to a predetermined degree in which authentication resources are available. Nevertheless, a selection can be made and an indication of which model is the selected authentication model can be provided in the registry.

일부 예에서, 에이전트 디바이스와 분리된 외부 디바이스는 제1 및 제2 인증 정보를 생성할 수 있고, 그 다음 제1 인증 정보는 외부 디바이스에 의해 에이전트 디바이스에 임베딩될 수 있다. 예를 들어, 외부 디바이스는 컴퓨터 또는 에이전트 디바이스의 제조사 또는 배포자에 의해 운영되는 기타의 지원 시스템일 수 있다. 보안상의 이유로, 외부 디바이스가, 제1 인증 정보를 다른 임의의 디바이스에 전송하지 않고, 제1 인증 정보를 에이전트 디바이스에 임베딩된 이후에 삭제하는 것이 유용할 수 있다. 이런 방식으로, 제1 인증 정보는 에이전트 디바이스만으로 제약될 수 있고 다른 디바이스들은 이에 액세스하지 못할 수 있다. 이것은 또 다른 디바이스가 제1 인증 정보를 이용하여 자신을 에이전트 디바이스처럼 통과시킬 가능성을 감소시킨다.In some examples, an external device separate from the agent device may generate first and second authentication information, and then the first authentication information may be embedded in the agent device by the external device. For example, the external device may be a computer or other support system operated by the manufacturer or distributor of the agent device. For security reasons, it may be useful for an external device to delete the first authentication information after it is embedded in the agent device, without transmitting the first authentication information to any other device. In this way, the first authentication information may be constrained to only the agent device and other devices may not be able to access it. This reduces the likelihood that another device will pass itself like an agent device using the first authentication information.

대안으로서, 제1 및 제2 인증 정보는 에이전트 디바이스 내의 회로에 의해 내부적으로 생성될 수도 있다. 예를 들어, 디바이스는 제1 및 제2 인증 정보에 대응하는 키를 생성할 수 있는 키 생성기를 가질 수 있다. 이 접근법은, 제1 인증 정보가 에이전트 디바이스 외부에 결코 존재한 적이 없어서, 다른 어떤 디바이스도 에이전트 디바이스의 신원을 훔칠 수 없기 때문에 더욱 안전할 수 있다. 그러나, 이 접근법은, 키 생성 자원이 에이전트 디바이스에 제공될 필요가 있으므로 제조 비용을 증가시킬 수 있다. 예를 들어, 키 생성은 양호한 난수 생성이 제공될 것을 요구할 수 있어서, 구현하기에 비쌀 수 있다.Alternatively, the first and second authentication information may be generated internally by circuitry in the agent device. For example, the device may have a key generator capable of generating keys corresponding to the first and second authentication information. This approach may be more secure because the first authentication information has never existed outside the agent device, so no other device can steal the identity of the agent device. However, this approach can increase manufacturing costs as key generation resources need to be provided to the agent device. For example, key generation may require good random number generation to be provided, which can be expensive to implement.

제1 인증 정보를 에이전트 디바이스에 임베딩하는 것은 상이한 방식들로 수행될 수 있다. 이 방법이 디바이스 제조 동안에 수행된다면 임베딩은 제1 인증 정보를 저장하는 것 외에도 에이전트 디바이스 내에 저장 회로를 제공하는 것을 포함할 수 있다. 예를 들어, 플래시 메모리나 판독 전용 메모리(ROM)이 디바이스 내에 구축되어 제1 인증 정보를 저장할 수 있다. 대안으로서, 디바이스가 이미 저장 회로와 함께 제조되었다면, 임베딩은 제1 인증 정보를 이미 제공된 저장 회로에 저장하는 것을 포함할 수 있다.Embedding the first authentication information in the agent device can be performed in different ways. If this method is performed during device manufacturing, embedding may include providing a storage circuit in the agent device in addition to storing the first authentication information. For example, a flash memory or a read-only memory (ROM) may be built in the device to store the first authentication information. Alternatively, if the device has already been manufactured with a storage circuit, embedding may include storing the first authentication information in a storage circuit already provided.

추가 보안을 위해, 제1 인증 정보는 에이전트 디바이스의 보호된 저장 영역에 임베딩될 수 있다. 예를 들어, 신뢰된 소프트웨어만이 보호된 영역으로부터 제1 인증 정보를 판독할 수 있고, 보호된 영역 내의 제1 인증 정보는 또한 오버라이트되는 것이 방지될 수 있다.For additional security, the first authentication information may be embedded in a protected storage area of the agent device. For example, only trusted software can read the first authentication information from the protected area, and the first authentication information in the protected area can also be prevented from being overwritten.

상이한 인증 모델들은 다수의 방식으로 서로 상이할 수 있다. 이하의 설명은, 인증 모델들이 상이할 수 있는 다양한 방식을 논의하지만, 원한다면 이하에서 논의되는 피쳐들 중 몇 가지를 결합한 모델들이 제공될 수도 있다는 것을 이해할 것이다.Different authentication models can differ from each other in a number of ways. The description below discusses various ways in which authentication models may be different, but it will be appreciated that models may be provided that combine some of the features discussed below if desired.

일부 인증 모델의 경우, 제1 인증 정보와 제2 인증 정보는 동일한 인증 정보를 포함할 수 있다. 즉, 레지스트리는, 에이전트 디바이스가 자신을 인증하는데 역시 이용하는 공유된 키 또는 기타의 인증 정보를 저장할 수 있다. 예를 들어, AES(Advanced Encryption System) 키 등의 대칭 키가 이용될 수도 있다. 이 접근법은 구현하기에 꽤 저렴할 수 있지만, 레지스트리가 에이전트 디바이스를 고유하게 식별하는 정보에 액세스하고, 레지스트리로의 이 정보의 전송은 보안 침해에 취약할 수 있기 때문에 이 모델에 의해 달성되는 보안 레벨은 감소된다.In some authentication models, the first authentication information and the second authentication information may include the same authentication information. That is, the registry may store a shared key or other authentication information that the agent device also uses to authenticate itself. For example, a symmetric key such as an AES (Advanced Encryption System) key may be used. This approach can be quite inexpensive to implement, but the level of security achieved by this model is because the registry has access to information that uniquely identifies the agent device, and the transfer of this information to the registry can be vulnerable to security breaches. Is reduced.

다른 모델들에서, 제1 및 제2 인증 정보로서 상이한 인증 정보를 제공함으로써 더 높은 보안 레벨이 달성될 수 있다. 예를 들어, 에이전트 디바이스는 제1 인증 정보로서 개인 키를 가질 수 있고 레지스트리는 제2 인증 정보로서 개인 키와는 상이한 공개 키를 가질 수 있다. 예를 들어, 개인 키와 공개 키는 ECC(elliptic curve cryptography) 키일 수도 있다. 이 접근법은, 에이전트 디바이스만이 그 개인 키에 액세스하므로 ―레지스트리에 노출되지 않아― 더욱 안전하다. 전송 단계는 공개 키를 포함하는 디지털 인증서를 레지스트리에 전송하는 단계를 포함할 수 있다. 예를 들어, 디지털 인증서는 X.509 인증서일 수 있다.In other models, a higher level of security can be achieved by providing different authentication information as the first and second authentication information. For example, the agent device may have a private key as the first authentication information and the registry may have a public key different from the private key as the second authentication information. For example, the private key and public key may be an elliptic curve cryptography (ECC) key. This approach is more secure—not exposed to the registry—as only the agent device has access to its private key. The transmitting step may include transmitting the digital certificate including the public key to the registry. For example, the digital certificate may be an X.509 certificate.

상이한 인증 모델들이 달라질 수 있는 또 다른 방식은, 제1 및 제2 인증 정보가 변경가능한지 또는 변경불가능한지에 놓여 있다. 일부 모델에서, 인증 정보는 변경불가능하여 일단 에이전트 디바이스에 대해 신뢰된 신원이 확립되고 나면 인증 정보는 고정되고 변경될 수 없다. 예를 들어, 제1 인증 정보는 오버라이트될 수 없는 저장소의 영역에 기입될 수 있고, 에이전트 디바이스는 일단 제조사나 배포자를 떠나고 나면 인증 정보를 재생성하기 위한 어떠한 회로도 갖지 못할 수 있다. 이 접근법은 구현하기에 더 저렴하지만, 에이전트 디바이스의 키 정보가 손상(compromise)되면 새로운 키를 생성하는 것이 가능하지 않다. 그럼에도 불구하고, 한 디바이스에 대한 키의 손상(compromising)은, 그 키 정보가 그 디바이스에 고유한 경우 다른 임의의 에이전트 디바이스에 영향을 미칠 필요가 없다. 다른 예들에서 수 개의 에이전트 디바이스들이 동일한 인증 정보를 공유할 수 있다.Another way in which different authentication models may vary lies in whether the first and second authentication information are mutable or immutable. In some models, the authentication information is immutable, so once a trusted identity has been established for the agent device, the authentication information is fixed and cannot be changed. For example, the first authentication information may be written in an area of the storage that cannot be overwritten, and the agent device may not have any circuitry to regenerate the authentication information once it leaves the manufacturer or distributor. This approach is cheaper to implement, but it is not possible to generate a new key if the agent device's key information is compromised. Nevertheless, compromising a key for one device need not affect any other agent device if the key information is unique to that device. In other examples, several agent devices may share the same authentication information.

반면, 다른 인증 모델들의 경우 인증 정보는 변경가능할 수 있다. 에이전트 디바이스는 제1 및 제2 인증 정보를 재생성하기 위한 인증 정보 생성 회로를 가질 수 있고, 에이전트 디바이스는 새로운 제2 인증 정보를 레지스트리 장치에 전송하여 디바이스의 레지스트리 엔트리를 업데이트할 수 있다. 이 접근법에 의하면, 키들이 주기적으로 재생성되어 키가 손상될 가능성을 감소시키므로 더 높은 보안이 달성된다.On the other hand, in the case of other authentication models, authentication information may be changeable. The agent device may have an authentication information generating circuit for regenerating the first and second authentication information, and the agent device may transmit new second authentication information to the registry device to update the registry entry of the device. With this approach, higher security is achieved because the keys are regenerated periodically to reduce the likelihood of the key being compromised.

따라서, 이들 상이한 속성들이 결합되어 구현 비용에 대비하여 절충되는 스케일가능한 보안을 제공하는 다양한 상이한 인증 모델들을 확립할 수 있다. 예를 들어, 3가지 인증 모델이 확립될 수 있다. 제1 인증 모델에서, 제1 및 제2 인증 정보는 동일한 정보를 포함하고 변경불가능할 수 있다. 제2 인증 모델에서, 제1 및 제2 인증 정보는 상이한 인증 정보를 포함하고 변경불가능할 수 있다. 제3 인증 모델에서, 제1 및 제2 인증 정보는 상이한 인증 정보를 포함하고 변경가능할 수 있다. 이들은 에이전트 디바이스의 개발자가 적절히 이용할 애플리케이션 제공자를 선택하기 위한 상이한 옵션들을 제공한다.Thus, these different attributes can be combined to establish a variety of different authentication models that provide scalable security that is compromised against implementation costs. For example, three authentication models can be established. In the first authentication model, the first and second authentication information contain the same information and may be immutable. In the second authentication model, the first and second authentication information may include different authentication information and may be immutable. In the third authentication model, the first and second authentication information may include different authentication information and may be changeable. They provide different options for the developer of the agent device to select the application provider to use properly.

인증 모델들이 상이할 수 있는 또 다른 방식은, 이들은 에이전트 디바이스가 일단 제1 레지스트리에 이미 등록되고 나면 상이한 레지스트리에 재할당되는 것을 허용하는지에 놓여 있다. 예를 들어, 사적 조직이나 정부는, 디바이스들의 인증을 더욱 직접적으로 제어하여 그 에이전트 디바이스들이 다른 조직에 의한 이용을 위해 인증되는 것을 피할 수 있도록, 그 자신의 에이전트 디바이스들의 개인 레지스트리를 운영하기를 원할 수 있다. 그러나, 또 다른 레지스트리로의 보안 이전을 지원하는 것은, 구 레지스트리가 디바이스를 더 이상 인증할 수 없도록 키 정보를 재생성하는 능력 등의, 소정의 자원이 이용가능할 것을 요구할 수 있다. 따라서, 다시 한번, 상이한 레지스트리로의 재할당을 지원하는 것과 이를 구현하는 비용 사이의 절충이 존재한다. 따라서, 모델들마다 원하는 대로 디바이스를 할당하는 능력이 제공되거나 제공되지 않을 수 있다.Another way the authentication models may be different lies in whether they allow the agent device to be reassigned to a different registry once it has already been registered with the first registry. For example, a private organization or government might want to operate a private registry of its own agent devices so that it can more directly control the authentication of devices so that they can avoid being authenticated for use by other organizations. I can. However, supporting secure transfer to another registry may require certain resources to be available, such as the ability to regenerate key information so that the old registry can no longer authenticate the device. Thus, once again, there is a trade-off between supporting reallocation to different registries and the cost of implementing it. Thus, the ability to allocate devices as desired per models may or may not be provided.

디바이스 신원을 확립할 때, 이 방법은 또한, 에이전트 디바이스를 고유하게 식별하는 디바이스 식별자를 확립하는 단계와 이것을 디바이스에 임베딩하는 단계를 포함할 수 있다. 디바이스 식별자는 레지스트리 장치에 전송되어 레지스트리 장치가 이것을 인증 정보 및 디바이스에 대한 기타 임의의 메타데이터와 상관시키는 것을 허용할 수 있다.When establishing the device identity, the method may also include establishing a device identifier that uniquely identifies the agent device and embedding it in the device. The device identifier may be sent to the registry device to allow the registry device to correlate it with authentication information and any other metadata for the device.

또한, 레지스트리 장치를 인증하기 위해 레지스트리 인증 정보가 에이전트 디바이스에 임베딩될 수 있다. 이것은 에이전트 디바이스가 레지스트리가 유효하고 신뢰된다는 것을 체크하는 것을 허용한다.In addition, registry authentication information may be embedded in the agent device to authenticate the registry device. This allows the agent device to check that the registry is valid and trusted.

또한, 이 방법은 레지스트리 장치의 URL 또는 IP 주소 등의 레지스트리 주소를 임베딩하는 단계를 포함할 수 있다. 이것은 에이전트 디바이스가 인증을 위해 레지스트리 장치와 연락하는 것을 허용한다. 예를 들어, 에이전트 디바이스는, 처음으로 활성화될 때(예를 들어, 배치될 때 에이전트 디바이스의 처음 전원투입시에), 레지스트리 주소에 의해 식별된 레지스트리 장치와 자동으로 연락할 수 있다.Further, the method may include embedding a registry address such as a URL or IP address of a registry device. This allows the agent device to contact the registry device for authentication. For example, the agent device may automatically contact the registry device identified by the registry address when it is first activated (eg, the first power-on of the agent device when deployed).

또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 레지스트리 장치를 제공하며, 이 레지스트리 장치는 하기 회로들을 포함한다:Viewed from another aspect, the present invention provides a registry device for maintaining a device registry of agent devices for performing trusted communication with one or more application providing devices, the registry device comprising the following circuits:

복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리를 포함하는 디바이스 레지스트리를 저장하도록 구성된 저장 회로; 및To store a device registry comprising at least one registry entry for a corresponding agent device containing authentication model information identifying which of the plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. Configured storage circuit; And

명시된 에이전트 디바이스에 대한 인증 모델 정보를 요청하는 외부 디바이스로부터의 인증 모델 질의에 응답하여, 명시된 에이전트 디바이스에 대한 레지스트리 엔트리의 인증 모델 정보를 외부 디바이스에 전송하도록 구성된 통신 회로.In response to an authentication model query from an external device requesting authentication model information for the specified agent device, a communication circuit configured to transmit authentication model information of a registry entry for the specified agent device to the external device.

어느 인증 모델이 특정한 에이전트 디바이스에 대해 이용되었는지를 식별하는 인증 모델 정보를 포함하는 레지스트리를 유지함으로써, 다른 디바이스들이 레지스트리에 질의하여 디바이스 능력을 식별할 수 있다. 이것은 애플리케이션 제공 장치들이 에이전트 디바이스에서 이용가능한 보안에 따라 그들 자신의 동작을 적합화하는 것을 허용한다. 예를 들어, 애플리케이션 제공자는, 그 보안이 애플리케이션 제공자의 목적에 충분하지 않은 인증 모델을 갖는 에이전트 디바이스와 상호작용하는 것을 피할 수 있다.By maintaining a registry containing authentication model information that identifies which authentication model has been used for a particular agent device, other devices can query the registry to identify device capabilities. This allows application providing devices to adapt their own operation according to the security available at the agent device. For example, an application provider may avoid interacting with an agent device with an authentication model whose security is not sufficient for the purpose of the application provider.

레지스트리 장치는 에이전트 디바이스를 인증할 수 있고, 에이전트 디바이스가 인증된다면 레지스트리 장치는, 에이전트 디바이스와 애플리케이션 제공 장치 사이의 신뢰된 통신을 가능케 하기 위해 애플리케이션 키 정보를 에이전트 디바이스와 애플리케이션 제공 장치에 전송할 수 있다. 따라서, 레지스트리는 애플리케이션 키를 제공하기 위한 중개자로서 역할하여 에이전트 디바이스 그 자체가 이것을 행할 필요가 없게 한다. 이것은, 에이전트 디바이스의 구성을 간소화하는 것을 도울 수 있어서, 센서 등의 에이전트 디바이스들이 상당한 처리 능력을 갖지 않을 수 있는 사물 인터넷 내의 디바이스들에 유용하다.The registry device may authenticate the agent device, and if the agent device is authenticated, the registry device may transmit application key information to the agent device and the application providing device in order to enable trusted communication between the agent device and the application providing device. Thus, the registry acts as an intermediary for providing the application key so that the agent device itself does not need to do this. This can help simplify the configuration of the agent device, which is useful for devices in the Internet of Things where agent devices, such as sensors, may not have significant processing power.

또 다른 양태로부터 볼 때, 본 발명은 하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 레지스트리 장치를 제공하며, 이 레지스트리 장치는 하기 수단들을 포함한다:Viewed from another aspect, the present invention provides a registry apparatus for maintaining a device registry of agent devices for performing trusted communication with one or more application providing apparatuses, the registry apparatus comprising:

복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리를 포함하는 디바이스 레지스트리를 저장하기 위한 저장 수단; 및Storing a device registry including at least one registry entry for a corresponding agent device including authentication model information identifying which of the plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. Storage means for; And

명시된 에이전트 디바이스에 대한 인증 모델 정보를 요청하는 외부 디바이스로부터의 인증 모델 질의에 응답하여 명시된 에이전트 디바이스에 대한 레지스트리 엔트리의 인증 모델 정보를 외부 디바이스에 전송하기 위한 통신 수단.Communication means for transmitting authentication model information of a registry entry for a specified agent device to an external device in response to an authentication model query from an external device that requests authentication model information for the specified agent device.

추가의 양태로부터 볼 때, 본 발명은 레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 방법을 제공하며, 이 방법은 하기 단계들을 포함한다:Viewed from a further aspect, the present invention provides a method for a registry device to maintain a device registry of agent devices for performing trusted communication with one or more application providing devices, the method comprising the following steps:

복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리를 포함하는 디바이스 레지스트리를 유지하는 단계;Maintaining a device registry including at least one registry entry for a corresponding agent device containing authentication model information that identifies which of a plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. step;

외부 디바이스로부터 명시된 에이전트 디바이스에 대한 인증 모델 정보를 요청하는 인증 모델 질의를 수신하는 단계; 및Receiving an authentication model query for requesting authentication model information for a specified agent device from an external device; And

인증 모델 질의에 응답하여, 명시된 에이전트 디바이스에 대한 레지스트리 엔트리의 인증 모델 정보를 외부 디바이스에 전송하는 단계.In response to the authentication model query, transmitting authentication model information of a registry entry for the specified agent device to an external device.

추가적 양태로부터 보면, 본 발명은, 하나 이상의 애플리케이션 제공 장치와의 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리에 에이전트 디바이스를 등록하는 방법을 제공하며, 이 방법은 하기 단계들을 포함한다:Viewing from a further aspect, the present invention provides a method of registering an agent device in a device registry of agent devices for performing trusted communication with one or more application providing apparatuses, the method comprising the following steps:

(a) 복수의 인증 모델 중 어느 것이 에이전트 디바이스를 고유하게 인증하기 위해 에이전트 디바이스에 의해 이용되는 선택된 인증 모델인지를 판정하는 단계; 및(a) determining which of the plurality of authentication models is a selected authentication model used by the agent device to uniquely authenticate the agent device; And

(b) 디바이스 레지스트리를 유지하기 위한 레지스트리 장치에, 복수의 인증 모델 중 어느 것이 에이전트 디바이스에 대한 선택된 인증 모델인지를 식별하는 인증 모델 정보를 전송하는 단계.(b) transmitting, to a registry apparatus for maintaining the device registry, authentication model information identifying which of the plurality of authentication models is a selected authentication model for the agent device.

인증 모델 정보는 또한, 에이전트 디바이스의 신뢰된 신원이 이미 확립된 이후의 나중의 스테이지에서 레지스트리 장치에 전송될 수도 있다. 이 경우, 이 방법은, 에이전트 디바이스에 대해 어느 인증 모델이 이용되었는지를 판정하는 단계와 인증 모델 정보를 레지스트리 장치에 전송하는 단계를 포함할 수 있다. 인증 정보가 아직 레지스트리에 전송되지 않았다면 이것은 또한 디바이스를 레지스트리에 등록할 때 전송될 수도 있다.The authentication model information may also be transmitted to the registry device at a later stage after the trusted identity of the agent device has already been established. In this case, the method may include determining which authentication model has been used for the agent device and transmitting authentication model information to the registry apparatus. If authentication information has not yet been sent to the registry, it may also be sent when registering the device with the registry.

본 발명의 추가적 양태, 특징, 및 이점들은 첨부된 도면들을 참조하여 이하에서 각각 더 상세히 설명될 것이다.Additional aspects, features, and advantages of the present invention will each be described in more detail below with reference to the accompanying drawings.

도 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 schematically shows an example of a system including at least one registry device for establishing trusted communication between an agent device and an application providing device;
2 shows an example of the relationship between an agent device, an application provider, a device registry, and a consumer;
3 shows an exemplary timeline showing the progress of an agent device through its lifetime from manufacturing to use in an application;
4 schematically shows an example of an agent device;
5 schematically shows an example of storage areas provided in an agent device for storing authentication information and other information for establishing communication with the registry apparatus;
6 shows an example of an application providing device;
7 shows an example of a registry apparatus for maintaining a trusted device register;
8A shows an example of a registry entry for an agent device;
8B shows an example of an event record for an agent device;
9 is a graph showing the trade-off between security and the cost of implementing security;
10, 11, and 12 show three examples of authentication models for authenticating the identity of an agent device;
Fig. 13 is a table comparing different attributes of the authentication model shown in Figs. 10-12;
14 shows a first exemplary method of establishing a trusted identity for an agent device;
15 shows a second exemplary method of establishing a trusted identity for an agent device;
Fig. 16 shows a method of performing authentication between an agent device and a registry device and establishing encrypted communication between the agent device and an application providing device;
17 shows an example of how to associate an agent device with a user and associate an agent device with a specific application;
18 shows an example of a method of allocating an agent device currently registered in the first registry to the second registry;
19 shows an example of a method of resetting the ownership of the agent device back to the first registry;
20 to 23 show four examples of use cases of an agent device, a registry device, and an application providing device.

도 1은, 다수의 에이전트 디바이스(4), 애플리케이션 제공 장치(6), 및 레지스트리 장치(8)로 구성된 시스템(2)의 예를 나타낸다. 애플리케이션 제공 장치(6)는, 클라우드 서비스를 제공하고 하나 이상의 에이전트 디바이스(4)로부터 수집된 데이터를 이용하여 애플리케이션 프로그램을 실행하며 및/또는 하나 이상의 에이전트 디바이스(4)를 제어하기 위한 명령을 내리는 임의의 디바이스를 포함할 수 있다. 에이전트 디바이스(4)는, 애플리케이션 제공 장치(6)에 전송하기 위한 데이터를 수집하거나 애플리케이션 제공 장치(6)에 의해 제어되는 임의의 디바이스일 수 있다. 예를 들어, 에이전트 디바이스(4)는, 무선 센서 및 액츄에이터 등의, 사물 인터넷(IOT; Internet of Things) 내의 접속된 디바이스들일 수 있다. 에이전트 디바이스(4)는, 태블릿 컴퓨터 또는 모바일 전화 등의 더 큰 규모의 처리 디바이스를 포함할 수 있지만, 종종 에이전트 디바이스(4)는, 감지 데이터를 수집하고 이를 애플리케이션에 피드백하는 센서들 등의, 제한된 태스크 세트만을 수행하는 비교적 작은 규모의 디바이스, 또는 스프링클러, 수영장 펌프 또는 공기 조절 유닛 등의 연관된 객체를 제어하는 비교적 간단한 제어 유닛을 포함할 수도 있다. 에이전트 디바이스(4)는, 인터넷 접속을 경유할 수 있는 유선 또는 무선 통신을 이용하여 (애플리케이션 제공 장치(6) 및 레지스트리 장치(8) 등의) 다른 디바이스들과 통신할 수 있다. 본 출원에서, 용어 "센서"는 때때로 에이전트 디바이스의 예로서 사용되지만, 에이전트 디바이스들은 또한 감지 이외의 태스크를 수행할 수 있는 디바이스들도 포함할 수 있다는 것을 이해할 것이다.FIG. 1 shows an example of a system 2 composed of a plurality of agent devices 4, an application providing device 6, and a registry device 8. The application providing device 6 provides a cloud service, executes an application program using data collected from one or more agent devices 4, and/or issues a command to control one or more agent devices 4 It may include a device of. The agent device 4 may be any device that collects data for transmission to the application providing device 6 or is controlled by the application providing device 6. For example, the agent device 4 may be connected devices in the Internet of Things (IOT), such as wireless sensors and actuators. The agent device 4 may comprise a larger processing device, such as a tablet computer or mobile phone, but often the agent device 4 is limited, such as sensors that collect sensory data and feed it back to the application. It may also comprise a relatively small scale device that performs only a set of tasks, or a relatively simple control unit that controls an associated object such as a sprinkler, pool pump or air conditioning unit. The agent device 4 can communicate with other devices (such as the application providing apparatus 6 and the registry apparatus 8) using wired or wireless communication that can be via an Internet connection. In this application, the term “sensor” is sometimes used as an example of an agent device, but it will be appreciated that agent devices may also include devices capable of performing tasks other than sensing.

에이전트 디바이스들(4)과 애플리케이션 제공 장치(6)는 암호화된 통신에 의해 통신한다. 이러한 암호화된 통신을 확립하는 것을 돕기 위해, 신뢰된 에이전트 디바이스(4)에 대한 정보를 저장하는 신뢰된 에이전트 디바이스 레지스트리를 유지하기 위한 하나 이상의 레지스트리 장치(8)가 제공된다. 레지스트리(8)는 애플리케이션 제공 장치(6)와의 에이전트 디바이스(4)의 자동화된 보안 페어링을 용이하게 하여, 애플리케이션과 에이전트 디바이스들이 상이한 제조사, 공급자 또는 배포자들에 의해 제공되더라도, 애플리케이션이 에이전트 디바이스(4)의 진본성과 데이터 무결성을 신뢰할 수 있게 하고 에이전트 디바이스(4)가 애플리케이션(6)의 진본성과 명령 무결성을 신뢰할 수 있게 한다. 레지스트리(8)는 또한 에이전트 디바이스(4)와 애플리케이션(6) 사이의 신뢰된 통신의 구성을 간소화하여, 에이전트 디바이스들(4)이 자신들과 통신하는 애플리케이션의 구체적인 세부사항을 알 필요가 없게 하고 에이전트 디바이스(4)의 사용자가 애플리케이션과의 통신을 확립하기 위한 구성 동작을 수행할 필요가 없게 한다. 대신에, 활성화될 때, 에이전트 디바이스(4)는 단순히 레지스트리(8)와 연락할 수 있고, 그러면, 레지스트리(8)는 에이전트 디바이스(4)와 애플리케이션(6)이 서로 통신하도록 구성할 수 있다.The agent devices 4 and the application providing device 6 communicate by encrypted communication. In order to assist in establishing such encrypted communication, one or more registry devices 8 are provided for maintaining a trusted agent device registry that stores information about the trusted agent device 4. The registry 8 facilitates automated secure pairing of the agent device 4 with the application providing device 6, so that even if the application and agent devices are provided by different manufacturers, suppliers or distributors, the application is ) And data integrity, and make the agent device 4 trust the authenticity and command integrity of the application 6. The registry 8 also simplifies the configuration of trusted communication between the agent device 4 and the application 6, so that the agent devices 4 do not need to know the specific details of the application communicating with them and the agent It eliminates the need for the user of the device 4 to perform a configuration operation to establish communication with the application. Instead, when activated, the agent device 4 can simply contact the registry 8, and then the registry 8 can configure the agent device 4 and the application 6 to communicate with each other.

도 1에 도시된 바와 같이, 복수의 레지스트리 장치(8)가 제공될 수 있고, 그 각각은 상이한 세트의 에이전트 디바이스(4) 및 애플리케이션 제공자(6)와 연락한다. 도 1에 도시된 바와 같이, 에이전트 디바이스(A8)가 하나보다 많은 레지스트리에 등록되는 것이 가능하다. 유사하게, 애플리케이션 제공 장치(6)는 복수의 레지스트리와 연락할 수 있다. 또한, 대부분의 에이전트 디바이스들(4)은 하나의 애플리케이션 제공 장치(6)와 통신하지만, 레지스트리가 에이전트 디바이스(4)를 복수의 애플리케이션 제공자와 통신하도록 구성하는 것도 가능하다(예를 들어, 도 1의 에이전트 디바이스(A2) 참조).As shown in Fig. 1, a plurality of registry devices 8 may be provided, each of which communicates with a different set of agent devices 4 and application providers 6. As shown in Fig. 1, it is possible for the agent device A8 to be registered in more than one registry. Similarly, the application providing device 6 can communicate with a plurality of registries. In addition, although most of the agent devices 4 communicate with one application providing device 6, it is also possible to configure the registry to communicate the agent device 4 with a plurality of application providers (for example, FIG. 1 Agent device (A2)).

에이전트 디바이스(4)와 애플리케이션 제공 장치(6)의 기능은 상이한 애플리케이션들마다 상당히 달라질 수 있다. 예를 들어, 에이전트 디바이스(4)는, 에이전트 디바이스(4)에 의해 수집된 데이터에 기초하여 예보를 수행하는 날씨 애플리케이션을 수행하는 애플리케이션 제공자(6)에게 전달될 기상 데이터를 수집할 수 있다. 또한, 일부 에이전트 디바이스(4)는, 심박수, 주파된 거리 등의 사용자의 건강 프로그램(fitness program)에 대한 정보를 수집할 수 있고, 이것은 애플리케이션 제공자(6)에 의해 유지되는 건강 모니터링 애플리케이션에 피드백될 수 있다. 또 다른 예에서, 가정용 공기 조절 시스템은, 중앙 모니터링 애플리케이션(6)과, 온도 센서, 습도 센서, 사용자 구성 패널, 및 공기 조절 제어 유닛 등의 다수의 에이전트 디바이스(4)를 포함할 수 있고, 중앙 애플리케이션은 사용자 구성 패널에서 설정된 사용자의 선호사항 및 센서들의 감지에 기초하여 공기 조절 제어 유닛의 동작을 제어한다. 애플리케이션 제공 장치(6)와 하나 이상의 에이전트 디바이스(4)를 유사한 방식으로 이용할 수 있는 많은 추가적인 애플리케이션들이 있다. 예를 들어, 가정 보안, 가정 또는 거리 조명, 유틸리티 프로비전(utility provision), 건물 자동화, 치안유지, 자산 추적 및 물류 등에서의 애플리케이션들이 있을 수 있다. 레지스트리(8)는 사물 인터넷 디바이스와 애플리케이션(6) 사이에서 인증과 신뢰를 관리하기 위한 공통 아키텍쳐를 제공한다.The functions of the agent device 4 and the application providing device 6 may vary considerably for different applications. For example, the agent device 4 may collect weather data to be delivered to the application provider 6 that performs a weather application that performs a forecast based on data collected by the agent device 4. In addition, some agent devices 4 may collect information about the user's fitness program, such as heart rate, frequency frequency, etc., which will be fed back to the health monitoring application maintained by the application provider 6. I can. In another example, the home air conditioning system may include a central monitoring application 6 and a number of agent devices 4 such as temperature sensors, humidity sensors, user configurable panels, and air conditioning control units. The application controls the operation of the air conditioning control unit based on the detection of sensors and user preferences set in the user configuration panel. There are many additional applications that can use the application providing device 6 and one or more agent devices 4 in a similar manner. For example, there may be applications in home security, home or street lighting, utility provision, building automation, policing, asset tracking, and logistics. The registry 8 provides a common architecture for managing authentication and trust between IoT devices and applications 6.

도 2는, 에이전트 디바이스(4), 애플리케이션 제공자(6), 레지스트리(8), 및 소비자(10) 사이의 관계의 예를 나타낸다. 소비자(10)는 에이전트 디바이스(4)의 물리적 소유권을 가진다. 소비자(10)는 또한, 애플리케이션 제공자(6)와 사업 관계를 가진다. 예를 들어, 애플리케이션 제공자는 사용자 ID와 패스워드를 이용하여 소비자(10)의 사용자 프로파일을 설정했을 수 있다. 이 정황에서의 소비자는, 예를 들어, 사람, 가계 또는 회사일 수 있다.2 shows an example of the relationship between the agent device 4, the application provider 6, the registry 8, and the consumer 10. The consumer 10 has physical ownership of the agent device 4. The consumer 10 also has a business relationship with the application provider 6. For example, the application provider may have set up a user profile of the consumer 10 using a user ID and password. Consumers in this context could be, for example, people, households or companies.

에이전트 디바이스(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)의 사용자 또는 설치자가 신뢰된 통신을 구성하는 방법을 알 필요성을 제거한다.The agent device 4 (for example, a sensor) contains authentication information for authenticating itself to the registry 8. For example, the agent device 4 may have a key that can be used to verify its identity. Thus, the registry 8 can check the identity of the agent device 4 and confirm that it is a trusted agent device. Similarly, the registry 8 and the application provider 6 can exchange keys to verify each other's identities and establish a trusted relationship. If the registry 8 establishes trust with both the agent device 4 and the application providing device 6, the registry 8 will provision application keys to both the agent device 4 and the application providing device 6 I can. The application key provided by the registry 8 is then used to encrypt the communication between the agent device 4 and the application provider 6 without any need for communication via the registry 8. Thus, the registry 8 does not require the agent device 4 and the application provider 6 to establish a direct trust between them, and the trusted communication between the agent device 4 and the application provider 6 Facilitates the establishment of This is because the agent device 4 can be a small, ultra-low power device (such as a temperature sensor or heart rate monitor) with little processing power to implement a protocol and cryptographic algorithm for verifying the identity of the application provider 6 useful. In addition, often the person installing the agent device 4 may not have the knowledge or information to perform complex configuration applications to establish trusted communication with the application provider 6. The registry eliminates the need for the user or installer of the agent device 4 to know how to configure trusted communication.

도 2에서 소비자(10)와 레지스트리(8) 사이에는 아무런 관계가 없다는 점에 유의한다. 레지스트리(8)는 사용자 ID나 패스워드 등의 소비자에 대한 어떠한 상세사항도 갖지 않으므로 어떠한 개인 상세사항도 레지스트리에 의해 전송되거나 저장되지 않는다. 소비자의 관계(10)는 오직 애플리케이션 제공자(6)에만 해당된다. 레지스트리(8)는 오직 에이전트 디바이스(4) 및 애플리케이션 제공자(6)와만 통신하고 소비자(10)와는 통신하지 않는다. 따라서, 레지스트리(8)는 에이전트 디바이스와 애플리케이션 사이에서 신뢰를 확립하기 위한 중립적 플랫폼이다. 일단 에이전트 디바이스(4)와 애플리케이션(6) 사이에 신뢰된 통신이 확립되고 나면, 레지스트리가 관여하지 않고 에이전트 디바이스와 애플리케이션 사이에서 직접 통신이 진행된다.Note that in FIG. 2 there is no relationship between the consumer 10 and the registry 8. The registry 8 does not have any details about the consumer, such as a user ID or password, so no personal details are transmitted or stored by the registry. The consumer's relationship 10 is only for the application provider 6. The registry 8 communicates only with the agent device 4 and the application provider 6 and does not communicate with the consumer 10. Thus, the registry 8 is a neutral platform for establishing trust between the agent device and the application. Once trusted communication has been established between the agent device 4 and the application 6, the direct communication proceeds between the agent device and the application without involving the registry.

다른 예들에서, 도 2에 도시된 바와 같은 소비자(10)가 없을 수도 있고 대신에 에이전트 디바이스(4)는 애플리케이션 제공 장치(6)를 작동하는 동일한 조직에 속할 수도 있다. 예를 들어, 스마트 접속된 도시는, 예를 들어, 거리 조명, 트래픽 흐름, 또는 쓰레기 수거를 모니터링하기 위한 사물 인터넷 디바이스들을 도시 주변에 가질 수 있고, 도시 관리자는 감지 데이터를 제공하는 에이전트 디바이스(4)와 에이전트 디바이스(4)에 의해 획득된 데이터를 모니터링하고 이 데이터를 처리하기 위한 하나 이상의 애플리케이션 제공 장치(6) 양쪽 모두를 소유할 수 있다(예를 들어, 애플리케이션은 도시의 거주자가 상태를 체크하고 문제를 보고하기 위해 액세스할 수 있는 클라우드 플랫폼을 제공할 수 있다). 이 경우, 도 2에 도시된 바와 같은 특정한 에이전트 디바이스(4)와 연관된 소비자(10)는 없을 수도 있다. 그럼에도 불구하고, 레지스트리(8)의 이용은 에이전트 디바이스(4)의 설치를 간소화한다. 예를 들어, 거리 조명이나 쓰레기 통에 에이전트 디바이스(4)를 설치하는 계약자는 에이전트 디바이스(4)를 에이전트 디바이스(4)로부터 데이터를 수신하는 애플리케이션과 통신하도록 구성하는 방법을 알 필요가 없을 것이다. 대신에, 에이전트 디바이스(4)의 활성화시(예를 들어, 에이전트 디바이스의 전원투입이나 배치시)에, 에이전트 디바이스는 레지스트리(8)와 자동으로 통신하여 애플리케이션(6)과의 신뢰된 관계를 셋업할 수 있다.In other examples, there may be no consumer 10 as shown in FIG. 2 and instead the agent device 4 may belong to the same organization that operates the application providing device 6. For example, a smart connected city may have Internet of Things devices around the city for monitoring street lighting, traffic flow, or garbage collection, for example, and the city manager may have an agent device 4 providing sensing data ) And one or more application-providing devices 6 for monitoring and processing the data acquired by the agent device 4 (e.g., the application can be used by a city resident to check the status) And provide a cloud platform that you can access to report issues). In this case, there may be no consumer 10 associated with a particular agent device 4 as shown in FIG. 2. Nevertheless, the use of the registry 8 simplifies the installation of the agent device 4. For example, a contractor installing an agent device 4 in a street lighting or trash bin would not need to know how to configure the agent device 4 to communicate with an application that receives data from the agent device 4. Instead, upon activation of the agent device 4 (e.g., upon power-up or deployment of the agent device), the agent device automatically communicates with the registry 8 to establish a trusted relationship with the application 6 can do.

도 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)에 대한 기타의 메타데이터가 제공될 수 있다.3 shows an exemplary timeline showing the progress of the agent device (sensor) 4 from its manufacture until communication with the application provider 6 is established through registration and authentication with the registry 8. In step A, a system on chip (SOC) for the agent device is fabricated from silicon. In step B, an original equipment manufacturer (OEM) and/or an original device manufacturer (ODM) manufactures the agent device 4 using a system on a chip. At some point during manufacture, a unique device identifier is embedded in the agent device 4, along with key information for authenticating the identity of the agent device and other metadata for the agent device. In step C, the agent device is deployed. For example, the user 10 may purchase the agent device 4 from a store and the agent device may be provided to an agency such as a weather forecasting bureau or city government. During the manufacture of step B or during the distribution of step C, registration information is provided to the registry 8 to register the agent device 4 with the registry 8 as a trusted agent device. The registry 8 may be provided with key information for confirming whether the agent device 4 is trusted, as well as other metadata for the agent device 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)에서 확립될 수 있다.At this time, the registry 8 knows that the agent device 4 having the unique ID is a trusted agent device, but it does not know which cloud service application will use the data from the agent device 4. Thus, in step D, a binding operation is performed to link the user 10, the agent device 4, and the cloud application 6. For example, the agent device may have a device identifier of some kind, such as a reference number, a barcode or a QR code (Quick Response code). The application provider 6 may provide a web interface or a smartphone or tablet app for inputting a device identifier or scanning a barcode or QR code and uploading the device identifier to the application provider 6 along with the user identifier. Alternatively, this may be performed by the application provider upon registration of the consumer to the application provider and subsequent assignment and dispatch of the agent device to the user. At this time, the cloud service knows which user owns the agent device 4, and then notifies the registry 8 of the device identifier to be registered for use in the application 6, so that the registry is It now knows whether 6) should communicate with the agent device 4. In this way, the user of the agent device 4 does not recognize that the registry 8 exists and the agent device 4 stores information linking the agent device 4 to a specific cloud service or application provider 6. Without need, a link between the agent device 4 and the application provider 6 can be established in the registry 8.

단계 E에서, 예를 들어, 사물 인터넷의 일부로서 현장에서 에이전트 디바이스를 설치함으로써, 또는 에이전트 디바이스를 처음으로 턴온함으로써, 에이전트 디바이스가 배치된다. 에이전트 디바이스(4)의 활성화시에, 에이전트 디바이스(4)는 에이전트 디바이스(4) 내에 저장된 레지스트리 주소를 이용하여 레지스트리(8)와 자동으로 연락한다. 에이전트 디바이스(4)와 레지스트리(8)는 이제, 단계 B에서 에이전트 디바이스(4)에 임베딩되었고 단계 B 또는 C의 등록 동안에 레지스트리(8)에 등록되었던 키 정보를 이용하여 서로 상호 인증하여 신뢰를 확립한다. 상호 인증이 성공적이면, 레지스트리(8)는 애플리케이션 키를 에이전트 디바이스(4)와 애플리케이션 제공자(6)에 제공하고, 단계 F에서, 에이전트 디바이스(4)와 애플리케이션 제공자(6)는 레지스트리(8)로부터 수신된 애플리케이션 키를 이용하여 메시지를 암호화 및 암호해독함으로써 보안 통신할 수 있다. 따라서, 레지스트리(8)는, 에이전트 디바이스가 임의의 복잡한 구성을 수행할 것을 필요로하지 않고 에이전트 디바이스(4)와 애플리케이션(6) 사이에서 신뢰가 확립될 수 있게 한다.In step E, the agent device is deployed, for example by installing the agent device in the field as part of the Internet of Things, or by turning on the agent device for the first time. Upon activation of the agent device 4, the agent device 4 automatically contacts the registry 8 using the registry address stored in the agent device 4. The agent device 4 and the registry 8 are now embedded in the agent device 4 in step B and mutually authenticate each other using the key information that was registered in the registry 8 during registration in step B or C to establish trust. do. If mutual authentication is successful, the registry 8 provides the application key to the agent device 4 and the application provider 6, and in step F, the agent device 4 and the application provider 6 are from the registry 8 Secure communication is possible by encrypting and decrypting messages using the received application key. Thus, the registry 8 allows trust to be established between the agent device 4 and the application 6 without requiring the agent device to perform any complex configuration.

요약하면, 레지스트리(8)는, IOT 디바이스(예를 들어, 센서)(4)와 애플리케이션 제공 장치(클라우드 제공자)(6) 사이의 신뢰의 인증을 관리하기 위한 아키텍쳐를 제공한다. 레지스트리(8)는, 각각의 애플리케이션 제공자(6)와 에이전트 디바이스(4)에 대한 메타데이터를 관리하고, 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이의 관계를 관리하며, 디바이스 식별자를 인증하고, 에이전트 디바이스와 애플리케이션에게 보안 통신을 가능케 하기 위한 키를 제공하는 클라우드 플랫폼을 포함한다. 에이전트 디바이스(4)는, 에이전트 디바이스(4)가 고유한 인증가능한 신원, 보안 키 저장, 및 신뢰를 보안 유지하기 위한 암호화 능력, 및 예측가능한 플랫폼 강인성을 가진다는 것을 보장하는 특정한 설계 지침에 따라 제조 및 설계될 수 있다. 에이전트 디바이스 제조 지원 플랫폼은 키 생성 및 에이전트 디바이스(4)로의 삽입과 키 쌍의 관리뿐만 아니라 레지스트리와의 인터페이스를 지원할 수 있다.In summary, the registry 8 provides an architecture for managing the authentication of trust between the IOT device (eg, sensor) 4 and the application providing device (cloud provider) 6. The registry 8 manages metadata for each application provider 6 and agent device 4, manages the relationship between the agent device 4 and the application provider 6, and authenticates the device identifier. , A cloud platform that provides a key to enable secure communication to agent devices and applications. The agent device 4 is manufactured according to specific design guidelines that ensure that the agent device 4 has a unique authenticable identity, secure key storage, and cryptographic capabilities to secure trust, and predictable platform robustness. And can be designed. The agent device manufacturing support platform may support key generation and insertion into the agent device 4 and management of key pairs, as well as an interface with a registry.

이 아키텍쳐는 기존 시스템에서의 몇 가지 문제점을 해결하는 것을 돕는다. 레지스트리 클라우드 서비스에 의해 인증되는 고유 식별자를 각각의 에이전트 디바이스에 제공함으로써, 에이전트 디바이스는 신뢰를 보장하도록 고유하게 식별될 수 있다. 바람직하게는, 디바이스 식별자는 전역적으로 고유할 수 있어서, 전 세계를 통해 어떠한 2개의 디바이스도 동일한 식별자를 공유하지 않는다. 이것은, 디바이스 식별자의 제조 및 할당은 임의의 후속적으로 이용되는 레지스트리와는 완전히 독립적일 수 있다는 것을 의미한다. 그러나, 디바이스 식별자가 주어진 레지스트리 또는 레지스트리 집단 내에서 국지적으로 고유하고, 독립된 상호작용하지 않는 레지스트리들에서 상이한 디바이스들에 대해 동일한 식별자가 이용되는 것도 가능하다. 에이전트 디바이스(4)와 애플리케이션(6) 사이의 상호 인증이 달성되어, 애플리케이션에 대해 에이전트 디바이스를 보안 페어링하는 자동 등록 프로세스를 통해, 애플리케이션은 에이전트 디바이스 진본성을 신뢰하고 에이전트 디바이스는 애플리케이션 진본성을 신뢰할 수 있다. 에이전트 디바이스(4)와 애플리케이션(6)은 이제, 그들이 동일한 제공자에 의해 제조 또는 배포괴지 않더라도, 서로 신뢰할 수 있기 때문에, 이것은 에이전트 디바이스와 애플리케이션에 대한 시장을 개방하여, 신뢰를 달성하기 위하여 어떤 애플리케이션 제공자(6)에 의해 제공된 특정한 브랜드의 에이전트 디바이스(4)를 이용할 필요가 없다. 애플리케이션은 복수의 제조사로부터의 광범위한 에이전트 디바이스들을 신뢰할 수 있고 에이전트 디바이스들은 복수의 제공자로부터의 광범위한 애플리케이션들을 신뢰할 수 있다. 이것은 에이전트 디바이스와 애플리케이션의 비용 감소를 돕고 또한 사물 인터넷 에이전트 디바이스와 애플리케이션의 이용을 증가시키는 것을 도울 것이다. 또한, 레지스트리(8)는, 많은 소스로부터 수신된 많은 양의 데이터를 처리하는 "빅 데이터" 애플리케이션을 위한 센서 데이터의 소스에 대한 애플리케이션 제공자의 신뢰성을 증가시키는 것을 돕는다. "빅 데이터" 서비스를 위해 수집된 정보의 가치는 개별 에이전트 디바이스(4)에 의해 수집된 모든 "리틀 데이터"의 유효성에 의존한다. 클라우드 서비스가 그 개별 에이전트 디바이스(4)를 신뢰할 수 없다면, "빅 데이터"에 의해 획득된 결론도 역시 신뢰될 수 없어서, 전체 애플리케이션을 무의미하게 한다. 본 기술은 이러한 애플리케이션들에 의해 수집된 전체 정보에 대한 신뢰를 유지하는 것을 돕는다. 또한, 레지스트리(8)는, 에이전트 디바이스 특성 및 에이전트 디바이스(4)의 이용 이력 등의 다른 정보를 저장할 수 있다. 이것은 애플리케이션 제공자(6)가 특정한 종류의 에이전트 디바이스(4)를 목표화하는 것을 허용하는데 이용될 수 있다. 예를 들어, 애플리케이션(6)은 소정의 최소한의 보안 요건을 갖는 에이전트 디바이스(4)로부터 데이터를 수집하기만을 원할 수도 있다.This architecture helps to solve some of the problems in existing systems. By providing each agent device with a unique identifier that is authenticated by the registry cloud service, the agent device can be uniquely identified to ensure trust. Advantageously, the device identifier can be globally unique so that no two devices throughout the world share the same identifier. This means that the manufacture and assignment of device identifiers can be completely independent of any subsequently used registry. However, it is also possible that the device identifier is locally unique within a given registry or registry population, and the same identifier is used for different devices in independent non-interacting registries. Mutual authentication between the agent device 4 and the application 6 is achieved, and through the automatic registration process of secure pairing the agent device for the application, the application trusts the agent device authenticity and the agent device trusts the application authenticity. I can. Since the agent device 4 and the application 6 can now trust each other, even if they are not manufactured or distributed by the same provider, this opens the market for the agent device and the application, so that any application provider to achieve trust. There is no need to use the agent device 4 of a specific brand provided by (6). The application can trust a wide range of agent devices from multiple manufacturers and the agent devices can trust a wide range of applications from multiple providers. This will help reduce the cost of agent devices and applications and also help increase the use of IoT agent devices and applications. In addition, the registry 8 helps to increase the reliability of the application provider for the source of sensor data for "big data" applications that process large amounts of data received from many sources. The value of the information collected for the "big data" service depends on the validity of all "little data" collected by the individual agent device 4. If the cloud service cannot trust its individual agent device 4, then the conclusions obtained by "big data" cannot also be trusted, making the whole application meaningless. This technology helps to maintain confidence in the overall information collected by these applications. In addition, the registry 8 may store other information such as agent device characteristics and a usage history of the agent device 4. This can be used to allow the application provider 6 to target a specific kind of agent device 4. For example, the application 6 may only want to collect data from the agent device 4 with certain minimum security requirements.

도 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 schematically shows the agent device 4. The agent device includes a sensing circuit 11 for collecting sensing data. For example, the sensing circuit 11 may include a temperature sensor, a camera, a heart rate monitor, or any other detector for collecting the data required by the application provider 6. The agent device 4 is also used to control various processing operations performed by the agent device 4, such as mutual authentication, encryption of data transmitted to the application providing device 6, and key generation. And a processing circuit 12. The agent device 4 also has a communication circuit 14 for communicating with external devices such as a registry device 8 and an application providing device 6. The communication circuit 14 is communication using a wireless local area network (WiFi), short-range communication such as radio frequency communication (RFID) or near field communication (NFC), or communication used in a wireless sensor network such as Zigbee or Bluetooth or 6LoWPAN. Of, wireless communication can be used. Further, the communication circuit 14 may use a cellular network such as 3G or 4G. The communication circuit 14 may also use wired communication such as an optical fiber or a metal cable. The communication circuit 14 may also use two or more different forms of communication, such as examples in several combinations of the examples given above. The agent device also includes a storage circuit 16 for storing the device identifier of the agent device 4, authentication information for authenticating the agent device, and other information used by the agent device 4. The agent device may optionally also include a key generator 18 for generating key information or other authentication information for the agent device 4.

도 4는 에이전트 디바이스가 감지 회로(11)를 포함하는 센서인 예를 도시하고 있지만, 다른 예에서는 감지 회로(11)는 필수적이지 않을 수도 있다. 대신에, 예를 들어, 에이전트 디바이스는, 예를 들어, 스프링클러, 도난 경보, 난방 또는 공기 조절 유닛, 또는 트래픽 신호등 시스템 등의 물리적 객체를 제어하기 위한 제어 회로를 포함할 수도 있다.4 shows an example in which the agent device is a sensor including the sensing circuit 11, but in other examples, the sensing circuit 11 may not be essential. Instead, for example, the agent device may comprise a control circuit for controlling a physical object such as, for example, a sprinkler, a burglar alarm, a heating or air conditioning unit, or a traffic light system.

도 5는 에이전트 디바이스(4)의 저장 회로(16)에 저장된 정보의 예를 개략적으로 나타낸다. 저장 회로(16)는, 에이전트 디바이스(4)를 고유하게 식별하는 디바이스 식별자(22)를 저장하기 위한 1회성 프로그램가능한(OTP) 영역(20)을 가진다. 디바이스 식별자(22)는 에이전트 디바이스(4)의 제조 동안에 OTP 영역(20) 내에 임베딩된다. 이 실시예에서, 일단 OTP 영역(20)에 고정되고 나면, 디바이스 식별자(22)는 변경될 수 없다. 예를 들어, 디바이스 식별자를 OTP 영역(20)에 기입한 후에, 저장 회로에서 퓨즈가 버닝되어 OTP 영역(20)이 재기입될 수 없게 할 수 있다. 대안으로서, 일부 디바이스에서 디바이스 제조후에 대한 새로운 식별자를 생성할 수 있다. 예를 들어, 디바이스를 상이한 레지스트리에 이전할 때, 새로운 레지스트리에 의해 이미 관리되고 있는 디바이스들의 식별자들과의 충돌을 피하기 위해 그 디바이스에 새로운 식별자를 할당하는 것이 가능할 수 있다.5 schematically shows an example of information stored in the storage circuit 16 of the agent device 4. The storage circuit 16 has a one-time programmable (OTP) area 20 for storing a device identifier 22 that uniquely identifies the agent device 4. The device identifier 22 is embedded in the OTP area 20 during manufacture of the agent device 4. In this embodiment, once fixed to the OTP area 20, the device identifier 22 cannot be changed. For example, after writing the device identifier to the OTP area 20, a fuse may be burned in the storage circuit so that the OTP area 20 cannot be rewritten. As an alternative, some devices can generate a new identifier for post-device manufacturing. For example, when transferring a device to a different registry, it may be possible to assign a new identifier to that device in order to avoid conflict with the identifiers of devices already being managed by the new registry.

저장 회로(16)는 또한, 판독 및 기입될 수 있지만, 판독 및 기입 보호가 적용되어 처리 회로(12)에 의해 실행되는 특권부여받은 소프트웨어에 의해서만 액세스될 수 있는, 비휘발성 메모리 영역(24)을 포함한다. 판독/기입 보호된 영역(24)은, 에이전트 디바이스(4)가 레지스트리(8)와 연락할 수 있게 하는 URL, IP 주소 또는 기타의 식별자를 포함하는 레지스트리 주소(26)를 저장한다. 보호된 영역(24)은 또한, 레지스트리(6)가 인증된 것인지를 확인하기 위해 레지스트리(6)로부터 수신된 메시지를 암호해독하기 위한 레지스트리 공개 키(27)를 저장한다(레지스트리 공개 키(27)는 레지스트리에 의해 유지되는 레지스트리 개인 키에 대응한다).The storage circuit 16 also has a nonvolatile memory area 24 that can be read and written, but with read and write protection applied and accessible only by privileged software executed by the processing circuit 12. Include. The read/write protected area 24 stores a registry address 26 containing a URL, IP address or other identifier that allows the agent device 4 to contact the registry 8. The protected area 24 also stores a registry public key 27 for decrypting the message received from the registry 6 to verify that the registry 6 is authenticated (registry public key 27). Corresponds to the registry private key maintained by the registry).

보호된 영역(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)를 인증하기 위한 인증 기관으로서 역할할 수 있다.The protected area 24 also stores a sensor key 28 or a private key 29, which is a unique key held by the agent device 4 to uniquely identify its identity. The sensor key 28 is a symmetric key shared with the registry 8. The message can be at least partially encrypted using the sensor key 28, and if the registry 8 can successfully decrypt the message using the same key, the message is considered to have been received from a trusted agent device. So the device is authenticated accordingly. As an alternative, the agent device may be provided with a private key 29 corresponding to a different public key maintained by the registry 8. This asymmetric key pair allows more secure authentication of the agent device, since no other device holds the private key 29 of the agent device 4. The public key 32 corresponding to the private key 29 can be placed in a write protected but not read protected area 34 of the storage circuit 16. Thus, the public key 32 can be read by any device or by any software running on the agent device 4. Further, the digital certificate 36 associated with the agent device 4 is also stored in the open area 34 of the storage circuit 16. The digital certificate contains a public key 32 as well as various data and metadata identifying the agent device 4. This certificate is sent to the registry 8 during authentication, and the registry signs this certificate to authenticate the agent device identity. Other devices can then read the certificate from the registry 8 and the signature of the registry confirms that the agent device is trusted and that the public key 32 associated with the certificate 36 is actually from that agent device. Thus, the registry 8 can serve as a certificate authority for authenticating the public key 32 in a manner similar to other certificate authorities in the public key infrastructure (PKI).

판독/기입 보호된 영역(24)은 또한, 애플리케이션 제공자(6)와의 신뢰된 통신을 수행하기 위한 대칭 키인 하나 이상의 애플리케이션 키(30)를 저장한다. 이들 키는 레지스트리(8)에 의해 제공되고 에이전트 디바이스(4) 및 애플리케이션 제공자(6)에 의해 교환되는 데이터나 명령을 암호화/암호해독하는데 이용된다. 레지스트리(8)에 의해 각각의 쌍의 에이전트 디바이스(4)와 애플리케이션 제공자(6)에 대한 상이한 애플리케이션 키가 제공되어 디바이스들간의 통신의 보안을 유지할 수 있다. 다른 실시예에서, 디바이스(4)와 애플리케이션 제공자(6)에게 제공되는 애플리케이션 키(30)로서 비대칭 키가 이용될 수 있다. 레지스트리 장치(8)에 의해 제공되는 애플리케이션 키는 레지스트리 장치(8) 그 자체에 의해 생성되거나, 하드웨어 키 생성기 또는 키 저장 디바이스 등의 또 다른 디바이스로부터 레지스트리에 의해 획득될 수도 있다.The read/write protected area 24 also stores one or more application keys 30 which are symmetric keys for carrying out trusted communication with the application provider 6. These keys are provided by the registry 8 and used to encrypt/decrypt data or commands exchanged by the agent device 4 and the application provider 6. Different application keys for each pair of agent devices 4 and application providers 6 are provided by the registry 8 to maintain the security of communication between devices. In another embodiment, an asymmetric key may be used as the application key 30 provided to the device 4 and the application provider 6. The application key provided by the registry device 8 may be generated by the registry device 8 itself, or may be obtained by the registry from another device such as a hardware key generator or a key storage device.

도 6은 애플리케이션 제공 장치(6)의 예를 도시한다. 레지스트리(8) 및 에이전트 디바이스(4)와의 통신을 위해 통신 회로(40)가 제공된다. 다시 한번, 에이전트 디바이스(4)에 대해 앞서 논의된 바와 같이 상이한 형태들의 유선이나 무선 통신이 제공될 수 있다. 애플리케이션 제공 장치는 또한, 애플리케이션 제공 장치(6)에 의해 이용되는 다양한 데이터와 애플리케이션을 저장하는 저장 회로(42)를 포함한다. 예를 들어, 저장 회로(42)는, 에이전트 디바이스(4)로부터 통신 회로(40)에 의해 수신된 데이터를 이용하고 이것을 소정 방식으로 처리하는, 또는 에이전트 디바이스(4)에 제어 명령을 내리는, 애플리케이션 프로그램을 저장할 수 있다. 애플리케이션을 실행하고, 레지스트리(8)의 인증, 에이전트 디바이스(4)와 교환되는 데이터의 암호화/암호해독 등의 기타의 동작을 제어하기 위해 처리 회로(44)가 제공된다. 저장 회로(42) 내의 보안 메모리 및 처리 회로(44) 내의 암호 알고리즘이나 보안 처리 기능 등의 암호화 피쳐가 제공될 수 있다.6 shows an example of the application providing device 6. A communication circuit 40 is provided for communication with the registry 8 and the agent device 4. Once again, different types of wired or wireless communication may be provided as discussed above for the agent device 4. The application providing device also includes a storage circuit 42 that stores various data and applications used by the application providing device 6. For example, the storage circuit 42 uses the data received by the communication circuit 40 from the agent device 4 and processes it in a predetermined manner, or gives a control command to the agent device 4. You can save the program. A processing circuit 44 is provided for executing applications and controlling other operations such as authentication of the registry 8, encryption/decryption of data exchanged with the agent device 4, and the like. Encryption features such as a secure memory in the storage circuit 42 and a cryptographic algorithm or a secure processing function in the processing circuit 44 may be provided.

도 7은 디바이스 레지스트리를 유지하기 위한 레지스트리 장치(8)의 예를 도시한다. 레지스트리(8)는 에이전트 디바이스(4) 및 애플리케이션 제공 장치(6)와 통신하기 위한 통신 회로(50)를 가진다. 다시 한번, 통신 회로(50)는 앞서 논의된 다양한 종류의 유선 또는 무선 통신을 이용할 수 있다. 레지스트리는 또한, 레지스트리(8)에 의해 실행되는 프로그램을 저장하고 다양한 에이전트 디바이스(4) 및 대응하는 애플리케이션(6)에 대한 정보를 추적하기 위한 디바이스 레지스트리를 저장하는 저장 회로(52)를 가진다. 저장 회로(52)에 저장된 애플리케이션 프로그램을 실행하고, 에이전트 디바이스(4) 및 애플리케이션 제공자(6)의 인증, 상이한 레지스트리들간의 에이전트 디바이스(4)의 이전, 및 에이전트 디바이스들에 대한 메타데이터의 관리 등의 동작을 제어하기 위한 처리 회로(54)가 제공된다. 다시 한 번, 저장 회로(42) 내의 보안 메모리 및 처리 회로(44) 내의 암호 알고리즘이나 보안 처리 기능 등의 암호화 피쳐가 제공될 수 있다. 레지스트리(8)는 또한, 에이전트 디바이스에 의해 어떤 인증 모델이 이용되는지에 대한 정보 등의, 소정 에이전트 디바이스(4)에 대한 정보에 대한, 외부 디바이스로부터의 질의에 응답할 수 있다. 보안상의 이유로, 모든 레지스트리(8)가 이러한 질의를 허용하는 것은 아닐 수도 있다. 예를 들어, 일부 레지스트리 오퍼레이터는 특정한 에이전트 디바이스(4)에 의해 이용되는 인증 모델에 대한 정보를 제공하지 않는 것을 선호할 수 있다. 또한, 레지스트리(8)는 에이전트 디바이스(4)에 대한 정보로 응답하기 이전에 질의측 디바이스의 인증을 수행하여 오직 신뢰된 질의측 디바이스만이 이 정보를 획득하도록 허용되어 있다는 것을 보장할 수 있다.7 shows an example of a registry apparatus 8 for maintaining a device registry. The registry 8 has a communication circuit 50 for communicating with the agent device 4 and the application providing device 6. Once again, the communication circuit 50 may use various types of wired or wireless communication discussed above. The registry also has a storage circuit 52 for storing programs executed by the registry 8 and for storing a device registry for tracking information about the various agent devices 4 and corresponding applications 6. Execute the application program stored in the storage circuit 52, authentication of the agent device 4 and the application provider 6, transfer of the agent device 4 between different registries, and management of metadata for the agent devices, etc. A processing circuit 54 is provided for controlling the operation of. Once again, encryption features such as a secure memory in the storage circuit 42 and a cryptographic algorithm or a secure processing function in the processing circuit 44 may be provided. The registry 8 can also respond to queries from external devices for information about a given agent device 4, such as information on which authentication model is used by the agent device. For security reasons, not all registries 8 may allow such queries. For example, some registry operators may prefer not to provide information about the authentication model used by a particular agent device 4. In addition, the registry 8 may perform authentication of the querying device before responding with information on the agent device 4 to ensure that only trusted querying devices are allowed to obtain this information.

도 8a는 레지스트리 장치(8)의 저장 회로(52)에 의해 저장된 레지스트리 엔트리(60)의 예를 도시한다. 레지스트리에 등록된 각각의 에이전트 디바이스(4)는 (에이전트 디바이스(4)의 OTP 영역(20)에 저장된 식별자(22)에 대응하는) 에이전트 디바이스(4)의 디바이스 식별자(22)를 포함하는 레지스트리 엔트리를 가질 수 있다. 레지스트리 엔트리는 또한, 에이전트 디바이스(4)의 디바이스 인증서(36) 및 공개 키(32)와 에이전트 디바이스(4)가 신뢰된다는 것을 확인하기 위해 레지스트리(8)에 의해 이용되는 기타의 인증 정보를 포함한다. 도 8a가 동일한 필드에서 인증서(36) 및 공개 키(32)를 갖는 예를 도시하고 있지만, 이들은 또한 상이한 필드들에 제공될 수도 있다. 또한, 레지스트리 엔트리(60)는 다른 인증 모델들에서의 이용을 위한 다른 유형의 인증 정보를 위한 필드를 가질 수도 있다.8A shows an example of a registry entry 60 stored by the storage circuit 52 of the registry device 8. Each agent device 4 registered in the registry is a registry entry containing the device identifier 22 of the agent device 4 (corresponding to the identifier 22 stored in the OTP area 20 of the agent device 4). Can have The registry entry also contains the device certificate 36 and public key 32 of the agent device 4 and other authentication information used by the registry 8 to verify that the agent device 4 is trusted. . Although Fig. 8A shows an example with a certificate 36 and a public key 32 in the same field, they may also be provided in different fields. In addition, registry entry 60 may have fields for different types of authentication information for use in different authentication models.

레지스트리 엔트리(60)는 또한, 에이전트 디바이스(4)가 신뢰된 통신을 확립하고자 하는 하나 이상의 애플리케이션 제공 장치(6)를 식별하는 하나 이상의 애플리케이션 식별자(62), 및 식별된 애플리케이션 제공 장치(6)와 통신하기 위한 하나 이상의 애플리케이션 키(30)를 포함한다. 다시 한번, 애플리케이션 식별자(62) 및 대응하는 애플리케이션 키(30)는 레지스트리 엔트리(60)의 동일한 필드 또는 별개의 필드들에 있을 수 있다. 애플리케이션 식별자는, 그 에이전트 디바이스와 연관된 애플리케이션 제공자로부터의 요청에 응답하여 레지스트리 엔트리에 저장될 수 있다. 따라서, 에이전트 디바이스 자체는 자신이 어느 애플리케이션과 통신하고 있는지를 알 필요가 없고 레지스트리(8)는 에이전트 디바이스와 애플리케이션 제공 장치 사이의 링크를 제공할 수 있다. 예를 들어, 일단 에이전트 디바이스가 레지스트리(8)로부터 애플리케이션 키(30)를 수신하고 나면, 에이전트 디바이스는, 데이터가 어디로 가고 있는지에 대해 걱정하지 않고 애플리케이션 키(30)를 이용하여 암호화된 데이터를 단순히 출력할 수 있다.The registry entry 60 also includes one or more application identifiers 62 that identify one or more application providing devices 6 for which the agent device 4 wishes to establish trusted communication, and the identified application providing devices 6. It contains one or more application keys 30 for communication. Once again, the application identifier 62 and the corresponding application key 30 may be in the same field or separate fields of the registry entry 60. The application identifier may be stored in a registry entry in response to a request from an application provider associated with the agent device. Thus, the agent device itself does not need to know which application it is communicating with, and the registry 8 can provide a link between the agent device and the application providing device. For example, once the agent device receives the application key 30 from the registry 8, the agent device simply sends the encrypted data using the application key 30 without worrying about where the data is going. Can be printed.

레지스트리 엔트리(60)는 또한, 이하에서 설명되는 바와 같이, 에이전트 디바이스(4)가 자신을 보안 인증하기 위해 어떤 인증 모델을 이용하는지를 식별하는 인증 모델 정보를 포함한다. 레지스트리 엔트리(60)는 애플리케이션 제공자 등의 외부 디바이스에 의해 질의될 수 있는 에이전트 디바이스에 대한 많은 다른 유형의 정보와 메타데이터를 포함할 수 있다는 것을 이해할 것이다. 에이전트 디바이스(4), 애플리케이션 제공자(6) 및 레지스트리(8)은 도 4, 6, 및 7에 도시된 것들 이외의 많은 다른 요소를 포함할 수도 있다는 것도 역시 이해할 것이다.The registry entry 60 also contains authentication model information that identifies which authentication model the agent device 4 uses to securely authenticate itself, as described below. It will be appreciated that the registry entry 60 may contain many different types of information and metadata about the agent device that can be queried by an external device such as an application provider. It will also be appreciated that the agent device 4, the application provider 6 and the registry 8 may include many other elements other than those shown in FIGS. 4, 6, and 7.

또한, 레지스트리 엔트리(60)는, 레지스트리 엔트리(60)의 다른 필드들 중 적어도 일부의 정보에 기초하여 생성된 신뢰된 서명이나 해시 값을 포함하는 서명/해시 필드(68)를 포함한다. 이것은, 레지스트리 엔트리(60)가 레지스트리에서 처음 생성된 이후에 디바이스나 사람이 다른 필드들 중 하나를 수정하려고 하는 경우에 조작 검출을 허용한다. 레지스트리 장치(8)는 다른 필드들을 이용하여 서명이나 해시를 재계산할 수 있고 이것이 저장된 서명/해시 필드(68)와 정합하는지를 체크할 수 있다.The registry entry 60 also includes a signature/hash field 68 that contains a trusted signature or hash value generated based on information of at least some of the other fields of the registry entry 60. This allows tamper detection if the device or person attempts to modify one of the other fields after the registry entry 60 is first created in the registry. The registry device 8 may recalculate the signature or hash using the other fields and check if it matches the stored signature/hash field 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)는 레지스트리가 디바이스의 이력을 추적하는 것을 허용한다.As shown in FIG. 8B, the registry device 8 may also store an event entry 69 for the corresponding agent device 4. The event entry 69 may be a sub-entry of the registry entry 60 shown in FIG. 8A or, in other embodiments, may be provided as a separate record associated with the registry entry 60 by the device ID 22. . The event entry 69 provides historical information on events that may occur in the corresponding agent device 4. A particular agent device 4 may have 0, 1, or multiple event entries 69 associated with it. Thus, there may be a one-to-many relationship between the registry entry 60 for a particular device and the event entry 69 associated with the same device. The event entry 69 includes a device ID 22 for the agent device, date information indicating the date the event occurred, an event record indicating the type of event that occurred and any other information associated with the event, and the registry entry 60. Includes fields for a signature/hash field for tamper detection similar to the signature/hash field 68. When an event associated with the agent device 4 occurs, a new event entry 69 may be created. For example, events that can be recorded include the dispatch of the agent device 4 after manufacture, shipment (location), activation or deactivation of the device, registration of the device by the consumer, and many others. The event entry 69 allows the registry to track the device's history.

도 9에 도시된 바와 같이, 상이한 유형들의 에이전트 디바이스(4)는 보안과 인증에 대한 상이한 요건들을 가질 수 있다. 일반적으로, (예를 들어, 데이터가 귀중하거나, 개인적이거나, 상업적으로 민감하거나 해서, 또는 데이터 이용과 연관된 건강이나 공공 안전 문제가 있어서) 요구되는 보안 레벨이 더 높을수록, 인증을 관리하기 위한 더 복잡한 자원이 요구될 수 있기 때문에 에이전트 디바이스(4)를 제조하는 비용도 더 높아진다. 일부 디바이스의 경우, 이 추가적인 비용은 정당화되지 못할 수도 있다. 예를 들어, 날씨 모니터링 애플리케이션에 데이터를 공급하는 온도계 등의 에이전트 디바이스의 경우, 데이터는 진짜임이 신뢰될 수 있어야 한다는 것이 요구되는 전부이므로 비교적 낮은 비용과 낮은 보안 인증 모델이 이용될 수 있다. 반면, 헬스케어 또는 스마트 도시나 텔레메틱스에서 이용되는 다른 종류의 디바이스들의 경우, 에이전트 디바이스 무결성과 진본성은 절충되지 않는다는 것이 매우 중요할 수 있다. 이들 응용의 경우, 더 높은 정도의 보안을 획득하기 위해 비용 증가를 초래하는 것이 정당화될 수 있다. 따라서, 도 9에 도시된 바와 같이, IOT 디바이스들에 대한 진본 디바이스 신원을 유지하기 위한 스케일가능한 기술을 제공하기 위해 복수의 상이한 신뢰 레벨들이 확립될 수 있다. 각각의 에이전트 디바이스(4)는 자신을 위해 선택된 특정한 인증 모델을 가질 수 있고, 선택된 모델은 도 8에 도시된 바와 같은 인증 모델 정보(64)를 이용하여 레지스트리 엔트리(60)에서 표시될 수 있다. 상이한 보안 레벨들에서 동작하는 인증 모델들을 갖는 유사한 기능을 갖춘 디바이스들에 대한 상업적 필요성도 있을 수 있다. 이것은 상이한 이용 분야를 제공하는데 유용할 수 있다.As shown in Fig. 9, different types of agent device 4 may have different requirements for security and authentication. In general, the higher the level of security required (e.g., because the data is valuable, personal, commercially sensitive, or because there are health or public safety concerns associated with the use of the data), the more Because complex resources may be required, the cost of manufacturing the agent device 4 is also higher. For some devices, this additional cost may not be justified. For example, in the case of an agent device such as a thermometer that supplies data to a weather monitoring application, a relatively low cost and low security authentication model can be used as all that is required is that the data is authentic and that it can be trusted. On the other hand, for other types of devices used in healthcare or smart cities or telematics, it may be very important that agent device integrity and authenticity are not compromised. For these applications, it can be justified to incur an increase in cost to obtain a higher degree of security. Thus, as shown in FIG. 9, a plurality of different trust levels may be established to provide a scalable technique for maintaining authentic device identity for IOT devices. Each agent device 4 may have a specific authentication model selected for it, and the selected model may be indicated in the registry entry 60 using authentication model information 64 as shown in FIG. 8. There may also be a commercial need for devices with similar functionality with authentication models that operate at different security levels. This can be useful to provide different fields of use.

디바이스들의 제조나 배포 동안에 상이한 인증 모델들을 갖춘 상이한 에이전트 디바이스들(4)을 확립함으로써, 레지스트리(8)는 에이전트 디바이스들을 인증 모델 정보(64)에 기초하여 상이한 범주들로 분할 또는 분리할 수 있다. 예를 들어, 소정의 애플리케이션(6)들은 그들이 특정한 인증 모델을 갖는 에이전트 디바이스와만 통신할 수 있다고 명시할 수 있다. 또한 디바이스들은 레지스트리(8)에 질의하여 명시된 에이전트 디바이스(4)에 대한 인증 모델을 판정할 수 있다. 예를 들어, 뱅킹 애플리케이션 제공자는, 사용자의 기존 에이전트 디바이스(4)가 에이전트 디바이스(4)와의 신뢰 통신을 확립하기 이전에 소정의 최소한의 보안 요건을 만족할 것을 설정하기 원할 수도 있다. 상이한 인증 모델들은 많은 상이한 방식들로 상이할 수 있다. 예를 들어, 일부 인증 모델은 고정된, 변경불가능한, 인증 정보를 이용할 수 있는 반면 다른 인증 모델은 인증 정보가 에이전트 디바이스(4)의 키 생성 회로(18)를 이용하여 업데이트되는 것을 허용할 수 있다. 고정된 모델의 경우, 키 생성 회로(18)가 에이전트 디바이스(4)에 제공될 필요가 없을 수도 있어서 에이전트 디바이스는 더욱 저렴하게 구현될 수 있는 반면, 키 생성 능력을 갖는 에이전트 디바이스의 경우, 필요할 때 키가 생성될 수 있으므로 더욱 보안된 인증이 제공될 수 있다. 유사하게, 일부 인증 모델은 에이전트 디바이스(4)와 레지스트리(8)에 의해 공유된 대칭 키를 이용할 수 있는 반면 다른 디바이스들은 에이전트 디바이스(4)와 레지스트리(8)가 상이한 상보형 키들을 갖는 비대칭 키를 이용할 수 있다. 일부 모델들은 한 레지스트리로부터 다른 레지스트리로의 에이전트 디바이스의 이전을 허용할 수 있는 반면 다른 모델들은 특정한 레지스트리와 함께 동작하도록 에이전트 디바이스를 제약할 수 있다. 따라서, 에이전트 디바이스의 제조와 개발 동안에 적절하게 선택될 수 있는 인증 모델을 구현하는 많은 상이한 방식들이 있다.By establishing different agent devices 4 with different authentication models during manufacture or distribution of devices, the registry 8 can divide or divide the agent devices into different categories based on the authentication model information 64. For example, certain applications 6 may specify that they can only communicate with agent devices with a specific authentication model. Devices can also query the registry 8 to determine the authentication model for the specified agent device 4. For example, a banking application provider may wish to set that the user's existing agent device 4 will meet certain minimum security requirements prior to establishing trusted communication with the agent device 4. Different authentication models can be different in many different ways. For example, some authentication models may use fixed, immutable, authentication information, while others may allow authentication information to be updated using the key generation circuit 18 of the agent device 4. . In the case of a fixed model, the key generation circuit 18 may not need to be provided to the agent device 4, so that the agent device can be implemented more cheaply, whereas in the case of an agent device having key generation capability, when required Since keys can be generated, more secure authentication can be provided. Similarly, some authentication models may use a symmetric key shared by the agent device 4 and the registry 8, while others use an asymmetric key where the agent device 4 and the registry 8 have different complementary keys. You can use Some models may allow the transfer of an agent device from one registry to another, while others may constrain the agent device to work with a particular registry. Thus, there are many different ways of implementing an authentication model that can be appropriately selected during the manufacture and development of an agent device.

도 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)에만 영향을 미치고 임의의 다른 에이전트 디바이스에는 영향을 미치지 않을 것이다. 따라서, 이 모델은 날씨 예보 등의 낮은 보안 애플리케이션에 이용될 수 있다.10 to 12 show three examples of an authentication model. 10 shows a first authentication model in which a fixed sensor key 28 is injected into the protected area 24 of the agent device 4 during manufacture. The sensor key 28 is generated by an external device 70 belonging to the manufacturer. The sensor key 28 is then shared with the registry 8 as a shared secret that uniquely identifies the device. For example, the sensor key may be a 128-bit or 256-bit Advanced Encryption Standard (AES) key generated during manufacturing. To authenticate the agent device 4, the agent device 4 can send a message to the registry 8, part of which is encrypted with the sensor key 28. If the registry 8 can successfully decrypt that part of the message 28 and use a copy of its own sensor key 28 to verify that it is correct, then the authentication of the agent device 4 is successful. For example, a hash can be generated from the message by the agent device 4 and the sensor key 28 used to encrypt the hash. The registry receiving the message can generate a hash of its own received message using the same algorithm as the agent device 4 and can also decrypt the received hash to check if it matches the hash it has created. have. If the two hashes match, the agent device is authenticated. The advantage of the first authentication model is that it is a low implementation cost. It is not necessary to provide a public key infrastructure or key generator 18 in the agent device 4. Only AES, or other shared secret method, is required. However, the lower cost comes at the expense of reduced security, as the shared secret gives the attacker complete control of the device or agent device, including changing ownership or accessing data, if compromised. Since the shared sensor key 28 provided in the registry 8 is the same as the sensor key 28 used to authenticate the device, in particular during the distribution 72 of the sensor key from the manufacturing system 70 to the registry 8 The potential to expose the sensor key 28 is greater compared to the use of asymmetric keys. However, since the sensor key 28 is unique for each agent device 4, even if the sensor key is compromised, it will only affect one agent device 4 and not any other agent devices. . Thus, this model can be used for low security applications such as weather forecasting.

일부 실시예에서, 단일의 센서 키(28)를 갖는 것 대신에, 센서 키들의 목록이 에이전트 디바이스(4) 내에 임베딩될 수 있고, 목록으로부터의 키가 에이전트 디바이스(4)에 의해 그 자신을 인증하기 위해 선택될 수 있다. 이 경우, 어느 키가 선택된 키인지를 나타내는 목록 내로의 인덱스를 이용하여 디바이스의 활성 식별이 정의될 수 있다. 그 다음, 레지스트리(8)는 선택된 키에 대한 대응하는 에이전트 디바이스 키를 제공받을 수 있다. 이 접근법에 의해, 하나의 센서 키가 손상되더라도, 에이전트 디바이스(4)는 목록으로부터 또 다른 센서 키를 이용하도록 스위칭할 수 있다.In some embodiments, instead of having a single sensor key 28, a list of sensor keys may be embedded within the agent device 4, and the key from the list authenticates itself by the agent device 4 Can be chosen to In this case, the active identification of the device may be defined using an index into the list indicating which key is the selected key. Then, the registry 8 may be provided with the corresponding agent device key for the selected key. With this approach, even if one sensor key is compromised, the agent device 4 can switch to use another sensor key from the list.

도 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 방식이 이용될 수 있다.Fig. 11 shows that the authentication information for the agent device 4 is still fixed (immutably), but this time the authentication information includes a second asymmetric key pair including the private key 29 and the public key 32. An example of an authentication model is shown. This is more secure because the private key 29 can only be held by the agent device 4 and is not shared with any other device, while the corresponding public key 32 exposes the private key 29. This is because it can be widely broadcast to other devices without doing so. The asymmetric key pair is such that a message partially encrypted using the private key 29 in a manner similar to that discussed above can only be decrypted using the corresponding public key 32. Thus, if the registry 8 can successfully decrypt the message received from the agent device using the public key 32, it can be assured that the message comes from an authenticated agent device with the private key 29. . The key pair is also associated with a digital certificate 36 representing the public face of the agent device 4. The certificate 36 can be used to send the public key 32 to the registry 8 and once signed by the registry it verifies that the public key 32 is the correct key for the agent device 4. Key pairs and certificates can contain any type of signed certificate and key pair. For example, ECC (elliptic curve cryptography) keys may be used as a key pair 29, 32, and an X.509 certificate may be used as a digital certificate 36. In this model, the manufacturing device 70 generates a key pair and certificate 36 during manufacturing and embeds them into the protected areas 24 and 34 of the memory as shown in FIG. 11. There is a potential vulnerability in that the manufacturing process 70 will know the private key 29 of the agent device 4, but the manufacturer 70 will, once the private key is injected into the agent device 4, the private key (29) can be deleted, after which the agent device 4 will be the only device that has access with the private key. The private key is not required by any part other than the agent device 4 itself. The transfer of authentication information from the manufacturer 70 to the registry 8 is more secure, because it only requires the transfer of the public key 32 and certificate 36 and not the private key 29. . However, in this model, as the agent device requires more protected memory to store the PKI capability and private key 29, public key 32 and certificate 36, it is costly compared to the first authentication model. Increases. However, the security is higher because there is no permanent shared key known by devices other than the agent device 4. Once again, rather than a single key pair, the agent device 4 can have a list of key pairs available for selection once the agent device has been operated. Nevertheless, since in this case the list of agent devices maintained by the registry 8 consists only of public keys and certificates, the list does not have significant protection requirements. Any known PKI scheme can be used for the second model.

도 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)에 의한 키 쌍의 품질에 의존하고, 이것이 충분히 보안유지되기 위해, 보안된 키 생성을 지원하기 위해(예를 들어, 양호한 난수 생성이 요구될 것이다) 추가 실리콘이 필요하므로 디바이스 제조에서 비용 추가가 생긴다.Figure 12 shows a third authentication model that is more secure than the first and second models, but more expensive to implement. Once again, the private key 29 and the public key 32 are provided together with the digital certificate 36 to the storage circuit 16 of the agent device 4. However, the third model differs from the second model in that the on-chip key generation circuit 18 is provided to the agent device 4 to generate the key pairs 29 and 32. This provides more security since the manufacturer 70 never knows the private key 29 of the agent device 4. Also, since on-chip key generation facilities are provided, the agent device can regenerate the key pair to change the authentication information if necessary. Only the public key 32 and the certificate 36 are provided to external devices such as the registry 8. Thus, during identity and ownership establishment, the chipset 18 in the agent device 4 generates an asymmetric key pair, such as an ECC key pair. The private key 29 is stored in a read/write protected area 24 of memory. Only the privileged code accesses the private key 29. The on-chip key generation circuit 18 also generates a certificate 36 and transmits a certificate signing request including the device ID 22 and public key 32 to the registry 8. The public key 32 and certificate 36 are also written into the write-protected area 34 of a fully readable memory without protection. The registry 8 verifies that the agent device is authenticated by signing the certificate 36. This method does not have the exposure vulnerability of models 1 or 2 in which the sensor key 28 or private key 29 can be extracted from the registry 8 or the manufacturing platform 70. The agent device's private key 29 is never exposed to any device other than the agent device 4. In this case, the strength of security depends on the quality of the key pair by the on-chip key generator 18, and in order to keep this sufficiently secure, to support secure key generation (e.g., good random number generation will be required). The need for additional silicon adds cost to device manufacturing.

도 12의 예에서, 제3 인증 모델은 또한, 레지스트리(8)와 에이전트 디바이스(4) 사이의 신뢰된 관계가 제2 레지스트리(80)에 이전되는 것을 허용한다. 이 프로세스가 이후에 더 상세하게 설명될 것이다. 에이전트 디바이스(4)는 온칩 키 생성 회로(18)를 갖기 때문에, 이것은 에이전트 디바이스 신뢰를 제1 레지스트리(8)로부터 제2 레지스트리(80)로 이전할 때, 새로운 키가 생성되어 제1 레지스트리(8)가 에이전트 디바이스(4)를 더 이상 인증할 수 없게 한다. 이것은, 정부 또는 국방 애플리케이션에서의 이용 등을 위한 개인 레지스트리(8)의 오퍼레이터가 소정의 에이전트 디바이스들이 그 레지스트리에 이전되고 공개 레지스트리(8)와의 모든 결속이 제거될 것을 요구할 수 있기 때문에 추가적인 보안을 제공하는데 유용할 수 있다. 대안으로서, 제1 레지스트리는, 에이전트 디바이스를 더 이상 인증할 수 없도록 관련 엔트리를 삭제할 것을 지시받을 수 있다. 이런 방식으로, 에이전트 디바이스는 새로운 키를 생성할 필요가 없다. 또 다른 변형에서, 에이전트 디바이스는 하나보다 많은 미리-저장된 키를 가질 수도 있다. 레지스트리 변경시에, 이전의 미사용된 키가 이용될 수 있다.In the example of FIG. 12, the third authentication model also allows a trusted relationship between the registry 8 and the agent device 4 to be transferred to the second registry 80. This process will be described in more detail later. Since the agent device 4 has an on-chip key generation circuit 18, this is when the agent device trust is transferred from the first registry 8 to the second registry 80, a new key is generated and the first registry 8 ) Can no longer authenticate the agent device 4. This provides additional security because the operator of the private registry 8 for use in government or defense applications, etc., may require certain agent devices to be transferred to that registry and all ties with the public registry 8 be removed. It can be useful for Alternatively, the first registry can be instructed to delete the relevant entry so that the agent device can no longer be authenticated. In this way, the agent device does not need to generate a new key. In yet another variation, the agent device may have more than one pre-stored key. Upon registry change, the previously unused keys can be used.

도 10과 도 11의 다른 모델들에 대해 레지스트리들 간에 신뢰를 이전하는 능력을 제공하는 것이 역시 가능할 수 있다는 것을 이해할 것이다. 그러나 이 경우 에이전트 디바이스는 그 키 정보를 재생성할 수 없기 때문에 에이전트 디바이스(4)는 제2 레지스트리(80)에서 동일한 키 정보로 등록될 것이다. 이 경우, 2개의 레지스트리(8, 80)는 동일한 에이전트 디바이스(4)를 공유하여, 동일한 에이전트 디바이스(4)가 양쪽 레지스트리에 등록되게 할 수 있다. 따라서, 에이전트 디바이스 데이터를 직접 다른 레지스트리에 이전하는 것이 아니라, 그 대신, 에이전트 디바이스가 양쪽 레지스트리에 할당되어 에이전트 디바이스가 양쪽 레지스트리와 연관된 애플리케이션 제공자와 통신할 수 있게 할 수 있다.It will be appreciated that it may also be possible to provide the ability to transfer trust between registries for the other models of FIGS. 10 and 11. However, in this case, since the agent device cannot regenerate its key information, the agent device 4 will be registered with the same key information in the second registry 80. In this case, the two registries 8, 80 can share the same agent device 4, so that the same agent device 4 can be registered in both registries. Thus, rather than transferring agent device data directly to another registry, instead, an agent device can be assigned to both registries to enable the agent device to communicate with the application providers associated with both registries.

따라서, 다수의 상이한 종류의 인증 모델이 제공되어 에이전트 디바이스 설계가 충분한 정도의 보안을 유지하는 능력과 보안을 구현하는 비용 간에 밸런스를 유지하도록 허용한다. 에이전트 디바이스의 의도된 목적에 따라, 제조 동안에 특정한 모델이 선택되고 어느 모델이 이용되었는지에 관한 정보가 레지스트리(8)에 의해 유지되어 애플리케이션들이 그들의 요구조건에 대해 적절한 에이전트 디바이스를 이용하는 것을 허용할 수 있다. 도 13은 도 10 내지 도 12에 도시된 모델들의 상이한 속성들을 비교하는 표를 도시한다. 다른 유형의 모델들이 이용될 수도 있다는 것을 이해할 것이다. 예를 들어, 상이한 유형의 키 생성이 이용되어 상이한 정도의 보안을 제공할 수 있다.Thus, a number of different kinds of authentication models are provided to allow the agent device design to balance the cost of implementing security with the ability to maintain a sufficient degree of security. Depending on the intended purpose of the agent device, during manufacturing a specific model was selected and information about which model was used is maintained by the registry 8 to allow applications to use the agent device appropriate for their requirements. . 13 shows a table comparing different properties of the models shown in FIGS. 10-12. It will be appreciated that other types of models may be used. For example, different types of key generation can be used to provide different degrees of security.

도 14는 에이전트 디바이스(4)에 대한 신뢰된 신원을 확립하는 방법의 제1 예를 도시한다. 에이전트 디바이스의 제조 동안에, 그 배포 동안에, 또는 나중에 레지스트리로의 디바이스의 등록시에, 신뢰된 신원이 확립될 수 있다. 단계(100)에서, 에이전트 디바이스(4)에 대해 이용될 인증 모델이 판정된다. 에이전트 디바이스(4)가 이미 제조되었다면 선택된 인증 모델의 판정은 에이전트 디바이스(4)에 어떤 자원이 이미 제공되었는지에 의존할 것이다(예를 들어, 에이전트 디바이스가 온칩 키 생성 회로(18)를 갖고 있지 않다면, 앞서 논의된 인증 모델(3)은 선택되지 못할 것이다). 반면, 에이전트 디바이스 제조 동안에 또는 제조 이전에 이 방법이 수행된다면, 임의의 인증 모델이 선택될 수 있고 (디바이스 내로 보호된 저장소, PKI 인프라스트럭쳐, 또는 키 생성 능력을 구축하는 것과 같이) 그 모델을 구현하기 위해 요구되는 처리 자원은 나중에 구현될 수 있다.14 shows a first example of a method of establishing a trusted identity for the agent device 4. During manufacture of the agent device, during its distribution, or later upon registration of the device into the registry, a trusted identity may be established. In step 100, an authentication model to be used for the agent device 4 is determined. If the agent device 4 has already been manufactured, the determination of the selected authentication model will depend on what resources have already been provided to the agent device 4 (e.g., if the agent device does not have an on-chip key generation circuit 18). , The authentication model (3) discussed above will not be selected). On the other hand, if this method is performed during or prior to agent device manufacturing, any authentication model can be chosen and implement that model (such as building a protected storage, PKI infrastructure, or key generation capability into the device). The processing resources required to do so can be implemented later.

단계(102)에서, 에이전트 디바이스(4)를 인증하기 위한 키 정보가 선택된 인증 모델에 따라 생성된다. 이것은, 선택된 모델에 따라, 외부 제조 디바이스(70)에 의해 또는 에이전트 디바이스(4) 자체에 의해 수행될 수 있다. 단계(104)에서, 디바이스 ID(22), 공유된 센서 키(28) 또는 개인 키(29), 레지스트리 주소(26) 및 선택사항으로서 디바이스 인증서(36)가 에이전트 디바이스(4)의 저장 회로(16) 내에 임베딩된다. 임베딩 단계는, 저장 회로를 디바이스 내에 구축함으로써, 또는 제조의 이전 단계 동안에 에이전트 디바이스 내에 이미 제공된 저장 회로에 정보를 저장함으로써 구현될 수 있다. 인증 모델 1이 이용된다면 센서 키(28)가 임베딩되는 반면, 인증 모델 2 또는 3이 이용된다면, 개인 키(29) 및 인증서(36)가 저장 회로(16)에 저장된다. 이 때, 에이전트 디바이스(4)에는 또한 레지스트리(8)의 신원을 확인하기 위한 레지스트리 인증 정보가 제공될 수 있다.In step 102, key information for authenticating the agent device 4 is generated according to the selected authentication model. This can be done by the external manufacturing device 70 or by the agent device 4 itself, depending on the model selected. In step 104, the device ID 22, the shared sensor key 28 or private key 29, the registry address 26 and optionally the device certificate 36 are transferred to the storage circuit of the agent device 4 ( 16). The embedding step may be implemented by building the storage circuit in the device, or by storing the information in a storage circuit already provided in the agent device during a previous stage of manufacture. The sensor key 28 is embedded if authentication model 1 is used, whereas if authentication model 2 or 3 is used, the private key 29 and certificate 36 are stored in the storage circuit 16. At this time, the agent device 4 may also be provided with registry authentication information for verifying the identity of the registry 8.

단계(106)에서, 에이전트 디바이스의 신뢰된 신원을 정의하기 위한 다양한 메타데이터가 레지스트리 장치(8)에 업로드된다. 예를 들어, 디바이스 ID(22), (모델 1의 경우) 센서 키(28) 또는 (모델 2 또는 3의 경우) 공개 키(32), (모델 2 또는 3의 경우) 디지털 인증서(36), 및 선택된 모델을 나타내는 인증 모델 정보(64)가 레지스트리(8)에 업로드될 수 있다. 단계(108)에서, 레지스트리는 필요하다면 인증서에 서명하고, 디바이스 메타데이터를 레지스트리에 등록하여 디바이스를 그 신원이 인증될 수 있는 신뢰된 디바이스로서 확립한다.In step 106, various metadata for defining the trusted identity of the agent device are uploaded to the registry device 8. For example, the device ID (22), (for model 1) sensor key (28) or (for model 2 or 3) public key (32), (for model 2 or 3) digital certificate (36), And authentication model information 64 indicating the selected model may be uploaded to the registry 8. In step 108, the registry signs the certificate if necessary and registers the device metadata with the registry to establish the device as a trusted device whose identity can be authenticated.

도 15는 디바이스에 대한 신뢰와 신원을 확립하는 제2 예를 도시한다. 이 예에서, 에이전트 디바이스(센서)(4)는 이미 키 생성 회로(18)와 함께 제조되었고, 디바이스 식별자(22)는 저장 회로(16)의 OTP 영역(20)에 저장되었다. 따라서, 인증 모델 3 또는 온칩 키 생성을 허용하는 유사한 모델이 이 센서(4)에 의해 이용된다. 단계(120)에서, 센서(4)는 센서(4)의 디바이스 식별자(22)를 명시하는 등록(등재) 요청을 레지스트리(8)에 전송한다. 단계(122)에서, 레지스트리는 센서(4)가 이미 레지스트리에 의해 소유되어 있는지를 체크하고, 만일 그렇다면, 방법은 종료한다.15 shows a second example of establishing trust and identity for a device. In this example, the agent device (sensor) 4 has already been manufactured with the key generation circuit 18, and the device identifier 22 has been stored in the OTP area 20 of the storage circuit 16. Thus, an authentication model 3 or a similar model allowing on-chip key generation is used by this sensor 4. In step 120, the sensor 4 sends a registration (listing) request to the registry 8 specifying the device identifier 22 of the sensor 4. In step 122, the registry checks whether sensor 4 is already owned by the registry, and if so, the method ends.

에이전트 디바이스가 이미 소유되어 있지 않다면, 단계(124)에서 센서(4)는 키 생성기(18)를 이용하여 새로운 키 쌍(29, 32)을 생성하도록 트리거되고, 키 쌍의 개인 키(29)는 보호된 저장 영역(24)에 놓여진다. 단계(126)에서, 인증서 서명 요청이 생성되어, 레지스트리(8)에 전송된다. 인증서 서명 요청은, 레지스트리(8)가 센서(4)의 디지털 인증서(32)에 서명할 것을 요청한다. 인증서는, 적어도 대상 이름으로서의 센서(4)의 디바이스 식별자(22), 센서(4)의 보안 레벨(인증 모델 정보), 및 키 생성기(18)에 의해 생성된 공개 키(32)를 포함한다. 단계(128)에서, 레지스트리(8)는 인증서에 서명하여 인증서와 공개 키가 유효하다는 것을 확인한다. 레지스트리는 센서(4)에 대한 정보를 디바이스 레지스트리에 등록하여 센서(4)를 신뢰된 에이전트 디바이스로서 확립한다.If the agent device is not already owned, in step 124 the sensor 4 is triggered to generate a new key pair 29, 32 using the key generator 18, and the private key 29 of the key pair is It is placed in a protected storage area 24. In step 126, a certificate signing request is generated and transmitted to the registry 8. The certificate signing request requests that the registry 8 sign the digital certificate 32 of the sensor 4. The certificate contains at least the device identifier 22 of the sensor 4 as the target name, the security level of the sensor 4 (authentication model information), and the public key 32 generated by the key generator 18. In step 128, the registry 8 signs the certificate to verify that the certificate and public key are valid. The registry registers information on the sensor 4 in the device registry to establish the sensor 4 as a trusted agent device.

도 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)를 인증할 수 있다.Fig. 16 shows a method of performing authentication of the agent device 4 to check whether it is registered as a trusted device, and establishing trusted communication between the agent device 4 and the application providing device 6. The agent device 4 is already registered in the registry 8 using the method shown in Fig. 14 or 15, for example, and thus, the registry 8 has the agent device 4 It is assumed that it contains information for confirming whether it contains authentication information that uniquely identifies it. In this example, authentication model 3 is used so that the agent device 4 contains the sensor private key K s .pr and the registry 8 contains the sensor public key K s .pr corresponding to the private key K s .pr . Contains pu . Similarly, the agent device 4 has a registry public key K r. corresponding to the registry private key K r.pr held by the registry 8 . You can use pu to authenticate the registry (8).

단계(150)에서, 레지스트리(8)와 애플리케이션 제공자(6)는 서로의 상호 인증을 수행하여 신뢰를 확립한다. 전형적으로, 이것은 레지스트리(8)에 의해 각각의 애플리케이션 제공자(6)에 대해 한번씩 수행될 것이다. 레지스트리(8)와 애플리케이션 제공자(6) 사이의 상호 인증(150)은 애플리케이션 제공자(6)와 통신하고자 하는 각각의 에이전트 디바이스(4)에 대해 통상적으로 반복되지 않을 것이다. 상호 인증(150)은 임의의 공지된 인증 기술을 이용하여 이루어질 수 있다.In step 150, the registry 8 and the application provider 6 perform mutual authentication of each other to establish trust. Typically, this will be done once for each application provider 6 by the registry 8. The mutual authentication 150 between the registry 8 and the application provider 6 will typically not be repeated for each agent device 4 wishing to communicate with the application provider 6. Mutual authentication 150 may be accomplished using any known authentication technique.

단계(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)는 인증된다.In step 152, the agent device is activated, and in response to the activation, the agent device 4 sends an authentication request 154 identified by the registry URL 26 embedded in the protected repository 24 of the agent device. Transfer to the registry. The authentication request includes a device ID 22 that identifies the agent device 4. Activation of the agent device may include, for example, that the agent device is powered on for the first time after installation, or that an activation button on the agent device is pressed. The authentication request 154 is automatically sent in response to activation of the agent device so that there is no need for a user interface or any other kind of user interface to be required to trigger authentication. This means that the person installing or using the agent device does not need to know if the agent device is authenticated. In response to the authentication request 154, the agent device 4 and the registry 8 perform mutual authentication 156 using keys already exchanged by the agent device 4 and the registry 8 during registration or registration. Start. In mutual authentication, the agent device 4 encrypts the hash of the message using the sensor private key K s .pr , and transmits the partially encrypted message 158 to the registry 8. In a corresponding manner, the registry 8 encrypts the hash of the message using the registry private key K r.pr and transmits the partially encrypted message 159 to the agent device 4. The agent device 4 obtains a hash of its own message 159, and it obtains a hash of the registry public key K r. The hash encrypted with pu is compared with the hash obtained by decrypting it. If the two hashes match, the registry 8 is assumed to be authentic. Similarly, registry 8 obtains a hash from message 158, and this is done with the sensor public key K s . The encrypted hash received with the message 158 is compared with the hash obtained by decrypting it using pu . Once again, if the two hashes match, the agent device 4 is authenticated.

도 16은 에이전트 디바이스(4)에 의해 전송된 별개의 인증 요청(154)과 인증 메시지(158)를 도시하고 있지만, 다른 실시예에서는, 인증 요청(154)과 인증 메시지(158)는 동일한 메시지일 수 있어서, 에이전트 디바이스(4)는 활성화(152) 시에 부분적으로 암호화된 인증 메시지(158)를 (디바이스 ID(22)와 함께) 레지스트리(8)에 전송하고 이것은 레지스트리(8)가 상호 인증(156)에 의해 응답하도록 트리거하는 인증 요청으로서 역할한다.16 shows separate authentication request 154 and authentication message 158 sent by the agent device 4, but in another embodiment, authentication request 154 and authentication message 158 are the same message. Thus, the agent device 4 transmits a partially encrypted authentication message 158 (along with the device ID 22) to the registry 8 upon activation 152, which allows the registry 8 to mutually authenticate ( 156).

레지스트리(8)가 에이전트 디바이스(4)로부터 수신된 메시지(158)를 성공적으로 인증한다면, 단계(160)에서 레지스트리(8)는 애플리케이션 키(30)를 생성하고 이 애플리케이션 키를 에이전트 디바이스(4)에 전송한다. 또한, 레지스트리(8)는, 애플리케이션 키(30)를, 인증 요청(154)에서 명시된 디바이스 ID(22)를 갖는 에이전트 디바이스(4)에 대한 레지스트리 엔트리(60) 내의 애플리케이션 식별자(62)에 의해 식별되는 애플리케이션 제공자(6)에게 전송한다. 레지스트리(8)는 또한, 에이전트 디바이스(4)의 에이전트 디바이스 ID를 애플리케이션 제공자(6)에게 전송하여, 애플리케이션 제공자(6)가 수신된 애플리케이션 키(30)를 이용하여 어느 에이전트 디바이스(4)가 통신할 것인지를 알게 한다.If the registry 8 successfully authenticates the message 158 received from the agent device 4, in step 160 the registry 8 generates an application key 30 and transfers this application key to the agent device 4 Transfer to. In addition, the registry 8 identifies the application key 30 by the application identifier 62 in the registry entry 60 for the agent device 4 with the device ID 22 specified in the authentication request 154. Is transmitted to the application provider (6). The registry 8 also transmits the agent device ID of the agent device 4 to the application provider 6, so that any agent device 4 communicates with the application provider 6 using the received application key 30. Let them know if they will do it.

에이전트 디바이스(4)가 레지스트리(8)를 성공적으로 인증하면, 단계(170)에서 에이전트 디바이스(4)와 애플리케이션 제공자(6)는 레지스트리(8)로부터 수신된 애플리케이션 키(30)를 이용하여 암호화된 통신을 개시한다. 레지스트리(8)가 에이전트 디바이스(4)에 의해 성공적으로 인증되지 않았다면, 에이전트 디바이스(4)는 애플리케이션 키(30)를 이용한 어떠한 암호화된 통신에도 참여하지 않는다. 암호화된 통신(180)에서, 일반적으로 에이전트 디바이스(4)는 데이터를 애플리케이션 제공자(6)에 전송할 것이고 애플리케이션 제공자는 에이전트 디바이스(4)에 명령을 전송할 것이지만, 반대 방향으로 데이터나 명령을 전송하는 것도 역시 가능할 수 있다. 단계(190)에서, 애플리케이션 제공 장치(6) 상에서 실행중인 애플리케이션은 에이전트 디바이스로부터 수신된 데이터를 처리한다. 예를 들어, 애플리케이션은 추가 정보를 판정하기 위해 이 데이터를 이용하거나 인터넷을 통해 액세스될 수 있는 클라우드 컴퓨팅 플랫폼을 위해 이 데이터를 이용할 수도 있다. 암호화된 통신(180)은 레지스트리(8)를 통한 진행없이 에이전트 디바이스(4)와 애플리케이션 제공자(6) 사이에서 직접 진행한다.If the agent device 4 successfully authenticates the registry 8, in step 170 the agent device 4 and the application provider 6 are encrypted using the application key 30 received from the registry 8. Initiate communication. If the registry 8 has not been successfully authenticated by the agent device 4, the agent device 4 does not participate in any encrypted communication using the application key 30. In encrypted communication 180, generally the agent device 4 will send data to the application provider 6 and the application provider will send the command to the agent device 4, but sending data or commands in the opposite direction is also possible. It could be possible too. In step 190, the application running on the application providing apparatus 6 processes data received from the agent device. For example, an application may use this data to determine additional information or use this data for a cloud computing platform that can be accessed via the Internet. The encrypted communication 180 proceeds directly between the agent device 4 and the application provider 6 without proceeding through the registry 8.

따라서, 레지스트리(8)는 에이전트 디바이스(4)와 애플리케이션 제공자(6)가 에이전트 디바이스(4)에서의 복잡한 구성이나 사용자 상호작용을 요구하지 않고 통신을 암호화하도록 허용한다. 이것은, 에이전트 디바이스(4)가 매우 간단하고 복잡한 처리 자원을 가질 필요가 없는 한편, 보안이 여전히 유지될 수 있다는 것을 의미한다.Thus, the registry 8 allows the agent device 4 and the application provider 6 to encrypt communications without requiring complex configuration or user interaction in the agent device 4. This means that the agent device 4 is very simple and does not need to have complex processing resources, while security can still be maintained.

도 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)에 등록한다.FIG. 17 shows a method for associating an agent device 4 with a specific consumer (user) 10 and associating the agent device 4 with an application provider 6 in the registry 8. In step 200, the consumer 10 obtains the device ID 22 of the agent device. This can be done in a variety of ways. For example, the agent device 4 or the box for the device 4 can print the device ID on its surface and the consumer can read the device ID from the agent device case. Further, the device ID may be expressed as a barcode or QR code or similar graphic representation, and the user may obtain the device ID 22 by scanning the code using a code reader. Then, the consumer 10 transmits a device association request 210 including the consumer's identifier (user ID) and the device identifier 22 to the application provider 6. This step may occur automatically in response to reading a barcode or QR code, for example using a smartphone or tablet app or web interface. The application provider 6 can now log the user ID against the device ID so that subsequent communication from the agent device 4 can be associated with a particular consumer. After receiving the device association request 210, the application provider 6 also links the application identifier of the application provider 6 to the device ID 22 from the agent device association request 210. ) Can be transferred to the registry (8). In response to the application association request, the registry 8 registers the application identifier in the registry entry 60 for the agent device having the device identifier 22 specified by the application association request 220.

다른 예에서, 소비자(10)는 애플리케이션 제공자로부터 직접 에이전트 디바이스(4)를 획득했을 수도 있어서, 소비자가 에이전트 디바이스를 취득하는 때에, 애플리케이션 제공자(6)는 디바이스 ID와 사용자 ID 간의 링크를 이미 알 수도 있다. 이 경우, 디바이스 연관 요청(210)에 대한 필요성이 없으므로 애플리케이션 제공자(6)가 대신에 그 내부 레코드를 이용하여 레지스트리(8)에 전송될 애플리케이션 연관 요청(220)을 생성할 수도 있다. 레지스트리(8)는 사용자 식별자를 수신하지 않는다는 점에 유의한다. 레지스트리 엔트리(60)는 디바이스 ID에 의해서만 에이전트 디바이스(4)를 식별하며 어떠한 사용자 데이터도 포함하지 않는다.In another example, the consumer 10 may have acquired the agent device 4 directly from the application provider, so when the consumer acquires the agent device, the application provider 6 may already know the link between the device ID and the user ID. have. In this case, since there is no need for the device association request 210, the application provider 6 may generate an application association request 220 to be transmitted to the registry 8 using its internal record instead. Note that the registry 8 does not receive user identifiers. The registry entry 60 identifies the agent device 4 only by device ID and does not contain any user data.

유사한 방식으로, 애플리케이션 연관 요청(220)은 또한, 한 애플리케이션 제공자(6)와 현재 연관된 에이전트 디바이스(4)가 상이한 제공자(6)에게 이전될 것을 요청하기 위해 애플리케이션 제공자(6)에 의해 이용될 수 있다. 애플리케이션 연관 요청(220)은 이 경우에, 에이전트 디바이스 자체(예를 들어, 사용자가 애플리케이션 제공자를 스위칭하기로 선택한 경우), 에이전트 디바이스(4)와 이전에 연관되었던 구 애플리케이션 제공자(6), 애플리케이션 연관 요청(220)을 이용하여 디바이스가 할당된 새로운 애플리케이션 제공자(6), 또는 다른 제3자 디바이스를 포함한, 다양한 소스로부터 나올 수 있다. 레지스트리(4)는, 에이전트 디바이스(4)를 새로운 애플리케이션 제공자(6)에게 할당하기 이전에 애플리케이션 연관 요청(220)을 행하고 있는 디바이스가 신뢰된 디바이스인지를 체크할 수 있다. 대안으로서, 에이전트 디바이스(4)가 복수의 애플리케이션 제공자(6)와 연관되는 것이 허용된다면, 상기에서 주어진 예에서와 같이 이전의 애플리케이션 제공자(6)를 대체하는 것이 아니라 이전의 애플리케이션 제공자(6)와 함께 새로운 애플리케이션 제공자(6)가 에이전트 디바이스(4)에 대해 등록될 수 있다.In a similar manner, the application association request 220 can also be used by the application provider 6 to request that the agent device 4 currently associated with one application provider 6 be transferred to a different provider 6. have. The application association request 220 is in this case the agent device itself (for example, when the user chooses to switch the application provider), the old application provider 6 previously associated with the agent device 4, the application association The request 220 may come from a variety of sources, including a new application provider 6 to which the device is assigned, or other third party devices. The registry 4 can check whether the device making the application association request 220 is a trusted device before allocating the agent device 4 to the new application provider 6. As an alternative, if the agent device 4 is allowed to be associated with a plurality of application providers 6, it does not replace the previous application provider 6 as in the example given above, but with the previous application provider 6 Together, a new application provider 6 can be registered for the agent device 4.

도 18은, 제1 레지스트리(8)에 등록되어 있는 에이전트 디바이스(4)를 제2 레지스트리(80)에 할당하는 방법을 나타낸다. 단계(250)에서, 요청자 디바이스는, 등록된 에이전트 디바이스(4)의 소유권을 제2 레지스트리(80)에 이전할 것을 요청한다. 요청자 디바이스는, 에이전트 디바이스(4), 제2 레지스트리(80)이거나, 애플리케이션 제공자(클라우드 서비스 소유자) 등의 또 다른 제3자 디바이스일 수도 있다. 단계(260)에서, 제1 레지스트리(8)는, 디바이스 할당 요청에서 언급된 에이전트 디바이스(4)가 레지스트리에 현재 등록되어 있는지를 체크한다. 등록되어 있지 않다면, 방법은 종료한다. 따라서, 에이전트 디바이스의 소유권을 할당받기 위하여, 그 에이전트 디바이스의 등록을 현재 갖고 있는 제1 레지스트리(8)로부터의 허용을 요청하는 것이 필요하다. 이것은, 그 에이전트 디바이스와 신뢰를 이미 확립한 레지스트리만이 그 신뢰된 상태를 또 다른 레지스트리(80)에 이전하는 것을 인가할 수 있도록 보장한다.18 shows a method of allocating the agent device 4 registered in the first registry 8 to the second registry 80. In step 250, the requestor device requests to transfer ownership of the registered agent device 4 to the second registry 80. The requestor device may be the agent device 4, the second registry 80, or another third party device such as an application provider (cloud service owner). In step 260, the first registry 8 checks whether the agent device 4 mentioned in the device allocation request is currently registered in the registry. If not registered, the method ends. Therefore, in order to be assigned ownership of the agent device, it is necessary to request permission from the first registry 8 currently holding the registration of the agent device. This ensures that only the registry that has already established trust with the agent device can authorize the transfer of its trusted state to another registry 80.

단계(270)에서, 제1 레지스트리는 에이전트 디바이스 할당 요청을 행한 요청자 디바이스를 신뢰하는지를 판정한다. 신뢰하지 않는다면, 방법은 종료한다. 제1 레지스트리는 요청자를 이전에 이미 인증했을 수 있고, 이 경우, 요청자는 신뢰된 요청자로서 판정될 수 있다. 대안으로서, 단계(270)에서, 요청자가 이미 인증되지 않았다면 레지스트리는 요청자를 새로이 인증할 수 있다. 제1 레지스트리(8)와 요청자 사이의 인증은 임의의 공지된 기술을 이용하여 진행될 수 있다. 또한, 일부 인증 모델의 경우, 상이한 레지스트리로의 에이전트 디바이스(4)의 할당은 허용되지 않을 수도 있으므로 레지스트리는 에이전트 디바이스에 대한 인증 모델 정보가 에이전트 디바이스의 할당이 허용되도록 하는 것인지를 체크할 수 있다.In step 270, the first registry determines whether to trust the requester device that made the agent device assignment request. If you don't trust, the method ends. The first registry may have already authenticated the requestor previously, in which case the requestor may be determined as a trusted requester. Alternatively, in step 270, the registry may newly authenticate the requestor if the requestor has not already been authenticated. The authentication between the first registry 8 and the requestor can be conducted using any known technique. In addition, in the case of some authentication models, the assignment of the agent device 4 to a different registry may not be allowed, so the registry may check whether the authentication model information for the agent device allows the assignment of the agent device.

단계(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)에 의해 그 대응하는 개인 키가 삭제되어서 더 이상 적절하지 않기 때문에 레지스트리 내에 머무를 수 있다.Following the check at step 270, the agent device is allowed to be transferred to a different registry if the registry trusts the requester, and the method proceeds to step 280, where the agent device 4 is the key generator 18 To generate a new key pair. The agent device 4 can be triggered to generate a new key pair in different ways. In one example, the first registry 8 may instruct the agent device 4 to be assigned to another registry, and in response to this instruction the agent device may generate a new key pair. As an alternative, the first registry 8 may notify the requestor device or the second registry 80 that the device may be assigned, and the device may then trigger the agent device to generate a new key pair. . In step 290, the agent device 4 generates a certificate signing request including the newly generated public key and the device ID of the agent device 4. The private key corresponding to the public key is stored in secure storage. The certificate signing request is sent to the second registry 80, and in step 300, the second registry 80 signs the certificate and registers the agent device 4 in its device register. In step 310, the agent device invalidates its original registry ownership by deleting the private key 29 from the original key pair and updating its registry URL 26 to correspond to the URL of the second registry 80. In step 320, the first registry 8 checks whether the agent device has correctly transferred its registry ownership, and then tells the second registry 80 that the agent device 4 now has ownership of the second registry 80. Be informed that you are under. At this time, the first registry 8 may optionally delete the registry entry 60 for the agent device 4 so that the agent device 4 is no longer registered in the first registry. As an alternative, the entry for the agent device may stay in the registry because the public key 32 from the original key pair is no longer appropriate because its corresponding private key has been deleted by the agent device 4.

도 18에 도시된 예는 인증 모델 3 또는 에이전트 디바이스가 새로운 키 쌍을 생성할 능력을 갖는 유사한 인증 모델에 대한 것이다. 에이전트 디바이스가 인증 모델 2 또는 인증 정보가 고정되어 있는 유사한 모델을 갖는 경우, 새로운 키 쌍을 생성하는 것이 아니라, 단계(280, 290, 및 300)에서, 제1 레지스트리로부터의 원본 키 쌍과 인증서가 이용되어 제2 레지스트리(80)에는 제1 레지스트리(8)에서 원래 등록되었던 것과 동일한 인증 정보가 제공될 수 있다. 할당 이후, 에이전트 디바이스(4)는 양쪽 레지스트리(8, 80)에 등록되어 양쪽 레지스트리에 의해 인증될 수 있고 양쪽 레지스트리(8, 80)와 연관된 애플리케이션 제공 장치와 통신할 수 있다.The example shown in FIG. 18 is for authentication model 3 or a similar authentication model in which the agent device has the ability to generate a new key pair. If the agent device has authentication model 2 or a similar model in which authentication information is fixed, instead of generating a new key pair, in steps 280, 290, and 300, the original key pair and certificate from the first registry are As a result, the same authentication information as originally registered in the first registry 8 may be provided to the second registry 80. After assignment, the agent device 4 can be registered in both registries 8 and 80 and authenticated by both registries and can communicate with the application providing apparatus associated with both registries 8 and 80.

에이전트 디바이스(4) 또는 제1 레지스트리(8)는 단계들(280 내지 320)이 자동으로 발생하되 단계들이 도중에 중단되어 완료되지 않은 채로 남는 것이 가능하지 않도록 보장하는 조처를 취할 수 있다. 이것은, 업데이트 프로세스를 통한 도중의 실패시에, 유일하게 가능한 결과는, 에이전트 디바이스(4)가 그 원본 키 쌍과 인증서를 유지하고 제2 레지스트리에 전송되지 않는 것(단계(270)를 따를 때, 요청자가 신뢰되지 않는다고 레지스트리가 판정하는 경우와 유사함)이거나, 에이전트 디바이스가 제2 레지스트리의 소유권 하에 있도록 완전히 업데이트되는 것일 것이다. 이것은 에이전트 디바이스(4)가 항상 하나의 레지스트리(8 또는 80)와 연락할 수 있고 어느 쪽 레지스트리(8, 80)에 의해서도 인증되지 못한 채 끝날 수 없도록 보장한다.The agent device 4 or the first registry 8 may take steps to ensure that steps 280 to 320 occur automatically but it is not possible for the steps to be interrupted in the middle and remain incomplete. This is, in the event of a failure in the middle of the update process, the only possible result is that the agent device 4 retains its original key pair and certificate and is not sent to the second registry (following step 270). (Similar to the case where the registry determines that the requestor is not trusted), or the agent device is completely updated so that it is under ownership of the second registry. This ensures that the agent device 4 can always be in contact with one registry (8 or 80) and cannot end without being authenticated by either registry (8, 80).

일부 경우에, 도 18에 도시된 바와 같이 에이전트 디바이스(4)를 새로운 레지스트리에 할당할 때, 에이전트 디바이스(4)와 연관된 애플리케이션 제공자(6)도 역시 변할 수 있다. 제2 레지스트리(80)는 예를 들어 어느 애플리케이션(들)이 에이전트 디바이스(4)에 할당되어야 하는지를 선택할 수 있고 또는 대안으로서 제2 레지스트리(80)는, 에이전트 디바이스(4)와 연관될 애플리케이션 제공자(6)의 애플리케이션 식별자를 나타내는, 외부 소스로부터의 애플리케이션 연관 요청(220)을 기다릴 수 있다. 대안으로서, 레지스트리의 스위칭시에, 에이전트 디바이스(4)와 연관된 애플리케이션은 동일하게 남을 수 있고 제2 레지스트리(80)는 단순히, 제1 레지스트리(8)에서 에이전트 디바이스(4)에 대해 등록되었던 것과 동일한 애플리케이션 식별자(들)를 등록할 수 있다(예를 들어, 제1 레지스트리(8)는 애플리케이션 식별자(들)를 제2 레지스트리(80)에 제공할 수 있다).In some cases, when assigning the agent device 4 to a new registry as shown in FIG. 18, the application provider 6 associated with the agent device 4 may also change. The second registry 80 may, for example, select which application(s) should be assigned to the agent device 4 or alternatively the second registry 80 is an application provider to be associated with the agent device 4 ( It is possible to wait for an application association request 220 from an external source indicating the application identifier of 6). As an alternative, upon switching of the registry, the application associated with the agent device 4 can remain the same and the second registry 80 is simply the same as that which was registered for the agent device 4 in the first registry 8. It is possible to register the application identifier(s) (eg, the first registry 8 may provide the application identifier(s) to the second registry 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)의 등록을 트리거할 수 있는 것을 보장한다.19 is a method for resetting ownership of the agent device 4 previously transferred to the second registry 80 so that the ownership is returned to the management of the first registry 8 to which the agent device 4 was originally registered Shows. In step 350, the second registry 80 (the requester device) requests the first registry 8 to regain ownership of the agent device 4. In step 360, the first registry 8 determines whether the second registry 80 is trusted. Once again, this includes performing authentication, checking whether the requestor has been previously authenticated, or determining whether the agent device 4 supports being reset to the first registry 8. If the agent device 4 is not allowed to be reset to the registry, the method ends. If not, the method proceeds to step 370, where the registry checks whether the agent device 4 is currently owned by the second registry 80. If not, the method ends. This ensures that only the current owner of the registration can trigger the registration of the device 4 so that it is reset to the first registry 8.

에이전트 디바이스가 제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)에서의 동작들은 자동으로 수행되어, 에이전트 디바이스가 레지스트리들 중 하나에 항상 등록되어 있고 어느 한 쪽의 레지스트리에서의 유효한 등록 없이 종료할 수 없도록 보장할 수 있다.If the agent device is owned by the second registry 80, a new key pair is generated by the agent device 4 in step 380. In step 390, a certificate signing request is prepared with a new public key and device ID and this is sent to the first registry 8. The private key of the generator key pair is stored in the secure storage 16 of the agent device 4. In step 400, the first registry 8 signs the new certificate to authorize the agent device once more. In step 410, the agent device withdraws its registration with the second registry 80 by deleting the previous key pair and certificate and updating its registry URL 26 to correspond to the first registry 8. In step 420, the device ownership status is updated within the first registry 8 and the second registry 80 can delete its entry for the agent device 4. Then, this method ends. Once again, the operations in steps 380-420 are performed automatically to ensure that the agent device is always registered in one of the registries and cannot be terminated without valid registration in either registry.

도 18 및 도 19의 방법들은 에이전트 디바이스가 레지스트리들 사이에서 이전되는 것 또는 한 번에 복수의 레지스트리에 할당되는 것을 허용하며, 이것은 어떤 오퍼레이터들이 그들의 에이전트 디바이스들을 공개 레지스트리를 이용하여 인증된 다른 에이전트 디바이스들로부터 분리하도록 그들 자신의 에이전트 디바이스들의 개인 레지스트리를 제공하는 것을 허용하는데 유용할 수 있다. 예를 들어, 국방 기구, 정부, 또는 도시 관리자는 그들이 조직 내에서의 이용을 위해 그들 자신의 보안되고 신뢰된 에이전트 디바이스들의 레지스트리를 운영할 수 있다. 범용적 이용을 위해 일반적인 공개 레지스트리가 제공될 수 있다. 에이전트 디바이스들이 제조되면 이들은 처음에 공개 레지스트리에 등록될 수 있지만, 개인 레지스트리에 의해 소유권 변경이 요청되면 이들은 개인 레지스트리에 이전될 수 있다. 개인 레지스트리에 의해 에이전트 디바이스들이 더 이상 요구되지 않으면, 소유권은 원래의 레지스트리로 리셋될 수 있다. 바람직하게는, 상이한 레지스트리로의 이전시에 새로운 인증 정보가 생성되어 에이전트 디바이스가 구 레지스트리에 의해 더 이상 인증될 수 없다는 것을 보장할 수 있다.The methods of Figures 18 and 19 allow an agent device to be transferred between registries or assigned to multiple registries at a time, which allows some operators to authenticate their agent devices to other agent devices using a public registry. It can be useful to allow providing a private registry of their own agent devices to separate them from. For example, defense agencies, governments, or city managers can maintain their own registry of secure and trusted agent devices for use within the organization. A general public registry can be provided for general use. Once the agent devices are manufactured they can be initially registered in the public registry, but when a change of ownership is requested by the private registry they can be transferred to the private registry. If agent devices are no longer required by the private registry, ownership can be reset to the original registry. Preferably, new authentication information can be created upon transfer to a different registry to ensure that the agent device can no longer be authenticated by the old registry.

도 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)는 이 정보를 그 디바이스 레지스트리에 등록한다.20 to 23 show four examples of timelines describing different applications for the present technology. FIG. 20 shows a first example of a personal healthcare field in which an agent device (sensor) is tethered to a specific cloud application and provided directly by an application provider and cannot be used in other applications. The agent device 4 is, for example, a wrist-worn sensor comprising a heart rate monitor capable of feeding back heart rate information to an application providing device 6 operated by a healthcare provider to monitor the health of a patient. I can. In step (1), the chip IP company designs hardware and software for the sensor 4 and security design guidelines for the sensor. System-on-chip (SOC) manufacturers create SOCs that contain secure hardware and unique device identifiers. The original device manufacturer (ODM) manufactures the sensor device. The original equipment manufacturer (OEM) develops the final product. At some point during the manufacturing process (which may be the SOC, ODM, or OEM stage), in step 2, the device identifier and private key are installed in the agent device 4. In step (3), sensor metadata is uploaded to the registry (8) by the manufacturing support system (70). The metadata may include, for example, device identifier, public key, and authentication model information. The registry device 8 registers this information in its device registry.

단계(4)에서, 센서는 헬스케어 제공자(6)에게 판매된다. 단계(5)에서, 헬스케어 제공자(6)는 센서를 그 서비스의 일부로서 사용자에게 제공한다. 헬스케어 제공자(6)는 디바이스의 센서 ID를 사용자의 ID와 연관시킨다. 단계(4) 또는 단계(5)에서, OEM 또는 애플리케이션 제공자(6)는 애플리케이션 연관 요청을 레지스트리(8)에 제공하여 센서(4)가 헬스케어 제공자의 클라우드 애플리케이션에서 이용될 것임을 통보한다. 따라서, 레지스트리는 고객 정보를 갖지 않지만, 에이전트 디바이스(4)가 활성화될 때 디바이스가 헬스케어 회사에 대응하는 애플리케이션 제공 장치(6)과 통신할 것이라는 것을 안다.In step 4, the sensor is sold to a healthcare provider 6. In step 5, the healthcare provider 6 provides the sensor to the user as part of its service. The healthcare provider 6 associates the sensor ID of the device with the ID of the user. In step 4 or 5, the OEM or application provider 6 provides an application association request to the registry 8 to inform the sensor 4 that it will be used in the healthcare provider's cloud application. Thus, the registry does not have customer information, but knows that the device will communicate with the application providing device 6 corresponding to the healthcare company when the agent device 4 is activated.

단계(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) 사이에 레지스트리의 관여 없이 직접적인 보안 암호화된 통신이 시작된다.In step 6, the user receives the sensor 4 from the healthcare provider 6. The user adjusts the cuff to fit his wrist, and turns on the sensor 4 to start using it. Turning on the device triggers the sensor 4 to contact the registry 8 with an authentication request, and mutual authentication takes place as described above. The user does not know this and there is no user interface to trigger this authentication-authentication is triggered automatically by activation of the device. The registry 8 determines whether the sensor 4 has already been registered in the registry and has an application identifier corresponding to the healthcare provider 6 in its registry entry. Thus, in step 7 the registry 8 notifies the healthcare provider of the device ID and informs the healthcare provider 6 that the agent device is now active with an authenticated valid device ID. In step 8, the healthcare provider 6 requests an application key for secure communication with the sensor 4. In step 9, the registry provides the application key to both the sensor 4 and the healthcare provider 6. In step 10, a direct secure encrypted communication is initiated between the sensor 4 and the healthcare provider 6 without the involvement of the registry.

도 21은, 에이전트 디바이스가 사용자에게 제공되기 이전에 클라우드 애플리케이션에 테더링되는 것 대신에, 사용자가 "기성품" 디바이스를 구매하고 나중에 그 디바이스를 특정한 클라우드 애플리케이션과 연관시킬 수 있는 이용 사례의 또 다른 예를 도시한다. 이것은 사용자가 동일한 클라우드 애플리케이션에서 상이한 유형 또는 브랜드의 센서를 이용하는 것을 허용한다. 다시 한번, 이 예는 애플리케이션 제공 장치가 헬스케어 회사에 속하는 개인 헬스케어에 관한 것이다. 단계들(1-3)은 도 20에서와 동일하다. 그러나, 이 경우 단계(4)에서 OEM은 제품을 소매상에게 판매하고 소매상은 센서(4)를 최종 사용자에게 판매한다. 이 때, 센서(4)는 애플리케이션 제공자(6)에게 예속되어 있지 않다.FIG. 21 is another example of a use case where an agent device may be tethered to a cloud application prior to being provided to the user, instead of a user purchasing a "off-the-shelf" device and later associating the device with a specific cloud application Shows. This allows users to use different types or brands of sensors in the same cloud application. Once again, this example relates to personal healthcare in which the application providing device belongs to a healthcare company. Steps 1-3 are the same as in FIG. 20. However, in this case, in step 4, the OEM sells the product to the retailer and the retailer sells the sensor 4 to the end user. At this time, the sensor 4 is not attached to the application provider 6.

단계(5)에서, 사용자는 헬스케어 제공자(6)에 의해 제공하고 센서(4) 그 자체 또는 센서가 팩키징되어 있는 박스 상의 코드를 스캔하는 스마트폰 앱을 실행한다. 스마트폰 상의 앱은 센서의 디바이스 ID를 특정한 사용자 계정에 링크하는 센서 연관 요청을 헬스케어 제공자에게 전송한다. 단계(6)에서, 스마트폰 앱 또는 헬스케어 제공자의 플랫폼(6)은 애플리케이션 ID를 디바이스 ID에 링크하는 애플리케이션 연관 요청을 레지스트리(8)에 전송한다. 따라서, 이제, 레지스트리는 에이전트 디바이스를 특정한 애플리케이션과 연관시킬 수 있고 애플리케이션 제공자는 에이전트 디바이스 ID를 특정한 사용자와 연관시킬 수 있다. 그 다음, 도 21의 단계들(7-11)은 각각 도 20의 단계들(6-10)과 동일한 방식으로 진행한다.In step 5, the user launches a smartphone app that is provided by the healthcare provider 6 and scans the code on the sensor 4 itself or on the box in which the sensor is packaged. The app on the smartphone transmits a sensor association request to a healthcare provider that links the sensor's device ID to a specific user account. In step 6, the platform 6 of the smartphone app or healthcare provider transmits an application association request for linking the application ID to the device ID to the registry 8. Thus, the registry can now associate the agent device with a specific application and the application provider can associate the agent device ID with a specific user. Then, steps 7-11 of FIG. 21 proceed in the same manner as steps 6-10 of FIG. 20, respectively.

도 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) 사이에 보안 통신이 확립된다.FIG. 22 shows a third use where the “buy your own device (BYOD)” sensor 4 is purchased by the user and the user is free to choose one of several different application providers to use with the sensor 4 Show an example. The Internet of Things (IOT) app store 400 is used to make this selection. Steps 1-4 of FIG. 22 are the same as those of FIG. 21. Once again, the sensor 4 is sold to a retailer and the retailer sells it to an end user. In step 5, the user launches the app store 400 on a smartphone, tablet, or computer, and once again, a QR code or similar technique is used to collect the device ID of the sensor 4. In step 6, the app store 400 validates the sensor's device ID with the registry 8. For example, the app store 400 queries the registry 8 to determine the authentication model used by the agent device or other capabilities of the agent device, and prepares a menu of compatible apps that operate with the agent device 4 can do. The user is provided with a menu of apps, selects the desired app, runs it, and logs in. In step 7, the app store updates the registry at the user's selection so that the registry associates the sensor's device ID with the application identifier of the selected application. The App Store also transmits the sensor's device ID and user ID to the selected application provider 6 so that the provider 6 can link the user ID and sensor ID together. At this point, the registry 8 knows which application a particular sensor 4 will communicate with, and the application provider knows which customer is associated with that sensor 4. Then, steps 8-12 of FIG. 22 are the same as steps 7-11 of FIG. 21, respectively, where mutual authentication between the sensor 4 and the registry 22 is performed, and then , A secure communication is established between the sensor 4 and the application provider 6.

도 23은 에이전트 디바이스(4)가 개인 헬스케어가 아니라 대규모 산업 또는 정부 배치에서 이용되는 제4 이용 사례를 도시한다. 이 예에서, 에이전트 디바이스는 거리 조명등의 동작에 관한 데이터를 클라우드 플랫폼에 피드백하고, 그 다음, 유지보수 제공자가 이것을 이용하여 예를 들어, 거리 조명등이 수리를 요구하는지를 판정하는 거리 조명등에 설치된 센서(4)이다. 단계들(1-3)은 다시 한번 도 20 내지 도 22에서와 동일하다. 단계(4)에서, 센서를 포함하는 제품이 제조되고 계약자에게 제공된다. 예를 들어, 거리 조명등이 통합된 센서들과 함께 제조되거나, 또는 대안으로서 센서를 포함하는 제품이, 나중의 스테이지에서 거리 조명등 상에 설치되기 위해 거리 조명등과는 별개로 제작될 수 있다. 이 때 레지스트리가 업데이트되어 센서(4)의 판매를 특정한 서비스 제공자(6)에게 반영하거나 또는 대안으로서 이것은, 계약자가 스마트폰 앱이나 유사한 디바이스를 이용하여 제품 ID를 스캔하거나 센서(4)에 대한 GPS 위치 데이터를 제공할 때, 나중에 단계(5)에서의 센서와 거리 조명등의 설치시에 이루어질 수 있다. 단계(6)에서, 계약자의 디바이스는, 센서(4)의 디바이스 ID를, 센서(4)로부터의 센서 데이터를 이용할 애플리케이션(6)의 애플리케이션 식별자와 함께, 레지스트리에 전송할 수 있다. 스마트폰 앱은, 간단한 방식으로, 계약자가 무엇이 이루어지고 있는지를 이해할 필요없이 계약자가 센서(4)를 특정한 애플리케이션(6)에 링크하는 연관 요청을 행하는 것을 허용할 수 있다.23 shows a fourth use case in which the agent device 4 is used not in personal healthcare, but in large-scale industrial or government deployments. In this example, the agent device feeds back data about the operation of the street light to the cloud platform, and then the maintenance provider uses it to determine, for example, if the street light requires repair ( 4). Steps 1-3 are once again the same as in FIGS. 20 to 22. In step (4), a product comprising a sensor is manufactured and provided to a contractor. For example, a street lamp may be manufactured with integrated sensors, or alternatively, a product comprising the sensor may be manufactured separately from the street lamp for installation on the street lamp at a later stage. At this time, the registry is updated to reflect the sale of the sensor 4 to a specific service provider 6, or as an alternative, the contractor scans the product ID using a smartphone app or similar device, or GPS When providing the location data, it can be done later in the installation of the sensors and street lights in step 5. In step 6, the contractor's device may transmit the device ID of the sensor 4 to the registry, along with the application identifier of the application 6 that will use the sensor data from the sensor 4. The smartphone app can, in a simple way, allow the contractor to make an association request linking the sensor 4 to a specific application 6 without the need for the contractor to understand what is being done.

단계(7)에서, 에이전트 디바이스(4)의 활성화시에(예를 들어, 전원투입시에), 거리 조명등의 에이전트 디바이스는 레지스트리와 직접 연락하여 앞서 논의된 바와 같이 상호 인증을 확립한다. 일단 인증이 확립되고 나면, 단계(8)에서 레지스트리는 사물 인터넷(IoT) 기반의 시스템을 개발하거나 배치하는 서비스 제공자(6)에게 새로운 거리 조명등과 에이전트 디바이스들이 설치되었고 유효한 인증된 케이스 신원과 함께 온라인이라는 것을 통보한다. 단계(9)에서, 서비스 제공자(6)는 보안 통신을 위한 애플리케이션 키를 요청한다. 단계(10)에서, 레지스트리(8)는 대칭 애플리케이션 키를 서비스 제공자(6)와 에이전트 디바이스 자체에 제공한다. 그 다음, 직접 보안 통신이 시작되고 서비스 제공자(6)의 IoT 플랫폼은 센서(4)에 의해 제공된 센서 데이터를 이용하여 애플리케이션을 실행한다. (도시 관리자, 또는 유지보수 계약 회사 등의) 고객은 또한 예를 들어 웹 플랫폼을 이용하여 IoT 시스템에 액세스할 수 있다(단계 11). 따라서, 도 23의 예에서, 레지스트리(8)의 이용을 통해, 계약자는 에이전트 디바이스를 간단히 설치하고, 전원에 플러그인하거나 단일 버튼을 누르는 등의 간단한 수단을 이용하여 코드를 스캔하거나 및/또는 에이전트 디바이스를 활성화할 수 있기 때문에, 장비를 설치하는 계약자의 일이 간소화되고, 그 다음, 레지스트리(8)는 에이전트 디바이스를 인증하고 애플리케이션 제공 장치(6)와의 접속을 확립한다. 계약자는 에이전트 디바이스를 구성하기 위해 사용자 인터페이스와 상호작용하면서 시간을 소비할 필요가 없다.In step 7, upon activation of the agent device 4 (for example, upon power-on), the agent device, such as a street lighting, directly contacts the registry to establish mutual authentication as discussed above. Once authentication is established, in step (8), the registry is used to provide service providers (6) developing or deploying Internet of Things (IoT) based systems where new street lights and agent devices have been installed and are online with a valid authenticated case identity. Is notified. In step 9, the service provider 6 requests an application key for secure communication. In step 10, the registry 8 provides the symmetric application key to the service provider 6 and the agent device itself. Then, direct secure communication is started and the IoT platform of the service provider 6 executes the application using the sensor data provided by the sensor 4. Customers (such as city managers or maintenance contractors) can also access IoT systems using, for example, a web platform (step 11). Thus, in the example of FIG. 23, through the use of the registry 8, the contractor simply installs the agent device, scans the code using simple means such as plugging in a power source or pressing a single button, and/or Since it is possible to activate, the work of the contractor to install the equipment is simplified, and then the registry 8 authenticates the agent device and establishes a connection with the application providing device 6. The contractor does not have to spend time interacting with the user interface to configure the agent device.

여기서 특정한 실시예들이 설명되었지만, 본 발명은 이것으로 제한되지 않고 본 발명의 범위 내에서 많은 수정과 추가사항이 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 본 발명의 범위로부터 벗어나지 않고 독립항들의 특징들과 함께 이하의 종속항들의 특징들의 다양한 조합이 이루어질 수 있다.While specific embodiments have been described herein, it will be understood that the invention is not limited thereto and that many modifications and additions can be made within the scope of the invention. For example, various combinations of the features of the following dependent claims together with the features of the independent claims may be made without departing from the scope of the present invention.

Claims (29)

하나 이상의 애플리케이션 제공 장치와의 신뢰된 통신을 수행하기 위한 에이전트 디바이스(agent device)에 대한 신뢰된 신원(trusted identity)을 확립(establishing)하는 방법으로서,
(a) 복수의 인증 모델 중 어느 것이 상기 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 판정하는 단계―상기 선택된 인증 모델은 상기 에이전트 디바이스의 자원에 기초하여 선택되고, 상기 에이전트 디바이스를 고유하게 인증하기 위한 상기 인증 모델은 상기 에이전트 디바이스에 대한 신뢰도를 나타냄―;
(b) 상기 선택된 인증 모델에 따라 제1 인증 정보와 제2 인증 정보를 생성 ―상기 제1 인증 정보는 상기 에이전트 디바이스의 신원을 고유하게 인증하기 위한 것이고, 상기 제2 인증 정보는 상기 에이전트 디바이스가 상기 제1 인증 정보를 갖고 있는지를 확인하기 위한 것임― 하는 단계;
(c) 상기 제1 인증 정보를 상기 에이전트 디바이스에 임베딩하는 단계;
(d) 에이전트 디바이스들의 디바이스 레지스트리(device registry)를 유지하기 위한 레지스트리 장치(registry apparatus)에, 상기 제2 인증 정보와, 상기 복수의 인증 모델 중 어느 것이 상기 에이전트 디바이스에 의해 이용되는 상기 선택된 인증 모델인지를 식별하는 인증 모델 정보를 전송하는 단계;
(e) 상기 레지스트리 장치에서, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보를 요구하는 상기 하나 이상의 애플리케이션 제공 장치로부터 인증 모델 질의를 수신하는 단계;
(f) 상기 레지스트리 장치로부터 상기 하나 이상의 애플리케이션 제공 장치로, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보를 전송하는 단계; 및
(g) 상기 레지스트리 장치에서, 상기 하나 이상의 애플리케이션 제공 장치로부터, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 만족하고 상기 하나 이상의 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행할 것이라는 표시를 수신하는 단계
를 포함하는, 방법.
A method of establishing a trusted identity for an agent device for performing trusted communication with one or more application providing devices, the method comprising:
(a) determining which of a plurality of authentication models is a selected authentication model used to uniquely authenticate the agent device-the selected authentication model is selected based on the resource of the agent device, and makes the agent device unique The authentication model for seamless authentication indicates reliability for the agent device;
(b) Generating first authentication information and second authentication information according to the selected authentication model-The first authentication information is for uniquely authenticating the identity of the agent device, and the second authentication information is the agent device The step of checking whether to have the first authentication information;
(c) embedding the first authentication information in the agent device;
(d) in a registry apparatus for maintaining a device registry of agent devices, the second authentication information and the selected authentication model in which any of the plurality of authentication models is used by the agent device Transmitting authentication model information for identifying recognition;
(e) receiving, at the registry device, an authentication model query from the at least one application providing device requesting the authentication model information for the agent device;
(f) transmitting the authentication model information for the agent device from the registry device to the one or more application providing devices; And
(g) in the registry device, that the authentication model information for the agent device satisfies a minimum security requirement from the one or more application providing devices and that the one or more application providing devices will perform communication with the agent device. Step of receiving an indication
Containing, method.
제 1 항에 있어서,
상기 방법은 상기 선택된 인증 모델을 구현하기 위해 상기 에이전트 디바이스에 인증 자원들을 제공하는 단계를 포함하는, 방법.
The method of claim 1,
And the method includes providing authentication resources to the agent device to implement the selected authentication model.
제 1 항에 있어서,
상기 판정하는 단계는, 상기 선택된 인증 모델을 구현하기 위해 인증 자원이 상기 에이전트 디바이스에 이미 제공되어 있는지에 의존하여 상기 선택된 인증 모델을 판정하는, 방법.
The method of claim 1,
Wherein the determining step determines the selected authentication model depending on whether an authentication resource has already been provided to the agent device to implement the selected authentication model.
제 1 항에 있어서,
상기 제1 인증 정보와 상기 제2 인증 정보는 상기 에이전트 디바이스와는 별개의 외부 디바이스에 의해 생성되는, 방법.
The method of claim 1,
The first authentication information and the second authentication information are generated by an external device separate from the agent device.
제 4 항에 있어서,
상기 제1 인증 정보가 상기 에이전트 디바이스에 임베딩된(embedded) 후에, 상기 외부 디바이스는 상기 제1 인증 정보를 삭제하는, 방법.
The method of claim 4,
After the first authentication information is embedded in the agent device, the external device deletes the first authentication information.
제 1 항에 있어서,
상기 제1 인증 정보와 상기 제2 인증 정보는 상기 에이전트 디바이스 내의 회로에 의해 내부적으로 생성되는, 방법.
The method of claim 1,
The first authentication information and the second authentication information are generated internally by circuitry in the agent device.
제 1 항에 있어서,
상기 임베딩하는 단계는 상기 제1 인증 정보를 저장하기 위해 상기 에이전트 디바이스에 저장 회로를 제공하는 단계를 포함하는, 방법.
The method of claim 1,
Wherein the embedding comprises providing a storage circuit to the agent device to store the first authentication information.
제 1 항에 있어서,
상기 임베딩하는 단계는, 상기 에이전트 디바이스에 제공된 저장 회로에 상기 제1 인증 정보를 저장하는 단계를 포함하는, 방법.
The method of claim 1,
The embedding step includes storing the first authentication information in a storage circuit provided to the agent device.
제 1 항에 있어서,
상기 제1 인증 정보는 상기 에이전트 디바이스의 보호된 저장 영역에 임베딩되는, 방법.
The method of claim 1,
The first authentication information is embedded in a protected storage area of the agent device.
제 1 항에 있어서,
상기 복수의 인증 모델은, 상기 제1 인증 정보와 상기 제2 인증 정보가 동일한 인증 정보를 포함하는 적어도 하나의 인증 모델을 포함하는, 방법.
The method of claim 1,
The plurality of authentication models includes at least one authentication model in which the first authentication information and the second authentication information include the same authentication information.
제 1 항에 있어서,
상기 복수의 인증 모델은, 상기 제1 인증 정보가 상기 제2 인증 정보와는 상이한 인증 정보를 포함하는 적어도 하나의 인증 모델을 포함하는, 방법.
The method of claim 1,
The plurality of authentication models include at least one authentication model in which the first authentication information includes authentication information different from the second authentication information.
제 11 항에 있어서,
상기 적어도 하나의 인증 모델에 대해, 상기 제1 인증 정보는 개인 키를 포함하고 상기 제2 인증 정보는 상기 개인 키와는 상이한 공개 키를 포함하는, 방법.
The method of claim 11,
For the at least one authentication model, the first authentication information comprises a private key and the second authentication information comprises a public key different from the private key.
제 12 항에 있어서,
상기 적어도 하나의 인증 모델에 대해, 상기 전송하는 단계는 상기 공개 키를 포함하는 디지털 인증서를 전송하는 단계를 포함하는, 방법.
The method of claim 12,
For the at least one authentication model, the transmitting step comprises transmitting a digital certificate comprising the public key.
제 1 항에 있어서,
상기 복수의 인증 모델은, 상기 제1 인증 정보와 상기 제2 인증 정보가 변경불가능한 적어도 하나의 인증 모델을 포함하는, 방법.
The method of claim 1,
The plurality of authentication models includes at least one authentication model in which the first authentication information and the second authentication information are immutable.
제 1 항에 있어서,
상기 복수의 인증 모델은, 상기 제1 인증 정보와 상기 제2 인증 정보가 변경가능한 적어도 하나의 인증 모델을 포함하는, 방법.
The method of claim 1,
The plurality of authentication models includes at least one authentication model in which the first authentication information and the second authentication information are changeable.
제 15 항에 있어서,
상기 에이전트 디바이스는 상기 제1 인증 정보와 상기 제2 인증 정보를 재생성하기 위한 인증 정보 생성 회로를 포함하는, 방법.
The method of claim 15,
Wherein the agent device includes an authentication information generating circuit for regenerating the first authentication information and the second authentication information.
제 1 항에 있어서,
상기 복수의 인증 모델은,
(i) 상기 제1 및 제2 인증 정보가 동일한 인증 정보를 포함하고 변경불가능한 제1 인증 모델;
(ii) 상기 제1 및 제2 인증 정보가 상이한 인증 정보를 포함하고 변경불가능한 제2 인증 모델; 및
(iii) 상기 제1 및 제2 인증 정보가 상이한 인증 정보를 포함하고 변경가능한 제3 인증 모델
을 포함하는, 방법.
The method of claim 1,
The plurality of authentication models,
(i) a first authentication model in which the first and second authentication information includes the same authentication information and cannot be changed;
(ii) a second authentication model in which the first and second authentication information includes different authentication information and cannot be changed; And
(iii) a third authentication model in which the first and second authentication information includes different authentication information and is changeable
Including, the method.
제 1 항에 있어서,
상기 복수의 인증 모델은, 상기 에이전트 디바이스가 상이한 디바이스 레지스트리에 재할당될 수 있는 적어도 하나의 인증 모델을 포함하는, 방법.
The method of claim 1,
Wherein the plurality of authentication models includes at least one authentication model in which the agent device can be reassigned to a different device registry.
제 1 항에 있어서,
상기 에이전트 디바이스는, 상기 에이전트 디바이스를 고유하게 식별하는 디바이스 식별자를 포함하고, 상기 전송하는 단계는 상기 디바이스 식별자를 상기 레지스트리 장치에 전송하는 단계를 더 포함하는, 방법.
The method of claim 1,
Wherein the agent device includes a device identifier that uniquely identifies the agent device, and the transmitting step further comprises transmitting the device identifier to the registry device.
제 1 항에 있어서,
상기 레지스트리 장치를 인증하기 위해 상기 에이전트 디바이스에 레지스트리 인증 정보를 임베딩하는 단계를 더 포함하는, 방법.
The method of claim 1,
And embedding registry authentication information in the agent device to authenticate the registry device.
제 1 항에 있어서,
상기 방법은, 상기 하나 이상의 애플리케이션 제공 장치로부터, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 하회하고 상기 하나 이상의 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행하지 않을 것이라는 표시를 수신하는 단계를 더 포함하는, 방법.
The method of claim 1,
The method further comprises receiving, from the at least one application providing device, an indication that the authentication model information for the agent device is less than a minimum security requirement and that the at least one application providing device will not perform communication with the agent device. The method further comprising the step of.
하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 레지스트리 장치로서,
복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 상기 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리(registry entry)를 포함하는 디바이스 레지스트리를 저장하도록 구성된 저장 회로―상기 선택된 인증 모델은 상기 에이전트 디바이스의 자원에 기초하여 선택되고, 상기 선택된 인증 모델은 상기 에이전트 디바이스의 신뢰도를 나타냄―; 및
명시된 에이전트 디바이스에 대한 상기 인증 모델 정보를 요청하는 애플리케이션 제공 장치로부터의 인증 모델 질의에 응답하여, 상기 명시된 에이전트 디바이스에 대한 상기 레지스트리 엔트리의 상기 인증 모델 정보를 상기 애플리케이션 제공 장치에 전송하고, 상기 애플리케이션 제공 장치로부터 상기 명시된 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 만족하고 상기 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행할 것이라는 표시를 수신하도록 구성된 통신 회로
를 포함하는, 레지스트리 장치.
A registry device for maintaining a device registry of agent devices for performing trusted communication with one or more application providing devices,
Including at least one registry entry for the corresponding agent device including authentication model information identifying which of the plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. A storage circuit configured to store a device registry, wherein the selected authentication model is selected based on a resource of the agent device, and the selected authentication model indicates a reliability of the agent device; And
In response to an authentication model query from an application providing device requesting the authentication model information for a specified agent device, the authentication model information of the registry entry for the specified agent device is transmitted to the application providing device, and the application is provided. A communication circuit configured to receive an indication from an apparatus that the authentication model information for the specified agent device satisfies a minimum security requirement and that the application providing apparatus will perform communication with the agent device.
Including, registry device.
제 22 항에 있어서,
각각의 레지스트리 엔트리는 상기 대응하는 에이전트 디바이스를 고유하게 인증하기 위한 인증 정보를 포함하고, 상기 레지스트리 장치는 상기 인증 정보를 이용하여 상기 대응하는 에이전트 디바이스의 인증을 수행하도록 구성된 처리 회로를 포함하는, 레지스트리 장치.
The method of claim 22,
Each registry entry includes authentication information for uniquely authenticating the corresponding agent device, and the registry apparatus includes a processing circuit configured to perform authentication of the corresponding agent device using the authentication information. Device.
제 23 항에 있어서,
상기 통신 회로는, 상기 인증이 성공적이면 상기 인증된 에이전트 디바이스와 상기 애플리케이션 제공 장치에 애플리케이션 키 정보를 전송하도록 구성되고, 상기 애플리케이션 키는 상기 에이전트 디바이스와 상기 애플리케이션 제공 장치 사이의 신뢰된 통신을 가능케 하기 위한 것인, 레지스트리 장치.
The method of claim 23,
The communication circuit is configured to transmit application key information to the authenticated agent device and the application providing device if the authentication is successful, and the application key enables trusted communication between the agent device and the application providing device. For, registry devices.
하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 레지스트리 장치로서,
복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 상기 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리를 포함하는 디바이스 레지스트리를 저장하기 위한 수단―상기 선택된 인증 모델은 상기 에이전트 디바이스의 자원에 기초하여 선택되고, 상기 선택된 인증 모델은 상기 에이전트 디바이스의 신뢰도를 나타냄―; 및
명시된 에이전트 디바이스에 대한 상기 인증 모델 정보를 요청하는 애플리케이션 제공 장치로부터의 인증 모델 질의에 응답하여 상기 명시된 에이전트 디바이스에 대한 상기 레지스트리 엔트리의 상기 인증 모델 정보를 상기 애플리케이션 제공 장치에 전송하고, 상기 애플리케이션 제공 장치로부터 상기 명시된 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 만족하고 상기 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행할 것이라는 표시를 수신하기 위한 수단
을 포함하는, 레지스트리 장치.
A registry device for maintaining a device registry of agent devices for performing trusted communication with one or more application providing devices,
Stores a device registry including at least one registry entry for the corresponding agent device including authentication model information that identifies which of a plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. Means for, wherein the selected authentication model is selected based on a resource of the agent device, and the selected authentication model indicates a reliability of the agent device; And
In response to an authentication model query from an application providing device requesting the authentication model information for a specified agent device, the authentication model information of the registry entry for the specified agent device is transmitted to the application providing device, and the application providing device Means for receiving an indication that the authentication model information for the specified agent device satisfies a minimum security requirement and that the application providing apparatus is to perform communication with the agent device.
Including, registry device.
레지스트리 장치가 하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리를 유지하기 위한 방법으로서,
복수의 인증 모델 중 어느 것이 대응하는 에이전트 디바이스를 고유하게 인증하는데 이용되는 선택된 인증 모델인지를 식별하는 인증 모델 정보를 포함하는 상기 대응하는 에이전트 디바이스에 대한 적어도 하나의 레지스트리 엔트리를 포함하는 디바이스 레지스트리를 유지하는 단계―상기 선택된 인증 모델은 상기 에이전트 디바이스의 자원에 기초하여 선택되고, 상기 선택된 인증 모델은 상기 에이전트 디바이스의 신뢰도를 나타냄―;
애플리케이션 제공 장치로부터, 명시된 에이전트 디바이스에 대한 상기 인증 모델 정보를 요청하는 인증 모델 질의를 수신하는 단계;
상기 인증 모델 질의에 응답하여, 상기 명시된 에이전트 디바이스에 대한 상기 레지스트리 엔트리의 상기 인증 모델 정보를 상기 애플리케이션 제공 장치에 전송하는 단계; 및
상기 애플리케이션 제공 장치로부터 상기 명시된 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 만족하고 상기 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행할 것이라는 표시를 수신하는 단계
를 포함하는, 방법.
A method for maintaining a device registry of agent devices for a registry device to perform trusted communication with one or more application providing devices,
Maintaining a device registry including at least one registry entry for the corresponding agent device including authentication model information that identifies which of a plurality of authentication models is a selected authentication model used to uniquely authenticate the corresponding agent device. The step of, wherein the selected authentication model is selected based on resources of the agent device, and the selected authentication model indicates the reliability of the agent device;
Receiving, from an application providing apparatus, an authentication model query for requesting the authentication model information for a specified agent device;
Transmitting the authentication model information of the registry entry for the specified agent device to the application providing apparatus in response to the authentication model query; And
Receiving an indication from the application providing device that the authentication model information for the specified agent device satisfies a minimum security requirement and that the application providing device will communicate with the agent device.
Containing, method.
하나 이상의 애플리케이션 제공 장치와 신뢰된 통신을 수행하기 위한 에이전트 디바이스들의 디바이스 레지스트리에 에이전트 디바이스를 등록하는 방법으로서,
복수의 인증 모델 중 어느 것이 상기 에이전트 디바이스를 고유하게 인증하기 위해 상기 에이전트 디바이스에 의해 이용되는 선택된 인증 모델인지를 판정하는 단계―상기 복수의 인증 모델은 상이한 보안 레벨을 제공하고, 상기 선택된 인증 모델은 상기 에이전트 디바이스의 자원에 기초하여 선택되고, 상기 선택된 인증 모델은 상기 에이전트 디바이스의 신뢰도를 나타냄―;
상기 디바이스 레지스트리를 유지하기 위한 레지스트리 장치에, 상기 복수의 인증 모델 중 어느 것이 상기 에이전트 디바이스에 대한 상기 선택된 인증 모델인지를 식별하는 인증 모델 정보를 전송하는 단계;
상기 레지스트리 장치에서, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보를 요구하는 상기 하나 이상의 애플리케이션 제공 장치로부터 인증 모델 질의를 수신하는 단계;
상기 레지스트리 장치로부터 상기 하나 이상의 애플리케이션 제공 장치로, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보를 전송하는 단계; 및
상기 레지스트리 장치에서, 상기 하나 이상의 애플리케이션 제공 장치로부터, 상기 에이전트 디바이스에 대한 상기 인증 모델 정보가 최소한의 보안 요건을 만족하고 상기 하나 이상의 애플리케이션 제공 장치가 상기 에이전트 디바이스와의 통신을 수행할 것이라는 표시를 수신하는 단계
를 포함하는, 방법.
A method of registering an agent device in a device registry of agent devices for performing trusted communication with one or more application providing devices, the method comprising:
Determining which of a plurality of authentication models is a selected authentication model used by the agent device to uniquely authenticate the agent device, wherein the plurality of authentication models provide different levels of security, and the selected authentication model is It is selected based on the resource of the agent device, and the selected authentication model indicates the reliability of the agent device;
Transmitting, to a registry apparatus for maintaining the device registry, authentication model information identifying which of the plurality of authentication models is the selected authentication model for the agent device;
Receiving, at the registry device, an authentication model query from the at least one application providing device requesting the authentication model information for the agent device;
Transmitting the authentication model information for the agent device from the registry device to the one or more application providing devices; And
In the registry apparatus, receiving an indication from the at least one application providing apparatus that the authentication model information for the agent device satisfies a minimum security requirement and that the at least one application providing apparatus will perform communication with the agent device Steps to
Containing, method.
제 27 항에 있어서,
상기 에이전트 디바이스를 고유하게 인증하기 위한 인증 정보를 상기 레지스트리 장치에 전송하는 단계를 더 포함하는 방법.
The method of claim 27,
And transmitting authentication information for uniquely authenticating the agent device to the registry device.
삭제delete
KR1020167012709A 2013-10-17 2014-10-15 Method of establishing a trusted identity for an agent device KR102169947B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
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,468 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/053097 WO2015056009A1 (en) 2013-10-17 2014-10-15 Method of establishing a trusted identity for an agent device

Publications (2)

Publication Number Publication Date
KR20160072178A KR20160072178A (en) 2016-06-22
KR102169947B1 true KR102169947B1 (en) 2020-10-26

Family

ID=51932539

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020167012706A KR102168392B1 (en) 2013-10-17 2014-10-15 Registry apparatus, agent device, application providing apparatus and corresponding methods
KR1020167012709A KR102169947B1 (en) 2013-10-17 2014-10-15 Method of establishing a trusted identity for an agent device
KR1020167012752A KR101741967B1 (en) 2013-10-17 2014-10-15 Method for assigning an agent device from a first device registry to a second device registry

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167012706A KR102168392B1 (en) 2013-10-17 2014-10-15 Registry apparatus, agent device, application providing apparatus and corresponding methods

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167012752A KR101741967B1 (en) 2013-10-17 2014-10-15 Method for assigning an agent device from a first device registry to a second device registry

Country Status (4)

Country Link
KR (3) KR102168392B1 (en)
CN (3) CN105637915B (en)
GB (3) GB2533727B (en)
WO (3) WO2015056008A1 (en)

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
CN113596165A (en) 2015-09-01 2021-11-02 康维达无线有限责任公司 Service layer registration
CN105162602B (en) * 2015-09-01 2018-05-11 中国互联网络信息中心 A kind of trustable network Identity Management and verification system and method
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
WO2017182363A1 (en) 2016-04-21 2017-10-26 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 (en) * 2016-07-03 2019-03-26 恒宝股份有限公司 A kind of safety method and system based on asymmetric key pair
US10873511B2 (en) * 2016-11-22 2020-12-22 Airwatch Llc Management service migration for managed devices
CN108156126B (en) * 2016-12-02 2020-12-08 阿里巴巴集团控股有限公司 Burning verification method and device and identity authentication method and device for Internet of things equipment
WO2018135919A1 (en) * 2017-01-20 2018-07-26 Samsung Electronics Co., Ltd. Apparatus and method for providing and managing security information in communication system
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034207A1 (en) * 2006-08-01 2008-02-07 Cisco Technology, Inc. Method and apparatus for selecting an appropriate authentication method on a client
US20090215477A1 (en) * 2008-02-27 2009-08-27 Qualcomm, Incorporated Intelligent multiple device file sharing in a wireless communications system
US20130081113A1 (en) * 2011-09-27 2013-03-28 George Cherian Methods of and systems for remotely configuring a wireless device
US20130222109A1 (en) * 2012-02-23 2013-08-29 Infineon Technologies Ag System-Level Chip Identify Verification (Locking) Method with Authentication Chip

Family Cites Families (14)

* 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
JP4668795B2 (en) * 2003-12-26 2011-04-13 パナソニック株式会社 Prime number calculating device, key issuing system, and prime number calculating method
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 (en) * 2004-12-30 2007-10-24 삼성전자주식회사 Method and System Providing Public Key Authentication in Home Network
JP4741292B2 (en) * 2005-06-09 2011-08-03 株式会社日立製作所 Device management system
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
JP5144679B2 (en) 2006-12-19 2013-02-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) User access management in communication networks
US8370491B1 (en) * 2007-06-20 2013-02-05 Clearwire Ip Holdings Llc Open mobile alliance provisioning via a global wimax device registry
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
DE102010043878A1 (en) * 2010-11-12 2012-05-16 Vodafone Holding Gmbh Subscriber identification device and method for subscriber authentication
AU2013100802B4 (en) * 2013-04-11 2013-11-14 Uniloc Luxembourg S.A. Device authentication using inter-person message metadata

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034207A1 (en) * 2006-08-01 2008-02-07 Cisco Technology, Inc. Method and apparatus for selecting an appropriate authentication method on a client
US20090215477A1 (en) * 2008-02-27 2009-08-27 Qualcomm, Incorporated Intelligent multiple device file sharing in a wireless communications system
US20130081113A1 (en) * 2011-09-27 2013-03-28 George Cherian Methods of and systems for remotely configuring a wireless device
US20130222109A1 (en) * 2012-02-23 2013-08-29 Infineon Technologies Ag System-Level Chip Identify Verification (Locking) Method with Authentication Chip

Also Published As

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

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
KR102169947B1 (en) Method of establishing a trusted identity for an agent device
US9860235B2 (en) Method of establishing a trusted identity for an agent device
US20190349346A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
US20190349347A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
CN110855791B (en) Block link point deployment method and related equipment
WO2019129037A1 (en) Equipment authentication method, over-the-air card writing method, and equipment authentication device
EP2887607A1 (en) Migration of assets of a trusted execution environment
CN103620556A (en) Binding applications to device capabilities
US20210249145A1 (en) Information communication device, authentication program for information communication device, and authentication method
CN103793661B (en) Mobile terminal device, signal processing method, document storage server and document file management system
US20190349348A1 (en) Registry apparatus, agent device, application providing apparatus and corresponding methods
JP6435678B2 (en) Information processing apparatus, management apparatus, program, and system
JP6750260B2 (en) Information processing device and agent system
JP2016039427A (en) Determination device, terminal device, determination program, terminal program, and communication system

Legal Events

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