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

Cloud-based IoT device control method and system Download PDF

Info

Publication number
KR20220064653A
KR20220064653A KR1020200150978A KR20200150978A KR20220064653A KR 20220064653 A KR20220064653 A KR 20220064653A KR 1020200150978 A KR1020200150978 A KR 1020200150978A KR 20200150978 A KR20200150978 A KR 20200150978A KR 20220064653 A KR20220064653 A KR 20220064653A
Authority
KR
South Korea
Prior art keywords
virtual
processor
devices
level
virtual devices
Prior art date
Application number
KR1020200150978A
Other languages
Korean (ko)
Other versions
KR102472159B1 (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

Disclosed is a cloud-based IoT device control method in which a cloud service for controlling a plurality of IoT devices is provided through a plurality of physical servers, wherein each of the physical servers includes a processor and a memory. The cloud-based IoT device control method of the present invention comprises the steps of: receiving, by a processor, profile information from a plurality of IoT devices; generating, by the processor, a plurality of virtual devices corresponding to each of the IoT devices using the received profile information; connecting, by the processor, a plurality of clients and the virtual devices in accordance with setting signals of the clients; applying, by the processor, different security levels to each of the virtual devices in accordance with the importance of the virtual devices; and encrypting, by the processor, each of the virtual devices by generating different encryption keys in accordance with the applied security levels. Therefore, a cloud-based IoT device can be safely controlled.

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 cloud-based IoT device control method and system, and more particularly, to a cloud-based IoT device control method and system excellent in security.

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

일반적으로 IoT 장치의 기능(예컨대, IP 카메라의 경우, IP 카메라의 이동)은 내부의 메모리에 저장된 소프트웨어를 통해 동작할 수 있다. IoT 장치에 새로운 기능의 추가나 다른 IoT 장치와의 연동을 위해서는 IoT 장치의 내부의 메모리에 저장된 소프트웨어를 업데이트하여야 한다. 특히, 기존 소프트웨어의 보안성 결함 등으로 소프트웨어 업데이트가 요구되는 경우도 있다. 하지만, IoT 장치의 소프트웨어 업데이트 도중에 전력의 공급 중단 등의 이유로 인한 오류의 발생 가능성도 있다. In general, a 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 new functions to the IoT device or to link with other IoT devices, it is necessary to update the software stored in the internal memory of the IoT device. In particular, software updates are sometimes required due to security flaws 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, it is possible to control the IoT device based on the cloud. However, when controlling IoT devices based on the cloud, security issues arise. In particular, when an external intruder illegally accesses the cloud and controls the IoT device in national infrastructure such as transportation or power plants that require security, the illegal control of the IoT device may lead to a serious 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 method and system for controlling a cloud-based IoT device 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. The cloud-based IoT device control method includes the processor receiving respective profile information from each of a plurality of IoT devices, the processor generating a plurality of virtual devices corresponding to each of the plurality of IoT devices by using the received respective profile information; the processor connecting the plurality of clients and the plurality of virtual devices to each other according to setting signals of the plurality of clients; applying a different security level, and the processor encrypts each of the plurality of virtual devices by generating different encryption keys according to the applied security level.

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

상기 복수의 가상 장치들 중 어느 하나에 적용된 보안 등급이 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 determines the highest secret key shared only by clients that can access the level 1 virtual device with respect to the virtual device to which the level 1 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-class is applied, and when the security level applied to the other one of the plurality of virtual devices is n-class, The processor determines 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 greater than or equal to 2) is applied, and the hash function result value of the ID of the virtual device to which the n grade is applied. to generate an n-grade encryption key.

상기 프로세서는 복수의 클라이언트들에게 서로 다른 접근 권한을 부여하며, 상기 모든 권한이 부여된 클라이언트는 상기 프로세서에서 생성된 상기 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 instructions, and a memory that stores the instructions. The commands receive respective profile information from each of the plurality of IoT devices, and generate a plurality of virtual devices corresponding to each of the plurality of IoT devices by using the received respective profile information, and Connecting the plurality of clients and the plurality of virtual devices to each other according to setting signals, applying different security levels to each of the plurality of virtual devices according to the importance of the plurality of virtual devices, and applying the applied security It is implemented to encrypt each of the plurality of virtual devices by generating different encryption keys according to the grade. The processor and the memory are implemented in a physical server, and a cloud service is provided through the physical server.

