KR102472159B1 - Cloud-based IoT device control method and system - Google Patents

Cloud-based IoT device control method and system Download PDF

Info

Publication number
KR102472159B1
KR102472159B1 KR1020200150978A KR20200150978A KR102472159B1 KR 102472159 B1 KR102472159 B1 KR 102472159B1 KR 1020200150978 A KR1020200150978 A KR 1020200150978A KR 20200150978 A KR20200150978 A KR 20200150978A KR 102472159 B1 KR102472159 B1 KR 102472159B1
Authority
KR
South Korea
Prior art keywords
level
virtual
processor
devices
virtual devices
Prior art date
Application number
KR1020200150978A
Other languages
Korean (ko)
Other versions
KR20220064653A (en
Inventor
허용수
안대수
이동혁
Original Assignee
주식회사 동고비소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 동고비소프트 filed Critical 주식회사 동고비소프트
Priority to KR1020200150978A priority Critical patent/KR102472159B1/en
Publication of KR20220064653A publication Critical patent/KR20220064653A/en
Application granted granted Critical
Publication of KR102472159B1 publication Critical patent/KR102472159B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems

Abstract

클라우드 기반 IoT 장치 제어 방법이 개시된다. 복수의 IoT 장치들을 제어하기 위한 클라우드 서비스는 복수의 물리적 서버들을 통해 제공되며, 상기 복수의 물리적 서버들 각각은 프로세서와 메모리를 포함하는 클라우드 기반 IoT 장치 제어 방법은 상기 프로세서는 복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하는 단계, 상기 프로세서는 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하는 단계, 상기 프로세서는 복수의 클라이언트들의 설정 신호들에 따라 상기 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키는 단계, 상기 프로세서는 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하는 단계, 및 상기 프로세서는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하는 단계를 포함하며, 상기 프로파일 정보는 상기 복수의 IoT 장치들의 유형 정보, 위치 정보, 아이디, 또는 동작 정보를 포함한다. A cloud-based IoT device control method is disclosed. A cloud service for controlling a plurality of IoT devices is provided through a plurality of physical servers, and each of the plurality of physical servers includes a processor and a memory. Receiving each profile information from the processor, generating a plurality of virtual devices corresponding to each of the plurality of IoT devices using the received profile information, the processor setting a plurality of clients connecting the plurality of clients and the plurality of virtual devices to each other according to signals; applying, by the processor, different security levels to each of the plurality of virtual devices according to the importance of the plurality of virtual devices; , and the processor generating different encryption keys according to the applied security level and encrypting each of the plurality of virtual devices, wherein the profile information includes type information, location information, and IDs of the plurality of IoT devices. , or motion information.

Description

클라우드 기반 IoT 장치 제어 방법 및 시스템 {Cloud-based IoT device control method and system}Cloud-based IoT device control method and system {Cloud-based IoT device control method and system}

본 발명은 클라우드 기반 IoT 장치 제어 방법 및 시스템에 관한 것으로, 상세하게는 보안에 우수한 클라우드 기반 IoT 장치 제어 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for controlling a cloud-based IoT device, and more particularly, to a method and system for controlling a cloud-based IoT device excellent in security.

IoT(Internet Of Things) 장치는 센서, 소프트웨어, 및 네트워크 기술이 접목된 물리적인 장치를 의미한다. IoT 장치는 가정, 교통, 의료, 또는 공장 등 다양한 산업 분야에서 활용된다. 가정에서 IP 카메라, 전구, 에어컨, 또는 청소기 등과 같은 IoT 장치가 활용될 수 있다. 교통에서는 스마트 교통 제어기, 스마트 주차, 또는 차량간 통신 시스템 등과 같은 IoT 장치가 활용될 수 있다.An Internet Of Things (IoT) device refers to a physical device to which sensors, software, and network technologies are grafted. IoT devices are used in various industries such as home, transportation, medical care, or factories. IoT devices such as IP cameras, light bulbs, air conditioners, or vacuum cleaners can be utilized in homes. In transportation, IoT devices such as smart traffic controllers, smart parking, or vehicle-to-vehicle communication systems can be utilized.

일반적으로 IoT 장치의 기능(예컨대, IP 카메라의 경우, IP 카메라의 이동)은 내부의 메모리에 저장된 소프트웨어를 통해 동작할 수 있다. IoT 장치에 새로운 기능의 추가나 다른 IoT 장치와의 연동을 위해서는 IoT 장치의 내부의 메모리에 저장된 소프트웨어를 업데이트하여야 한다. 특히, 기존 소프트웨어의 보안성 결함 등으로 소프트웨어 업데이트가 요구되는 경우도 있다. 하지만, IoT 장치의 소프트웨어 업데이트 도중에 전력의 공급 중단 등의 이유로 인한 오류의 발생 가능성도 있다. In general, the function of an IoT device (eg, movement of an IP camera in the case of an IP camera) may be operated through software stored in an internal memory. In order to add a new function to the IoT device or to interoperate with other IoT devices, software stored in an internal memory of the IoT device must be updated. In particular, software updates may be required due to security defects in existing software. However, there is a possibility that an error may occur due to reasons such as power supply interruption during software update of the IoT device.

상기와 같은 문제점을 해결하기 위해 클라우드에 기반하여 IoT 장치를 제어할 수 있다. 하지만, 클라우드에 기반하여 IoT 장치를 제어할 때, 보안 문제가 제기된다. 특히, 보안이 요구되는 교통, 또는 발전소와 같은 국가 기반 시설에서 외부의 침입자가 클라우드에 불법적으로 접근하여 IoT 장치를 제어할 때, 불법적인 IoT 장치의 제어는 큰 사고로 이어질 수 있다. 따라서 클라우드에 기반하여 IoT 장치가 제어될 때, 안전하게 IoT 장치를 제어할 수 있는 방법이 요구된다. In order to solve the above problems, the IoT device may be controlled based on the cloud. However, security issues arise when controlling IoT devices based on the cloud. In particular, when an outside intruder illegally accesses the cloud and controls an IoT device in national infrastructure such as transportation or power plants that require security, control of the illegal IoT device can lead to a major accident. Therefore, when the IoT device is controlled based on the cloud, a method for safely controlling the IoT device is required.

한국 등록공개공보 제10-2015-0123374호(2015.11.04.)Korean Registration Publication No. 10-2015-0123374 (2015.11.04.)

본 발명이 이루고자 하는 기술적인 과제는 보안에 우수한 클라우드 기반 IoT 장치 제어 방법 및 시스템을 제공하는 것이다. A technical problem to be achieved by the present invention is to provide a cloud-based IoT device control method and system excellent in security.

본 발명의 실시 예에 따른 복수의 IoT 장치들을 제어하기 위한 클라우드 서비스는 복수의 물리적 서버들을 통해 제공되며, 상기 복수의 물리적 서버들 각각은 프로세서와 메모리를 포함하는 클라우드 기반 IoT 장치 제어 방법은 상기 프로세서는 복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하는 단계, 상기 프로세서는 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하는 단계, 상기 프로세서는 복수의 클라이언트들의 설정 신호들에 따라 상기 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키는 단계, 상기 프로세서는 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하는 단계, 및 상기 프로세서는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하는 단계를 포함한다. A cloud service for controlling a plurality of IoT devices according to an embodiment of the present invention is provided through a plurality of physical servers, and each of the plurality of physical servers includes a processor and a memory. Receiving profile information from each of a plurality of IoT devices, generating, by the processor, a plurality of virtual devices corresponding to each of the plurality of IoT devices using the received profile information; connecting, by a processor, the plurality of clients and the plurality of virtual devices to each other according to configuration signals of the plurality of clients, wherein the processor connects each of the plurality of virtual devices to each other according to the importance of the plurality of virtual devices; Applying a different security level, and generating, by the processor, different encryption keys according to the applied security level and encrypting each of the plurality of virtual devices.

상기 적용된 보안 등급의 숫자가 작을수록, 상기 복수의 가상 장치들의 보안은 더 강화되며, 상기 복수의 가상 장치들의 서로 다른 암호키들은 상기 적용된 보안 등급이 작은 숫자부터 순차적으로 생성된다. As the number of the applied security level decreases, the security of the plurality of virtual devices is further strengthened, and different encryption keys of the plurality of virtual devices are sequentially generated from the lower number of the applied security level.

상기 복수의 가상 장치들 중 어느 하나에 적용된 보안 등급이 1등급일 때, 상기 프로세서는 상기 1등급이 적용된 가상 장치에 대해 상기 1등급의 가상 장치에 접근이 가능한 클라이언트들만이 공유하는 최상위 비밀키의 해시함수 결과값과, 상기 1등급이 적용된 가상 장치의 아이디의 해시함수 결과값을 이용하여 1등급 암호키를 생성하며, 상기 복수의 가상 장치들 중 다른 하나에 적용된 보안 등급이 n등급일 때, 상기 프로세서는 상기 n등급(n은 2이상의 자연수)이 적용된 가상 장치에 대해 상기 (n-1)등급의 암호키의 해시함수 결과값과, 상기 n등급이 적용된 가상 장치의 아이디의 해시함수 결과값을 이용하여 n등급 암호키를 생성한다.When the security level applied to any one of the plurality of virtual devices is level 1, the processor generates the highest secret key shared by only clients who can access the virtual device of the first level for the virtual device to which the first level is applied. A first-class encryption key is generated using the hash function result value and the hash function result value of the ID of the virtual device to which the first level is applied, and when the security level applied to another one of the plurality of virtual devices is n-level, The processor calculates the hash function result value of the encryption key of the (n-1) grade for the virtual device to which the n grade (n is a natural number of 2 or more) is applied and the hash function result value of the ID of the virtual device to which the n grade is applied. Generate an n-level encryption key using

상기 프로세서는 복수의 클라이언트들에게 서로 다른 접근 권한을 부여하며, 상기 모든 권한이 부여된 클라이언트는 상기 프로세서에서 생성된 상기 1등급 암호키를 수신한다. The processor grants different access rights to a plurality of clients, and all the authorized clients receive the first-class encryption key generated by the processor.

본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 시스템은 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다. 상기 명령들은 복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하며, 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하며, 복수의 클라이언트들의 설정 신호들에 따라 상기 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키며, 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하며, 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하도록 구현된다. 상기 프로세서와 상기 메모리는 물리적 서버에서 구현되며, 상기 물리적 서버를 통해 클라우드 서비스가 제공된다.A cloud-based IoT device control system according to an embodiment of the present invention includes a processor that executes commands and a memory that stores the commands. The commands receive each profile information from each of a plurality of IoT devices, create a plurality of virtual devices corresponding to each of the plurality of IoT devices using the received profile information, and generate a plurality of virtual devices corresponding to each of the plurality of clients. The plurality of clients and the plurality of virtual devices are connected to each other according to setting signals, different security levels are applied to each of the plurality of virtual devices according to the importance of the plurality of virtual devices, and the applied security It is implemented to encrypt each of the plurality of virtual devices by generating different encryption keys according to levels. The processor and the memory are implemented in a physical server, and cloud services are provided through the physical server.

본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 방법 및 시스템은 가상 장치들의 중요도에 따라 서로 다른 보안 등급을 적용함으로써 클라우드에 기반한 IoT 장치를 안전하게 제어할 수 있는 효과가 있다. Cloud-based IoT device control method and system according to an embodiment of the present invention By applying different security levels according to the importance of virtual devices, it is possible to safely control cloud-based IoT devices.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 시스템의 블록도를 나타낸다.
도 2와 도 3은 본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 방법을 설명하기 위한 흐름도를 나타낸다.
도 4는 본 발명의 실시 예에 따른 가상 장치에 접근 가능한 클라이언트의 동작을 설명하기 위한 블록도를 나타낸다.
도 5는 본 발명의 실시 예에 따른 가상 장치의 생성과 보안 등급 설정 동작을 설명하기 위한 블록도를 나타낸다.
A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 shows a block diagram of a cloud-based IoT device control system according to an embodiment of the present invention.
2 and 3 are flowcharts for explaining a cloud-based IoT device control method according to an embodiment of the present invention.
4 is a block diagram illustrating an operation of a client capable of accessing a virtual device according to an embodiment of the present invention.
5 is a block diagram for explaining operations of creating a virtual device and setting a security level according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only illustrated for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention It can be embodied in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can apply various changes and can have various forms, so the embodiments are illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosure forms, and includes all changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. Terms such as first or second may be used to describe various components, but the components should not be limited by the terms.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "having" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers However, it should be understood that it does not preclude the presence or addition of steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 시스템의 블록도를 나타낸다. 1 shows a block diagram of a cloud-based IoT device control system according to an embodiment of the present invention.

도 1을 참고하면, 클라우드 기반 IoT 장치 제어 시스템(100)은 클라우드 서비스(30)를 통해 복수의 IoT 장치들(10-1~10-K; K는 자연수)을 제어하기 위한 시스템을 의미한다. 클라우드 기반 IoT 장치 제어 시스템(100)은 스마트 홈(smart home)을 구축하기 위한 가정, 스마트 팩토리(smart factory)를 구축하기 위한 공장, 병원, 국가 기반 시설인 교통 제어 시스템, 또는 원자력 발전소 등에서 이용될 수 있다. IoT 장치들(10-1~10-K)을 제어한다 함은 IoT 장치들(10-1~10-K)의 구동, 다른 IoT 장치와 연동, 또는 IoT 장치들(10-1~10-K)의 새로운 기능의 업데이트 등의 동작을 의미한다. IoT 장치들(10-1~10-K)의 제어를 위해 보안은 중요하다. 클라우드 기반 IoT 장치 제어 시스템(100)이 가정에서 활용된다고 가정해 보자. 만약, 권한을 가지지 못한 자가 클라우드 서비스(30)를 통해 복수의 IoT 장치들을 제어할 때, 권한을 가지지 못한 자는 불법적으로 개인정보가 포함된 데이터를 외부에 유출시킬 수 있다. 이는 사생활 침해 문제로 이어질 수 있다. 또한, 클라우드 기반 IoT 장치 제어 시스템(100)이 공장, 병원, 또는 원자력 발전소 등에서 활용된다고 가정해 보자. 만약, 권한을 가지지 못한 자가 클라우드 서비스(30)를 통해 복수의 IoT 장치들을 제어할 때, 권한을 가지지 못한 자는 공장, 병원, 또는 원자력 발전소의 일부 IoT 장치의 동작을 중단시키거나, 잘못 동작하도록 제어함으로써 공장, 병원, 또는 원자력 발전소가 제대로 동작하지 못하게 할 수 있다. 따라서 본 발명은 IoT장치들(10-1~10-K)을 안전하게 제어할 수 있는 보안 기술에 대해 개시한다. Referring to FIG. 1 , a cloud-based IoT device control system 100 means a system for controlling a plurality of IoT devices 10-1 to 10-K (K is a natural number) through a cloud service 30. The cloud-based IoT device control system 100 can be used in a home for building a smart home, a factory for building a smart factory, a hospital, a traffic control system that is a national infrastructure, or a nuclear power plant. can Controlling the IoT devices 10-1 to 10-K means driving the IoT devices 10-1 to 10-K, interworking with other IoT devices, or controlling the IoT devices 10-1 to 10-K. ) means an operation such as update of a new function. Security is important for controlling the IoT devices 10-1 to 10-K. Assume that the cloud-based IoT device control system 100 is utilized at home. If a person without authority controls a plurality of IoT devices through the cloud service 30, the person without authority may illegally leak data including personal information to the outside. This can lead to privacy issues. Also, let's assume that the cloud-based IoT device control system 100 is utilized in factories, hospitals, or nuclear power plants. If, when a person without authority controls a plurality of IoT devices through the cloud service 30, the person without authority stops the operation of some IoT devices in a factory, hospital, or nuclear power plant, or controls them to operate incorrectly. By doing so, factories, hospitals, or nuclear power plants can stop functioning properly. Therefore, the present invention discloses a security technology capable of safely controlling the IoT devices 10-1 to 10-K.

