KR102161116B1 - IoT Device Remote Control System - Google Patents

IoT Device Remote Control System Download PDF

Info

Publication number
KR102161116B1
KR102161116B1 KR1020180158094A KR20180158094A KR102161116B1 KR 102161116 B1 KR102161116 B1 KR 102161116B1 KR 1020180158094 A KR1020180158094 A KR 1020180158094A KR 20180158094 A KR20180158094 A KR 20180158094A KR 102161116 B1 KR102161116 B1 KR 102161116B1
Authority
KR
South Korea
Prior art keywords
block
hash value
iot
server
iot device
Prior art date
Application number
KR1020180158094A
Other languages
Korean (ko)
Other versions
KR20200075085A (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 KR1020180158094A priority Critical patent/KR102161116B1/en
Publication of KR20200075085A publication Critical patent/KR20200075085A/en
Application granted granted Critical
Publication of KR102161116B1 publication Critical patent/KR102161116B1/en

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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/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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 단말기블록해시값 및 사용자 정보가 저장되어 있는 사용자 단말기; 상기 사용자 단말기와 네트워크로 연결된 서버; 및 상기 서버와 네트워크로 연결되고, 블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 IoT블록해시값 및 IoT기기정보가 저장되어 있는 복수의 IoT기기;를 포함하고, 상기 사용자 단말기는, 사용자의 조작에 의해 상기 복수의 IoT기기 중 어느 하나의 IoT기기를 제어하기 위한 제어데이터 및 제1난수를 생성하고, 상기 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기의 IoT기기정보, 상기 제1난수 및 상기 제어데이터를 포함하는 제1서브블록을 생성하여 상기 서버에 전송하고, 상기 서버는, 상기 제1서브블록에 포함된 단말기블록해시값을 통해 상기 사용자 단말기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 제2서브블록의 생성을 요청하고, 상기 어느 하나의 IoT기기는, 상기 서버로부터 제2서브블록의 생성을 요청받으면 제2난수를 생성하고, 상기 IoT블록해시값, IoT기기정보, 및 제2난수를 포함하는 제2서브블록을 생성하여 상기 서버에 전송하며, 상기 서버는 상기 제2서브블록에 포함된 IoT블록해시값을 통해 상기 어느 하나의 IoT기기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 상기 제어데이터를 전송하고, 상기 IoT기기는 상기 제어데이터를 전송받으면, 상기 제어데이터의 내용대로 동작을 수행하는 것을 특징으로 하는 IoT기기 원격제어 시스템 및 IoT기기 원격제어 방법을 제공하여, 사용자 단말기 및 IoT기기에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기와 IoT기기의 유효성을 검증할 수 있다.
이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
A user terminal in which the terminal block hash value and user information identical to the hash value of the N-1 block, which is the last block constituting the block chain, are stored; A server connected to the user terminal through a network; And a plurality of IoT devices connected to the server through a network and storing IoT block hash values and IoT device information equal to the hash value of the N-1 block, which is the last block constituting the block chain. The user terminal generates control data and a first random number for controlling any one of the plurality of IoT devices by a user's manipulation, and the terminal block hash value, user information, and any one of the IoT devices The first sub-block including the IoT device information, the first random number, and the control data of is generated and transmitted to the server, and the server is the user through the terminal block hash value included in the first sub-block. After verifying the validity of the terminal, a request for generation of a second sub-block is requested from one of the IoT devices, and the one of the IoT devices generates a second random number when requested to generate a second sub-block from the server. , A second sub-block including the IoT block hash value, IoT device information, and a second random number is generated and transmitted to the server, and the server is configured to use the IoT block hash value included in the second sub-block. After verifying the validity of the one IoT device, the control data is transmitted to the one IoT device, and the IoT device performs an operation according to the contents of the control data when the control data is received. By providing a remote control system for IoT devices and a method for remote control of IoT devices, the hash value of the last block stored in the user terminal and the IoT device and the hash value of the last block calculated from the block chain stored in the block chain storage are stored in the IoT device control process. By making a comparison, the validity of the user terminal and the IoT device can be verified.
Through this, it is possible to ensure safety from external attacks such as hacking that may occur in the process of remote control of IoT devices, thereby enhancing security.

Description

IoT기기 원격제어 시스템{IoT Device Remote Control System}IoT Device Remote Control System {IoT Device Remote Control System}

본 발명은 IoT기기 원격제어 시스템 및 이를 이용한 IoT기기의 원격제어 방법에 관한 것으로, 보다 상세하게는 블록체인을 이용하여 보안성이 보다 강화된 IoT기기 원격제어 시스템 및 이를 이용한 IoT기기 원격제어 방법에 관한 것이다. The present invention relates to an IoT device remote control system and a remote control method of an IoT device using the same, and more particularly, to an IoT device remote control system with enhanced security using a block chain, and an IoT device remote control method using the same. About.

일반적으로, IoT(Internet of Things)는 인터넷을 기반으로 다양한 사물들에까지 네트워크 연결을 제공함으로써 사람과 사물, 사물과 사물 간의 통신을 가능하게 하는 지능형 정보통신 기술 내지 서비스를 말한다. In general, the Internet of Things (IoT) refers to an intelligent information and communication technology or service that enables communication between people and things, and between things and things by providing a network connection to various things based on the Internet.

최근, IoT 기술 분야의 급격한 성장과 보급에 따라, 홈 IoT 가전 및 설비를 모바일 기기, 네비게이션, AI 스피커 등을 통해 제어하는 서비스가 많이 보급되고 있다. In recent years, with the rapid growth and spread of the IoT technology field, services that control home IoT appliances and facilities through mobile devices, navigation, AI speakers, etc. have been widely distributed.

이에 IoT 제어 서비스 사업자는 건설사, 전자기기 제조사 등 다양한 파트너들과 협력하여 아파트, 빌라, 단독 주택 등 주거시설 뿐 아니라 오피스 빌딩 등에 IoT 환경을 서비스하고 있다. Accordingly, IoT control service providers are servicing IoT environments to office buildings as well as residential facilities such as apartments, villas, and detached houses in cooperation with various partners such as construction companies and electronic device manufacturers.

이와 같은 IoT 제어 서비스 보급의 증가에 따라, IoT 기기의 보안성을 담보하면서 사용자 편의성을 추구하는 IoT 기기 제어 기술에 대한 관심과 요청이 급증하고 있는 추세이다. With the increase in the spread of IoT control services, interest and requests for IoT device control technology that pursue user convenience while ensuring the security of IoT devices are increasing rapidly.

한편, 블록체인(Block Chain)은 관리 대상 데이터를 '블록(Block)'이라고 하는 소규모의 데이터들이 P2P(Peer to Peer) 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다. On the other hand, in the Block Chain, small-scale data called'Block' is stored in a distributed data storage environment based on a chain-type connection created based on the P2P (Peer to Peer) method. It is a data forgery prevention technology based on distributed computing technology that no one can arbitrarily modify and anyone can view the result of the change.

이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. This is fundamentally a form of distributed data storage technology. It is a change list that records continuously changing data in all participating nodes, and is designed to prevent arbitrary manipulation by the operator of the distributed node.

이에, 이와 같은 블록체인을 이용하여 IoT기기 제어서비스의 보안을 강화할 수 있는 기술의 개발이 요구된다고 할 것이다. Therefore, it will be said that there is a need to develop a technology that can enhance the security of IoT device control services using such a block chain.

공개특허 제10-2018-0015914호 (2018.02.14.)Publication Patent No. 10-2018-0015914 (2018.02.14.)

본 발명은 상술한 요구사항을 충족시키기 위한 것으로, IoT기기 제어에 있어서 보안성이 보다 강화된 IoT기기 원격제어 시스템 및 IoT기기 원격제어 방법을 제공하는 것을 그 목적으로 한다. The present invention is to satisfy the above-described requirements, and an object of the present invention is to provide an IoT device remote control system and an IoT device remote control method with enhanced security in IoT device control.

본 발명에 의한 IoT기기 원격제어 시스템은, 블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 단말기블록해시값 및 사용자 정보가 저장되어 있는 사용자 단말기; 상기 사용자 단말기와 네트워크로 연결된 서버; 및 상기 서버와 네트워크로 연결되고, 블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 IoT블록해시값 및 IoT기기정보가 저장되어 있는 복수의 IoT기기;를 포함하고, 상기 사용자 단말기는, 사용자의 조작에 의해 상기 복수의 IoT기기 중 어느 하나의 IoT기기를 제어하기 위한 제어데이터 및 제1난수를 생성하고, 상기 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기의 IoT기기정보, 상기 제1난수 및 상기 제어데이터를 포함하는 제1서브블록을 생성하여 상기 서버에 전송하고, 상기 서버는, 상기 제1서브블록에 포함된 단말기블록해시값을 통해 상기 사용자 단말기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 제2서브블록의 생성을 요청하고, 상기 어느 하나의 IoT기기는, 상기 서버로부터 제2서브블록의 생성을 요청받으면 제2난수를 생성하고, 상기 IoT블록해시값, IoT기기정보, 및 제2난수를 포함하는 제2서브블록을 생성하여 상기 서버에 전송하며, 상기 서버는 상기 제2서브블록에 포함된 IoT블록해시값을 통해 상기 어느 하나의 IoT기기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 상기 제어데이터를 전송하고, 상기 IoT기기는 상기 제어데이터를 전송받으면, 상기 제어데이터의 내용대로 동작을 수행할 수 있다. The IoT device remote control system according to the present invention comprises: a user terminal in which a terminal block hash value and user information identical to a hash value of an N-1 block, which is a last block constituting a block chain, are stored; A server connected to the user terminal through a network; And a plurality of IoT devices connected to the server through a network and storing IoT block hash values and IoT device information equal to the hash value of the N-1 block, which is the last block constituting the block chain. The user terminal generates control data and a first random number for controlling any one of the plurality of IoT devices by a user's manipulation, and the terminal block hash value, user information, and any one of the IoT devices The first sub-block including the IoT device information, the first random number, and the control data of is generated and transmitted to the server, and the server is the user through the terminal block hash value included in the first sub-block. After verifying the validity of the terminal, a request for generation of a second sub-block is requested from one of the IoT devices, and the one of the IoT devices generates a second random number when requested to generate a second sub-block from the server. , A second sub-block including the IoT block hash value, IoT device information, and a second random number is generated and transmitted to the server, and the server is configured to use the IoT block hash value included in the second sub-block. After verifying the validity of any of the IoT devices, the control data is transmitted to any of the IoT devices, and the IoT device may perform an operation according to the contents of the control data when the control data is received.

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 어느 하나의 IoT기기는 상기 제어데이터에 따른 동작을 수행한 후 동작 수행결과데이터를 상기 서버로 전송하고, 상기 서버는 상기 동작 수행결과데이터를 상기 사용자 단말기에 전송하며, 제3난수를 생성하고, 상기 IoT블록해시값, 상기 어느 하나의 IoT기기정보, 상기 사용자정보, 상기 제3난수, 및 상기 동작 수행결과데이터를 포함하는 N차 블록을 생성할 수 있다. In the IoT device remote control system according to the present invention, the one IoT device transmits operation result data to the server after performing an operation according to the control data, and the server transmits the operation result data to the user. Transmits to the terminal, generates a third random number, generates an N-th block including the IoT block hash value, the IoT device information, the user information, the third random number, and the operation result data can do.

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는 상기 N차 블록의 해시값을 계산하고, 상기 N차 블록의 해시값을 상기 사용자 단말기와 상기 복수의 IoT기기 모두에 각각 전송하고, 상기 사용자 단말기 및 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값을 저장할 수 있다. In the IoT device remote control system according to the present invention, the server calculates a hash value of the N-th block, transmits the hash value of the N-th block to all of the user terminal and the plurality of IoT devices, respectively, and the user Both the terminal and the plurality of IoT devices may store the hash value of the N-th block transmitted from the server.

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 사용자 단말기는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정하고, 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정할 수 있다. In the IoT device remote control system according to the present invention, the user terminal modifies the terminal block hash value with the hash value of the N-th block transmitted from the server, and all of the plurality of IoT devices are transmitted from the server. The IoT block hash value may be modified with the hash value of the N-th block.

본 발명에 의한 IoT기기 원격제어 시스템은, 마지막 블록이 N-1차 블록으로 구성되어 1 내지 N-1차 블록이 연결된 형태의 블록체인을 저장하고 있는 블록체인 저장소;를 더 포함하고, 상기 서버는 상기 N차 블록을 상기 블록체인 저장소에 전송하고, 상기 블록체인 저장소는 상기 N차 블록을 상기 블록체인에 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트할 수 있다. The IoT device remote control system according to the present invention further includes a block chain storage storing a block chain in which the last block is composed of an N-1 block and 1 to N-1 blocks are connected, and the server Transmits the N-th block to the block chain storage, and the block-chain storage connects the N-th block to the block chain, and updates the block chain so that the block chain is in a form in which 1 to N-th blocks are connected. can do.

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는, 상기 제1서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 N-1차 블록의 해시값과 상기 제1서브블록에 포함된 단말기블록해시값이 동일한지 여부를 판단하여 상기 사용자 단말기의 유효성을 검증할 수 있다. In the IoT device remote control system according to the present invention, the server, upon receiving the first sub-block, loads the block chain stored in the block chain storage, and the hash value of the N-1 block included in the block chain And verifying the validity of the user terminal by determining whether the calculated hash value of the N-1 block and the terminal block hash value included in the first subblock are the same.

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는, 상기 제2서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 제N-1차 블록의 해시값과 상기 제2서브블록에 포함된 IoT블록해시값이 동일한지 여부를 판단하여 상기 어느 하나의 IoT기기의 유효성을 검증할 수 있다. In the IoT device remote control system according to the present invention, the server, upon receiving the second sub-block, loads the block chain stored in the block chain storage, and the hash value of the N-1 block included in the block chain May be calculated, and the validity of any one IoT device may be verified by determining whether the calculated hash value of the N-1 th block and the IoT block hash value included in the second subblock are the same. .

본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 제1서브블록 및 제2서브블록은 각각 적어도 일부가 대칭키 또는 비대칭키에 의해 암호화되어 전송되고, 상기 제1서브블록 및 제2서브블록은 복호화를 위한 암호키 정보를 각각 포함할 수 있다. In the IoT device remote control system according to the present invention, at least a portion of each of the first sub-block and the second sub-block is encrypted and transmitted by a symmetric key or an asymmetric key, and the first sub-block and the second sub-block are decrypted. Each may include encryption key information for.

본 발명에 의한 IoT기기 원격제어 방법은, 사용자 단말기에서 네트워크로 연결된 복수의 IoT기기 중 어느 하나의 IoT기기를 제어하기 위한 제어데이터 및 제1난수를 생성하고, 상기 사용자 단말기에 저장되어 있는 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기의 IoT기기정보, 상기 제1난수 및 상기 제어데이터를 포함하는 제1서브블록을 생성하여 서버에 전송하는 제1서브블록 전송단계; 상기 제1서브블록에 포함된 상기 단말기블록해시값을 통해 사용자 단말기의 유효성 여부를 검증하는 사용자 단말기 유효성 검증단계; 상기 복수의 IoT기기 중 상기 제1서브블록에 포함된 IoT기기정보와 동일한 IoT기기정보를 갖는 IoT기기에 제2서브블록의 생성을 요청하는 제2서브블록 생성요청단계; 상기 제2서브블록 생성요청단계에서 제2서브블록의 생성을 요청받은 상기 어느 하나의 IoT기기가, 제2난수를 생성하고, 저장되어 있는 IoT기기해시값, 상기 IoT기기정보, 상기 제2난수를 포함하는 제2서브블록을 생성하여 상기 서버에 전송하는 제2서브블록 전송단계; 상기 제2서브블록에 포함된 상기 IoT기기해시값을 통해 상기 어느 하나의 IoT기기의 유효성을 검증하는 IoT기기 유효성 검증단계; 상기 제1서브블록에 포함된 상기 제어데이터를 상기 서버에서 상기 어느 하나의 IoT기기에 전송하는 제어데이터 전송단계; 및 상기 제어데이터를 전송받은 상기 어느 하나의 IoT기기가 상기 제어데이터의 내용대로 동작을 수행하는 동작실행단계;를 포함할 수 있다. The IoT device remote control method according to the present invention generates control data and a first random number for controlling any one of a plurality of IoT devices connected to a network from a user terminal, and a terminal block stored in the user terminal. A first sub-block transmission step of generating a first sub-block including a hash value, user information, IoT device information of one of the IoT devices, the first random number, and the control data to be transmitted to a server; A user terminal validation step of verifying whether a user terminal is valid through the terminal block hash value included in the first subblock; A second sub-block generation request step of requesting generation of a second sub-block from an IoT device having the same IoT device information as the IoT device information included in the first sub-block among the plurality of IoT devices; In the second sub-block generation request step, the one IoT device requested to generate a second sub-block generates a second random number, and stores the IoT device hash value, the IoT device information, and the second A second sub-block transmission step of generating a second sub-block including a random number and transmitting it to the server; An IoT device validation step of verifying the validity of any of the IoT devices through the IoT device hash value included in the second subblock; A control data transmission step of transmitting the control data included in the first sub-block from the server to the one IoT device; And an operation execution step of performing an operation according to the contents of the control data by the IoT device receiving the control data.

본 발명에 의한 IoT기기 원격제어 방법은, 상기 어느 하나의 IoT기기가 상기 동작실행단계에서 수행한 동작의 결과를 동작 수행데이터로 생성하여, 상기 사용자 단말기에 전송하는 제어결과 전송단계;를 더 포함할 수 있다. The IoT device remote control method according to the present invention further includes a control result transmission step of generating a result of an operation performed by the one IoT device in the operation execution step as operation performance data and transmitting it to the user terminal. can do.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 제어결과 전송단계는, 상기 어느 하나의 IoT기기가 상기 동작 수행데이터를 상기 서버로 전송하고, 이후 상기 서버가 다시 상기 동작수행데이터를 상기 사용자 단말기에 전송할 수 있다. In the method for remotely controlling an IoT device according to the present invention, in the step of transmitting the control result, the one IoT device transmits the operation performance data to the server, and then the server sends the operation performance data to the user terminal again. Can be transmitted.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 사용자 단말기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 단말기블록해시값을 비교하여 동일한 경우에 상기 사용자 단말기가 유효한 것으로 판단할 수 있다.In the IoT device remote control method according to the present invention, the validation step of the user terminal comprises the block chain after the server is stored in the block chain storage and the block chain consisting of 1 to N-1 blocks is loaded. The user terminal may be determined to be valid when the terminal block hash value is the same by comparing the hash value of the last block to be performed, that is, the N-1 block.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 IoT기기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 IoT기기해시값을 비교하여 동일한 경우에 상기 어느 하나의 IoT기기가 유효한 것으로 판단할 수 있다. In the IoT device remote control method according to the present invention, in the IoT device validation step, the server is stored in a block chain storage and a block chain composed of 1 to N-1 blocks is loaded, and the block chain is configured. When the hash value of the last block, that is, the N-1 block, and the hash value of the IoT device are the same, it may be determined that one of the IoT devices is valid.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 제2서브블록 생성요청단계는, 상기 사용자 단말기 유효성 검증단계에서 상기 사용자 단말기가 유효한 것으로 판단된 경우에만 실행되고, 상기 제어데이터 전송단계는, 상기 IoT기기 유효성 검증단계에서 상기 어느 하나의 IoT기기가 유효한 것으로 판단된 경우에만 실행될 수 있다. In the IoT device remote control method according to the present invention, the second subblock generation request step is executed only when the user terminal is determined to be valid in the user terminal validation step, and the control data transmission step includes the IoT It can be executed only when it is determined that one of the IoT devices is valid in the device validation step.

본 발명에 의한 IoT기기 원격제어 방법은, 상기 서버가 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성하는 N차 블록 생성단계;를 더 포함할 수 있다. The IoT device remote control method according to the present invention may further include an N-th block generation step in which the server generates an N-th block by using the first and second sub-blocks.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 N차 블록 생성단계는, 상기 서버가 제3난수를 생성하고, 상기 단말기블록해시값 또는 IoT기기해시값, 상기 사용자 정보, 상기 어느 하나의 IoT기기의 IoT 정보, 상기 제3난수, 및 상기 제어데이터를 포함하는 N차 블록을 생성하는 단계일 수 있다. In the IoT device remote control method according to the present invention, in the N-th block generation step, the server generates a third random number, and the terminal block hash value or the IoT device hash value, the user information, and any one of the It may be a step of generating an N-order block including IoT information of an IoT device, the third random number, and the control data.

본 발명에 의한 IoT기기 원격제어 방법은, 상기 서버가 상기 N차 블록의 해시값을 계산하여 상기 사용자 단말기 및 상기 복수의 IoT기기 모두에 전송하고, 상기 사용자 단말기는 상기 N차 블록의 해시값을 단말기블록해시값으로 저장하고, 상기 복수의 IoT기기 모두는 상기 N차 블록의 해시값을 IoT기기해시값으로 저장하는 N차 블록 해시값 공유단계;를 더 포함할 수 있다. In the IoT device remote control method according to the present invention, the server calculates a hash value of the N-th block and transmits it to both the user terminal and the plurality of IoT devices, and the user terminal calculates the hash value of the N-th block. The terminal block hash value sharing step of storing the hash value of the N-th block as an IoT device hash value by all of the plurality of IoT devices.

본 발명에 의한 IoT기기 원격제어 방법은, 상기 N차 블록을 블록체인 저장소에 저장된 블록체인에 연결하여 상기 블록체인을 업데이트하는 블록체인 연결단계;를 더 포함할 수 있다. The IoT device remote control method according to the present invention may further include a block chain connection step of updating the block chain by connecting the N-th block to a block chain stored in a block chain storage.

본 발명에 의한 IoT기기 원격제어 방법에서, 상기 블록체인 연결단계는, 1 내지 N-1블록이 연결되어 구성된 상기 블록체인을 1 내지 N차 블록이 연결된 형태가 되도록 업데이트하는 단계일 수 있다. In the IoT device remote control method according to the present invention, the block chain connection step may be a step of updating the block chain configured by connecting blocks 1 to N-1 so that blocks 1 to N are connected.

본 발명에 의한 IoT기기 원격제어 방법은, 상기 사용자 단말기 유효성 검증단계 또는 상기 IoT긱 유효성 검증단계에서 상기 사용자 단말기 또는 상기 IoT기기가 유효하지 않은 것으로 판단된 경우, 상기 서버가 상기 사용자 단말기에 오류메세지를 전송하는 오류메세지 전송단계(S112);를 더 포함할 수 있다. In the IoT device remote control method according to the present invention, when the user terminal or the IoT device is determined to be invalid in the user terminal validation step or the IoT gig validation step, the server sends an error message to the user terminal. It may further include an error message transmission step (S112) for transmitting.

본 발명에 의하면, 사용자 단말기 및 IoT기기에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기와 IoT기기의 유효성을 검증하고, 이를 통해 IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다. According to the present invention, the hash value of the last block stored in the user terminal and the IoT device and the hash value of the last block calculated from the block chain stored in the blockchain storage are compared during the control process of the user terminal and the IoT device. Through this, security can be reinforced by ensuring safety from external attacks such as hacking that may occur during the remote control of IoT devices.

도 1 및 도 2는 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템의 개념도.
도 3은 제1서브블록의 구성을 도시한 참고도.
도 4는 제2서브블록의 구성을 도시한 참고도.
도 5는 N차 블록이 연결되어 업데이트된 블록체인의 구성을 도시한 참고도.
도 6은 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법의 순서도.
1 and 2 are conceptual diagrams of an IoT device remote control system according to an embodiment of the present invention.
3 is a reference diagram showing the configuration of a first sub-block.
4 is a reference diagram showing the configuration of a second sub-block.
5 is a reference diagram showing the configuration of an updated block chain by connecting N-th blocks.
6 is a flowchart of an IoT device remote control method according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명의 사상의 범위 내에 포함되는다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상의 범위 내에 포함된다고 할 것이다. Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. However, the spirit of the present invention is not limited to the presented embodiments, and those skilled in the art who understand the spirit of the present invention can add, change, or delete other elements within the scope of the same idea. Other embodiments included within the scope of the inventive concept may be easily proposed, but this will also be said to be included within the scope of the inventive concept of the present application.

또한, 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다. In addition, components having the same function within the scope of the same idea shown in the drawings of the embodiments will be described using the same reference numerals.

도 1 및 도 2는 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)의 개념도이다. 1 and 2 are conceptual diagrams of an IoT device remote control system 100 according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)은 사용자 단말기(110), 서버(120), 복수의 IoT기기(130), 및 블록체인 저장소(140)를 포함할 수 있다. 1 and 2, the IoT device remote control system 100 according to an embodiment of the present invention includes a user terminal 110, a server 120, a plurality of IoT devices 130, and a block chain storage ( 140) may be included.

