KR101778768B1 - METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME - Google Patents

METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME Download PDF

Info

Publication number
KR101778768B1
KR101778768B1 KR1020170051558A KR20170051558A KR101778768B1 KR 101778768 B1 KR101778768 B1 KR 101778768B1 KR 1020170051558 A KR1020170051558 A KR 1020170051558A KR 20170051558 A KR20170051558 A KR 20170051558A KR 101778768 B1 KR101778768 B1 KR 101778768B1
Authority
KR
South Korea
Prior art keywords
iot
block
smart contract
policy
api
Prior art date
Application number
KR1020170051558A
Other languages
Korean (ko)
Inventor
이재철
어성율
김정미
Original Assignee
(주)케이사인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)케이사인 filed Critical (주)케이사인
Priority to KR1020170051558A priority Critical patent/KR101778768B1/en
Application granted granted Critical
Publication of KR101778768B1 publication Critical patent/KR101778768B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

An IoT device control method includes the steps of: generating a smart contract in a block for a block chain using an IoT wallet API; registering the IoT device in the block using a device registration smart contract of the smart contract; setting a policy for controlling the IoT device using a policy setting smart contract of the smart contract; a step of receiving a policy of the IoT device from the block based on latest event information of the policy setting smart contract; and determining the operation mode of the IoT based on the policy of the IoT device. Accordingly, transparency of IoT device control is ensured.

Description