본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 방법 및 시스템은 가상 장치들의 중요도에 따라 서로 다른 보안 등급을 적용함으로써 클라우드에 기반한 IoT 장치를 안전하게 제어할 수 있는 효과가 있다. A 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는 본 발명의 실시 예에 따른 가상 장치의 생성과 보안 등급 설정 동작을 설명하기 위한 블록도를 나타낸다.
In order to more fully understand the drawings recited in the Detailed Description, a detailed description of each drawing is provided.
1 is a block diagram of a cloud-based IoT device control system according to an embodiment of the present invention.
2 and 3 are flowcharts illustrating 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 illustrating an operation 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 exemplified 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 are It may be implemented in various forms and is not limited to the embodiments described herein.

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

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

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

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

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.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 is 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 , the cloud-based IoT device control system 100 refers to a system for controlling a plurality of IoT devices 10-1 to 10-K; K is a natural number through the cloud service 30 . The cloud-based IoT device control system 100 may be used in a home for building a smart home, a factory for building a smart factory, a hospital, a national infrastructure traffic control system, 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 the IoT devices 10-1 to 10-K ) means an operation such as an update of a new function. Security is important for controlling the IoT devices 10-1 to 10-K. It is assumed 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, it is assumed that the cloud-based IoT device control system 100 is utilized in a factory, a hospital, or a nuclear power plant. If a person without authority controls a plurality of IoT devices through the cloud service 30, the person without authority stops or controls the operation of some IoT devices of a factory, hospital, or nuclear power plant to operate incorrectly Doing so can cause a factory, hospital, or nuclear power plant to malfunction. Accordingly, 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 provides 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 may transmit and receive 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 operation can be controlled through the cloud service 30 or whose new function can be updated. 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 an IoT device (10-1, 10-2, ..., or 10-K), such as an 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 to control the IoT device 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 may use the client 20-1 to turn on the LED bulb. 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. there is.

복수의 클라이언트들(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 refers to an electronic device capable of accessing the cloud service 30 through the network 101, such as a smart phone, a tablet PC, a notebook computer, or a PC. A user is an administrator 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 device (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)의 구체적인 위치와 구성에 대한 지식을 요구하지 않는다. The cloud service 30 controls the IoT device 10-1, 10-2, ..., or 10-K by the user of the client 20-1, 20-2, ..., or 20-N provide services for The cloud service 30 is a virtual server and may be referred to as a cloud server, cloud computing, or a cloud-based service. The cloud service 30 is provided through a plurality of physical servers 40 , 50 , and 60 . The 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 illustrated as being divided into three groups, but the present invention is not 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, the company that manages the first plurality of physical servers 40, the company that manages the second plurality of physical servers 50, and the company that manages the third plurality of physical servers 60 are different from each other. could be a company. The company that manages the plurality of second physical servers 50 may be a company that has been entrusted with the company that manages the plurality of first physical servers 40 . In addition, the company that manages the third plurality of physical servers 60 receives re-entrustment from the company that manages the second plurality of physical servers 50 , or manages the first plurality of physical servers 40 . It may be a company that has been entrusted with the company. Each of the first plurality of physical servers 40 includes a processor and a memory. In FIG. 1 , a processor 41 and a memory 43 of any one of the first plurality of physical servers 40 are typically shown. Each of the second plurality of physical servers 50 includes a processor and a memory. In FIG. 1 , a processor 51 and a memory 53 of any one of the plurality of second physical servers 50 are typically shown. Each of the third plurality of physical servers 60 includes a processor and a memory. In FIG. 1 , a processor 61 and a memory 63 of any one of the plurality of third physical servers 60 are typically shown. The processor 41, 51, or 61 executes instructions for controlling the cloud-based IoT device 10-1, 10-2, ..., or 10-K. A memory 43, 53, or 63 stores the instructions. However, the cloud service 30 does not require the users of the plurality of clients 20 - 1 to 20 -N to know the specific locations and configurations of the physical servers 40 , 50 , and 60 .

도 2와 도 3은 본 발명의 실시 예에 따른 클라우드 기반 IoT 장치 제어 방법을 설명하기 위한 흐름도를 나타낸다.2 and 3 are flowcharts illustrating 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 respective 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 device 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 is a camera as type information, a room as location information, and a camera as motion information. It may include movement, movement down, movement to the left, movement to the 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 , the operations of the cloud service 30 may be understood as operations of the physical servers 40 , 50 , and 60 . there is. Since each of the physical servers 40 , 50 , and 60 includes a processor 41 , 51 , or 61 and a memory 43 , 53 , or 63 , the operations of the cloud service 30 are performed on the physical servers 40 , 50 , and 60 ) may also be understood as operations of the respective processors 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 their actions. That is, the processor (eg, 41 ) of any one of the physical servers 40 , 50 , and 60 is each 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 each of 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 in 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, a first virtual device ( 11-1) and a 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 virtual device 11-1 and the corresponding IoT device 10-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 substantially 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 a new virtual device (eg, 11-3). One new virtual device 11-3 does not correspond to the IoT device 10-1, 10-2, ..., or 10-K implemented in hardware. For example, the first virtual device 11-1, which is a virtual fan, and the second virtual device 11-2, which is a virtual thermometer, combine to create a third virtual device 11-3, which is a virtual smart fan. There may be no IoT devices 10-1, 10-2, ..., 10-K corresponding to the third virtual device 11-3, which is the virtual smart fan.