사용자 단말기(110)는 유선 또는 무선 네트워크에 의해 서버(120)와 연결될 수 있으며, 이동통신 단말기, 즉 스마트폰이나 태블릿PC, 또는 개인용 컴퓨터, AI 스피커 등 다양한 형태로 제공될 수 있다. The user terminal 110 may be connected to the server 120 by a wired or wireless network, and may be provided in various forms such as a mobile communication terminal, that is, a smart phone or a tablet PC, a personal computer, and an AI speaker.

상기 사용자 단말기(110)는 단말기블록해시값, 사용자정보, 복수의 IoT기기(130) 각각에 대한 IoT기기정보를 저장하고 있을 수 있다. The user terminal 110 may store terminal block hash values, user information, and IoT device information for each of the plurality of IoT devices 130.

여기에서, 상기 단말기블록해시값은 마지막 블록의 해시값과 동일한 값일 수 있다.Here, the terminal block hash value may be the same as the hash value of the last block.

한편, 마지막 블록은 후술하는 블록체인 저장소(140)에 저장된 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다. 다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성된 블록체인일 수 있으며, 상기 마지막 블록은 상기 블록체인의 N-1차 블록일 수 있다. Meanwhile, the last block is one block constituting the block chain stored in the block chain storage 140 to be described later, and may be the block generated last. In other words, the block chain may be a block chain composed of first to N-1 blocks, and the last block may be an N-1 block of the block chain.