IoT 기기 제어 방법 및 시스템 {METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a method and a system for controlling an IoT device,

본 발명은 IoT 기기 제어 방법 및 시스템에 관한 것으로, 보다 구체적으로는 블럭 체인 IoT 서버를 포함하여 투명성을 보장할 수 있는 IoT 기기 제어 방법 및 시스템에 관한 것이다. The present invention relates to an IoT device control method and system, and more particularly, to an IoT device control method and system capable of ensuring transparency including a block IoT server.

사물 인터넷(Internet of Things, IoT)은 초연결사회의 기반 기술, 서비스이자 차세대 인터넷으로 사물 간 인터넷 혹은 개체 간 인터넷으로 정의되며 고유 식별이 가능한 사물이 만들어낸 정보를 인터넷을 통해 공유하는 환경을 의미한다. The Internet of Things (IoT) is defined as the infrastructure technology of the connected society, the next generation Internet, the Internet between objects or the Internet between individuals, and means an environment in which information generated by objects that can be identified can be shared through the Internet do.

종래의 IoT 기기 제어 시스템 내에서는 중앙 집중형 제어 장치를 포함하며, 상기 중앙 집중형 제어 장치의 투명성이 보장되지 않는 문제점이 있다. In the conventional IoT device control system, a centralized control device is included, and the transparency of the centralized control device is not ensured.

따라서 본 발명은 종래 IoT 기기 제어 방법 및 시스템이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 블럭 및 IoT 월렛 API를 포함하는 블럭 체인 IoT 서버를 포함하는 IoT 기기 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method for controlling an IoT device including a block and an IoT wallet API including a block and an IoT wallet API .

본 발명이 이루고자 하는 다른 목적은 상기 IoT 기기 제어 방법을 수행하는 IoT 기기 제어 시스템을 제공하는 것이다.Another object of the present invention is to provide an IoT device control system for performing the IoT device control method.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 IoT 기기 제어 방법은 IoT 월렛 API를 이용하여 블럭 체인용 블럭에 스마트 컨트랙트를 생성하는 단계, 상기 스마트 컨트랙트 중 기기 등록 스마트 컨트랙트를 이용하여 IoT 기기를 상기 블럭에 등록하는 단계, 상기 스마트 컨트랙트 중 정책 설정 스마트 컨트랙트를 이용하여 상기 IoT 기기를 제어하기 위한 정책을 설정하는 단계, 상기 정책 설정 스마트 컨트랙트의 마지막 이벤트(latest event) 정보를 기초로 상기 IoT 기기의 정책을 상기 블럭으로부터 수신하는 단계 및 상기 IoT 기기의 정책을 기초로 상기 IoT의 동작 모드를 결정하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method of controlling an IoT device, the method comprising: generating a smart contract in a block for a block chain using an IoT Wallet API; Registering the device in the block, setting a policy for controlling the IoT device using the policy setting smart contract in the smart contract, setting a policy for controlling the IoT device based on the latest event information of the policy setting smart contract, Receiving a policy of the IoT device from the block, and determining an operation mode of the IoT based on the policy of the IoT device.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 IoT 기기 제어 시스템은 복수의 IoT 기기들 및 상기 IoT 기기들과 통신하는 블럭 체인 IoT 서버를 포함한다. 상기 블럭 체인 IoT 서버는 블럭 체인을 동작시키기 위한 블럭 및 상기 IoT 기기들이 블럭 체인을 이용할 수 있도록 하는 API들의 모음인 IoT 월렛 API를 포함한다. An IoT device control system according to an embodiment of the present invention for realizing the object of the present invention includes a plurality of IoT devices and a block IoT server communicating with the IoT devices. The block IoT server includes a block for operating a block chain and an IoT Wallet API, which is a collection of APIs that allow the IoT devices to use a block chain.

본 발명의 일 실시예에 있어서, 상기 블럭 체인 IoT 서버와 통신하며, 상기 IoT 기기들의 동작을 제어하는 모바일 장치를 더 포함할 수 있다. In one embodiment of the present invention, the mobile terminal may further include a mobile device that communicates with the block-type IoT server and controls an operation of the IoT devices.

본 발명의 일 실시예에 있어서, 상기 IoT 월렛 API는 상기 블럭에 스마트 컨트랙트의 생성을 요청할 수 있다. 상기 블럭은 상기 요청에 따라 제1 트랜잭션 ID를 생성하여 상기 제1 트랜잭션 ID를 상기 IoT 월렛 API에 출력할 수 있다. 상기 블럭은 상기 스마트 컨트랙트에 대해 마이닝을 수행하고, 상기 마이닝이 완료되면 상기 스마트 컨트랙트를 상기 생성하며, 상기 마이닝이 완료되면 상기 스마트 컨트랙트의 어드레스를 생성하여 상기 스마트 컨트랙트의 어드레스를 상기 IoT 월렛에 출력할 수 있다. 상기 IoT 월렛 API는 상기 제1 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 IoT 월렛 API는 상기 블럭으로부터 수신한 상기 스마트 컨트랙트의 어드레스를 저장할 수 있다. In one embodiment of the present invention, the IoT Wallet API may request the creation of a smart contract in the block. The block may generate a first transaction ID in response to the request and output the first transaction ID to the IoT Wallet API. Wherein the block generates the address of the smart contract by performing mining on the smart contract, generating the smart contract when the mining is completed, completing the mining and outputting the address of the smart contract to the IoT wallet can do. The IoT Wallet API monitors whether the first transaction ID is included in the block, and the IoT Wallet API can store an address of the smart contract received from the block.

본 발명의 일 실시예에 있어서, 상기 스마트 컨트랙트에 대해 마이닝이 완료되면, 상기 스마트 컨트랙트는 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성될 수 있다. In one embodiment of the present invention, once the mining is completed for the smart contract, the smart contract may also be created in other blocks of principals connected within the block chain.

본 발명의 일 실시예에 있어서, 상기 IoT 기기를 상기 블럭에 등록하기 위해, 상기 IoT 월렛 API는 기기 등록 스마트 컨트랙트를 상기 블럭에 등록할 수 있다. 상기 IoT 기기는 기기 등록 API를 이용하여 상기 IoT 월렛 API에 상기 IoT 기기의 정보를 전달할 수 있다. 상기 IoT 월렛 API는 상기 IoT 기기로부터 수신한 상기 기기의 정보를 기초로 상기 기기 등록 스마트 컨트랙트의 어드레스를 호출할 수 있다. 상기 블럭은 상기 기기 등록 스마트 컨트랙트의 어드레스의 호출에 대한 제2 트랜잭션 ID를 생성하여 상기 제2 트랜잭션 ID를 상기 IoT 월렛 API에 출력하며, 상기 기기 등록 스마트 컨트랙트의 어드레스의 호출에 대한 마이닝을 수행하고, 상기 마이닝이 완료되면, 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 생성하여 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 상기 IoT 월렛에 출력할 수 있다. 상기 IoT 월렛 API는 상기 제2 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 블럭으로부터 수신한 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 저장할 수 있다. In one embodiment of the present invention, in order to register the IoT device in the block, the IoT Wallet API may register the device registered smart contract in the block. The IoT device can transmit the information of the IoT device to the IoT Wallet API using a device registration API. The IoT Wallet API can call the address of the device registered smart contract based on the information of the device received from the IoT device. The block generates a second transaction ID for a call of the address of the device registered smart contract, outputs the second transaction ID to the IoT Wallet API, performs mining on the call of the device registered smart contract, When the mining is completed, a calling block of the device registered smart contract may be generated and the calling block of the device registered smart contract may be output to the IoT wallet. The IoT Wallet API may monitor whether the second transaction ID is included in the block, and store the calling block of the device registered smart contract received from the block.

본 발명의 일 실시예에 있어서, 상기 IoT 기기는 상기 기기 등록 API를 이용하여, 상기 IoT 기기의 식별자인 device_id, 상기 IoT 기기의 종류를 나타내는 device_type 및 상기 IoT 기기의 공개키인 pub_key를 상기 IoT 월렛 API에 전송할 수 있다. In one embodiment of the present invention, the IoT device uses device registration API to determine device_id as an identifier of the IoT device, device_type as a type of the IoT device, and pub_key as a public key of the IoT device, API.

본 발명의 일 실시예에 있어서, 상기 IoT 기기를 제어하기 위한 정책을 설정하기 위해, 상기 IoT 월렛 API는 정책 설정 스마트 컨트랙트를 상기 블럭에 등록할 수 있다. 상기 모바일 장치의 스마트 컨트롤러는 기기 정책 API를 이용하여 상기 IoT 월렛 API에 상기 IoT 기기의 정책 정보를 전달할 수 있다. 상기 IoT 월렛 API는 상기 모바일 장치를 인증하고, 상기 스마트 컨트롤러로부터 수신한 상기 IoT 기기의 정책 정보를 기초로 상기 정책 설정 스마트 컨트랙트의 어드레스를 호출할 수 있다. 상기 블럭은 상기 정책 설정 스마트 컨트랙트의 어드레스의 호출에 대한 제3 트랜잭션 ID를 생성하여 상기 제3 트랜잭션 ID를 상기 IoT 월렛 API에 출력하며, 상기 정책 설정 스마트 컨트랙트의 어드레스의 호출에 대한 마이닝을 수행하고, 상기 마이닝이 완료되면, 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 생성하여 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 상기 IoT 월렛에 출력할 수 있다. 상기 IoT 월렛 API는 상기 제3 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 블럭으로부터 수신한 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 저장할 수 있다. In one embodiment of the present invention, in order to set a policy for controlling the IoT device, the IoT Wallet API may register a policy setting smart contract in the block. The smart controller of the mobile device can transmit the policy information of the IoT device to the IoT Wallet API using the device policy API. The IoT Wallet API may authenticate the mobile device and invoke the address of the policy setting smart contract based on the policy information of the IoT device received from the smart controller. The block generates a third transaction ID for a call of the address of the policy setting smart contract and outputs the third transaction ID to the IoT Wallet API, performs mining on the call of the address of the policy setting smart contract When the mining is completed, a calling block of the policy setting smart contract may be generated and a calling block of the policy setting smart contract may be output to the IoT wallet. The IoT Wallet API may monitor whether the third transaction ID is included in the block, and store the calling block of the policy setting smart contract received from the block.

본 발명의 일 실시예에 있어서, 상기 스마트 컨트롤러는 상기 기기 정책 API를 이용하여, 상기 모바일 장치의 고유 코드인 device_id, 상기 IoT 기기의 종류를 나타내는 device_type, 상기 IoT 기기의 정책을 나타내는 limit 및 상기 모바일 장치의 공개키인 pub_key를 상기 IoT 월렛 API에 전송할 수 있다. In one embodiment of the present invention, the smart controller uses the device policy API to determine a device_id that is a unique code of the mobile device, a device_type that indicates a type of the IoT device, a limit that indicates a policy of the IoT device, The public key pub_key of the device can be transmitted to the IoT Wallet API.

본 발명의 일 실시예에 있어서, 상기 IoT 기기는 정책 정보 가져오기 API를 이용하여 상기 블럭에 저장된 상기 IoT 기기의 정책 정보를 수신할 수 있다. 상기 정책 정보를 기초로, 상기 IoT 기기의 동작을 제어할 수 있다. In one embodiment of the present invention, the IoT device can receive policy information of the IoT device stored in the block using a policy information fetching API. And the operation of the IoT device can be controlled based on the policy information.

본 발명의 일 실시예에 있어서, 제1 IoT 기기는 스마트 전구이고, 제2 IoT 기기는 스마트 미터일 수 있다. 상기 제2 IoT 기기는 전력량 등록 API 및 전력량 등록 스마트 컨트랙트를 이용하여 상기 블럭에 상기 제2 IoT 기기에서 측정된 전력량 정보를 저장할 수 있다. 상기 모바일 장치는 상기 기기 정책 API 및 상기 정책 설정 스마트 컨트랙트를 이용하여 상기 블럭에 상기 제1 IoT 기기의 정책 정보를 저장할 수 있다. 상기 제1 IoT 기기는 전력량 가져오기 API 및 상기 전력량 등록 스마트 컨트랙트의 마지막 이벤트(latest event) 정보를 이용하여 상기 블럭에 저장된 상기 전력량 정보를 수신할 수 있다. 상기 제1 IoT 기기는 상기 정책 정보 가져오기 API 및 상기 정책 설정 스마트 컨트랙트의 마지막 이벤트 정보를 이용하여 상기 블럭에 저장된 상기 제1 IoT 기기의 정책 정보를 수신할 수 있다. 상기 제1 IoT 기기는 상기 전력량 정보와 상기 정책 정보에 설정된 절전 모드 설정값을 비교하여, 상기 전력량 정보의 전력량이 상기 절전 모드 설정값보다 크면 절전 모드에서 동작하고, 상기 전력량 정보의 상기 전력량이 상기 절전 모드 설정값보다 작으면 일반 모드에서 동작할 수 있다. In one embodiment of the present invention, the first IoT device may be a smart bulb and the second IoT device may be a smart meter. The second IoT device may store the power amount information measured by the second IoT device in the block using a power amount registration API and a power amount registration smart contract. The mobile device may store the policy information of the first IoT device in the block using the device policy API and the policy setting smart contract. The first IoT device can receive the power amount information stored in the block using the power amount fetching API and the latest event information of the power amount registered smart contract. The first IoT device may receive the policy information of the first IoT device stored in the block using the policy information fetching API and the last event information of the policy setting smart contract. Wherein the first IoT device compares the power amount information with the power saving mode set value set in the policy information and operates in a power saving mode if the power amount of the power amount information is larger than the power saving mode setting value, If it is lower than the power saving mode setting, it can operate in normal mode.

본 발명에 따르면, IoT 기기 제어 시스템은 블럭 및 IoT 월렛 API를 포함하는 블럭 체인 IoT 서버를 포함하여 IoT 기기 제어가 블럭 체인 방식으로 관리된다. 따라서, IoT 기기 제어의 투명성이 보장된다. According to the present invention, the IoT device control system includes a block and an IoT Wallet API including a block IoT wallet API, so that IoT device control is managed in a block-chain manner. Therefore, transparency of IoT device control is ensured.

IoT 기기 제어 시스템 내의 모든 IoT 기기가 각각 블럭을 포함하지 않고, 상기 블럭 체인 IoT 서버만이 상기 블럭을 포함하므로, IoT 기기 제어 시스템의 경량화를 보장할 수 있다. All of the IoT devices in the IoT device control system do not include the respective blocks, and only the IoT server in the block chain includes the block, thereby making it possible to ensure the lightness of the IoT device control system.

도 1은 본 발명의 일 실시예에 따른 IoT 기기 제어 시스템을 나타내는 블록도이다.
도 2는 도 1의 IoT 기기 제어 시스템에서 스마트 컨트랙트를 생성하는 방법을 나타내는 개념도이다.
도 3은 도 1의 IoT 기기 제어 시스템에서 IoT 기기들을 등록하는 방법을 나타내는 개념도이다.
도 4는 도 1의 IoT 기기 제어 시스템에서 IoT 기기들의 정책들을 등록하는 방법을 나타내는 개념도이다.
도 5는 도 1의 IoT 기기 제어 시스템에서 도 1의 스마트 미터의 전력량을 등록하는 방법을 나타내는 개념도이다.
도 6은 도 1의 IoT 기기 제어 시스템에서 IoT 기기들을 제어하는 방법을 나타내는 개념도이다.
1 is a block diagram illustrating an IoT device control system according to an embodiment of the present invention.
2 is a conceptual diagram showing a method of generating a smart contract in the IoT device control system of FIG.
3 is a conceptual diagram illustrating a method of registering IoT devices in the IoT device control system of FIG.
4 is a conceptual diagram illustrating a method of registering policies of IoT devices in the IoT device control system of FIG.
FIG. 5 is a conceptual diagram showing a method of registering the amount of electric power of the smart meter of FIG. 1 in the IoT device control system of FIG.
6 is a conceptual diagram showing a method of controlling IoT devices in the IoT device control system of FIG.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises ", or" having ", and the like, are used to specify the presence of stated features, integers, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, 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 commonly used dictionaries should be construed as meaning consistent with meaning in the context of the relevant art and are not to be construed as ideal or overly formal in meaning unless expressly defined in the present application .

한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블럭 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블럭이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블럭들이 거꾸로 수행될 수도 있다.On the other hand, if an embodiment is otherwise feasible, the functions or operations specified in a particular block may take place differently from the order specified in the flowchart. For example, two consecutive blocks may actually be performed substantially concurrently, and depending on the function or operation involved, the blocks may be performed backwards.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 일 실시예에 따른 IoT 기기 제어 시스템을 나타내는 블록도이다.1 is a block diagram illustrating an IoT device control system according to an embodiment of the present invention.

도 1을 참조하면, 상기 IoT 기기 제어 시스템은 블럭 체인 IoT 서버(100), 모바일 장치(MD), IoT 기기들(예컨대, D1, D2, D3)을 포함할 수 있다. Referring to FIG. 1, the IoT device control system may include a block-type IoT server 100, a mobile device (MD), IoT devices (e.g., D1, D2, D3).

상기 블럭 체인 IoT 서버(100)는 저장소 및 IoT 월렛 API(110)를 포함한다. The block-based IoT server 100 includes a repository and an IoT Wallet API 110.

상기 저장소는 블럭 체인을 동작시키기 위한 블럭(BC)을 저장한다. 예를 들어, 상기 블럭(BC)은 이더리움(Etherium) 블럭일 수 있다. 블럭 체인을 동작하기 위해서는 블럭 체인 내에 있는 장치들은 모두 블럭 체인용 블럭을 포함하여야 한다. 상기 블럭의 크기는 블럭 체인의 동작 시간이 증가함에 따라 점점 증가한다. 예를 들어, 상기 블럭의 크기는 수 기가바이트(gigabyte, GB) 내지 수십 기가바이트(gigabyte, GB)일 수 있다. 그러나, IoT 기기 제어 시스템 내에 존재하는 IoT 기기들(예컨대, D1, D2, D3) 중에는 상기 블럭을 채용할 수 있는 경량화 장치가 다수 존재할 수 있다. 따라서, 본 실시예에서는 상기 블럭 체인용 블럭(BC)을 포함하는 상기 블럭 체인 IoT 서버(100)를 구현한다. The storage stores a block (BC) for operating a block chain. For example, the block BC may be an Etherium block. To operate a block chain, all devices in the block chain must contain blocks for the block chain. The size of the block gradually increases as the operation time of the block chain increases. For example, the size of the block may be several gigabytes (GB) to tens of gigabytes (GB). However, among the IoT devices (for example, D1, D2, and D3) existing in the IoT device control system, there may be many lightweight devices capable of employing the block. Accordingly, in the present embodiment, the block-type IoT server 100 including the block for the block chain BC is implemented.

또한, 상기 블럭 체인 IoT 서버(100)는 상기 모바일 장치(MD) 및 각각의 IoT 기기들(D1, D2, D3)이 상기 블럭 체인을 이용할 수 있도록 블럭 체인의 기능을 대행해주는 API들의 모음인 상기 IoT 월렛 API(110)를 포함한다. The block IoT server 100 is a set of APIs for acting as a block chain so that the mobile device MD and each IoT device D1, D2, D3 can use the block chain. IoT Wallet API < / RTI >

상기 블럭 체인 IoT 서버(100)는 공개키 및 개인키를 이용하여 상기 IoT 기기(D1, D2, D3)에 대한 상호 인증을 수행할 수 있다. The block-based IoT server 100 may perform mutual authentication with respect to the IoT devices D1, D2, and D3 using a public key and a private key.

예를 들어, 상기 모바일 장치(MD)는 사용자의 스마트 폰일 수 있다. 예를 들어, 상기 모바일 장치(MD)는 사용자의 태블릿 PC일 수 있다. 상기 모바일 장치(MD)는 IoT 기기 제어 시스템 내에서의 정책 설정을 수행할 수 있다. 상기 모바일 장치(MD)는 IoT 기기 제어 시스템 내에서의 현재 값을 모니터하여 상기 IoT 기기들의 권한 제어를 수행할 수 있다. For example, the mobile device (MD) may be a smartphone of a user. For example, the mobile device (MD) may be a user's tablet PC. The mobile device (MD) can perform policy setting in the IoT device control system. The mobile device (MD) may monitor the current value in the IoT device control system to perform the rights control of the IoT devices.

예를 들어, 상기 IoT 기기는 스마트 전구(D1), 스마트 에어컨(D2) 및 스마트 미터(D3)일 수 있다. For example, the IoT device may be a smart bulb D1, a smart air conditioner D2, and a smart meter D3.

예를 들어, 상기 모바일 장치(MD)가 설정하는 정책은 스마트 미터(D3)가 블럭 체인에 기록한 전력량에 따라 스마트 전구(D1)를 절전 모드로 동작하게 하는 것일 수 있다. 예를 들어, 상기 모바일 장치(MD)가 설정하는 정책은 스마트 미터(D3)가 블럭 체인에 기록한 전력량에 따라 스마트 에어컨(D2)을 절전 모드로 동작하게 하는 것일 수 있다.For example, the policy set by the mobile device (MD) may be that the smart meter (D3) operates the smart bulb (D1) in the power save mode according to the amount of power recorded in the block chain. For example, the policy set by the mobile device (MD) may be that the smart meter (D3) operates the smart air conditioner (D2) in the power saving mode according to the amount of power recorded in the block chain.

상기 스마트 미터(D3)는 전력량을 블럭 체인에 기록하는 기능을 사용할 수 있다. The smart meter D3 may use a function of recording the amount of power in a block chain.

상기 스마트 전구(D1)는 자신에게 설정된 정책과 현재 전력량을 블럭에서 읽어와 자신의 상태를 스스로 설정할 수 있다. The smart bulb D1 can read the policy and the current power amount set in the smart bulb D1 from the block and set its own state by itself.

상기 스마트 에어컨(D2)은 자신에게 설정된 정책과 현재 전력량을 블럭에서 읽어와 자신의 상태를 스스로 설정할 수 있다. The smart air conditioner D2 can read the policy and the current power amount set in the smart air conditioner D2 from the block and set their own state by themselves.

도 1의 IoT 기기 제어 시스템에서는 상기 IoT 기기가 스마트 전구, 스마트 에어컨 및 스마트 미터인 것을 예시하였으나, 본 발명은 이에 한정되지 않는다. 또한, 도 1의 IoT 기기 제어 시스템에서는 상기 모바일 장치(MD)가 설정하는 정책은 전력량에 따른 IoT 기기의 절전 모드 동작인 것으로 예시하였으나, 본 발명은 이에 한정되지 않는다.In the IoT device control system of FIG. 1, the IoT device is a smart bulb, a smart air conditioner, and a smart meter, but the present invention is not limited thereto. In the IoT device control system of FIG. 1, the policy set by the mobile device (MD) is the power saving mode operation of the IoT device according to the amount of power, but the present invention is not limited thereto.

상기 블럭 체인 IoT 서버(100)는 블럭 체인 클라이언트를 이용하여 상기 저장소에 블럭을 저장할 수 있다. 상기 블럭 체인 클라이언트는 이더리움 클라이언트일 수 있다. The block IoT server 100 may store blocks in the storage using a block-chain client. The block-chain client may be an Ethernet client.

상기 IoT 월렛 API(110)는 스마트 컨트랙트를 이용하여 공개키 등록, 공개키 조회, 기기 설정, 미터값 등록 및 미터값 조회 등의 기능을 제공할 수 있다. The IoT wallet API 110 can provide functions such as public key registration, public key inquiry, device setting, meter value registration, and meter value inquiry by using a smart contract.

상기 공개키 등록은 상기 IoT 기기(D1, D2, D3)에서 생성하거나 주입받은 공개키 또는 인증서를 등록하는 API이다. The public key registration is an API for registering a public key or certificate generated or injected by the IoT devices D1, D2, and D3.

상기 공개키 조회는 미터값 또는 정책이 상기 블럭에 쓰여졌을 때, 권한을 가진 기기가 블럭에 썼는지를 확인하기 위해 블럭에 저장된 공개키를 조회하는 API이다. The public key inquiry is an API for inquiring a public key stored in a block in order to confirm whether a privileged device writes to a block when a meter value or a policy is written in the block.

상기 기기 설정은 상기 IoT 기기(D1, D2, D3)의 정책을 설정하는 블럭을 생성하는 API이다. 예를 들어, 상기 정책은 상기 전력량이 제1 설정값 이상이면, 상기 스마트 전구(D1)를 절전 모드로 진입시키는 정책일 수 있다. 또한, 상기 정책은 상기 전력량이 제2 설정값 이상이면, 상기 스마트 에어컨(D2)을 절전 모드로 진입시키는 정책일 수 있다.The device setting is an API for generating a block for setting a policy of the IoT devices D1, D2, and D3. For example, the policy may be a policy for entering the smart bulb D1 into the power saving mode if the amount of power is equal to or greater than a first set value. In addition, the policy may be a policy for entering the power saving mode of the smart air conditioner D2 if the power amount is equal to or greater than a second set value.

상기 기기 설정 조회는 상기 정책이 설정된 블럭을 읽어와 자신의 상태와 비교하는 API이다. The device setting inquiry is an API that reads a block for which the policy is set and compares the block with its own status.

상기 미터값 등록은 상기 스마트 미터(D3)에서 현재 전력량을 블럭에 쓰는 API이다. 상기 스마트 미터(D3)가 전력량을 쓸 때는 자신의 개인키로 전자서명을 생성하여 같이 블럭에 써서 시시간의 상호 인증을 확인할 수 있다. The meter value registration is an API for writing the current amount of power to the block in the smart meter D3. When the smart meter D3 writes the amount of power, it can generate an electronic signature with its own private key and write it in the same block to verify the mutual authentication of the time.

상기 미터값 조회는 상기 스마트 전구(D1)나 상기 스마트 에어컨(D2) 같은 상기 IoT 기기가 현재 전력량을 블럭에서 읽어오는 API이다. The meter value inquiry is an API in which the IoT device such as the smart bulb D1 or the smart air conditioner D2 reads the current amount of power from the block.

도 2는 도 1의 IoT 기기 제어 시스템에서 스마트 컨트랙트를 생성하는 방법을 나타내는 개념도이다. 2 is a conceptual diagram showing a method of generating a smart contract in the IoT device control system of FIG.

도 1 및 도 2를 참조하면, 상기 IoT 월렛 API(110)는 상기 블럭(BC)에 스마트 컨트랙트를 생성할 수 있다. Referring to FIGS. 1 and 2, the IoT wallet API 110 may generate a smart contract in the block BC.

상기 IoT 월렛 API(110)는 상기 블럭(BC)에 기기 등록 스마트 컨트랙트 생성을 요청한다. 상기 블럭(BC)은 상기 요청에 따라 트랜잭션 ID를 생성하여 상기 트랜잭션 ID를 상기 IoT 월렛 API(110)에 출력한다. The IoT wallet API 110 requests the block BC to generate a device registration smart contract. The block (BC) generates a transaction ID according to the request and outputs the transaction ID to the IoT Wallet API (110).

상기 블럭(BC)은 상기 기기 등록 스마트 컨트랙트에 대해 마이닝(mining, 채굴)을 수행한다. 상기 마이닝은 상기 블럭 체인 내에서 수행될 수 있다. 상기 마이닝은 상기 블럭 체인에 접속하는 다른 주체들에 의해 수행될 수 있다. 상기 마이닝이 완료되면, 상기 스마트 컨트랙트가 상기 블럭 체인 내에 생성된다. 상기 스마트 컨트랙트는 상기 블럭 체인 IoT 서버(100)의 블럭(BC)에 생성될 수 있다. 또한, 상기 스마트 컨트랙트는 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성될 수 있다. The block (BC) performs mining on the device-registered smart contract. The mining may be performed in the block chain. The mining may be performed by other subjects accessing the block chain. When the mining is completed, the smart contract is created in the block chain. The smart contract may be generated in the block (BC) of the IoT server 100 in the block chain. The smart contract may also be generated in a block of other entities connected within the block chain.

상기 IoT 월렛 API(110)는 트랜잭션 ID가 상기 블럭(BC)에 포함되는지 상기 블럭(BC)에 포함되지 않는지를 watch한다. 상기 블럭(BC)은 상기 마이닝이 완료되어 상기 스마트 컨트랙트가 생성되면, 상기 스마트 컨트랙트의 어드레스를 생성한다. 상기 블럭(BC)은 상기 스마트 컨트랙트의 어드레스를 상기 IoT 월렛 API(110)에 출력한다. 상기 IoT 월렛 API(110)는 상기 스마트 컨트랙트의 어드레스를 저장한다. 상기 IoT 월렛 API(110)는 상기 스마트 컨트랙트의 어드레스를 이용하여 상기 스마트 컨트랙트를 실행할 수 있다. The IoT Wallet API 110 watches whether the transaction ID is included in the block BC or not in the block BC. When the mining is completed and the smart contract is generated, the block BC generates an address of the smart contract. The block (BC) outputs the address of the smart contract to the IoT Wallet API (110). The IoT wallet API 110 stores the address of the smart contract. The IoT wallet API 110 may execute the smart contract using the address of the smart contract.

상기 스마트 컨트랙트의 예시는 아래와 같다. 이하의 스마트 컨트랙트는 상기 스마트 에어컨(D2)의 제약을 컨트롤하기 위한 스마트 컨트랙트이며, 상기 스마트 컨트랙트는 상기 스마트 에어컨(D2)의 제약, 공개키 및 서명을 출력할 수 있다. An example of the smart contract is as follows. The following smart contract is a smart contract for controlling the restriction of the smart air conditioner D2, and the smart contract can output the restriction, the public key and the signature of the smart air conditioner D2.

[스마트 컨트랙트 예시][Smart Contract Example]

Figure 112017039312314-pat00001
Figure 112017039312314-pat00001

도 3은 도 1의 IoT 기기 제어 시스템에서 IoT 기기들을 등록하는 방법을 나타내는 개념도이다. 3 is a conceptual diagram illustrating a method of registering IoT devices in the IoT device control system of FIG.

도 1 내지 도 3을 참조하면, 상기 IoT 기기들(D1, D2, D3)을 상기 블럭(BC)에 등록한다. 이때, 상기 IoT 기기들(D1, D2, D3)을 상기 블럭(BC)에 등록하기 위한 기기 등록 스마트 컨트랙트가 도 2의 방식으로 이미 생성되어 있어야 한다. 상기 모바일 장치(MD) 또한 상기 블럭(BC)에 등록할 수 있다. 1 to 3, the IoT devices D1, D2 and D3 are registered in the block BC. At this time, a device registered smart contract for registering the IoT devices D1, D2, and D3 in the block BC has already been generated in the manner shown in FIG. The mobile device MD may also register with the block BC.

상기 IoT 기기(D1, D2, D3)는 공개키를 생성한다. 예를 들어, 상기 IoT 기기(D1, D2, D3)의 공개키는 비대칭키 쌍일 수 있다. 예를 들어, 상기 IoT 기기(D1, D2, D3)의 공개키는 기기 제조사로부터 제공받는 인증서일 수 있다. The IoT devices D1, D2, and D3 generate a public key. For example, the public key of the IoT device D1, D2, D3 may be an asymmetric key pair. For example, the public key of the IoT devices D1, D2, and D3 may be a certificate provided by a device manufacturer.

상기 IoT 기기(D1, D2, D3)는 기기 등록 API를 이용하여 상기 IoT 월렛 API(110)에 상기 기기의 정보를 전달한다. 상기 IoT 기기(D1, D2, D3)는 기기 등록 API를 이용하여 상기 IoT 월렛 API(110)에 (device_id, device_type, pub_key)를 전송할 수 있다. 상기 devicd_id는 상기 IoT 기기(D1, D2, D3)의 시리얼 넘버일 수 있다. 상기 device_type은 상기 IoT 기기(D1, D2, D3)가 어떤 종류의 제품(예컨대, D1: 스마트 전구, D2: 스마트 에어컨, D3: 스마트 미터)인지를 의미할 수 있다. 상기 pub_key는 상기 IoT 기기(D1, D2, D3)의 공개키이다. The IoT devices D1, D2, and D3 transmit the device information to the IoT Wallet API 110 using a device registration API. The IoT devices D1, D2, and D3 may transmit (device_id, device_type, pub_key) to the IoT Wallet API 110 using a device registration API. The devicd_id may be a serial number of the IoT devices D1, D2, and D3. The device_type may indicate what sort of product (for example, D1: smart bulb, D2: smart air conditioner, D3: smart meter) of the IoT devices D1, D2 and D3. The pub_key is a public key of the IoT devices D1, D2, and D3.

상기 IoT 월렛 API(110)는 상기 IoT 기기(D1, D2, D3)로부터 전달받은 상기 기기의 정보를 기초로 기기 등록 스마트 컨트랙트 어드레스를 호출하여 상기 블럭(BC) 내의 기기 등록 스마트 컨트랙트를 실행한다. 상기 IoT 월렛 API(110)는 상기 기기 등록 스마트 컨트랙트 어드레스를 호출할 때, 상기 (device_id, device_type, pub_key)를 전송할 수 있다. The IoT wallet API 110 calls the device registered smart contract address based on the information of the device received from the IoT devices D1, D2 and D3 to execute the device registered smart contract in the block BC. The IoT wallet API 110 may transmit the (device_id, device_type, pub_key) when calling the device registered smart contract address.

상기 IoT 월렛 API(110)는 상기 블럭(BC)으로부터 트랜잭션 ID를 부여받고, 상기 블럭(BC)은 상기 기기 등록 스마트 컨트랙트의 호출에 대해 마이닝을 수행한다. 상기 마이닝이 완료되면, 상기 기기 등록 스마트 컨트랙트의 호출 블럭이 생성된다. 상기 기기 등록 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 IoT 서버(100)의 블럭(BC)에 생성될 수 있다. 또한, 상기 기기 등록 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성될 수 있다. The IoT wallet API 110 receives a transaction ID from the block BC and the block BC performs mining on the invocation of the device registered smart contract. When the mining is completed, a call block of the device registered smart contract is generated. The calling block of the device registered smart contract may be generated in the block (BC) of the IoT server 100 in the block chain. Also, the calling block of the device registered smart contract may also be created in a block of other principals connected within the block chain.

상기 IoT 월렛 API(110)는 트랜잭션 ID가 상기 블럭(BC)에 포함되는지 상기 블럭(BC)에 포함되지 않는지를 watch한다. 상기 블럭(BC)은 상기 마이닝이 완료되어 상기 기기 등록 스마트 컨트랙트의 호출 블럭이 생성되면, 상기 호출 블럭의 ID를 생성한다. 상기 블럭(BC)은 상기 호출 블럭의 ID를 상기 IoT 월렛 API(110)에 출력한다. The IoT Wallet API 110 watches whether the transaction ID is included in the block BC or not in the block BC. When the mining is completed and a calling block of the device registered smart contract is generated, the block (BC) generates an ID of the calling block. The block (BC) outputs the ID of the calling block to the IoT Wallet API (110).

상기 IoT 월렛 API(110)는 상기 device_id, 트랜잭션 ID 및 상기 호출 블럭의 ID를 저장한다. 상기 IoT 월렛 API(110)는 상기 블럭 체인 내에서 상기 기기 등록이 완료되었는지를 상기 IoT 기기(D1, D2, D3)에 출력한다. The IoT wallet API 110 stores the device_id, the transaction ID, and the ID of the calling block. The IoT wallet API 110 outputs to the IoT devices D1, D2, and D3 whether the device registration is completed in the block chain.

도 4는 도 1의 IoT 기기 제어 시스템에서 IoT 기기들의 정책들을 등록하는 방법을 나타내는 개념도이다.4 is a conceptual diagram illustrating a method of registering policies of IoT devices in the IoT device control system of FIG.

도 1 내지 도 4를 참조하면, 상기 IoT 기기 제어 시스템 내의 스마트 컨트롤러는 상기 IoT 기기들을 제어하기 위한 정책을 설정할 수 있다. 예를 들어, 상기 스마트 컨트롤러는 상기 모바일 장치(MD)에 설치된 모바일 앱(application, app)일 수 있다.1 to 4, a smart controller in the IoT device control system may set a policy for controlling the IoT devices. For example, the smart controller may be a mobile application (app) installed in the mobile device (MD).

상기 스마트 컨트롤러는 기기 정책 API를 이용하여 상기 IoT 기기들의 정책을 상기 블럭(BC)에 등록할 수 있다. The smart controller may register the policies of the IoT devices in the block BC using a device policy API.

상기 스마트 컨트롤러는 상기 기기 정책 API를 이용하여 상기 IoT 월렛 API(110)에 (device_id, device_type, limit, sign)을 전송할 수 있다. 상기 device_id는 상기 모바일 장치의 식별자이고, 상기 device_type은 상기 정책의 설정의 대상이 되는 상기 IoT 기기의 종류를 나타내고, 상기 limit은 대응하는 device_type의 제약 사항이다. 상기 sign은 상기 모바일 장치의 검증을 위한 사인이다.The smart controller can transmit (device_id, device_type, limit, sign) to the IoT Wallet API 110 using the device policy API. The device_id is an identifier of the mobile device, the device_type indicates a type of the IoT device to which the policy is set, and the limit is a limitation of the corresponding device_type. The sign is a signature for verification of the mobile device.

상기 IoT 월렛 API(110)는 요청한 device_id가 상기 블럭(BC)에 등록되어 있는지 확인한다. 상기 device_id가 상기 블럭(BC)에 저장되어 있으면, 상기 device_id에 대응하는 transaction_id를 통해 트랜잭션 확인을 요청할 수 있고, 상기 블럭(BC)은 상기 트랜잭션 내역을 상기 IoT 월렛 API(110)에 리턴할 수 있다. 상기 트랜잭션 내역은 상기 device_id에 대응하는 기기 정보를 포함하므로, 상기 트랜잭션에서, device_id, device_type, pub_key를 확인할 수 있다. 상기 IoT 월렛 API(110)는 상기 기기 정보로부터 pub_key를 획득하고, 상기 스마트 컨트롤러로부터 받은 sign 값을 이용하여 기기 상호 인증을 수행한다.The IoT wallet API 110 checks whether the requested device_id is registered in the block BC. If the device_id is stored in the block (BC), it can request a transaction confirmation through a transaction_id corresponding to the device_id, and the block (BC) can return the transaction details to the IoT Wallet API (110) . Since the transaction details include the device information corresponding to the device_id, it is possible to identify the device_id, device_type, and pub_key in the transaction. The IoT wallet API 110 obtains pub_key from the device information and performs device mutual authentication using the sign value received from the smart controller.

상기 IoT 월렛 API(110)는 상기 스마트 컨트롤러로부터 수신한 기기 정책 정보를 기초로 정책 설정 스마트 컨트랙트 어드레스를 호출하여 상기 블럭(BC) 내의 정책 설정 스마트 컨트랙트를 실행한다. 도시하지 않았으나, 도 2에서 설명한 방식으로 정책 설정 스마트 컨트랙트는 상기 블럭(BC)에 미리 생성될 수 있고, 상기 정책 설정 스마트 컨트랙트의 어드레스는 상기 IoT 월렛 API(110)에 저장될 수 있다. 상기 IoT 월렛 API(110)는 상기 정책 설정 스마트 컨트랙트 어드레스를 호출할 때, 상기 (device_type, limit)을 전송할 수 있다. The IoT wallet API 110 calls the policy setting smart contract address based on the device policy information received from the smart controller to execute the policy setting smart contract in the block BC. Although not shown, a policy setting smart contract can be generated in advance in the block BC in the manner described in FIG. 2, and the address of the policy setting smart contract can be stored in the IoT Wallet API 110. [ The IoT Wallet API 110 may transmit the (device_type, limit) when calling the policy setting smart contract address.

상기 IoT 월렛 API(110)는 상기 블럭(BC)으로부터 트랜잭션 ID를 부여받고, 상기 블럭(BC)은 상기 정책 설정 스마트 컨트랙트의 호출에 대해 마이닝을 수행한다. 상기 마이닝이 완료되면, 상기 정책 설정 스마트 컨트랙트의 호출 블럭이 생성된다. 상기 정책 설정 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 IoT 서버(100)의 블럭(BC)에 생성될 수 있다. 또한, 상기 정책 설정 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성될 수 있다. The IoT wallet API 110 receives a transaction ID from the block BC, and the block BC performs mining on the call of the policy setting smart contract. When the mining is completed, a call block of the policy setting smart contract is generated. The calling block of the policy setting smart contract may be generated in the block (BC) of the IoT server 100 of the block chain. The calling block of the policy setting smart contract may also be created in a block of other principals connecting within the block chain.

상기 IoT 월렛 API(110)는 트랜잭션 ID가 상기 블럭(BC)에 포함되는지 상기 블럭(BC)에 포함되지 않는지를 watch한다. 상기 블럭(BC)은 상기 마이닝이 완료되어 상기 정책 설정 스마트 컨트랙트의 호출 블럭이 생성되면, 상기 호출 블럭의 ID를 생성한다. 상기 블럭(BC)은 상기 호출 블럭의 ID를 상기 IoT 월렛 API(110)에 출력한다. The IoT Wallet API 110 watches whether the transaction ID is included in the block BC or not in the block BC. When the mining is completed and the calling block of the policy setting smart contract is generated, the block (BC) generates the ID of the calling block. The block (BC) outputs the ID of the calling block to the IoT Wallet API (110).

상기 IoT 월렛 API(110)는 상기 정책 설정이 완료되었는지를 상기 스마트 컨트롤러에 출력한다. The IoT wallet API 110 outputs to the smart controller whether the policy setting is completed.

도 5는 도 1의 IoT 기기 제어 시스템에서 도 1의 스마트 미터의 전력량을 등록하는 방법을 나타내는 개념도이다.FIG. 5 is a conceptual diagram showing a method of registering the amount of electric power of the smart meter of FIG. 1 in the IoT device control system of FIG.

도 1 내지 도 5를 참조하면, 상기 IoT 기기 제어 시스템 내의 스마트 미터(D3)는 상기 IoT 기기 제어 시스템 내의 전력량을 상기 블럭(BC)에 쓸 수 있다. 1 to 5, a smart meter D3 in the IoT device control system can write the amount of power in the IoT device control system to the block BC.

상기 스마트 미터(D3)는 전력량 등록 API를 이용하여 상기 전력량을 상기 블럭(BC)에 등록할 수 있다. The smart meter D3 may register the power amount in the block BC using a power amount registration API.

상기 스마트 미터(D3)는 상기 전력량 등록 API를 이용하여 상기 IoT 월렛 API(110)에 (device_id, meter_data, sign)을 전송할 수 있다. 상기 meter_data는 상기 시스템 내의 전력량이다. 상기 sign은 상기 IoT 기기(D3)의 검증을 위한 사인이다.The smart meter D3 may transmit (device_id, meter_data, sign) to the IoT Wallet API 110 using the power amount registration API. The meter_data is the amount of power in the system. The sign is a sign for verification of the IoT device D3.

상기 IoT 월렛 API(110)는 요청한 device_id가 상기 블럭(BC)에 등록되어 있는지 확인한다. 상기 device_id가 상기 블럭(BC)에 저장되어 있으면, 상기 device_id에 대응하는 transaction_id를 통해 트랜잭션 확인을 요청할 수 있고, 상기 블럭(BC)은 상기 트랜잭션 내역을 상기 IoT 월렛 API(110)에 리턴할 수 있다. 상기 트랜잭션 내역은 상기 device_id에 대응하는 기기 정보를 포함하므로, 상기 트랜잭션에서, device_id, device_type, pub_key를 확인할 수 있다. 상기 IoT 월렛 API(110)는 상기 기기 정보로부터 pub_key를 획득하고, 상기 스마트 미터(D3)로부터 받은 sign 값을 이용하여 기기 상호 인증을 수행한다.The IoT wallet API 110 checks whether the requested device_id is registered in the block BC. If the device_id is stored in the block (BC), it can request a transaction confirmation through a transaction_id corresponding to the device_id, and the block (BC) can return the transaction details to the IoT Wallet API (110) . Since the transaction details include the device information corresponding to the device_id, it is possible to identify the device_id, device_type, and pub_key in the transaction. The IoT wallet API 110 obtains pub_key from the device information and performs device mutual authentication using the sign value received from the smart meter D3.

상기 IoT 월렛 API(110)는 상기 스마트 미터(D3)로부터 수신한 전력량을 기초로 전력량 등록 스마트 컨트랙트 어드레스를 호출하여 상기 블럭(BC) 내의 전력량 등록 스마트 컨트랙트를 실행한다. 도시하지 않았으나, 도 2에서 설명한 방식으로 전력량 등록 스마트 컨트랙트는 상기 블럭(BC)에 미리 생성될 수 있고, 상기 전력량 등록 스마트 컨트랙트의 어드레스는 상기 IoT 월렛 API(110)에 저장될 수 있다. 상기 IoT 월렛 API(110)는 상기 전력량 등록 스마트 컨트랙트 어드레스를 호출할 때, 상기 (meter_data)를 전송할 수 있다. The IoT wallet API 110 calls a power amount registered smart contract address based on the amount of power received from the smart meter D3 to execute a power amount registered smart contract in the block BC. Although not shown, the electric power registered smart contract can be generated in advance in the block BC in the manner described with reference to FIG. 2, and the address of the electric power registered smart contract can be stored in the IoT Wallet API 110. The IoT Wallet API 110 may transmit the (meter_data) when invoking the power amount registered smart contract address.

상기 IoT 월렛 API(110)는 상기 블럭(BC)으로부터 트랜잭션 ID를 부여받고, 상기 블럭(BC)은 상기 전력량 등록 스마트 컨트랙트의 호출에 대해 마이닝을 수행한다. 상기 마이닝이 완료되면, 상기 전력량 등록 스마트 컨트랙트의 호출 블럭이 생성된다. 상기 전력량 등록 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 IoT 서버(100)의 블럭(BC)에 생성될 수 있다. 또한, 상기 전력량 등록 스마트 컨트랙트의 호출 블럭은 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성될 수 있다. The IoT wallet API 110 receives a transaction ID from the block BC and the block BC performs mining on the call of the power amount registered smart contract. When the mining is completed, a call block of the power amount registered smart contract is generated. The calling block of the power amount registered smart contract may be generated in the block (BC) of the IoT server 100 of the block chain. In addition, the calling block of the power amount registered smart contract may also be generated in a block of other subjects connected in the block chain.

상기 IoT 월렛 API(110)는 트랜잭션 ID가 상기 블럭(BC)에 포함되는지 상기 블럭(BC)에 포함되지 않는지를 watch한다. 상기 블럭(BC)은 상기 마이닝이 완료되어 상기 전력량 등록 스마트 컨트랙트의 호출 블럭이 생성되면, 상기 호출 블럭의 ID를 생성한다. 상기 블럭(BC)은 상기 호출 블럭의 ID를 상기 IoT 월렛 API(110)에 출력한다. The IoT Wallet API 110 watches whether the transaction ID is included in the block BC or not in the block BC. When the mining is completed and the calling block of the power amount registered smart contract is generated, the block (BC) generates the ID of the calling block. The block (BC) outputs the ID of the calling block to the IoT Wallet API (110).

상기 IoT 월렛 API(110)는 상기 전력량 등록이 완료되었는지를 상기 스마트 미터(D3)에 출력한다. The IoT wallet API 110 outputs to the smart meter D3 whether or not the power amount registration is completed.

도 6은 도 1의 IoT 기기 제어 시스템에서 IoT 기기들을 제어하는 방법을 나타내는 개념도이다.6 is a conceptual diagram showing a method of controlling IoT devices in the IoT device control system of FIG.

도 1 내지 도 6을 참조하면, IoT 기기(D1, D2)는 전력량을 가져오고, 정책 정보를 가져와서, 상기 정보를 토대로 절전 모드에 진입할지를 결정할 수 있다. Referring to FIGS. 1 to 6, the IoT devices D1 and D2 may obtain the amount of power, obtain policy information, and determine whether to enter the power saving mode based on the information.

상기 IoT 기기(D1, D2)는 전력량 가져오기 API를 이용하여 상기 블럭(BC)에 저장된 전력량을 읽어올 수 있다. 상기 IoT 기기(D1, D2)는 상기 전력량 가져오기 API를 이용하여 상기 IoT 월렛 API(110)에 (device_id, sign)을 전송할 수 있다. The IoT devices D1 and D2 can read the amount of power stored in the block BC by using the power import API. The IoT devices D1 and D2 may transmit (device_id, sign) to the IoT wallet API 110 using the power amount fetching API.

상기 IoT 월렛 API(110)는 요청한 device_id의 기기 검증을 수행한다. 상기 기기 검증의 과정은 도 4의 1.1 내지 1.5 단계와 동일하며, 이에 대한 구체적인 설명은 생략한다.The IoT wallet API 110 performs device verification of the requested device_id. The process of the device verification is the same as steps 1.1 to 1.5 of FIG. 4, and a detailed description thereof will be omitted.

상기 IoT 월렛 API(110)는 전력량 등록 스마트 컨트랙트의 latest Event를 상기 블럭(BC)에 호출한다. 상기 전력량 등록 스마트 컨트랙트의 latest Event는 상기 스마트 미터(D3)에 의해 마지막 등록된 전력량 정보를 포함한다. 상기 IoT 월렛 API(110)는 상기 블럭(BC)으로부터 수신한 전력량 정보인 latest Meter Value를 상기 IoT 기기(D1, D2)에 전송할 수 있다. The IoT wallet API 110 calls the latest event of the electric power registered smart contract to the block BC. The latest event of the power amount registered smart contract includes the latest registered power amount information by the smart meter D3. The IoT wallet API 110 may transmit the latest meter value, which is the power amount information received from the block BC, to the IoT devices D1 and D2.

상기 IoT 기기(D1, D2)는 정책 정보 가져오기 API를 이용하여 상기 블럭(BC)에 저장된 정책 정보를 읽어올 수 있다. 상기 IoT 기기(D1, D2)는 상기 정책 정보 가져오기 API를 이용하여 상기 IoT 월렛 API(110)에 (device_id, device_type, sign)을 전송할 수 있다. The IoT devices D1 and D2 can read the policy information stored in the block BC using the policy information fetching API. The IoT devices D1 and D2 may transmit (device_id, device_type, sign) to the IoT wallet API 110 using the policy information fetching API.

상기 IoT 월렛 API(110)는 요청한 device_id의 기기 검증을 수행한다. 상기 기기 검증의 과정은 도 4의 1.1 내지 1.5 단계와 동일하며, 이에 대한 구체적인 설명은 생략한다.The IoT wallet API 110 performs device verification of the requested device_id. The process of the device verification is the same as steps 1.1 to 1.5 of FIG. 4, and a detailed description thereof will be omitted.

상기 IoT 월렛 API(110)는 정책 설정 스마트 컨트랙트의 latest Event를 상기 블럭(BC)에 호출한다. 상기 정책 설정 스마트 컨트랙트의 latest Event는 상기 스마트 컨트롤러에 의해 마지막 등록된 정책 설정 정보를 포함한다. 상기 IoT 월렛 API(110)는 상기 블럭(BC)으로부터 수신한 정책 정보인 limit Value를 상기 IoT 기기(D1, D2)에 전송할 수 있다. The IoT wallet API 110 calls the latest event of the policy setting smart contract to the block BC. The latest event of the policy setting smart contract includes policy setting information last registered by the smart controller. The IoT wallet API 110 may transmit the limit value, which is policy information received from the block BC, to the IoT devices D1 and D2.

상기 IoT 기기(D1, D2)는 상기 전력량 가져오기 API를 통해 수신한 latest meter value와 상기 정책 정보 가져오기 API를 통해 수신한 상기 limit value를 비교한다. The IoT devices D1 and D2 compare the latest meter value received via the power amount fetching API with the limit value received via the policy information fetching API.

예를 들어, 상기 정책에 설정된 절전 모드 threshold인 limit보다 상기 meter값이 큰 경우에는 상기 IoT 기기(D1, D2)가 절전 모드로 동작할 수 있다. For example, when the meter value is larger than the power-saving mode threshold set in the policy, the IoT devices D1 and D2 may operate in a power saving mode.

예를 들어, 상기 정책에 설정된 절전 모드 threshold인 limit보다 상기 meter값이 작은 경우에는 상기 IoT 기기(D1, D2)가 절전 모드가 아닌 일반 모드로 동작할 수 있다. For example, when the meter value is smaller than the power-saving mode threshold set in the policy, the IoT devices D1 and D2 may operate in the normal mode instead of the power saving mode.

본 실시예에서는 기기의 정책이 전력량에 따른 절전 모드 진입 여부인 것을 예시하였으나, 본 발명은 이에 한정되지 않는다. 상기 스마트 컨트롤러를 이용하여, 상기 IoT 기기 제어 시스템 내의 다양한 IoT 기기의 다양한 동작을 제어할 수 있다. 예를 들어, 상기 스마트 컨트롤러를 이용하여, IoT 기기의 턴 온, 턴 오프, 동작 시간, 동작 세기, 동작 모드 등을 조절할 수 있다. In the present embodiment, it is exemplified that the policy of the device is to enter the power save mode according to the amount of power, but the present invention is not limited thereto. By using the smart controller, various operations of various IoT devices in the IoT device control system can be controlled. For example, the smart controller can be used to control the turn-on, turn-off, operation time, operation intensity, operation mode, and the like of the IoT device.

본 실시예에 따르면, 상기 IoT 기기 제어 시스템은 블럭 체인에 대한 처리를 대행하는 IoT 월렛 API를 포함하여 사용자 또는 기기의 계정을 관리하고 기기의 제어를 수행하거나 정책을 관리하는 블럭 체인 IoT 서버를 포함하므로, IoT 기기 제어 시스템의 신뢰성을 향상시킬 수 있다. 또한, 상기 블럭 체인 IoT 서버에만 상기 블럭이 저장되므로, IoT 기기들의 경량성을 유지할 수 있고, 상기 IoT 플랫폼 구축에 필요한 리소스를 감소시킬 수 있다. According to the present embodiment, the IoT device control system includes a block-type IoT server that manages accounts of a user or a device, performs control of devices or manages policies, including an IoT Wallet API that performs processing for block chains Therefore, the reliability of the IoT device control system can be improved. In addition, since the block is stored only in the block IoT server, the lightness of the IoT devices can be maintained, and the resources required for constructing the IoT platform can be reduced.

또한, 상기 블럭 체인을 이용한 IoT 기기 또는 사용자에게 식별 가능한 공개키와 개인키를 이용하여 해당 기기에 대한 상호 인증을 수행하여 허용되지 않은 접근을 효과적으로 통제할 수 있다. In addition, mutual authentication is performed for the corresponding device using the IoT device using the block chain or the public key and the private key that can be identified to the user, thereby effectively controlling the unauthorized access.

본 발명은 IoT 기기를 포함하는 다양한 시스템에 널리 적용될 수 있다. The present invention can be widely applied to various systems including IoT devices.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims. It will be understood.

100: 블럭 체인 IoT 서버 110: IoT 월렛 API
BC: 블럭 체인용 블럭 D1: 스마트 전구
D2: 스마트 에어컨 D3: 스마트 미터
MD: 모바일 장치
100: Block Chain IoT Server 110: IoT Wallet API
BC: Block for block chain D1: Smart light bulb
D2: Smart air conditioner D3: Smart meter
MD: Mobile device

Claims (11)

IoT 월렛 API를 이용하여 블럭 체인용 블럭에 스마트 컨트랙트를 생성하는 단계;
상기 스마트 컨트랙트 중 기기 등록 스마트 컨트랙트를 이용하여 IoT 기기를 상기 블럭에 등록하는 단계;
상기 스마트 컨트랙트 중 정책 설정 스마트 컨트랙트를 이용하여 상기 IoT 기기를 제어하기 위한 정책을 설정하는 단계;
상기 정책 설정 스마트 컨트랙트의 마지막 이벤트(latest event) 정보를 기초로 상기 IoT 기기의 정책을 상기 블럭으로부터 수신하는 단계; 및
상기 IoT 기기의 정책을 기초로 상기 IoT의 동작 모드를 결정하는 단계를 포함하는 IoT 기기 제어 방법.
Creating a smart contract in a block for a block chain using the IoT Wallet API;
Registering the IoT device in the block using the device registered smart contract of the smart contract;
Setting a policy for controlling the IoT device using the policy setting smart contract among the smart contracts;
Receiving a policy of the IoT device from the block based on latest event information of the policy setting smart contract; And
And determining an operation mode of the IoT based on the policy of the IoT device.
복수의 IoT 기기들; 및
상기 IoT 기기들과 통신하는 블럭 체인 IoT 서버를 포함하고,
상기 블럭 체인 IoT 서버는
블럭 체인을 동작시키기 위한 블럭; 및
상기 IoT 기기들이 블럭 체인을 이용할 수 있도록 하는 API들의 모음인 IoT 월렛 API를 포함하는 IoT 기기 제어 시스템.
A plurality of IoT devices; And
And an IoT server as a block communicating with the IoT devices,
The block IoT server
A block for operating a block chain; And
And an IoT Wallet API that is a collection of APIs that allow the IoT devices to utilize the block chain.
제2항에 있어서, 상기 블럭 체인 IoT 서버와 통신하며, 상기 IoT 기기들의 동작을 제어하는 모바일 장치를 더 포함하는 것을 특징으로 하는 IoT 기기 제어 시스템.The IoT device control system according to claim 2, further comprising: a mobile device communicating with the block IoT server and controlling an operation of the IoT devices. 제3항에 있어서, 상기 IoT 월렛 API는 상기 블럭에 스마트 컨트랙트의 생성을 요청하고,
상기 블럭은 상기 요청에 따라 제1 트랜잭션 ID를 생성하여 상기 제1 트랜잭션 ID를 상기 IoT 월렛 API에 출력하며,
상기 블럭은 상기 스마트 컨트랙트에 대해 마이닝을 수행하고, 상기 마이닝이 완료되면 상기 스마트 컨트랙트를 상기 생성하며, 상기 마이닝이 완료되면 상기 스마트 컨트랙트의 어드레스를 생성하여 상기 스마트 컨트랙트의 어드레스를 상기 IoT 월렛에 출력하고,
상기 IoT 월렛 API는 상기 제1 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 IoT 월렛 API는 상기 블럭으로부터 수신한 상기 스마트 컨트랙트의 어드레스를 저장하는 것을 특징으로 하는 IoT 기기 제어 시스템.
4. The method of claim 3, wherein the IoT Wallet API requests creation of a smart contract in the block,
The block generates a first transaction ID in response to the request and outputs the first transaction ID to the IoT Wallet API,
Wherein the block generates the address of the smart contract by performing mining on the smart contract, generating the smart contract when the mining is completed, completing the mining and outputting the address of the smart contract to the IoT wallet and,
Wherein the IoT Wallet API monitors whether the first transaction ID is included in the block, and the IoT Wallet API stores an address of the smart contract received from the block.
제4항에 있어서, 상기 스마트 컨트랙트에 대해 마이닝이 완료되면, 상기 스마트 컨트랙트는 상기 블럭 체인 내에 접속하는 다른 주체들의 블럭에도 생성되는 것을 특징으로 하는 IoT 기기 제어 시스템.5. The IoT device control system according to claim 4, wherein when the mining is completed for the smart contract, the smart contract is also generated in a block of other entities connected in the block chain. 제4항에 있어서, 상기 IoT 기기를 상기 블럭에 등록하기 위해, 상기 IoT 월렛 API는 기기 등록 스마트 컨트랙트를 상기 블럭에 등록하고,
상기 IoT 기기는 기기 등록 API를 이용하여 상기 IoT 월렛 API에 상기 IoT 기기의 정보를 전달하며,
상기 IoT 월렛 API는 상기 IoT 기기로부터 수신한 상기 기기의 정보를 기초로 상기 기기 등록 스마트 컨트랙트의 어드레스를 호출하고,
상기 블럭은 상기 기기 등록 스마트 컨트랙트의 어드레스의 호출에 대한 제2 트랜잭션 ID를 생성하여 상기 제2 트랜잭션 ID를 상기 IoT 월렛 API에 출력하며, 상기 기기 등록 스마트 컨트랙트의 어드레스의 호출에 대한 마이닝을 수행하고, 상기 마이닝이 완료되면, 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 생성하여 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 상기 IoT 월렛에 출력하고,
상기 IoT 월렛 API는 상기 제2 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 블럭으로부터 수신한 상기 기기 등록 스마트 컨트랙트의 호출 블럭을 저장하는 것을 특징으로 하는 IoT 기기 제어 시스템.
5. The method of claim 4, wherein, in order to register the IoT device in the block, the IoT Wallet API registers the device registered smart contract in the block,
The IoT device transmits information of the IoT device to the IoT wallet API using a device registration API,
The IoT wallet API calls an address of the device registered smart contract based on the information of the device received from the IoT device,
The block generates a second transaction ID for a call of the address of the device registered smart contract, outputs the second transaction ID to the IoT Wallet API, performs mining on the call of the device registered smart contract, When the mining is completed, a calling block of the device registered smart contract is generated, and a calling block of the device registered smart contract is outputted to the IoT wallet,
Wherein the IoT wallet API monitors whether the second transaction ID is included in the block and stores a call block of the device registered smart contract received from the block.
제6항에 있어서, 상기 IoT 기기는 상기 기기 등록 API를 이용하여, 상기 IoT 기기의 식별자인 device_id, 상기 IoT 기기의 종류를 나타내는 device_type 및 상기 IoT 기기의 공개키인 pub_key를 상기 IoT 월렛 API에 전송하는 것을 특징으로 하는 IoT 기기 제어 시스템.The method of claim 6, wherein the IoT device transmits the device_id, the device_type indicating the type of the IoT device, and the public key pub_key of the IoT device to the IoT Wallet API using the device registration API The IoT device control system comprising: 제6항에 있어서, 상기 IoT 기기를 제어하기 위한 정책을 설정하기 위해, 상기 IoT 월렛 API는 정책 설정 스마트 컨트랙트를 상기 블럭에 등록하고,
상기 모바일 장치의 스마트 컨트롤러는 기기 정책 API를 이용하여 상기 IoT 월렛 API에 상기 IoT 기기의 정책 정보를 전달하며,
상기 IoT 월렛 API는 상기 모바일 장치를 인증하고, 상기 스마트 컨트롤러로부터 수신한 상기 IoT 기기의 정책 정보를 기초로 상기 정책 설정 스마트 컨트랙트의 어드레스를 호출하고,
상기 블럭은 상기 정책 설정 스마트 컨트랙트의 어드레스의 호출에 대한 제3 트랜잭션 ID를 생성하여 상기 제3 트랜잭션 ID를 상기 IoT 월렛 API에 출력하며, 상기 정책 설정 스마트 컨트랙트의 어드레스의 호출에 대한 마이닝을 수행하고, 상기 마이닝이 완료되면, 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 생성하여 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 상기 IoT 월렛에 출력하고,
상기 IoT 월렛 API는 상기 제3 트랜잭션 ID가 상기 블럭에 포함되는지 모니터링하고, 상기 블럭으로부터 수신한 상기 정책 설정 스마트 컨트랙트의 호출 블럭을 저장하는 것을 특징으로 하는 IoT 기기 제어 시스템.
7. The method according to claim 6, wherein, in order to set a policy for controlling the IoT device, the IoT Wallet API registers the policy setting smart contract in the block,
The smart controller of the mobile device transmits policy information of the IoT device to the IoT Wallet API using a device policy API,
Wherein the IoT wallet API authenticates the mobile device, calls an address of the policy setting smart contract based on the policy information of the IoT device received from the smart controller,
The block generates a third transaction ID for a call of the address of the policy setting smart contract and outputs the third transaction ID to the IoT Wallet API, performs mining on the call of the address of the policy setting smart contract And generating a call block of the policy setting smart contract to output a calling block of the policy setting smart contract to the IoT wallet when the mining is completed,
Wherein the IoT wallet API monitors whether the third transaction ID is included in the block and stores a call block of the policy setting smart contract received from the block.
제8항에 있어서, 상기 스마트 컨트롤러는 상기 기기 정책 API를 이용하여, 상기 모바일 장치의 고유 코드인 device_id, 상기 IoT 기기의 종류를 나타내는 device_type, 상기 IoT 기기의 정책을 나타내는 limit 및 상기 모바일 장치의 공개키인 pub_key를 상기 IoT 월렛 API에 전송하는 것을 특징으로 하는 IoT 기기 제어 시스템.The smart controller according to claim 8, wherein the smart controller is configured to use the device policy API to set a device_id that is a unique code of the mobile device, a device_type that indicates a type of the IoT device, a limit that indicates a policy of the IoT device, And transmits the key " pub_key " to the IoT wallet API. 제8항에 있어서, 상기 IoT 기기는 정책 정보 가져오기 API를 이용하여 상기 블럭에 저장된 상기 IoT 기기의 정책 정보를 수신하고,
상기 정책 정보를 기초로, 상기 IoT 기기의 동작을 제어하는 것을 특징으로 하는 IoT 기기 제어 시스템.
The apparatus of claim 8, wherein the IoT device receives policy information of the IoT device stored in the block using a policy information fetching API,
And the operation of the IoT device is controlled based on the policy information.
제10항에 있어서, 제1 IoT 기기는 스마트 전구이고, 제2 IoT 기기는 스마트 미터이며,
상기 제2 IoT 기기는 전력량 등록 API 및 전력량 등록 스마트 컨트랙트를 이용하여 상기 블럭에 상기 제2 IoT 기기에서 측정된 전력량 정보를 저장하고,
상기 모바일 장치는 상기 기기 정책 API 및 상기 정책 설정 스마트 컨트랙트를 이용하여 상기 블럭에 상기 제1 IoT 기기의 정책 정보를 저장하며,
상기 제1 IoT 기기는 전력량 가져오기 API 및 상기 전력량 등록 스마트 컨트랙트의 마지막 이벤트(latest event) 정보를 이용하여 상기 블럭에 저장된 상기 전력량 정보를 수신하고,
상기 제1 IoT 기기는 상기 정책 정보 가져오기 API 및 상기 정책 설정 스마트 컨트랙트의 마지막 이벤트 정보를 이용하여 상기 블럭에 저장된 상기 제1 IoT 기기의 정책 정보를 수신하며,
상기 제1 IoT 기기는 상기 전력량 정보와 상기 정책 정보에 설정된 절전 모드 설정값을 비교하여, 상기 전력량 정보의 전력량이 상기 절전 모드 설정값보다 크면 절전 모드에서 동작하고, 상기 전력량 정보의 상기 전력량이 상기 절전 모드 설정값보다 작으면 일반 모드에서 동작하는 것을 특징으로 하는 IoT 기기 제어 시스템.
11. The apparatus of claim 10, wherein the first IoT device is a smart bulb, the second IoT device is a smart meter,
Wherein the second IoT device stores the power amount information measured by the second IoT device in the block using a power amount registration API and a power amount registration smart contract,
Wherein the mobile device stores policy information of the first IoT device in the block using the device policy API and the policy setting smart contract,
The first IoT device receives the power amount information stored in the block using the power amount fetching API and latest event information of the power amount registered smart contract,
Wherein the first IoT device receives the policy information of the first IoT device stored in the block using the policy information fetching API and the last event information of the policy setting smart contract,
Wherein the first IoT device compares the power amount information with the power saving mode set value set in the policy information and operates in a power saving mode if the power amount of the power amount information is larger than the power saving mode setting value, And if the power saving mode setting value is smaller than the power saving mode setting value, the normal operation mode is operated.
KR1020170051558A 2017-04-21 2017-04-21 METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME KR101778768B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170051558A KR101778768B1 (en) 2017-04-21 2017-04-21 METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170051558A KR101778768B1 (en) 2017-04-21 2017-04-21 METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME

Publications (1)

Publication Number Publication Date
KR101778768B1 true KR101778768B1 (en) 2017-09-18

Family

ID=60034307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170051558A KR101778768B1 (en) 2017-04-21 2017-04-21 METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME

Country Status (1)

Country Link
KR (1) KR101778768B1 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325775A (en) * 2018-08-08 2019-02-12 广东技术师范学院 A kind of anti-tamper system for tracing and managing of medicine information based on mobile block chain
KR101952329B1 (en) 2018-03-22 2019-02-26 주식회사 스트리미 Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium
KR20190045575A (en) * 2017-10-24 2019-05-03 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system
KR20190084165A (en) * 2017-12-21 2019-07-16 서강대학교산학협력단 Remote meter read method and system using blockchain
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN
KR20190100733A (en) * 2018-02-21 2019-08-29 이화여자대학교 산학협력단 Randomized mesh blockchain system based on group and identification method of integrity
CN110266807A (en) * 2019-06-28 2019-09-20 中兴通讯股份有限公司 Internet of things data processing method and processing device
KR102042935B1 (en) * 2018-12-14 2019-11-08 부경대학교 산학협력단 Anonymous messenger reputation system based on blockchain and reputation appraisal method thereof
KR20190128846A (en) * 2018-05-09 2019-11-19 동국대학교 경주캠퍼스 산학협력단 Security method of electric energy
KR20200003501A (en) * 2018-07-02 2020-01-10 박수현 Apparatus and method for providing data service using blockchain network
KR20200004193A (en) * 2018-07-03 2020-01-13 주식회사 케이티 Apparatus and method establishing a policy of end-to-end communication
KR20200059945A (en) 2018-11-22 2020-05-29 임지훈 Gasoline information monitoring system using block chain and monitoring method using the same
KR20200068775A (en) 2018-11-28 2020-06-16 주식회사 파이랩테크놀로지 Automated Smart Contract Tagging System based on Tag Recommendation Model
US10693716B2 (en) 2018-05-29 2020-06-23 At&T Mobility Ii Llc Blockchain based device management
KR20200074474A (en) * 2018-12-17 2020-06-25 (주)에스유지 Data storage method using block chain based IoT platform
KR20200086402A (en) * 2019-01-08 2020-07-17 주식회사 호윤 Block chain system and method thereof
KR20200087327A (en) * 2018-12-28 2020-07-21 달리웍스 주식회사 System and method for providing data reliability based on blockchain for iot services
ES2791552A1 (en) * 2019-05-03 2020-11-04 Iot Labs S L Procedure for the transmission, management and authorization of an economic transaction using an Internet of Things (IoT) device, a communication station and an interconnection system with the block chain (Blockchain) (Machine-translation by Google Translate, not legally binding)
KR20210107999A (en) * 2020-02-25 2021-09-02 주식회사 더블체인 Blockchain-based rapid access control systems and methods for the iot device
KR20210145415A (en) * 2020-05-25 2021-12-02 한국전자통신연구원 Apparatus and Method for Providing Sensor Data based on Blockchain
KR20210150197A (en) * 2020-06-03 2021-12-10 주식회사 포멀웍스 Method and system for providing platform for IoT service based on block-chain
WO2022124846A1 (en) * 2020-12-11 2022-06-16 삼성전자 주식회사 Hub device of iot environment, and method for processing event based on local network
WO2023158074A1 (en) * 2022-02-17 2023-08-24 엘지전자 주식회사 Apparatus and method for monitoring and controlling on basis of device specifications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170048234A1 (en) 2015-07-14 2017-02-16 Fmr Llc Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170103468A1 (en) 2015-10-13 2017-04-13 TransActive Grid Inc. Use of Blockchain Based Distributed Consensus Control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170048234A1 (en) 2015-07-14 2017-02-16 Fmr Llc Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170103468A1 (en) 2015-10-13 2017-04-13 TransActive Grid Inc. Use of Blockchain Based Distributed Consensus Control

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045575A (en) * 2017-10-24 2019-05-03 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system
KR102347087B1 (en) * 2017-10-24 2022-01-05 한국전자통신연구원 Method and apparatus for autonomous mutual authentication between devices in wireless communication system
KR20190084165A (en) * 2017-12-21 2019-07-16 서강대학교산학협력단 Remote meter read method and system using blockchain
KR102039357B1 (en) * 2017-12-21 2019-11-01 서강대학교산학협력단 Remote meter read method and system using blockchain
KR20190100733A (en) * 2018-02-21 2019-08-29 이화여자대학교 산학협력단 Randomized mesh blockchain system based on group and identification method of integrity
KR102033848B1 (en) 2018-02-21 2019-10-17 이화여자대학교 산학협력단 Randomized mesh blockchain system based on group and identification method of integrity
KR101952329B1 (en) 2018-03-22 2019-02-26 주식회사 스트리미 Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium
WO2019182377A1 (en) * 2018-03-22 2019-09-26 주식회사 스트리미 Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
KR20190128846A (en) * 2018-05-09 2019-11-19 동국대학교 경주캠퍼스 산학협력단 Security method of electric energy
KR102131495B1 (en) 2018-05-09 2020-08-05 동국대학교 경주캠퍼스 산학협력단 Security method of electric energy
US10693716B2 (en) 2018-05-29 2020-06-23 At&T Mobility Ii Llc Blockchain based device management
KR20200003501A (en) * 2018-07-02 2020-01-10 박수현 Apparatus and method for providing data service using blockchain network
KR102085695B1 (en) * 2018-07-02 2020-03-06 박수현 Apparatus and method for providing data service using blockchain network
KR20200004193A (en) * 2018-07-03 2020-01-13 주식회사 케이티 Apparatus and method establishing a policy of end-to-end communication
KR102548430B1 (en) * 2018-07-03 2023-06-26 주식회사 케이티 Apparatus and method establishing a policy of end-to-end communication
CN109325775A (en) * 2018-08-08 2019-02-12 广东技术师范学院 A kind of anti-tamper system for tracing and managing of medicine information based on mobile block chain
KR20200059945A (en) 2018-11-22 2020-05-29 임지훈 Gasoline information monitoring system using block chain and monitoring method using the same
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN
KR20200068775A (en) 2018-11-28 2020-06-16 주식회사 파이랩테크놀로지 Automated Smart Contract Tagging System based on Tag Recommendation Model
KR102042935B1 (en) * 2018-12-14 2019-11-08 부경대학교 산학협력단 Anonymous messenger reputation system based on blockchain and reputation appraisal method thereof
WO2020122292A1 (en) * 2018-12-14 2020-06-18 부경대학교 산학협력단 Blockchain-based anonymous message transmitter reputation system and reputation appraisal method
KR102151746B1 (en) * 2018-12-17 2020-09-03 (주)에스유지 Data storage method using block chain based IoT platform
KR20200074474A (en) * 2018-12-17 2020-06-25 (주)에스유지 Data storage method using block chain based IoT platform
KR20200087327A (en) * 2018-12-28 2020-07-21 달리웍스 주식회사 System and method for providing data reliability based on blockchain for iot services
KR102152360B1 (en) 2018-12-28 2020-09-04 달리웍스 주식회사 System and method for providing data reliability based on blockchain for iot services
KR20200086402A (en) * 2019-01-08 2020-07-17 주식회사 호윤 Block chain system and method thereof
KR102260226B1 (en) * 2019-01-08 2021-06-04 주식회사 호윤 Block chain system and method thereof
ES2791552A1 (en) * 2019-05-03 2020-11-04 Iot Labs S L Procedure for the transmission, management and authorization of an economic transaction using an Internet of Things (IoT) device, a communication station and an interconnection system with the block chain (Blockchain) (Machine-translation by Google Translate, not legally binding)
CN110266807A (en) * 2019-06-28 2019-09-20 中兴通讯股份有限公司 Internet of things data processing method and processing device
KR20210107999A (en) * 2020-02-25 2021-09-02 주식회사 더블체인 Blockchain-based rapid access control systems and methods for the iot device
KR102335171B1 (en) * 2020-02-25 2021-12-06 주식회사 더블체인 Blockchain-based rapid access control systems and methods for the iot device
KR20210145415A (en) * 2020-05-25 2021-12-02 한국전자통신연구원 Apparatus and Method for Providing Sensor Data based on Blockchain
KR102648498B1 (en) * 2020-05-25 2024-03-19 한국전자통신연구원 Apparatus and Method for Providing Sensor Data based on Blockchain
KR102340881B1 (en) 2020-06-03 2021-12-20 주식회사 포멀웍스 Method and system for providing platform for IoT service based on block-chain
KR20210150197A (en) * 2020-06-03 2021-12-10 주식회사 포멀웍스 Method and system for providing platform for IoT service based on block-chain
WO2022124846A1 (en) * 2020-12-11 2022-06-16 삼성전자 주식회사 Hub device of iot environment, and method for processing event based on local network
WO2023158074A1 (en) * 2022-02-17 2023-08-24 엘지전자 주식회사 Apparatus and method for monitoring and controlling on basis of device specifications

Similar Documents

Publication Publication Date Title
KR101778768B1 (en) METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME
US11290287B2 (en) Digital certificate management method, apparatus, and system
JP6914353B2 (en) Real estate property management system using blockchain network
CN110414268B (en) Access control method, device, equipment and storage medium
US11469891B2 (en) Expendable cryptographic key access
US20210083856A1 (en) Improved hardware security module management
CN106133743B (en) System and method for optimizing the scanning of pre-installation application program
KR101418799B1 (en) System for providing mobile OTP service
US20140095286A1 (en) Private Third Party Validation of Hardware Identification for Offer Enrollment
US20140259028A1 (en) Mechanism for establishing temporary background communication between applications
US20220261797A1 (en) Method and apparatus for executing smart contract
EP2867820A1 (en) Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
CN109995523B (en) Activation code management method and device and activation code generation method and device
TW201520917A (en) Processing method and device
WO2020224100A1 (en) Blockchain configuration file processing apparatus, system, and method, and storage medium
EP3777082A1 (en) Trusted platform module-based prepaid access token for commercial iot online services
CN112738253A (en) Data processing method, device and equipment based on block chain and storage medium
JP2022525551A (en) Preventing erroneous transmission of copies of data records to distributed ledger systems
CN111475309A (en) Data processing method, device, block chain service system and storage medium
CN115102744A (en) Data access method and device
CN110442492A (en) A kind of System Operation Log management method and device
Barbosa et al. An internet of things security system based on grouping of smart cards managed by field programmable gate array
US9667659B2 (en) Determining security factors associated with an operating environment
US20170118197A1 (en) Sharing data between sandboxed applications with certificates
CN111598544A (en) Method and apparatus for processing information

Legal Events

Date Code Title Description
GRNT Written decision to grant