복수의 클라이언트들(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 ID information of an IoT device) 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 transmits 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 includes the plurality of clients 20-1 to 20-N and the plurality of virtual devices 11-1 to 11- 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 are the plurality of clients 20-1 to 20-N, respectively, by users of each of the plurality of clients 20-1 to 20-N and the plurality of virtual devices 11-1 to 11- Profile information (eg, type information, location information, or ID information of the IoT device) is selected or entered. The setting signals are generated according to the selection or input, and the setting signals are transmitted from the clients 20 - 1 to 20 -N to the cloud service 30 . 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 communicates with 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 connects the first client 20-1 with the first virtual device 11-1 corresponding to the first IoT device 10-1. In step 20-1, profile information (eg, type information of an LED bulb and an LED bulb ID) of the first virtual device 11-1 may be selected. 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 among the virtual devices 11-1 to 11-M according to the received setting signal, and connects the first client 20-1 with the first client 20-1. One virtual device 11 - 1 can be connected to each other. That is, the first client 20 - 1 is in a ready state 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 risk refers to a degree of physical, physical, or property damage due to a malfunction of the virtual device 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 degree of risk is low. On the other hand, when the virtual device 11 - 2 is a heater, there is a risk of causing a fire when overheating for a long time and physically or physically harming people. 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 the risk level for the plurality of virtual devices 11-1 to 11-M according to whether a motor, a heating component, or a hazardous substance is included. The sensitivity refers to a degree of exposure of an individual's privacy due to a malfunction of the virtual device 11-1, 11-2, ..., or 11-M. For example, when the virtual device 11-3 is an IP camera, there is a possibility that the user's privacy is exposed. The sensitivity ranges from 1 to 100. The processor 41 sets sensitivities for the plurality of virtual devices 11-1 to 11-M according to whether a camera module, a microphone, or a fingerprint sensor is included. 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 the security level 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 an embodiment, the importance may be determined in consideration of a user setting. In this case, the user setting means setting directly by the user. The user is a person who uses 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 between 0 and 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 can use 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 it may be set to have to control the IoT device 10-1, 10-2, ..., or 10-K by directly pressing a physical button, or the like. The security level of the plurality of virtual devices 11-1 to 11-M is determined according to Equation 1 below.

[수학식 1] [Equation 1]

Figure pat00001
Figure 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, 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 score of the average of risk and sensitivity is equal to or greater than the score of the user setting, the security level of the virtual device 11-1, 11-2, ..., or 11-M is determined according to the rating calculation function. Conversely, when the score of the average of risk and sensitivity is smaller than the score of the user setting, the security level of the virtual device 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.