즉, 상기 사용자 단말기(110)가 저장하고 있는 단말기블록해시값은 블록체인 저장소(140)에 저장된 블록체인의 N-1차 블록의 해시값과 동일한 값일 수 있다. That is, the terminal block hash value stored by the user terminal 110 may be the same as the hash value of the N-1 block of the block chain stored in the block chain storage 140.

또한, 상기 사용자 단말기(110)는 사용자의 조작에 의해 복수의 IoT기기(130) 중 어느 하나의 IoT기기(130)를 제어하기 위한 제어데이터 및 제1난수를 생성할 수 있다. In addition, the user terminal 110 may generate control data and a first random number for controlling any one IoT device 130 of the plurality of IoT devices 130 by a user's manipulation.

아울러, 상기 사용자 단말기(110)는 제1서브블록을 생성하여 서버(120)에 전송할 수 있다. In addition, the user terminal 110 may generate the first sub-block and transmit it to the server 120.

이를 위해서 상기 사용자 단말기(110)는 스마트카드, 즉 IC카드를 구비할 수 있다. To this end, the user terminal 110 may include a smart card, that is, an IC card.

도 3은 제1서브블록의 구성을 도시한 참고도이다. 3 is a reference diagram showing the configuration of a first sub-block.

도 3을 참조하면, 제1서브블록은 상기 단말기블록해시값, 상기 사용자정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제1난수 및 상기 제어데이터를 포함할 수 있다. Referring to FIG. 3, the first sub-block may include the terminal block hash value, the user information, IoT device information of the IoT device 130, a first random number, and the control data.