클라우드 기반 IoT 장치 제어 시스템(100)은 복수의 IoT 장치들(10-1~10-K), 복수의 클라이언트들(20-1~20-N; N은 자연수), 및 클라우드 서비스(30)를 포함한다. 복수의 IoT 장치들(10-1~10-K; K는 자연수), 복수의 클라이언트들(20-1~20-N), 및 클라우드 서비스(30)는 네트워크(101)를 통해 데이터를 주고받을 수 있다. The cloud-based IoT device control system 100 includes a plurality of IoT devices 10-1 to 10-K, a plurality of clients 20-1 to 20-N (N is a natural number), and a cloud service 30. include A plurality of IoT devices (10-1 to 10-K; K is a natural number), a plurality of clients 20-1 to 20-N, and the cloud service 30 exchange data through the network 101. can

복수의 IoT 장치들(10-1~10-K)은 클라우드 서비스(30)를 통해 동작이 제어되거나, 새로운 기능이 업데이트될 수 있는 장치들을 의미한다. 클라우드 기반 IoT 장치 제어 시스템(100)이 가정에서 이용될 때, 복수의 IoT 장치들(10-1~10-K) 각각은 LED 전구, 청소기, 냉장고, 에어컨, 또는 스마트 스피커 등이 될 수 있다. 가정에서 각 구성원은 IoT 장치(10-1, 10-2, ..., 또는 10-K)인 LED 전구, 청소기, 에어컨, 또는 스마트 스피커를 직접 조작하여 동작을 제어할 수 있지만, 클라이언트(20-1, 20-2, ..., 또는 20-N)가 클라우드 서비스(30)에 접근하여 IoT 장치(10-1, 10-2, ..., 또는 10-K)를 제어할 수도 있다. 예컨대, 각 구성원은 LED 전구를 켜기 위해 직접 집에 구현된 스위치를 누를 수 있지만, 클라이언트(20-1)를 이용하여 LED 전구를 켜도록 할 수 있다. 또한, 실시 예에 따라 클라우드 기반 IoT 장치 제어 시스템(100)이 병원에서 이용될 때, 복수의 IoT 장치들(10-1~10-K) 각각은 의료 장비, LED 전구, 또는 에어컨 등이 될 수 있다. The plurality of IoT devices 10-1 to 10-K refer to devices whose operations can be controlled or new functions can be updated through the cloud service 30. When the cloud-based IoT device control system 100 is used at home, each of the plurality of IoT devices 10-1 to 10-K may be an LED light bulb, a vacuum cleaner, a refrigerator, an air conditioner, or a smart speaker. In the home, each member can control the operation by directly manipulating the IoT device (10-1, 10-2, ..., or 10-K) LED light bulb, vacuum cleaner, air conditioner, or smart speaker, but the client (20 -1, 20-2, ..., or 20-N) may access the cloud service 30 and control the IoT devices 10-1, 10-2, ..., or 10-K. . For example, each member may directly press a switch implemented in the house to turn on the LED bulb, but the LED bulb may be turned on using the client 20-1. In addition, according to an embodiment, when the cloud-based IoT device control system 100 is used in a hospital, each of the plurality of IoT devices 10-1 to 10-K may be a medical device, an LED light bulb, or an air conditioner. have.

복수의 클라이언트들(20-1~20-N) 각각은 스마트폰, 태블릿 PC, 노트북, 또는 PC와 같이 네트워크(101)를 통해 클라우드 서비스(30)에 접근이 가능한 전자 장치를 의미한다. 사용자는 IoT 장치(10-1, 10-2, ..., 또는 10-K)를 제어하기 위한 관리자로, 클라이언트(20-1, 20-2, ..., 또는 20-N)을 이용하여 IoT 장치(10-1, 10-2, ..., 또는 10-K)를 제어한다. Each of the plurality of clients 20-1 to 20-N means an electronic device capable of accessing the cloud service 30 through the network 101, such as a smart phone, a tablet PC, a laptop computer, or a PC. The user is a manager for controlling the IoT device (10-1, 10-2, ..., or 10-K) and uses the client (20-1, 20-2, ..., or 20-N) to control the IoT devices 10-1, 10-2, ..., or 10-K.

클라우드 서비스(30)는 클라이언트(20-1, 20-2, ..., 또는 20-N)의 사용자가 IoT 장치(10-1, 10-2, ..., 또는 10-K)를 제어하기 위한 서비스를 제공한다. 클라우드 서비스(30)는 가상의 서버로, 클라우드 서버, 클라우드 컴퓨팅, 또는 클라우드 기반 서비스로 호칭될 수 있다. 클라우드 서비스(30)는 복수의 물리적 서버들(40, 50, 및 60)을 통해 제공한다. 복수의 물리적 서버들(40, 50, 및 60)은 복수의 그룹들으로 나눠질 수 있다. 도 1에서는 복수의 물리적 서버들(40, 50, 및 60)은 3개의 그룹들로 나눠진 것으로 도시되었으나, 반드시 이에 한정하지 않는다. 제1복수의 물리적 서버들(40), 제2복수의 물리적 서버들(50), 및 제3복수의 물리적 서버들(60) 각각은 여러 대의 물리적 서버들로 구현된다. 제1복수의 물리적 서버들(40), 제2복수의 물리적 서버들(50), 및 제3복수의 물리적 서버들(60)은 서로 다른 주체들에 의해 관리될 수 있다. 예컨대, 제1복수의 물리적 서버들(40)을 관리하는 회사, 제2복수의 물리적 서버들(50)을 관리하는 회사, 및 제3복수의 물리적 서버들(60)을 관리하는 회사는 서로 다른 회사일 수 있다. 제2복수의 물리적 서버들(50)을 관리하는 회사는 제1복수의 물리적 서버들(40)을 관리하는 회사로부터 위탁을 받은 회사일 수 있다. 또한, 제3복수의 물리적 서버들(60)을 관리하는 회사는 제2복수의 물리적 서버들(50)을 관리하는 회사로부터 재위탁을 받거나, 제1복수의 물리적 서버들(40)을 관리하는 회사로부터 위탁을 받은 회사일 수 있다. 제1복수의 물리적 서버들(40) 각각은 프로세서와 메모리를 포함한다. 도 1에서는 대표적으로 제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)와 메모리(43)가 도시된다. 제2복수의 물리적 서버들(50) 각각은 프로세서와 메모리를 포함한다. 도 1에서는 대표적으로 제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)와 메모리(53)가 도시된다. 제3복수의 물리적 서버들(60) 각각은 프로세서와 메모리를 포함한다. 도 1에서는 대표적으로 제3복수의 물리적 서버들(60) 중 어느 하나의 프로세서(61)와 메모리(63)가 도시된다. 프로세서(41, 51, 또는 61)는 클라우드 기반 IoT 장치(10-1, 10-2, ..., 또는 10-K)를 제어하기 위한 명령들을 실행한다. 메모리(43, 53, 또는 63)는 상기 명령들을 저장한다. 다만, 클라우드 서비스(30)는 복수의 클라이언트들(20-1~20-N)의 사용자들에게 물리적 서버들(40, 50, 및 60)의 구체적인 위치와 구성에 대한 지식을 요구하지 않는다. In the cloud service 30, a user of a client 20-1, 20-2, ..., or 20-N controls an IoT device 10-1, 10-2, ..., or 10-K. provide services for The cloud service 30 is a virtual server and may be referred to as a cloud server, cloud computing, or cloud-based service. The cloud service 30 is provided through a plurality of physical servers 40 , 50 , and 60 . A plurality of physical servers 40, 50, and 60 may be divided into a plurality of groups. In FIG. 1, the plurality of physical servers 40, 50, and 60 are shown as being divided into three groups, but are not necessarily limited thereto. Each of the first plurality of physical servers 40, the second plurality of physical servers 50, and the third plurality of physical servers 60 is implemented as a plurality of physical servers. The first plurality of physical servers 40 , the second plurality of physical servers 50 , and the third plurality of physical servers 60 may be managed by different entities. For example, a company managing a first plurality of physical servers 40, a company managing a second plurality of physical servers 50, and a company managing a third plurality of physical servers 60 are different from each other. could be a company. The company that manages the second plurality of physical servers 50 may be a company commissioned by the company that manages the first plurality of physical servers 40 . In addition, the company managing the third plurality of physical servers 60 is entrusted from the company managing the second plurality of physical servers 50, or the company managing the first plurality of physical servers 40 It may be a company commissioned by a company. Each of the first plurality of physical servers 40 includes a processor and memory. In FIG. 1, a processor 41 and a memory 43 of any one of a first plurality of physical servers 40 are representatively shown. Each of the second plurality of physical servers 50 includes a processor and memory. In FIG. 1, a processor 51 and a memory 53 of any one of the second plurality of physical servers 50 are representatively shown. Each of the third plurality of physical servers 60 includes a processor and memory. In FIG. 1, a processor 61 and a memory 63 of any one of the third plurality of physical servers 60 are representatively shown. The processor 41, 51, or 61 executes instructions for controlling the cloud-based IoT device 10-1, 10-2, ..., or 10-K. Memory 43, 53 or 63 stores the instructions. However, the cloud service 30 does not require knowledge of specific locations and configurations of the physical servers 40, 50, and 60 from users of the plurality of clients 20-1 to 20-N.

도 2와 도 3은 본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 방법을 설명하기 위한 흐름도를 나타낸다.2 and 3 are flowcharts for explaining a cloud-based IoT device control method according to an embodiment of the present invention.

도 1과 도 2를 참고하면, 복수의 IoT 장치들(10-1~10-K) 각각은 각각의 프로파일 정보(profile information)를 네트워크(101)를 통해 클라우드 서비스(30)로 전송한다(S10). 상기 프로파일 정보는 IoT 장치(10-1, 10-2, ..., 또는 10-K)의 유형 정보, 위치 정보, 아이디, 또는 동작 정보 등을 포함한다. 예컨대, IoT 장치(10-1, 10-2, ..., 또는 10-K)가 IP 카메라라고 가정할 때, 상기 프로파일 정보는 유형 정보로 카메라, 위치 정보로 안방, 및 동작 정보로 카메라 위로 움직임, 아래로 움직임, 왼쪽으로 움직임, 오른쪽으로 움직임을 포함할 수 있다. 1 and 2, each of the plurality of IoT devices 10-1 to 10-K transmits profile information to the cloud service 30 through the network 101 (S10). ). The profile information includes type information, location information, ID, or operation information of the IoT devices 10-1, 10-2, ..., or 10-K. For example, assuming that the IoT device 10-1, 10-2, ..., or 10-K is an IP camera, the profile information includes a camera as type information, a home as location information, and a camera as motion information. It can include move, move down, move left, move right.