등급ranking 위험도(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 s of the virtual device 11-1 is 65 and the score of the sensitivity p is 20, 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.

등급ranking 사용자 설정(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 to be 3 levels.

상기 보안 등급의 숫자가 작을수록, 상기 복수의 가상 장치들(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)에 전혀 영향을 미치지 않는 경우를 의미한다. 실시 예에 따라 상기 중요도는 다양한 방법들로 구현될 수 있다. As the number of the security level is smaller, the security level of the plurality of virtual devices 11-1 to 11-M is higher. Level 1 is a virtual device (11-1, 11-2, ..., or 11-M) that exposes sensitive personal information or poses a physical risk, environmental destruction, human damage, large-scale catastrophe, or This means that there is a possibility of social chaos. Level 2 means that the control of the virtual device 11-1, 11-2, ..., or 11-M is impossible, and there is a possibility of a fatal defect. A grade of 3 means significant damage to the virtual device (11-1, 11-2, ..., or 11-M), and the normal operation is difficult and there is a possibility of unpredictable behavior. A grade of 4 means that there is some failure in the virtual device 11-1, 11-2, ..., or 11-M, and a failure in which a user can recognize a malfunction occurs. Grade 5 is a case in which a minor malfunction occurs in the virtual device (11-1, 11-2, ..., or 11-M), but an operation suitable for the purpose is possible, and a minor malfunction occurs at a level that is difficult for the user to recognize. it means. A grade of 6 means that the virtual device 11-1, 11-2, ..., or 11-M is not affected at all. According to an embodiment, 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 any one (eg, 11-1 or 11-2) of the plurality of virtual devices 11-1 to 11-M is level 1, the processor ( 41) generates a first-class encryption key using Equation 2 below for the IoT virtual device 11-1 or 11-2 to which the first-class is applied.

[수학식 2] [Equation 2]

Figure pat00002
Figure pat00002

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

Figure pat00003
는 XOR 연산을 나타낸다. The K G 1 is an encryption key of level 1 when the security level is level 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), the K T is the highest secret key, the
Figure pat00003
represents an 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 (K G 1 ) is generated using the hash function result value of the IDs of the virtual devices to which the first-class is applied (eg, 11-1 and 11-2).

제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 result 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 is the result of the hash function (H( )) for the DUID "DEV_12345" and the hash function (H( )) for "secret", which is the highest secret key (K T ). XOR operation is performed on The processor 41 generates an encryption key (K G 1 ) when the security level is 1 by applying the HMAC function (HMAC( )) to the XOR operation result value and the highest secret key (K T ).

상기 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 the attribute of a GUID (Global Unique Identifier) of the IoT device 10-1, 10-2, ..., or 10-K. The DUIDs 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 The DUID is publicly available information.

상기 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 KT is the highest secret key, and clients (eg, 20-1, 20-2, and 20-3) are granted access to virtual devices (eg, 11-1 and 11-2) having a security level of 1 ) is a key shared only with each other. That is, only clients (eg, 20-1, 20-2, and 20-3) to which the highest level of security (eg, grade 1) is granted accesses the highest secret key (K T ) in the cloud service 30 . can do. That is, only clients (eg, 20-1, 20-2, and 20-3) that can access the first-class virtual device (eg, 11-1, or 11-2) are the highest secret key in the cloud service 30 . (K T ) can be accessed. Unlike DUID, which is publicly available information, the top secret key (K T ) must maintain confidentiality. The processor 41 grants different access rights to the plurality of clients 20-1 to 20-N. For example, the processor 41 grants first-class access rights to the first to third clients 20-1 to 20-3, and the first-grade access rights to the fourth to seventh clients 20-4 to 20-7. A lower level of 2 access authority is granted, and the 8th to 11th clients (20-8 to 20-11) can be given an access authority of a third level lower than the access authority of the second level.

상기 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)에도 접근 및 제어가 가능하다. Granting access rights to the first-level virtual devices (eg, 11-1 and 11-2) means that the first to third clients 20-1 to 20-3 are virtual devices with a first-level security level (eg, virtual devices). , 11-1 and 11-2) means that access and control are possible. In this case, the first to third clients 20-1 to 20-3 granted access to the first-level virtual devices (eg, 11-1 and 11-2) are virtual devices with 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 1 (eg, grades 2 to 6) and 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 2 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) to which access of a specific grade (eg, grade 2) is granted are clients to which access rights of a lower grade than the specific grade (eg, grade 2) are granted. (eg, 20-8 to 20-12) It is possible to 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 of a specific grade (eg, grade 2) have access of a higher grade (eg, grade 1) than the specific grade (eg, grade 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 level n (n is a natural number greater than or equal to 2), the processor 41 determines that the level n is An n-grade encryption key is generated using Equation 3 below for the applied virtual device (eg, 11-3).

[수학식 3][Equation 3]

Figure pat00004
Figure pat00004

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

Figure pat00005
는 XOR 연산을 나타낸다. 상기 공유 비밀키는 모든 클라이언트들(20-1~20-N)끼리 공유하는 키이다. 즉, 모든 클라이언트들(20-1~20-N)은 클라우드 서비스(30)에서 공유 비밀키(KP)에 접근할 수 있다.The K G n is the n-grade 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, the
Figure pat00005
represents an 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 may 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 of n (n is a natural number greater than or equal to 2) is For the applied virtual device (eg, 11-3), the hash function result value of the encryption key (K G (n-1) ) of the (n-1) grade and the virtual device to which the n grade is applied (eg, 11- An n-grade encryption key (K G n ) is generated using the hash function result of the ID of 3 to 11-M).

보안 등급이 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 1 It may request the processor 41 to generate encryption keys for all grades as well as the grade encryption key. For example, 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 transmitted to the processor 41 . It requests the processor 41 to generate a first-class encryption key. After the first-grade encryption key is generated according to the request of the client (eg, 20-1, 20-2, or 20-3), the second-grade encryption key (K G 2 ) may be requested from the processor 41 to be generated. . The processor 41 is a hash function (H) for the result value of the hash function (H( )) of the ID (eg, DEV_12346) of the IoT device (eg, 10-2), and the first-class encryption key (K G 1 ) XOR operation is performed on the result of ( )). The processor 41 may generate an encryption key (K G 2 ) when the security level is 2 by applying the HMAC function (HMAC( )) to the XOR operation result value and the shared secret key (K G ). 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 transmitted to the processor 41 . It requests the processor 41 to generate a third-grade encryption key (K G 3 ). After the second-grade encryption key is generated according to the request of the client (eg, 20-1, 20-2, or 20-3), the third-grade encryption key (K G 3 ) may be requested from the processor 41 to be generated. . The processor 41 is a hash function (H) for the result value of the hash function (H( )) of the ID (eg, DEV_12347) of the IoT device (eg, 10-3), and the second-grade encryption key (K G 2 ) XOR operation is performed on the result of ( )). The processor 41 may generate an encryption key (K G 3 ) when the security level is 3 by applying the HMAC function (HMAC( )) to the XOR operation result value and the shared secret key (K G ). That is, the client (eg, 20-1, 20-2, or 20-3) to which the highest level of access is granted has the advantage that it is possible without additional information to generate an encryption key of a low security level (eg, grades 2 to 6). there is.

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

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