여기에서, 상기 사용자 단말기(110)는 상기 제1서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송할 수 있으며, 상기 제1서브블록에는 복호화를 위한 암호키 정보가 더 포함되어 있을 수 있다.Here, the user terminal 110 may encrypt at least a part of the first sub-block using a symmetric key or an asymmetric key and transmit it, and the first sub-block may further include encryption key information for decryption. have.

서버(120)는 상기 사용자 단말기(110)와 네트워크로 연결되어 있을 수 있다. 예를 들어, 상기 서버(120)와 상기 사용자 단말기(110)는 유선 또는 무선 인터넷을 통해서 연결되어 상호간에 데이터를 전송할 수 있다. The server 120 may be connected to the user terminal 110 through a network. For example, the server 120 and the user terminal 110 may be connected through wired or wireless Internet to transmit data to each other.

또한, 상기 서버(120)는 상기 사용자 단말기(110)로부터 전송받은 상기 제1서브블록을 통하여 상기 사용자 단말기(110)의 유효성을 검증할 수 있다. In addition, the server 120 may verify the validity of the user terminal 110 through the first sub-block transmitted from the user terminal 110.

보다 상세하게 살펴보면, 상기 서버(120)는 상기 제1서브블록에 포함된 상기 단말기블록해시값을 통하여 상기 사용자 단말기(110)의 유효성을 검증할 수 있다. In more detail, the server 120 may verify the validity of the user terminal 110 through the terminal block hash value included in the first sub-block.

이를 위해서, 상기 서버(120)는 상기 블록체인을 저장하고 있거나 후술하는 블록체인 저장소(140)로부터 블록체인을 불러올 수 있다. To this end, the server 120 may store the block chain or load the block chain from the block chain storage 140 to be described later.

상기 서버(120)는 상기 블록체인의 마지막 블록의 해시값, 즉 N-1차 블록의 해시값을 계산하여 상기 단말기블록해시값과 비교하여, 상기 단말기블록해시값이 상기 블록체인의 마지막 블록의 해시값과 동일한 경우 상기 사용자 단말기(110)가 유효한 것으로 판단할 수 있다. The server 120 calculates the hash value of the last block of the block chain, that is, the hash value of the N-1 block and compares it with the terminal block hash value, and the terminal block hash value is the last block of the block chain. If the hash value of the block is the same, it may be determined that the user terminal 110 is valid.

이때에, 상기 서버(120)는 상기 사용자 단말기(110)가 유효한 것으로 판단된 경우, 상기 제1서브블록에 포함된 IoT기기정보와 동일한 IoT기기정보를 가진 상기 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청할 수 있다. At this time, when it is determined that the user terminal 110 is valid, the server 120 sends to any of the IoT devices 130 having the same IoT device information as the IoT device information included in the first sub-block. It is possible to request creation of a second sub-block.

한편, 상기 서버(120)는 상기 사용자 단말기(110)가 유효하지 않은 것으로 판단된 경우에는 상기 사용자 단말기(110)에 오류메세지를 전송할 수 있다. Meanwhile, when it is determined that the user terminal 110 is not valid, the server 120 may transmit an error message to the user terminal 110.

복수의 IoT기기(130)는 각각 상기 서버(120)와 네트워크로 연결될 수 있으며, IoT기기정보, IoT블록해시값을 저장하고 있을 수 있다.Each of the plurality of IoT devices 130 may be connected to the server 120 through a network, and may store IoT device information and IoT block hash values.

여기에서, 상기 IoT블록해시값은 마지막 블록의 해시값과 동일한 값일 수 있다.Here, the IoT block hash value may be the same as the hash value of the last block.

이때에, 마지막 블록은 후술하는 블록체인 저장소(140)에 저장된 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다. 다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성된 블록체인일 수 있으며, 상기 마지막 블록은 상기 블록체인의 N-1차 블록일 수 있다. At this time, the last block is one block constituting the block chain stored in the block chain storage 140 to be described later, and may be the block generated last. In other words, the block chain may be a block chain composed of first to N-1 blocks, and the last block may be an N-1 block of the block chain.

즉, 상기 복수의 IoT(110)가 각각 저장하고 있는 IoT블록해시값은 블록체인 저장소(140)에 저장된 블록체인의 N-1차 블록의 해시값과 동일한 값일 수 있다. That is, the IoT block hash value stored in each of the plurality of IoTs 110 may be the same as the hash value of the N-1 block of the block chain stored in the block chain storage 140.

상기 복수의 IoT기기(130) 중 상기 서버(120)로부터 제2서브블록의 생성을 요청받은 어느 하나의 IoT기기(130)는 제2서브블록을 생성하여 상기 서버에 전송할 수 있다. Among the plurality of IoT devices 130, any one IoT device 130 that has received a request for generation of a second sub-block from the server 120 may generate a second sub-block and transmit it to the server.

도 4는 제2서브블록의 구성을 도시한 참고도이다. 4 is a reference diagram showing the configuration of a second sub-block.

도 4를 참조하면, 상기 제2서브블록은 IoT기기해시값, IoT기기정보, 제2난수, 및 암호키 정보를 포함할 수 있다. Referring to FIG. 4, the second sub-block may include an IoT device hash value, IoT device information, a second random number, and encryption key information.

상기 제2난수는 상기 어느 하나의 IoT기기(130)에 의해 생성되는 난수일 수 있다.The second random number may be a random number generated by any one of the IoT devices 130.

여기에서, 상기 어느 하나의 IoT기기(130)는 상기 제2서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송할 수 있으며, 상기 제2서브블록에 포함된 암호키 정보는 상기 제2서브블록의 복호화를 위한 암호키 정보일 수 있다. Here, the one IoT device 130 may encrypt at least a part of the second sub-block using a symmetric key or an asymmetric key and transmit the encryption key information included in the second sub-block. It may be encryption key information for decoding a subblock.

이를 위해 상기 복수의 IoT기기(130)는 스마트카드, 즉 IC카드를 구비할 수 있다. To this end, the plurality of IoT devices 130 may include a smart card, that is, an IC card.

한편, 상기 어느 하나의 IoT기기(130)로부터 상기 제2서브블록을 전송받은 상기 서버(120)는, 상기 제2서브블록을 통하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증할 수 있다. Meanwhile, the server 120 that has received the second sub-block from the one IoT device 130 may verify the validity of the one IoT device 130 through the second sub-block. .

보다 상세하게 살펴보면, 상기 서버(120)는 상기 제2서브블록에 포함된 상기 IoT블록해시값을 통하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증할 수 있다. In more detail, the server 120 may verify the validity of any of the IoT devices 130 through the IoT block hash value included in the second subblock.

이를 위해서, 상기 서버(120)는 상기 블록체인을 저장하고 있거나 후술하는 블록체인 저장소(140)로부터 블록체인을 불러올 수 있다. To this end, the server 120 may store the block chain or load the block chain from the block chain storage 140 to be described later.

상기 서버(120)는 상기 블록체인의 마지막 블록의 해시값, 즉 N-1차 블록의 해시값을 계산하여 상기 IoT블록해시값과 비교하여, 상기 IoT블록해시값이 상기 블록체인의 마지막 블록의 해시값과 동일한 경우 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단할 수 있다. The server 120 calculates the hash value of the last block of the block chain, that is, the hash value of the N-1 block and compares the hash value with the IoT block hash value, so that the IoT block hash value is the last block of the block chain. If the hash value of the block is the same, it may be determined that one of the IoT devices 130 is valid.

이때에, 상기 서버(120)는 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단된 경우, 상기 제1서브블록에 포함된 제어데이터를 상기 어느 하나의 IoT기기(130)에 전송할 수 있다. At this time, when it is determined that the one IoT device 130 is valid, the server 120 may transmit control data included in the first sub-block to the one IoT device 130.

그리고, 상기 서버(120)로부터 상기 제어데이터를 전송받은 상기 어느 하나의 IoT기기(130)는 상기 제어데이터에 따른 동작을 수행한 후 동작 수행결과데이터를 상기 서버(120)로 전송할 수 있다. In addition, the one IoT device 130 that has received the control data from the server 120 may transmit the operation result data to the server 120 after performing an operation according to the control data.

한편, 상기 서버(120)는 상기 어느 하나의 IoT기기(130)가 유효하지 않은 것으로 판단된 경우에는 상기 사용자 단말기(110)에 오류메세지를 전송할 수 있다. Meanwhile, the server 120 may transmit an error message to the user terminal 110 when it is determined that one of the IoT devices 130 is not valid.

다른 한편으로, 상기 어느 하나의 IoT기기로부터 상기 동작 수행결과데이터를 전송받은 상기 서버(120)는 상기 동작 수행결과데이터를 상기 사용자 단말기(110)에 전송함으로써, 상기 제어데이터에 따른 상기 어느 하나의 IoT기기의 동작수행결과를 사용자에게 알릴 수 있다. On the other hand, the server 120, which has received the operation execution result data from the one IoT device, transmits the operation execution result data to the user terminal 110, thereby Users can be notified of the result of the IoT device's operation.

또한, 상기 서버(120)는 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성할 수 있다. In addition, the server 120 may generate an N-th block using the first sub-block and the second sub-block.

