KR20210091963A - SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN - Google Patents

SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN Download PDF

Info

Publication number
KR20210091963A
KR20210091963A KR1020200005313A KR20200005313A KR20210091963A KR 20210091963 A KR20210091963 A KR 20210091963A KR 1020200005313 A KR1020200005313 A KR 1020200005313A KR 20200005313 A KR20200005313 A KR 20200005313A KR 20210091963 A KR20210091963 A KR 20210091963A
Authority
KR
South Korea
Prior art keywords
data
block chain
integrity
hash
sensing
Prior art date
Application number
KR1020200005313A
Other languages
Korean (ko)
Inventor
임경식
최민제
정성욱
손태준
황민태
민진희
이석기
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020200005313A priority Critical patent/KR20210091963A/en
Publication of KR20210091963A publication Critical patent/KR20210091963A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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

The present invention relates to an integrity verification system of IoT data using the blockchain, which distributes and privately stores original data and privately processed hash data of sensing data collected on the IoT in a database and a blockchain, respectively, and compares the same with each other so as to verify the integrity of the data.

Description

블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법{SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN}A system and method for verifying the integrity of IoT data using block chain {SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN}

본 발명은 사물인터넷 상에서 수집된 센싱 데이터의 원본 데이터와 비공개 처리된 해시 데이터를 각각 데이터베이스와 블록체인에 분산하여 비공개로 저장하고, 이들을 서로 비교함으로써 데이터의 무결성을 검증하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법에 관한 것이다.The present invention provides IoT data using a block chain for verifying data integrity by distributing and privately storing original data and privately processed hash data of sensing data collected on the Internet of Things in a database and a block chain, respectively, and comparing them with each other. It relates to an integrity verification system and method.

일반적으로 블록체인은 특정한 제3자의 개입 없이 공개된 네트워크에서 네트워크에 참가한 사람들에 의해 분산형 합의를 구성하고 모든 이력을 추적할 수 있어서 투명성 있는 거래를 구현하는 기술이다.In general, blockchain is a technology that implements transparent transactions by building a decentralized consensus and tracking all histories by people participating in the network in an open network without the intervention of a specific third party.

이와 같이 블록체인에 저장된 데이터는 변조 및 삭제가 거의 불가능하다. 따라서, 최근에는 그 효용성을 확장하도록 블록체인을 이용하여 IoT 데이터를 저장하는 방법에 대한 연구가 활발히 진행되고 있다.As such, it is almost impossible to falsify and delete data stored in the blockchain. Therefore, recently, research on a method for storing IoT data using a block chain to expand its effectiveness is being actively conducted.

하지만 블록체인 네트워크는 노드에서 수행되는 합의나 트랜젝션이 공통되는 분산형 장부로서 모든 참여자에게 데이터가 공개되므로, 블록체인에 저장된 IoT 데이터를 조회할 경우 사생활 침해, 정보 유출 등의 문제를 일으킨다.However, since the blockchain network is a distributed ledger where agreements and transactions performed in nodes are common, and data is disclosed to all participants, it causes problems such as invasion of privacy and information leakage when inquiring IoT data stored in the blockchain.

예컨대, 사물인터넷이 적용된 스마트 팜은 환경 정보 및 생육 정보에 대한 정확한 데이터를 기반으로 생육 단계별 정밀한 관리와 예측 등이 가능하고, 효율적인 기기제어를 가능하게 한다.For example, a smart farm to which the Internet of Things is applied enables precise management and prediction of each growth stage based on accurate data on environmental information and growth information, and enables efficient device control.

그러나, 스마트 팜에서 발생된 IoT 데이터에 대한 무결성이 검증되지 않는다면 잘못된 생육/환경 데이터에 근거하여 관리되는 위험이 있고, 기기의 오작동으로 연결되어 작물에 큰 영향을 끼칠 수 있다. However, if the integrity of the IoT data generated in the smart farm is not verified, there is a risk of being managed based on incorrect growth/environment data, which may lead to a malfunction of the device and greatly affect crops.

이에, 사물인터넷 센싱 데이터를 제공하는 스마트 팜에 블록체인 기술을 적용하면 무결성 검증은 해결될 수 있지만, 그 공개성에 의해 수집된 데이터가 비공개 상태로 보호받지 못하는 문제가 있다.Accordingly, if the blockchain technology is applied to the smart farm that provides IoT sensing data, integrity verification can be solved, but there is a problem in that the data collected by the public cannot be protected in a private state.

대한민국 등록특허 제10-1678795호Republic of Korea Patent No. 10-1678795 미국 공개특허 US2018-0262571US Patent Publication US2018-0262571

본 발명은 전술한 문제점을 해결하기 위한 것으로, 사물인터넷 상에서 수집된 센싱 데이터의 원본 데이터와 비공개 처리된 해시 데이터를 각각 데이터베이스와 블록체인에 분산하여 비공개로 저장하고, 이들을 서로 비교함으로써 데이터의 무결성을 검증하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법을 제공하고자 한다.The present invention is to solve the above problems, and by distributing and privately storing the original data and the privately processed hash data of the sensing data collected on the Internet of Things in a database and a block chain, respectively, and comparing them with each other, the integrity of the data is improved. It is intended to provide a system and method for verifying the integrity of IoT data using the verification block chain.

이를 위해, 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템은 센싱 데이터를 수집하여 전송 처리하는 사물인터넷 디바이스와; 데이터를 저장하고 질의에 따라 상기 저장된 데이터를 제공하는 데이터베이스; 및 상기 센싱 데이터를 전송받아 원본 데이터는 상기 데이터베이스에 저장하고, 비공개를 위해 해싱처리된 해시 데이터는 블록체인에 저장하는 무결성 블록체인 서버;를 포함하되, 상기 무결성 블록체인 서버는 상기 원본 데이터와 해시 데이터를 불러와 동일성을 비교함으로써 무결성을 검증하는 것을 특징으로 한다.To this end, the system for verifying the integrity of IoT data using a block chain according to the present invention includes an IoT device that collects and transmits sensing data; a database that stores data and provides the stored data according to a query; and an integrity block chain server that receives the sensed data, stores the original data in the database, and stores hashed hash data for privacy in a block chain; wherein the integrity block chain server includes the original data and the hash It is characterized by verifying the integrity by fetching data and comparing the identity.

이때, 상기 사물인터넷 디바이스는 상기 센싱 데이터를 상기 무결성 블록체인 서버에 네트워크 전송이 가능하도록 신호처리하는 게이트웨이 모듈; 및 원격에서 다수의 센싱 데이터를 수신하여 상기 게이트웨이 모듈에 제공하는 데이터 처리모듈;을 포함하는 것이 바람직하다.In this case, the IoT device includes: a gateway module for signal processing to enable network transmission of the sensed data to the integrity block chain server; and a data processing module that receives a plurality of sensed data from a remote location and provides it to the gateway module.

또한, 상기 데이터베이스는 상기 원본 데이터의 공개를 방지하기 위한 중앙집중식 데이터베이스인 것이 바람직하다.In addition, the database is preferably a centralized database for preventing the disclosure of the original data.

또한, 상기 무결성 블록체인 서버는 수신된 다수의 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류하고, 상기 분류된 센싱 데이터를 저장하는 것이 바람직하다.In addition, it is preferable that the integrity block chain server classifies sensing data that needs to be kept private among a plurality of received sensing data, and stores the classified sensing data.

또한, 상기 무결성 블록체인 서버는 상기 센싱 데이터의 원본 데이터를 상기 데이터베이스에 저장하는 DB 모듈부와; 상기 센싱 데이터에 해시 함수를 적용하고, 생성된 해시 데이터를 블록체인에 저장하는 블록체인 모듈부; 및 상기 데이터베이스에 저장된 원본 데이터와 블록체인에 저장된 해시 데이터가 서로 동일한지 비교하여 무결성을 검증하는 검증 모듈부;를 포함하는 것이 바람직하다.In addition, the integrity block chain server includes a DB module for storing the original data of the sensing data in the database; a block chain module unit that applies a hash function to the sensed data and stores the generated hash data in a block chain; and a verification module unit for verifying integrity by comparing whether the original data stored in the database and the hash data stored in the block chain are identical to each other.

또한, 상기 DB 모듈부는 상기 해시 데이터를 블록체인에 기록시 할당된 트랜젝션 ID를 상기 원본 데이터와 함께 데이터베이스에 저장하고, 상기 블록체인 모듈부는 다수의 센싱 데이터를 해시 함수로 처리하여 해시 데이터를 생성하며, 상기 검증 모듈부는 상기 원본 데이터에 대해 상기 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행한 제1 비교값과 블록체인에서 상기 트랜젝션 ID에 매핑되어 있는 값을 불러온 제2 비교값을 비교하여 무결성을 검증하는 것이 바람직하다.In addition, the DB module unit stores the transaction ID allocated when the hash data is recorded in the block chain together with the original data in the database, and the block chain module unit processes a plurality of sensing data with a hash function to generate hash data, , the verification module unit compares the first comparison value that performs the same hashing as that used when generating the hash data on the original data with a second comparison value that retrieves the value mapped to the transaction ID in the block chain to ensure integrity It is desirable to verify