클라우드 서비스(30)는 네트워크(101)를 통해 복수의 IoT 장치들(10-1~10-K) 각각으로부터 상기 각각의 프로파일 정보를 수신한다(S20). 클라우드 서비스(30)는 복수의 물리적 서버들(40, 50, 및 60)을 통해 제공되므로, 클라우드 서비스(30)의 동작들은 물리적 서버들(40, 50, 및 60)의 동작들로 이해될 수 있다. 물리적 서버들(40, 50, 및 60) 각각은 프로세서(41, 51, 또는 61)와 메모리(43, 53, 또는 63)를 포함하므로, 클라우드 서비스(30)의 동작들은 물리적 서버들(40, 50, 및 60) 각각의 프로세서(41, 51, 또는 61)의 동작들로도 이해될 수 있다. 이하, 클라우드 서비스(30)의 동작들은 물리적 서버들(40, 50, 및 60)의 동작들, 또는 물리적 서버들(40, 50, 및 60)의 프로세서들(41, 51, 및 61)의 동작들로 이해될 수 있다. 반대로, 물리적 서버들(40, 50, 및 60)의 동작들, 또는 물리적 서버들(40, 50, 및 60)의 프로세서들(41, 51, 및 61)의 동작들은 클라우드 서비스(30)의 동작들의 동작들로 이해될 수 있다. 즉, 물리적 서버들(40, 50, 및 60) 중 어느 하나의 프로세서(예컨대, 41)는 복수의 IoT 장치들(10-1, 10-2, ..., 및 10-K) 각각으로부터 각각의 프로파일 정보를 수신한다. The cloud service 30 receives the respective profile information from each of the plurality of IoT devices 10-1 to 10-K through the network 101 (S20). Since the cloud service 30 is provided through a plurality of physical servers 40, 50, and 60, operations of the cloud service 30 can be understood as operations of the physical servers 40, 50, and 60. have. Since each of the physical servers 40, 50, and 60 includes a processor 41, 51, or 61 and a memory 43, 53, or 63, operations of the cloud service 30 are performed on the physical servers 40, 50 and 60) can also be understood as operations of each processor 41, 51, or 61. Hereinafter, the operations of the cloud service 30 are the operations of the physical servers 40, 50, and 60, or the operations of the processors 41, 51, and 61 of the physical servers 40, 50, and 60. can be understood as Conversely, the operations of the physical servers 40, 50, and 60, or the operations of the processors 41, 51, and 61 of the physical servers 40, 50, and 60 are the operations of the cloud service 30. can be understood as the actions of That is, the processor (eg, 41) of any one of the physical servers 40, 50, and 60 is respectively from each of the plurality of IoT devices 10-1, 10-2, ..., and 10-K. Receive profile information of

프로세서(41)는 상기 수신한 각각의 프로파일 정보를 이용하여 복수의 IoT 장치들(10-1, 10-2, ..., 및 10-K) 각각에 대응되는 복수의 가상 장치들(11-1~11-M; M은 자연수)을 생성한다(S30). 복수의 가상 장치들(11-1~11-M)은 클라우드 서비스(30)에서 소프트웨어로 구현된다. 예컨대, 하드웨어로 구현된 제1IoT 장치(10-1)와 대응되는 가상 장치(11-1)가 클라우드 서비스(30)에서 소프트웨어로 구현된다. 예컨대, 제1IoT 장치(10-1)가 선풍기이고, 제2IoT 장치(10-2)가 온도계라고 할 때, 클라우드 서비스(30)에서 제1IoT 장치(10-1)와 대응되는 제1가상 장치(11-1)와, 제2IoT 장치(10-2)와 대응되는 제2가상 장치(11-2)가 생성된다. 즉, 가상 장치(11-1)에 접근하여 제어함으로써 가상 장치(11-1)와 대응되는 IoT 장치(10-1)의 물리적인 제어가 가능하다. 예컨대, 가상 장치(11-1)에 접근하여 선풍기의 속도를 조정함으로써 실질적으로 물리적인 IoT 장치(10-1)인 선풍기의 속도의 제어가 가능하다. The processor 41 uses the received profile information to generate a plurality of virtual devices 11- corresponding to each of the plurality of IoT devices 10-1, 10-2, ..., and 10-K. 1 to 11-M; M is a natural number) is generated (S30). The plurality of virtual devices 11-1 to 11-M are implemented as software in the cloud service 30. For example, the virtual device 11-1 corresponding to the first IoT device 10-1 implemented as hardware is implemented as software in the cloud service 30. For example, when the first IoT device 10-1 is a fan and the second IoT device 10-2 is a thermometer, the first virtual device corresponding to the first IoT device 10-1 in the cloud service 30 ( 11-1) and the second virtual device 11-2 corresponding to the second IoT device 10-2 are created. That is, by accessing and controlling the virtual device 11-1, physical control of the IoT device 10-1 corresponding to the virtual device 11-1 is possible. For example, by accessing the virtual device 11-1 and adjusting the speed of the fan, it is possible to control the speed of the fan, which is the physical IoT device 10-1.

또한, 실시 예에 따라 여러 가상 장치들(예컨대, 11-1과 11-2)이 결합하여 새로운 하나의 가상 장치(예컨대, 11-3)가 생성될 수 있다. 새로운 하나의 가상 장치(11-3)는 하드웨어로 구현된 IoT 장치(10-1, 10-2, ...,또는 10-K)와는 대응되지 않는다. 예컨대, 가상 선풍기인 제1가상 장치(11-1)와 가상 온도계인 제2가상 장치(11-2)가 결합하여 가상 스마트 선풍기인 제3가상 장치(11-3)가 생성될 수 있다. 상기 가상 스마트 선풍기인 제3가상 장치(11-3)와 대응되는 IoT 장치(10-1, 10-2, ..., 10-K)는 없을 수 있다.Also, according to an embodiment, several virtual devices (eg, 11-1 and 11-2) may be combined to create one new virtual device (eg, 11-3). One new virtual device 11-3 does not correspond to the hardware-implemented IoT device 10-1, 10-2, ... or 10-K. For example, a third virtual device 11-3, a virtual smart fan, may be created by combining a first virtual device 11-1, which is a virtual electric fan, and a second virtual device 11-2, which is a virtual thermometer. IoT devices 10-1, 10-2, ..., 10-K corresponding to the third virtual device 11-3, which is the virtual smart electric fan, may not exist.

복수의 클라이언트들(20-1~20-N) 각각에 표시된 복수의 가상 장치들(11-1~11-M)의 프로파일 정보(예컨대, 유형 정보, 위치 정보, 아이디 또는 IoT 장치의 아이디 정보)를 선택하거나 입력함으로써 설정 신호들이 생성된다. 복수의 클라이언트들(20-1~20-N)은 생성된 설정 신호들을 프로세서(41)로 전송한다(S40). 프로세서(41)는 생성된 설정 신호들을 복수의 클라이언트들(20-1~20-N)로부터 수신한다(S50). 프로세서(41)는 복수의 클라이언트들(20-1~20-N)의 설정 신호들에 따라 복수의 클라이언트들(20-1~20-N)과 복수의 가상 장치들(11-1~11-M)을 서로 연결시킨다(S60). 상기 설정 신호들이란 복수의 클라이언트들(20-1~20-N)의 각각의 사용자들이 복수의 클라이언트들(20-1~20-N) 각각과 복수의 가상 장치들(11-1~11-M)을 서로 연결시키기 위해 복수의 클라이언트들(20-1~20-N) 각각에 표시된 복수의 가상 장치들(11-1~11-M)의 프로파일 정보(예컨대, 유형 정보, 위치 정보, 또는 IoT 장치의 아이디 정보)를 선택하거나 입력하는 것을 의미한다. 상기 선택, 또는 입력에 따라 상기 설정 신호들이 생성되고, 상기 설정 신호들은 클라이언트들(20-1~20-N)로부터 클라우드 서비스(30)로 전송된다. 클라우드 서비스(30)는 복수의 가상 장치들(11-1~11-M) 중에서 수신된 설정 신호들과 대응되는 각각의 가상 장치를 선택하여 복수의 클라이언트들(20-1~20-N)과 복수의 가상 장치들(11-1~11-M)을 서로 연결시킨다. 예컨대, 제1클라이언트(20-1)의 사용자는 제1클라이언트(20-1)를 제1IoT 장치(10-1)와 대응되는 제1가상 장치(11-1)와 서로 연결시키기 위해 제1클라이언트(20-1)에서 제1가상 장치(11-1)의 프로파일 정보(예컨대, 유형 정보인 LED 전구와, LED 전구의 아이디)를 선택할 수 있다. 제1클라이언트(20-1)의 사용자의 선택에 따라 설정 신호가 생성되고, 생성된 설정 신호는 클라우드 서비스(30)로 전송된다. 프로세서(41)는 수신된 상기 설정 신호에 따라 가상 장치들(11-1~11-M) 중에서 대응되는 가상 장치(예컨대, 11-1)를 선택하고, 제1클라이언트(20-1)와 제1가상 장치(11-1)를 서로 연결시킬 수 있다. 즉, 제1클라이언트(20-1)는 제1가상 장치(11-1)를 제어할 준비 상태가 된다. Profile information (eg, type information, location information, ID or IoT device ID information) of the plurality of virtual devices 11-1 to 11-M displayed on each of the plurality of clients 20-1 to 20-N. Setting signals are generated by selecting or inputting . The plurality of clients 20-1 to 20-N transmit the generated setting signals to the processor 41 (S40). The processor 41 receives the generated setting signals from the plurality of clients 20-1 to 20-N (S50). The processor 41 operates the plurality of clients 20-1 to 20-N and the plurality of virtual devices 11-1 to 11-N according to the setting signals of the plurality of clients 20-1 to 20-N. M) are connected to each other (S60). The setting signals refer to each user of the plurality of clients 20-1 to 20-N, each of the plurality of clients 20-1 to 20-N and the plurality of virtual devices 11-1 to 11-N. Profile information (eg, type information, location information, or ID information of the IoT device) is selected or input. The setting signals are generated according to the selection or input, and the setting signals are transmitted to the cloud service 30 from the clients 20-1 to 20-N. The cloud service 30 selects each virtual device corresponding to the received setting signals from among the plurality of virtual devices 11-1 to 11-M, and connects the virtual device to the plurality of clients 20-1 to 20-N. A plurality of virtual devices 11-1 to 11-M are connected to each other. For example, the user of the first client 20-1 uses the first client 20-1 to connect the first virtual device 11-1 corresponding to the first IoT device 10-1 to each other. In (20-1), it is possible to select profile information of the first virtual device 11-1 (eg, LED bulb type information and ID of the LED bulb). A setting signal is generated according to the user's selection of the first client 20 - 1 , and the generated setting signal is transmitted to the cloud service 30 . The processor 41 selects a corresponding virtual device (eg, 11-1) from the virtual devices 11-1 to 11-M according to the received setting signal, and the first client 20-1 and the second One virtual device 11-1 can be connected to each other. That is, the first client 20-1 is ready to control the first virtual device 11-1.

프로세서(41)는 복수의 가상 장치들(11-1~11-M)의 중요도에 따라 복수의 가상 장치들(11-1~11-M) 각각에 대해 서로 다른 보안 등급을 적용한다(S70). The processor 41 applies different security levels to each of the plurality of virtual devices 11-1 to 11-M according to the importance of the plurality of virtual devices 11-1 to 11-M (S70). .

상기 중요도는 위험도와 민감도에 따라 결정된다. 상기 위험도란 가상 장치(11-1, 11-2,..., 또는 11-M)의 오작동으로 인한 물리적, 신체적, 또는 재산적 피해 정도를 의미한다. 예컨대, 가상 장치(11-1)가 온도계일 때, 온도계 그 자체는 물리적, 또는 신체적으로 사람에게 위해를 가할 수 없어 안전하다. 즉, 가상 장치(11-1)가 온도계일 때, 위험도는 낮다. 반면, 가상 장치(11-2)가 히터일 때, 장시간 과열시 화재가 발생하여 물리적, 또는 신체적으로 사람에게 위해를 가할 위험이 있다. 즉, 가상 장치(11-2)가 히터일 때, 위험도는 높다. 상기 위험도는 1~100 사이의 범위를 가진다. 프로세서(41)는 모터, 발열 부품, 또는 위해 물질 포함 여부에 따라 복수의 가상 장치들(11-1~11-M)에 대해 위험도를 설정한다. 상기 민감도란 가상 장치(11-1, 11-2,..., 또는 11-M)의 오작동으로 인해 개인의 사생활의 노출 정도를 의미한다. 예컨대, 가상 장치(11-3)가 IP 카메라일 때, 사용자의 사생활의 노출될 가능성이 있다. 상기 민감도는 1~100 사이의 범위를 가진다. 프로세서(41)는 카메라 모듈, 마이크, 또는 지문 센서 포함 여부에 따라 복수의 가상 장치들(11-1~11-M)에 대해 민감도를 설정한다. 상기 위험도와 상기 민감도의 숫자가 높을수록 보안 등급은 올라간다. 즉, 상기 위험도와 상기 민감도의 숫자가 높을수록 높은 수준의 보안이 요구된다. The importance is determined according to risk and sensitivity. The degree of risk means a degree of physical, physical, or property damage due to malfunction of the virtual devices 11-1, 11-2, ..., or 11-M. For example, when the virtual device 11-1 is a thermometer, the thermometer itself is safe because it cannot physically or physically harm a person. That is, when the virtual device 11-1 is a thermometer, the risk is low. On the other hand, when the virtual device 11-2 is a heater, there is a danger of physically or physically harming people due to a fire occurring when overheated for a long time. That is, when the virtual device 11-2 is a heater, the risk is high. The risk has a range between 1 and 100. The processor 41 sets risk levels for the plurality of virtual devices 11-1 to 11-M according to whether they contain motors, heat generating parts, or hazardous substances. The sensitivity refers to the degree of exposure of an individual's privacy due to malfunction of the virtual devices 11-1, 11-2, ..., or 11-M. For example, when the virtual device 11-3 is an IP camera, the privacy of the user may be exposed. The sensitivity has a range between 1 and 100. The processor 41 sets sensitivity for the plurality of virtual devices 11-1 to 11-M according to whether they include a camera module, a microphone, or a fingerprint sensor. The higher the number of the risk and the sensitivity, the higher the security level. That is, the higher the number of the risk and the sensitivity, the higher level of security is required.