여기에서, N차 블록은 상기 마지막 블록, 즉 N-1차 블록에 연결되어 상기 블록체인을 업데이트할 수 있다. Here, the N-th block is connected to the last block, that is, the N-1 block to update the blockchain.

도 5는 N차 블록이 연결되어 업데이트된 블록체인의 구성을 도시한 참고도이다. 5 is a reference diagram showing the configuration of an updated block chain by connecting N-th blocks.

도 5를 참조하면, 상기 N차 블록은 상기 N-1차 블록에 연결되어 업데이트된 블록체인의 마지막에 연결되는 블록이 될 수 있다. Referring to FIG. 5, the N-th block may be a block connected to the N-1 block and connected to the end of the updated block chain.

이때에, 상기 N차 블록은 N-1차 블록의 해시값, 상기 사용자 정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제3난수, 상기 제어데이터, 및 상기 동작수행결과데이터를 포함할 수 있다. At this time, the N-th block includes the hash value of the N-1 block, the user information, IoT device information of the IoT device 130, a third random number, the control data, and the operation result data. Can include.

여기에서, 상기 제3난수는 상기 서버(120)에 의해 생성될 수도 있고, 상기 제1난수 및 상기 제2난수로 구성될 수도 있다. Here, the third random number may be generated by the server 120 or may be composed of the first random number and the second random number.

한편, 상기 서버(120)는 상기 N차 블록의 해시값을 계산할 수 있으며, 계산된 상기 N차 블록의 해시값을 상기 사용자 단말기(110)와 상기 복수의 IoT기기(130) 모두에 각각 전송할 수 있다. Meanwhile, the server 120 may calculate a hash value of the N-th block, and transmit the calculated hash value of the N-th block to both the user terminal 110 and the plurality of IoT devices 130, respectively. have.

이때에, 상기 N차 블록의 해시값을 전송받은 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130)는 상기 N차 블록의 해시값을 저장할 수 있다. At this time, the user terminal 110 and the plurality of IoT devices 130 that have received the hash value of the N-th block may store the hash value of the N-th block.

아울러, 상기 사용자 단말기(110)는 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정할 수 있다. In addition, the user terminal 110 may modify the terminal block hash value with the hash value of the N-th block.

다시말해서, 상기 단말기블록해시값은 항상 상기 블록체인을 구성하는 마지막 하나의 블록의 해시값으로 유지될 수 있다. In other words, the terminal block hash value may always be maintained as the hash value of the last block constituting the block chain.

마찬가지로, 상기 복수의 IoT기기(130)는 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정할 수 있으며, 상기 IoT블록해시값이 항상 상기 블록체인을 구성하는 마지막 하나의 블록의 해시값으로 유지되도록 할 수 있다. Similarly, the plurality of IoT devices 130 may modify the IoT block hash value with the hash value of the N-th block, and the IoT block hash value is always a hash of the last block constituting the block chain. You can keep it as a value.

이를 통해서, 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130)는 블록체인을 모두 저장하고 있지 않더라도, 블록체인을 구성하는 마지막 하나의 블록의 해시값을 통해서 상기 서버(120)에 의해 그 유효성을 검증받을 수 있다. Through this, even if the user terminal 110 and the plurality of IoT devices 130 do not store all of the block chain, the server 120 uses the hash value of the last block constituting the block chain. Can be validated.

블록체인 저장소(140)는 상기 서버(130)에 연결되어, 상기 서버(140)와 데이터의 송수신이 가능하도록 구비될 수 있다. Blockchain storage 140 may be provided to be connected to the server 130, so as to transmit and receive data with the server 140.

또한, 상기 블록체인 저장소(140)는 블록체인을 저장하고 있을 수 있으며, 상기 블록체인은 도 5에서 도시하는 바와 같이, 각각의 블록이 순차적으로 연결되어 구성될 수 있다. In addition, the block chain storage 140 may store a block chain, and the block chain may be configured by sequentially connecting each block as shown in FIG. 5.

한편, 상기 서버(120)는 상기 N차 블록을 생성한 후, 상기 N차 블록을 상기 블록체인 저장소(140)로 전송할 수 있으며, 상기 블록체인 저장소(140)는 상기 블록체인에 상기 N차 블록을 연결하여 상기 블록체인을 업데이트할 수 있다. On the other hand, the server 120 may generate the N-th block and then transmit the N-th block to the block-chain storage 140, and the block-chain storage 140 is the N-th block in the block chain. You can update the blockchain by connecting to.

다시 말해서, 상기 블록체인 저장소(140)는 1내지 N-1차 블록이 연결된 블록체인을 저장하고 있을 수 있는데, 상기 서버(120)로부터 상기 N차 블록을 전송받으면, 상기 블록체인에 상기 N차 블록을 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트할 수 있다. In other words, the block chain storage 140 may store a block chain to which 1 to N-1 blocks are connected. When the N-th block is transmitted from the server 120, the N-order block is transferred to the block chain. By connecting blocks, the block chain can be updated so that the block chain has a form in which 1 to N-th blocks are connected.

본 발명에 의한 IoT기기 원격제어 시스템(100)은 상술한 바와 같이, 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)에 의하면, 사용자 단말기(110) 및 IoT기기(130)에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기(110)와 IoT기기(130)의 유효성을 검증할 수 있다. As described above, the IoT device remote control system 100 according to the present invention is stored in the user terminal 110 and the IoT device 130 according to the IoT device remote control system 100 according to an embodiment of the present invention. The validity of the user terminal 110 and the IoT device 130 can be verified by comparing the hash value of the last block and the hash value of the last block calculated from the block chain stored in the blockchain storage during the IoT device control process.

이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다. Through this, it is possible to ensure safety from external attacks such as hacking that may occur in the process of remote control of IoT devices, thereby enhancing security.

이하에서는, 본 발명에 의한 IoT기기 원격 제어방법(S100)에 대하여 상세히 설명한다. Hereinafter, an IoT device remote control method S100 according to the present invention will be described in detail.

도 6은 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법(S100)의 순서도이다. 6 is a flowchart of an IoT device remote control method S100 according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법(S100)은 제1서브블록 전송단계(S101), 사용자 단말기 유효성 검증단계(S102), 제2서브블록 생성요청단계(S103), 제2서브블록 전송단계(S104), IoT기기 유효성 검증단계(S105), 제어데이터 전송단계(S106), 동작실행단계(S107), 제어결과 전송단계(S108), N차블록 생성단계(S109), N차블록 해시값 공유단계(S110), 블록체인 연결단계(S111), 및 오류메세지 전송단계(S112)를 포함할 수 있다. 6, the IoT device remote control method (S100) according to an embodiment of the present invention includes a first sub-block transmission step (S101), a user terminal validation step (S102), and a second sub-block generation request step ( S103), second sub-block transmission step (S104), IoT device validation step (S105), control data transmission step (S106), operation execution step (S107), control result transmission step (S108), N-order block generation step (S109), an N-th block hash value sharing step (S110), a block chain connection step (S111), and an error message transmission step (S112).

제1서브블록 전송단계(S101)는, 사용자 단말기(110)에서 복수의 IoT기기(130) 중 어느 하나의 IoT기기(130)의 동작을 제어하기 위한 제어데이터 및 제1난수를 생성하고, 제1서브블록을 생성하여 서버(120)에 전송하는 단계일 수 있다. In the first sub-block transmission step (S101), the user terminal 110 generates control data and a first random number for controlling the operation of any one of the plurality of IoT devices 130, and It may be a step of generating one subblock and transmitting it to the server 120.

이때에, 상기 제1서브블록은 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기(130)에 대한 IoT기기정보, 상기 제1난수, 및 상기 제어데이터를 포함할 수 있다. In this case, the first sub-block may include a terminal block hash value, user information, IoT device information for one of the IoT devices 130, the first random number, and the control data.

여기에서, 상기 단말기블록해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값일 수 있다. Here, the terminal block hash value may be the same as the hash value of the last block constituting the block chain.

한편, 상기 블록체인은 블록체인 저장소에 저장되어 있을 수 있으며, 1 내지 N-1차 블록으로 구성되어 있을 수 있다. 다시말해서, 상기 단말기블록해시값은 상기 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록, 즉 N-1차 블록의 해시값과 동일한 값일 수 있다. Meanwhile, the block chain may be stored in a block chain storage, and may be composed of 1 to N-1 blocks. In other words, the terminal block hash value is one block constituting the block chain, and may be the same as the hash value of the last block, that is, the N-1 block.

아울러, 상기 제1서브블록 전송단계(S101)는, 상기 제1서브블록의 적어도 일부를 암호화하여 상기 서버(120)에 전송하는 단계일 수 있으며, 상기 제1서브블록은 복호화를 위한 암호키 정보를 더 포함할 수 있다. In addition, the first sub-block transmission step (S101) may be a step of encrypting at least a part of the first sub-block and transmitting it to the server 120, wherein the first sub-block is encryption key information for decryption. It may further include.

이때에, 상기 제1서브블록 전송단계(S101)에서는 대칭키 또는 비대칭키를 사용하여 상기 제1서브블록의 적어도 일부를 암호화할 수 있다. In this case, in the first sub-block transmission step (S101), at least a part of the first sub-block may be encrypted using a symmetric key or an asymmetric key.

사용자 단말기 유효성 검증단계(S102)는, 서버(120)가 전송받은 상기 제1서브블록을 통해서 상기 사용자 단말기(110)가 유효한지 여부를 검증하는 단계일 수 있다. The user terminal validation step (S102) may be a step of verifying whether the user terminal 110 is valid through the first subblock transmitted from the server 120.