또한, 상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로 재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와; 상기 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및 상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것이 바람직하다.In addition, the sensing data is data generated from sensors installed in the smart farm, and growth sensor data for sensing an environment in which cultivated plants grow; device sensor data for sensing a control state of a device installed in the smart farm; and access sensor data for sensing an access state of a person entering and exiting the smart farm.

한편, 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법은 사물인터넷 디바이스에서 센싱 데이터를 수집하여 전송 처리하는 데이터 수집단계와; 무결성 블록체인 서버에서 상기 센싱 데이터를 수신하여, 상기 센싱 데이터에 대한 원본 데이터를 데이터베이스에 기록하는 원본 데이터 저장단계와; 상기 무결성 블록체인 서버에서 상기 센싱 데이터의 비공개를 위해 해싱처리한 해시 데이터를 블록체인에 저장하는 해시 데이터 저장단계; 및 상기 무결성 블록체인 서버에서 상기 원본 데이터와 해시 데이터를 불러와 동일성을 비교함으로써 무결성을 검증하는 무결성 검증단계;를 포함하는 것을 특징으로 한다.On the other hand, the method for verifying the integrity of IoT data using a block chain according to the present invention includes: a data collection step of collecting and transmitting sensing data from an IoT device; an original data storage step of receiving the sensed data from the integrity block chain server and recording the original data for the sensed data in a database; a hash data storage step of storing hash data hashed for privacy of the sensed data in the integrity block chain server in a block chain; and an integrity verification step of verifying integrity by fetching the original data and hash data from the integrity block chain server and comparing the identity.

이때, 상기 원본 데이터 저장단계에서는 상기 원본 데이터의 공개를 방지하기 위해 상기 원본 데이터를 중앙집중식 데이터베이스에 저장하는 것이 바람직하다.In this case, in the storing of the original data, it is preferable to store the original data in a centralized database in order to prevent the disclosure of the original data.

또한, 상기 데이터 수집단계에서 수집된 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류하는 데이터 검사단계를 더 포함하는 것이 바람직하다.In addition, it is preferable to further include a data inspection step of classifying the sensing data that needs to be disclosed among the sensing data collected in the data collection step.

또한, 상기 원본 데이터 저장단계는 상기 해시 데이터를 블록체인에 기록시 할당된 트랜젝션 ID를 상기 원본 데이터와 함께 데이터베이스에 저장하는 단계인 것이 바람직하다.In addition, the storing of the original data is preferably a step of storing the transaction ID assigned when the hash data is recorded in the block chain together with the original data in a database.

또한, 상기 해시 데이터 저장단계는 다수의 센싱 데이터를 해시 함수로 처리하여 해시 데이터를 생성하는 해싱 단계와; 상기 해시 데이터를 블록체인에 기록하기 위한 트랜젝션을 실행하여 트랜젝션 ID를 생성하는 트랜젝션 단계; 및 상기 트랜젝션에 의해 상기 블록체인에 해시 데이터를 저장하는 해시 기록단계;를 포함하는 것이 바람직하다.In addition, the hash data storage step includes a hashing step of generating hash data by processing a plurality of sensed data with a hash function; a transaction step of generating a transaction ID by executing a transaction for recording the hash data in a block chain; and a hash recording step of storing hash data in the block chain by the transaction.

또한, 상기 무결성 검증단계는 상기 데이터베이스에 기록되어 있는 원본 데이터를 불러오는 원본 데이터 질의단계와; 상기 불러온 원본 데이터에 대해 상기 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행하여 제1 비교값을 생성하는 해시값 변환단계와; 블록체인에서 상기 트랜젝션 ID에 매핑되어 있는 값을 불러와 제2 비교값을 제시하는 비교값 호출단계; 및 상기 제1 비교값과 제2 비교값이 서로 동일한지 비교하여 무결성을 검증하는 무결성 판단단계;를 포함하는 것이 바람직하다.In addition, the integrity verification step includes: an original data query step of calling the original data recorded in the database; a hash value conversion step of generating a first comparison value by performing the same hashing as that used for generating the hash data on the retrieved original data; a comparison value calling step of calling a value mapped to the transaction ID in the block chain and presenting a second comparison value; and an integrity determination step of verifying integrity by comparing whether the first comparison value and the second comparison value are identical to each other.

또한, 상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로 재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와; 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및 상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것이 바람직하다.In addition, the sensing data is data generated from sensors installed in the smart farm, and growth sensor data for sensing an environment in which cultivated plants grow; device sensor data for sensing a control state of a device installed in the smart farm; and access sensor data for sensing an access state of a person entering and exiting the smart farm.

이상과 같은 본 발명은 사물인터넷 상에서 수집된 센싱 데이터의 원본 데이터와 비공개 처리된 해시 데이터를 각각 데이터베이스와 블록체인에 분산하여 비공개로 저장한다. 따라서 센싱 데이터가 블록체인을 통해 공개되는 것을 방지한다.According to the present invention as described above, the original data of the sensing data collected on the Internet of Things and the privately processed hash data are distributed and privately stored in a database and a block chain, respectively. Therefore, it prevents the sensed data from being disclosed through the blockchain.

또한, 데이터베이스에 저장된 원본 데이터를 해시 데이터와 비교 가능한 제1 비교값으로 변환하여 블록체인에 저장된 해시 데이터를 제2 비교값으로서 서로 비교한다. 따라서, 사물인터넷 센싱 데이터 무결성 역시 검증할 수 있게 한다.In addition, the original data stored in the database is converted into a first comparison value that can be compared with the hash data, and the hash data stored in the block chain is compared with each other as a second comparison value. Therefore, the IoT sensing data integrity can also be verified.

도 1은 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템을 나타낸 계통도이다.
도 2는 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 절차를 나타낸 개념도이다.
도 3은 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템을 나타낸 구성도이다.
도 4는 본 발명의 데이터베이스에 기록되는 데이터를 나타낸 것이다.
도 5는 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법을 나타낸 흐름도이다.
도 6은 상기 도 5의 데이터 저장 단계를 나타낸 흐름도이다.
도 7은 상기 도 6의 무결성 검증 단계를 나타낸 흐름도이다.
1 is a schematic diagram illustrating a system for verifying the integrity of IoT data using a block chain according to the present invention.
2 is a conceptual diagram illustrating a procedure for verifying the integrity of IoT data using a block chain according to the present invention.
3 is a block diagram illustrating a system for verifying the integrity of IoT data using a block chain according to the present invention.
4 shows data recorded in the database of the present invention.
5 is a flowchart illustrating a method for verifying the integrity of IoT data using a block chain according to the present invention.
6 is a flowchart illustrating the data storage step of FIG. 5 .
7 is a flowchart illustrating an integrity verification step of FIG. 6 .

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법에 대해 상세히 설명한다.Hereinafter, a system and method for verifying the integrity of IoT data using a block chain according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템을 나타낸 계통도이다.1 is a schematic diagram illustrating a system for verifying the integrity of IoT data using a block chain according to the present invention.

도시된 바와 같이, 본 발명이 적용되는 시스템 계통은 원격에 위치한 데이터 생성원(10)과, 사물인터넷 디바이스(110)와, 데이터베이스(120)와, 무결성 블록체인 서버(130) 및 블록체인(140)을 포함한다.As shown, the system to which the present invention is applied is a remote data generator 10 , an IoT device 110 , a database 120 , an integrity blockchain server 130 , and a blockchain 140 . ) is included.

여기서, 데이터 생성원(10)은 사물에 센서를 부착해 네트워크(예: 인터넷) 상에서 실시간으로 데이터를 주고받는 IoT(Internet of Thing)의 객체를 의미하는 것으로, 객체는 각 지역이나 구역(local)에서 센싱 데이터를 생성시킨다.Here, the data generating source 10 refers to an IoT (Internet of Thing) object that attaches a sensor to an object and exchanges data in real time on a network (eg, the Internet), and the object is each local or local. to generate sensing data.

또한, 데이터 생성원(10)은 그 응용에 따라 스마트 팜(smart farm), 의료기관 및 지능형 공장과 같이 각종 산업용이나 의료용은 물론 댁내 가정용을 포함한 다양한 사물인터넷 네트워크를 구성할 수 있다.In addition, the data generating source 10 may configure various IoT networks including various industrial and medical purposes, such as smart farms, medical institutions, and intelligent factories, as well as in-house households, depending on the application thereof.

도 2와 같이, 사물인터넷 디바이스(110)는 데이터 생성원(10)이 위치한 로컬이나 그 외 원격에서 유무선 통신네트워크를 통해 데이터 생성원(10)에 연결되며, 이를 통해 수집된 센싱 데이터를 전송 처리한다.As shown in FIG. 2 , the IoT device 110 is connected to the data generator 10 through a wired/wireless communication network at a local or other remote location where the data generator 10 is located, and transmits and processes the sensed data collected through this. do.

데이터베이스(120)는 파일 기록 및 서버의 질의에 따른 파일 전송 기능을 제공하는 것으로, 유무선 통신네트워크를 통해 무결성 블록체인 서버(130)에 연결되어 데이터를 입력받는다.The database 120 provides a file record and file transfer function according to a server query, and is connected to the integrity block chain server 130 through a wired/wireless communication network to receive data.