실시 예에 따라 상기 중요도는 사용자 설정을 고려하여 결정될 수 있다. 이 때, 상기 사용자 설정은 사용자가 직접 설정하는 것을 의미한다. 상기 사용자는 IoT 장치(10-1, 10-2, ...,또는 10-K)를 사용하는 사람, 또는 클라이언트(20-1, 20-2, ..., 또는 20-N)를 사용하는 사람을 의미한다. 상기 사용자 설정은 0~100 사이의 범위를 가진다. 숫자가 클수록 IoT 장치(10-1, 10-2, ...,또는 10-K)의 보안 등급은 올라간다. 상기 사용자 설정이 100인 경우, 상기 사용자는 가상 장치(11-1, 11-2,..., 또는 11-M)를 통해 IoT 장치(10-1, 10-2, ...,또는 10-K)를 제어할 수 없고, 직접 물리적 버튼을 누르는 등의 방식으로 IoT 장치(10-1, 10-2, ...,또는 10-K)를 제어해야하는 것으로 설정될 수 있다. 복수의 가상 장치들(11-1~11-M)의 보안 등급은 다음의 수학식 1에 따라 결정된다. According to embodiments, the importance may be determined in consideration of user settings. In this case, the user setting means that the user directly sets it. The user is a person using an IoT device (10-1, 10-2, ..., or 10-K), or a client (20-1, 20-2, ..., or 20-N). means a person who The user setting has a range of 0 to 100. The higher the number, the higher the security level of the IoT device (10-1, 10-2, ..., or 10-K). When the user setting is 100, the user sets the IoT device 10-1, 10-2, ..., or 10 through the virtual device 11-1, 11-2, ..., or 11-M. -K) cannot be controlled, and the IoT device (10-1, 10-2, ..., or 10-K) must be controlled in such a way as to directly press a physical button. The security levels of the plurality of virtual devices 11-1 to 11-M are determined according to Equation 1 below.

[수학식 1] [Equation 1]

Figure 112020121222208-pat00001
Figure 112020121222208-pat00001

상기 w(d)는 가상 장치(11-1, 11-2, ..., 또는 11-M)의 보안 등급을, 상기 s는 위험도를, 상기 p는 민감도를, 상기 u는 사용자 설정을, 상기 g(s, p)는 위험도와 민감도에 따른 등급 산출 함수를 의미한다. Where w(d) is the security level of the virtual device (11-1, 11-2, ..., or 11-M), s is the risk level, p is the sensitivity, u is the user setting, The g(s, p) denotes a rating calculation function according to risk and sensitivity.

위험도와 민감도의 평균의 점수가 사용자 설정의 점수와 같거나 클 때, 가상 장치(11-1, 11-2, ..., 또는 11-M)의 보안 등급은 등급 산출 함수에 따라 결정된다. 반대로, 위험도와 민감도의 평균의 점수가 사용자 설정의 점수보다 작을 때, 가상 장치(11-1, 11-2, ..., 또는 11-M)의 보안 등급은 사용자 설정에 따라 결정된다. When the average score of the risk and sensitivity is equal to or greater than the score set by the user, the security level of the virtual devices 11-1, 11-2, ..., or 11-M is determined according to the level calculation function. Conversely, when the average score of the risk and sensitivity is smaller than the user setting score, the security level of the virtual devices 11-1, 11-2, ..., or 11-M is determined according to the user setting.

상기 등급 산출 함수는 아래의 표 1과 같다. The rating calculation function is shown in Table 1 below.

등급Rating 위험도(s)Risk (s) 조건Condition 민감도(p)Sensitivity (p) 1One s>80s>80 OROR p>80p>80 22 s>60s>60 OROR p>60p>60 33 s>40s>40 OROR p>40p>40 44 s>20s>20 OROR p>20p>20 55 s>0s>0 ANDAND p>0p>0 66 s=0s=0 ANDAND p=0p=0

예컨대, 가상 장치(11-1)의 위험도(s)의 점수가 65점이고, 민감도(p)의 점수가 20점일 때, 가상 장치(11-1)의 보안 등급은 2등급으로 결정될 수 있다. For example, when the score of the risk level (s) of the virtual device 11-1 is 65 points and the score of the sensitivity (p) is 20 points, the security level of the virtual device 11-1 may be determined as level 2.

상기 사용자 설정에 따른 보안 등급은 아래의 표 2와 같다. The security level according to the user setting is shown in Table 2 below.

등급Rating 사용자 설정(u)User settings (u) 1One u>80u>80 22 u>60u>60 33 u>40u>40 44 u>20u>20 55 u>0u>0 66 u=0u=0

예컨대, 가상 장치(11-2)의 사용자 설정(n)의 점수가 50점일 때, 가상 장치(11-2)의 보안 등급은 3등급으로 결정될 수 있다. For example, when the score of the user setting (n) of the virtual device 11-2 is 50 points, the security level of the virtual device 11-2 may be determined as level 3.

상기 보안 등급의 숫자가 작을수록, 상기 복수의 가상 장치들(11-1~11-M)의 보안 등급은 더 높다. 1등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)를 통해 민감한 개인 정보가 노출되거나 신체적인 위험의 발생 가능성이 있고, 환경 파괴, 인명 피해, 대규모 재앙, 또는 사회적 혼란 발생 가능성이 있는 경우를 의미한다. 2등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)의 제어가 불가능하며, 치명적인 결함의 발생 가능성이 있는 경우를 의미한다. 3등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)에 중요한 손상을 입히며 정상적인 운영이 어렵고 예측할 수 없는 동작의 발생 가능성이 있는 경우를 의미한다. 4등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)에 일부 장애가 있으며, 오작동을 사용자가 인지할 수 있는 장애가 발생한 경우를 의미한다. 5등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)에 경미한 장애가 발생하였지만, 목적에 맞는 동작이 가능하며, 사용자가 인지하기 어려운 수준의 경미한 오작동이 발생한 경우를 의미한다. 6등급은 가상 장치(11-1, 11-2, ..., 또는 11-M)에 전혀 영향을 미치지 않는 경우를 의미한다. 실시 예에 따라 상기 중요도는 다양한 방법들로 구현될 수 있다. The lower the number of the security level, the higher the security level of the plurality of virtual devices 11-1 to 11-M. Level 1 is the possibility of exposure of sensitive personal information or physical harm through virtual devices (11-1, 11-2, ..., or 11-M), environmental destruction, human damage, large-scale catastrophe, or This means that there is a possibility of social disruption. Level 2 means that control of the virtual devices 11-1, 11-2, ..., or 11-M is impossible and there is a possibility of a fatal defect. Level 3 means a case in which significant damage is caused to the virtual device (11-1, 11-2, ..., or 11-M) and normal operation is difficult and unpredictable operation may occur. Level 4 means that the virtual devices 11-1, 11-2, ..., or 11-M have some failures, and a failure that the user can recognize as a malfunction has occurred. Level 5 is a case in which a slight failure occurred in the virtual device (11-1, 11-2, ..., or 11-M), but the purpose-fitting operation is possible and a slight malfunction that is difficult for the user to perceive occurs. it means. Level 6 means that the virtual device (11-1, 11-2, ..., or 11-M) is not affected at all. Depending on embodiments, the importance may be implemented in various ways.

도 1 내지 도 3을 참고하면, 프로세서(41)는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 복수의 가상 장치들(11-1~11-M) 각각을 암호화한다(S80). 1 to 3, the processor 41 encrypts each of the plurality of virtual devices 11-1 to 11-M by generating different encryption keys according to the applied security level (S80).

도 4는 본 발명의 실시 예에 따른 가상 장치에 접근 가능한 클라이언트의 동작을 설명하기 위한 블록도를 나타낸다. 4 is a block diagram illustrating an operation of a client capable of accessing a virtual device according to an embodiment of the present invention.

도 1 내지 도 4를 참고하면, 복수의 가상 장치들(11-1~11-M) 중 어느 하나(예컨대, 11-1, 또는 11-2)에 적용된 보안 등급이 1등급일 때, 프로세서(41)는 상기 1등급이 적용된 IoT 가상 장치(11-1, 또는 11-2)에 대해 아래의 수학식 2를 이용하여 1등급 암호키를 생성한다. 1 to 4, when the security level applied to one of the plurality of virtual devices 11-1 to 11-M (eg, 11-1 or 11-2) is 1, the processor ( 41) generates a first-class encryption key for the IoT virtual device 11-1 or 11-2 to which the first-class is applied using Equation 2 below.

[수학식 2] [Equation 2]

Figure 112020121222208-pat00002
Figure 112020121222208-pat00002

상기 KG 1은 보안 등급이 1등급일 때, 1등급의 암호키를, 상기 HMAC( )는 HMAC 함수를, 상기 H( )는 해시 함수를, 상기 DUID는 IoT 장치(10-1, 10-2, ..., 또는 10-K)의 아이디를, 상기 KT는 최상위 비밀키를, 상기

Figure 112020121222208-pat00003
는 XOR 연산을 나타낸다. The KG 1 is a first-class encryption key when the security level is 1, the HMAC ( ) is an HMAC function, the H ( ) is a hash function, and the DUID is the IoT device (10-1, 10- 2, ..., or 10-K), where K T is the highest secret key,
Figure 112020121222208-pat00003
represents the XOR operation.

상기 1등급의 가상 장치(예컨대, 11-1, 또는 11-2)에 접근이 가능한 클라이언트들(예컨대, 20-1~20-3)만이 공유하는 최상위 비밀키(KT)의 해시함수 결과값과, 상기 1등급이 적용된 가상 장치(예컨대, 11-1과 11-2)의 아이디의 해시함수 결과값을 이용하여 1등급 암호키(KG 1)를 생성한다. The hash function result value of the highest secret key (K T ) shared only by clients (eg, 20-1 to 20-3) that can access the first-class virtual device (eg, 11-1 or 11-2). And, a first-class encryption key ( KG 1 ) is generated using the hash function result value of the IDs of the virtual devices (eg, 11-1 and 11-2) to which the first class is applied.

제1IoT 장치(예컨대, 10-1)의 아이디가 "DEV_12345"라 할 때, 상기 DUID는 "DEV_12345"이다. 프로세서(41)는 상기 DUID인 "DEV_12345"에 대한 해시 함수(H( ))의 결과값을 계산한다. 프로세서(41)는 최상위 비밀키(KT)인 "secret"에 대한 해시 함수(H( ))의 결과값을 계산한다. 프로세서(41)는 상기 DUID인 "DEV_12345"에 대한 해시 함수(H( ))의 결과값과, 상기 최상위 비밀키(KT)인 "secret"에 대한 해시 함수(H( ))의 결과값에 대해 XOR 연산을 수행한다. 프로세서(41)는 XOR 연산 결과값과 최상위 비밀키(KT)에 대해 HMAC 함수(HMAC( ))를 적용하여 보안 등급이 1등급일 때의 암호키(KG 1)를 생성한다. When the ID of the first IoT device (eg, 10-1) is "DEV_12345", the DUID is "DEV_12345". The processor 41 calculates a resultant value of the hash function H( ) for the DUID "DEV_12345". The processor 41 calculates a result value of the hash function (H( )) for "secret", which is the highest secret key (K T ). The processor 41 determines the resultant value of the hash function (H( )) for the DUID "DEV_12345" and the hash function (H( )) resultant value for the highest secret key (K T ) "secret". XOR operation is performed on The processor 41 applies the HMAC function (HMAC( )) to the XOR operation result value and the highest secret key (K T ) to generate an encryption key (K G 1 ) when the security level is 1st level.

상기 DUID(Device Unique Identifier)는 IoT 장치(10-1, 10-2, ..., 또는 10-K)가 가지고 있는 GUID(Global Unique Identifier)의 속성을 갖는 고유한 아이디이다. 상기 DUID는 중복되어서는 안된다. 하나의 DUID는 하나의 IoT(10-1, 10-2, ..., 또는 10-K), 또는 가상 장치(11-1, 11-2, ..., 또는 11-M)와 매핑할 수 있어야 한다. 상기 DUID는 공개 가능한 정보이다. The DUID (Device Unique Identifier) is a unique ID having a GUID (Global Unique Identifier) attribute of the IoT device (10-1, 10-2, ..., or 10-K). The DUID must not be duplicated. One DUID can be mapped with one IoT (10-1, 10-2, ..., or 10-K), or virtual device (11-1, 11-2, ..., or 11-M). should be able to The DUID is information that can be disclosed.