보다 상세히 살펴보면, 상기 사용자 단말기 유효성 검증단계(S102)는 상기 제1서브블록에 포함된 상기 단말기블록해시값이 블록체인을 구성하는 마지막 블록의 해시값과 동일한지 여부를 확인하여 상기 사용자 단말기(110)의 유효성을 검증하는 단계일 수 있다. In more detail, the user terminal validation step (S102) checks whether the terminal block hash value included in the first subblock is the same as the hash value of the last block constituting the block chain, and the user terminal ( 110) may be a validation step.

이때에, 상기 서버(120)는 블록체인 저장소(140)에서 블록체인을 불러와, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값을 계산할 수 있으며, 이와 같이 계산된 N-1차 블록의 해시값과 상기 단말기블록해시값을 비교하여, 동일한 경우에는 상기 사용자 단말기(110)가 유효한 것으로 판단할 수 있다. At this time, the server 120 can load the block chain from the block chain storage 140 and calculate the hash value of the last block constituting the block chain, that is, the N-1 block. -By comparing the hash value of the primary block and the terminal block hash value, if the same, it can be determined that the user terminal 110 is valid.

제2서브블록 생성요청단계(S103)은 상기 단말기 유효성 검증단계(S102)에서 상기 사용자 단말기(110)가 유효한 것으로 판단된 경우에만 시행되는 단계일 수 있으며, 상기 제1서브블록에 포함된 IoT기기정보와 동일한 IoT기기정보를 가지는 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청하는 단계일 수 있다. The second sub-block generation request step (S103) may be a step performed only when the user terminal 110 is determined to be valid in the terminal validation step (S102), and the IoT device included in the first sub-block It may be a step of requesting generation of a second subblock from any one IoT device 130 having the same IoT device information as the information.

즉, 상기 제2서브블록 생성요청단계(S103)는 상기 사용자 단말기(110)가 유효한 것으로 판단되는 경우에, 복수의 IoT기기(130) 중 제어하고자 하는 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청하는 단계일 수 있다. That is, in the second sub-block generation request step (S103), when it is determined that the user terminal 110 is valid, the second IoT device 130 to be controlled among the plurality of IoT devices 130 It may be a step of requesting generation of a subblock.

제2서브블록 전송단계(S104)는 상기 제2서브블록 생성요청단계(S103)에서 제2서브블록의 생성을 요청받은 상기 어느 하나의 IoT기기(130)가 제2서브블록을 생성하여 상기 서버(120)에 전송하는 단계일 수 있다. In the second sub-block transmission step (S104), in the second sub-block generation request step (S103), the IoT device 130, which is requested to generate a second sub-block, generates a second sub-block to the server. It may be a step of transmitting to 120.

여기에서, 상기 제2서브블록은 IoT기기해시값, IoT기기정보, 제2난수, 및 암호키 정보를 포함할 수 있다. Here, the second subblock may include an IoT device hash value, IoT device information, a second random number, and encryption key information.

이때에, 상기 IoT블록해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값일 수 있으며, 상기 마지막 블록은 상기 블록체인 저장소(140)에 저장된 불록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다. At this time, the IoT block hash value may be the same as the hash value of the last block constituting the block chain, and the last block is one block constituting the block chain stored in the block chain storage 140 and is the last. It may be a block created in.

다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성될 수 있으며, 상기 IoT블록해시값은 상기 N-1차 블록의 해시값과 동일한 값일 수 있다. In other words, the block chain may be composed of 1st to N-1st blocks, and the IoT block hash value may be the same as the hash value of the N-1st block.

한편, 상기 제2난수는 상기 제2서브블록 전송단계(S104)에서 생성될 수 있으며, 상기 어느 하나의 IoT기기에 의해 생성될 수 있다. Meanwhile, the second random number may be generated in the second sub-block transmission step (S104), and may be generated by any one of the IoT devices.

아울러, 상기 제2서브블록 전송단계(S104)는 상기 제2서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송하는 단계일 수 있으며, 상기 제2서브블록에 포함된 암호키 정보는 상기 제2서브블록의 복호화를 위한 암호키 정보일 수 있다. In addition, the second sub-block transmission step (S104) may be a step of encrypting and transmitting at least a part of the second sub-block using a symmetric key or an asymmetric key, and encryption key information included in the second sub-block is It may be encryption key information for decryption of the second subblock.

IoT기기 유효성 검증단계(105)는 상기 제2서브블록을 전송받은 상기 서버(120)가 상기 제2서브블록을 이용하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증하는 단계일 수 있다. The IoT device validation step 105 may be a step of verifying the validity of any one IoT device 130 by the server 120 receiving the second sub-block using the second sub-block.

보다 상세히 살펴보면, 상기 IoT기기 유효성 검증단계(S105)는 상기 제2서브블록에 포함된 상기 IoT블록해시값이 블록체인을 구성하는 마지막 블록의 해시값과 동일한지 여부를 확인하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증하는 단계일 수 있다. In more detail, in the IoT device validation step (S105), it is checked whether the hash value of the IoT block included in the second subblock is the same as the hash value of the last block constituting the block chain. It may be a step of verifying the effectiveness of the IoT device 130.

이때에, 상기 서버(120)는 블록체인 저장소(140)에서 블록체인을 불러와, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값을 계산할 수 있으며, 이와 같이 계산된 N-1차 블록의 해시값과 상기 IoT블록해시값을 비교하여, 동일한 경우에는 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단할 수 있다. At this time, the server 120 can load the block chain from the block chain storage 140 and calculate the hash value of the last block constituting the block chain, that is, the N-1 block. -By comparing the hash value of the primary block and the IoT block hash value, if the same, it may be determined that any of the IoT devices 130 are valid.

제어데이터 전송단계(S106)는 상기 IoT기기 유효성 검증단계(S105)에서 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단된 경우에만 실행될 수 있으며, 상기 제1서브블록에 포함된 상기 제어데이터를 상기 어느 하나의 IoT기기(130)에 전송하는 단계일 수 있다. The control data transmission step (S106) may be executed only when it is determined that the one IoT device 130 is valid in the IoT device validation step (S105), and the control data included in the first subblock is It may be a step of transmitting to any one of the IoT devices 130.

한편, 상기 제어데이터 전송단계(S106)는 상기 제어데이터를 암호화하여 상기 어느 하나의 IoT기기(130)에 전송할 수 있으며, 이때에 상기 제2서브블록에 포함된 암호키 정보가 활용될 수 있다. Meanwhile, in the control data transmission step S106, the control data may be encrypted and transmitted to the IoT device 130, and at this time, encryption key information included in the second subblock may be utilized.

동작 실행단계(S107)는 상기 제어데이터 전송단계(S106)에서 전송받은 상기 제어데이터의 내용에 따라 상기 어느 하나의 IoT기기가 동작을 수행하는 단계일 수 있다. The operation execution step (S107) may be a step in which the one IoT device performs an operation according to the content of the control data transmitted in the control data transmission step (S106).

예를 들어, 상기 동작 실행단계(S107)에서는, 상기 어느 하나의 IoT기기(130)가 에어컨이고, 상기 제어데이터의 내용이 '실내온도가 24도 유지'라고 한다면, 실내온도가 24도가 되도록 에어컨을 작동시키는 단계일 수 있다. For example, in the operation execution step (S107), if one of the IoT devices 130 is an air conditioner, and the content of the control data is'maintaining an indoor temperature of 24 degrees', the air conditioner so that the indoor temperature is 24 degrees. It may be a step of operating.

제어결과 전송단계(S108)는 상기 어느 하나의 IoT기기(130)가 상기 동작 실행단계(S107)에서 실행한 동작의 결과를 상기 사용자 단말기(110)에 전송하여 사용자가 상기 어느 하나의 IoT기기(130)의 동작수행결과를 사용자에게 알리는 단계일 수 있다. In the control result transmission step (S108), the one IoT device 130 transmits the result of the operation executed in the operation execution step (S107) to the user terminal 110 so that the user 130) may be a step of notifying the user of the result of performing the operation.

여기에서, 상기 제어결과 전송단계(S108)는 상기 어느 하나의 IoT기기(130)가 수행한 동작의 결과를 동작 수행결과데이터로 생성하여 상기 서버(120)에 전송하고, 다시 상기 서버(120)가 상기 사용자 단말기(110)에 상기 동작 수행결과데이터를 전송하는 단계일 수 있다. Here, in the control result transmission step (S108), the result of the operation performed by the IoT device 130 is generated as operation execution result data and transmitted to the server 120, and the server 120 May be a step of transmitting the operation result data to the user terminal 110.

즉, 상기 제어결과 전송단계(S108)에서는 상기 어느 하나의 IoT기기(130)에서 생성된 동작 수행결과데이터가 상기 서버(120)를 거쳐 상기 사용자 단말기(110)에 전송될 수 있다. That is, in the control result transmission step (S108), operation result data generated by any one of the IoT devices 130 may be transmitted to the user terminal 110 via the server 120.

이때에, 상기 동작 수행결과데이터는 상기 어느 하나의 IoT기기(130)에서 상기 서버(120)로 전송될 때에는 상기 제2서브블록에 포함된 암호키 정보를 통하여 암호화되어 전송될 수 있다. At this time, when the operation execution result data is transmitted from one of the IoT devices 130 to the server 120, it may be encrypted and transmitted through encryption key information included in the second sub-block.