이때, 무결성 블록체인 서버(130)는 센싱 데이터에 대한 원본 데이터는 데이터베이스(120)에 기록하고, 동일한 원본 데이터에 대해 비공개 처리(해시 처리)한 해시 데이터는 블록체인(140)에 기록한다.At this time, the integrity block chain server 130 records the original data for the sensed data in the database 120 , and the privately processed (hash processing) hash data for the same original data is recorded in the block chain 140 .

또한, 무결성 블록체인 서버(130)는 무결성 검증(integrity check)을 위해 상술한 바와 같은 원본 데이터와 해시 데이터를 서로 비교하는데, 비교를 위해 원본 데이터를 비교 가능한 해시값으로 변환한다.In addition, the integrity block chain server 130 compares the original data and the hash data as described above for integrity check, and converts the original data into a comparable hash value for comparison.

따라서, 원본 데이터와 해시 데이터를 각각 데이터베이스(120)와 블록체인(140)에 분산하여 비공개로 저장함으로써 센싱 데이터가 블록체인(140)을 통해 공개되어 사생활이 침해되거나 정보가 유출되는 것을 방지한다.Accordingly, by distributing and privately storing the original data and hash data in the database 120 and the block chain 140, respectively, the sensed data is disclosed through the block chain 140 to prevent invasion of privacy or information leakage.

또한, 원본 데이터에 해시 데이터와 동일한 해시 함수를 적용하여 제1 비교값(해시값)으로 변환하고, 블록체인(140)에 저장된 제2 비교값(해시 데이터)을 불러와서 이들을 서로 비교한다. 따라서, IoT 상의 센싱 데이터에 대한 무결성을 검증할 수 있게 한다.In addition, the same hash function as the hash data is applied to the original data to be converted into a first comparison value (hash value), and the second comparison value (hash data) stored in the block chain 140 is called and compared with each other. Therefore, it is possible to verify the integrity of the sensing data on the IoT.

이를 위해, 도 3과 같이 상기한 사물인터넷 디바이스(110)는 센싱 데이터를 수집하여 전송 처리한다. 센싱 데이터는 다양한 객체(물건이나 장소)에 설치된 센서로부터 전송된 데이터이다.To this end, as shown in FIG. 3 , the IoT device 110 collects and transmits sensing data. Sensing data is data transmitted from sensors installed on various objects (things or places).

스마프 팜의 경우를 예로들면 특정 지역에 설치된 스마트 팜에는 'DHT11', 'RIP', 'Moisture'와 같은 온/습도 센서, 인체감지 모션센서 및 토양습도 센서를 비롯한 여러 센서가 있으며 이들로부터 각각 센싱 데이터가 제공된다.For example, in the case of a smart farm installed in a specific area, there are several sensors including temperature/humidity sensors such as 'DHT11', 'RIP', and 'Moisture', a human motion sensor and a soil humidity sensor. data is provided.

또한, 사물인터넷 디바이스(110)는 게이트웨이 모듈(111) 및 데이터 처리모듈(112)을 포함하는데, 그 중 게이트웨이 모듈(111)은 센싱 데이터가 무결성 블록체인 서버(130)에 네트워크 전송되도록 신호처리를 한다.In addition, the IoT device 110 includes a gateway module 111 and a data processing module 112 , of which the gateway module 111 performs signal processing so that the sensed data is transmitted to the integrity blockchain server 130 over the network. do.

데이터 처리모듈(112)은 다수의 센싱 데이터를 수신하여 상기한 게이트웨이 모듈(111)로 전송하며, 게이트웨이 모듈(111) 및 데이터 처리모듈(112)은 오퍼레이팅 시스템(OS)의 제어하여 프로세스를 처리한다.The data processing module 112 receives a plurality of sensing data and transmits it to the above-described gateway module 111, and the gateway module 111 and the data processing module 112 process the process by controlling the operating system (OS). .

이러한 사물인터넷 디바이스(110)를 라즈베리 파이(Raspberry PI 3B+)를 이용하여 설계하는 경우, 게이트웨이 모듈(111)은 '&Cube'로 구현되어 HTTP 프로토콜에 따라 무결성 블록체인 서버(130)에 센싱 데이터를 전송한다.When the IoT device 110 is designed using a Raspberry PI 3B+, the gateway module 111 is implemented as '&Cube' and transmits sensing data to the integrity block chain server 130 according to the HTTP protocol. do.

데이터 처리모듈(112)은 라즈베리 파이에서 'TAS(Thing Adaptation S/W)'로 구현되며, 센서 통신라인을 통해 수신된 센싱 데이터를 소켓(socket) 통신으로 게이트웨이 모듈(111)에 제공한다.The data processing module 112 is implemented as 'Thing Adaptation S/W (TAS)' in the Raspberry Pi, and provides the sensing data received through the sensor communication line to the gateway module 111 through socket communication.

데이터베이스(120)는 데이터를 저장하고 질의(query)에 따라 저장된 데이터를 제공하는 것으로, 사물인터넷 디바이스(110)로부터 수집 및 전송 처리된 센싱 데이터를 저장한다. 특히, 통신 네트워크를 통해 무결성 블록체인 서버(130)에 연결되어 서버에서 제공된 원본 데이터를 저장한다.The database 120 stores data and provides the stored data according to a query, and stores sensing data collected and transmitted from the IoT device 110 . In particular, it is connected to the integrity blockchain server 130 through a communication network and stores the original data provided by the server.

원본 데이터는 후술하는 해시 데이터와 구별되는 개념이다. 이러한 원본 데이터(data)는 서버에서 해시 함수 처리가 이루어지는 해시 데이터(H(data))와는 구분된다. 또한, 해시 데이터와 같이 블록체인(140)에 저장되기 위한 블록 생성과정도 거치지 않은 원본 데이터를 저장한다.The original data is a concept distinct from hash data, which will be described later. This original data (data) is distinguished from the hash data (H(data)) that is processed by the hash function in the server. In addition, original data that has not undergone a block generation process to be stored in the block chain 140, such as hash data, is stored.

원본 데이터는 데이터베이스(120)에 바로 저장되어 기록되어 언제든지 다시 불러와 사용할 수 있으며, 원본 데이터의 무결성을 검증할 필요가 있는 경우에는 블록체인(140)에 기록된 해시 데이터와 동일성 비교를 한다.The original data is directly stored and recorded in the database 120 and can be recalled and used at any time, and when it is necessary to verify the integrity of the original data, the hash data recorded in the block chain 140 is compared for equality.

다만, 동일성 비교시 블록체인(140)에서 해시 데이터를 불러올 수 있도록 해시 데이터를 매핑하는 트랜젝션 ID를 함께 저장한다. However, the transaction ID that maps the hash data is stored together so that the hash data can be retrieved from the block chain 140 during the equality comparison.

트랜젝션 ID는 트랜젝션의 성공에 따라 블록 생성시 할당되는 ID 번호에 해당하는 것으로 흔히 'Txhash'나 'TXID'라고도 하며, 트랜젝션 ID를 이용하면 위치 추적이 가능하여 후에 무결성 검증시 해시 데이터를 불러오는데 이용된다. The transaction ID corresponds to the ID number assigned when creating a block according to the success of the transaction, and is often called 'Txhash' or 'TXID'. do.

또한, 실시예에 따라 해시 함수에 시간 'time'을 포함하는 경우에는 원본 데이터로부터 해시값을 생성시 사용되는 시간 'time' 역시 저장할 수 있다. In addition, according to an embodiment, when the time 'time' is included in the hash function, the time 'time' used when generating a hash value from the original data may also be stored.

따라서, 데이터베이스(120)에는 원본 데이터, 트랜젝션 ID 및 시간이 저장된다. 도 4는 테스트를 위해 데이터베이스(120)에 기록한 데이터를 나타낸 것으로 도시된 바와 같이 'Txhash' 및 'time'을 더 포함할 수 있음을 알 수 있다.Accordingly, the database 120 stores the original data, the transaction ID, and the time. 4 shows data recorded in the database 120 for testing, it can be seen that 'Txhash' and 'time' may be further included as shown.

다만, 데이터베이스(120)는 바람직한 실시예로 중앙집중식 데이터베이스(120)를 사용함으로써 원본 데이터 자체도 공개되는 것을 방지한다. 또한, 관계형 데이터베이스 관리시스템(R-DBMS)을 탑재하고 있는 것이 적용되는데, 이러한 데이터베이스(120)에는 MySQL이 있다.However, the database 120 prevents the original data itself from being disclosed by using the centralized database 120 in a preferred embodiment. In addition, it is applied that a relational database management system (R-DBMS) is mounted, such a database 120 has MySQL.

무결성 블록체인 서버(130)는 사물인터넷 디바이스(110)로부터 센싱 데이터를 전송받아 원본 데이터는 데이터베이스(120)에 저장하고, 비공개를 위해 해싱처리된 해시 데이터는 블록체인(140)에 저장한다. 또한, 원본 데이터와 해시 데이터를 서로 비교하고 이들간 동일성이 있는지의 여부에 따라 무결성을 검증한다.The integrity block chain server 130 receives the sensing data from the IoT device 110 and stores the original data in the database 120 , and the hashed hash data for privacy is stored in the block chain 140 . In addition, the original data and the hash data are compared with each other and the integrity is verified according to whether there is an identity between them.