상기 KT는 최상위 비밀키로, 보안 등급이 1등급인 가상 장치(예컨대, 11-1과 11-2)에 접근 권한이 부여된 클라이언트들(예컨대, 20-1, 20-2, 및 20-3)끼리만 공유하는 키이다. 즉, 보안이 가장 높은 등급(예컨대, 1등급)이 부여된 클라이언트들(예컨대, 20-1, 20-2, 및 20-3)만이 클라우드 서비스(30)에서 최상위 비밀키(KT)에 접근할 수 있다. 즉, 1등급 가상 장치(예컨대, 11-1, 또는 11-2)에 접근이 가능한 클라이언트들(예컨대, 20-1, 20-2, 및 20-3)만이 클라우드 서비스(30)에서 최상위 비밀키(KT)에 접근할 수 있다. 최상위 비밀키(KT)는 공개 가능한 정보인 DUID와는 다르게 기밀성이 유지되어야한다. 프로세서(41)는 복수의 클라이언트들(20-1~20-N)에게 서로 다른 접근 권한을 부여한다. 예컨대, 프로세서(41)는 제1내지 제3클라이언트(20-1~20-3)에는 1등급 접근 권한을 부여하며, 제4내지 제7클라이언트(20-4~20-7)에는 상기 1등급보다 낮은 2등급의 접근 권한을 부여하며, 제8내지 제11클라이언트(20-8~20-11)에게는 상기 2등급의 접근 권한보다 낮은 3등급의 접근 권한을 부여할 수 있다. The K T is the highest secret key, and clients (eg, 20-1, 20-2, and 20-3) granted access to virtual devices (eg, 11-1 and 11-2) having a security level of 1 ) is a key shared only by each other. That is, only clients (eg, 20-1, 20-2, and 20-3) assigned the highest level of security (eg, level 1) access the highest secret key (K T ) in the cloud service 30. can do. That is, only the clients (eg, 20-1, 20-2, and 20-3) that can access the first-class virtual device (eg, 11-1 or 11-2) have the highest secret key in the cloud service 30. (K T ) is accessible. Confidentiality of the highest secret key (K T ) must be maintained, unlike DUID, which is publicly available information. The processor 41 grants different access rights to the plurality of clients 20-1 to 20-N. For example, the processor 41 grants the first to third clients 20-1 to 20-3 the first-class access authority, and the fourth to seventh clients 20-4 to 20-7 the first-class access authority. A lower level 2 access right is granted, and the 8th to 11th clients (20-8 to 20-11) can be given a level 3 lower level access right than the level 2 access right.

상기 1등급의 가상 장치(예컨대, 11-1과 11-2)에 접근 권한의 부여란 제1내지 제3클라이언트(20-1~20-3)는 보안 등급이 1등급인 가상 장치들(예컨대, 11-1과 11-2)에 접근 및 제어가 가능함을 의미한다. 이 때, 상기 1등급의 가상 장치(예컨대, 11-1과 11-2)에 접근 권한이 부여된 제1내지 제3클라이언트(20-1~20-3)는 보안 등급이 1등급인 가상 장치들(예컨대, 11-1과 11-2)뿐만 아니라 상기 보안 등급이 1등급보다 낮은 등급(예컨대, 2등급 내지 6등급)의 가상 장치들(예컨대, 11-3 내지 11-M)에도 접근 및 제어가 가능하다. The first to third clients 20-1 to 20-3 are granted access rights to the virtual devices of the first level (eg, 11-1 and 11-2). , 11-1 and 11-2) are accessible and controllable. At this time, the first to third clients 20-1 to 20-3 granted access to the first-class virtual devices (eg, 11-1 and 11-2) are virtual devices having a first-level security level. (eg, 11-1 and 11-2) as well as virtual devices (eg, 11-3 to 11-M) whose security level is lower than level 1 (eg, level 2 to 6) control is possible

상기 2등급이 부여된 제4내지 제7클라이언트(20-4~20-7)는 보안 등급이 2등급인 가상 장치들(예컨대, 11-3 내지 11-5)과, 2등급보다 낮은 등급(예컨대, 3등급 내지 6등급)의 가상 장치들(예컨대, 11-6 내지 11-M)에도 접근 및 제어가 가능하다. 하지만, 보안 등급이 1등급인 가상 장치들(예컨대, 11-1과 11-2)에 접근 및 제어는 불가능하다. The 4th to 7th clients 20-4 to 20-7 to which the 2nd level is assigned include virtual devices (eg, 11-3 to 11-5) having a security level of 2nd, and a level lower than the 2nd level ( For example, it is possible to access and control virtual devices (eg, 11-6 to 11-M) of grades 3 to 6). However, it is impossible to access and control virtual devices (eg, 11-1 and 11-2) having a security level of 1.

즉, 특정 등급(예컨대, 2등급)의 접근 권한이 부여된 클라이언트들(예컨대, 20-4~20-7)은 상기 특정 등급(예컨대, 2등급)보다 낮은 등급의 접근 권한이 부여된 클라이언트들(예컨대, 20-8~20-12)이 접근 및 제어가 가능한 가상 장치들(예컨대, 11-6 내지 11-15)에도 접근 및 제어가 가능하다. 하지만, 특정 등급(예컨대, 2등급)의 접근 권한이 부여된 클라이언트들(예컨대, 20-4~20-7)은 상기 특정 등급(예컨대, 2등급)보다 높은 등급(예컨대, 1등급)의 접근 권한이 부여된 클라이언트들(예컨대, 20-1~20-3)이 접근 및 제어가 가능한 가상 장치(예컨대, 11-1, 또는 11-2)에는 접근 및 제어가 불가능하다.That is, clients (eg, 20-4 to 20-7) granted access rights of a specific level (eg, level 2) are clients granted access rights of a lower level than the specific level (eg, level 2). (eg, 20-8 to 20-12) can also access and control virtual devices (eg, 11-6 to 11-15) that can be accessed and controlled. However, clients (eg, 20-4 to 20-7) granted access rights of a specific level (eg, level 2) have access to a higher level (eg, level 1) than the specific level (eg, level 2). It is impossible to access and control a virtual device (eg, 11-1 or 11-2) to which authorized clients (eg, 20-1 to 20-3) can access and control.

복수의 가상 장치들(11-1~11-M) 중 어느 하나(예컨대, 11-3)에 적용된 보안 등급이 n등급(n은 2이상 자연수)일 때, 프로세서(41)는 상기 n등급이 적용된 가상 장치(예컨대, 11-3)에 대해 아래의 수학식 3을 이용하여 n등급 암호키를 생성한다. When the security level applied to any one (eg, 11-3) of the plurality of virtual devices 11-1 to 11-M is n level (n is a natural number equal to or greater than 2), the processor 41 determines that the n level is For the applied virtual device (eg, 11-3), an n-level encryption key is generated using Equation 3 below.

[수학식 3][Equation 3]

Figure 112020121222208-pat00004
Figure 112020121222208-pat00004

상기 KG n은 보안 등급이 n등급일 때, n등급의 암호키를, 상기 HMAC( )는 HMAC 함수를, 상기 H( )는 해시 함수를, 상기 DUID는 IoT 장치(10-1, 10-2, ..., 또는 10-K)의 아이디를, 상기 KG (n-1)은 (n-1)등급의 암호키를, 상기 KP는 공유 비밀키를, 상기

Figure 112020121222208-pat00005
는 XOR 연산을 나타낸다. 상기 공유 비밀키는 모든 클라이언트들(20-1~20-N)끼리 공유하는 키이다. 즉, 모든 클라이언트들(20-1~20-N)은 클라우드 서비스(30)에서 공유 비밀키(KP)에 접근할 수 있다.The KG n is the n-level encryption key when the security level is n, the HMAC( ) is the HMAC function, the H( ) is the hash function, and the DUID is the IoT device (10-1, 10- 2, ..., or 10-K), the K G (n-1) is the (n-1) grade encryption key, the K P is the shared secret key,
Figure 112020121222208-pat00005
represents the XOR operation. The shared secret key is a key shared by all clients 20-1 to 20-N. That is, all clients 20 - 1 to 20 -N can access the shared secret key K P in the cloud service 30 .

복수의 가상 장치들(11-1~11-M) 중 어느 하나(예컨대, 11-3)에 적용된 보안 등급이 n등급일 때, 프로세서(41)는 상기 n등급(n은 2이상의 자연수)이 적용된 가상 장치(예컨대, 11-3)에 대해 상기 (n-1)등급의 암호키(KG (n-1))의 해시함수 결과값과, 상기 n등급이 적용된 가상 장치(예컨대, 11-3~11-M)의 아이디의 해시함수 결과값을 이용하여 n등급 암호키(KG n)를 생성한다.When the security level applied to any one (eg, 11-3) of the plurality of virtual devices 11-1 to 11-M is level n, the processor 41 determines that the level n (n is a natural number greater than or equal to 2) is The hash function result value of the (n-1) grade encryption key (K G (n-1) ) for the applied virtual device (eg, 11-3), and the virtual device to which the n grade is applied (eg, 11- 3~11-M) generate an n-level encryption key (K G n ) using the hash function result of the ID.

보안 등급이 1등급인 가상 장치(예컨대, 11-1과 11-2)에 접근 권한이 부여된 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)는 프로세서(41)로 하여금 1등급 암호키뿐만 아니라 모든 등급에 대한 암호키 생성을 하도록 프로세서(41)에 요청할 수 있다. 예컨대, 보안 등급이 1등급인 가상 장치(예컨대, 11-1과 11-2)에 접근 권한이 부여된 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)는 프로세서(41)로 하여금 1등급 암호키를 생성하도록 프로세서(41)에 요청한다. 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)의 요청에 따라 1등급 암호키가 생성된 후, 2등급 암호키(KG 2)가 생성되도록 프로세서(41)에 요청할 수 있다. 프로세서(41)는 IoT 장치(예컨대, 10-2)의 아이디(예컨대, DEV_12346)의 해시 함수(H( ))의 결과값과, 상기 1등급 암호키(KG 1)에 대한 해시 함수(H( ))의 결과값에 대해 XOR 연산을 수행한다. 프로세서(41)는 XOR 연산 결과값과 공유 비밀키(KG)에 대해 HMAC 함수(HMAC( ))를 적용하여 보안 등급이 2등급일 때의 암호키(KG 2)를 생성할 수 있다. 또한, 보안 등급이 1등급인 가상 장치(예컨대, 11-1과 11-2)에 접근 권한이 부여된 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)는 프로세서(41)로 하여금 3등급 암호키(KG 3)를 생성하도록 프로세서(41)에 요청한다. 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)의 요청에 따라 2등급 암호키가 생성된 후, 3등급 암호키(KG 3)가 생성되도록 프로세서(41)에 요청할 수 있다. 프로세서(41)는 IoT 장치(예컨대, 10-3)의 아이디(예컨대, DEV_12347)의 해시 함수(H( ))의 결과값과, 상기 2등급 암호키(KG 2)에 대한 해시 함수(H( ))의 결과값에 대해 XOR 연산을 수행한다. 프로세서(41)는 XOR 연산 결과값과 공유 비밀키(KG)에 대해 HMAC 함수(HMAC( ))를 적용하여 보안 등급이 3등급일 때의 암호키(KG 3)를 생성할 수 있다. 즉, 최상위 접근 권한이 부여된 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)는 낮은 보안 등급(예컨대, 2내지 6등급)의 암호키 생성을 위해 추가적인 정보 없이 가능하다는 이점이 있다. A client (eg, 20-1, 20-2, or 20-3) granted access to virtual devices (eg, 11-1 and 11-2) having a security level of 1 causes the processor 41 to It is possible to request the processor 41 to generate encryption keys for all levels as well as level encryption keys. For example, a client (eg, 20-1, 20-2, or 20-3) granted access to a virtual device (eg, 11-1 and 11-2) having a security level of 1 is transferred to the processor 41. The processor 41 is requested to generate a first-class encryption key. After a first-class encryption key is generated at the request of a client (eg, 20-1, 20-2, or 20-3), the processor 41 may be requested to generate a second-class encryption key ( KG 2 ). . The processor 41 connects the resultant value of the hash function (H( )) of the ID (eg, DEV_12346 ) of the IoT device (eg, 10-2) and the hash function (H) for the first-class encryption key (KG 1 ). Performs XOR operation on the result of ( )). The processor 41 may generate an encryption key ( KG 2 ) when the security level is level 2 by applying the HMAC function (HMAC( )) to the resultant value of the XOR operation and the shared secret key ( KG ). In addition, a client (eg, 20-1, 20-2, or 20-3) granted access to virtual devices (eg, 11-1 and 11-2) having a security level of 1 is transferred to the processor 41. It requests the processor 41 to generate a 3-level encryption key (K G 3 ). After the second-level encryption key is generated at the request of the client (eg, 20-1, 20-2, or 20-3), the processor 41 may be requested to generate a third-level encryption key ( KG 3 ). . The processor 41 connects the resultant value of the hash function (H( )) of the ID (eg, DEV_12347 ) of the IoT device (eg, 10-3), and the hash function (H for the second-class encryption key (KG 2 )). Performs XOR operation on the result of ( )). The processor 41 may generate an encryption key ( KG 3 ) when the security level is level 3 by applying the HMAC function (HMAC( )) to the XOR operation result value and the shared secret key ( KG ). That is, the client with the highest access authority (eg, 20-1, 20-2, or 20-3) has the advantage that it is possible without additional information to generate an encryption key of a low security level (eg, 2 to 6 levels). have.

복수의 가상 장치들(11-1~11-M)의 서로 다른 암호키들은 적용된 보안 등급이 작은 숫자부터 순차적으로 생성된다. 즉, 복수의 가상 장치들(11-1~11-M)의 서로 다른 암호키들은 보안 등급이 높은 순서부터 순차적으로 생성된다. 예컨대, 보안 등급이 1등급인 가상 장치(11-1)의 1등급 암호키가 생성된 후, 보안 등급이 2등급인 가상 장치(11-2)의 2등급 암호키가 생성된다. 보안 등급이 2등급인 가상 장치(11-2)의 2등급 암호키가 생성된 후, 보안 등급이 3등급인 가상 장치(11-3)의 3등급 암호키가 생성된다. Different encryption keys of the plurality of virtual devices 11-1 to 11-M are sequentially generated from the smallest number of applied security levels. That is, different encryption keys of the plurality of virtual devices 11-1 to 11-M are sequentially generated in order of security level. For example, after a first-class encryption key of the virtual device 11-1 having a security level of 1 is generated, a second-class encryption key of the virtual device 11-2 having a security level of 2 is generated. After a level 2 encryption key of the virtual device 11-2 having a security level of 2 is generated, a level 3 encryption key of the virtual device 11-3 having a security level of 3 is generated.

