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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 사물인터넷 상에서 수집된 센싱 데이터의 원본 데이터와 비공개 처리된 해시 데이터를 각각 데이터베이스와 블록체인에 분산하여 비공개로 저장하고, 이들을 서로 비교함으로써 데이터의 무결성을 검증하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법에 관한 것이다.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.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 사물인터넷 상에서 수집된 센싱 데이터의 원본 데이터와 비공개 처리된 해시 데이터를 각각 데이터베이스와 블록체인에 분산하여 비공개로 저장하고, 이들을 서로 비교함으로써 데이터의 무결성을 검증하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템 및 방법을 제공하고자 한다.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
여기서, 데이터 생성원(10)은 사물에 센서를 부착해 네트워크(예: 인터넷) 상에서 실시간으로 데이터를 주고받는 IoT(Internet of Thing)의 객체를 의미하는 것으로, 객체는 각 지역이나 구역(local)에서 센싱 데이터를 생성시킨다.Here, the
또한, 데이터 생성원(10)은 그 응용에 따라 스마트 팜(smart farm), 의료기관 및 지능형 공장과 같이 각종 산업용이나 의료용은 물론 댁내 가정용을 포함한 다양한 사물인터넷 네트워크를 구성할 수 있다.In addition, the
도 2와 같이, 사물인터넷 디바이스(110)는 데이터 생성원(10)이 위치한 로컬이나 그 외 원격에서 유무선 통신네트워크를 통해 데이터 생성원(10)에 연결되며, 이를 통해 수집된 센싱 데이터를 전송 처리한다.As shown in FIG. 2 , the
데이터베이스(120)는 파일 기록 및 서버의 질의에 따른 파일 전송 기능을 제공하는 것으로, 유무선 통신네트워크를 통해 무결성 블록체인 서버(130)에 연결되어 데이터를 입력받는다.The
이때, 무결성 블록체인 서버(130)는 센싱 데이터에 대한 원본 데이터는 데이터베이스(120)에 기록하고, 동일한 원본 데이터에 대해 비공개 처리(해시 처리)한 해시 데이터는 블록체인(140)에 기록한다.At this time, the integrity
또한, 무결성 블록체인 서버(130)는 무결성 검증(integrity check)을 위해 상술한 바와 같은 원본 데이터와 해시 데이터를 서로 비교하는데, 비교를 위해 원본 데이터를 비교 가능한 해시값으로 변환한다.In addition, the integrity
따라서, 원본 데이터와 해시 데이터를 각각 데이터베이스(120)와 블록체인(140)에 분산하여 비공개로 저장함으로써 센싱 데이터가 블록체인(140)을 통해 공개되어 사생활이 침해되거나 정보가 유출되는 것을 방지한다.Accordingly, by distributing and privately storing the original data and hash data in the
또한, 원본 데이터에 해시 데이터와 동일한 해시 함수를 적용하여 제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
이를 위해, 도 3과 같이 상기한 사물인터넷 디바이스(110)는 센싱 데이터를 수집하여 전송 처리한다. 센싱 데이터는 다양한 객체(물건이나 장소)에 설치된 센서로부터 전송된 데이터이다.To this end, as shown in FIG. 3 , the
스마프 팜의 경우를 예로들면 특정 지역에 설치된 스마트 팜에는 '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
데이터 처리모듈(112)은 다수의 센싱 데이터를 수신하여 상기한 게이트웨이 모듈(111)로 전송하며, 게이트웨이 모듈(111) 및 데이터 처리모듈(112)은 오퍼레이팅 시스템(OS)의 제어하여 프로세스를 처리한다.The
이러한 사물인터넷 디바이스(110)를 라즈베리 파이(Raspberry PI 3B+)를 이용하여 설계하는 경우, 게이트웨이 모듈(111)은 '&Cube'로 구현되어 HTTP 프로토콜에 따라 무결성 블록체인 서버(130)에 센싱 데이터를 전송한다.When the IoT
데이터 처리모듈(112)은 라즈베리 파이에서 'TAS(Thing Adaptation S/W)'로 구현되며, 센서 통신라인을 통해 수신된 센싱 데이터를 소켓(socket) 통신으로 게이트웨이 모듈(111)에 제공한다.The
데이터베이스(120)는 데이터를 저장하고 질의(query)에 따라 저장된 데이터를 제공하는 것으로, 사물인터넷 디바이스(110)로부터 수집 및 전송 처리된 센싱 데이터를 저장한다. 특히, 통신 네트워크를 통해 무결성 블록체인 서버(130)에 연결되어 서버에서 제공된 원본 데이터를 저장한다.The
원본 데이터는 후술하는 해시 데이터와 구별되는 개념이다. 이러한 원본 데이터(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
원본 데이터는 데이터베이스(120)에 바로 저장되어 기록되어 언제든지 다시 불러와 사용할 수 있으며, 원본 데이터의 무결성을 검증할 필요가 있는 경우에는 블록체인(140)에 기록된 해시 데이터와 동일성 비교를 한다.The original data is directly stored and recorded in the
다만, 동일성 비교시 블록체인(140)에서 해시 데이터를 불러올 수 있도록 해시 데이터를 매핑하는 트랜젝션 ID를 함께 저장한다. However, the transaction ID that maps the hash data is stored together so that the hash data can be retrieved from the
트랜젝션 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
다만, 데이터베이스(120)는 바람직한 실시예로 중앙집중식 데이터베이스(120)를 사용함으로써 원본 데이터 자체도 공개되는 것을 방지한다. 또한, 관계형 데이터베이스 관리시스템(R-DBMS)을 탑재하고 있는 것이 적용되는데, 이러한 데이터베이스(120)에는 MySQL이 있다.However, the
무결성 블록체인 서버(130)는 사물인터넷 디바이스(110)로부터 센싱 데이터를 전송받아 원본 데이터는 데이터베이스(120)에 저장하고, 비공개를 위해 해싱처리된 해시 데이터는 블록체인(140)에 저장한다. 또한, 원본 데이터와 해시 데이터를 서로 비교하고 이들간 동일성이 있는지의 여부에 따라 무결성을 검증한다.The integrity
이를 위해, 무결성 블록체인 서버(130)는 원본 데이터를 데이터베이스(120)에 저장하는 DB 모듈부(131)와, 해시 데이터를 블록체인(140)에 저장하는 블록체인 모듈부(132) 및 원본 데이터와 해시 데이터가 서로 동일한지 비교하여 무결성을 검증하는 검증 모듈부(133)를 포함한다.To this end, the integrity
DB 모듈부(131), 블록체인 모듈부(132) 및 검증 모듈부(133)는 각각 별개로 구별될 수 있지만 실시예에 따라 하나의 프로세서로 구현될 수 있다. 또한, 하나의 칩셋(chip-set)에 일체로 구현되거나, 검증 모듈부(133)를 DB 모듈부(131)나 블록체인 모듈부(132)에 함께 탑재하는 등 다양한 변형이 가능하다.The
이때, DB 모듈부(131)는 기본적으로 센싱 데이터에 대한 원본 데이터를 기록한다. 그 외 트랜젝션 ID도 데이터베이스(120)에 기록하며, 해시 함수에 따라 시간도 저장된다. At this time, the
상술한 바와 같이 트랜젝션 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
바람직한 실시예로, 블록체인(140)은 클레이튼(klaytn)이 사용되며, 해시 데이터는 암화화 되지 않은 헥스(hex)코드로 작성된다. 작성된 해시 데이터는 원격절차호출(RPC: Remote procedure Call)을 통해 블록체인(140)에 저장하는데, RPC는 P2P 노드에 직접 요청을 보낸다.In a preferred embodiment, the
검증 모듈부(133)는 데이터베이스(120)의 원본 데이터를 변환한 제1 비교값과 블록체인(140)에서 불러온 제2 비교값을 비교하여 동일성을 판단한다. 예컨대, 제1 비교값을 임시 변수로 저장하고 제2 변수값을 입력값으로 하여, 임시 변수로 저장된 제1 비교값과 입력값인 제2 비교값을 비교한다.The
제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
제2 비교값은 블록체인(140)에서 트랜젝션 ID로 매핑된 값을 불러온 것으로 상술한 해시 데이터가 제2 비교값에 해당한다. 따라서, 무결성이 있는 것이라면 이들 해시 데이터(해시값)은 반드시 서로 동일해야 하며 이를 통해 무결성을 검증할 수 있게 된다.The second comparison value is a value mapped to the transaction ID from the
또한, 본 발명은 무결성 이외에 비공개를 유지하는데, 해시 데이터가 블록체인(140) 네트워크에서 비공개 처리되는 이유는 본 발명의 해시 처리는 내부의 무결성 블록체인 서버(130) 자체에서 이루어지기 때문이다. 더욱이 본 발명은 공개되지 않고 특별한 해시 코드를 사용하기 때문이다.In addition, the present invention maintains privacy in addition to integrity. The reason why hash data is processed privately in the
즉, 일반적인 경우의 해시 처리는 블록체인 네트워크 상에서 합의, 인증 및 트랜젝션되는 과정에서 이루어지게 되고, 아울러 각각의 노드들마다 서로 공통된 분산 원장 규칙을 따르므로 범용의 해시 함수가 사용된다. 따라서, 변조 및 삭제는 거의 불가능하지만 공개를 막을 수는 없다.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
이상에서 본 발명에 따른 사물인터넷 데이터의 무결성 검증 시스템에 대해 설명하였으며, 본 발명은 원본 데이터에 대한 무결성 검증이 효과적으로 이루어질 수 있음은 물론, 기밀성 역시 제공하여 그 과제를 해결함을 알 수 있다.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
비공개 처리 여부는 그 중요도에 따라 클라이언트의 요구나 서버에 의해 설정 가능하다. 이를 통해 비공개가 필요한 센싱 데이터에 대해서만 블록체인(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
또한, 위에서 설명한 센싱 데이터는 대표적인 실시예로서 스마트 팜에 설치된 센서(도 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
원본 데이터 저장단계(S120)에서는 센싱 데이터에 대한 원본 데이터를 저장하는데, 무결성 블록체인 서버(130)는 파일 기록 및 서버의 질의에 따른 파일 전송 기능을 제공하는 데이터베이스(120)에 원본 데이터를 저장한다.In the original data storage step (S120), the original data for the sensed data is stored, and the integrity
해시 데이터 저장단계(S130)에서는 사물인터넷 플랫폼 및 블록체인 플랫폼을 모두 제공하는 무결성 블록체인 서버(130)에서 센싱 데이터에 대해 해시 함수를 처리하여 해시 데이터를 생성하고 이를 블록체인(140)에 저장한다.In the hash data storage step (S130), the integrity
무결성 검증단계(S140) 역시 무결성 블록체인 서버(130)에서 이루어지며, 무결성 검증을 위해 상술한 원본 데이터와 해시 데이터를 서로 비교하며, 비교를 위해 원본 데이터를 비교 가능한 해시값으로 변환한다.The integrity verification step (S140) is also performed in the integrity
이와 같이 본 발명은 원본 데이터와 해시 데이터를 각각 데이터베이스(120)와 블록체인(140)에 분산하여 비공개로 저장함으로써 센싱 데이터가 블록체인(140)을 통해 공개되어 사생활이 침해되거나 정보가 유출되는 것을 방지한다.As such, the present invention distributes the original data and hash data in the
또한, 원본 데이터에 해시 데이터와 동일한 해시 함수를 적용하여 제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
도 6을 참조하여 좀더 상세히 설명하면, 상기 데이터 수집단계(S110)에서는 사물인터넷 디바이스(110)에서 센싱 데이터를 수집하여 전송 처리한다. 센싱 데이터의 수집 및 전송 처리는 일 예로 사물인터넷 디바이스(110)에서 수행된다.6 , in the data collection step ( S110 ), sensing data is collected and transmitted from the
사물인터넷 디바이스(110)는 일 예로 스마트 팜과 같은 사물인터넷 상에서 측정(S110a)된 센싱 데이터를 수집하여 전송 처리(S110)하는 것으로, 센싱 데이터는 다양한 객체(물건이나 장소)에 설치된 센서로부터 전송된 데이터를 포함한다.The
이러한 사물인터넷 디바이스(110)는 게이트웨이 모듈(111) 및 데이터 처리모듈(112)을 포함하여, 게이트웨이 모듈(111)에서는 센싱 데이터가 무결성 블록체인 서버(130)에 네트워크 전송되도록 신호처리를 한다.The
데이터 처리모듈(112)은 다수의 센싱 데이터를 수신하여 상기한 게이트웨이 모듈(111)로 전송하며, 게이트웨이 모듈(111) 및 데이터 처리모듈(112)은 오퍼레이팅 시스템(OS)의 제어하여 프로세스를 처리한다.The
위와 같이 데이터 수집단계(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
이러한 데이터 검사는 무결성 블록체인 서버(130)에서 이루어지는 것으로, 사물인터넷 센서에 대한 인증 및 센서 종류 분류 등 다양한 기능을 수행한다. 검사를 통과한 이후에는 아래의 원본 데이터 저장단계(S120)가 수행된다.This data inspection is performed by the integrity
다음, 원본 데이터 저장단계(S120)에서는 무결성 블록체인 서버(130)에서 센싱 데이터를 수신하여, 센싱 데이터에 대한 원본 데이터를 통신 네트워크를 통해 연결된 데이터베이스(120)에 기록한다.Next, in the original data storage step ( S120 ), the sensed data is received from the integrity
원본 데이터는 블록체인(140)에 기록되는 해시 데이터와 구별되는 개념이다. 즉, 원본 데이터(data)는 서버에서 해시 함수 처리가 이루어지는 해시 데이터(H(data))와 구분된다. The original data is a concept distinct from hash data recorded in the
따라서, 원본 데이터는 데이터베이스(120)에 바로 저장되어 기록되어 언제든지 다시 불러와 사용할 수 있으며, 원본 데이터의 무결성을 검증할 필요가 있는 경우에는 블록체인(140)에 기록된 해시 데이터와 동일성 비교를 한다.Therefore, the original data is directly stored and recorded in the
다만, 원본 데이터 저장단계(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
트랜젝션 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
다만, 본 발명은 중앙집중식 데이터베이스(120)를 사용함으로써 원본 데이터 자체도 공개되는 것을 방지한다. 또한, MySQL과 같이 관계형 데이터베이스(120) 관리시스템(R-DBMS)을 탑재하고 있는 것이 적용된다.However, the present invention prevents the original data itself from being disclosed by using the
다음, 해시 데이터 저장단계(S130)에서는 무결성 블록체인 서버(130)에서 이루어지는 것으로, 무결성 블록체인 서버(130)는 센싱 데이터의 비공개를 위해 해싱처리한 해시 데이터를 블록체인(140)에 저장한다.Next, the hash data storage step (S130) is performed in the integrity
해시 데이터는 센싱 데이터에 해시 함수를 적용하여 생성하는데, 일 예로 다수의 센싱 데이터를 스트링(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
구체적으로, 해시 데이터 저장단계(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
그 후 트랜젝션에 따라 블록이 생성되면 블록체인(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
바람직한 실시예로 블록체인(140)은 클레이튼이 사용되며, 해시 데이터는 암화화 되지 않은 헥스(hex)코드로 작성된다. 작성된 해시 데이터는 원격절차호출인 RPC를 통해 블록체인(140)에 저장하는데 RPC는 P2P 노드에 직접 요청을 보낸다.In a preferred embodiment, the
다음, 무결성 검증단계(S140)에서는 무결성 블록체인 서버(130)에서 데이터베이스(120)에 기록된 원본 데이터와 블록체인(140)에 기록된 해시 데이터를 각각 불러와 서로 간에 동일성을 비교함으로써 무결성을 검증한다.Next, in the integrity verification step (S140), the integrity is verified by calling the original data recorded in the
도 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
해시값 변환단계(S142)에서는 불러온 원본 데이터에 대해 블록체인(140)에 기록된 해시 데이터 생성시 사용된 것과 동일한 해싱을 수행하여 제1 비교값을 생성한다. 따라서, 제1 비교값은 해시 데이터와 비교 가능한 해시 형식이다.In the hash value conversion step (S142), the same hashing as used for generating hash data recorded in the
본 발명에서 원본 데이터에 대한 해시값을 갖기 위한 해시 처리는 일 예로 데이터베이스(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
비교값 호출단계(S143)는 블록체인(140)에서 트랜젝션 ID에 매핑되어 있는 값을 불러와 제2 비교값을 제시하는 단계로, 원본 데이터에 대한 해시값을 생성한 이후에 수행될 수 있지만 필요에 따라 그 이전 혹은 동시에 이루어질 수도 있다.The comparison value calling step (S143) is a step of calling the value mapped to the transaction ID in the
제2 비교값은 블록체인(140)에서 기록된 해시 데이터를 트랜젝션 ID로 매핑하여 다시 불러온 것이므로 최초 블록체인(140)에 기록된 해시 데이터와 같다. 따라서 무결성이 있다면 이들 해시 데이터(해시값)은 반드시 서로 동일하게 된다.The second comparison value is the same as the hash data recorded in the
무결성 판단단계(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
이상에서 본 발명에 따른 사물인터넷 데이터의 무결성 검증 방법 대해 설명하였으며, 본 발명은 원본 데이터에 대한 무결성 검증이 효과적으로 이루어질 수 있음은 물론, 기밀성 역시 제공하여 그 과제를 해결함을 알 수 있다.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)
데이터를 저장하고 질의에 따라 저장된 데이터를 제공하는 데이터베이스(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.
상기 사물인터넷 디바이스(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.
상기 데이터베이스(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.
상기 무결성 블록체인 서버(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.
상기 무결성 블록체인 서버(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.
상기 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.
상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로,
재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와;
상기 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및
상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 시스템.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.
무결성 블록체인 서버(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.
상기 원본 데이터 저장단계(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).
상기 데이터 수집단계(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).
상기 원본 데이터 저장단계(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.
상기 해시 데이터 저장단계(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.
상기 무결성 검증단계(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.
상기 센싱 데이터는 스마트 팜에 설치된 센서들로부터 생성된 데이터로,
재배 식물이 생장하는 환경을 센싱하는 생육 센서 데이터와;
상기 스마트 팜 내에 장치된 기기의 제어상태를 센싱하는 기기 센서 데이터; 및
상기 스마트 팜에 출입하는 사람의 출입 상태를 센싱하는 출입 센서 데이터;를 포함하는 것을 특징으로 하는 블록체인을 이용한 사물인터넷 데이터의 무결성 검증 방법.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.
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102391186B1 (en) * | 2021-11-24 | 2022-04-28 | 엘에스웨어(주) | Method and system for outputting external command |
KR20240077337A (en) | 2022-11-24 | 2024-05-31 | 서강대학교산학협력단 | System for verifying video data integrity using bitmap serial and method thereof |
Citations (2)
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 |
-
2020
- 2020-01-15 KR KR1020200005313A patent/KR20210091963A/en not_active Application Discontinuation
Patent Citations (2)
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102391186B1 (en) * | 2021-11-24 | 2022-04-28 | 엘에스웨어(주) | Method and system for outputting external command |
KR20240077337A (en) | 2022-11-24 | 2024-05-31 | 서강대학교산학협력단 | System for verifying video data integrity using bitmap serial and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ferrag et al. | Security and privacy for green IoT-based agriculture: Review, blockchain solutions, and challenges | |
Lee et al. | A blockchain-based smart home gateway architecture for preventing data forgery | |
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 | |
KR102152360B1 (en) | System and method for providing data reliability based on blockchain for iot services | |
JP2022523626A (en) | Methods, systems, kits, and equipment for monitoring and managing the industrial environment | |
US10754847B2 (en) | Method, apparatus and system for production management | |
CN110474921B (en) | Perception layer data fidelity method for local area Internet of things | |
KR20210091963A (en) | SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF IoT DATA USING BLOCK CHAIN | |
CN110784493A (en) | Comprehensive meteorological data acquisition system based on NB-IoT communication | |
CN112084529A (en) | Privacy data encryption access method and system based on block chain technology for community | |
Ali et al. | Towards a secure behavior modeling for iot networks using blockchain | |
Mitra et al. | Design and testbed experiments of public blockchain-based security framework for IoT-enabled drone-assisted wildlife monitoring | |
Nwafor et al. | Towards a provenance collection framework for internet of things devices | |
CN112446046A (en) | Data management method and device based on intelligent contract | |
US11470100B1 (en) | Data surveillance in a zero-trust network | |
Fan et al. | Understanding security in smart city domains from the ANT-centric perspective | |
Aljahdali et al. | IoT Forensic models analysis. | |
Almagrabi | Challenges and vulnerability evaluation of smart cities in IoT device based on cybersecurity mechanism | |
CN115694844B (en) | Internet of things terminal communication method and system based on cloud platform | |
US20210004491A1 (en) | Securing access to user data stored in a cloud computing environment | |
CN108965477B (en) | Forestry Internet of things system | |
Chen et al. | Blockchain-based uav-assisted forest supervision and data sharing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E601 | Decision to refuse application |