이를 위해, 무결성 블록체인 서버(130)는 원본 데이터를 데이터베이스(120)에 저장하는 DB 모듈부(131)와, 해시 데이터를 블록체인(140)에 저장하는 블록체인 모듈부(132) 및 원본 데이터와 해시 데이터가 서로 동일한지 비교하여 무결성을 검증하는 검증 모듈부(133)를 포함한다.To this end, the integrity block chain server 130 includes a DB module unit 131 for storing original data in the database 120 , a block chain module unit 132 for storing hash data in the block chain 140 , and the original data and a verification module unit 133 for verifying integrity by comparing whether the hash data are identical to each other.

DB 모듈부(131), 블록체인 모듈부(132) 및 검증 모듈부(133)는 각각 별개로 구별될 수 있지만 실시예에 따라 하나의 프로세서로 구현될 수 있다. 또한, 하나의 칩셋(chip-set)에 일체로 구현되거나, 검증 모듈부(133)를 DB 모듈부(131)나 블록체인 모듈부(132)에 함께 탑재하는 등 다양한 변형이 가능하다.The DB module unit 131 , the blockchain module unit 132 , and the verification module unit 133 may be separately distinguished from each other, but may be implemented as one processor according to an embodiment. In addition, various modifications are possible, such as being integrally implemented in a single chipset or mounting the verification module unit 133 on the DB module unit 131 or the block chain module unit 132 together.

이때, DB 모듈부(131)는 기본적으로 센싱 데이터에 대한 원본 데이터를 기록한다. 그 외 트랜젝션 ID도 데이터베이스(120)에 기록하며, 해시 함수에 따라 시간도 저장된다. At this time, the DB module unit 131 basically records the original data for the sensing data. Other transaction IDs are also recorded in the database 120, and the time is also stored according to the hash function.

상술한 바와 같이 트랜젝션 ID는 원본 데이터에 대응하는 해시 데이터가 트랜젝션(블록 생성이나 저장)시 할당되는 것이고, 시간은 사용된 해시 함수에 따라 사용한다. 사용되는 시간은 어느 것이든 블록체인의 해시 데이터와 원본데이터의 해시값에 동일한 것을 사용한다.As described above, the transaction ID is allocated when hash data corresponding to the original data is transaction (block generation or storage), and the time is used according to the hash function used. Whatever time is used, the same thing is used for the hash data of the block chain and the hash value of the original data.

블록체인 모듈부(132)는 센싱 데이터에 해시 함수를 적용하여 해시 데이터를 생성하고 그 생성된 해시 데이터를 블록체인(140)에 저장한다. 예컨대, 다수의 센싱 데이터를 스트링(string)으로 합산하여 해시 데이터를 생성하고 블록체인(140)에 저장한다. The block chain module unit 132 generates hash data by applying a hash function to the sensed data, and stores the generated hash data in the block chain 140 . For example, hash data is generated by summing a plurality of sensed data into a string and stored in the block chain 140 .

바람직한 실시예로, 블록체인(140)은 클레이튼(klaytn)이 사용되며, 해시 데이터는 암화화 되지 않은 헥스(hex)코드로 작성된다. 작성된 해시 데이터는 원격절차호출(RPC: Remote procedure Call)을 통해 블록체인(140)에 저장하는데, RPC는 P2P 노드에 직접 요청을 보낸다.In a preferred embodiment, the block chain 140 uses klaytn, and the hash data is written in an unencrypted hex code. The created hash data is stored in the block chain 140 through a remote procedure call (RPC), which directly sends a request to the P2P node.

검증 모듈부(133)는 데이터베이스(120)의 원본 데이터를 변환한 제1 비교값과 블록체인(140)에서 불러온 제2 비교값을 비교하여 동일성을 판단한다. 예컨대, 제1 비교값을 임시 변수로 저장하고 제2 변수값을 입력값으로 하여, 임시 변수로 저장된 제1 비교값과 입력값인 제2 비교값을 비교한다.The verification module unit 133 compares the first comparison value obtained by converting the original data of the database 120 with the second comparison value fetched from the block chain 140 to determine the identity. For example, the first comparison value is stored as a temporary variable and the second variable value is used as an input value, and the first comparison value stored as the temporary variable is compared with the second comparison value that is the input value.

제1 비교값과 제2 비교값을 서로 판단한 결과 그 비교값이 동일하면 위조나 변조 등이 되지 않은 것으로 무결성이 입증되고, 다르면 무결성이 입증되지 않게 된다. 특히, 블록체인에 기록되어 있던 제2 변수값 보다는 원본 데이터에 해당하는 제1 비교값의 무결성을 검증하게 된다.As a result of judging the first comparison value and the second comparison value, if the comparison values are the same, the integrity is verified as not forgery or tampering. In particular, the integrity of the first comparison value corresponding to the original data rather than the second variable value recorded in the block chain is verified.

이때, 제1 비교값은 데이터베이스(120)로부터 제공받은 원본 데이터에 대해 블록체인(140)에 저장된 해시 데이터 생성시 수행한 해시 절차(해시 함수)를 동일하게 적용함으로써 해시값을 갖게 한 데이터이다.At this time, the first comparison value is data that has a hash value by applying the same hash procedure (hash function) performed when generating hash data stored in the block chain 140 to the original data provided from the database 120 .

제2 비교값은 블록체인(140)에서 트랜젝션 ID로 매핑된 값을 불러온 것으로 상술한 해시 데이터가 제2 비교값에 해당한다. 따라서, 무결성이 있는 것이라면 이들 해시 데이터(해시값)은 반드시 서로 동일해야 하며 이를 통해 무결성을 검증할 수 있게 된다.The second comparison value is a value mapped to the transaction ID from the block chain 140, and the above-described hash data corresponds to the second comparison value. Therefore, if there is integrity, these hash data (hash values) must be identical to each other, and through this, integrity can be verified.

또한, 본 발명은 무결성 이외에 비공개를 유지하는데, 해시 데이터가 블록체인(140) 네트워크에서 비공개 처리되는 이유는 본 발명의 해시 처리는 내부의 무결성 블록체인 서버(130) 자체에서 이루어지기 때문이다. 더욱이 본 발명은 공개되지 않고 특별한 해시 코드를 사용하기 때문이다.In addition, the present invention maintains privacy in addition to integrity. The reason why hash data is processed privately in the blockchain 140 network is that the hash processing of the present invention is made in the internal integrity blockchain server 130 itself. Moreover, this is because the present invention uses a special hash code that is not disclosed.

즉, 일반적인 경우의 해시 처리는 블록체인 네트워크 상에서 합의, 인증 및 트랜젝션되는 과정에서 이루어지게 되고, 아울러 각각의 노드들마다 서로 공통된 분산 원장 규칙을 따르므로 범용의 해시 함수가 사용된다. 따라서, 변조 및 삭제는 거의 불가능하지만 공개를 막을 수는 없다.That is, hash processing in the general case is performed in the process of consensus, authentication, and transaction on the blockchain network, and since each node follows the common distributed ledger rule, a general-purpose hash function is used. Therefore, tampering and erasure is almost impossible, but it cannot prevent disclosure.

반면, 본 발명은 위와 같이 블록체인 네트워크의 노드에서 해시 처리를 하는 것이 아니라 무결성 블록체인 서버(130) 차원에서 해시 함수를 적용하기 때문에 다른 노드들에서는 그 처리된 해시를 제거하고 그 파일을 열람할 수 없어서 비공개가 유지된다. 따라서, 본 발명은 무결성과 함께 기밀성을 제공한다.On the other hand, since the present invention applies a hash function at the level of the integrity blockchain server 130 rather than performing hash processing in the nodes of the blockchain network as above, other nodes remove the processed hash and view the file. can't be kept private. Thus, the present invention provides confidentiality along with integrity.

이상에서 본 발명에 따른 사물인터넷 데이터의 무결성 검증 시스템에 대해 설명하였으며, 본 발명은 원본 데이터에 대한 무결성 검증이 효과적으로 이루어질 수 있음은 물론, 기밀성 역시 제공하여 그 과제를 해결함을 알 수 있다.In the above, the system for verifying the integrity of IoT data according to the present invention has been described, and it can be seen that the present invention solves the problem by not only effectively verifying the integrity of the original data, but also providing confidentiality.

그러나, 더욱 바람직한 본 발명의 실시예로써 상기한 무결성 블록체인 서버(130)는 수신된 다수의 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류 후, 그 분류된 센싱 데이터를 저장한다.However, as a more preferred embodiment of the present invention, the above-described integrity block chain server 130 classifies the sensing data that needs to be disclosed among a plurality of received sensing data, and then stores the classified sensing data.