반면, 보안 등급이 1등급보다 낮은 등급(예컨대, 2등급)인 가상 장치(예컨대, 11-3 내지 11-7)에 접근 권한이 부여된 클라이언트(예컨대, 20-4 내지 20-7)는 프로세서(41)로 하여금 자신의 등급(예컨대, 2등급)과 동일하거나, 자신의 등급(예컨대, 2등급)보다 낮은 등급의 암호키 생성을 위해 프로세서(41)에 요청할 수 있지만, 자신의 등급(예컨대, 2등급)보다 높은 등급(예컨대, 1등급)의 암호키 생성을 위해 프로세서(41)에 요청할 수는 없다. On the other hand, clients (eg, 20-4 to 20-7) granted access to virtual devices (eg, 11-3 to 11-7) whose security level is lower than level 1 (eg, level 2) are processors. (41) may request the processor 41 to generate an encryption key of a level equal to or lower than its level (eg, level 2), but its own level (eg, level 2). .

프로세서(41)는 생성된 암호키를 클라이언트(20-1, 20-2,...또는 20-N)로 전송한다(S90). 예컨대, 보안 등급이 1등급인 가상 장치(11-1)의 1등급 암호키가 생성될 때, 프로세서(41)는 1등급인 가상 장치(11-1)에 접근이 가능한 클라이언트(20-1~20-3)에 1등급 암호키를 전송한다. 클라이언트(20-1, 20-2,...또는 20-N)는 생성된 암호키를 프로세서(41)로부터 수신한다(S100). 모든 권한이 부여된 클라이언트(예컨대, 20-1, 20-2, 또는 20-3)는 프로세서(41)에서 생성된 상기 1등급 암호키를 수신한다.The processor 41 transmits the generated encryption key to the client 20-1, 20-2, ... or 20-N (S90). For example, when a first-class encryption key of the virtual device 11-1 having a first-class security level is generated, the processor 41 operates clients 20-1 to 20-1 that can access the first-class virtual device 11-1. 20-3) transmits the first-class encryption key. The clients 20-1, 20-2, ... or 20-N receive the generated encryption key from the processor 41 (S100). All authorized clients (eg, 20-1, 20-2, or 20-3) receive the first-class encryption key generated by the processor 41.

클라이언트(20-1, 20-2,..., 또는 20-N)는 수신된 암호키에 따라 등급에 맞는 가상 장치(11-1, 11-2,..., 또는 11-M)에 접근한다(S110). 프로세서(41)는 클라이언트(20-1, 20-2,..., 또는 20-N)로부터 암호키를 수신하고 등급에 맞는 가상 장치(11-1, 11-2, ..., 또는 11-M)의 접근을 허락한다. 예컨대, 프로세서(41)는 클라이언트(20-1, 20-2, 또는 20-3)로부터 1등급 암호키를 수신하고 1등급에 맞는 가상 장치(예컨대, 11-1, 또는 11-2)의 접근을 허락한다. 클라이언트(20-1, 20-2, 또는 20-3)는 가상 장치(예컨대, 11-1, 또는 11-2)에 접근하여 가상 장치(11-1, 또는 11-2)와 대응되는 IoT 장치(10-1, 또는 10-2)을 제어할 수 있다. 즉, 클라이언트(20-1, 20-2, 또는 20-3)는 가상 장치(예컨대, 11-1, 또는 11-2)에 접근하여 IoT 장치(10-1, 또는 10-2)의 구동, 다른 IoT 장치와 연동, 또는 IoT 장치(10-1, 또는 10-2)의 새로운 기능의 업데이트 등의 동작 수행이 가능하다. Clients 20-1, 20-2,..., or 20-N connect to virtual devices 11-1, 11-2,..., or 11-M that match the class according to the received encryption key. Approach (S110). The processor 41 receives an encryption key from the client 20-1, 20-2, ..., or 20-N and uses the corresponding virtual device 11-1, 11-2, ..., or 11 -M) to allow access. For example, the processor 41 receives a first-class encryption key from the client 20-1, 20-2, or 20-3 and accesses a virtual device (eg, 11-1 or 11-2) suitable for the first class. allow The client 20-1, 20-2, or 20-3 accesses the virtual device (eg, 11-1 or 11-2) and the IoT device corresponding to the virtual device 11-1 or 11-2. (10-1 or 10-2) can be controlled. That is, the client 20-1, 20-2, or 20-3 accesses the virtual device (eg, 11-1 or 11-2) to drive the IoT device 10-1 or 10-2; It is possible to perform an operation such as interworking with another IoT device or updating a new function of the IoT device 10-1 or 10-2.

도 5는 본 발명의 실시 예에 따른 가상 장치의 생성과 보안 등급 설정 동작을 설명하기 위한 블록도를 나타낸다. 5 is a block diagram for explaining operations of creating a virtual device and setting a security level according to an embodiment of the present invention.

도 1을 참고하면, 클라우드 서비스(30)는 복수의 물리적 서버들(40, 50, 및 60)을 통해 제공한다. 복수의 물리적 서버들(40, 50, 및 60)은 복수의 그룹들로 나눠질 수 있다. 도 1에서는 복수의 물리적 서버들(40, 50, 및 60)은 3개의 그룹들로 나눠진 것으로 도시되었으나, 반드시 이에 한정하지 않는다. 제1복수의 물리적 서버들(40), 제2복수의 물리적 서버들(50), 및 제3복수의 물리적 서버들(60) 각각은 여러 대의 물리적 서버들로 구현된다. 제1복수의 물리적 서버들(40), 제2복수의 물리적 서버들(50), 및 제3복수의 물리적 서버들(60)은 서로 다른 주체들에 의해 관리될 수 있다. 예컨대, 제1복수의 물리적 서버들(40)을 관리하는 회사, 제2복수의 물리적 서버들(50)을 관리하는 회사, 및 제3복수의 물리적 서버들(60)을 관리하는 회사는 서로 다른 회사일 수 있다. 제2복수의 물리적 서버들(50)을 관리하는 회사는 제1복수의 물리적 서버들(40)을 관리하는 회사로부터 위탁을 받은 회사일 수 있다. 또한, 제3복수의 물리적 서버들(60)을 관리하는 회사는 제2복수의 물리적 서버들(50)을 관리하는 회사로부터 재위탁을 받거나, 제1복수의 물리적 서버들(40)을 관리하는 회사로부터 위탁을 받은 회사일 수 있다. Referring to FIG. 1 , a cloud service 30 is provided through a plurality of physical servers 40 , 50 , and 60 . A plurality of physical servers 40, 50, and 60 may be divided into a plurality of groups. In FIG. 1, the plurality of physical servers 40, 50, and 60 are shown as being divided into three groups, but are not necessarily limited thereto. Each of the first plurality of physical servers 40, the second plurality of physical servers 50, and the third plurality of physical servers 60 is implemented as a plurality of physical servers. The first plurality of physical servers 40 , the second plurality of physical servers 50 , and the third plurality of physical servers 60 may be managed by different entities. For example, a company managing a first plurality of physical servers 40, a company managing a second plurality of physical servers 50, and a company managing a third plurality of physical servers 60 are different from each other. could be a company. The company managing the second plurality of physical servers 50 may be a company commissioned by the company managing the first plurality of physical servers 40 . In addition, the company managing the third plurality of physical servers 60 is entrusted from the company managing the second plurality of physical servers 50, or the company managing the first plurality of physical servers 40 It may be a company commissioned by a company.

도 1과 도 5를 참고하면, 제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 프로파일 정보를 이용하여 복수의 IoT 장치들(10-1, 10-2, ..., 및 10-K) 각각에 대응되는 복수의 가상 장치들(11-1~11-M)을 생성한다. Referring to FIGS. 1 and 5 , a processor 41 of one of a plurality of first physical servers 40 uses profile information to control a plurality of IoT devices 10-1, 10-2, ... , and 10-K), a plurality of virtual devices 11-1 to 11-M corresponding to each are created.

제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 복수의 가상 장치들(11-1~11-M)의 중요도에 따라 복수의 가상 장치들(11-1~11-M) 각각에 대해 서로 다른 보안 등급을 적용한다. The processor 41 of any one of the first plurality of physical servers 40 is configured to assign a plurality of virtual devices 11-1 to 11-M according to the importance of the plurality of virtual devices 11-1 to 11-M. ) apply different security levels to each.

제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 상기 수신한 각각의 프로파일 정보를 이용하여 복수의 IoT 장치들(10-1, 10-2, ..., 및 10-K) 각각에 대응되는 복수의 가상 장치들(11-1~11-M)을 생성한다.The processor 41 of any one of the plurality of first physical servers 40 uses the received profile information to control the plurality of IoT devices 10-1, 10-2, ..., and 10- K) A plurality of virtual devices 11-1 to 11-M corresponding to each are created.

제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 복수의 가상 장치들(11-1~11-M) 중 일부에 대해 암호화한다. 예컨대, 제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 복수의 가상 장치들(11-1~11-M) 중 보안 등급이 1등급인 가상 장치(11-1, 또는 11-2)에 대해 최상위 비밀키(KT)를 이용하여 1등급 암호키를, 보안 등급이 2등급인 가상 장치(11-3, 11-4, 또는 11-5)에 대해 상기 1등급의 암호키와 공유 비밀키(KP)를 이용하여 2등급 암호키를 생성한다. 마찬가지로, 제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 복수의 가상 장치들(11-1~11-M) 중 보안 등급이 3등급인 가상 장치(11-6, 또는 11-7)에 대해 상기 2등급의 암호키와 공유 비밀키(KP)를 이용하여 3등급 암호키를, 보안 등급이 4등급인 가상 장치(11-8, 또는 11-9)에 대해 상기 3등급의 암호키와 공유 비밀키(KP)를 이용하여 4등급 암호키를, 보안 등급이 5등급인 가상 장치(11-10, 또는 11-11)에 대해 상기 4등급의 암호키와 공유 비밀키(KP)를 이용하여 5등급 암호키를 생성한다. Any one of the processors 41 of the first plurality of physical servers 40 generates different encryption keys according to the applied security level for some of the plurality of virtual devices 11-1 to 11-M. encrypt For example, the processor 41 of any one of the first plurality of physical servers 40 is a virtual device 11-1 having a security level of 1 among the plurality of virtual devices 11-1 to 11-M, or 11-2), a first-class encryption key is obtained using the highest secret key (K T ), and the first-class encryption key is obtained for a virtual device (11-3, 11-4, or 11-5) having a security level of 2. A second-class encryption key is generated using the encryption key and the shared secret key (K P ). Similarly, the processor 41 of any one of the first plurality of physical servers 40 is a virtual device 11-6 having a security level of 3 among the plurality of virtual devices 11-1 to 11-M, or 11-7), the level 3 encryption key is obtained using the level 2 encryption key and the shared secret key (K P ). Using the level 3 encryption key and the shared secret key (K P ), the level 4 encryption key is shared with the level 4 encryption key for the virtual device (11-10 or 11-11) whose security level is level 5. A 5-level encryption key is generated using the secret key (K P ).

제1복수의 물리적 서버들(40)은 복수의 가상 장치들(11-1~11-M) 모두에 대해 암호키를 생성하지 않고, 일부에 대해서는 위탁을 줄 수 있다. 즉, 제1복수의 물리적 서버들(40)은 복수의 가상 장치들(11-1~11-M) 중 일부(11-1~11-11)를 제외한 나머지 가상 장치들(예컨대, 11-12~11-M)에 대해서는 제2복수의 물리적 서버들(50), 또는 제3복수의 물리적 서버들(60)이 각 등급에 맞는 암호키를 생성하도록 위탁할 수 있다. 이때, 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)는 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로 복수의 가상 장치들(11-1~11-M) 중 일부(11-1~11-11)를 제외한 나머지 가상 장치들(예컨대, 11-12~11-M)에 대해 암호키 생성을 위해 위탁 요구 신호를 전송할 수 있다. 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)는 상기 나머지 가상 장치들(예컨대, 11-12~11-M)에 대한 프로파일 정보를 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로 전송할 수 있다. 상기 프로파일 정보는 IoT 장치(10-1, 10-2, ..., 또는 10-K)의 유형 정보, 위치 정보, 아이디, 또는 동작 정보 등을 포함한다. 상기 프로파일 정보에 포함된 아이디는 암호키 생성에 이용된다. 복수의 IoT 장치들(10-1~10-K) 각각은 각각의 프로파일 정보(profile information)를 네트워크(101)를 통해 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)로 전송한다. The first plurality of physical servers 40 may entrust some of the virtual devices 11-1 to 11-M without generating encryption keys. That is, the first plurality of physical servers 40 are virtual devices (eg, 11-12) excluding some (11-1 to 11-11) of the plurality of virtual devices (11-1 to 11-M). ~ 11-M), the second plurality of physical servers 50 or the third plurality of physical servers 60 may be consigned to generate encryption keys suitable for each level. At this time, any one processor 41 of the first plurality of physical servers 40 is any one processor 51 of the second plurality of physical servers 50, and the plurality of virtual devices 11-1 to 11-M), an entrustment request signal may be transmitted to generate an encryption key for the remaining virtual devices (eg, 11-12 to 11-M) except for some (11-1 to 11-11). Any one processor 41 of the first plurality of physical servers 40 transfers the profile information for the remaining virtual devices (eg, 11-12 to 11-M) to the second plurality of physical servers 50. Can be transmitted to any one processor 51 of. The profile information includes type information, location information, ID, or operation information of the IoT devices 10-1, 10-2, ..., or 10-K. The ID included in the profile information is used to generate an encryption key. Each of the plurality of IoT devices 10-1 to 10-K transmits profile information to any one processor 41 of the first plurality of physical servers 40 through the network 101. send.

