KR102121658B1 - Block chain system in d2d communication environments and constructing method thereof - Google Patents

Block chain system in d2d communication environments and constructing method thereof Download PDF

Info

Publication number
KR102121658B1
KR102121658B1 KR1020180087609A KR20180087609A KR102121658B1 KR 102121658 B1 KR102121658 B1 KR 102121658B1 KR 1020180087609 A KR1020180087609 A KR 1020180087609A KR 20180087609 A KR20180087609 A KR 20180087609A KR 102121658 B1 KR102121658 B1 KR 102121658B1
Authority
KR
South Korea
Prior art keywords
blockchain
node
participating node
value
participating
Prior art date
Application number
KR1020180087609A
Other languages
Korean (ko)
Other versions
KR20200012375A (en
Inventor
유서희
도인실
채기준
Original Assignee
이화여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이화여자대학교 산학협력단 filed Critical 이화여자대학교 산학협력단
Priority to KR1020180087609A priority Critical patent/KR102121658B1/en
Publication of KR20200012375A publication Critical patent/KR20200012375A/en
Application granted granted Critical
Publication of KR102121658B1 publication Critical patent/KR102121658B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Abstract

D2D 통신 환경 하에서의 블록체인 시스템 및 이의 구축 방법이 개시된다. D2D 통신 환경 하에서의 블록체인 시스템은 블록체인에 저장할 사용자 데이터를 수집하고, 상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 스마트 등록 서비스 모듈 및 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하고, 상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 블록체인 합의 모듈을 포함한다.Disclosed is a blockchain system under a D2D communication environment and a method for building the same. The blockchain system under a D2D communication environment collects user data to be stored in the blockchain, and participates in the blockchain based on the D2D (Device-to-Device) communication resource value of the preliminary participating node of the blockchain. A smart registration service module for determining whether to register as a node and a verification node to proceed with the consensus algorithm for storing the user data based on the resource usage and communication strength values of the participating nodes, and the consensus algorithm by the verification node And a blockchain consensus module that stores the user data in the blockchain.

Description

D2D 통신 환경 하에서의 블록체인 시스템 및 이의 구축 방법{BLOCK CHAIN SYSTEM IN D2D COMMUNICATION ENVIRONMENTS AND CONSTRUCTING METHOD THEREOF}BLOCK CHAIN SYSTEM IN D2D COMMUNICATION ENVIRONMENTS AND CONSTRUCTING METHOD THEREOF in a D2D communication environment

본 발명은 D2D 통신 환경 하에서의 블록체인 시스템 및 이의 구축 방법에 관한 것으로서, 더욱 상세하게는 D2D 통신 환경 하에서 사용자 데이터 전송 시, 사용자 데이터의 무결성을 입증하기 위한 블록체인 시스템 및 이의 구축 방법에 관한 것이다.The present invention relates to a blockchain system under a D2D communication environment and a method for constructing the same, and more particularly, to a blockchain system for verifying the integrity of user data when transmitting user data under a D2D communication environment and a method for constructing the same.

IoT 네트워크 환경의 발전에 힘입어 D2D(Device-to-Device) 통신 또한 각광받고 있다. 셀룰러 네트워크 통신 방식은 AP(Access Ponit)와 같이 데이터 전달을 관리하는 중앙 시설이 필수이나, D2D 통신은 디바이스 간에 직접 데이터를 교환할 수 있다. 따라서, D2D 통신은 셀룰러 네트워크 확장, 처리율 향상, 에너지 효율 향상 등의 장점이 있다.With the development of the IoT network environment, D2D (Device-to-Device) communication is also in the spotlight. The cellular network communication method requires a central facility for managing data transmission, such as an AP (Access Ponit), but D2D communication can directly exchange data between devices. Therefore, D2D communication has advantages such as cellular network expansion, improved throughput, and improved energy efficiency.

한편, D2D 통신의 보안 취약성을 해결하기 위한 방법으로 블록체인 기술이 각광받고 있다. 블록체인은 피어-투-피어 통신을 기반으로 분산화 네트워크 환경을 구축하며, 거래내역을 체인 형식으로 형성함으로써 데이터의 안정성을 보장하는 기술이다.Meanwhile, blockchain technology has been spotlighted as a method for solving the security vulnerability of D2D communication. Blockchain is a technology that builds a decentralized network environment based on peer-to-peer communication and ensures data stability by forming transaction details in a chain format.

그러나, D2D 통신 환경 하에서 블록체인 시스템이 적용되는 경우, 블록체인 시스템에 사용되는 다수의 디바이스가 네트워크를 공유하게 된다. 이에, 비인증 기기에 의한 프라이버시 침해 문제가 발생할 수 있다.However, when a blockchain system is applied under a D2D communication environment, multiple devices used in the blockchain system share a network. Accordingly, a privacy infringement problem by an unauthorized device may occur.

또한, D2D 통신 환경 하에서는 간섭현상으로 인해 안전한 수신자가 아닌 인증되지 않은 악의적인 수신자가 비밀 메시지를 전송 받는 도청 가능성이 존재한다.In addition, under a D2D communication environment, there is a possibility of eavesdropping, where a malicious message is transmitted by an unauthenticated malicious recipient who is not a secure recipient due to interference.

또한, 블록체인 시스템은 모든 참여자가 검증에 참여하기 때문에 참여자가 늘어날수록 성능이 떨어지는 문제점이 발생한다. 이는 메모리 용량이 한정되는 D2D 통신 환경에 적합하지 않다. 아울러, D2D 통신 환경에 참여하는 일부 이기적 노드는 에너지 절약을 위해 다른 노드의 데이터를 수신하면서 이를 전달하지는 않는 무임승차(Free-riding) 문제점이 있다. 이러한 이기적 노드에 의해 블록체인 시스템의 처리 속도를 현저히 저하시킬 수 있다. In addition, since all participants participate in verification in the blockchain system, the performance decreases as the number of participants increases. This is not suitable for a D2D communication environment where memory capacity is limited. In addition, some selfish nodes participating in the D2D communication environment have a problem of free-riding that does not transmit data while receiving data of other nodes to save energy. Such selfish nodes can significantly reduce the processing speed of the blockchain system.

본 발명의 일측면은 D2D 통신 기기의 보안성을 검증하여 블록체인에 참여시키고, D2D 통신 기기의 참여도 레벨을 검증하여 블록체인 합의 알고리즘의 검증자를 선출하는 D2D 통신 환경 하에서의 블록체인 시스템 및 이의 구축 방법을 제공한다.One aspect of the present invention is to verify the security of the D2D communication device to participate in the blockchain, to verify the level of participation of the D2D communication device, and to select a validator of the blockchain consensus algorithm to establish a blockchain system under a D2D communication environment and its construction Provide a method.

본 발명의 다른 측면은 블록체인 합의가 진행되기 전의 오프-블록체인 영역에서 블록체인에 저장할 사용자 데이터를 수집하는 기기를 인증하여 검증된 사용자 데이터를 블록체인에 전송하는 블록체인 시스템 및 이의 구축 방법을 제공한다.Another aspect of the present invention is a blockchain system for authenticating a device that collects user data to be stored in the blockchain in the off-blockchain area before the blockchain consensus proceeds and transmitting the verified user data to the blockchain. to provide.

상기 과제를 해결하기 위한 본 발명의 D2D 통신 환경 하에서의 블록체인 시스템은 블록체인에 저장할 사용자 데이터를 수집하고, 상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 스마트 등록 서비스 모듈 및 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하고, 상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 블록체인 합의 모듈을 포함한다.The blockchain system under the D2D communication environment of the present invention for solving the above problems collects user data to be stored in the blockchain, and based on the device-to-device (D2D) communication resource value of the preliminary participating node of the blockchain. A smart registration service module for determining whether to register a preliminary participating node as a participating node of the blockchain and a verification node to proceed with an agreement algorithm for storing the user data based on the resource usage and communication strength values of the participating node, And a blockchain consensus module that processes the consensus algorithm by the verification node and stores the user data in the blockchain.

한편, 상기 사용자 데이터를 수집하는 IoT(Internet of Things) 기기 및 상기 사용자 데이터를 상기 블록체인에 전송하는 모바일 기기 간의 인증을 진행하는 IoT 인증 모듈을 더 포함할 수 있다.Meanwhile, an IoT authentication module that performs authentication between an Internet of Things (IoT) device that collects the user data and a mobile device that transmits the user data to the blockchain may be further included.

또한, 상기 스마트 등록 서비스 모듈은, 상기 블록체인 참여 노드 리스트인 스마트 등록 서비스 리스트 및 상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하고, 상기 보안 전송률에 따라 상기 예비 참여 노드를 상기 스마트 등록 서비스 리스트에 등록하는 스마트 등록 서비스 리스트 관리부를 포함할 수 있다.In addition, the smart registration service module calculates a security transmission rate indicating the possibility of receiving data of the preliminary participating node based on the smart registration service list which is the list of the blockchain participating nodes and the D2D communication resource values of the preliminary participating nodes, and the And a smart registration service list management unit that registers the preliminary participating node in the smart registration service list according to the security transmission rate.

또한, 상기 스마트 등록 서비스 리스트 관리부는, 상기 예비 참여 노드의 RSSI(Received Signal Strength Indicator) 값을 이용하여 상기 보안 전송률을 계산할 수 있다.In addition, the smart registration service list management unit may calculate the security transmission rate by using the received signal strength indicator (RSSI) value of the preliminary participating node.

또한, 상기 스마트 등록 서비스 리스트 관리부는, 노이즈 신호를 포함하는 D2D 통신 환경 하에서 상기 예비 참여 노드의 RSSI 값에 따른 보안 용량에서 상기 D2D 통신 환경 하에서 허가되지 않은 제 3자의 RSSI 값에 따른 보안 용량을 제외한 값을 상기 보안 전송률로 계산할 수 있다.In addition, the smart registration service list management unit excludes the security capacity according to the RSSI value of a third party not authorized under the D2D communication environment from the security capacity according to the RSSI value of the preliminary participating node under the D2D communication environment including the noise signal. The value can be calculated with the secure transmission rate.

또한, 상기 블록체인 합의 모듈은, 상기 참여 노드에 의해 구축되는 블록체인 및 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차(Free-riding) 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하고, 상기 참여도에 따라 상기 참여 노드를 상기 검증 노드로 선출하여 상기 합의 알고리즘을 진행하는 검증 노드 선출부를 포함할 수 있다.In addition, the blockchain consensus module is a value capable of determining whether the participating node is free-riding based on the value of the resource usage and communication strength of the blockchain and the participating node that are built by the participating node. It may include a verification node selecting unit for calculating the participation degree indicating, and selecting the participating node as the verification node according to the participation degree to proceed with the consensus algorithm.

또한, 상기 검증 노드 선출부는, 상기 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여하고, 상기 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여하며, 상기 자원 사용량 레벨 값 및 상기 신호 세기 레벨 값을 이용하여 상기 참여 노드를 상기 검증 노드로 선출할 수 있다.In addition, the verification node election unit quantifies the resource usage according to the CPU occupancy amount and the memory usage of the participating node according to a predetermined criterion, and gives a level, and quantifies the signal strength value of the participating node according to a predetermined criterion. In addition, the participating node may be selected as the verification node by using the resource usage level value and the signal strength level value.

또한, 상기 검증 노드 선출부는, 상기 참여 노드의 자원 사용량 레벨 값이 1 이하가 되게 하는 참여도를 임계값으로 설정하고, 상기 참여 노드의 참여도가 임계값을 초과하는 경우 해당 참여 노드를 상기 검증 노드로 선출할 수 있다.In addition, the verification node electing unit sets the participation degree such that the resource usage level value of the participating node becomes 1 or less as a threshold value, and when the participation degree of the participating node exceeds a threshold value, the participating node is verified You can elect as a node.

또한, 상기 과제를 해결하기 위한 본 발명의 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법은 블록체인에 전송할 사용자 데이터를 수집하는 단계, 상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 단계, 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하는 단계 및 상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계를 포함한다.In addition, the method of constructing a blockchain system under the D2D communication environment of the present invention for solving the above-mentioned problems comprises collecting user data to be transmitted to the blockchain, and device-to-device (D2D) communication resources of the preliminary participating nodes of the blockchain. Determining whether to register the preliminary participating node as a participating node of the blockchain based on a value, and verifying a node to proceed with an agreement algorithm for storing the user data based on the resource usage and communication strength values of the participating node. Electing and proceeding with the consensus algorithm by the verification node to store the user data in the blockchain.

한편, 상기 블록체인에 전송할 사용자 데이터를 수집하는 단계는, 상기 사용자 데이터를 수집하는 IoT(Internet of Things) 기기 및 상기 사용자 데이터를 상기 블록체인에 전송하는 모바일 기기 간의 인증을 진행하는 단계를 포함할 수 있다.On the other hand, the step of collecting user data to be transmitted to the blockchain includes the step of performing authentication between an Internet of Things (IoT) device collecting the user data and a mobile device transmitting the user data to the blockchain. Can be.

또한, 상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 단계는, 상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하는 단계 및 상기 보안 전송률에 따라 상기 예비 참여 노드를 스마트 등록 서비스 리스트에 등록하는 단계를 포함할 수 있다.In addition, determining whether to register the preliminary participating node as a participating node of the blockchain based on the D2D (Device-to-Device) communication resource value of the preliminary participating node of the blockchain includes: The method may include calculating a security transmission rate indicating a possibility of receiving data of the spare participating node based on a D2D communication resource value, and registering the spare participating node in a smart registration service list according to the secure transmission rate.

또한, 상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하는 단계는, 노이즈 신호를 포함하는 D2D 통신 환경 하에서 상기 예비 참여 노드의 RSSI 값에 따른 보안 용량에서 상기 D2D 통신 환경 하에서 허가되지 않은 제 3자의 RSSI 값에 따른 보안 용량을 제외한 값을 상기 보안 전송률로 계산하는 단계일 수 있다.In addition, the step of calculating a security rate indicating the data reception probability of the preliminary participating node based on the value of the D2D communication resource of the preliminary participating node is based on the RSSI value of the preliminary participating node under a D2D communication environment including a noise signal. It may be a step of calculating a value excluding the security capacity according to the RSSI value of a third party not authorized under the D2D communication environment from the security capacity as the security transmission rate.

또한, 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하는 단계는, 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차(Free-riding) 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하는 단계 및 상기 참여도에 따라 상기 참여 노드를 상기 검증 노드로 선출하는 단계를 포함할 수 있다.In addition, the step of selecting a verification node to proceed with the consensus algorithm for storing the user data based on the resource usage and communication strength value of the participating node is based on the resource usage and communication strength value of the participating node, It may include calculating a participation degree indicating a value capable of determining whether free-riding, and selecting the participating node as the verification node according to the participation degree.

또한, 상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하는 단계는, 상기 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여하고, 상기 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여하는 단계, 상기 참여 노드의 자원 사용량 레벨 값이 1 이하가 되게 하는 참여도를 임계값으로 설정하는 단계 및 상기 자원 사용량 레벨 값 및 상기 신호 세기 레벨 값을 이용하여 상기 참여 노드를 상기 검증 노드로 선출하되, 상기 참여 노드의 참여도가 임계값을 초과하는 경우 해당 참여 노드를 상기 검증 노드로 선출하는 단계를 포함할 수 있다.In addition, the step of calculating the participation degree indicating a value capable of determining whether or not the participating node is free based on the resource usage and communication strength value of the participating node includes: resources according to the CPU occupancy amount and memory usage of the participating node. Quantifying usage according to a predetermined criterion to give a level, and quantifying the signal strength value of the participating node according to a predetermined criterion to give a level, and participating in a resource usage level value of the participating node to be 1 or less Setting the degree as a threshold value and using the resource usage level value and the signal strength level value to select the participating node as the verification node, but if the participation degree of the participating node exceeds a threshold value, the participating node It may include the step of electing as the verification node.

또한, 상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계는, 비잔틴 오류(Byzantine Fault) 합의 알고리즘에 따른 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계일 수 있다.In addition, the step of storing the user data in the blockchain by performing the consensus algorithm by the verification node is performed by performing the consensus algorithm according to a Byzantine Fault consensus algorithm to transfer the user data to the blockchain. It may be a step of saving.

본 발명에 따르면, 온-블록체인 영역에서 보안성이 검증된 모바일 기기만을 블록체인에 참여시킴으로써, D2D 통신에서 발생 가능한 도청의 위험성을 방지하고 기밀성을 보장할 수 있다.According to the present invention, by participating in the blockchain only mobile devices with security proven in the on-blockchain area, it is possible to prevent the risk of eavesdropping in D2D communication and ensure confidentiality.

또한, 온-블록체인 영역에서 참여도가 검증된 모바일 기기를 블록체인 합의 알고리즘의 검증자로 선출함으로써, 무임승차(Free-riding)를 방지하고, 전체 실행 시간 향상으로 가용성 저하를 막을 수 있다.In addition, by selecting a mobile device whose participation has been verified in the on-blockchain domain as a validator of the blockchain consensus algorithm, free-riding can be prevented, and availability can be prevented by improving overall execution time.

또한, 오프-블록체인 영역에서 사용자 데이터를 수집하는 IoT 기기를 검증함으로써, 사용자 데이터 위변조로 인한 사고를 방지하고, 안정성을 보장할 수 있다.In addition, by verifying IoT devices that collect user data in the off-blockchain area, it is possible to prevent accidents caused by forgery of user data and ensure stability.

도 1은 본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템의 개념도이다.
도 2는 도 1에 도시된 블록체인 시스템에서의 데이터 흐름을 나타낸 흐름도이다.
도 3은 도 1에 도시된 오프-블록체인 영역에서의 데이터 흐름을 나타낸 흐름도이다.
도 4는 D2D 통신 환경에서 발생하는 노이즈 신호의 일 예를 도시한 그래프이다.
도 5은 D2D 통신 환경에서 RSSI 값에 따른 보안 전송률의 일 예를 도시한 그래프이다.
도 7은 본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법의 순서도이다.
1 is a conceptual diagram of a blockchain system under a D2D communication environment according to an embodiment of the present invention.
2 is a flowchart illustrating data flow in the blockchain system shown in FIG. 1.
3 is a flowchart illustrating data flow in the off-blockchain region shown in FIG. 1.
4 is a graph showing an example of a noise signal generated in a D2D communication environment.
5 is a graph illustrating an example of a secure transmission rate according to an RSSI value in a D2D communication environment.
7 is a flowchart of a method for constructing a blockchain system under a D2D communication environment according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.For a detailed description of the present invention, which will be described later, reference is made to the accompanying drawings that illustrate, by way of example, specific embodiments in which the invention may be practiced. These examples are described in detail enough to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the invention are different, but need not be mutually exclusive. For example, the specific shapes, structures, and properties described herein can be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. In addition, it should be understood that the location or placement of individual components within each disclosed embodiment can be changed without departing from the spirit and scope of the invention. Therefore, the following detailed description is not intended to be taken in a limiting sense, and the scope of the present invention, if appropriately described, is limited only by the appended claims, along with all ranges equivalent to those claimed. In the drawings, similar reference numerals refer to the same or similar functions throughout several aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템의 개념도이다. 1 is a conceptual diagram of a blockchain system under a D2D communication environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 D2D(Device-to-Device) 통신 환경 하에서의 블록체인 시스템(이하, 블록체인 시스템)(1000)은 D2D 통신 환경 하에서 사용자 데이터 전송 시, 블록체인 기술을 적용하여 사용자 데이터의 무결성을 입증할 수 있다. Referring to FIG. 1, a blockchain system (hereinafter referred to as a blockchain system) 1000 under a D2D (Device-to-Device) communication environment according to an embodiment of the present invention is a block chain when transmitting user data under a D2D communication environment. Technology can be applied to demonstrate the integrity of user data.

D2D 통신은 기기 간 직접 통신으로 기지국이나 중간 인프라 없이 기기 간 유연한 데이터 교환이 가능하다. 예를 들면, D2D 통신은 NFC, ZigBee, Bluetooth, Wi-Fi 등을 포함할 수 있다. D2D 통신은 기기 간 직접 통신으로 네트워크 트래픽을 줄이고 통신 지연과 전력을 줄일 수 있으며, 재난, 전쟁 등으로 인해 기지국 가동이 멈춘 후에도 지속적인 통신이 가능하다는 장점을 갖는다. 이에 D2D 통신은 의료 분야, 금융 분야, IoT(Internet of Things) 서비스 등에 적용될 수 있으며, 특히 IoT 서비스에 있어서 저전력 기기가 지닌 통신 거리의 한계를 보완할 수 있어 각광받고 있다. 본 실시예에서는 IoT 서비스에 적용된 D2D 통신 환경을 예로 들어 설명하기로 한다.D2D communication is a direct communication between devices, enabling flexible data exchange between devices without a base station or intermediate infrastructure. For example, D2D communication may include NFC, ZigBee, Bluetooth, Wi-Fi, and the like. D2D communication has the advantage of being able to reduce network traffic and reduce communication delay and power through direct communication between devices, and to continue communication even after the base station stops due to disaster or war. Accordingly, D2D communication can be applied to the medical field, the financial field, the Internet of Things (IoT) service, etc. In particular, the IoT service has been spotlighted because it can compensate for the limitation of the communication distance of low-power devices. In this embodiment, the D2D communication environment applied to the IoT service will be described as an example.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 오프-블록체인 영역 및 온-블록체인 영역으로 나뉠 수 있다. 오프-블록체인 영역에서는 사용자 데이터를 수집할 수 있다. 온-블록체인 영역에서는 D2D 통신을 수행하는 기기(500)의 보안성 및 가용성을 검증하여 블록체인(600)에 참여시키고, 이러한 블록체인(600)에 사용자 데이터를 저장할 수 있다. The blockchain system 1000 according to an embodiment of the present invention may be divided into an off-blockchain area and an on-blockchain area. In the off-blockchain domain, user data can be collected. In the on-blockchain area, the security and availability of the device 500 performing D2D communication is verified to participate in the blockchain 600, and user data can be stored in the blockchain 600.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 오프-블록체인 영역에 IoT 인증 모듈(1001)을 포함하여, 사용자 데이터를 수집하는 IoT 기기(110)를 검증할 수 있다. The blockchain system 1000 according to an embodiment of the present invention may verify the IoT device 110 collecting user data by including the IoT authentication module 1001 in the off-blockchain area.

IoT 기기(110)는 사용자 데이터를 수집하고, 수집한 데이터를 모바일 기기(500)를 매개체로 하여 블록체인(600)에 전송할 수 있다. IoT 기기(110)에서 수집하는 사용자 데이터는 사용자의 민감한 정보에 해당하며, 이러한 데이터를 다루는 어플리케이션의 경우 해킹 위험이 높다.The IoT device 110 may collect user data and transmit the collected data to the blockchain 600 using the mobile device 500 as a medium. The user data collected by the IoT device 110 corresponds to sensitive information of the user, and an application that deals with such data has a high risk of hacking.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 오프-블록체인 영역에 IoT 인증 모듈(1001)을 포함하여, 검증된 IoT 기기(110)로부터 사용자 데이터를 수집할 수 있다. 이와 관련하여 구체적인 설명은 도 3을 참조하여 후술하기로 한다.The blockchain system 1000 according to an embodiment of the present invention may collect user data from the verified IoT device 110 by including the IoT authentication module 1001 in the off-blockchain area. A detailed description in this regard will be described later with reference to FIG. 3.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 온-블록체인 영역에 스마트 등록 서비스 모듈(1005) 및 블록체인 합의 모듈(1006)을 포함할 수 있다. The blockchain system 1000 according to an embodiment of the present invention may include a smart registration service module 1005 and a blockchain consensus module 1006 in the on-blockchain area.

스마트 등록 서비스 모듈(1005)은 D2D 통신을 수행하는 모바일 기기(500)의 보안성을 검증하여 블록체인(600) 참여 허용 여부를 결정할 수 있다. 스마트 등록 서비스 모듈(1005)은 모바일 기기(500)의 RSSI(Received Signal Strength Indicator) 등을 포함하는 D2D 통신 리소스 값에 기초하여 모바일 기기(500)의 보안 전송률을 계산할 수 있다. 스마트 등록 서비스 모듈(1005)은 모바일 기기(500)의 보안 전송률에 따라 모바일 기기(500)를 블록체인(600)의 참여 노드인 거래 허용 참가자로 등록할 수 있다. 이와 관련하여 구체적인 설명은 도 4 및 도 5를 참조하여 후술하기로 한다.The smart registration service module 1005 may determine whether to allow participation in the blockchain 600 by verifying the security of the mobile device 500 performing D2D communication. The smart registration service module 1005 may calculate the secure transmission rate of the mobile device 500 based on the D2D communication resource value including the received signal strength indicator (RSSI) of the mobile device 500. The smart registration service module 1005 may register the mobile device 500 as a transaction allowing participant, which is a participating node of the blockchain 600 according to the secure transmission rate of the mobile device 500. A detailed description in this regard will be described later with reference to FIGS. 4 and 5.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 온-블록체인 영역에 스마트 등록 서비스 모듈(1005)을 포함하여 보안성이 검증된 모바일 기기(500)만을 블록체인(600)에 참여시킴으로써, D2D 통신에서 발생 가능한 도청의 위험성을 방지하고 기밀성을 보장할 수 있다.The blockchain system 1000 according to an embodiment of the present invention includes the smart registration service module 1005 in the on-blockchain area to participate in the blockchain 600 only by the mobile device 500 whose security has been verified. , D2D communication can prevent the risk of eavesdropping and ensure confidentiality.

블록체인 합의 모듈(1006)은 블록체인(600)의 거래 허용 참가자로 등록된 모바일 기기(500)의 참여도를 검증하여 합의 알고리즘에 참여할 검증자(610)를 선출할 수 있다. 블록체인 합의 모듈(1006)은 블록체인(600)의 거래 허용 참가자로 등록된 모바일 기기(500)의 자원 사용량 및 통신 세기 값에 따라 합의 알고리즘에 참여하는 검증 노드인 검증자(610)를 선출할 수 있다. 검증자(610)로 선출된 모바일 기기는 비잔틴 오류(Byzantine Fault) 합의 알고리즘을 진행하여, 사용자 데이터를 블록체인(600)에 저장할 수 있다. 이와 관련하여 구체적인 설명은 도 6을 참조하여 후술하기로 한다.The blockchain consensus module 1006 may select the verifier 610 to participate in the consensus algorithm by verifying the participation degree of the mobile device 500 registered as a participant to allow the transaction of the blockchain 600. The blockchain consensus module 1006 elects the verifier 610, which is a verification node participating in the consensus algorithm, according to the resource usage and communication strength values of the mobile device 500 registered as a transaction allowable participant in the blockchain 600. Can be. The mobile device elected as the verifier 610 may process a Byzantine Fault consensus algorithm to store user data in the blockchain 600. A detailed description in this regard will be described later with reference to FIG. 6.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 온-블록체인 영역에 블록체인 합의 모듈(1006)을 포함하여 참여도가 검증된 모바일 기기(500)를 블록체인 합의 알고리즘의 검증자(610)로 선출함으로써, 무임승차(Free-riding)를 방지하고, 전체 실행 시간 향상으로 가용성 저하를 막을 수 있다.The blockchain system 1000 according to an embodiment of the present invention includes a blockchain consensus module 1006 in an on-blockchain area to verify a mobile device 500 with participation participation verified by a blockchain consensus algorithm ( By selecting 610), free-riding can be prevented, and the decrease in availability can be prevented by improving the overall execution time.

도 2는 도 1에 도시된 블록체인 시스템에서의 데이터 흐름을 나타낸 흐름도이다.2 is a flowchart illustrating data flow in the blockchain system shown in FIG. 1.

도 2를 참조하면, 사용자 데이터를 수집하는 IoT 기기(110)와 사용자 데이터를 블록체인(600)에 전송하는 모바일 기기(500) 간의 인증이 진행될 수 있다(①). 이는 도 1에 도시된 오프-블록체인 영역에서 진행될 수 있다.Referring to FIG. 2, authentication between the IoT device 110 collecting user data and the mobile device 500 transmitting user data to the blockchain 600 may be performed (①). This can be done in the off-blockchain region shown in FIG. 1.

IoT 기기(110)는 사용자 데이터를 수집하는 저전력 지능형 센서일 수 있다. The IoT device 110 may be a low power intelligent sensor that collects user data.

모바일 기기(500)는 D2D 통신이 가능하고 정보의 입출력이 가능한 장치로, 예를 들면, PC, 스마트폰, 테블릿 등으로 구현될 수 있다. 모바일 기기(500)는 Window, Linux, Android, iOS 등과 같은 운영 체제가 탑재될 수 있다. 본 실시예에서는 모바일 기기(500)는 Android가 탑재된 것을 예로 들어 설명하기로 한다.The mobile device 500 is a device capable of D2D communication and input/output of information, and may be implemented as, for example, a PC, a smartphone, or a tablet. The mobile device 500 may be equipped with an operating system such as Window, Linux, Android, and iOS. In this embodiment, the mobile device 500 will be described as an example that Android is installed.

IoT 기기(110)는 특정 서버로부터 내려 받은 어플리케이션에 의해 실행될 수 있으며, 모바일 기기(500)는 특정 서버에서 인증한 기기일 수 있다. IoT 기기(110)는 특정 서버로부터 어플리케이션을 내려 받을 때 SEED 키(K_seed)를 함께 내려 받을 수 있다. IoT 기기(110) 및 모바일 기기(500)는 이러한 SEED 키(K_seed)를 이용하여 인증을 진행할 수 있다. The IoT device 110 may be executed by an application downloaded from a specific server, and the mobile device 500 may be a device authenticated by a specific server. The IoT device 110 may download a SEED key (K_seed) together when downloading an application from a specific server. The IoT device 110 and the mobile device 500 may perform authentication using the SEED key (K_seed).

모바일 기기(500)는 IoT 기기(110)와의 인증이 완료되면, IoT 기기(110)에서 수집한 사용자 데이터를 D2D 통신 방식에 따라 도 1에 도시된 온-블록체인 영역으로 전달할 수 있다(②).When the authentication with the IoT device 110 is completed, the mobile device 500 may deliver the user data collected by the IoT device 110 to the on-blockchain area shown in FIG. 1 according to the D2D communication method (②). .

또한, 도 1에 도시된 온-블록체인 영역에서는 블록체인(600)를 구성하는 노드(501)를 검증하여 블록체인(600) 참여 허용 여부를 결정할 수 있다.In addition, in the on-blockchain region illustrated in FIG. 1, it is possible to determine whether to allow participation in the blockchain 600 by verifying the node 501 constituting the blockchain 600.

블록체인(600)은 사설 블록체인 플랫폼인 하이퍼레저일 수 있다.Blockchain 600 may be a private blockchain platform hyperledger.

노드(501)는 D2D 통신이 가능한 기기일 수 있으며, D2D 통신 환경 하에서 블록체인(600)을 구성할 수 있다.The node 501 may be a device capable of D2D communication, and may configure the blockchain 600 under a D2D communication environment.

도 2를 참조하면, 노드(501)의 보안 전송률 및 자원 사용량에 따라 참여도(Ppi)가 계산될 수 있으며(③), 이러한 참여도(Ppi)가 소정의 조건을 만족하는 경우, 해당 노드(501)는 스마트 등록 서비스 모듈(1005)로부터 블록체인(600)의 참여 노드(501)로 등록될 수 있다(④). 2, participation (P pi ) may be calculated according to the security transmission rate and resource usage of the node 501 (③), and when such participation (P pi ) satisfies a predetermined condition, the corresponding The node 501 may be registered as a participating node 501 of the blockchain 600 from the smart registration service module 1005 (④).

예를 들면, 스마트 등록 서비스 모듈(1005)에 등록된 노드(501)는 사용자 데이터에 대한 블록 및 스마트 컨트랙트를 작성할 수 있으며, 이를 다른 노드(501)로 브로드캐스트할 수 있다. For example, the node 501 registered in the smart registration service module 1005 may create a block and smart contract for user data, and broadcast it to another node 501.

스마트 등록 서비스 모듈(1005)에 등록된 노드(501) 중, 참여도(Ppi)가 소정의 조건을 만족하는 노드(501)는 블록에 대한 합의 알고리즘을 진행하는 노드(501)로 선출될 수 있으며, 합의 알고리즘을 실행하고 그 결과를 다른 노드(501)로 브로드캐스트할 수 있다(⑤). Among the nodes 501 registered in the smart registration service module 1005, a node 501 whose participation degree P pi satisfies a predetermined condition may be elected to a node 501 that proceeds with a consensus algorithm for blocks. And execute the consensus algorithm and broadcast the result to another node 501 (⑤).

이하, 도 3을 참조하여 도 1에 도시된 오프-블록체인 영역에서의 데이터 흐름에 대해 구체적으로 설명한다.Hereinafter, the data flow in the off-blockchain region shown in FIG. 1 will be described in detail with reference to FIG. 3.

도 3은 도 1에 도시된 오프-블록체인 영역에서의 데이터 흐름을 나타낸 흐름도이다.3 is a flowchart illustrating data flow in the off-blockchain region shown in FIG. 1.

도 3을 참조하면, 사용자 데이터를 수집하는 IoT 기기(110)에 대한 인증이 진행될 수 있다. 이는 도 1에 도시된 오프-블록체인 영역에 포함되는 IoT 인증 모듈(1001)에서 진행될 수 있다. Referring to FIG. 3, authentication for the IoT device 110 collecting user data may be performed. This may be performed in the IoT authentication module 1001 included in the off-blockchain area shown in FIG. 1.

IoT 인증 모듈(1001)은 사용자(111), IoT 기기(110), TrustZone 어플리케이션(500) 및 IoT 인증 서버(120)를 포함할 수 있다.The IoT authentication module 1001 may include a user 111, an IoT device 110, a TrustZone application 500, and an IoT authentication server 120.

도 3에 도시된 TrustZone 어플리케이션(500)은 도 2의 모바일 기기(500)에 해당할 수 있다. 일반적으로 Android 운영체제가 탑재된 기기의 경우, TrustZone의 TEE(Trusted-Execution Environment) 보안 플랫폼이 탑재될 수 있다. TEE 보안 플랫폼은 운영체제의 접근 가능/불가능 영역을 분리하여 고립된 환경을 제공하는 플랫폼으로, 내부에 로드된 코드 및 데이터의 기밀성과 무결성을 보장할 수 있다. 본 실시예에서는 모바일 기기(500)에 탑재된 TrustZone 어플리케이션(500)을 이용하여 IoT 기기(110) 및 모바일 기기(500)의 무결성을 검증할 수 있다.The TrustZone application 500 illustrated in FIG. 3 may correspond to the mobile device 500 of FIG. 2. In general, for devices equipped with the Android operating system, TrustZone's Trusted-Execution Environment (TEE) security platform may be installed. The TEE security platform is a platform that provides an isolated environment by separating the accessible/non-accessible areas of the operating system, and can ensure the confidentiality and integrity of code and data loaded therein. In this embodiment, the integrity of the IoT device 110 and the mobile device 500 may be verified by using the TrustZone application 500 mounted on the mobile device 500.

구체적으로는, IoT 기기(110)는 사용자(111)의 제어에 의해 IoT 인증 서버(120)로부터 내려 받는 어플리케이션에 의해 실행될 수 있다. IoT 기기(110)는 IoT 인증 서버(120)로부터 어플리케이션을 내려 받는 경우 SEED 키(Kseed)를 함께 내려 받을 수 있다.Specifically, the IoT device 110 may be executed by an application downloaded from the IoT authentication server 120 under the control of the user 111. When the IoT device 110 downloads an application from the IoT authentication server 120, the SEED key (K seed ) may be downloaded together.

IoT 기기(110)는 사용자(111)에 의해 실행되면, SEED 키(Kseed) 및 앱 ID(AID)를 TrustZone 어플리케이션(500)으로 전송할 수 있다.When executed by the user 111, the IoT device 110 may transmit the SEED key (K seed ) and the app ID (A ID ) to the TrustZone application 500.

TrustZone 어플리케이션(500)은 IoT 기기(110)로부터 수신한 SEED 키(Kseed)를 검증하고, 그 결과, SEED 키(Kseed)가 "true"로 검증되는 경우, 앱 ID(AID)를 IoT 인증 서버(120)로 전달할 수 있다.The TrustZone application 500 verifies the SEED key (K seed ) received from the IoT device 110, and as a result, when the SEED key (K seed ) is verified as “true”, the app ID (A ID ) is IoT. It can be delivered to the authentication server 120.

SEED 키(Kseed)가 "true"로 검증되는 경우, IoT 기기(110) 및 IoT 인증 서버(120)는 각각 IoT 기기(110)의 고유번호(DID) 및 앱 ID(AID)를 해싱한 후, 오늘 날짜(date)로 해싱하여 해시 값(H(1), H(2))을 생성할 수 있다.When the SEED key (K seed ) is verified as “true”, the IoT device 110 and the IoT authentication server 120 hash the unique number (D ID ) and app ID (A ID ) of the IoT device 110, respectively. Then, hash values (H(1), H(2)) can be generated by hashing with today's date.

IoT 인증 서버(120)는 두 해시 값(H(1), H(2))을 비교하고, 그 결과 두 해시 값(H(1), H(2))이 동일하면 IoT 기기(110)가 정상적인 기기인 것으로 판단할 수 있다.The IoT authentication server 120 compares two hash values (H(1), H(2)), and as a result, if the two hash values (H(1), H(2)) are the same, the IoT device 110 It can be judged as a normal device.

IoT 인증 서버(120)는 IoT 기기(110)가 정상적인 기기로 판단하면, 랜덤 키(Krandom)를 생성하여 IoT 기기(110)로 전달할 수 있다. 랜덤 키(Krandom)는 자동 로그인, 비정상 종료 후 남아있는 쿠키, 세션 값을 이용하여 악의적으로 데이터를 변형하거나, 암호화 키를 가로채는 것 등을 방지하기 위한 임시키로 사용될 수 있으며, 또는, 사용자 인증에 사용될 수 있다.When the IoT authentication server 120 determines that the IoT device 110 is a normal device, the IoT authentication server 120 may generate a random key (K random ) and transmit it to the IoT device 110. The random key (K random ) can be used as a temporary key to prevent malicious transformation of data, interception of the encryption key, etc. by using automatic login, cookie remaining after abnormal termination, or session value, or for user authentication. Can be used.

본 발명의 일 실시예에 따른 블록체인 시스템(1000)은 이와 같은 방식으로 사용자 데이터를 수집하는 IoT 기기(110) 및 이를 블록체인에 전달하는 모바일 디바이스(500) 간의 인증을 진행함으로써, 사용자 데이터의 위, 변조를 방지할 수 있으며, 사용자 데이터가 유출될 가능성을 예방할 수 있다.The blockchain system 1000 according to an embodiment of the present invention performs authentication between the IoT device 110 that collects user data in this way and the mobile device 500 that delivers the data to the blockchain, thereby allowing Stomach and tamper can be prevented and user data can be prevented from being leaked.

이하, 도 1에 도시된 온-블록체인 영역에서의 데이터 흐름에 대해 구체적으로 설명한다.Hereinafter, the data flow in the on-blockchain region shown in FIG. 1 will be described in detail.

도 1에 도시된 온-블록체인 영역에 포함되는 스마트 등록 서비스 모듈(1005)은 D2D 통신을 수행하는 모바일 기기(500)의 보안성을 검증하여 블록체인(600) 참여 허용 여부를 결정할 수 있다. The smart registration service module 1005 included in the on-blockchain area shown in FIG. 1 may determine whether to allow participation in the blockchain 600 by verifying the security of the mobile device 500 performing D2D communication.

이하에서는, 설명의 편의를 위해 모바일 기기(500)를 블록체인(600)을 구성하는 노드로 칭하여 설명하기로 한다. 또한, 스마트 등록 서비스 모듈(1005)에 의해 보안성이 검증되기 전의 노드를 예비 참여 노드로 정의하고, 스마트 등록 서비스 모듈(1005)에 의해 블록체인(600) 참여가 허용된 노드를 참여 노드로 정의한다.Hereinafter, for convenience of description, the mobile device 500 will be referred to as a node constituting the blockchain 600. In addition, a node before security is verified by the smart registration service module 1005 is defined as a preliminary participating node, and a node allowed to participate in the blockchain 600 by the smart registration service module 1005 is defined as a participating node. do.

스마트 등록 서비스 모듈(1005)은 스마트 등록 서비스 리스트 및 이를 관리하는 스마트 등록 서비스 리스트 관리부를 포함할 수 있다. 스마트 등록 서비스 리스트는 블록체인(600) 참여가 허용된 노드 리스트일 수 있다. 스마트 등록 서비스 리스트 관리부는 예비 참여 노드의 보안성을 검증하여 스마트 등록 서비스 리스트에 등록할 수 있다.The smart registration service module 1005 may include a smart registration service list and a smart registration service list management unit managing the smart registration service list. The smart registration service list may be a list of nodes allowed to participate in the blockchain 600. The smart registration service list management unit may register the smart registration service list by verifying the security of the preliminary participating node.

구체적으로는, 스마트 등록 서비스 리스트 관리부는 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 예비 참여 노드의 보안 전송률을 계산할 수 있다. Specifically, the smart registration service list management unit may calculate the secure transmission rate of the preliminary participating node based on the D2D communication resource value of the preliminary participating node.

D2D 통신 리소스 값은 D2D 통신에서 발생하는 값을 의미하며 수신 신호 세기인 RSSI 값이 포함될 수 있다. The D2D communication resource value refers to a value generated in D2D communication, and may include an RSSI value of received signal strength.

보안 전송률은 D2D 통신에서 예비 참여 노드가 데이터를 수신할 가능성을 나타낼 수 있으며, 실제 D2D 통신 환경에서 잡음 Noise 및 Fading을 발생시킨 후, 허가된 수신자의 보안 용량에서 제 3자인 악의적인 도청자의 보안 용량을 제외한 값으로 정의될 수 있다. D2D 통신 환경 하에서 허가되지 않은 제 3자가 허가된 수신 대상과 근접하여 위치하는 경우, 허가되지 않은 제 3자가 데이터를 도청할 가능성이 높다. 따라서, D2D 통신 환경에서 송신자가 수신자에게 데이터 전송 시, 도청자가 해독할 수 없는 전송률을 이용하여 전송하는 경우 데이터를 수신자에게 안전하게 전달할 수 있을 것이다. The secure transmission rate may indicate the possibility of a pre-participating node receiving data in D2D communication, and after generating noise noise and fading in an actual D2D communication environment, the secure capacity of a malicious eavesdropper that is a third party in the authorized recipient's security capacity It can be defined as a value excluding. In a D2D communication environment, when an unauthorized third party is located close to an authorized receiving target, there is a high possibility that an unauthorized third party may intercept data. Accordingly, in a D2D communication environment, when a sender transmits data to a receiver, data may be safely delivered to the receiver when the wiretap transmits using a rate that cannot be decrypted.

이에, 본 실시예에서는 보안 전송률을 상술한 바와 같이 정의할 수 있으며, 보안 전송률이 높을수록 보안성이 높은 안전한 노드로 판단할 수 있다.Accordingly, in the present embodiment, the security transmission rate can be defined as described above, and the higher the security transmission rate, the more secure the node can be determined to be.

스마트 등록 서비스 리스트 관리부는 아래 수학식 1에 따라 예비 참여 노드의 보안 전송률을 계산할 수 있다. The smart registration service list management unit may calculate the secure transmission rate of the preliminary participating node according to Equation 1 below.

Figure 112018074362320-pat00001
Figure 112018074362320-pat00001

수학식 1에서 P는 송신 전력, RSSI는 수신 신호 세기, σm 2은 수신자를 방해하는 신호, σw 2는 도청자를 방해하는 신호, W는 통신 대역폭을 의미하며 일예로, W=1일 수 있다.In Equation 1, P is transmit power, RSSI is received signal strength, σ m 2 is a signal that interferes with a receiver, σ w 2 is a signal that interferes with an eavesdropper, and W is a communication bandwidth. For example, W=1 have.

스마트 등록 서비스 리스트 관리부는 예비 참여 노드의 RSSI 값을 수학식 1에 대입할 수 있다. 스마트 등록 서비스 리스트 관리부는 매트랩을 이용하여 획득할 수 있는 Gaussian Noise 값을 수학식 1의 σm 2 및 σw 2에 대입할 수 있다. The smart registration service list management unit may substitute the RSSI value of the preliminary participating node into Equation (1). The smart registration service list management unit may substitute Gaussian Noise values obtainable using MATLAB into σ m 2 and σ w 2 of Equation (1).

도 4는 D2D 통신 환경에서 발생하는 노이즈 신호의 일 예를 도시한 그래프이다.4 is a graph showing an example of a noise signal generated in a D2D communication environment.

도 4를 참조하면, Gaussian Noise 가 적용된 시그널 값과 평균 시그널 값을 확인할 수 있다. 스마트 등록 서비스 리스트 관리부는 예비 참여 노드의 RSSI 에서 노이즈가 적용된 시그널 값을 수학식 1에 적용하여 예비 참여 노드의 보안 전송률을 계산할 수 있다.Referring to FIG. 4, it is possible to check a signal value to which Gaussian Noise is applied and an average signal value. The smart registration service list management unit may calculate the security transmission rate of the preliminary participating node by applying the noise-applied signal value to the equation 1 in the RSSI of the preliminary participating node.

도 5은 D2D 통신 환경에서 RSSI 값에 따른 보안 전송률의 일 예를 도시한 그래프이다.5 is a graph illustrating an example of a secure transmission rate according to an RSSI value in a D2D communication environment.

도 5를 참조하면, 도청자의 수신 방해 값이 작을수록 예비 참여 노드의 보안 전송률이 높아짐을 확인할 수 있다. 즉, 도청자의 수신 방해 값이 작을수록 예비 참여 노드가 안전하게 데이터를 수신할 가능성이 상승됨을 확인할 수 있다.Referring to FIG. 5, it can be confirmed that the smaller the interference value of the eavesdropper, the higher the security transmission rate of the preliminary participating node. That is, it can be confirmed that the smaller the interference value of the eavesdropper, the higher the probability that the preliminary participating node can safely receive data.

스마트 등록 서비스 모듈(1005)은 이와 같은 예비 참여 노드의 보안 전송률을 계산하고, 예비 참여 노드의 보안 전송률이 높을수록 안전한 모바일 기기인 것으로 판단하고 관리할 수 있다.The smart registration service module 1005 may calculate the secure transmission rate of the preliminary participating node, and determine and manage the secure mobile device as the secure transmission rate of the preliminary participating node is higher.

예를 들면, 스마트 등록 서비스 모듈(1005)은 예비 참여 노드의 보안 전송률이 1 이상으로 계산되는 경우, 해당 예비 참여 노드를 스마트 등록 서비스 리스트에 블록체인의 참여 노드로 등록할 수 있다. 이에 따라, 스마트 등록 서비스 모듈(1005)은 D2D 통신에서 발생할 수 있는 도청의 위험성을 방지하고, 인가된 기기를 구별함으로써 기밀성을 보장할 수 있다.For example, when the security transmission rate of the preliminary participating node is calculated as 1 or more, the smart registration service module 1005 may register the preliminary participating node as a participating node of the blockchain in the smart registration service list. Accordingly, the smart registration service module 1005 may prevent the risk of eavesdropping that may occur in D2D communication and ensure confidentiality by distinguishing authorized devices.

한편, 도 1에 도시된 온-블록체인 영역에 포함되는 블록체인 합의 모듈(1006)은 스마트 등록 서비스 리스트에 등록된 참여 노드 중 블록체인 합의 알고리즘에 참여할 노드를 선출하여 합의 알고리즘을 진행할 수 있다.Meanwhile, the blockchain consensus module 1006 included in the on-blockchain region shown in FIG. 1 may proceed with the consensus algorithm by selecting a node to participate in the blockchain consensus algorithm among participating nodes registered in the smart registration service list.

이하에서는, 설명의 편의를 위해 스마트 등록 서비스 리스트에 등록된 참여 노드 중, 합의 알고리즘에 참여할 노드로 선출된 노드를 검증 노드로 정의한다. Hereinafter, a node selected as a node to participate in the consensus algorithm is defined as a verification node among the participating nodes registered in the smart registration service list for convenience of explanation.

블록체인 합의 모듈(1006)은 블록체인 및 검증 노드 선출부를 포함할 수 있다. 블록체인은 사설 블록체인 플랫폼인 하이퍼레저로, 참여 노드에 의해 구축된 블록체인 네트워크일 수 있으며, 검증 노드 선출부는 참여 노드 중 블록체인에 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출할 수 있다. The blockchain consensus module 1006 may include a block chain and verification node election. Blockchain is a private blockchain platform hyperledger, which can be a blockchain network built by participating nodes, and the verification node selection unit can select a verification node to proceed with the consensus algorithm for storing user data in the blockchain among the participating nodes. have.

구체적으로는, 검증 노드 선출부는 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여할 수 있다. 또한, 검증 노드 선출부는 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여할 수 있다. 검증 노드 선출부는 참여 노드의 자원 사용량 레벨 값 및 신호 세기 레벨 값에 따라 검증 노드를 선출할 수 있다.Specifically, the verification node election unit may assign a level by quantifying resource usage according to the CPU occupancy amount and memory usage of the participating node according to a predetermined criterion. In addition, the verification node selection unit may quantify the signal strength value of the participating node according to a predetermined criterion to give a level. The verification node selection unit may select the verification node according to the resource usage level value and the signal strength level value of the participating node.

Figure 112018074362320-pat00002
Figure 112018074362320-pat00002

Figure 112018074362320-pat00003
Figure 112018074362320-pat00003

표 1은 신호 세기에 따라 나눠지는 신호 세기 레벨 값의 일 예이고, 표 2는 CPU 점유량 및 메모리 사용량에 따라 나눠지는 자원 사용량 레벨 값의 일 예이다.Table 1 is an example of a signal strength level value divided according to signal strength, and Table 2 is an example of a resource usage level value divided according to CPU occupancy amount and memory usage.

표 1 및 표 2와 같은 각 레벨 값을 구분하는 기준은 하이퍼레저 블록체인 플랫폼에서 각 노드를 도커(Docker) 가상 머신으로 구현한 경우, UCP(universal Control Plane)을 활용하여 설정될 수 있다.The criteria for classifying each level value as shown in Table 1 and Table 2 can be set by using a universal control plan (UCP) when each node is implemented as a Docker virtual machine in the hyperledger blockchain platform.

도 6은 도 1에 도시된 블록체인 합의 모듈에 의해 선출된 검증 노드의 일 예를 도시한 도면이다.6 is a diagram illustrating an example of a verification node selected by the blockchain consensus module illustrated in FIG. 1.

도 6을 참조하면, 검증 노드 선출부는 참여 노드(620)의 자원 사용량 레벨 값(RC) 및 신호 세기 레벨 값(SC)에 따라 검증 노드(610)를 선출할 수 있다. 검증 노드 선출부는 자원 사용량 레벨 값(RC) 및 신호 세기 레벨 값(SC)이 높은 참여 노드(620)를 검증 노드(610)로 선출할 수 있다.Referring to FIG. 6, the verification node selection unit may elect the verification node 610 according to the resource usage level value RC and the signal strength level value SC of the participating node 620. The verification node selection unit may select the participating node 620 having a high resource usage level value RC and a signal strength level value SC as the verification node 610.

예를 들면, 검증 노드 선출부는 참여 노드(620)의 자원 사용량 레벨 값(RC)이 3 이상인 경우 해당 참여 노드(620)를 검증 노드(610)로 선출할 수 있다. 또는, 검증 노드 선출부는 참여 노드(620)의 자원 사용량 레벨 값(RC)이 1 이하인 경우 해당 참여 노드(620)를 검증 노드(610)에서 제외할 수 있다. For example, when the resource usage level value RC of the participating node 620 is 3 or more, the verification node selecting unit may elect the participating node 620 as the verification node 610. Alternatively, if the resource usage level value RC of the participating node 620 is 1 or less, the verification node election unit may exclude the participating node 620 from the verification node 610.

검증 노드 선출부는 이와 같이 참여 노드(620)의 자원 사용량 레벨 값(RC) 및 신호 세기 레벨 값(SC)에 따라 검증 노드(610)를 선출할 수 있도록 아래 수학식 2에 따라 참여 노드(620)의 참여도를 계산할 수 있다.The verification node selecting unit may participate in the node 620 according to Equation 2 below so that the verification node 610 can be selected according to the resource usage level value RC and the signal strength level value SC of the participating node 620. You can calculate your participation.

Figure 112018074362320-pat00004
Figure 112018074362320-pat00004

수학식 2에서 SCpi는 참여 노드의 보안 전송률, RUpi는 참여 노드의 자원 사용량, Cpi는 참여 노드의 CPU 사용량, Mpi는 참여 노드의 메모리 사용량, W는 통신 대역폭을 의미하며 일예로, W=1일 수 있다.In Equation 2, SC pi is the security transmission rate of the participating node, RU pi is the resource usage of the participating node, C pi is the CPU usage of the participating node, M pi is the memory usage of the participating node, and W is the communication bandwidth. W=1.

검증 노드 선출부는 참여 노드(620)의 참여도에 따라 검증 노드(610)를 선별할 수 있다. 참여도는 참여 노드(620)의 무임승차 여부를 판단할 수 있는 수치를 나타낼 수 있으며, 참여도가 낮을수록 무임승차 가능성이 높은 것으로 판단할 수 있다. 예를 들면, 검증 노드 선출부는 참여 노드(620)의 자원 사용량 레벨 값(RC)이 1 이하가 되는 참여도를 임계값으로 설정하고, 참여 노드(620)의 참여도가 임계값을 초과하는 경우 해당 참여 노드(620)를 검증 노드(610)로 선출할 수 있다.The verification node selection unit may select the verification node 610 according to the participation degree of the participating node 620. Participation degree may indicate a value capable of determining whether or not the participation node 620 is free-ride, and the lower the participation degree, the higher the probability of free ride. For example, the verification node election unit sets a participation value such that the resource usage level value RC of the participating node 620 is 1 or less as a threshold value, and when the participation degree of the participating node 620 exceeds the threshold value The participating node 620 may be elected as the verification node 610.

사설 블록체인 플랫폼에 적용되는 합의 알고리즘은 PBFT(Practical Byzantine Fault Tolerance) 알고리즘으로, 다수결로 합의를 도출하는 방식이다. 따라서, 참여 노드의 수가 늘어날수록 전체 속도 저하 문제가 발생할 수 있으며, 일부 참여 노드가 악의적으로 담합하여 합의하는 경우 잘못된 검증이 진행될 수 있다. 이에, 본 실시예에서는 스마트 등록 서비스 리스트에 등록된 참여 노드를 대상으로 합의를 진행하되, 참여 노드의 참여도에 따라 검증 노드를 선별함으로써 참여 노드의 무임승차를 방지하여 전체 실행 시간을 향상시킬 수 있다.The consensus algorithm applied to the private blockchain platform is the PBFT (Practical Byzantine Fault Tolerance) algorithm, which is a method of deriving consensus by majority consensus. Therefore, as the number of participating nodes increases, an overall speed reduction problem may occur, and if some of the participating nodes maliciously agree to collide, incorrect verification may proceed. Thus, in this embodiment, an agreement is made for the participating nodes registered in the smart registration service list, but by selecting the verification node according to the participation degree of the participating nodes, free running of the participating nodes can be prevented to improve the overall execution time. have.

이하에서는, 본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법에 대하여 설명한다.Hereinafter, a method of constructing a blockchain system under a D2D communication environment according to an embodiment of the present invention will be described.

본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법은 도 1에 도시된 블록체인 시스템(1000)과 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1에 도시된 블록체인 시스템(1000)과 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략하기로 한다.The method of constructing a blockchain system under a D2D communication environment according to an embodiment of the present invention may be performed in substantially the same configuration as the blockchain system 1000 illustrated in FIG. 1. Therefore, the same components as the blockchain system 1000 shown in FIG. 1 are given the same reference numerals, and repeated descriptions will be omitted.

도 7은 본 발명의 일 실시예에 따른 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법의 순서도이다.7 is a flowchart of a method for constructing a blockchain system under a D2D communication environment according to an embodiment of the present invention.

도 7을 참조하면, 오프-블록체인 영역에서는 인증된 IoT 기기(110)로부터 사용자 데이터를 수집할 수 있다(S10).Referring to FIG. 7, in the off-blockchain area, user data may be collected from the authenticated IoT device 110 (S10 ).

IoT 인증 모듈(1001)은 사용자 데이터를 수집하는 IoT 기기(110)와 사용자 데이터를 블록체인(600)에 전송하는 모바일 기기(500) 간의 인증을 진행할 수 있다.The IoT authentication module 1001 may perform authentication between the IoT device 110 collecting user data and the mobile device 500 transmitting the user data to the blockchain 600.

IoT 기기(110)는 특정 서버로부터 내려 받은 어플리케이션에 의해 실행될 수 있으며, 모바일 기기(500)는 특정 서버에서 인증한 기기일 수 있다. IoT 기기(110)는 특정 서버로부터 어플리케이션을 내려 받을 때 SEED 키(K_seed)를 함께 내려 받을 수 있다. IoT 인증 모듈(1001)은 이러한 SEED 키(K_seed)를 이용하여 IoT 기기(110) 및 모바일 기기(500) 간의 인증을 진행할 수 있다. The IoT device 110 may be executed by an application downloaded from a specific server, and the mobile device 500 may be a device authenticated by a specific server. The IoT device 110 may download a SEED key (K_seed) together when downloading an application from a specific server. The IoT authentication module 1001 may perform authentication between the IoT device 110 and the mobile device 500 using the SEED key (K_seed).

온-블록체인 영역에서는 블록체인(600)의 예비 참여 노드의 보안 전송률을 계산하고(S20), 보안 전송률에 따라 예비 참여 노드의 참여 노드로의 등록을 결정할 수 있다(S30).In the on-blockchain area, the secure transmission rate of the preliminary participating node of the blockchain 600 may be calculated (S20), and registration of the preliminary participating node as a participating node may be determined according to the secure transmission rate (S30).

스마트 등록 서비스 모듈(1005)은 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 예비 참여 노드의 보안 전송률을 계산할 수 있다. The smart registration service module 1005 may calculate the security transmission rate of the preliminary participating node based on the D2D communication resource value of the preliminary participating node.

D2D 통신 리소스 값은 D2D 통신에서 발생하는 값을 의미하며 수신 신호 세기인 RSSI 값이 포함될 수 있다. The D2D communication resource value refers to a value generated in D2D communication, and may include an RSSI value of received signal strength.

보안 전송률은 D2D 통신에서 예비 참여 노드가 데이터를 수신할 가능성을 나타낼 수 있으며, 실제 D2D 통신 환경에서 잡음 Noise 및 Fading을 발생시킨 후, 허가된 수신자의 보안 용량에서 제 3자인 악의적인 도청자의 보안 용량을 제외한 값으로 정의될 수 있다.The secure transmission rate may indicate the possibility of a pre-participating node receiving data in D2D communication, and after generating noise noise and fading in an actual D2D communication environment, the secure capacity of a malicious eavesdropper that is a third party in the authorized recipient's security capacity It can be defined as a value excluding.

스마트 등록 서비스 모듈(1005)은 상술한 수학식 1에 따라 예비 참여 노드의 보안 전송률을 계산하고, 예비 참여 노드의 보안 전송률이 높을수록 안전한 모바일 기기인 것으로 판단하고 관리할 수 있다.The smart registration service module 1005 may calculate the security transmission rate of the preliminary participating node according to Equation 1 described above, and determine and manage the secure mobile device as the security transmission rate of the preliminary participating node is higher.

예를 들면, 스마트 등록 서비스 모듈(1005)은 예비 참여 노드의 보안 전송률이 1 이상으로 계산되는 경우, 해당 예비 참여 노드를 스마트 등록 서비스 리스트에 블록체인의 참여 노드로 등록할 수 있다.For example, when the security transmission rate of the preliminary participating node is calculated as 1 or more, the smart registration service module 1005 may register the preliminary participating node as a participating node of the blockchain in the smart registration service list.

온-블록체인 영역에서는 사용자 데이터에 대한 블록 및 스마트 컨트랙트를 작성하여 블록체인(600) 참여 노드로 브로드캐스트할 수 있다(S40).In the on-blockchain area, a block and a smart contract for user data can be created and broadcast to the blockchain 600 participating node (S40).

그리고, 온-블록체인 영역에서는 참여 노드의 참여도를 계산하고(S50), 참여도에 따라 참여 노드를 검증 노드로 선출할 수 있다(S60).And, in the on-blockchain domain, the participation level of the participating node is calculated (S50), and the participating node can be selected as a verification node according to the participation level (S60).

블록체인 합의 모듈(1006)은 참여 노드 중 블록체인에 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출할 수 있다. The blockchain consensus module 1006 may select a verification node among the participating nodes to proceed with the consensus algorithm for storing user data in the blockchain.

블록체인 합의 모듈(1006)은 상술한 수학식 2에 따라 참여 노드(620)의 참여도를 계산할 수 있다. 참여도는 참여 노드의 무임승차 여부를 판단할 수 있는 수치를 나타낼 수 있으며, 참여도가 낮을수록 무임승차 가능성이 높은 것으로 판단할 수 있다.The blockchain consensus module 1006 may calculate the participation degree of the participating node 620 according to Equation 2 described above. Participation degree may represent a number that can determine whether or not the participating node is free riding, and the lower the participation degree, the higher the probability of free riding.

블록체인 합의 모듈(1006)은 참여도를 이용하여 자원 사용량 레벨 값(RC) 및 신호 세기 레벨 값(SC)이 높은 참여 노드를 검증 노드로 선출할 수 있다.The blockchain consensus module 1006 may select a participating node having a high resource usage level value (RC) and a signal strength level value (SC) as a verification node using participation.

자원 사용량 레벨 값(RC)은 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여한 값일 수 있다. 또한, 신호 세기 레벨 값(SC)은 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여한 값일 수 있다. The resource usage level value RC may be a value obtained by quantifying resource usage according to a CPU occupancy amount and memory usage of a participating node according to a predetermined criterion. Further, the signal strength level value SC may be a value obtained by quantifying the signal strength value of the participating node according to a predetermined criterion.

블록체인 합의 모듈(1006)은 참여 노드의 자원 사용량 레벨 값(RC)이 1 이하가 되는 참여도를 임계값으로 설정하고, 참여 노드의 참여도가 임계값을 초과하는 경우 해당 참여 노드를 검증 노드로 선출할 수 있다.The blockchain consensus module 1006 sets a participation value such that the resource usage level value (RC) of the participating node is 1 or less as a threshold value, and when the participation degree of the participating node exceeds the threshold value, validates the participating node Can be elected.

온-블록체인 영역에서는 검증 노드가 선출되면, 검증 노드에 의한 합의 알고리즘이 실행될 수 있으며(S70), 합의 알고리즘 결과에 따라 블록체인(600)에 블록이 저장될 수 있다(S80).In the on-blockchain area, when a verification node is selected, a consensus algorithm by the verification node may be executed (S70), and a block may be stored in the blockchain 600 according to the result of the consensus algorithm (S80).

본 실시예에서 합의 알고리즘은 비잔틴 오류(Byzantine Fault) 합의 알고리즘을 따를 수 있다. 또한, 합의 알고리즘 실행 결과, 스마트 컨트랙트에 대한 검증이 완료되면, 블록을 체인에 연결하고 그 결과를 참여 노드로 브로드캐스트할 수 있다.In this embodiment, the consensus algorithm may follow the Byzantine Fault consensus algorithm. In addition, when the verification of the smart contract is completed as a result of executing the consensus algorithm, the block can be connected to the chain and the result can be broadcast to the participating node.

이와 같은, D2D 통신 환경 하에서의 블록체인 시스템 구축 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.Such a method for constructing a blockchain system under a D2D communication environment may be implemented as an application or implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, or the like alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language codes produced by a compiler, but also high-level language codes executable by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to embodiments, those skilled in the art understand that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. Will be able to.

1000: D2D 통신 환경 하에서의 블록체인 시스템
1001: IoT 인증 모듈
1005: 스마트 등록 서비스 모듈
1006: 블록체인 합의 모듈
110: IoT 기기
500: 모바일 기기
600: 블록체인
610: 검증자
1000: Blockchain system under D2D communication environment
1001: IoT authentication module
1005: smart registration service module
1006: Blockchain consensus module
110: IoT device
500: mobile device
600: Blockchain
610: validator

Claims (15)

블록체인에 저장할 사용자 데이터를 수집하고, 상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 스마트 등록 서비스 모듈; 및
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하고, 상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 블록체인 합의 모듈을 포함하며,
상기 스마트 등록 서비스 모듈은,
상기 블록체인 참여 노드 리스트인 스마트 등록 서비스 리스트; 및
상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하고, 상기 보안 전송률에 따라 상기 예비 참여 노드를 상기 스마트 등록 서비스 리스트에 등록하는 스마트 등록 서비스 리스트 관리부를 포함하며,
노이즈 신호를 포함하는 D2D 통신 환경 하에서 상기 예비 참여 노드의 RSSI 값에 따른 보안 용량에서 상기 D2D 통신 환경 하에서 허가되지 않은 제 3자의 RSSI 값에 따른 보안 용량을 제외한 값을 상기 보안 전송률로 계산하는, D2D 통신 환경 하에서의 블록체인 시스템.
Collecting user data to be stored in the blockchain, and determining whether to register the preliminary participating node as a participating node of the blockchain based on the D2D (Device-to-Device) communication resource value of the preliminary participating node of the blockchain Smart registration service module; And
Selecting a verification node to proceed with the consensus algorithm for storing the user data based on the resource usage and communication strength value of the participating node, and proceeding with the consensus algorithm by the verification node to store the user data in the blockchain Blockchain consensus module,
The smart registration service module,
A smart registration service list, which is a list of nodes participating in the blockchain; And
A smart registration service list that calculates a security transmission rate indicating the possibility of receiving data from the spare participating node based on the D2D communication resource value of the spare participating node, and registers the spare participating node in the smart registration service list according to the secure transmission rate Includes management
D2D calculating a value excluding the security capacity according to the RSSI value of a third party not authorized under the D2D communication environment from the security capacity according to the RSSI value of the preliminary participating node under a D2D communication environment including a noise signal, as the security rate Blockchain system under communication environment.
제1항에 있어서,
상기 사용자 데이터를 수집하는 IoT(Internet of Things) 기기 및 상기 사용자 데이터를 상기 블록체인에 전송하는 모바일 기기 간의 인증을 진행하는 IoT 인증 모듈을 더 포함하는 D2D 통신 환경 하에서의 블록체인 시스템.
According to claim 1,
A blockchain system under a D2D communication environment further comprising an IoT authentication module that performs authentication between an Internet of Things (IoT) device that collects the user data and a mobile device that transmits the user data to the blockchain.
삭제delete 제1항에 있어서,
상기 스마트 등록 서비스 리스트 관리부는,
상기 예비 참여 노드의 RSSI(Received Signal Strength Indicator) 값을 이용하여 상기 보안 전송률을 계산하는 D2D 통신 환경 하에서의 블록체인 시스템.
According to claim 1,
The smart registration service list management unit,
A blockchain system under a D2D communication environment that calculates the secure transmission rate using the received signal strength indicator (RSSI) value of the preliminary participating node.
삭제delete 제1항에 있어서,
상기 블록체인 합의 모듈은,
상기 참여 노드에 의해 구축되는 블록체인; 및
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차(Free-riding) 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하고, 상기 참여도에 따라 상기 참여 노드를 상기 검증 노드로 선출하여 상기 합의 알고리즘을 진행하는 검증 노드 선출부를 포함하는 D2D 통신 환경 하에서의 블록체인 시스템.
According to claim 1,
The blockchain consensus module,
A blockchain built by the participating nodes; And
Based on the resource usage and communication strength values of the participating nodes, the participation degree representing a number capable of determining whether the participating node is free-riding is calculated, and the participating node is verified according to the participation degree A blockchain system under a D2D communication environment including a verification node election unit that elects as a node and proceeds with the consensus algorithm.
제6항에 있어서,
상기 검증 노드 선출부는,
상기 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여하고, 상기 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여하며, 상기 자원 사용량 레벨 값 및 상기 신호 세기 레벨 값을 이용하여 상기 참여 노드를 상기 검증 노드로 선출하는 D2D 통신 환경 하에서의 블록체인 시스템.
The method of claim 6,
The verification node election unit,
The resource usage according to the CPU occupancy amount and the memory usage of the participating node is quantified according to a predetermined criterion to give a level, and the signal strength value of the participating node is quantified according to a predetermined criterion to give a level, and the resource usage level A blockchain system under a D2D communication environment that elects the participating node as the verification node using a value and the signal strength level value.
제7항에 있어서,
상기 검증 노드 선출부는,
상기 참여 노드의 자원 사용량 레벨 값이 1 이하가 되게 하는 참여도를 임계값으로 설정하고, 상기 참여 노드의 참여도가 임계값을 초과하는 경우 해당 참여 노드를 상기 검증 노드로 선출하는 D2D 통신 환경 하에서의 블록체인 시스템.
The method of claim 7,
The verification node election unit,
In a D2D communication environment in which a participation level such that the resource usage level value of the participating node becomes 1 or less is set as a threshold value, and when the participation level of the participating node exceeds a threshold value, the participating node is elected as the verification node. Blockchain system.
블록체인에 전송할 사용자 데이터를 수집하는 단계;
상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 단계;
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하는 단계; 및
상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계를 포함하며,
상기 블록체인의 예비 참여 노드의 D2D(Device-to-Device) 통신 리소스 값에 기초하여 상기 예비 참여 노드를 상기 블록체인의 참여 노드로의 등록 여부를 결정하는 단계는,
상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하는 단계; 및
상기 보안 전송률에 따라 상기 예비 참여 노드를 스마트 등록 서비스 리스트에 등록하는 단계를 포함하며,
상기 예비 참여 노드의 D2D 통신 리소스 값에 기초하여 상기 예비 참여 노드의 데이터 수신 가능성을 나타내는 보안 전송률을 계산하는 단계는,
노이즈 신호를 포함하는 D2D 통신 환경 하에서 상기 예비 참여 노드의 RSSI 값에 따른 보안 용량에서 상기 D2D 통신 환경 하에서 허가되지 않은 제 3자의 RSSI 값에 따른 보안 용량을 제외한 값을 상기 보안 전송률로 계산하는 단계인, D2D 통신 환경 하에서의 블록체인 시스템 구축 방법.
Collecting user data to be transmitted to the blockchain;
Determining whether to register the preliminary participating node as a participating node of the blockchain based on a D2D (Device-to-Device) communication resource value of the preliminary participating node of the blockchain;
Selecting a verification node to proceed with the consensus algorithm for storing the user data based on the resource usage and communication strength values of the participating nodes; And
And performing the consensus algorithm by the verification node to store the user data in the blockchain,
The step of determining whether to register the preliminary participating node as a participating node of the blockchain based on the D2D (Device-to-Device) communication resource value of the preliminary participating node of the blockchain,
Calculating a secure transmission rate indicating the possibility of receiving data of the spare participating node based on the D2D communication resource value of the spare participating node; And
And registering the preliminary participating node in the smart registration service list according to the secure transmission rate,
The step of calculating a secure transmission rate indicating the possibility of receiving data of the spare participating node based on the D2D communication resource value of the spare participating node includes:
Calculating a value excluding the security capacity according to the RSSI value of an unauthorized third party under the D2D communication environment from the security capacity according to the RSSI value of the preliminary participating node under a D2D communication environment including a noise signal as the security rate , How to build a blockchain system in a D2D communication environment.
제9항에 있어서,
상기 블록체인에 전송할 사용자 데이터를 수집하는 단계는,
상기 사용자 데이터를 수집하는 IoT(Internet of Things) 기기 및 상기 사용자 데이터를 상기 블록체인에 전송하는 모바일 기기 간의 인증을 진행하는 단계를 포함하는 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법.
The method of claim 9,
The step of collecting user data to be transmitted to the blockchain is
A method of building a blockchain system under a D2D communication environment, comprising the step of performing authentication between an Internet of Things (IoT) device that collects the user data and a mobile device that transmits the user data to the blockchain.
삭제delete 삭제delete 제9항에 있어서,
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 사용자 데이터 저장에 대한 합의 알고리즘을 진행할 검증 노드를 선출하는 단계는,
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차(Free-riding) 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하는 단계; 및
상기 참여도에 따라 상기 참여 노드를 상기 검증 노드로 선출하는 단계를 포함하는 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법.
The method of claim 9,
The step of selecting the verification node to proceed with the consensus algorithm for storing the user data based on the resource usage and communication strength value of the participating node,
Calculating a participation degree indicating a value capable of determining whether the participating node is free-riding based on the resource usage and communication strength value of the participating node; And
A method of constructing a blockchain system under a D2D communication environment, comprising selecting the participating node as the verification node according to the participation degree.
제13항에 있어서,
상기 참여 노드의 자원 사용량 및 통신 세기 값에 기초하여 상기 참여 노드의 무임승차 여부를 판단할 수 있는 수치를 나타내는 참여도를 계산하는 단계는,
상기 참여 노드의 CPU 점유량 및 메모리 사용량에 따른 자원 사용량을 소정의 기준에 따라 정량화하여 레벨을 부여하고, 상기 참여 노드의 신호 세기 값을 소정의 기준에 따라 정량화하여 레벨을 부여하는 단계;
상기 참여 노드의 자원 사용량 레벨 값이 1 이하가 되게 하는 참여도를 임계값으로 설정하는 단계; 및
상기 자원 사용량 레벨 값 및 상기 신호 세기 레벨 값을 이용하여 상기 참여 노드를 상기 검증 노드로 선출하되, 상기 참여 노드의 참여도가 임계값을 초과하는 경우 해당 참여 노드를 상기 검증 노드로 선출하는 단계를 포함하는 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법.
The method of claim 13,
The step of calculating the participation degree indicating a value capable of determining whether or not the participating node is free based on the resource usage and communication strength value of the participating node is:
Quantifying a resource usage according to the CPU occupancy amount and memory usage of the participating node according to a predetermined criterion and assigning a level, and quantifying a signal strength value of the participating node according to a predetermined criterion to give a level;
Setting a participation degree such that the resource usage level value of the participating node becomes 1 or less as a threshold value; And
Selecting the participating node as the verification node using the resource usage level value and the signal strength level value, and when the participation degree of the participating node exceeds a threshold, selecting the participating node as the verification node A method of building a blockchain system under a D2D communication environment.
제9항에 있어서,
상기 검증 노드에 의한 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계는,
비잔틴 오류(Byzantine Fault) 합의 알고리즘에 따른 상기 합의 알고리즘을 진행하여 상기 사용자 데이터를 상기 블록체인에 저장하는 단계인 D2D 통신 환경 하에서의 블록체인 시스템 구축 방법.
The method of claim 9,
The step of storing the user data in the blockchain by performing the consensus algorithm by the verification node,
A method of constructing a blockchain system under a D2D communication environment in which the user data is stored in the blockchain by performing the consensus algorithm according to a Byzantine Fault consensus algorithm.
KR1020180087609A 2018-07-27 2018-07-27 Block chain system in d2d communication environments and constructing method thereof KR102121658B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180087609A KR102121658B1 (en) 2018-07-27 2018-07-27 Block chain system in d2d communication environments and constructing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180087609A KR102121658B1 (en) 2018-07-27 2018-07-27 Block chain system in d2d communication environments and constructing method thereof

Publications (2)

Publication Number Publication Date
KR20200012375A KR20200012375A (en) 2020-02-05
KR102121658B1 true KR102121658B1 (en) 2020-06-10

Family

ID=69514610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180087609A KR102121658B1 (en) 2018-07-27 2018-07-27 Block chain system in d2d communication environments and constructing method thereof

Country Status (1)

Country Link
KR (1) KR102121658B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102348449B1 (en) * 2020-07-08 2022-01-10 한국전력공사 Internet of things device and operating method thereof
KR102418734B1 (en) * 2020-12-02 2022-07-07 이화여자대학교 산학협력단 Method for trading digital content using blockchain, recording medium and system for performing the method
CN114285848B (en) * 2021-12-20 2024-03-19 上海简苏网络科技有限公司 Quantifiable methods, systems, electronic devices, and readable media for blockchain resources

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101585372B1 (en) * 2015-02-27 2016-01-14 성균관대학교산학협력단 Clustering method for cluster based d2d communication

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (en) * 2016-06-03 2017-12-13 (주) 블록체인오에스 A method for ensuring integrity by using a blockchain technology
KR101891125B1 (en) * 2016-12-07 2018-08-24 데이터얼라이언스 주식회사 Distributed Network Node Service Contribution Evaluation System and Method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101585372B1 (en) * 2015-02-27 2016-01-14 성균관대학교산학협력단 Clustering method for cluster based d2d communication

Also Published As

Publication number Publication date
KR20200012375A (en) 2020-02-05

Similar Documents

Publication Publication Date Title
Zhang et al. Edge computing-based privacy-preserving authentication framework and protocol for 5G-enabled vehicular networks
US20220245724A1 (en) Securing distributed electronic wallet shares
US11386420B2 (en) Contextual authentication of an electronic wallet
Kang et al. Privacy-preserved pseudonym scheme for fog computing supported internet of vehicles
US11229023B2 (en) Secure communication in network access points
Chen et al. Stochastic blockchain for IoT data integrity
CN107770182B (en) Data storage method of home gateway and home gateway
Huang et al. Recent advances and challenges in security and privacy for V2X communications
KR101256887B1 (en) Ticket-based configuration parameters validation
US20190034936A1 (en) Approving Transactions from Electronic Wallet Shares
US20190034917A1 (en) Tracking an Electronic Wallet Using Radio Frequency Identification (RFID)
US20190034919A1 (en) Securing Electronic Wallet Transactions
CN108632056B (en) Intelligent equipment network configuration method and system
KR102121658B1 (en) Block chain system in d2d communication environments and constructing method thereof
KR20120055683A (en) Methods and apparatus for deriving, communicating and/or verifying ownership of expressions
Limbasiya et al. Secure message confirmation scheme based on batch verification in vehicular cloud computing
KR20210128469A (en) Distribution of software updates to vehicles via V2V communication and verification by community of vehicles
CN107396350B (en) SDN-5G network architecture-based security protection method between SDN components
CN111246481B (en) Micro base station authentication method and terminal
JP6279821B2 (en) Authenticating messages in wireless communication
CN111182545B (en) Micro base station authentication method and terminal
CN111355684B (en) Internet of things data transmission method, device and system, electronic equipment and medium
Muhammad et al. 5G-based V2V broadcast communications: A security perspective
Limbasiya et al. VCom: Secure and efficient vehicle-to-vehicle message communication protocol
KR102377045B1 (en) SYSTEMS AND METHODS FOR AUTHENTICATING IoT DEVICE THROUGH CLOUD USING HARDWARE SECURITY MODULE

Legal Events

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