비공개 처리 여부는 그 중요도에 따라 클라이언트의 요구나 서버에 의해 설정 가능하다. 이를 통해 비공개가 필요한 센싱 데이터에 대해서만 블록체인(140)에 저장함으로써 노드 및 파일 증가에 따른 데이터 처리량을 저감시킬 수 있다.Whether or not to process privately can be set by the request of the client or the server according to its importance. Through this, it is possible to reduce the data throughput due to the increase of nodes and files by storing only the sensing data that needs to be disclosed in the block chain 140 .

또한, 위에서 설명한 센싱 데이터는 대표적인 실시예로서 스마트 팜에 설치된 센서(도 3의 '10' 참조)들로부터 생성된 것이 바람직하다. 스마트 팜에 설치된 센서로는 생육 센서, 기기 센서 및 출입 센서를 비롯한 여러 센서를 포함한다.In addition, the sensing data described above is preferably generated from sensors (refer to '10' in FIG. 3 ) installed in the smart farm as a representative embodiment. Sensors installed in smart farms include several sensors, including growth sensors, device sensors, and access sensors.

센싱 데이터는 재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와, 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터 및 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터를 포함하게 된다.Sensing data includes growth sensor data that senses the environment in which cultivated plants grow, device sensor data that senses the control status of devices installed in the smart farm, and access sensor data that senses the access status of people entering and exiting the smart farm will do

이를 통해 정확한 생육 데이터 및 기기 데이터에 근거하여 생육 단계별 정밀한 관리와 예측 등이 가능하고, 효율적인 기기제어를 가능하게 한다. 또한, 무결성을 입증 후 피해나 손해에 대한 증거로 이용하고, 출입 데이터로는 무단 침입을 입증할 수 있는 증거로 이용할 수도 있게 된다.This enables precise management and prediction for each growth stage based on accurate growth data and device data, and enables efficient device control. In addition, after verifying integrity, it can be used as evidence for damage or damage, and access data can be used as evidence to prove unauthorized intrusion.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법에 대해 설명한다.Hereinafter, a method for verifying the integrity of IoT data using a block chain according to a preferred embodiment of the present invention will be described with reference to the accompanying drawings.

도 5는 본 발명에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법을 나타낸 흐름도이다. 도 6은 데이터 저장 단계를 나타낸 흐름도이며, 도 7은 무결성 검증 단계를 나타낸 흐름도이다.5 is a flowchart illustrating a method for verifying the integrity of IoT data using a block chain according to the present invention. 6 is a flowchart illustrating a data storage step, and FIG. 7 is a flowchart illustrating an integrity verification step.

도 5와 같이, 본 발명의 바람직한 실시예에 따른 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법은 데이터 수집단계(S110), 원본 데이터 저장단계(S120), 해시 데이터 저장단계(S130) 및 무결성 검증단계(S140)를 포함한다.5 , the method for verifying the integrity of IoT data using a block chain according to a preferred embodiment of the present invention includes a data collection step (S110), an original data storage step (S120), a hash data storage step (S130), and integrity verification. Step S140 is included.

여기서, 상기 데이터 수집단계(S110)에서는 사물인터넷 디바이스(110)가 데이터 생성원(10)이 위치한 로컬이나 그 외 원격에서 유무선 통신네트워크에 접속하여 센싱 데이터를 수집하고 전송 처리한다.Here, in the data collection step ( S110 ), the IoT device 110 collects and transmits sensing data by accessing the wired/wireless communication network locally or remotely where the data generating source 10 is located.

원본 데이터 저장단계(S120)에서는 센싱 데이터에 대한 원본 데이터를 저장하는데, 무결성 블록체인 서버(130)는 파일 기록 및 서버의 질의에 따른 파일 전송 기능을 제공하는 데이터베이스(120)에 원본 데이터를 저장한다.In the original data storage step (S120), the original data for the sensed data is stored, and the integrity block chain server 130 stores the original data in the database 120 that provides a file record and file transfer function according to the server's query. .

해시 데이터 저장단계(S130)에서는 사물인터넷 플랫폼 및 블록체인 플랫폼을 모두 제공하는 무결성 블록체인 서버(130)에서 센싱 데이터에 대해 해시 함수를 처리하여 해시 데이터를 생성하고 이를 블록체인(140)에 저장한다.In the hash data storage step (S130), the integrity block chain server 130 that provides both the IoT platform and the block chain platform processes the hash function on the sensed data to generate hash data and store it in the block chain 140 .

무결성 검증단계(S140) 역시 무결성 블록체인 서버(130)에서 이루어지며, 무결성 검증을 위해 상술한 원본 데이터와 해시 데이터를 서로 비교하며, 비교를 위해 원본 데이터를 비교 가능한 해시값으로 변환한다.The integrity verification step (S140) is also performed in the integrity block chain server 130, and compares the above-described original data and hash data with each other for integrity verification, and converts the original data into a comparable hash value for comparison.

이와 같이 본 발명은 원본 데이터와 해시 데이터를 각각 데이터베이스(120)와 블록체인(140)에 분산하여 비공개로 저장함으로써 센싱 데이터가 블록체인(140)을 통해 공개되어 사생활이 침해되거나 정보가 유출되는 것을 방지한다.As such, the present invention distributes the original data and hash data in the database 120 and the block chain 140 and stores them privately, so that the sensed data is disclosed through the block chain 140 to prevent invasion of privacy or information leakage. prevent.

또한, 원본 데이터에 해시 데이터와 동일한 해시 함수를 적용하여 제1 비교값(해시값)으로 변환하고, 블록체인(140)에 저장된 제2 비교값(해시 데이터)을 불러와서 이들을 서로 비교한다. 따라서, IoT 상의 센싱 데이터에 대한 무결성을 검증할 수 있게 한다.In addition, the same hash function as the hash data is applied to the original data to be converted into a first comparison value (hash value), and the second comparison value (hash data) stored in the block chain 140 is called and compared with each other. Therefore, it is possible to verify the integrity of the sensing data on the IoT.

도 6을 참조하여 좀더 상세히 설명하면, 상기 데이터 수집단계(S110)에서는 사물인터넷 디바이스(110)에서 센싱 데이터를 수집하여 전송 처리한다. 센싱 데이터의 수집 및 전송 처리는 일 예로 사물인터넷 디바이스(110)에서 수행된다.6 , in the data collection step ( S110 ), sensing data is collected and transmitted from the IoT device 110 . The collection and transmission processing of sensing data is performed, for example, in the IoT device 110 .

사물인터넷 디바이스(110)는 일 예로 스마트 팜과 같은 사물인터넷 상에서 측정(S110a)된 센싱 데이터를 수집하여 전송 처리(S110)하는 것으로, 센싱 데이터는 다양한 객체(물건이나 장소)에 설치된 센서로부터 전송된 데이터를 포함한다.The IoT device 110 collects and transmits the sensed data measured (S110a) on the Internet of Things, such as a smart farm, for example, and transmits it (S110), and the sensing data is transmitted from sensors installed in various objects (things or places). contains data.

이러한 사물인터넷 디바이스(110)는 게이트웨이 모듈(111) 및 데이터 처리모듈(112)을 포함하여, 게이트웨이 모듈(111)에서는 센싱 데이터가 무결성 블록체인 서버(130)에 네트워크 전송되도록 신호처리를 한다.The IoT device 110 includes a gateway module 111 and a data processing module 112 , and the gateway module 111 performs signal processing so that the sensed data is transmitted to the integrity block chain server 130 over the network.

데이터 처리모듈(112)은 다수의 센싱 데이터를 수신하여 상기한 게이트웨이 모듈(111)로 전송하며, 게이트웨이 모듈(111) 및 데이터 처리모듈(112)은 오퍼레이팅 시스템(OS)의 제어하여 프로세스를 처리한다.The data processing module 112 receives a plurality of sensing data and transmits it to the above-described gateway module 111, and the gateway module 111 and the data processing module 112 process the process by controlling the operating system (OS). .

위와 같이 데이터 수집단계(S110)에서 센싱 데이터가 수집되면, 일 실시예로써 그 수집된 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류하는 데이터 검사단계(S111)를 수행한다.When the sensing data is collected in the data collection step (S110) as described above, as an embodiment, a data inspection step (S111) of classifying the sensing data that needs to be disclosed among the collected sensing data is performed.

비공개 처리 여부는 그 중요도에 따라 클라이언트의 요구나 서버에 의해 설정 가능하다. 이를 통해 비공개가 필요한 센싱 데이터에 대해서만 블록체인(140)에 저장함으로써 노드 및 파일 증가에 따른 데이터 처리량을 저감시킬 수 있다.Whether or not to process privately can be set by the request of the client or the server according to its importance. Through this, it is possible to reduce the data throughput due to the increase of nodes and files by storing only the sensing data that needs to be disclosed in the block chain 140 .

이러한 데이터 검사는 무결성 블록체인 서버(130)에서 이루어지는 것으로, 사물인터넷 센서에 대한 인증 및 센서 종류 분류 등 다양한 기능을 수행한다. 검사를 통과한 이후에는 아래의 원본 데이터 저장단계(S120)가 수행된다.This data inspection is performed by the integrity block chain server 130, and performs various functions such as authentication for IoT sensors and classification of sensor types. After passing the inspection, the following original data storage step (S120) is performed.