또한, 제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 제2복수의 물리적 서버들(50)이 생성하여할 나머지 가상 장치들(예컨대, 11-12~11-M) 중에서 가장 높은 보안 등급(예컨대, 3등급)보다 한 등급 높은 등급의 암호키(예컨대, 2등급)와, 공유 비밀키(KP)를 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로 전송한다. In addition, the processor 41 of any one of the plurality of first physical servers 40 is responsible for the rest of the virtual devices (eg, 11-12 to 11-M) to be created by the plurality of second physical servers 50 . An encryption key (eg, level 2) of one level higher than the highest security level (eg, level 3) and a shared secret key (K P ) are transferred to any one processor of the second plurality of physical servers 50. Send to (51).

제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)는 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)로부터 상기 위탁 요구 신호, 상기 나머지 가상 장치들(예컨대, 11-12~11-M)에 대한 프로파일 정보, 제2복수의 물리적 서버들(50)이 생성하여할 나머지 가상 장치들(예컨대, 11-12~11-M) 중에서 가장 높은 보안 등급(예컨대, 3등급)보다 한 등급 높은 등급(예컨대, 2등급)의 암호키, 및 공유 비밀키(KP)를 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)로부터 수신할 수 있다. The processor 51 of any one of the second plurality of physical servers 50 transmits the assignment request signal from the processor 41 of any one of the first plurality of physical servers 40, the remaining virtual devices (eg , 11-12 to 11-M), the highest security level among the remaining virtual devices (eg, 11-12 to 11-M) to be created by the second plurality of physical servers 50 (eg, 11-12 to 11-M). , 3 levels), an encryption key of one level higher (eg, level 2) and a shared secret key (K P ) can be received from any one processor 41 of the first plurality of physical servers 40. have.

제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)는 상기 공유 비밀키(KP)를 수신하고, 상기 공유 비밀키(KP)에 대해 다른 암호화 방법(예컨대, 다른 문자 추가, 또는 문자 자리 변경 등)으로 상기 공유 비밀키(KP)와 다른 새로운 공유 비밀키(KP')를 생성한다. 상기 다른 암호화 방법은 제1복수의 물리적 서버들(40)에게도 알려져 있다. Any one processor 51 of the second plurality of physical servers 50 receives the shared secret key (K P ), and uses another encryption method (eg, adds another character) for the shared secret key (K P ). , or change of character position, etc.) to generate a new shared secret key (K P ') different from the shared secret key (K P ). The other encryption method is also known to the first plurality of physical servers 40 .

제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 복수의 가상 장치들(11-1~11-M) 중 나머지 가상 장치들(예컨대, 11-12~11-M)에 대해 암호화한다. 예컨대, 제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)는 나머지 가상 장치들(예컨대, 11-12~11-M) 중 보안 등급이 3등급인 가상 장치(11-12, 또는 11-13)에 대해 제1복수의 물리적 서버들(40)의 어느 하나의 프로세서(41)로부터 수신한 제2복수의 물리적 서버들(50)이 생성하여할 나머지 가상 장치들(예컨대, 11-12~11-M) 중에서 가장 높은 보안 등급(예컨대, 3등급)보다 한 등급 높은 등급(예컨대, 2등급)의 암호키와 새로운 공유 비밀키(KP')를 이용하여 3등급 암호키를, 보안 등급이 4등급인 가상 장치(11-14, 또는 11-15)에 대해 상기 3등급의 암호키와 새로운 공유 비밀키(KP')를 이용하여 4등급 암호키를 생성한다. 마찬가지로, 제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)는 나머지 가상 장치들(예컨대, 11-12~11-M) 중 보안 등급이 5등급인 가상 장치(11-16, 또는 11-17)에 대해 상기 4등급의 암호키와 새로운 공유 비밀키(KP')를 이용하여 5등급 암호키를 생성한다. The processor 51 of any one of the second plurality of physical servers 50 generates different encryption keys according to the applied security level, and the remaining virtual devices 11-1 to 11-M among the plurality of virtual devices 11-1 to 11-M. Encrypts for fields (eg, 11-12 to 11-M). For example, the processor 51 of any one of the second plurality of physical servers 50 is a virtual device 11-12 having a security level of 3 among the remaining virtual devices (eg, 11-12 to 11-M). Or, for 11-13), the remaining virtual devices (eg, 11 -12 ~ 11-M) to obtain a level 3 encryption key using an encryption key of one level higher (eg, level 2) than the highest security level (eg, level 3) and a new shared secret key (K P '). For the virtual devices 11-14 or 11-15 having a security level of level 4, a level 4 encryption key is generated using the level 3 encryption key and a new shared secret key (K P '). Similarly, the processor 51 of any one of the second plurality of physical servers 50 includes virtual devices 11-16 having a security level of 5 among the remaining virtual devices (eg, 11-12 to 11-M), Alternatively, for 11-17), a 5-level encryption key is generated using the 4-level encryption key and a new shared secret key (K P ').

이때, 특정 등급(예컨대, 2등급)의 가상 장치(11-3~11-5)에 접근할 수 있는 클라이언트(예컨대, 20-4, 20-5, 20-6, 또는 20-7)는 특정 등급(예컨대, 2등급) 이하의 제1물리적 서버들(50)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-1~11-11)에 접근이 가능하다. 또한, 특정 등급(예컨대, 2등급)의 가상 장치(11-3~11-5)에 접근할 수 있는 클라이언트(예컨대, 20-4, 20-5, 20-6, 또는 20-7)는 특정 등급(예컨대, 2등급) 이하의 제2물리적 서버들(50)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-12~11-17)에 접근이 가능하다. 다만, 특정 등급(예컨대, 2등급)의 가상 장치(11-3~11-5)에 접근할 수 있는 클라이언트(예컨대, 20-4, 20-5, 20-6, 또는 20-7)는 상기 특정 등급(예컨대, 2등급)보다 높은 등급(1등급)의 가상 장치(예컨대, 11-1, 또는 11-2)에는 접근할 수 없다. At this time, the clients (eg, 20-4, 20-5, 20-6, or 20-7) that can access the virtual devices 11-3 to 11-5 of a specific level (eg, level 2) are specific It is possible to access the encrypted virtual devices 11-1 to 11-11 using encryption keys generated by the first physical servers 50 of a level (eg, level 2) or lower. In addition, clients (eg, 20-4, 20-5, 20-6, or 20-7) that can access the virtual devices 11-3 to 11-5 of a specific level (eg, level 2) It is possible to access the virtual devices 11-12 to 11-17 encrypted by the encryption keys generated by the second physical servers 50 of a level (eg, level 2) or lower. However, clients (eg, 20-4, 20-5, 20-6, or 20-7) that can access the virtual devices 11-3 to 11-5 of a specific level (eg, level 2) A virtual device (eg, 11-1 or 11-2) of a higher level (eg, level 1) than a specific level (eg, level 2) cannot be accessed.

또한, 특정 등급(예컨대, 4등급)의 가상 장치(11-8~11-9)에 접근할 수 있는 클라이언트(예컨대, 20-10, 또는 20-11)는 특정 등급(예컨대, 4등급) 이하의 제1물리적 서버들(40)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-8~1-9)에 접근이 가능하다. 또한, 특정 등급(예컨대, 4등급)의 가상 장치(11-14~11-15)에 접근할 수 있는 클라이언트(예컨대, 20-12, 또는 20-13)는 특정 등급(예컨대, 4등급) 이하의 제2물리적 서버들(50)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-14~11-15)에 접근이 가능하다. 하지만, 특정 등급(예컨대, 4등급)의 가상 장치(11-14~11-15)에 접근할 수 있는 클라이언트(예컨대, 20-12, 또는 20-13)는 특정 등급(예컨대, 4등급) 이하의 제1물리적 서버들(40)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-8~1-9)에 접근이 불가능하다. 상기 공유 비밀키(KP)와 새로운 공유 비밀키(KP')는 서로 달라서 이에 따라 생성되는 암호키들도 다르기 때문이다. In addition, clients (eg, 20-10 or 20-11) that can access virtual devices 11-8 to 11-9 of a specific level (eg, level 4) are lower than or equal to a specific level (eg, level 4). It is possible to access the encrypted virtual devices 11-8 to 1-9 using encryption keys generated by the first physical servers 40 of the virtual devices 11-8 to 1-9. In addition, clients (eg, 20-12, or 20-13) that can access virtual devices 11-14 to 11-15 of a specific level (eg, level 4) are lower than or equal to a specific level (eg, level 4). It is possible to access the encrypted virtual devices 11-14 to 11-15 by the encryption keys generated by the second physical servers 50 of the . However, clients (eg, 20-12, or 20-13) that can access virtual devices 11-14 to 11-15 of a specific level (eg, level 4) are lower than or equal to a specific level (eg, level 4). It is impossible to access the virtual devices 11-8 to 1-9 encrypted by the encryption keys generated by the first physical servers 40 of the virtual devices 11-8 to 1-9. This is because the shared secret key (K P ) and the new shared secret key (K P ′) are different from each other, and thus generated encryption keys are also different.

제2복수의 물리적 서버들(50)은 나머지 가상 장치들(11-12~11-M) 모두에 대해 암호키를 생성하지 않고, 일부에 대해서는 재위탁을 줄 수 있다. 즉, 제1복수의 물리적 서버들(40)은 복수의 가상 장치들(11-1~11-M) 중 일부(11-1~11-11)를 제외한 나머지 가상 장치들(예컨대, 11-12~11-M)에 대해서는 제2복수의 물리적 서버들(50), 또는 제3복수의 물리적 서버들(60)이 각 등급에 맞는 암호키를 생성하도록 위탁할 수 있다. 이 때, 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)는 제3복수의 물리적 서버들(60)의 어느 하나의 프로세서(61)로 나머지 가상 장치들(예컨대, 11-12~11-M) 중 일부(11-12~11-17)를 제외한 나머지 가상 장치들(예컨대, 11-18~11-19)에 대해 암호키 생성을 위해 재위탁 요구 신호를 전송할 수 있다. 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)는 상기 나머지 가상 장치들(예컨대, 11-18~11-19)에 대한 프로파일 정보를 제3복수의 물리적 서버들(60)의 어느 하나의 프로세서(61)로 전송할 수 있다. The second plurality of physical servers 50 may not generate encryption keys for all of the remaining virtual devices 11-12 to 11-M and may re-entrust some of them. That is, the first plurality of physical servers 40 are virtual devices (eg, 11-12) excluding some (11-1 to 11-11) of the plurality of virtual devices (11-1 to 11-M). ~ 11-M), the second plurality of physical servers 50 or the third plurality of physical servers 60 may be consigned to generate encryption keys suitable for each level. At this time, any one processor 51 of the second plurality of physical servers 50 is used as any one processor 61 of the third plurality of physical servers 60, and the rest of the virtual devices (eg, 11- For virtual devices (eg, 11-18 to 11-19) excluding some (11-12 to 11-17) of 12 to 11-M), a re-entrustment request signal may be transmitted to generate an encryption key. Any one processor 51 of the second plurality of physical servers 50 transfers the profile information for the remaining virtual devices (eg, 11-18 to 11-19) to the third plurality of physical servers 60. Can be transmitted to any one processor 61 of.

또한, 제2복수의 물리적 서버들(50) 중 어느 하나의 프로세서(51)는 제3복수의 물리적 서버들(60)이 생성하여할 나머지 가상 장치들(예컨대, 11-18~11-19) 중에서 가장 높은 보안 등급(예컨대, 5등급)보다 한 등급 높은 등급의 암호키(예컨대, 4등급)와, 새로운 공유 비밀키(KP')를 제3복수의 물리적 서버들(60)의 어느 하나의 프로세서(61)로 전송한다. In addition, the processor 51 of any one of the second plurality of physical servers 50 may generate the remaining virtual devices (eg, 11-18 to 11-19) to be created by the third plurality of physical servers 60 . Among them, an encryption key (eg, level 4) of one level higher than the highest security level (eg, level 5) and a new shared secret key (K P ') are transferred to any one of the third plurality of physical servers 60 to the processor 61 of

제3복수의 물리적 서버들(60) 중 어느 하나의 프로세서(61)는 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로부터 상기 위탁 요구 신호, 상기 나머지 가상 장치들(예컨대, 11-18~11-19)에 대한 프로파일 정보, 제3복수의 물리적 서버들(60)이 생성하여할 나머지 가상 장치들(예컨대, 11-18~11-19) 중에서 가장 높은 보안 등급(예컨대, 5등급)보다 한 등급 높은 등급(예컨대, 4등급)의 암호키, 및 새로운 공유 비밀키(KP')를 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로부터 수신할 수 있다. Any one processor 61 of the third plurality of physical servers 60 transmits the assignment request signal from any one processor 51 of the second plurality of physical servers 50, the remaining virtual devices (e.g. , 11-18 to 11-19), the highest security level (eg, 11-18 to 11-19) among the remaining virtual devices (eg, 11-18 to 11-19) to be created by the third plurality of physical servers 60. Receive an encryption key of one level higher (eg, level 4) than the level 5) and a new shared secret key (K P ') from any one processor 51 of the second plurality of physical servers 50 can do.

