KR20200075085A - IoT기기 원격제어 시스템 - Google Patents
IoT기기 원격제어 시스템 Download PDFInfo
- Publication number
- KR20200075085A KR20200075085A KR1020180158094A KR20180158094A KR20200075085A KR 20200075085 A KR20200075085 A KR 20200075085A KR 1020180158094 A KR1020180158094 A KR 1020180158094A KR 20180158094 A KR20180158094 A KR 20180158094A KR 20200075085 A KR20200075085 A KR 20200075085A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- iot device
- hash value
- sub
- iot
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
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기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
Description
본 발명은 IoT기기 원격제어 시스템 및 이를 이용한 IoT기기의 원격제어 방법에 관한 것으로, 보다 상세하게는 블록체인을 이용하여 보안성이 보다 강화된 IoT기기 원격제어 시스템 및 이를 이용한 IoT기기 원격제어 방법에 관한 것이다.
일반적으로, IoT(Internet of Things)는 인터넷을 기반으로 다양한 사물들에까지 네트워크 연결을 제공함으로써 사람과 사물, 사물과 사물 간의 통신을 가능하게 하는 지능형 정보통신 기술 내지 서비스를 말한다.
최근, IoT 기술 분야의 급격한 성장과 보급에 따라, 홈 IoT 가전 및 설비를 모바일 기기, 네비게이션, AI 스피커 등을 통해 제어하는 서비스가 많이 보급되고 있다.
이에 IoT 제어 서비스 사업자는 건설사, 전자기기 제조사 등 다양한 파트너들과 협력하여 아파트, 빌라, 단독 주택 등 주거시설 뿐 아니라 오피스 빌딩 등에 IoT 환경을 서비스하고 있다.
이와 같은 IoT 제어 서비스 보급의 증가에 따라, IoT 기기의 보안성을 담보하면서 사용자 편의성을 추구하는 IoT 기기 제어 기술에 대한 관심과 요청이 급증하고 있는 추세이다.
한편, 블록체인(Block Chain)은 관리 대상 데이터를 '블록(Block)'이라고 하는 소규모의 데이터들이 P2P(Peer to Peer) 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다.
이는 근본적으로 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다.
이에, 이와 같은 블록체인을 이용하여 IoT기기 제어서비스의 보안을 강화할 수 있는 기술의 개발이 요구된다고 할 것이다.
본 발명은 상술한 요구사항을 충족시키기 위한 것으로, IoT기기 제어에 있어서 보안성이 보다 강화된 IoT기기 원격제어 시스템 및 IoT기기 원격제어 방법을 제공하는 것을 그 목적으로 한다.
본 발명에 의한 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기기는 상기 제어데이터를 전송받으면, 상기 제어데이터의 내용대로 동작을 수행할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 어느 하나의 IoT기기는 상기 제어데이터에 따른 동작을 수행한 후 동작 수행결과데이터를 상기 서버로 전송하고, 상기 서버는 상기 동작 수행결과데이터를 상기 사용자 단말기에 전송하며, 제3난수를 생성하고, 상기 IoT블록해시값, 상기 어느 하나의 IoT기기정보, 상기 사용자정보, 상기 제3난수, 및 상기 동작 수행결과데이터를 포함하는 N차 블록을 생성할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는 상기 N차 블록의 해시값을 계산하고, 상기 N차 블록의 해시값을 상기 사용자 단말기와 상기 복수의 IoT기기 모두에 각각 전송하고, 상기 사용자 단말기 및 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값을 저장할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 사용자 단말기는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정하고, 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템은, 마지막 블록이 N-1차 블록으로 구성되어 1 내지 N-1차 블록이 연결된 형태의 블록체인을 저장하고 있는 블록체인 저장소;를 더 포함하고, 상기 서버는 상기 N차 블록을 상기 블록체인 저장소에 전송하고, 상기 블록체인 저장소는 상기 N차 블록을 상기 블록체인에 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는, 상기 제1서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 N-1차 블록의 해시값과 상기 제1서브블록에 포함된 단말기블록해시값이 동일한지 여부를 판단하여 상기 사용자 단말기의 유효성을 검증할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 서버는, 상기 제2서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 제N-1차 블록의 해시값과 상기 제2서브블록에 포함된 IoT블록해시값이 동일한지 여부를 판단하여 상기 어느 하나의 IoT기기의 유효성을 검증할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템에서, 상기 제1서브블록 및 제2서브블록은 각각 적어도 일부가 대칭키 또는 비대칭키에 의해 암호화되어 전송되고, 상기 제1서브블록 및 제2서브블록은 복호화를 위한 암호키 정보를 각각 포함할 수 있다.
본 발명에 의한 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기기가 상기 제어데이터의 내용대로 동작을 수행하는 동작실행단계;를 포함할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법은, 상기 어느 하나의 IoT기기가 상기 동작실행단계에서 수행한 동작의 결과를 동작 수행데이터로 생성하여, 상기 사용자 단말기에 전송하는 제어결과 전송단계;를 더 포함할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 제어결과 전송단계는, 상기 어느 하나의 IoT기기가 상기 동작 수행데이터를 상기 서버로 전송하고, 이후 상기 서버가 다시 상기 동작수행데이터를 상기 사용자 단말기에 전송할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 사용자 단말기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 단말기블록해시값을 비교하여 동일한 경우에 상기 사용자 단말기가 유효한 것으로 판단할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 IoT기기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 IoT기기해시값을 비교하여 동일한 경우에 상기 어느 하나의 IoT기기가 유효한 것으로 판단할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 제2서브블록 생성요청단계는, 상기 사용자 단말기 유효성 검증단계에서 상기 사용자 단말기가 유효한 것으로 판단된 경우에만 실행되고, 상기 제어데이터 전송단계는, 상기 IoT기기 유효성 검증단계에서 상기 어느 하나의 IoT기기가 유효한 것으로 판단된 경우에만 실행될 수 있다.
본 발명에 의한 IoT기기 원격제어 방법은, 상기 서버가 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성하는 N차 블록 생성단계;를 더 포함할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 N차 블록 생성단계는, 상기 서버가 제3난수를 생성하고, 상기 단말기블록해시값 또는 IoT기기해시값, 상기 사용자 정보, 상기 어느 하나의 IoT기기의 IoT 정보, 상기 제3난수, 및 상기 제어데이터를 포함하는 N차 블록을 생성하는 단계일 수 있다.
본 발명에 의한 IoT기기 원격제어 방법은, 상기 서버가 상기 N차 블록의 해시값을 계산하여 상기 사용자 단말기 및 상기 복수의 IoT기기 모두에 전송하고, 상기 사용자 단말기는 상기 N차 블록의 해시값을 단말기블록해시값으로 저장하고, 상기 복수의 IoT기기 모두는 상기 N차 블록의 해시값을 IoT기기해시값으로 저장하는 N차 블록 해시값 공유단계;를 더 포함할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법은, 상기 N차 블록을 블록체인 저장소에 저장된 블록체인에 연결하여 상기 블록체인을 업데이트하는 블록체인 연결단계;를 더 포함할 수 있다.
본 발명에 의한 IoT기기 원격제어 방법에서, 상기 블록체인 연결단계는, 1 내지 N-1블록이 연결되어 구성된 상기 블록체인을 1 내지 N차 블록이 연결된 형태가 되도록 업데이트하는 단계일 수 있다.
본 발명에 의한 IoT기기 원격제어 방법은, 상기 사용자 단말기 유효성 검증단계 또는 상기 IoT긱 유효성 검증단계에서 상기 사용자 단말기 또는 상기 IoT기기가 유효하지 않은 것으로 판단된 경우, 상기 서버가 상기 사용자 단말기에 오류메세지를 전송하는 오류메세지 전송단계(S112);를 더 포함할 수 있다.
본 발명에 의하면, 사용자 단말기 및 IoT기기에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기와 IoT기기의 유효성을 검증하고, 이를 통해 IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템의 개념도.
도 3은 제1서브블록의 구성을 도시한 참고도.
도 4는 제2서브블록의 구성을 도시한 참고도.
도 5는 N차 블록이 연결되어 업데이트된 블록체인의 구성을 도시한 참고도.
도 6은 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법의 순서도.
도 3은 제1서브블록의 구성을 도시한 참고도.
도 4는 제2서브블록의 구성을 도시한 참고도.
도 5는 N차 블록이 연결되어 업데이트된 블록체인의 구성을 도시한 참고도.
도 6은 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법의 순서도.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명의 사상의 범위 내에 포함되는다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상의 범위 내에 포함된다고 할 것이다.
또한, 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)의 개념도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)은 사용자 단말기(110), 서버(120), 복수의 IoT기기(130), 및 블록체인 저장소(140)를 포함할 수 있다.
사용자 단말기(110)는 유선 또는 무선 네트워크에 의해 서버(120)와 연결될 수 있으며, 이동통신 단말기, 즉 스마트폰이나 태블릿PC, 또는 개인용 컴퓨터, AI 스피커 등 다양한 형태로 제공될 수 있다.
상기 사용자 단말기(110)는 단말기블록해시값, 사용자정보, 복수의 IoT기기(130) 각각에 대한 IoT기기정보를 저장하고 있을 수 있다.
여기에서, 상기 단말기블록해시값은 마지막 블록의 해시값과 동일한 값일 수 있다.
한편, 마지막 블록은 후술하는 블록체인 저장소(140)에 저장된 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다. 다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성된 블록체인일 수 있으며, 상기 마지막 블록은 상기 블록체인의 N-1차 블록일 수 있다.
즉, 상기 사용자 단말기(110)가 저장하고 있는 단말기블록해시값은 블록체인 저장소(140)에 저장된 블록체인의 N-1차 블록의 해시값과 동일한 값일 수 있다.
또한, 상기 사용자 단말기(110)는 사용자의 조작에 의해 복수의 IoT기기(130) 중 어느 하나의 IoT기기(130)를 제어하기 위한 제어데이터 및 제1난수를 생성할 수 있다.
아울러, 상기 사용자 단말기(110)는 제1서브블록을 생성하여 서버(120)에 전송할 수 있다.
이를 위해서 상기 사용자 단말기(110)는 스마트카드, 즉 IC카드를 구비할 수 있다.
도 3은 제1서브블록의 구성을 도시한 참고도이다.
도 3을 참조하면, 제1서브블록은 상기 단말기블록해시값, 상기 사용자정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제1난수 및 상기 제어데이터를 포함할 수 있다.
여기에서, 상기 사용자 단말기(110)는 상기 제1서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송할 수 있으며, 상기 제1서브블록에는 복호화를 위한 암호키 정보가 더 포함되어 있을 수 있다.
서버(120)는 상기 사용자 단말기(110)와 네트워크로 연결되어 있을 수 있다. 예를 들어, 상기 서버(120)와 상기 사용자 단말기(110)는 유선 또는 무선 인터넷을 통해서 연결되어 상호간에 데이터를 전송할 수 있다.
또한, 상기 서버(120)는 상기 사용자 단말기(110)로부터 전송받은 상기 제1서브블록을 통하여 상기 사용자 단말기(110)의 유효성을 검증할 수 있다.
보다 상세하게 살펴보면, 상기 서버(120)는 상기 제1서브블록에 포함된 상기 단말기블록해시값을 통하여 상기 사용자 단말기(110)의 유효성을 검증할 수 있다.
이를 위해서, 상기 서버(120)는 상기 블록체인을 저장하고 있거나 후술하는 블록체인 저장소(140)로부터 블록체인을 불러올 수 있다.
상기 서버(120)는 상기 블록체인의 마지막 블록의 해시값, 즉 N-1차 블록의 해시값을 계산하여 상기 단말기블록해시값과 비교하여, 상기 단말기블록해시값이 상기 블록체인의 마지막 블록의 해시값과 동일한 경우 상기 사용자 단말기(110)가 유효한 것으로 판단할 수 있다.
이때에, 상기 서버(120)는 상기 사용자 단말기(110)가 유효한 것으로 판단된 경우, 상기 제1서브블록에 포함된 IoT기기정보와 동일한 IoT기기정보를 가진 상기 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청할 수 있다.
한편, 상기 서버(120)는 상기 사용자 단말기(110)가 유효하지 않은 것으로 판단된 경우에는 상기 사용자 단말기(110)에 오류메세지를 전송할 수 있다.
복수의 IoT기기(130)는 각각 상기 서버(120)와 네트워크로 연결될 수 있으며, IoT기기정보, IoT블록해시값을 저장하고 있을 수 있다.
여기에서, 상기 IoT블록해시값은 마지막 블록의 해시값과 동일한 값일 수 있다.
이때에, 마지막 블록은 후술하는 블록체인 저장소(140)에 저장된 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다. 다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성된 블록체인일 수 있으며, 상기 마지막 블록은 상기 블록체인의 N-1차 블록일 수 있다.
즉, 상기 복수의 IoT(110)가 각각 저장하고 있는 IoT블록해시값은 블록체인 저장소(140)에 저장된 블록체인의 N-1차 블록의 해시값과 동일한 값일 수 있다.
상기 복수의 IoT기기(130) 중 상기 서버(120)로부터 제2서브블록의 생성을 요청받은 어느 하나의 IoT기기(130)는 제2서브블록을 생성하여 상기 서버에 전송할 수 있다.
도 4는 제2서브블록의 구성을 도시한 참고도이다.
도 4를 참조하면, 상기 제2서브블록은 IoT기기해시값, IoT기기정보, 제2난수, 및 암호키 정보를 포함할 수 있다.
상기 제2난수는 상기 어느 하나의 IoT기기(130)에 의해 생성되는 난수일 수 있다.
여기에서, 상기 어느 하나의 IoT기기(130)는 상기 제2서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송할 수 있으며, 상기 제2서브블록에 포함된 암호키 정보는 상기 제2서브블록의 복호화를 위한 암호키 정보일 수 있다.
이를 위해 상기 복수의 IoT기기(130)는 스마트카드, 즉 IC카드를 구비할 수 있다.
한편, 상기 어느 하나의 IoT기기(130)로부터 상기 제2서브블록을 전송받은 상기 서버(120)는, 상기 제2서브블록을 통하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증할 수 있다.
보다 상세하게 살펴보면, 상기 서버(120)는 상기 제2서브블록에 포함된 상기 IoT블록해시값을 통하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증할 수 있다.
이를 위해서, 상기 서버(120)는 상기 블록체인을 저장하고 있거나 후술하는 블록체인 저장소(140)로부터 블록체인을 불러올 수 있다.
상기 서버(120)는 상기 블록체인의 마지막 블록의 해시값, 즉 N-1차 블록의 해시값을 계산하여 상기 IoT블록해시값과 비교하여, 상기 IoT블록해시값이 상기 블록체인의 마지막 블록의 해시값과 동일한 경우 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단할 수 있다.
이때에, 상기 서버(120)는 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단된 경우, 상기 제1서브블록에 포함된 제어데이터를 상기 어느 하나의 IoT기기(130)에 전송할 수 있다.
그리고, 상기 서버(120)로부터 상기 제어데이터를 전송받은 상기 어느 하나의 IoT기기(130)는 상기 제어데이터에 따른 동작을 수행한 후 동작 수행결과데이터를 상기 서버(120)로 전송할 수 있다.
한편, 상기 서버(120)는 상기 어느 하나의 IoT기기(130)가 유효하지 않은 것으로 판단된 경우에는 상기 사용자 단말기(110)에 오류메세지를 전송할 수 있다.
다른 한편으로, 상기 어느 하나의 IoT기기로부터 상기 동작 수행결과데이터를 전송받은 상기 서버(120)는 상기 동작 수행결과데이터를 상기 사용자 단말기(110)에 전송함으로써, 상기 제어데이터에 따른 상기 어느 하나의 IoT기기의 동작수행결과를 사용자에게 알릴 수 있다.
또한, 상기 서버(120)는 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성할 수 있다.
여기에서, N차 블록은 상기 마지막 블록, 즉 N-1차 블록에 연결되어 상기 블록체인을 업데이트할 수 있다.
도 5는 N차 블록이 연결되어 업데이트된 블록체인의 구성을 도시한 참고도이다.
도 5를 참조하면, 상기 N차 블록은 상기 N-1차 블록에 연결되어 업데이트된 블록체인의 마지막에 연결되는 블록이 될 수 있다.
이때에, 상기 N차 블록은 N-1차 블록의 해시값, 상기 사용자 정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제3난수, 상기 제어데이터, 및 상기 동작수행결과데이터를 포함할 수 있다.
여기에서, 상기 제3난수는 상기 서버(120)에 의해 생성될 수도 있고, 상기 제1난수 및 상기 제2난수로 구성될 수도 있다.
한편, 상기 서버(120)는 상기 N차 블록의 해시값을 계산할 수 있으며, 계산된 상기 N차 블록의 해시값을 상기 사용자 단말기(110)와 상기 복수의 IoT기기(130) 모두에 각각 전송할 수 있다.
이때에, 상기 N차 블록의 해시값을 전송받은 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130)는 상기 N차 블록의 해시값을 저장할 수 있다.
아울러, 상기 사용자 단말기(110)는 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정할 수 있다.
다시말해서, 상기 단말기블록해시값은 항상 상기 블록체인을 구성하는 마지막 하나의 블록의 해시값으로 유지될 수 있다.
마찬가지로, 상기 복수의 IoT기기(130)는 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정할 수 있으며, 상기 IoT블록해시값이 항상 상기 블록체인을 구성하는 마지막 하나의 블록의 해시값으로 유지되도록 할 수 있다.
이를 통해서, 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130)는 블록체인을 모두 저장하고 있지 않더라도, 블록체인을 구성하는 마지막 하나의 블록의 해시값을 통해서 상기 서버(120)에 의해 그 유효성을 검증받을 수 있다.
블록체인 저장소(140)는 상기 서버(130)에 연결되어, 상기 서버(140)와 데이터의 송수신이 가능하도록 구비될 수 있다.
또한, 상기 블록체인 저장소(140)는 블록체인을 저장하고 있을 수 있으며, 상기 블록체인은 도 5에서 도시하는 바와 같이, 각각의 블록이 순차적으로 연결되어 구성될 수 있다.
한편, 상기 서버(120)는 상기 N차 블록을 생성한 후, 상기 N차 블록을 상기 블록체인 저장소(140)로 전송할 수 있으며, 상기 블록체인 저장소(140)는 상기 블록체인에 상기 N차 블록을 연결하여 상기 블록체인을 업데이트할 수 있다.
다시 말해서, 상기 블록체인 저장소(140)는 1내지 N-1차 블록이 연결된 블록체인을 저장하고 있을 수 있는데, 상기 서버(120)로부터 상기 N차 블록을 전송받으면, 상기 블록체인에 상기 N차 블록을 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트할 수 있다.
본 발명에 의한 IoT기기 원격제어 시스템(100)은 상술한 바와 같이, 본 발명의 일 실시예에 따른 IoT기기 원격제어 시스템(100)에 의하면, 사용자 단말기(110) 및 IoT기기(130)에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기(110)와 IoT기기(130)의 유효성을 검증할 수 있다.
이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
이하에서는, 본 발명에 의한 IoT기기 원격 제어방법(S100)에 대하여 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법(S100)의 순서도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 IoT기기 원격제어 방법(S100)은 제1서브블록 전송단계(S101), 사용자 단말기 유효성 검증단계(S102), 제2서브블록 생성요청단계(S103), 제2서브블록 전송단계(S104), IoT기기 유효성 검증단계(S105), 제어데이터 전송단계(S106), 동작실행단계(S107), 제어결과 전송단계(S108), N차블록 생성단계(S109), N차블록 해시값 공유단계(S110), 블록체인 연결단계(S111), 및 오류메세지 전송단계(S112)를 포함할 수 있다.
제1서브블록 전송단계(S101)는, 사용자 단말기(110)에서 복수의 IoT기기(130) 중 어느 하나의 IoT기기(130)의 동작을 제어하기 위한 제어데이터 및 제1난수를 생성하고, 제1서브블록을 생성하여 서버(120)에 전송하는 단계일 수 있다.
이때에, 상기 제1서브블록은 단말기블록해시값, 사용자 정보, 상기 어느 하나의 IoT기기(130)에 대한 IoT기기정보, 상기 제1난수, 및 상기 제어데이터를 포함할 수 있다.
여기에서, 상기 단말기블록해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값일 수 있다.
한편, 상기 블록체인은 블록체인 저장소에 저장되어 있을 수 있으며, 1 내지 N-1차 블록으로 구성되어 있을 수 있다. 다시말해서, 상기 단말기블록해시값은 상기 블록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록, 즉 N-1차 블록의 해시값과 동일한 값일 수 있다.
아울러, 상기 제1서브블록 전송단계(S101)는, 상기 제1서브블록의 적어도 일부를 암호화하여 상기 서버(120)에 전송하는 단계일 수 있으며, 상기 제1서브블록은 복호화를 위한 암호키 정보를 더 포함할 수 있다.
이때에, 상기 제1서브블록 전송단계(S101)에서는 대칭키 또는 비대칭키를 사용하여 상기 제1서브블록의 적어도 일부를 암호화할 수 있다.
사용자 단말기 유효성 검증단계(S102)는, 서버(120)가 전송받은 상기 제1서브블록을 통해서 상기 사용자 단말기(110)가 유효한지 여부를 검증하는 단계일 수 있다.
보다 상세히 살펴보면, 상기 사용자 단말기 유효성 검증단계(S102)는 상기 제1서브블록에 포함된 상기 단말기블록해시값이 블록체인을 구성하는 마지막 블록의 해시값과 동일한지 여부를 확인하여 상기 사용자 단말기(110)의 유효성을 검증하는 단계일 수 있다.
이때에, 상기 서버(120)는 블록체인 저장소(140)에서 블록체인을 불러와, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값을 계산할 수 있으며, 이와 같이 계산된 N-1차 블록의 해시값과 상기 단말기블록해시값을 비교하여, 동일한 경우에는 상기 사용자 단말기(110)가 유효한 것으로 판단할 수 있다.
제2서브블록 생성요청단계(S103)은 상기 단말기 유효성 검증단계(S102)에서 상기 사용자 단말기(110)가 유효한 것으로 판단된 경우에만 시행되는 단계일 수 있으며, 상기 제1서브블록에 포함된 IoT기기정보와 동일한 IoT기기정보를 가지는 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청하는 단계일 수 있다.
즉, 상기 제2서브블록 생성요청단계(S103)는 상기 사용자 단말기(110)가 유효한 것으로 판단되는 경우에, 복수의 IoT기기(130) 중 제어하고자 하는 어느 하나의 IoT기기(130)에 제2서브블록의 생성을 요청하는 단계일 수 있다.
제2서브블록 전송단계(S104)는 상기 제2서브블록 생성요청단계(S103)에서 제2서브블록의 생성을 요청받은 상기 어느 하나의 IoT기기(130)가 제2서브블록을 생성하여 상기 서버(120)에 전송하는 단계일 수 있다.
여기에서, 상기 제2서브블록은 IoT기기해시값, IoT기기정보, 제2난수, 및 암호키 정보를 포함할 수 있다.
이때에, 상기 IoT블록해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값일 수 있으며, 상기 마지막 블록은 상기 블록체인 저장소(140)에 저장된 불록체인을 구성하는 하나의 블록으로 가장 마지막에 생성된 블록일 수 있다.
다시 말해서, 상기 블록체인은 1 내지 N-1차 블록으로 구성될 수 있으며, 상기 IoT블록해시값은 상기 N-1차 블록의 해시값과 동일한 값일 수 있다.
한편, 상기 제2난수는 상기 제2서브블록 전송단계(S104)에서 생성될 수 있으며, 상기 어느 하나의 IoT기기에 의해 생성될 수 있다.
아울러, 상기 제2서브블록 전송단계(S104)는 상기 제2서브블록의 적어도 일부를 대칭키 또는 비대칭키에 의해 암호화하여 전송하는 단계일 수 있으며, 상기 제2서브블록에 포함된 암호키 정보는 상기 제2서브블록의 복호화를 위한 암호키 정보일 수 있다.
IoT기기 유효성 검증단계(105)는 상기 제2서브블록을 전송받은 상기 서버(120)가 상기 제2서브블록을 이용하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증하는 단계일 수 있다.
보다 상세히 살펴보면, 상기 IoT기기 유효성 검증단계(S105)는 상기 제2서브블록에 포함된 상기 IoT블록해시값이 블록체인을 구성하는 마지막 블록의 해시값과 동일한지 여부를 확인하여 상기 어느 하나의 IoT기기(130)의 유효성을 검증하는 단계일 수 있다.
이때에, 상기 서버(120)는 블록체인 저장소(140)에서 블록체인을 불러와, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값을 계산할 수 있으며, 이와 같이 계산된 N-1차 블록의 해시값과 상기 IoT블록해시값을 비교하여, 동일한 경우에는 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단할 수 있다.
제어데이터 전송단계(S106)는 상기 IoT기기 유효성 검증단계(S105)에서 상기 어느 하나의 IoT기기(130)가 유효한 것으로 판단된 경우에만 실행될 수 있으며, 상기 제1서브블록에 포함된 상기 제어데이터를 상기 어느 하나의 IoT기기(130)에 전송하는 단계일 수 있다.
한편, 상기 제어데이터 전송단계(S106)는 상기 제어데이터를 암호화하여 상기 어느 하나의 IoT기기(130)에 전송할 수 있으며, 이때에 상기 제2서브블록에 포함된 암호키 정보가 활용될 수 있다.
동작 실행단계(S107)는 상기 제어데이터 전송단계(S106)에서 전송받은 상기 제어데이터의 내용에 따라 상기 어느 하나의 IoT기기가 동작을 수행하는 단계일 수 있다.
예를 들어, 상기 동작 실행단계(S107)에서는, 상기 어느 하나의 IoT기기(130)가 에어컨이고, 상기 제어데이터의 내용이 '실내온도가 24도 유지'라고 한다면, 실내온도가 24도가 되도록 에어컨을 작동시키는 단계일 수 있다.
제어결과 전송단계(S108)는 상기 어느 하나의 IoT기기(130)가 상기 동작 실행단계(S107)에서 실행한 동작의 결과를 상기 사용자 단말기(110)에 전송하여 사용자가 상기 어느 하나의 IoT기기(130)의 동작수행결과를 사용자에게 알리는 단계일 수 있다.
여기에서, 상기 제어결과 전송단계(S108)는 상기 어느 하나의 IoT기기(130)가 수행한 동작의 결과를 동작 수행결과데이터로 생성하여 상기 서버(120)에 전송하고, 다시 상기 서버(120)가 상기 사용자 단말기(110)에 상기 동작 수행결과데이터를 전송하는 단계일 수 있다.
즉, 상기 제어결과 전송단계(S108)에서는 상기 어느 하나의 IoT기기(130)에서 생성된 동작 수행결과데이터가 상기 서버(120)를 거쳐 상기 사용자 단말기(110)에 전송될 수 있다.
이때에, 상기 동작 수행결과데이터는 상기 어느 하나의 IoT기기(130)에서 상기 서버(120)로 전송될 때에는 상기 제2서브블록에 포함된 암호키 정보를 통하여 암호화되어 전송될 수 있다.
마찬가지로, 상기 동작 수행결과데이터는 상기 서버(120)에서 상기 사용자 단말기(110)로 전송될 때에는 상기 제1서브블록에 포함된 암호키 정보를 통하여 암호화되어 전송될 수 있다.
N차 블록 생성단계(S109)는, 상기 서버(120)가 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성하는 단계일 수 있다.
이때에, 상기 N차 블록은 상기 마지막 블록, 즉 N-1차 블록의 해시값(또는 단말기블록해시값, 또는 IoT기기해시값), 상기 사용자 정보, 상기 어느 하나의 IoT기기(130)의 IoT기기정보, 제3난수, 상기 제어데이터, 및 상기 동작 수행결과데이터를 포함할 수 있다.
여기에서, 상기 제3난수는 상기 N차 블록 생성단계(S109)에서 상기 서버(120)에 의해 생성될 수도 있고, 상기 제1난수 및 상기 제2난수로 구성될 수도 있다.
N차 블록 해시값 공유단계(S110)는 상기 N차 블록 생성단계(S109)에서 생성된 상기 N차 블록의 해시값을 계산하여 상기 사용자 단말기(110) 및 상기 복수의 IoT기기(130) 모두에 전송하여 공유하고, 상기 사용자 단말기(110)는 전송받은 상기 N차 블록의 해시값을 단말기블록해시값으로 저장하고, 상기 복수의 IoT기기(130) 모두는 전송받은 상기 N차 블록의 해시값을 IoT기기해시값으로 저장할 수 있다.
즉, 상기 N차 블록 해시값 공유단계(S110)는 새롭게 생성된 상기 N차 블록의 해시값을 계산하여 공유하고, 이를 상기 단말기블록해시값 및 IoT기기해시값으로 저장하는 단계일 수 있다.
이를 통하여, 상기 단말기블록해시값과 IoT기기해시값은 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값으로 유지될 수 있고, 상기 사용자 단말기 유효성 검증단계(S102) 및 상기 IoT기기 유효성 검증단계(S105)에서는 상기 단말기블록해시값과, 상기 IoT기기해시값이 각각 블록체인을 구성하는 마지막 블록의 해시값과 동일한 값인지 여부를 비교하여 상기 사용자 단말기(110) 및 상기 IoT기기(130)의 유효성을 검증할 수 있게 된다.
블록체인 연결단계(S111)는 상기 N차 블록 생성단계(S109)에서 생성된 상기 N차 블록을 블록체인 저장소(140)에 저장된 블록체인에 연결하여 블록체인을 업데이트하는 단계일 수 있다.
즉, 상기 블록체인 연결단계(S111)는 1 내지 N-1차 블록이 연결된 블록체인에 상기 N차 블록을 연결하여 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 업데이트하는 단계일 수 있다.
이를 통해, 상기 블록체인 저장소(140)에 저장되는 상기 블록체인이 IoT기기의 원격제어가 일어날때마다 업데이트되도록 할 수 있다.
오류메세지 전송단계(S112)는 상기 사용자 단말기 유효성 검증단계(S102)에서 상기 사용자 단말기(110)가 유효하지 않다고 판단되거나, 상기 IoT기기 유효성 검증단계(S105)에서 상기 어느 하나의 IoT기기(130)가 유효하지 않다고 판단되는 경우에만 실행되는 단계일 수 있다.
즉, 상기 오류메세지 전송단계(S112)는 상기 서버(120)가 상기 사용자 단말기 유효성 검증단계(S102) 또는 상기 IoT기기 유효성 검증단계(S105)에서 상기 사용자 단말기(110) 또는 상기 IoT기기(130)가 유효하지 않다고 판단한 경우에, 오류메시지를 상기 사용자 단말기(110)에 전송하는 단계일 수 있다.
다시 말해서, 상기 오류메세지 전송단계(S112)는 상기 사용자 단말기(110) 또는 상기 IoT기기(30)가 유효하지 않은 경우 상기 사용자 단말기(110)에 오류메세지를 전송하여 사용자가 이를 파악할 수 있도록 하는 단계일 수 있다.
상술한 바와 같이, 본 발명에 의한 IoT기기 원격제어 방법(S100)에 의하면, 사용자 단말기(110) 및 IoT기기(130)에 저장된 마지막 블록의 해시값과 블록체인 저장소에 저장된 블록체인으로부터 계산되는 마지막 블록의 해시값을 IoT기기 제어과정에서 비교하도록 함으로써 사용자 단말기(110)와 IoT기기(130)의 유효성을 검증할 수 있다.
이를 통해, IoT기기의 원격제어 과정에서 일어날 수 있는 해킹 등의 외부공격으로부터 안전을 담보할 수 있어 보안성이 강화될 수 있다.
이상에서, 본 발명의 일 실시예에 대하여 상세하게 설명하였지만, 본 발명의 권리범위는 이에 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다는 것은 당 기술분야의 통상의 지식을 가진 자에게는 자명할 것이다.
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: 오류메세지 전송단계
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: 오류메세지 전송단계
Claims (20)
- 블록체인을 구성하는 마지막 블록인 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기기 원격제어 시스템.
- 제1항에 있어서,
상기 어느 하나의 IoT기기는 상기 제어데이터에 따른 동작을 수행한 후 동작 수행결과데이터를 상기 서버로 전송하고,
상기 서버는 상기 동작 수행결과데이터를 상기 사용자 단말기에 전송하며, 제3난수를 생성하고, 상기 IoT블록해시값, 상기 어느 하나의 IoT기기정보, 상기 사용자정보, 상기 제3난수, 및 상기 동작 수행결과데이터를 포함하는 N차 블록을 생성하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제2항에 있어서,
상기 서버는 상기 N차 블록의 해시값을 계산하고, 상기 N차 블록의 해시값을 상기 사용자 단말기와 상기 복수의 IoT기기 모두에 각각 전송하고,
상기 사용자 단말기 및 상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값을 저장하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제3항에 있어서,
상기 사용자 단말기는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 단말기블록해시값을 수정하고,
상기 복수의 IoT기기 모두는 상기 서버로부터 전송받은 상기 N차 블록의 해시값으로 상기 IoT블록해시값을 수정하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제2항에 있어서,
마지막 블록이 N-1차 블록으로 구성되어 1 내지 N-1차 블록이 연결된 형태의 블록체인을 저장하고 있는 블록체인 저장소;를 더 포함하고,
상기 서버는 상기 N차 블록을 상기 블록체인 저장소에 전송하고,
상기 블록체인 저장소는 상기 N차 블록을 상기 블록체인에 연결하여, 상기 블록체인이 1 내지 N차 블록이 연결된 형태가 되도록 상기 블록체인을 업데이트하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제5항에 있어서,
상기 서버는, 상기 제1서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 N-1차 블록의 해시값과 상기 제1서브블록에 포함된 단말기블록해시값이 동일한지 여부를 판단하여 상기 사용자 단말기의 유효성을 검증하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제5항에 있어서,
상기 서버는, 상기 제2서브블록을 전송받으면 상기 블록체인 저장소에 저장된 상기 블록체인을 불러와, 상기 블록체인에 포함된 N-1차 블록의 해시값을 계산하고, 계산된 상기 제N-1차 블록의 해시값과 상기 제2서브블록에 포함된 IoT블록해시값이 동일한지 여부를 판단하여 상기 어느 하나의 IoT기기의 유효성을 검증하는 것을 특징으로 하는 IoT기기 원격제어 시스템.
- 제1항에 있어서,
상기 제1서브블록 및 제2서브블록은 각각 적어도 일부가 대칭키 또는 비대칭키에 의해 암호화되어 전송되고, 상기 제1서브블록 및 제2서브블록은 복호화를 위한 암호키 정보를 각각 포함하고 있는 것을 특징으로 하는 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기기가 상기 제어데이터의 내용대로 동작을 수행하는 동작실행단계;를 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항에 있어서,
상기 어느 하나의 IoT기기가 상기 동작실행단계에서 수행한 동작의 결과를 동작 수행데이터로 생성하여, 상기 사용자 단말기에 전송하는 제어결과 전송단계;를 더 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제10항에 있어서,
상기 제어결과 전송단계는, 상기 어느 하나의 IoT기기가 상기 동작 수행데이터를 상기 서버로 전송하고, 이후 상기 서버가 다시 상기 동작수행데이터를 상기 사용자 단말기에 전송하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항에 있어서,
상기 사용자 단말기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 단말기블록해시값을 비교하여 동일한 경우에 상기 사용자 단말기가 유효한 것으로 판단하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항에 있어서,
상기 IoT기기 유효성 검증단계는, 상기 서버가 블록체인 저장소에 저장되어 있고 1 내지 N-1차 블록으로 구성된 블록체인을 불러온 후, 상기 블록체인을 구성하는 마지막 블록, 즉 N-1차 블록의 해시값과 상기 IoT기기해시값을 비교하여 동일한 경우에 상기 어느 하나의 IoT기기가 유효한 것으로 판단하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항에 있어서,
상기 제2서브블록 생성요청단계는, 상기 사용자 단말기 유효성 검증단계에서 상기 사용자 단말기가 유효한 것으로 판단된 경우에만 실행되고,
상기 제어데이터 전송단계는, 상기 IoT기기 유효성 검증단계에서 상기 어느 하나의 IoT기기가 유효한 것으로 판단된 경우에만 실행되는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항에 있어서,
상기 서버가 상기 제1서브블록 및 상기 제2서브블록을 이용하여 N차 블록을 생성하는 N차 블록 생성단계;를 더 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제15항에 있어서,
상기 N차 블록 생성단계는, 상기 서버가 제3난수를 생성하고, 상기 단말기블록해시값 또는 IoT기기해시값, 상기 사용자 정보, 상기 어느 하나의 IoT기기의 IoT 정보, 상기 제3난수, 및 상기 제어데이터를 포함하는 N차 블록을 생성하는 단계인 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제15항에 있어서,
상기 서버가 상기 N차 블록의 해시값을 계산하여 상기 사용자 단말기 및 상기 복수의 IoT기기 모두에 전송하고, 상기 사용자 단말기는 상기 N차 블록의 해시값을 단말기블록해시값으로 저장하고, 상기 복수의 IoT기기 모두는 상기 N차 블록의 해시값을 IoT기기해시값으로 저장하는 N차 블록 해시값 공유단계;를 더 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제17항에 있어서,
상기 N차 블록을 블록체인 저장소에 저장된 블록체인에 연결하여 상기 블록체인을 업데이트하는 블록체인 연결단계;를 더 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제18항에 있어서,
상기 블록체인 연결단계는, 1 내지 N-1블록이 연결되어 구성된 상기 블록체인을 1 내지 N차 블록이 연결된 형태가 되도록 업데이트하는 단계인 것을 특징으로 하는 IoT기기 원격제어 방법.
- 제9항 내지 제19항 중 어느 한항에 있어서,
상기 사용자 단말기 유효성 검증단계 또는 상기 IoT긱 유효성 검증단계에서 상기 사용자 단말기 또는 상기 IoT기기가 유효하지 않은 것으로 판단된 경우, 상기 서버가 상기 사용자 단말기에 오류메세지를 전송하는 오류메세지 전송단계(S112);를 더 포함하는 것을 특징으로 하는 IoT기기 원격제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180158094A KR102161116B1 (ko) | 2018-12-10 | 2018-12-10 | IoT기기 원격제어 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180158094A KR102161116B1 (ko) | 2018-12-10 | 2018-12-10 | IoT기기 원격제어 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200075085A true KR20200075085A (ko) | 2020-06-26 |
KR102161116B1 KR102161116B1 (ko) | 2020-09-29 |
Family
ID=71136482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180158094A KR102161116B1 (ko) | 2018-12-10 | 2018-12-10 | IoT기기 원격제어 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102161116B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102486634B1 (ko) | 2020-11-04 | 2023-01-10 | 주식회사 케이사인 | 건물 설비 관리 정보를 블록 체인에 등록하는 방법과, 상기 정보를 통한 설비 정보 관리 시스템의 자동 가상화 및 배포 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140093477A (ko) * | 2013-01-18 | 2014-07-28 | 삼성전자주식회사 | 이동기기를 이용하는 스마트 홈 시스템 |
KR20160121775A (ko) * | 2015-04-09 | 2016-10-20 | (주)아이씨엔캐스트 | 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법 |
KR20180015914A (ko) | 2016-08-04 | 2018-02-14 | 주식회사 케이티 | IoT 기기 원격 제어 단말과 이를 이용한 IoT 기기 원격 제어 서비스 제공 시스템 및 방법 |
KR20180079806A (ko) * | 2017-01-02 | 2018-07-11 | 주식회사 코인플러그 | 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버 |
-
2018
- 2018-12-10 KR KR1020180158094A patent/KR102161116B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140093477A (ko) * | 2013-01-18 | 2014-07-28 | 삼성전자주식회사 | 이동기기를 이용하는 스마트 홈 시스템 |
KR20160121775A (ko) * | 2015-04-09 | 2016-10-20 | (주)아이씨엔캐스트 | 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법 |
KR20180015914A (ko) | 2016-08-04 | 2018-02-14 | 주식회사 케이티 | IoT 기기 원격 제어 단말과 이를 이용한 IoT 기기 원격 제어 서비스 제공 시스템 및 방법 |
KR20180079806A (ko) * | 2017-01-02 | 2018-07-11 | 주식회사 코인플러그 | 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버 |
Non-Patent Citations (1)
Title |
---|
박진혁, and 김현성. "CAN 을 위한 해시체인 기반 메시지 인증 및 키 분배 기법 설계." 대한전자공학회 학술대회, pp427-431(2017.) 1부.* * |
Also Published As
Publication number | Publication date |
---|---|
KR102161116B1 (ko) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Garcia-Morchon et al. | Internet of Things (IoT) security: State of the art and challenges | |
JP2023500259A (ja) | ブロックチェーントランザクションを使用した通信プロトコル | |
CN110463137A (zh) | 减少带宽的握手通信 | |
Yohan et al. | FOTB: a secure blockchain-based firmware update framework for IoT environment | |
CN111742531B (zh) | 简档信息共享 | |
CN106961334A (zh) | 控制器和附件之间的安全无线通信 | |
KR101765917B1 (ko) | 개인망 엔티티 인증을 위한 방법 | |
Gañán et al. | EPA: An efficient and privacy-aware revocation mechanism for vehicular ad hoc networks | |
CN105577383A (zh) | 密码密钥的管理 | |
KR20130004841A (ko) | 이동 기기에 대한 그룹 키 관리를 위한 방법 및 장치 | |
Li et al. | Energy-efficient and secure communication toward UAV networks | |
TW202226802A (zh) | 分布式帳本系統 | |
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 | |
US9706399B2 (en) | Methods and apparatus for anonymous key management in mobile ad hoc networks | |
US20230045486A1 (en) | Apparatus and Methods for Encrypted Communication | |
JP2023500258A (ja) | ブロックチェーントランザクションを使用する要求および応答プロトコル | |
Solomon et al. | A secure and cost-efficient blockchain facilitated IoT software update framework | |
Zhu et al. | Private and secure service discovery via progressive and probabilistic exposure | |
KR102161116B1 (ko) | IoT기기 원격제어 시스템 | |
JP2006345160A (ja) | 情報通信システム | |
CN115842657A (zh) | 一种基于区块链的物联网匿名身份认证方法及装置 | |
CN114650182A (zh) | 身份认证方法、系统、装置、网关设备、设备和终端 | |
Zhou et al. | An Approach for Multi-Level Visibility Scoping of IoT Services in Enterprise Environments | |
KR102400646B1 (ko) | 블록체인을 기반으로 하는 드론을 이용한 펌웨어 업데이트 시스템 |
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 |