다음, 원본 데이터 저장단계(S120)에서는 무결성 블록체인 서버(130)에서 센싱 데이터를 수신하여, 센싱 데이터에 대한 원본 데이터를 통신 네트워크를 통해 연결된 데이터베이스(120)에 기록한다.Next, in the original data storage step ( S120 ), the sensed data is received from the integrity block chain server 130 , and the original data for the sensed data is recorded in the database 120 connected through the communication network.

원본 데이터는 블록체인(140)에 기록되는 해시 데이터와 구별되는 개념이다. 즉, 원본 데이터(data)는 서버에서 해시 함수 처리가 이루어지는 해시 데이터(H(data))와 구분된다. The original data is a concept distinct from hash data recorded in the block chain 140 . That is, the original data (data) is distinguished from the hash data (H(data)) that is processed by the hash function in the server.

따라서, 원본 데이터는 데이터베이스(120)에 바로 저장되어 기록되어 언제든지 다시 불러와 사용할 수 있으며, 원본 데이터의 무결성을 검증할 필요가 있는 경우에는 블록체인(140)에 기록된 해시 데이터와 동일성 비교를 한다.Therefore, the original data is directly stored and recorded in the database 120 and can be recalled and used at any time, and when it is necessary to verify the integrity of the original data, the hash data recorded in the block chain 140 is compared for equality. .

다만, 원본 데이터 저장단계(S120)에서는 동일성 비교시 블록체인(140)에서 해시 데이터를 불러올 수 있도록 해시 데이터를 매핑하는 트랜젝션 ID를 함께 저장하는 것이 바람직하다.However, in the original data storage step ( S120 ), it is preferable to store the transaction ID for mapping the hash data together so that the hash data can be retrieved from the block chain 140 during the equality comparison.

트랜젝션 ID는 트랜젝션의 성공에 따라 블록 생성시 할당되는 ID 번호에 해당하는 것으로 흔히 'Txhash'나 'TXID'라고도 하며, 트랜젝션 ID를 이용하면 위치 추적이 가능하여 후에 무결성 검증시 해시 데이터를 불러오는데 이용된다. The transaction ID corresponds to the ID number assigned when creating a block according to the success of the transaction, and is often called 'Txhash' or 'TXID'. do.

또한, 실시예에 따라 해시 함수에 시간 'time'을 포함하는 경우에는 원본 데이터로부터 해시값을 생성시 사용되는 시간 'time' 역시 저장할 수 있다. 따라서, 데이터베이스(120)에는 원본 데이터, 트랜젝션 ID 및 시간이 저장된다. In addition, according to an embodiment, when the time 'time' is included in the hash function, the time 'time' used when generating a hash value from the original data may also be stored. Accordingly, the database 120 stores the original data, the transaction ID, and the time.

다만, 본 발명은 중앙집중식 데이터베이스(120)를 사용함으로써 원본 데이터 자체도 공개되는 것을 방지한다. 또한, MySQL과 같이 관계형 데이터베이스(120) 관리시스템(R-DBMS)을 탑재하고 있는 것이 적용된다.However, the present invention prevents the original data itself from being disclosed by using the centralized database 120 . In addition, it is applied that the relational database 120 management system (R-DBMS) is mounted like MySQL.

다음, 해시 데이터 저장단계(S130)에서는 무결성 블록체인 서버(130)에서 이루어지는 것으로, 무결성 블록체인 서버(130)는 센싱 데이터의 비공개를 위해 해싱처리한 해시 데이터를 블록체인(140)에 저장한다.Next, the hash data storage step (S130) is performed in the integrity block chain server 130, and the integrity block chain server 130 stores hashed hash data in the block chain 140 to keep the sensed data private.

해시 데이터는 센싱 데이터에 해시 함수를 적용하여 생성하는데, 일 예로 다수의 센싱 데이터를 스트링(string)으로 합산하여 해시 데이터를 생성하고 블록체인(140)에 저장한다. Hash data is generated by applying a hash function to sensing data. For example, hash data is generated by summing a plurality of sensing data into a string and stored in the block chain 140 .

구체적으로, 해시 데이터 저장단계(S130)는 다수의 센싱 데이터를 해시 함수로 처리하여 해시 데이터를 생성하는 해싱 단계(S130a) 및 해시 데이터를 블록체인(140)에 기록하기 위한 트랜젝션을 실행하여 트랜젝션 ID를 생성하는 트랜젝션 단계(S130b)를 포함한다.Specifically, the hash data storage step (S130) is a hashing step (S130a) of generating hash data by processing a plurality of sensed data with a hash function, and a transaction for recording the hash data in the block chain 140 to execute a transaction ID and a transaction step (S130b) for generating

그 후 트랜젝션에 따라 블록이 생성되면 블록체인(140)에 해시 데이터를 저장하는 해시 기록단계(S130c)가 이루어진다. 이때, 트랜젝션이 실패하면 다시 해싱 단계로 돌아가고 트랜젝션이 성공하면 해시 데이터에 대한 블록이 생성되어 블록체인(140)에 기록(S130c)된다.After that, when a block is generated according to the transaction, a hash recording step (S130c) of storing hash data in the block chain 140 is performed. At this time, if the transaction fails, it returns to the hashing step again, and if the transaction is successful, a block for hash data is generated and recorded in the block chain 140 (S130c).

바람직한 실시예로 블록체인(140)은 클레이튼이 사용되며, 해시 데이터는 암화화 되지 않은 헥스(hex)코드로 작성된다. 작성된 해시 데이터는 원격절차호출인 RPC를 통해 블록체인(140)에 저장하는데 RPC는 P2P 노드에 직접 요청을 보낸다.In a preferred embodiment, the block chain 140 uses Klaytn, and the hash data is written as a non-encrypted hex code. The created hash data is stored in the blockchain 140 through RPC, which is a remote procedure call, which directly sends a request to the P2P node.

다음, 무결성 검증단계(S140)에서는 무결성 블록체인 서버(130)에서 데이터베이스(120)에 기록된 원본 데이터와 블록체인(140)에 기록된 해시 데이터를 각각 불러와 서로 간에 동일성을 비교함으로써 무결성을 검증한다.Next, in the integrity verification step (S140), the integrity is verified by calling the original data recorded in the database 120 and the hash data recorded in the block chain 140 from the integrity block chain server 130, respectively, and comparing the identity with each other. do.

도 7을 통해 좀더 상세히 알 수 있는 바와 같이, 무결성 검증단계(S140)는 원본 데이터 질의단계(S141), 해시값 변환단계(S142), 비교값 호출단계(S143) 및 무결성 판단단계(S144)를 포함한다.As can be seen in more detail through FIG. 7, the integrity verification step (S140) includes the original data query step (S141), the hash value conversion step (S142), the comparison value calling step (S143), and the integrity determination step (S144). include

이때, 원본 데이터 질의단계(S141)에서는 데이터베이스(120)에 기록되어 있는 원본 데이터를 불러온다. 또한, 블록체인(140)에서 해시 데이터를 불러오기 위한 트랜젝션 ID나 해시값 변환을 위한 시간 값도 이 단계에서 불러올 수 있다.At this time, in the original data query step (S141), the original data recorded in the database 120 is called. In addition, a transaction ID for retrieving hash data from the block chain 140 or a time value for hash value conversion can also be fetched at this stage.

해시값 변환단계(S142)에서는 불러온 원본 데이터에 대해 블록체인(140)에 기록된 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행하여 제1 비교값을 생성한다. 따라서, 제1 비교값은 해시 데이터와 비교 가능한 해시 형식이다.In the hash value conversion step (S142), the same hashing as used for generating hash data recorded in the block chain 140 is performed on the retrieved original data to generate a first comparison value. Accordingly, the first comparison value is in a hash format comparable to hash data.

본 발명에서 원본 데이터에 대한 해시값을 갖기 위한 해시 처리는 일 예로 데이터베이스(120)로부터 2개의 컬럼(time, data)를 가져와 하나의 스트링(string)으로 변환하는 것이며, 이러한 해시는 해시 데이터를 생성시와 같다.In the present invention, hash processing to have a hash value for original data is, for example, taking two columns (time, data) from the database 120 and converting them into one string, and this hash generates hash data like poetry

비교값 호출단계(S143)는 블록체인(140)에서 트랜젝션 ID에 매핑되어 있는 값을 불러와 제2 비교값을 제시하는 단계로, 원본 데이터에 대한 해시값을 생성한 이후에 수행될 수 있지만 필요에 따라 그 이전 혹은 동시에 이루어질 수도 있다.The comparison value calling step (S143) is a step of calling the value mapped to the transaction ID in the block chain 140 and presenting the second comparison value. It can be performed after generating a hash value for the original data, but it is necessary This may be done either before or at the same time, depending on the circumstances.

제2 비교값은 블록체인(140)에서 기록된 해시 데이터를 트랜젝션 ID로 매핑하여 다시 불러온 것이므로 최초 블록체인(140)에 기록된 해시 데이터와 같다. 따라서 무결성이 있다면 이들 해시 데이터(해시값)은 반드시 서로 동일하게 된다.The second comparison value is the same as the hash data recorded in the first block chain 140 because the hash data recorded in the block chain 140 is mapped to the transaction ID and recalled. Therefore, if there is integrity, these hash data (hash values) must be identical to each other.