제3복수의 물리적 서버들(60)의 어느 하나의 프로세서(61)는 상기 새로운 공유 비밀키(KP')를 수신하고, 상기 새로운 공유 비밀키(KP')에 대해 다른 암호화 방법(예컨대, 다른 문자 추가, 또는 문자 자리 변경 등)으로 상기 새로운 공유 비밀키(KP')와 다른 제2새로운 공유 비밀키(KP'')를 생성한다. 상기 다른 암호화 방법은 제2복수의 물리적 서버들(50)에게도 알려져 있다.Any one processor 61 of the third plurality of physical servers 60 receives the new shared secret key (K P ' ) , and another encryption method (eg, , adding another character, changing a character position, etc.) to generate a second new shared secret key (K P '') different from the new shared secret key (K P '). The other encryption method is also known to the second plurality of physical servers 50 .

제3복수의 물리적 서버들(60) 중 어느 하나의 프로세서(61)는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 나머지 가상 장치들(예컨대, 11-18~11-19)에 대해 암호화한다. 예컨대, 제3복수의 물리적 서버들(60) 중 어느 하나의 프로세서(61)는 나머지 가상 장치들(예컨대, 11-18~11-19) 중 보안 등급이 5등급인 가상 장치(11-18, 또는 11-19)에 대해 제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)로부터 수신한 제3복수의 물리적 서버들(60)이 생성하여할 나머지 가상 장치들(예컨대, 11-18, 11-19) 중에서 가장 높은 보안 등급(예컨대, 5등급)보다 한 등급 높은 등급(예컨대, 4등급)의 암호키와 제2새로운 공유 비밀키(KP'')를 이용하여 5등급 암호키를 생성한다. Any one processor 61 of the third plurality of physical servers 60 generates different encryption keys according to the applied security level and encrypts the remaining virtual devices (eg, 11-18 to 11-19). do. For example, the processor 61 of any one of the third plurality of physical servers 60 includes virtual devices 11-18 having a security level of 5 among the remaining virtual devices (eg, 11-18 to 11-19). Or, for 11-19), the remaining virtual devices (eg, 11 -18, 11-19) of the highest security level (eg, 5th grade) using an encryption key of one level higher (eg, 4th grade) and a second new shared secret key (K P '') Generate an encryption key.

제1복수의 물리적 서버들(40)은 제2복수의 물리적 서버들(50)에게 위탁하고, 제2복수의 물리적 서버들(50)은 제3복수의 물리적 서버들(60)에게 재위탁함으로써 각 복수의 물리적 서버들(40, 50, 또는 60)에 부하가 집중되는 것을 분산시킬 수 있다. 또한, 물리적 서버들(50, 또는 60)에 의해 생성된 암호키를 이용하여 물리적 서버들(40)에 의해 생성된 암호키를 이용하여 암호화된 가상 장치들(11-1~11-11)에는 접근하지 못하므로 보안이 강화될 수 있다. By entrusting the first plurality of physical servers 40 to the second plurality of physical servers 50 and recommissioning the second plurality of physical servers 50 to the third plurality of physical servers 60 Load concentration on each of the plurality of physical servers 40, 50, or 60 may be distributed. In addition, the virtual devices 11-1 to 11-11 encrypted using the encryption key generated by the physical servers 40 using the encryption key generated by the physical servers 50 or 60 Security can be strengthened by preventing access.

특정 등급(예컨대, 5등급)의 가상 장치(11-18~11-19)에 접근할 수 있는 클라이언트(예컨대, 20-18, 또는 20-19)는 특정 등급(예컨대, 5등급) 이하의 제3물리적 서버들(60)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-12~11-17)에 접근이 가능하다. 하지만, 특정 등급(예컨대, 5등급)의 가상 장치(11-18~11-19)에 접근할 수 있는 클라이언트(예컨대, 20-18, 또는 20-19)는 특정 등급(예컨대, 5등급) 이하의 제2물리적 서버들(50)에 의해 생성된 암호키들에 의해 암호화된 가상 장치들(11-16~1-17)에 접근이 불가능하다. 상기 새로운 공유 비밀키(KP')와 제2새로운 공유 비밀키(KP'')는 서로 다르기 때문이다. Clients (eg, 20-18, or 20-19) that can access virtual devices 11-18 to 11-19 of a specific level (eg, level 5) are assigned to virtual devices below a specific level (eg, level 5). 3 It is possible to access the encrypted virtual devices 11-12 to 11-17 by encryption keys generated by the physical servers 60. However, clients (eg, 20-18 or 20-19) that can access virtual devices 11-18 to 11-19 of a specific level (eg, level 5) are lower than or equal to a specific level (eg, level 5). It is impossible to access the virtual devices 11-16 to 1-17 encrypted by the encryption keys generated by the second physical servers 50 of the . This is because the new shared secret key (K P ') and the second new shared secret key (K P '') are different from each other.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to an embodiment shown in the drawings, this is only exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached claims.

100: 클라우드 기반 IoT 장치 제어 시스템;
10-1, 10-2, ..., 또는 10-K: IoT 장치;
20-1, 20-2, ..., 또는 20-N: 클라이언트;
30: 클라우드 서비스;
101: 네트워크;
40, 50, 또는 60: 물리적 서버;
11-1, 11-2, ..., 또는 11-M: 가상 장치;
100: cloud-based IoT device control system;
10-1, 10-2, ..., or 10-K: IoT devices;
20-1, 20-2, ..., or 20-N: client;
30: cloud service;
101: network;
40, 50, or 60: physical server;
11-1, 11-2, ..., or 11-M: virtual device;

Claims (5)

복수의 IoT 장치들을 제어하기 위해 클라우드 서비스는 복수의 물리적 서버들을 통해 제공되며, 상기 복수의 물리적 서버들 각각은 프로세서와 메모리를 포함하는 클라우드 기반 IoT 장치 제어 방법에 있어서,
상기 프로세서는 복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하는 단계;
상기 프로세서는 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하는 단계;
상기 프로세서는 복수의 클라이언트들의 설정 신호들에 따라 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키는 단계;
상기 프로세서는 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하는 단계; 및
상기 프로세서는 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하는 단계를 포함하며,
상기 프로파일 정보는 상기 복수의 IoT 장치들의 유형 정보, 위치 정보, 아이디, 또는 동작 정보를 포함하는 클라우드 기반 IoT 장치 제어 방법.
In order to control a plurality of IoT devices, a cloud service is provided through a plurality of physical servers, and each of the plurality of physical servers includes a processor and a memory. In the cloud-based IoT device control method,
Receiving, by the processor, profile information from each of a plurality of IoT devices;
generating, by the processor, a plurality of virtual devices corresponding to each of the plurality of IoT devices by using the received profile information;
connecting, by the processor, a plurality of clients and the plurality of virtual devices according to configuration signals of the plurality of clients;
applying, by the processor, different security levels to each of the plurality of virtual devices according to the importance of the plurality of virtual devices; and
The processor includes encrypting each of the plurality of virtual devices by generating different encryption keys according to the applied security level,
Wherein the profile information includes type information, location information, ID, or operation information of the plurality of IoT devices.
제1항에 있어서, 상기 적용된 보안 등급의 숫자가 작을수록, 상기 복수의 가상 장치들의 보안은 더 강화되며,
상기 복수의 가상 장치들의 서로 다른 암호키들은 상기 적용된 보안 등급이 작은 숫자부터 순차적으로 생성되는 클라우드 기반 IoT 장치 제어 방법.
The method of claim 1, wherein the smaller the number of the applied security levels, the stronger the security of the plurality of virtual devices,
The cloud-based IoT device control method of claim 1 , wherein different encryption keys of the plurality of virtual devices are sequentially generated from a lower number of the applied security level.
제2항에 있어서, 상기 복수의 가상 장치들 중 어느 하나에 적용된 보안 등급이 1등급일 때, 상기 프로세서는 상기 1등급이 적용된 가상 장치에 대해 상기 1등급의 가상 장치에 접근이 가능한 클라이언트들만이 공유하는 최상위 비밀키의 해시함수 결과값과, 상기 1등급이 적용된 가상 장치의 아이디의 해시함수 결과값을 이용하여 1등급 암호키를 생성하며,
상기 복수의 가상 장치들 중 다른 하나에 적용된 보안 등급이 n등급일 때, 상기 프로세서는 상기 n등급(n은 2이상의 자연수)이 적용된 가상 장치에 대해 (n-1)등급의 암호키의 해시함수 결과값과, 상기 n등급이 적용된 가상 장치의 아이디의 해시함수 결과값을 이용하여 n등급 암호키를 생성하는 클라우드 기반 IoT 장치 제어 방법.
The method of claim 2, wherein when a security level applied to any one of the plurality of virtual devices is level 1, the processor allows only clients that can access the virtual device of the first level to which the level 1 is applied. A first-class encryption key is generated using the hash function result of the shared top secret key and the hash function result of the ID of the virtual device to which the first level is applied,
When the security level applied to another one of the plurality of virtual devices is level n, the processor performs a hash function of an encryption key of level (n-1) for the virtual device to which level n (n is a natural number of 2 or more) is applied. A cloud-based IoT device control method for generating an n-level encryption key using the resultant value and the hash function result value of the ID of the virtual device to which the n-level is applied.
제3항에 있어서, 상기 1등급의 가상 장치에 접근이 가능한 클라이언트는 상기 1등급보다 낮은 등급의 가상 장치들의 접근이 가능하며,
2등급의 가상 장치의 접근이 가능한 클라이언트는 상기 2등급보다 낮은 등급의 가상 장치들의 접근이 가능하지만, 상기 2등급보다 높은 등급의 가상 장치인 1등급의 가상 장치의 접근은 불가능한 클라우드 기반 IoT 장치 제어 방법.
4. The method of claim 3, wherein a client capable of accessing the first-class virtual device can access virtual devices of a lower class than the first-class virtual device,
A client capable of accessing a virtual device of level 2 can access virtual devices of a level lower than the level 2, but cannot access a virtual device of level 1, which is a virtual device of a level higher than the level 2, Cloud-based IoT device control Way.
명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하며, 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하며, 복수의 클라이언트들의 설정 신호들에 따라 상기 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키며, 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하며, 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하도록 구현되며,
상기 프로세서와 상기 메모리는 물리적 서버에서 구현되며,
상기 물리적 서버를 통해 클라우드 서비스가 제공되며,
상기 프로파일 정보는 상기 복수의 IoT 장치들의 유형 정보, 위치 정보, 아이디, 또는 동작 정보를 포함하는 클라우드 기반 IoT 장치 제어 시스템.
a processor that executes instructions; and
a memory for storing the instructions;
These commands are
Each profile information is received from each of a plurality of IoT devices, a plurality of virtual devices corresponding to each of the plurality of IoT devices are created using the received profile information, and configuration signals of a plurality of clients are generated. According to the method, the plurality of clients and the plurality of virtual devices are connected to each other, and different security levels are applied to each of the plurality of virtual devices according to the importance of the plurality of virtual devices. It is implemented to encrypt each of the plurality of virtual devices by generating different encryption keys,
The processor and the memory are implemented in a physical server,
Cloud services are provided through the physical server,
Wherein the profile information includes type information, location information, ID, or operation information of the plurality of IoT devices.
KR1020200150978A 2020-11-12 2020-11-12 Cloud-based IoT device control method and system KR102472159B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200150978A KR102472159B1 (en) 2020-11-12 2020-11-12 Cloud-based IoT device control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200150978A KR102472159B1 (en) 2020-11-12 2020-11-12 Cloud-based IoT device control method and system

Publications (2)

Publication Number Publication Date
KR20220064653A KR20220064653A (en) 2022-05-19
KR102472159B1 true KR102472159B1 (en) 2022-11-30

Family

ID=81801197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200150978A KR102472159B1 (en) 2020-11-12 2020-11-12 Cloud-based IoT device control method and system

Country Status (1)

Country Link
KR (1) KR102472159B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150123374A (en) 2014-04-24 2015-11-04 한국전자통신연구원 Apparatus and method for virtual home service
KR102105683B1 (en) * 2017-04-28 2020-05-29 한국전자통신연구원 Integrated Platform Management Device And Method For Wire and Mobile communication Service
KR101966767B1 (en) * 2017-05-31 2019-04-08 삼성에스디에스 주식회사 System for managing encryption keys for cloud services

Also Published As

Publication number Publication date
KR20220064653A (en) 2022-05-19

Similar Documents

Publication Publication Date Title
JP6234348B2 (en) Distribution of user authentication information
CA3076492C (en) Secure real-time clock update in an access control system
WO2019075156A1 (en) Systems and methods for managing relationships among digital identities
US11706231B1 (en) Distributed ledger for network security management
JP5702900B1 (en) System and method for access assessment evaluation of building automation and control systems
US10454910B2 (en) Management apparatus, computer program product, system, device, method, information processing apparatus, and server
US10810863B2 (en) Distributed security system over multiple sites
CN110798310B (en) Component delegation to an IoT hub using granted blockchains
CN105659646B (en) Mobile device authentication
CN106664198A (en) System and method for encryption key management, federation and distribution
JP7202692B2 (en) Dual blockchain-based digital electronic device with virtual blockchain and its operation method
Zhang et al. Sovereign: Self-contained smart home with data-centric network and security
US9053315B2 (en) Trusted system network
CN108390886A (en) Educate big data secure access control system
KR102472159B1 (en) Cloud-based IoT device control method and system
US20220006791A1 (en) Secured Node Authentication and Access Control Model for IoT Smart City
WO2022171867A1 (en) System and method for authorizing access to smart devices in a local environment
TW201528012A (en) Joining a distributed database
KR102604713B1 (en) Security system for managing apartment house and method for operating thereof
KR102604709B1 (en) Security system for managing apartment house and method for operating thereof
Fu et al. Comverse: A Federative-by-Design Platform for Community Computing
JP2019121029A (en) Information management system, and terminal authentication method
US11722309B2 (en) Authentication of computer devices without password storage
Makda et al. A Secure Cloud-Based Infrastructure for Virtual Sensors in IoT Environments
NZ761969B2 (en) Secure real-time clock update in an access control system

Legal Events

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