프로세서(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 the first-level encryption key of the virtual device 11-1 having the first security level is generated, the processor 41 is the client 20-1 to accessing the first-level virtual device 11-1 20-3) transmits the first-class encryption key. The client 20-1, 20-2, ... or 20-N receives 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)의 새로운 기능의 업데이트 등의 동작 수행이 가능하다. The client (20-1, 20-2, ..., or 20-N) connects to the virtual device (11-1, 11-2, ..., or 11-M) matching the class according to the received encryption key. Approach (S110). The processor 41 receives the encryption key from the client 20-1, 20-2, ..., or 20-N, and the virtual device 11-1, 11-2, ..., or 11 corresponding to the class. -M) to allow access. For example, the processor 41 receives the first-class encryption key from the client 20-1, 20-2, or 20-3, and accesses the virtual device (eg, 11-1, or 11-2) corresponding to the first-class encryption key. to allow The client 20-1, 20-2, or 20-3 accesses the virtual device (eg, 11-1 or 11-2) and an 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 other IoT devices or updating a new function of the IoT device 10 - 1 or 10 - 2 .

도 5는 본 발명의 실시 예에 따른 가상 장치의 생성과 보안 등급 설정 동작을 설명하기 위한 블록도를 나타낸다. 5 is a block diagram illustrating an operation 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 , the cloud service 30 is provided through a plurality of physical servers 40 , 50 , and 60 . The 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 illustrated as being divided into three groups, but the present invention is not 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, the company that manages the first plurality of physical servers 40, the company that manages the second plurality of physical servers 50, and the company that manages the third plurality of physical servers 60 are different from each other. could be a company. The company that manages the plurality of second physical servers 50 may be a company that has been entrusted with the company that manages the plurality of first physical servers 40 . In addition, the company that manages the third plurality of physical servers 60 receives re-entrustment from the company that manages the second plurality of physical servers 50 , or manages the first plurality of physical servers 40 . It may be a company that has been entrusted with the company.

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

제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 operate in 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. ) apply a different security level to each.

제1복수의 물리적 서버들(40) 중 어느 하나의 프로세서(41)는 상기 수신한 각각의 프로파일 정보를 이용하여 복수의 IoT 장치들(10-1, 10-2, ..., 및 10-K) 각각에 대응되는 복수의 가상 장치들(11-1~11-M)을 생성한다.The processor 41 of any one of the first plurality of physical servers 40 uses the received profile information for each of 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등급 암호키를 생성한다. The processor 41 of any one 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) using the highest secret key (K T ) to obtain a level 1 encryption key, and for a virtual device (11-3, 11-4, or 11-5) with a security level of 2, the level 1 A second-grade 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) using the second-level encryption key and the shared secret key (K P ), the third-grade encryption key, and the above-mentioned for the virtual device (11-8, or 11-9) with a fourth-level security Using the 3rd level encryption key and the shared secret key (K P ), the 4th level encryption key is shared with the 4th level encryption key for the virtual device (11-10, or 11-11) with the 5th level security level A level 5 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 not generate encryption keys for all of the plurality of virtual devices 11-1 to 11-M, but may entrust some of them. That is, the first plurality of physical servers 40 excluding some (11-1 to 11-11) of the plurality of virtual devices (11-1 to 11-M) are the remaining virtual devices (eg, 11-12). For ~11-M), the second plurality of physical servers 50 or the third plurality of physical servers 60 may be entrusted to generate an encryption key suitable for each grade. 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 a plurality of virtual devices 11-1 to 11-M), the 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 transmits profile information for the remaining virtual devices (eg, 11-12 to 11-M) to the second plurality of physical servers 50 . It can be transmitted to any one of the processors 51 of The profile information includes type information, location information, ID, or operation information of the IoT device 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 respective 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 first plurality of physical servers 40 is the remaining virtual devices (eg, 11-12 to 11-M) to be generated by the second plurality of physical servers 50 . Any one processor of the encryption key (eg, grade 2) and the shared secret key (K P ) of a grade higher than the highest security grade (eg, grade 3) among the second plurality of physical servers (50) (51).

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