무결성 판단단계(S144)는 제1 비교값과 제2 비교값이 서로 동일한지 비교하여 무결성을 검증하는 단계이다. 일 예로 제1 비교값을 임시 변수로 저장하고 제2 변수값을 입력값으로 하여 제1 비교값과 입력값인 제2 비교값을 비교한다.The integrity determination step S144 is a step of verifying integrity by comparing whether the first comparison value and the second comparison value are identical to each other. As an example, the first comparison value is stored as a temporary variable and the first comparison value is compared with the second comparison value, which is the input value, using the second variable value as an input value.

제1 비교값과 제2 비교값을 서로 판단한 결과 그 비교값이 동일하면 위조나 변조 등이 되지 않은 것으로 무결성이 입증(S145a)되고, 다르면 무결성이 입증되지 않게 된다(S145b). As a result of determining the first comparison value and the second comparison value, if the comparison values are the same, the integrity is verified that there is no forgery or tampering (S145a), and if they are different, the integrity is not verified (S145b).

또한, 본 발명은 무결성 이외에 비공개 상태 역시 유지하는데, 해시 데이터가 블록체인(140) 네트워크에서 비공개 처리되는 이유는 본 발명의 해시 처리는 내부의 무결성 블록체인 서버(130) 자체에서 이루어지기 때문이다. 더욱이 본 발명은 공개되지 않고 특별한 해시 코드를 사용하기 때문이다. 따라서, 본 발명은 무결성과 함께 기밀성을 제공한다.In addition, the present invention also maintains a private state in addition to integrity. The reason why hash data is processed privately in the blockchain 140 network is that the hash processing of the present invention is performed in the internal integrity blockchain server 130 itself. Moreover, this is because the present invention uses a special hash code that is not disclosed. Thus, the present invention provides confidentiality along with integrity.

이상에서 본 발명에 따른 사물인터넷 데이터의 무결성 검증 방법 대해 설명하였으며, 본 발명은 원본 데이터에 대한 무결성 검증이 효과적으로 이루어질 수 있음은 물론, 기밀성 역시 제공하여 그 과제를 해결함을 알 수 있다.In the above, the method for verifying the integrity of IoT data according to the present invention has been described, and it can be seen that the present invention solves the problem by providing confidentiality as well as being able to effectively verify the integrity of the original data.

그러나, 더욱 바람직한 실시예로써 센싱 데이터는 스마트 팜에 설치된 센서(도 3의 '10' 참조)들로부터 생성된 것이 바람직하다. 스마트 팜에 설치된 센서로는 생육 센서, 기기 센서 및 출입 센서를 비롯한 여러 센서를 포함한다.However, as a more preferred embodiment, the sensing data is preferably generated from sensors (refer to '10' in FIG. 3 ) installed in the smart farm. Sensors installed in smart farms include several sensors, including growth sensors, device sensors, and access sensors.

센싱 데이터는 재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와, 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터 및 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터를 포함하게 된다.Sensing data includes growth sensor data that senses the environment in which cultivated plants grow, device sensor data that senses the control status of devices installed in the smart farm, and access sensor data that senses the access status of people entering and exiting the smart farm will do

이를 통해 정확한 생육 데이터 및 기기 데이터에 근거하여 생육 단계별 정밀한 관리와 예측 등이 가능하고, 효율적인 기기제어를 가능하게 한다. 또한, 무결성을 입증 후 피해나 손해에 대한 증거로 이용하고, 출입 데이터로는 무단 침입을 입증할 수 있는 증거로 이용할 수도 있게 된다.This enables precise management and prediction of each growth stage based on accurate growth data and device data, and enables efficient device control. In addition, after verifying integrity, it can be used as evidence for damage or damage, and access data can be used as evidence to prove unauthorized intrusion.

이상, 본 발명의 특정 실시예에 대하여 상술하였다. 그러나, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.In the above, specific embodiments of the present invention have been described above. However, the spirit and scope of the present invention is not limited to these specific embodiments, but various modifications and variations are possible within the scope that does not change the gist of the present invention. You will understand when you grow up.

따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Therefore, since the embodiments described above are provided to fully inform those of ordinary skill in the art to which the present invention pertains the scope of the invention, it should be understood that they are exemplary in all respects and not limiting, The invention is only defined by the scope of the claims.

10: 데이터 생성원(센서)
110: 사물인터넷 디바이스
111: 게이트웨이 모듈
112: 데이터 처리모듈
120: 데이터베이스(MySQL)
130: 무결성 블록체인 서버
131: DB 모듈부
132: 블록체인 모듈부
133: 검증 모듈부
140: 블록체인(Klayten)
10: Data generator (sensor)
110: IoT device
111: gateway module
112: data processing module
120: Database (MySQL)
130: Integrity blockchain server
131: DB module unit
132: block chain module unit
133: verification module unit
140: Blockchain (Klayten)

Claims (14)