마찬가지로, 상기 동작 수행결과데이터는 상기 서버(120)에서 상기 사용자 단말기(110)로 전송될 때에는 상기 제1서브블록에 포함된 암호키 정보를 통하여 암호화되어 전송될 수 있다. Similarly, when the operation result data is transmitted from the server 120 to the user terminal 110, it may be encrypted and transmitted through encryption key information included in the first sub-block.

N차 블록 생성단계(S109)는, 상기 서버(120)가 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성하는 단계일 수 있다. The N-th block generation step (S109) may be a step in which the server 120 generates an N-th block using the first sub-block and the second sub-block.

이때에, 상기 N차 블록은 상기 마지막 블록, 즉 N-1차 블록의 해시값(또는 단말기블록해시값, 또는 IoT기기해시값), 상기 사용자 정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제3난수, 상기 제어데이터, 및 상기 동작 수행결과데이터를 포함할 수 있다. At this time, the N-th block is the last block, that is, the hash value of the N-1 block (or terminal block hash value, or IoT device hash value), the user information, the IoT device 130 IoT device information, a third random number, the control data, and the operation result data may be included.

여기에서, 상기 제3난수는 상기 N차 블록 생성단계(S109)에서 상기 서버(120)에 의해 생성될 수도 있고, 상기 제1난수 및 상기 제2난수로 구성될 수도 있다. Here, the third random number may be generated by the server 120 in the N-th block generation step (S109), or may be composed of the first random number and the second random number.

N차 블록 해시값 공유단계(S110)는 상기 N차 블록 생성단계(S109)에서 생성된 상기 N차 블록의 해시값을 계산하여 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130) 모두에 전송하여 공유하고, 상기 사용자 단말기(110)는 전송받은 상기 N차 블록의 해시값을 단말기블록해시값으로 저장하고, 상기 복수의 IoT기기(130) 모두는 전송받은 상기 N차 블록의 해시값을 IoT기기해시값으로 저장할 수 있다. In the N-th block hash value sharing step (S110), the hash value of the N-th block generated in the N-th block generation step (S109) is calculated and applied to both the user terminal 110 and the plurality of IoT devices 130. The user terminal 110 stores the received hash value of the N-th block as a terminal block hash value, and all of the plurality of IoT devices 130 are transmitted hash values of the N-th block. Can be stored as an IoT device hash value.

즉, 상기 N차 블록 해시값 공유단계(S110)는 새롭게 생성된 상기 N차 블록의 해시값을 계산하여 공유하고, 이를 상기 단말기블록해시값 및 IoT기기해시값으로 저장하는 단계일 수 있다. That is, the step of sharing the N-th block hash value (S110) may be a step of calculating and sharing the hash value of the newly generated N-th block, and storing the hash value as the terminal block hash value and the IoT device hash value. .

이를 통하여, 상기 단말기블록해시값과 IoT기기해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값으로 유지될 수 있고, 상기 사용자 단말기 유효성 검증단계(S102) 및 상기 IoT기기 유효성 검증단계(S105)에서는 상기 단말기블록해시값과, 상기 IoT기기해시값이 각각 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값인지 여부를 비교하여 상기 사용자 단말기(110) 및 상기 IoT기기(130)의 유효성을 검증할 수 있게 된다. Through this, the terminal block hash value and the IoT device hash value can be maintained at the same value as the hash value of the last block constituting the block chain, and the user terminal validation step (S102) and the IoT device validation In step S105, the terminal block hash value and the IoT device hash value are compared to determine whether or not the hash value of the last block constituting the block chain is the same value, and the user terminal 110 and the IoT device ( 130) can be verified.

블록체인 연결단계(S111)는 상기 N차 블록 생성단계(S109)에서 생성된 상기 N차 블록을 블록체인 저장소(140)에 저장된 블록체인에 연결하여 블록체인을 업데이트하는 단계일 수 있다. The block chain connection step (S111) may be a step of updating the block chain by connecting the N-th block generated in the N-th block generation step (S109) to a block chain stored in the block chain storage 140.

즉, 상기 블록체인 연결단계(S111)는 1 내지 N-1차 블록이 연결된 블록체인에 상기 N차 블록을 연결하여 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 업데이트하는 단계일 수 있다. That is, the block chain connection step (S111) may be a step of connecting the N-th block to the block chain to which the first to N-1 blocks are connected, and updating the block chain so that the first to N-th blocks are connected. .

이를 통해, 상기 블록체인 저장소(140)에 저장되는 상기 블록체인이 IoT기기의 원격제어가 일어날때마다 업데이트되도록 할 수 있다. Through this, the blockchain stored in the blockchain storage 140 may be updated whenever remote control of the IoT device occurs.

오류메세지 전송단계(S112)는 상기 사용자 단말기 유효성 검증단계(S102)에서 상기 사용자 단말기(110)가 유효하지 않다고 판단되거나, 상기 IoT기기 유효성 검증단계(S105)에서 상기 어느 하나의 IoT기기(130)가 유효하지 않다고 판단되는 경우에만 실행되는 단계일 수 있다. In the error message transmission step (S112), it is determined that the user terminal 110 is not valid in the user terminal validation step (S102), or the IoT device 130 in the IoT device validation step (S105) This step may be executed only when it is determined that is invalid.

즉, 상기 오류메세지 전송단계(S112)는 상기 서버(120)가 상기 사용자 단말기 유효성 검증단계(S102) 또는 상기 IoT기기 유효성 검증단계(S105)에서 상기 사용자 단말기(110) 또는 상기 IoT기기(130)가 유효하지 않다고 판단한 경우에, 오류메시지를 상기 사용자 단말기(110)에 전송하는 단계일 수 있다. That is, in the error message transmission step (S112), the server 120 is the user terminal 110 or the IoT device 130 in the user terminal validation step (S102) or the IoT device validation step (S105). When it is determined that is not valid, it may be a step of transmitting an error message to the user terminal 110.

다시 말해서, 상기 오류메세지 전송단계(S112)는 상기 사용자 단말기(110) 또는 상기 IoT기기(30)가 유효하지 않은 경우 상기 사용자 단말기(110)에 오류메세지를 전송하여 사용자가 이를 파악할 수 있도록 하는 단계일 수 있다. In other words, the error message transmission step (S112) is a step of sending an error message to the user terminal 110 when the user terminal 110 or the IoT device 30 is not valid so that the user can identify it. Can be

상술한 바와 같이, 본 발명에 의한 IoT기기 원격제어 방법(S100)에 의하면, 사용자 단말기(110) 및 IoT기기(130)에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기(110)와 IoT기기(130)의 유효성을 검증할 수 있다. As described above, according to the IoT device remote control method (S100) according to the present invention, the hash value of the last block stored in the user terminal 110 and the IoT device 130 and the last calculated from the block chain stored in the block chain storage. The validity of the user terminal 110 and the IoT device 130 can be verified by comparing the hash value of the block in the process of controlling the IoT device.

이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다. Through this, it is possible to ensure safety from external attacks such as hacking that may occur in the process of remote control of IoT devices, thereby enhancing security.

이상에서, 본 발명의 일 실시예에 대하여 상세하게 설명하였지만, 본 발명의 권리범위는 이에 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다는 것은 당 기술분야의 통상의 지식을 가진 자에게는 자명할 것이다. In the above, although one embodiment of the present invention has been described in detail, the scope of the present invention is not limited thereto, and various modifications and variations are possible within the scope not departing from the technical spirit of the present invention described in the claims. This will be apparent to those of ordinary skill in the art.

100: 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템
110: 사용자 단말기 120: 서버
130: IoT기기 140: 블록체인 저장소
S100: 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법
S101: 제1서브블록 전송단계 S102: 사용자 단말기 유효성 검증단계
S103: 제2서브블록 생성요청단계 S104: 제2서브블록 전송단계
S105: IoT기기 유효성 검증단계 S106: 제어데이터 전송단계
S107: 동작실행단계 S108: 제어결과 전송단계
S109: N차 블록 생성단계 S110: N차 블록 해시값 공유단계
S111: 블록체인 연결단계 S112: 오류메세지 전송단계
100: IoT device remote control system according to an embodiment of the present invention
110: user terminal 120: server
130: IoT device 140: Blockchain storage
S100: IoT device remote control method according to an embodiment of the present invention
S101: first subblock transmission step S102: user terminal validation step
S103: second subblock generation request step S104: second subblock transmission step
S105: IoT device validation step S106: Control data transmission step
S107: operation execution step S108: control result transmission step
S109: N-th block generation step S110: N-th block hash value sharing step
S111: Blockchain connection step S112: Error message transmission step

Claims (20)