제2복수의 물리적 서버들(50)의 어느 하나의 프로세서(51)는 상기 공유 비밀키(KP)를 수신하고, 상기 공유 비밀키(KP)에 대해 다른 암호화 방법(예컨대, 다른 문자 추가, 또는 문자 자리 변경 등)으로 상기 공유 비밀키(KP)와 다른 새로운 공유 비밀키(KP')를 생성한다. 상기 다른 암호화 방법은 제1복수의 물리적 서버들(40)에게도 알려져 있다. Any one of the processors 51 of the second plurality of physical servers 50 receives the shared secret key (K P ), and another encryption method (eg, adding another character) for the shared secret key (K P ) , or change the character position) 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 among the plurality of virtual devices 11-1 to 11-M Encrypt for the fields (eg, 11-12 ~ 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 11-13), the remaining virtual devices to be created by the second plurality of physical servers 50 received from any one of the processors 41 of the first plurality of physical servers 40 (eg, 11 -12~11-M), using the encryption key of one level higher (eg, level 2) than the highest security level (eg, level 3) and the new shared secret key (K P '), the third level encryption key , a level 4 encryption key is generated using the level 3 encryption key and the new shared secret key (K P ') for the virtual device 11-14 or 11-15 of which the security level is level 4. Similarly, the processor 51 of any one of the second plurality of physical servers 50 is a virtual device 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-grade encryption key is generated using the 4-level encryption key and the 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)에는 접근할 수 없다. In this case, a client (eg, 20-4, 20-5, 20-6, or 20-7) that can access the virtual devices 11-3 to 11-5 of a specific grade (eg, grade 2) is a specific It is possible to access the virtual devices 11-1 to 11-11 encrypted by encryption keys generated by the first physical servers 50 of a grade (eg, grade 2) or lower. In addition, clients (eg, 20-4, 20-5, 20-6, or 20-7) that can access virtual devices 11-3 to 11-5 of a specific class (eg, rank 2) are specific 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 grade (eg, grade 2) or lower. However, a client (eg, 20-4, 20-5, 20-6, or 20-7) that can access the virtual devices 11-3 to 11-5 of a specific grade (eg, grade 2) is You cannot access virtual devices (eg, 11-1, or 11-2) of a higher grade (level 1) than a certain grade (eg, grade 2).

또한, 특정 등급(예컨대, 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 grade (eg, grade 4) are less than or equal to a specific grade (eg, grade 4) It is possible to access the virtual devices 11-8 to 1-9 encrypted by the encryption keys generated by the first physical servers 40 of In addition, clients (eg, 20-12, or 20-13) that can access virtual devices 11-14 to 11-15 of a specific grade (eg, grade 4) are lower than or equal to a specific grade (eg, grade 4) It is possible to access the virtual devices 11-14 to 11-15 encrypted by the encryption keys generated by the second physical servers 50 of However, clients (eg, 20-12, or 20-13) that can access virtual devices 11-14 to 11-15 of a specific grade (eg, grade 4) are lower than or equal to a specific grade (eg, grade 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 This is because the shared secret key (K P ) and the new shared secret key (K P ') are different from each other, and thus the 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 do not generate encryption keys for all of the remaining virtual devices 11-12 to 11-M, and may give re-entrustment for some. That is, the first plurality of physical servers 40 excluding some (11-1 to 11-11) of the plurality of virtual devices (11-1 to 11-M) are the remaining virtual devices (eg, 11-12). For ~11-M), the second plurality of physical servers 50 or the third plurality of physical servers 60 may be entrusted to generate an encryption key suitable for each grade. At this time, any one processor 51 of the second plurality of physical servers 50 is any one processor 61 of the third plurality of physical servers 60 and the other virtual devices (eg, 11- 12 to 11-M), except for some (11-12 to 11-17), may transmit a re-entrustment request signal for encryption key generation to the remaining virtual devices (eg, 11-18 to 11-19). One processor 51 of the second plurality of physical servers 50 transmits profile information for the remaining virtual devices (eg, 11-18 to 11-19) to the third plurality of physical servers 60 . It can be transmitted to any one of the processors 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 is the remaining virtual devices to be generated by the plurality of third physical servers 60 (eg, 11-18 to 11-19). Any one of the third plurality of physical servers 60 with an encryption key (eg, grade 4) of a grade higher than the highest security grade (eg, grade 5) and a new shared secret key (K P ') 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 of the processor 61 of the third plurality of physical servers 60 receives the entrustment request signal from any one of the processors 51 of the second plurality of physical servers 50, the remaining virtual devices (eg, , 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 generated by the third plurality of physical servers 60 , a level higher than the level 5), and a new shared secret key (K P ') is received from any one of the processors 51 of the second plurality of physical servers 50 (eg, level 4). can do.

제3복수의 물리적 서버들(60)의 어느 하나의 프로세서(61)는 상기 새로운 공유 비밀키(KP')를 수신하고, 상기 새로운 공유 비밀키(KP')에 대해 다른 암호화 방법(예컨대, 다른 문자 추가, 또는 문자 자리 변경 등)으로 상기 새로운 공유 비밀키(KP')와 다른 제2새로운 공유 비밀키(KP'')를 생성한다. 상기 다른 암호화 방법은 제2복수의 물리적 서버들(50)에게도 알려져 있다.Any one of the processors 61 of the third plurality of physical servers 60 receives the new shared secret key K P ′, and uses another encryption method (eg, K P ′) for the new shared secret key K P ′. , adding another character, or changing the character position) 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등급 암호키를 생성한다. The processor 61 of any one of the third plurality of physical servers 60 encrypts the remaining virtual devices (eg, 11-18 to 11-19) by generating different encryption keys according to the applied security level. do. For example, the processor 61 of any one of the plurality of third physical servers 60 is a virtual device 11-18, a security level of 5 among the remaining virtual devices (eg, 11-18 to 11-19). or 11-19), the remaining virtual devices to be created by the third plurality of physical servers 60 received from any one of the processors 51 of the second plurality of physical servers 50 (eg, 11 -18, 11-19) using an encryption key of a higher level (eg, level 4) than the highest security level (eg, level 5) 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)에는 접근하지 못하므로 보안이 강화될 수 있다. The first plurality of physical servers 40 entrust the second plurality of physical servers 50 , and the second plurality of physical servers 50 re-entrust the third plurality of physical servers 60 . It is possible to distribute the concentration of the load on each of the plurality of physical servers 40 , 50 , or 60 . In addition, in 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, Because access is not possible, security can be strengthened.

특정 등급(예컨대, 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'')는 서로 다르기 때문이다. A client (eg, 20-18, or 20-19) that can access the virtual devices 11-18 to 11-19 of a specific grade (eg, grade 5) is less than or equal to a specific grade (eg, grade 5) 3 It is possible to access the virtual devices 11-12 to 11-17 encrypted by the 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 grade (eg, grade 5) are less than or equal to a specific grade (eg, grade 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 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 merely exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended 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 device;
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 장치 제어 방법.
In order to control a plurality of IoT devices, a cloud service is provided through a plurality of physical servers, wherein 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, respective 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 each of the received profile information;
connecting, by the processor, a plurality of clients and the plurality of virtual devices to each other 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
and the processor encrypts each of the plurality of virtual devices by generating different encryption keys according to the applied security level.
제1항에 있어서, 상기 적용된 보안 등급의 숫자가 작을수록, 상기 복수의 가상 장치들의 보안은 더 강화되며,
상기 복수의 가상 장치들의 서로 다른 암호키들은 상기 적용된 보안 등급이 작은 숫자부터 순차적으로 생성되는 클라우드 기반 IoT 장치 제어 방법.
The method of claim 1, wherein the smaller the number of the applied security level, the stronger the security of the plurality of virtual devices,
A cloud-based IoT device control method in which the different encryption keys of the plurality of virtual devices are sequentially generated from a number having a small 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 the security level applied to any one of the plurality of virtual devices is level 1, the processor allows only clients that can access the level 1 virtual device with respect to the virtual device to which the level 1 is applied. Using the hash function result value of the shared highest secret key and the hash function result value of the ID of the virtual device to which the 1st grade is applied, a first-class encryption key is generated,
When the security level applied to another one of the plurality of virtual devices is level n, the processor performs a hash of the encryption key of level (n-1) with respect to the virtual device to which the level n (n is a natural number greater than or equal to 2) is applied. A cloud-based IoT device control method for generating an n-grade encryption key using a function result value and a hash function result value of the ID of the virtual device to which the n-grade is applied.
제3항에 있어서, 상기 1등급의 가상 장치에 접근이 가능한 클라이언트는 상기 1등급보다 낮은 등급의 가상 장치들의 접근이 가능하며,
상기 2등급의 가상 장치의 접근이 가능한 클라이언트는 상기 2등급보다 낮은 등급의 가상 장치들의 접근이 가능하지만, 상기 2등급보다 높은 등급의 가상 장치인 1등급의 가상 장치의 접근은 불가능한 클라우드 기반 IoT 장치 제어 방법.
The method of claim 3, wherein a client capable of accessing the virtual device of the first class can access virtual devices of a lower class than the first class,
A client capable of accessing the second-class virtual device can access virtual devices of a lower level than the second-grade virtual device, but cannot access the first-class virtual device, which is a virtual device higher than the second-class, cloud-based IoT device control method.
명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
복수의 IoT 장치들 각각으로부터 각각의 프로파일 정보를 수신하며, 상기 수신한 각각의 프로파일 정보를 이용하여 상기 복수의 IoT 장치들 각각에 대응되는 복수의 가상 장치들을 생성하며, 복수의 클라이언트들의 설정 신호들에 따라 상기 복수의 클라이언트들과 상기 복수의 가상 장치들을 서로 연결시키며, 상기 복수의 가상 장치들의 중요도에 따라 상기 복수의 가상 장치들 각각에 대해 서로 다른 보안 등급을 적용하며, 상기 적용된 보안 등급에 따라 서로 다른 암호키들을 생성하여 상기 복수의 가상 장치들 각각을 암호화하도록 구현되며,
상기 프로세서와 상기 메모리는 물리적 서버에서 구현되며,
상기 물리적 서버를 통해 클라우드 서비스가 제공되는 클라우드 기반 IoT 장치 제어 시스템.
a processor that executes instructions; and
a memory for storing the instructions;
The commands are
Receives respective profile information from each of a plurality of IoT devices, generates a plurality of virtual devices corresponding to each of the plurality of IoT devices by using the received respective profile information, and provides setting signals of a plurality of clients connects the plurality of clients and the plurality of virtual devices to each other according to 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,
A cloud-based IoT device control system in which a cloud service is provided through the physical server.
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 true KR20220064653A (en) 2022-05-19
KR102472159B1 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)

Citations (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
KR20180121010A (en) * 2017-04-28 2018-11-07 한국전자통신연구원 Integrated Platform Management Device And Method For Wire and Mobile communication Service
KR20180131056A (en) * 2017-05-31 2018-12-10 삼성에스디에스 주식회사 System for managing encryption keys for cloud services

Patent Citations (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
KR20180121010A (en) * 2017-04-28 2018-11-07 한국전자통신연구원 Integrated Platform Management Device And Method For Wire and Mobile communication Service
KR20180131056A (en) * 2017-05-31 2018-12-10 삼성에스디에스 주식회사 System for managing encryption keys for cloud services

Also Published As

Publication number Publication date
KR102472159B1 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
CN108293045B (en) Single sign-on identity management between local and remote systems
JP6234348B2 (en) Distribution of user authentication information
US9442705B2 (en) Sharing authentication profiles between a group of user devices
JP6247618B2 (en) Anonymous decisions in access control systems
US10454910B2 (en) Management apparatus, computer program product, system, device, method, information processing apparatus, and server
CN105659646B (en) Mobile device authentication
KR20130046155A (en) Access control system for cloud computing service
US20190372981A1 (en) Methods and resources for creating permissions
JP7202692B2 (en) Dual blockchain-based digital electronic device with virtual blockchain and its operation method
JP6804696B1 (en) User selection key authentication
Zhang et al. Sovereign: Self-contained smart home with data-centric network and security
CN116325844A (en) Techniques for managing smart home configuration
US10042652B2 (en) Home automation system
KR102472159B1 (en) Cloud-based IoT device control method and system
US20220006791A1 (en) Secured Node Authentication and Access Control Model for IoT Smart City
TWI829217B (en) De-centralized data authorization control system capable of flexibly adjusting data authorization policy
WO2022171867A1 (en) System and method for authorizing access to smart devices in a local environment
TWI829218B (en) De-centralized data authorization control system capable of indirectly transferring read token through third-party service subsystem
JP2015118459A (en) Image formation device, information terminal, server device, data processing system, communication method for image formation device, communication method for information terminal, communication method for server device, and program
US11722309B2 (en) Authentication of computer devices without password storage
JP7282113B2 (en) Systems and methods for controlling user access to resources
US11321446B2 (en) System and method to ensure secure and automatic synchronization of credentials across devices
Makda et al. A Secure Cloud-Based Infrastructure for Virtual Sensors in IoT Environments
KR20190070554A (en) Method of controlling air-conditioning in remote and device implementing thereof
JP2023111226A (en) Data management system, volume access control method, and program

Legal Events

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