센싱 데이터를 수집하여 전송 처리하는 사물인터넷 디바이스(110)와;
데이터를 저장하고 질의에 따라 저장된 데이터를 제공하는 데이터베이스(120); 및
상기 센싱 데이터를 전송받아 원본 데이터는 상기 데이터베이스(120)에 저장하고, 비공개를 위해 해싱(hashing)처리된 해시 데이터는 블록체인(140)에 저장하는 무결성 블록체인 서버(130);를 포함하되,
상기 무결성 블록체인 서버(130)는 상기 원본 데이터와 해시 데이터를 불러와 동일성을 비교함으로써 무결성(integrity)을 검증하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
an IoT device 110 that collects and transmits sensing data;
a database 120 that stores data and provides the stored data according to a query; and
Integrity block chain server 130 that receives the sensing data, stores the original data in the database 120, and stores hash data hashed for privacy in the block chain 140;
The integrity block chain server 130 fetches the original data and hash data and compares the identity to verify the integrity of the IoT data integrity verification system using the block chain.
제1항에 있어서,
상기 사물인터넷 디바이스(110)는,
상기 센싱 데이터를 상기 무결성 블록체인 서버(130)에 네트워크 전송이 가능하도록 신호처리하는 게이트웨이 모듈(111); 및
원격에서 다수의 센싱 데이터를 수신하여 상기 게이트웨이 모듈(111)에 제공하는 데이터 처리모듈(112);을 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
According to claim 1,
The IoT device 110,
a gateway module 111 for signal processing to enable network transmission of the sensed data to the integrity block chain server 130; and
The system for verifying the integrity of IoT data using a block chain, comprising: a data processing module 112 that receives a plurality of sensed data from a remote location and provides the data processing module 112 to the gateway module 111.
제1항에 있어서,
상기 데이터베이스(120)는,
상기 원본 데이터의 공개를 방지하기 위한 중앙집중식 데이터베이스(120)인 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
According to claim 1,
The database 120 is
The system for verifying the integrity of IoT data using a block chain, characterized in that it is a centralized database 120 for preventing the disclosure of the original data.
제1항에 있어서,
상기 무결성 블록체인 서버(130)는,
수신된 다수의 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류하고, 상기 분류된 센싱 데이터를 저장하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
According to claim 1,
The integrity blockchain server 130,
A system for verifying the integrity of IoT data using a block chain, comprising classifying sensing data that needs to be disclosed among a plurality of received sensing data, and storing the classified sensing data.
제1항에 있어서,
상기 무결성 블록체인 서버(130)는,
상기 센싱 데이터의 원본 데이터를 상기 데이터베이스(120)에 저장하는 DB 모듈부(131)와;
상기 센싱 데이터에 해시 함수를 적용하고 생성된 해시 데이터를 블록체인(140)에 저장하는 블록체인(140) 모듈부(132); 및
상기 데이터베이스(120)에 저장된 원본 데이터와 블록체인(140)에 저장된 해시 데이터가 서로 동일한지 비교하여 무결성을 검증하는 검증 모듈부(133);를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
According to claim 1,
The integrity blockchain server 130,
a DB module unit 131 for storing the original data of the sensing data in the database 120;
a block chain 140 module unit 132 for applying a hash function to the sensed data and storing the generated hash data in the block chain 140; and
Internet of Things data using block chain, characterized in that it includes; a verification module unit 133 that verifies the integrity by comparing whether the original data stored in the database 120 and the hash data stored in the block chain 140 are identical to each other Integrity Verification System.
제5항에 있어서,
상기 DB 모듈부(131)는 상기 해시 데이터를 블록체인(140)에 기록시 할당된 트랜젝션 ID를 상기 원본 데이터와 함께 데이터베이스(120)에 저장하고,
상기 블록체인(140) 모듈부(132)는 다수의 센싱 데이터를 해시 함수로 처리하여 해시 데이터를 생성하며,
상기 검증 모듈부(133)는 상기 원본 데이터에 대해 상기 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행한 제1 비교값과 블록체인(140)에서 상기 트랜젝션 ID에 매핑되어 있는 값을 불러온 제2 비교값을 비교하여 무결성을 검증하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
6. The method of claim 5,
The DB module unit 131 stores the transaction ID allocated when the hash data is recorded in the block chain 140 together with the original data in the database 120,
The block chain 140 module unit 132 generates hash data by processing a plurality of sensing data with a hash function,
The verification module unit 133 fetches a first comparison value obtained by performing the same hashing as that used for generating the hash data on the original data and a value mapped to the transaction ID in the block chain 140 . Integrity verification system of IoT data using a block chain, characterized in that the integrity is verified by comparing the comparison values.
제1항 내지 제6항 중 어느 하나의 항에 있어서,
상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로,
재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와;
상기 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및
상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.
7. The method according to any one of claims 1 to 6,
The sensing data is data generated from sensors installed in the smart farm,
Growth sensor data for sensing an environment in which cultivated plants grow;
device sensor data for sensing a control state of a device installed in the smart farm; and
Integrity verification system of IoT data using a block chain, characterized in that it includes; access sensor data for sensing an access state of a person entering and exiting the smart farm.
사물인터넷 디바이스(110)에서 센싱 데이터를 수집하여 전송 처리하는 데이터 수집단계(S110)와;
무결성 블록체인 서버(130)에서 상기 센싱 데이터를 수신하여, 상기 센싱 데이터에 대한 원본 데이터를 데이터베이스(120)에 기록하는 원본 데이터 저장단계(S120)와;
상기 무결성 블록체인 서버(130)에서 상기 센싱 데이터의 비공개를 위해 해싱처리한 해시 데이터를 블록체인(140)에 저장하는 해시 데이터 저장단계(S130); 및
상기 무결성 블록체인 서버(130)에서 상기 원본 데이터와 해시 데이터를 불러와 동일성을 비교함으로써 무결성을 검증하는 무결성 검증단계(S140);를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
A data collection step (S110) of collecting and transmitting the sensing data from the IoT device 110;
an original data storage step (S120) of receiving the sensed data from the integrity block chain server 130 and recording the original data for the sensed data in the database 120;
Hash data storage step (S130) of storing hash data hashed for privacy of the sensing data in the integrity block chain server 130 in the block chain 140; and
The integrity verification step (S140) of verifying the integrity by calling the original data and the hash data from the integrity block chain server 130 and comparing the sameness (S140); method.
제8항에 있어서,
상기 원본 데이터 저장단계(S120)에서는,
상기 원본 데이터의 공개를 방지하기 위해 상기 원본 데이터를 중앙집중식 데이터베이스(120)에 저장하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
9. The method of claim 8,
In the original data storage step (S120),
In order to prevent the disclosure of the original data, the method for verifying the integrity of IoT data using a block chain, characterized in that the original data is stored in a centralized database (120).
제8항에 있어서,
상기 데이터 수집단계(S110)에서 수집된 센싱 데이터들 중 비공개가 필요한 센싱 데이터를 분류하는 데이터 검사단계(S111)를 더 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
9. The method of claim 8,
The method of verifying the integrity of IoT data using a block chain, characterized in that it further comprises a data inspection step (S111) of classifying the sensing data that needs to be disclosed among the sensing data collected in the data collection step (S110).
제8항에 있어서,
상기 원본 데이터 저장단계(S120)는,
상기 해시 데이터를 블록체인(140)에 기록시 할당된 트랜젝션 ID를 상기 원본 데이터와 함께 데이터베이스(120)에 저장하는 단계인 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
9. The method of claim 8,
The original data storage step (S120) is,
The method of verifying the integrity of IoT data using a block chain, characterized in that the step of storing the transaction ID assigned when the hash data is recorded in the block chain 140 together with the original data in the database 120.
제11항에 있어서,
상기 해시 데이터 저장단계(S130)는,
다수의 센싱 데이터를 해시 함수로 처리하여 해시 데이터를 생성하는 해싱 단계(S130a)와;
상기 해시 데이터를 블록체인(140)에 기록하기 위한 트랜젝션을 실행하여 트랜젝션 ID를 생성하는 트랜젝션 단계(S130b); 및
상기 트랜젝션에 의해 상기 블록체인(140)에 해시 데이터를 저장하는 해시 기록단계(S130c);를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
12. The method of claim 11,
The hash data storage step (S130) is,
A hashing step (S130a) of generating hash data by processing a plurality of sensed data with a hash function;
a transaction step (S130b) of generating a transaction ID by executing a transaction for recording the hash data in the block chain 140; and
and a hash recording step (S130c) of storing hash data in the block chain 140 by the transaction.
제11항에 있어서,
상기 무결성 검증단계(S140)는,
상기 데이터베이스(120)에 기록되어 있는 원본 데이터를 불러오는 원본 데이터 질의단계(S141)와;
상기 불러온 원본 데이터에 대해 상기 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행하여 제1 비교값을 생성하는 해시값 변환단계(S142)와;
블록체인(140)에서 상기 트랜젝션 ID에 매핑되어 있는 값을 불러와 제2 비교값을 제시하는 비교값 호출단계(S143); 및
상기 제1 비교값과 제2 비교값이 서로 동일한지 비교하여 무결성을 검증하는 무결성 판단단계(S144);를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
12. The method of claim 11,
The integrity verification step (S140),
an original data query step (S141) of calling the original data recorded in the database 120;
a hash value conversion step (S142) of generating a first comparison value by performing the same hashing as that used for generating the hash data on the retrieved original data;
a comparison value calling step (S143) of calling a value mapped to the transaction ID in the block chain 140 and presenting a second comparison value; and
and an integrity determination step (S144) of verifying the integrity by comparing whether the first comparison value and the second comparison value are identical to each other.
제8항 내지 제13항 중 어느 하나의 항에 있어서,
상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로,
재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와;
상기 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및
상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.
14. The method according to any one of claims 8 to 13,
The sensing data is data generated from sensors installed in the smart farm,
Growth sensor data for sensing an environment in which cultivated plants grow;
device sensor data for sensing a control state of a device installed in the smart farm; and
Integrity verification method of IoT data using a block chain, comprising: access sensor data for sensing an access state of a person entering and exiting the smart farm.
KR1020200005313A 2020-01-15 2020-01-15 SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN KR20210091963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200005313A KR20210091963A (en) 2020-01-15 2020-01-15 SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200005313A KR20210091963A (en) 2020-01-15 2020-01-15 SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN

Publications (1)

Publication Number Publication Date
KR20210091963A true KR20210091963A (en) 2021-07-23

Family

ID=77155277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200005313A KR20210091963A (en) 2020-01-15 2020-01-15 SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN

Country Status (1)

Country Link
KR (1) KR20210091963A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102391186B1 (en) * 2021-11-24 2022-04-28 엘에스웨어(주) Method and system for outputting external command

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678795B1 (en) 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
US20180262571A1 (en) 2016-03-04 2018-09-13 Sabrina Akhtar Integrated IoT (Internet of Things) System Solution for Smart Agriculture Management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678795B1 (en) 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
US20180262571A1 (en) 2016-03-04 2018-09-13 Sabrina Akhtar Integrated IoT (Internet of Things) System Solution for Smart Agriculture Management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102391186B1 (en) * 2021-11-24 2022-04-28 엘에스웨어(주) Method and system for outputting external command

Similar Documents

Publication Publication Date Title
Chanal et al. Security and privacy in IoT: a survey
Ferrag et al. Security and privacy for green IoT-based agriculture: Review, blockchain solutions, and challenges
Minoli et al. Blockchain mechanisms for IoT security
Hassija et al. A survey on IoT security: application areas, security threats, and solution architectures
CN107508812B (en) Industrial control network data storage method, calling method and system
Mahbub Progressive researches on IoT security: An exhaustive analysis from the perspective of protocols, vulnerabilities, and preemptive architectonics
JP2022523626A (en) Methods, systems, kits, and equipment for monitoring and managing the industrial environment
Yu et al. An efficient trust evaluation scheme for node behavior detection in the internet of things
CN110474921B (en) Perception layer data fidelity method for local area Internet of things
US20190384839A1 (en) Method, apparatus and system for production management
Kalnoor et al. IoT-based smart environment using intelligent intrusion detection system
Dawod et al. An IoT-owned service for global IoT device discovery, integration and (Re) use
CN112446046B (en) Data management method and device based on intelligent contract
Rudrakar et al. IoT based agriculture (Ag-IoT): A detailed study on architecture, security and forensics
US11470100B1 (en) Data surveillance in a zero-trust network
US11138344B2 (en) Securing access to user data stored in a cloud computing environment
KR20210091963A (en) SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN
Fan et al. Understanding security in smart city domains from the ANT-centric perspective
Saleh et al. Privacy preservation for wireless sensor networks in healthcare: State of the art, and open research challenges
Almagrabi Challenges and vulnerability evaluation of smart cities in IoT device based on cybersecurity mechanism
EP3789890A1 (en) Fully qualified domain name (fqdn) determination
Aljahdali et al. IoT Forensic models analysis.
CN108965477B (en) Forestry Internet of things system
Trueman et al. Ensuring privacy and data freshness for public auditing of shared data in cloud
Leo John et al. Introduction to the Internet of Things: Opportunities, Perspectives and Challenges

Legal Events

Date Code Title Description
E601 Decision to refuse application