블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 단말기블록해시값 및 사용자 정보가 저장되어 있는 사용자 단말기;
상기 사용자 단말기와 네트워크로 연결된 서버;
상기 서버와 네트워크로 연결되고, 블록체인을 구성하는 마지막 블록인 N-1차 블록의 해시값과 동일한 IoT블록해시값 및 IoT기기정보가 저장되어 있는 복수의 IoT기기; 및
마지막 블록이 N-1차 블록으로 구성되어 1내지 N-1차 블록이 연결된 형태의 블록체인을 저장하고 있는 블록체인 저장소;를 포함하고,
상기 사용자 단말기는, IC카드를 구비하여, 사용자의 조작에 의해 상기 복수의 IoT기기 중 어느 하나의 IoT기기를 제어하기 위한 제어데이터 및 제1난수를 생성하고, 상기 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기의 IoT기기정보, 상기 제1난수 및 상기 제어데이터를 포함하는 제1서브블록을 생성하여 상기 서버에 전송하고,
상기 서버는, 상기 제1서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 N-1차 블록의 해시값과 상기 제1서브블록에 포함된 단말기블록해시값이 동일한지 여부를 판단하여 상기 사용자 단말기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 제2서브블록의 생성을 요청하고,
상기 어느 하나의 IoT기기는, IC카드를 구비하여, 상기 서버로부터 제2서브블록의 생성을 요청받으면 제2난수를 생성하고, 상기 IoT블록해시값, IoT기기정보, 및 제2난수를 포함하는 제2서브블록을 생성하여 상기 서버에 전송하며,
상기 서버는 상기 제2서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 제N-1차 블록의 해시값과 상기 제2서브블록에 포함된 IoT블록해시값이 동일한지 여부를 판단하여 상기 어느 하나의 IoT기기의 유효성을 검증한 후 상기 어느 하나의 IoT기기에 상기 제어데이터를 전송하고,
상기 어느 하나의 IoT기기는 상기 제어데이터를 전송받으면, 상기 제어데이터의 내용대로 동작을 수행한 후 동작 수행결과데이터를 상기 서버로 전송하고,
상기 서버는 상기 동작 수행결과데이터를 상기 사용자 단말기에 전송하며, 제3난수를 생성하고, 상기 IoT블록해시값, 상기 어느 하나의 IoT기기정보, 상기 사용자정보, 상기 제3난수, 및 상기 동작 수행결과데이터를 포함하는 N차 블록을 생성하여, 상기 N차 블록을 상기 블록체인 저장소에 전송하고,
상기 블록체인 저장소는 상기 N차 블록을 상기 블록체인에 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
A user terminal in which the terminal block hash value and user information identical to the hash value of the N-1 block, which is the last block constituting the block chain, are stored;
A server connected to the user terminal through a network;
A plurality of IoT devices connected to the server through a network and storing IoT block hash values and IoT device information equal to the hash value of the N-1 block, which is the last block constituting the block chain; And
Including; Blockchain storage in which the last block is composed of the N-1 block and stores the block chain in which the 1 to N-1 block is connected,
The user terminal includes an IC card, generates control data and a first random number for controlling any one of the plurality of IoT devices by a user's manipulation, and the terminal block hash value, user information , Generating a first sub-block including IoT device information, the first random number, and the control data of any one of the IoT devices and transmitting it to the server,
The server, upon receiving the first sub-block, loads the block chain stored in the block chain storage, calculates the hash value of the N-1 block included in the block chain, and calculates the N-1 order After verifying the validity of the user terminal by determining whether the hash value of the block and the terminal block hash value included in the first sub-block are the same, requesting any one IoT device to generate a second sub-block ,
One of the IoT devices includes an IC card, generates a second random number when a second sub-block is requested from the server, and includes the IoT block hash value, IoT device information, and a second random number. A second sub-block to be generated and transmitted to the server,
When the server receives the second sub-block, it loads the block chain stored in the block chain storage, calculates the hash value of the N-1 block included in the block chain, and calculates the calculated N-1 After determining whether the hash value of the block and the hash value of the IoT block included in the second subblock are the same, verifying the validity of the IoT device, and transmitting the control data to the IoT device. ,
When any one of the IoT devices receives the control data, it performs an operation according to the contents of the control data and then transmits the operation result data to the server,
The server transmits the operation result data to the user terminal, generates a third random number, the IoT block hash value, the IoT device information, the user information, the third random number, and the operation Generates an N-th block including execution result data, and transmits the N-th block to the blockchain storage,
The blockchain storage is an IoT device remote control system, characterized in that by connecting the N-th block to the block-chain, and updating the block chain so that the block chain is in a form in which the first to N-th blocks are connected.
삭제delete 제1항에 있어서,
상기 서버는 상기 N차 블록의 해시값을 계산하고, 상기 N차 블록의 해시값을 상기 사용자 단말기와 상기 복수의 IoT기기 모두에 각각 전송하고,
상기 사용자 단말기 및 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값을 저장하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
The method of claim 1,
The server calculates a hash value of the N-th block and transmits the hash value of the N-th block to all of the user terminal and the plurality of IoT devices, respectively,
Both the user terminal and the plurality of IoT devices store a hash value of the N-th block transmitted from the server.
제3항에 있어서,
상기 사용자 단말기는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정하고,
상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
The method of claim 3,
The user terminal modifies the terminal block hash value with the hash value of the N-th block transmitted from the server,
All of the plurality of IoT devices modify the IoT block hash value with the hash value of the N-th block transmitted from the server.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 제1서브블록 및 제2서브블록은 각각 적어도 일부가 대칭키 또는 비대칭키에 의해 암호화되어 전송되고, 상기 제1서브블록 및 제2서브블록은 복호화를 위한 암호키 정보를 각각 포함하고 있는 것을 특징으로 하는 IoT기기 원격제어 시스템.
The method of claim 1,
The first sub-block and the second sub-block are at least partially encrypted by a symmetric key or an asymmetric key and transmitted, and the first sub-block and the second sub-block each contain encryption key information for decryption. IoT device remote control system characterized by.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020180158094A 2018-12-10 2018-12-10 IoT Device Remote Control System KR102161116B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180158094A KR102161116B1 (en) 2018-12-10 2018-12-10 IoT Device Remote Control System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180158094A KR102161116B1 (en) 2018-12-10 2018-12-10 IoT Device Remote Control System

Publications (2)

Publication Number Publication Date
KR20200075085A KR20200075085A (en) 2020-06-26
KR102161116B1 true KR102161116B1 (en) 2020-09-29

Family

ID=71136482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180158094A KR102161116B1 (en) 2018-12-10 2018-12-10 IoT Device Remote Control System

Country Status (1)

Country Link
KR (1) KR102161116B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060335A (en) 2020-11-04 2022-05-11 주식회사 케이사인 Method for Registering Information of Building Utilities in Block Chain, Automatic Virtualization and Distribution of Management System of the Information of the Utilites

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102002420B1 (en) * 2013-01-18 2019-10-01 삼성전자주식회사 Smart home system with portable gateway
KR101810150B1 (en) * 2015-04-09 2018-01-26 (주)아이씨엔캐스트 THIRD PARTY'S SECURITY AUTHENTICATION SYSTEM BETWEEN MOBILE DEVICE AND IoT DEVICES AND METHOD THEREOF
KR20180015914A (en) 2016-08-04 2018-02-14 주식회사 케이티 Remote control terminal for IoT device, and system and method for providing IoT device remote control service using thereof
KR101877335B1 (en) * 2017-01-02 2018-08-09 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain and merkle tree structure related thereto, and terminal and server using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
박진혁, and 김현성. "CAN 을 위한 해시체인 기반 메시지 인증 및 키 분배 기법 설계." 대한전자공학회 학술대회, pp427-431(2017.) 1부.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060335A (en) 2020-11-04 2022-05-11 주식회사 케이사인 Method for Registering Information of Building Utilities in Block Chain, Automatic Virtualization and Distribution of Management System of the Information of the Utilites

Also Published As

Publication number Publication date
KR20200075085A (en) 2020-06-26

Similar Documents

Publication Publication Date Title
Wang et al. On the security of a new ultra-lightweight authentication protocol in IoT environment for RFID tags
CN108885741B (en) Tokenization method and system for realizing exchange on block chain
CN101043478B (en) Service gateway and method for realizing message safe process
Odelu et al. SEAP: Secure and efficient authentication protocol for NFC applications using pseudonyms
US20180309570A1 (en) Secure communication in network access points
US8966273B2 (en) Lightweight group signature system and method with short signature
KR102472362B1 (en) Internet Of Things Device Control System and Method Based On Block Chain
CN111742531B (en) Profile information sharing
JP2023500259A (en) Communication protocol using blockchain transactions
CN102577454B (en) A method for communicating data between a secure element and a network access point and a corresponding secure element
Mori Secure caching scheme by using blockchain for information-centric network-based wireless sensor networks
Misra et al. Design and implementation analysis of a public key infrastructure‐enabled security framework for ZigBee sensor networks
TW202226802A (en) Distributed ledger system
US20140122882A1 (en) Methods and apparatus for data security in mobile ad hoc networks
Lo et al. A secure IoT firmware update framework based on MQTT protocol
Grover et al. Cryptanalysis and improvement of a three-factor user authentication scheme for smart grid environment
KR102161116B1 (en) IoT Device Remote Control System
Zhu et al. Private and secure service discovery via progressive and probabilistic exposure
Jammula et al. Artificial intelligence framework‐based ultra‐lightweight communication protocol for prediction of attacks in Internet of Things environment
Ahamad et al. Secure mobile payment framework based on UICC with formal verification
JP2023500258A (en) Request and response protocol using blockchain transactions
JP6939313B2 (en) Distributed authentication system
JP2006345160A (en) Information communication system
CN115842657A (en) Internet of things anonymous identity authentication method and device based on block chain
JP5651611B2 (en) Key exchange device, key exchange system, key exchange method, program

Legal Events

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