KR20190077765A - Method of storing data using block-chain and Cloud System using thereof - Google Patents

Method of storing data using block-chain and Cloud System using thereof Download PDF

Info

Publication number
KR20190077765A
KR20190077765A KR1020170179218A KR20170179218A KR20190077765A KR 20190077765 A KR20190077765 A KR 20190077765A KR 1020170179218 A KR1020170179218 A KR 1020170179218A KR 20170179218 A KR20170179218 A KR 20170179218A KR 20190077765 A KR20190077765 A KR 20190077765A
Authority
KR
South Korea
Prior art keywords
data
block
hash
stored
csp
Prior art date
Application number
KR1020170179218A
Other languages
Korean (ko)
Other versions
KR102040170B1 (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 KR1020170179218A priority Critical patent/KR102040170B1/en
Publication of KR20190077765A publication Critical patent/KR20190077765A/en
Application granted granted Critical
Publication of KR102040170B1 publication Critical patent/KR102040170B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a method for storing cloud data by using a block chain, and a cloud system therefor. The method comprises: a data collecting process which temporarily collects data or a log requested to be stored by a cloud service customer (CSC) terminal; a data encoding process which conducts encoding of data required to be encoded among the data; a block chain connecting process which transmits standby data or the encoded data by making a request for connection to the block chain when there are the standby data to be stored in the block chain and the encoded data; and a database storing process which stores the encoded data in a database of a client service provider (CSP). Therefore, the present invention can store data required for accident investigation by using the block chain when a security accident occurs in a cloud environment.

Description

데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템{Method of storing data using block-chain and Cloud System using thereof}[0001] The present invention relates to a method for storing data using a block chain and a cloud system,

본 발명은 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템에 관한 것이다. 보다 상세하게는, 클라우드 포렌식 지원을 위해 데이터를 블록체인을 이용하여 저장하는 방법 및 이를 수행하는 클라우드 시스템, 및 블록체인 네트워크 시스템을 포함하는 데이터 저장 시스템에 관한 것이다.The present invention relates to a method and a cloud system for storing data using a block chain. More particularly, the present invention relates to a method for storing data using a block chain for cloud forensic support, a cloud system for performing the method, and a data storage system including a block-chain network system.

많은 사용자들이 가상화된 자원을 이용하는 클라우드 환경에서는 보안사고 조사에 필요한 데이터의 실제 저장된 위치 파악이 어렵고, 이미 사용을 종료한 가상 인스턴스 안에 저장된 휘발성 데이터는 모두 소멸되어 버리기 때문에 클라우드 포렌식 진행 시 많은 기술적인 문제점이 존재한다. In a cloud environment where many users use virtualized resources, it is difficult to know the actual stored location of data required for security incident investigation, and all the volatile data stored in the virtual instances that have already been used is destroyed. Therefore, Lt; / RTI >

따라서 클라우드 환경의 데이터는 사고 발생 전에도 미리 기록을 해 두어야 하며, 클라우드의 모든 환경에 접근 및 제어가 가능한 것은 클라우드 서비스 제공자(CSP: Client Service Provider) 뿐이다. 이에 따라, 해당 데이터를 클라우드 서비스 사용자(CSC: Client Service Customer)가 저장하여 보관할 필요가 있다는 문제점이 존재한다. Therefore, data in the cloud environment must be recorded before an accident occurs, and only the cloud service provider (CSP) can access and control all the environments in the cloud. Accordingly, there is a problem that the cloud service user (CSC: Client Service Customer) needs to store and store the data.

따라서, 저장되는 데이터의 무결성을 보장하기 위한 장치가 필요한데, 본 특허에서는 블록체인을 이용하여 데이터의 무결성을 보장하고자 한다.Therefore, a device for ensuring the integrity of the stored data is needed. In this patent, the block chain is used to ensure data integrity.

대한민국 등록특허 제10-1799343호Korean Patent No. 10-1799343

본 발명의 목적은 클라우드 포렌식 지원을 위해 데이터를 블록체인을 이용하여 저장하는 방법을 제공하는 데 있다. It is an object of the present invention to provide a method for storing data using a block chain for cloud forensic support.

본 발명의 다른 목적은 클라우드 환경에서 보안사고 발생 시 사고 조사에 필요한 데이터를 블록체인을 이용하여 저장하여 원활한 보안사고 조사 절차를 가능하게 하는 방법을 제공하는 데 있다.Another object of the present invention is to provide a method of enabling smooth security incident investigation by storing data necessary for an accident investigation in a cloud environment using a block chain.

전술된 문제점을 해결하기 위한 본 발명에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 방법은, 클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집 과정; 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 과정; 블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 과정; 및 암호화된 데이터를 클라우드 서비스 제공자(CSP: Client Service Provider) 의 데이터베이스 내에 저장하는 데이터베이스 저장 과정을 포함하고, 클라우드 환경에서 보안사고 발생 시, 사고 조사에 필요한 데이터를 블록체인을 이용하여 저장할 수 있다.A method for storing cloud data according to the present invention for solving the above-mentioned problems using a block chain includes a data collection process for temporarily collecting data requested by a cloud service user (CSC) ; A data encryption step of encrypting data requiring encryption among the data; A block chain connection process of transmitting the pending data and the encrypted data by making a connection request to a block chain when there is data waiting to be stored in the block chain and encrypted data; And a database storing process for storing the encrypted data in a database of a CSP (Client Service Provider). In case of a security incident in a cloud environment, data necessary for an accident investigation can be stored using a block chain.

일 실시 예에서, 상기 블록체인 연결 과정 이후에, 상기 암호화된 데이터와 해시 데이터가 전송되면, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 하는 블록 생성 과정을 포함할 수 있다.In one embodiment, after the block chain connection, when the encrypted data and the hash data are transmitted, the hash data is stored in the hash block as a hash block, and the encrypted data is stored in the data node as a data block And a block generation process.

일 실시 예에서, 상기 블록체인 연결 과정 이후에, 상기 전송된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 전송된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성 과정이 수행되도록 하는 무결성(Integrity) 관리 과정을 더 포함할 수 있다.In one embodiment, after the block chain connection process, a hash value is obtained by using the hash function of the transmitted encrypted data, and it is checked whether the hash is modulated by comparing with the transmitted hash data, And an integrity management process for allowing the management server to perform the management.

일 실시 예에서, 상기 블록체인 연결 과정 이후에, 상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리 과정을 더 포함할 수 있다.In one embodiment, the method may further include a node management process for identifying the number of authorized nodes and the node type in the CSP to join the block chain after the block chain connection process.

일 실시 예에서, 상기 블록체인 연결 과정 이후에, 상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리 과정을 더 포함할 수 있다.In one embodiment, after the block chain connection process, a branch due to a temporary network error occurs when the block is created, or a procedure of summing blocks generation is prevented from falling into a deadlock state so that the block can be continuously generated And a fault tolerance management process for managing the fault tolerance.

일 실시 예에서, 상기 데이터 암호화 과정은, 상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 알고리즘을 선택하고, 상기 알고리즘에 따라 상기 데이터를 암호화한 암호화 데이터와 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 저장할 수 있다. 한편, 상기 블록 생성 과정은, 블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단하는 ID 확인 과정; 상기 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득하는 해싱 데이터 획득 과정; 상기 CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여 해시 테이블을 생성하는 해시 테이블 생성 과정; 및 상기 해시 테이블에 기반하여 상기 해시 블록과 상기 데이터 블록을 생성하는 해시 블록/데이터 블록 생성 과정을 포함할 수 있다.In one embodiment, the data encryption process selects an algorithm based on a Service Level Agreement (SLA) associated with the encryption, a Cost, and a Time, And CSP-based hashing data obtained by hashing the encrypted data. Meanwhile, the block generating process includes an ID checking process for determining whether a block is allowed based on a CSP ID requested by a block-chain system (BS). A hashing data acquiring step of acquiring BS-based hashing data by performing BS-based hashing on the encrypted data; A hash table generation step of generating a hash table by comparing the CSP-based hash data with the BS-based hash data; And a hash block / data block generation process of generating the hash block and the data block based on the hash table.

일 실시 예에서, 상기 무결성 관리 과정은, 상기 해시 노드와 상기 데이터 노드에 동일한 인덱스로 저장된 블록을 검색하여 상기 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교하는 제1 비교 과정; 및 상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교하는 제2 비교 과정을 포함할 수 있다. 이때, 상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용할 수 있다.In an exemplary embodiment, the integrity management process may include: searching a block having the same index in the hash node and the data node, comparing the hash value of the hash block with the resultant value obtained by hashing the data stored in the data block, 1 comparison process; And a second comparing step of comparing the hash value stored in the hash block with a hash value of data stored in the CSP environment when the result values match. At this time, if the comparison values in the first comparison process and the second comparison process are all the same, it is determined that the integrity is not violated and the data stored in the data block can be used as evidence data in the event of a security incident.

본 발명의 다른 양상에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 클라우드 시스템은, 클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집부; 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 관리부; 블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 관리부; 및 암호화된 데이터를 클라우드 서비스 제공자(CSP: Client Service Provider)의 데이터베이스 내에 저장하는 데이터베이스 관리부를 포함한다. According to another aspect of the present invention, there is provided a cloud system for storing cloud data using a block chain, comprising: a data collector for temporarily collecting data and logs requested by a cloud service user (CSC) terminal; A data encryption management unit for encrypting data requiring encryption among the data; A block chain connection management unit for making a connection request to a block chain and transmitting the pending data and the encrypted data when there is data waiting to be stored in the block chain and encrypted data; And a database management unit for storing the encrypted data in a database of a CSP (Client Service Provider).

일 실시 예에서, 상기 블록체인 연결 관리부는, 상기 암호화된 데이터와 해시 데이터를 블록체인 네트워크로 전송하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 것을 특징으로 할 수 있다.In one embodiment, the block-chain connection management unit transmits the encrypted data and the hash data to a block-chain network, the hash data is stored as a hash block in the hash node, As shown in FIG.

일 실시 예에서, 상기 데이터 암호화 관리부는, 상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 알고리즘을 선택하고, 상기 알고리즘에 따라 상기 데이터를 암호화한 암호화 데이터와 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 저장하는 것을 특징으로 할 수 있다.In one embodiment, the data encryption manager selects an algorithm based on a Service Level Agreement (SLA) associated with the encryption, a Cost, and a Time, And the CSP-based hashing data obtained by hashing the encrypted data is stored.

본 발명의 또 다른 양상에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 블록체인 네트워크 시스템은, 클라우드 서비스 제공자(CSP: Client Service Provider)의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록 생성부; 및 상기 수신된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 수신된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성부로 하여금 상기 해시 블록 및 상기 데이터 블록을 생성하도록 하는 무결성(Integrity) 관리부를 포함한다.A block-chained network system for storing cloud data using a block chain according to another aspect of the present invention includes: a receiving unit for receiving encrypted data and hash data from a block chain connection management unit of a cloud service provider (CSP) The hash data is stored in the hash node as a hash block, and the encrypted data is stored in the data node as a data block; And a step of obtaining the hash value of the received encrypted data through the hash function and then comparing the received hash data with the received hash data to check whether the hash is modulated and causing the block generator to generate the hash block and the data block Integrity management unit.

일 실시 예에서, 상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리부를 더 포함할 수 있다.In one embodiment, the node management unit may further include a node management unit for identifying the number of permitted nodes and the node type among the CSPs to join the block chain.

일 실시 예에서, 상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리부를 더 포함할 수 있다.In one embodiment, a Fault Tolerance (Fault Tolerance) scheme is provided that manages to allow the block to continue to be generated by preventing a branch due to a temporary network error when the block is created, ) Management section.

일 실시 예에서, 상기 블록체인 연결 관리부로부터 수신된 암호화된 데이터는, 상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 선택된 알고리즘에 따라 암호화된 암호화 데이터; 및 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 포함할 수 있다. 한편, 상기 블록 생성부는, 블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단하고, 상기 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득하고, 상기 CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여 해시 테이블을 생성하고, 상기 해시 테이블에 기반하여 상기 해시 블록과 상기 데이터 블록을 생성하는 것을 특징으로 할 수 있다.In one embodiment, the encrypted data received from the block-chain connection manager is encrypted according to a selected algorithm based on a Service Level Agreement (SLA), Cost, and Time associated with the encryption. Encrypted encrypted data; And CSP-based hashing data obtained by hashing the encrypted data. Meanwhile, the block generator determines whether permission is granted based on the ID of the CSP requested to the block-chain system (BS), performs BS-based hashing on the encrypted data, Based hashing data and the BS-based hashing data to generate a hash table, and generates the hash block and the data block based on the hash table.

일 실시 예에서, 상기 무결성 관리부는, 상기 해시 노드와 상기 데이터 노드에 동일한 인덱스로 저장된 블록을 검색하여 상기 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교하고, 상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교하고, 상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용하는 것을 특징으로 할 수 있다.In one embodiment, the integrity management unit searches a block stored in the hash node and the data node at the same index, compares the hash value of the hash block with the resultant value obtained by hashing the data stored in the data block, And comparing the hash value stored in the hash block with a hash value of data stored in the CSP environment when the comparison result matches the hash value stored in the hash block, The data stored in the data block is utilized as evidence data at the time of a security incident.

본 발명의 또 다른 양상에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 데이터 저장 시스템은, 클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하고, 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 클라우드 서비스 제공자(CSP: Client Service Provider) 시스템; 및 상기 CSP 시스템의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록체인 네트워크 시스템을 포함한다.According to another aspect of the present invention, there is provided a data storage system for storing cloud data using a block chain, comprising: temporarily collecting data and a log requested by a client service client (CSC) terminal for storage; A CSP (Client Service Provider) system for encrypting data requiring encryption; And a block chain control unit for receiving encrypted data and hash data from the block chain connection management unit of the CSP system and storing the hash data in a hash block as a hash block and storing the encrypted data in a data block as a data block Network system.

일 실시 예에서, 상기 CSP 시스템은, 클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집부; 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 관리부; 블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 관리부; 및 암호화된 데이터를 상기 CSP 시스템의 데이터베이스 내에 저장하는 데이터베이스 관리부를 포함할 수 있다.In one embodiment, the CSP system includes: a data collection unit for temporarily collecting data and logs requested by a cloud service user (CSC) terminal; A data encryption management unit for encrypting data requiring encryption among the data; A block chain connection management unit for making a connection request to a block chain and transmitting the pending data and the encrypted data when there is data waiting to be stored in the block chain and encrypted data; And a database management unit for storing the encrypted data in the database of the CSP system.

일 실시 예에서, 상기 블록체인 네트워크 시스템은, 상기 CSP 시스템의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록 생성부; 및 상기 수신된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 수신된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성부로 하여금 상기 해시 블록 및 상기 데이터 블록을 생성하도록 하는 무결성(Integrity) 관리부를 포함할 수 있다.In one embodiment, the block-chain network system receives encrypted data and hash data from a block-chain connection management unit of the CSP system, the hash data is stored in a hash block in a hash node, A block generator for controlling the node to be stored as a data block; And a step of obtaining the hash value of the received encrypted data through the hash function and then comparing the received hash data with the received hash data to check whether the hash is modulated and causing the block generator to generate the hash block and the data block And an integrity management unit.

일 실시 예에서, 상기 블록체인 네트워크 시스템은, 상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리부를 더 포함할 수 있다.In one embodiment, the block-chain network system may further include a node manager for identifying the number of authorized nodes and the node type among the CSPs to participate in the block chain.

일 실시 예에서, 상기 블록체인 네트워크 시스템은, 상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리부를 더 포함할 수 있다.In one embodiment, the block-chain network system is configured to prevent a branch due to a temporary network error from occurring when the block is created, or to prevent the process of summing blocks from falling into a deadlock, And a fault tolerance managing unit for managing the fault tolerance.

본 발명에 따른 데이터 저장 방법 및 암호화 방법은, 클라우드 환경에서 보안사고 발생 시, 사고 조사에 필요한 데이터를 블록체인을 이용하여 저장할 수 있다는 장점이 있다.  The data storing method and the encryption method according to the present invention are advantageous in that, when a security incident occurs in a cloud environment, data necessary for an accident investigation can be stored using a block chain.

또한, 본 발명에 따른 데이터 저장 방법 및 암호화 방법은, 블록체인을 이용하여 저장하여 원활한 보안사고 조사 방법을 제공할 수 있다는 장점이 있다.In addition, the data storing method and the encryption method according to the present invention are advantageous in that a seamless security incident investigation method can be provided by storing the data using a block chain.

도 1은 본 발명에 따른 데이터의 무결성 보장하는 블록체인 기반 클라우드 네트워크 시스템의 블록도를 나타낸다.
도 2는 본 발명에 따른 데이터 저장을 수행하는 데이터 저장 시스템의 상세 블록도를 나타낸다.
도 3은 본 발명에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 방법의 흐름도를 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 데이터 저장 및 암호화 과정과 블록 생성 과정의 상세한 흐름도를 나타낸다.
도 5는 본 발명의 다른 실시 예에 따른 데이터 무결성 검증(또는 관리) 과정의 상세한 흐름도를 나타낸다.
도 6은 본 발명에 따른 RSA 암호화 방법에 따라 블록이 생성되는 시간을 측정한 것을 나타낸 그래프이다.
도 7은 본 발명에서 제안하는 시스템에 참여하는 노드의 증가에 따라 블록이 생성되고 전파되는 시간을 측정한 것을 나타낸 그래프이다.
도 8은 기존의 데이터 저장 방법과 본 발명에서 제안하는 데이터 저장 방법에 대한 성능 비교를 나타낸 그래프이다.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a block diagram of a block chain based cloud network system to ensure the integrity of data according to the present invention.
2 shows a detailed block diagram of a data storage system for performing data storage in accordance with the present invention.
3 shows a flow chart of a method for storing cloud data according to the present invention using a block chain.
FIG. 4 is a flowchart illustrating a data storage and encryption process and a block generation process according to an exemplary embodiment of the present invention.
FIG. 5 shows a detailed flowchart of a data integrity verification (or management) process according to another embodiment of the present invention.
FIG. 6 is a graph showing a time when blocks are generated according to the RSA encryption method according to the present invention.
FIG. 7 is a graph illustrating a measurement time of blocks generated and propagated according to an increase in nodes participating in the system proposed by the present invention.
8 is a graph illustrating performance comparison between the conventional data storage method and the data storage method proposed in the present invention.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, It will be possible. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.Like reference numerals are used for similar elements in describing each drawing.

제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. The term "and / or" includes any combination of a plurality of related listed items or any of a plurality of related listed items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Should not.

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈", "블록" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix "module "," block ", and "part" for components used in the following description are given or mixed in consideration of ease of specification only and do not have their own distinct meanings or roles .

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 본 발명에 따른 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템에 대해 살펴보기로 한다. 이와 관련하여, 도 1은 본 발명에 따른 데이터의 무결성 보장하는 블록체인 기반 클라우드 네트워크 시스템의 블록도를 나타낸다. 한편, 도 2는 본 발명에 따른 데이터 저장을 수행하는 데이터 저장 시스템의 상세 블록도를 나타낸다. 도 1 및 도 2를 참조하면, 본 발명에 따른 데이터 저장 시스템(1000) (또는, 네트워크 시스템(1000))은 클라우드 서비스 사용자(CSC: Client Service Customer) 단말(100), 클라우드 시스템(200), 및 블록체인 네트워크 시스템(300)을 포함한다. 여기서, 클라우드 시스템(200)은 클라우드 서비스 제공자(CSP: Client Service Provider) 시스템(200)으로 지칭될 수 있다. 또한, CSP 시스템(200)은 복수의 CSP를 포함할 수 있고, 예를 들어, CSP 내지 CSP E와 같은 각각의 CSP는 각각 데이터베이스(DB)와 블록체인 노드(Blockchain Node)를 구비할 수 있다. Hereinafter, a method for storing data according to the present invention using a block chain and a cloud system will be described. In this regard, Figure 1 shows a block diagram of a block chain based cloud network system that ensures the integrity of data according to the present invention. 2 is a detailed block diagram of a data storage system for performing data storage according to the present invention. 1 and 2, a data storage system 1000 (or a network system 1000) according to the present invention includes a client service client (CSC) terminal 100, a cloud system 200, And a block-chain network system 300. Here, the cloud system 200 may be referred to as a cloud service provider (CSP) system 200. In addition, the CSP system 200 may include a plurality of CSPs. For example, each CSP such as CSP to CSP E may include a database (DB) and a blockchain node.

한편, 블록체인 네트워크 시스템(300)은 일부 또는 전부가 클라우드 시스템(200) 내에 구현되거나, 또는 일부 또는 전부가 별도의 시스템 내에 구현될 수 있다. 한편, 블록체인 노드(Blockchain Node)는 복수의 해시 노드와 복수의 데이터 노드를 포함할 수 있다.On the other hand, some or all of the block-chain network system 300 may be implemented in the cloud system 200, or some or all of them may be implemented in a separate system. Meanwhile, a block chain node may include a plurality of hash nodes and a plurality of data nodes.

한편, 제안된 네트워크 시스템(1000)은 클라우드 환경에서 발생하는 데이터를 클라우드 서비스 제공자(CSP, 200)가 직접 수집을 하고, 데이터의 무결성을 추가적으로 보장하기 위해 블록체인을 이용한다. 단일 클라우드 서비스 제공자 환경에서는 블록체인을 이용하여 데이터를 저장한다고 해도, 클라우드 서비스 제공자(CSP, 200)가 임의로 저장된 데이터를 새로 기록하여 새 블록을 교체할 수 있는 가능성이 존재한다. 따라서 다수의 클라우드 서비스 제공자(CSP, 200)가 블록체인 네트워크에 참가하여 각 환경에서 발생하는 데이터를 같은 블록체인에 저장하는 구조이다. 제안하는 시스템은 허가형 블록체인임을 전제로 한다. Meanwhile, in the proposed network system 1000, a cloud service provider (CSP) 200 directly collects data generated in a cloud environment and uses a block chain to additionally guarantee data integrity. In a single cloud service provider environment, even if data is stored using a block chain, there is a possibility that the cloud service provider (CSP) 200 may newly record the stored data and replace the new block. Accordingly, a plurality of cloud service providers (CSPs) 200 participate in a block-chain network, and data generated in each environment is stored in the same block chain. The proposed system is assumed to be a permissible block chain.

네트워크에 참여하는 것은 신뢰할 수 있는, 인증을 받은 CSP(200)만 참가 가능하며, 무허가형 블록체인과 다르게 신뢰 증명 작업인 "채굴" 작업을 수행할 필요가 없어 처리 속도를 높일 수 있다. 따라서 이 시스템에서는 블록이 생성되었을 때 블록의 생성을 동의하는 합의 과정만을 수행한다. 만약 이 시스템을 이용하기 위해 채굴과 같은 방법을 이용하면, 클라우드 환경의 리소스를 추가적으로 사용하게 되기 때문에 pay-as-you-go의 정책을 따르는 클라우드 환경의 특징 상 그 부담이 CSC에게 가게 된다. 또한, CSP(200)의 클라우드 환경에서 발생하는 모든 데이터를 블록체인 네트워크에 참여하고 있는 모든 CSP들(200)이 보관하게 되기 때문에, 이는 처리 성능의 저하 문제로 이어질 수 있다. Participation in the network can only be performed by a trusted and authenticated CSP 200. Unlike the unauthorized block chain, it is possible to increase the processing speed because there is no need to perform a "mining" operation as a trust verification operation. Therefore, in this system, when the block is generated, only consensus is agreed to generate the block. If you use the same method to exploit this system, you will have to use the additional resources of the cloud environment, so the burden of the cloud environment that follows the pay-as-you-go policy will be borne by the CSC. Also, since all the data generated in the cloud environment of the CSP 200 is stored by all the CSPs 200 participating in the block-chain network, this may lead to a problem of degradation of processing performance.

따라서 제안하는 네트워크 시스템(1000)은 로그의 저장 속도를 높이기 위해 해시 값만을 저장하는 hash node와 보안사고 발생 시 클라우드 보안사고 조사를 위해 데이터 변조를 확인할 수 있도록 모든 데이터를 담은 데이터 노드(data node)로 나누어 구성한다. 해시(Hash) 함수 처리가 완료된 데이터들은 해시 노드(hash node)로 보내지게 되어 블록을 형성하고, 원본 데이터는 data node로 보내져 블록을 생성하게 된다. 각 노드의 블록에는 저장되는 시간의 차이가 발생하여 시간 스탬프(timestamp) 값이 다를 수 있는데, 이를 해결하기 위해 적절한 인덱스(index) 값을 부여하여 테이블(table)이 엉키는 것을 방지한다.Therefore, the proposed network system 1000 has a hash node storing only the hash value in order to increase the storage speed of the log, and a data node storing all the data so as to confirm the data modulation for the cloud security incident, . The hashed data is sent to the hash node to form a block, and the original data is sent to the data node to generate the block. In order to solve this problem, an appropriate index value is added to prevent the table from being tangled.

한편, 본 발명에 따른 네트워크 시스템(1000)의 구성 요소의 식별자(Identifier)와 이에 대한 설명(Description)은 표 1과 같다.Table 1 shows identifiers and descriptions of the components of the network system 1000 according to the present invention.

식별자(Identifier)Identifier 설명(Description)Description IndexIndex Number of blockNumber of block Previous_hashPrevious_hash Hash value of previous blockHash value of previous block TimestampTimestamp The time when block was created The time when block was created   CSP_idCSP_id Identifier of the CSPIdentifier of the CSP User_idUser_id Identifier of the CSCIdentifier of the CSC Hashtree_rootHashtree_root Root value of hashtreeRoot value of hashtree DataData Data to store in the blockData to store in the block

전술한 바와 같이 각 구성 요소 블록의 구조는 표 1과 같다. 해시 노드의 경우 해시 값들로 구성된 트리가 데이터 필드에 저장되고, 데이터 노드의 경우 추후 서술할 암호화된 데이터로 구성된 이진 트리가 데이터 필드에 저장된다.Table 1 shows the structure of each component block as described above. In the case of a hash node, a tree composed of hash values is stored in a data field. In the case of a data node, a binary tree composed of encrypted data to be described later is stored in the data field.

한편, 도 1을 참조하여, 본 발명에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 데이터 저장 시스템(1000)의 각 구성 요소에 대해 상세하게 살펴보면 다음과 같다. 이와 관련하여, 도 2는 본 발명에 따른 데이터 저장을 수행하는 데이터 저장 시스템의 상세 블록도를 나타낸다. Referring to FIG. 1, each component of the data storage system 1000 storing cloud data according to the present invention using a block chain will be described in detail. In this regard, Figure 2 shows a detailed block diagram of a data storage system for performing data storage in accordance with the present invention.

클라우드 서비스 제공자 (CSP) 시스템(200)은 클라우드 서비스 사용자(CSC) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하고, 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하도록 구성된다. 한편, CSP 시스템(200)은, 데이터 수집부(210), 데이터 암호화 관리부(220), 블록체인 연결 관리부(230), 및 데이터베이스 관리부(240)를 포함한다. 여기서, 데이터베이스 관리부(240)는 포렌식(Forensic) 데이터베이스 관리부(240)로 지칭될 수 있다.The cloud service provider (CSP) system 200 is configured to temporarily collect data and logs requested by the cloud service user (CSC) terminal and perform encryption of data requiring encryption. The CSP system 200 includes a data collection unit 210, a data encryption management unit 220, a block chain connection management unit 230, and a database management unit 240. Here, the database management unit 240 may be referred to as a forensic database management unit 240.

데이터 수집부(210)는 클라우드 서비스 사용자(CSC) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하도록 구성된다. 또한, 데이터 암호화 관리부(220)는 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하도록 구성된다. 또한, 블록체인 연결 관리부(230)는 블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 대기 중인 데이터 및 암호화된 데이터를 전송하도록 구성된다. 이때, 블록체인 연결 관리부로부터 수신된 암호화된 데이터는, 상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 선택된 알고리즘에 따라 암호화된 암호화 데이터; 및 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 포함할 수 있다. 또한, 데이터베이스 관리부(240)는 암호화된 데이터를 CSP 시스템(200)의 데이터베이스 내에 저장하도록 구성된다.The data collecting unit 210 is configured to temporarily collect data and logs requested by the cloud service user (CSC) terminal. In addition, the data encryption management unit 220 is configured to perform encryption of data requiring encryption. The block-chain connection management unit 230 is configured to transmit the pending data and the encrypted data by making a connection request to the block chain when there is pending data and encrypted data to be stored in the block chain. At this time, the encrypted data received from the block chain connection management unit is encrypted according to the algorithm selected based on the service level agreement (SLA), cost, and time associated with the encryption. ; And CSP-based hashing data obtained by hashing the encrypted data. Also, the database management unit 240 is configured to store the encrypted data in the database of the CSP system 200.

한편, 블록체인 네트워크 시스템(300)은 CSP 시스템(200)의 블록체인 연결 관리부(230)로부터 암호화된 데이터와 해시 데이터를 수신하여, 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어한다.The block-chain network system 300 receives encrypted data and hash data from the block-chain connection management unit 230 of the CSP system 200. The hash data is stored as a hash block in the hash node, And controls the data node to be stored as a data block.

한편, 블록체인 네트워크 시스템(300)은 블록 생성부(310), 무결성(Integrity) 관리부(320), 노드 관리부(330), 및 결함 감내(Fault Tolerance) 관리부(340)를 포함한다. The block chain network system 300 includes a block generator 310, an integrity manager 320, a node manager 330, and a fault tolerance manager 340.

블록 생성부(310)는 CSP 시스템(200)의 블록체인 연결 관리부(230)로부터 암호화된 데이터와 해시 데이터를 수신하여, 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어한다. 또한, 블록 생성부(310)는 블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단하고, 상기 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득할 수 있다. 또한, 블록 생성부(310)는 상기 CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여 해시 테이블을 생성하고, 상기 해시 테이블에 기반하여 상기 해시 블록과 상기 데이터 블록을 생성할 수 있다.The block generator 310 receives the encrypted data and the hash data from the block chain connection manager 230 of the CSP system 200 and stores the hash data in a hash block in the hash node, Data block. In addition, the block generator 310 determines whether permission is granted based on the ID of the CSP requested to the block-chain system (BS), performs BS-based hashing on the encrypted data, Based hashing data. The block generator 310 may generate a hash table by comparing the CSP-based hashing data with the BS-based hashing data, and may generate the hash block and the data block based on the hash table.

또한, 무결성 관리부(320)는 수신된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 수신된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성부(310)로 하여금 해시 블록 및 상기 데이터 블록을 생성하도록 구성된다. 또한, 무결성 관리부(320)는 상기 해시 노드와 상기 데이터 노드에 동일한 인덱스로 저장된 블록을 검색하여 상기 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교한다. 또한, 무결성 관리부(320)는 상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교한다. 또한, 무결성 관리부(320)는 상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용할 수 있다.In addition, the integrity management unit 320 obtains the hash value of the received encrypted data through the hash function, and checks whether the hash is modulated by comparing the received hash value with the received hash data, And to generate the data block. In addition, the integrity management unit 320 searches the hash node and the data node for blocks stored in the same index, and compares the hash value of the hash block with the resultant value obtained by hashing the data stored in the data block. Also, the integrity management unit 320 compares the hash value stored in the hash block with the hash value of the data stored in the CSP environment when the result values match. The integrity management unit 320 determines that integrity is not inconsistent if all the compared values in the first comparison process and the second comparison process are identical, and stores the data stored in the data block as evidence data Can be utilized.

또한, 노드 관리부(330)는 블록체인에 참가하고자 하는 CSP(200) 중 허가받은 노드 개수와 노드 타입을 식별하도록 구성된다. 이때, 노드 타입은 단순히 허가 여부뿐만 아니라, DB 타입과 저장된 컨텐츠의 타입, 암호화 타입에 대한 정보를 포함할 수 있고, 이에 따라 무결성 관리 방식 및 블록 생성 방식이 결정될 수 있다. 또한, 결함 감내 관리부(340)는 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하도록 구성된다.In addition, the node management unit 330 is configured to identify the number of authorized nodes and the node type among the CSPs 200 to participate in the block chain. At this time, the node type may include information on the DB type, the type of stored contents, and the encryption type, as well as the permission status, thereby determining the integrity management method and the block generation method. In addition, the defect tolerance managing unit 340 is configured to prevent a branch due to a temporary network error when a block is generated, or to prevent a merging procedure of a block generation from being put into a deadlock state so that the block can be continuously generated .

한편, 본 발명의 다른 양상에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 방법에 대해 살펴보면 다음과 같다. 이와 관련하여, 도 3은 본 발명에 따른 클라우드 데이터를 블록체인을 이용하여 저장하는 방법의 흐름도를 나타낸다. 도 3에 도시된 바와 같이, 데이터 저장 방법은 데이터 수집 과정(S100), 데이터 암호화 과정(S200), 블록체인 연결 과정(S300), 및 데이터베이스 저장 과정(S400)을 포함한다.A method of storing cloud data according to another aspect of the present invention using a block chain will now be described. In this regard, FIG. 3 shows a flowchart of a method for storing cloud data according to the present invention using a block chain. As shown in FIG. 3, the data storage method includes a data collection process S100, a data encryption process S200, a block chain connection process S300, and a database storage process S400.

이와 관련하여, 데이터 수집 과정(S100)에서, 클라우드 서비스 사용자(CSC) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집한다. 또한, 데이터 암호화 과정(S200)에서, 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행한다. 또한, 블록체인 연결 과정(S300)에서, 블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송한다. 또한, 데이터베이스 저장 과정(S400)에서, 암호화된 데이터를 클라우드 서비스 제공자(CSP) 의 데이터베이스 내에 저장한다.In this regard, in the data collection process (S100), the cloud service user (CSC) terminal temporarily collects the data and log requested to be stored. Also, in the data encryption process (S200), encryption of data requiring encryption is performed. In addition, in the block chain connection process (S300), if there is data waiting to be stored in the block chain and encrypted data, a connection request is sent to the block chain to transmit the pending data and the encrypted data. Also, in the database storing process (S400), the encrypted data is stored in the database of the cloud service provider (CSP).

한편, 블록체인 연결 과정(S300) 이후에, 노드 관리 과정(S500), 무결성(Integrity) 관리 과정(S600), 블록 생성 과정(S700), 및 결함 감내(Fault Tolerance) 관리 과정(S800)을 더 포함할 수 있다. 한편, 전술된 S500 내지 S800과정의 순서는 일 예시에 불과할 뿐, 응용(application)에 따라 다양하게 그 순서를 변경하거나 또는 일부 과정만을 수행할 수 있다.After the block chain connection process (S300), the node management process (S500), the integrity management process (S600), the block generation process (S700), and the fault tolerance management process (S800) . Meanwhile, the order of steps S500 to S800 described above is merely an example, and the order of the steps S500 to S800 may be changed according to an application, or only a part of the steps may be performed.

노드 관리 과정(S500)에서, 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별한다. 또한, 무결성 관리 과정(S600)에서, 전송된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 전송된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 블록 생성 과정(S700)이 수행되도록 한다. 또한, 블록 생성 과정(S700)에서, 암호화된 데이터와 해시 데이터가 전송되면, 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 한다. 또한, 결함 감내 관리 과정(S800)에서, 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 블록이 계속 생성될 수 있도록 관리하도록 구성된다.In the node management process (S500), the number of permitted nodes and the node type among the CSPs to participate in the block chain are identified. In addition, in the integrity management process S600, the hash value is obtained from the transmitted encrypted data through the hash function, and then the hash value is compared with the transmitted hash data to check whether or not modulation is performed. do. If the encrypted data and the hash data are transmitted in the block creation process (S700), the hash data is stored in the hash block as a hash block, and the encrypted data is stored in the data node as a data block. In addition, in the defect tolerance management process (S800), it is possible to prevent a branch due to a temporary network error when a block is generated, prevent a merging procedure of a block generation from being put into a deadlock state, do.

이상에서 전술된 데이터 저장 시스템(1000) 및 이의 구성 부분에 기반하여 데이터 저장 방법에 좀 더 상세하게 설명하면 다음과 같다.The data storage method based on the above-described data storage system 1000 and its constituent parts will now be described in more detail.

- 데이터 저장 과정- Data storage process

CSP(200)가 제공하는 클라우드 서비스를 사용하는 CSC(100)가 보안사고 조사를 위해 기록이 필요하다고 정의한 데이터가 발생하면, 해당 데이터는 CSP(200)가 블록체인 네트워크에 기록을 하게 된다. 블록체인 네트워크(300)에 저장하기 전 클라우드 환경에 저장되는 데이터는 CSP(200)의 운영 방침과, 개인정보와 같이 공개되기 어려운 데이터가 존재할 수 있다. When the CSC 100 using the cloud service provided by the CSP 200 generates data defining that recording is necessary for security incident investigation, the CSP 200 records the data in the block-chain network. Data stored in the cloud environment before being stored in the block-chain network 300 may include data that is difficult to disclose such as the operation policy of the CSP 200 and personal information.

따라서 제안하는 데이터 저장 시스템(1000)은 저장이 필요한 데이터의 암호화를 먼저 수행하게 된다. 암호화를 수행한 후, 데이터는 해시 함수를 통해 해시값을 생성하게 된다. 해싱을 완료한 데이터는 해시 노드(hash node)로 이동하여 블록을 생성하고, 암호화된 원본 데이터는 데이터 노드(data node)에 저장된다. 사용하는 해시 함수와 암호화 알고리즘은 시간과 비용 측면을 고려하여 CSC와 CSP간 서비스 수준 규약(SLA: Service Level Agreement) 등을 통해 협의한 후, 네트워크에 참여하고 있는 CSP들간의 협의를 거쳐 최종 결정한다. Accordingly, the proposed data storage system 1000 first performs encryption of data that needs to be stored. After performing the encryption, the data will generate a hash value through a hash function. The hashed data is moved to a hash node to generate a block, and the encrypted original data is stored in a data node. The hash function and the encryption algorithm to be used are decided through the service level agreement (SLA) between the CSC and the CSP in consideration of the time and the cost, and then the final decision is made through consultation between the participating CSPs .

이와 관련하여, 도 4는 본 발명의 일 실시 예에 따른 데이터 저장 및 암호화 과정과 블록 생성 과정의 상세한 흐름도를 나타낸다. 한편, 도 4의 흐름도에 사용된 기호(notation)에 대한 정의는 표 2와 같다.In this regard, FIG. 4 shows a detailed flowchart of the data storage and encryption process and the block generation process according to an embodiment of the present invention. Meanwhile, the definition of the notation used in the flowchart of FIG. 4 is shown in Table 2.

기호(Notation)Notation 설명(Description)Description Dx D x Data in XData in X Enx Width x Encrypted in X environmentsEncrypted in X environments Hx H x Hashed in X environmentsHashed in X environments BSBS Blockchain SystemBlockchain System CollectCollect CollectionCollection Storex Store x Storing the data in X environmentsStoring the data in X environments CheckCheck Checking ObjectChecking Object CompComp Compare with Compare with CreateCreate Create new blockCreate new block HBHB Hash blockHash block DBDB Data blockData block PubPub Publish new blockPublish new block

도 3 및 도 4를 참조하면, 데이터 암호화 과정(S200)에서, 암호화와 연관된 서비스 수준 규약(SLA), 비용(Cost), 및 시간(Time)에 기반하여 알고리즘을 선택하고, 상기 알고리즘에 따라 상기 데이터를 암호화한 암호화 데이터와 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 저장한다. 다음으로, 블록 생성 과정(S700)은 ID 확인 과정(S710), 해싱 데이터 획득 과정(S720), 해싱 데이터 비교 과정(S730), 해시 테이블 생성 과정(S740) 및 해시 블록/데이터 블록 생성 과정(S750)을 포함한다.3 and 4, in the data encryption process (S200), an algorithm is selected based on a service level agreement (SLA), a cost, and a time associated with encryption, And stores CSP-based hashing data obtained by hashing the encrypted data and the encrypted data. Next, the block generation process S700 includes an ID verification process S710, a hashing data acquisition process S720, a hashing data comparison process S730, a hash table generation process S740, and a hash block / data block generation process S750 ).

이와 관련하여, ID 확인 과정(S710)에서, 블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단한다. 또한, 해싱 데이터 획득 과정(S720)에서, 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득한다. 또한, 해싱 데이터 비교 과정(S730)에서, CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여, 해시 테이블 생성 과정(S740)에서 해시 테이블을 생성할 수 있다. 또한, 해시 블록/데이터 블록 생성 과정(S750)에서, 해시 테이블에 기반하여 해시 블록과 데이터 블록을 생성할 수 있다.In this regard, in the ID check process (S710), it is determined whether the permission is permitted based on the ID of the CSP requested to the block-chain system (BS). Further, in the hashing data acquisition process (S720), BS-based hashing is performed on the encrypted data to obtain BS-based hashing data. In addition, in the hashing data comparison step S730, the hash table may be generated in the hash table generation step S740 by comparing the CSP-based hash data with the BS based hash data. In the hash block / data block generation process (S750), a hash block and a data block may be generated based on the hash table.

다음으로, 본 발명의 다른 실시 예에 따른 수집한 데이터의 무결성 검증 과정에 대해 살펴보면 다음과 같다.Next, an integrity verification process of the collected data according to another embodiment of the present invention will be described.

- 수집한 데이터의 무결성 검증 과정- The process of verifying the integrity of collected data

이와 관련하여, 보안사고가 발생하여 제안하는 시스템에 저장한 데이터가 필요하게 될 경우 무결성의 검증 과정은 도 5와 같다. 즉, 도 5는 본 발명의 다른 실시 예에 따른 데이터 무결성 검증(또는 관리) 과정의 상세한 흐름도를 나타낸다. 이와 관련하여, 도 5에서의 흐름도에 대한 각 기호(notation)에 대한 정의는 표 3과 같다.In this regard, if the security incident occurs and data stored in the proposed system is needed, the integrity verification procedure is as shown in FIG. That is, FIG. 5 shows a detailed flowchart of a data integrity verification (or management) process according to another embodiment of the present invention. In this regard, the definition of each notation for the flowchart in FIG. 5 is shown in Table 3.

기호(notation)Notation 설명(Description)Description Indexx Index x Index of X's dataIndex of X's data Searchx Search x Searching data in X environmentsSearching data in X environments HBHB Hash blockHash block DBDB Data blockData block Dx D x Data in XData in X CompComp Compare two valuesCompare two values

도 3 및 도 5를 참조하면, 무결성 관리 과정(S600)은, 블록 검색 과정(S610), 제1 비교 과정(S620), 및 제2 비교 과정(S630)을 포함한다. 즉, 블록 검색 과정(S610)에서, 해시 노드와 데이터 노드에 동일한 인덱스로 저장된 블록을 검색한다. 또한, 제1 비교 과정(S620)에서, 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교한다. 또한, 제2 비교 과정(S630)에서, 상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교한다. 이에 따라, 상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용할 수 있다.Referring to FIGS. 3 and 5, the integrity management process S600 includes a block search process S610, a first comparison process S620, and a second comparison process S630. That is, in the block search process (S610), the block having the same index is searched for the hash node and the data node. In the first comparison process (S620), the hash value of the hash block is compared with the result value obtained by hashing the data stored in the data block. In the second comparison process (S630), when the result values match, the hash value stored in the hash block is compared with a hash value of data stored in the CSP environment. Accordingly, if the comparison values in the first comparison process and the second comparison process are all the same, it is determined that the integrity is not violated, and the data stored in the data block can be used as evidence data at the time of a security incident.

다음으로, 도 2에서의 전술된 블록별 각 구성 요소의 좀 더 상세한 동작 및 세부 기능에 대해 살펴보면 아래와 같다. 세부 기능은 크게 클라우드 서비스 제공자 측면의 기능과 블록체인 측면의 기능들이 각각 4가지씩 존재한다. 먼저, 클라우드 서비스 제공자 (CSC) 시스템(200) 측면의 세부 기능은 데이터 수집부(Data Collector, 210), 데이터 암호화 관리부(Data Encryption Manager, 220), 블록체인 연결 관리부(Blockchain Connection Manager, 230), 데이터베이스 관리부((Forensic)Database Manager, 240) 가 존재한다.Next, the more detailed operation and the detailed function of each of the above-mentioned respective components of each block in FIG. 2 will be described below. The details of the functions are largely divided into four functions of the cloud service provider side and a block chain side. The details of the functions of the cloud service provider (CSC) system 200 include a data collector 210, a data encryption manager 220, a blockchain connection manager 230, A database management unit (Forensic Database Manager, 240) exists.

- Data Collector : 클라우드 서비스 사용자가 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 역할을 수행한다. 이때 수집하는 데이터의 종류에 따라 적절한 툴을 사용할 수 있다. (e.g. 네트워크 패킷 데이터의 경우 snort 등을 사용)- Data Collector: Collects the data and logs requested by the cloud service user temporarily. At this time, an appropriate tool can be used depending on the kind of data to be collected. (eg, snort for network packet data)

- Data Encryption Manager : 제안하는 시스템은 여러 클라우드 서비스 제공자가 같은 블록체인을 이용하기 때문에 블록의 내용을 열람할 수 있어 개인정보와 같은 민감한 데이터를 보관하기 어려울 수 있다. 따라서 암호화가 필요한 데이터는 해당 기능을 통해 암호화를 수행한다.- Data Encryption Manager: The proposed system may be unable to store sensitive data such as personal information because many cloud service providers use the same block chain to browse the contents of the block. Therefore, data that requires encryption performs encryption through the corresponding function.

- Blockchain Connection Manager : 블록체인에 저장하기 위해 대기중인 데이터 / 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 데이터를 전송할 수 있도록 한다.- Blockchain Connection Manager: When there is data waiting to be stored in the block chain / encrypted data, it makes connection request to the block chain to transmit data.

- Fornesic Database Manager : 암호화된 데이터를 클라우드 서비스 제공자 내에 저장하는 기능이다. 해당 데이터는 무결성이 보장되는 방법으로 저장 및 보관되어야 한다. - Fornesic Database Manager: The ability to store encrypted data within a cloud service provider. The data must be stored and archived in a manner that ensures integrity.

한편, 블록체인 네트워크 시스템(300)에서의 상세 동작 및 세부 기능은 블록 생성부(Block Builder, 310), 무결성 관리부(Integrity Manager, 320), 노드 관리부(Node Manager, 330) 및 결함 감내관리부(Fault Tolerance, 340)의 4가지가 존재한다.The detailed operation and detailed functions of the block-chain network system 300 are performed by a block builder 310, an integrity manager 320, a node manager 330 and a fault tolerance manager Tolerance, 340).

- Block Builder : 암호화된 데이터와 그 데이터의 해시값이 같이 전송되면, 해시 데이터는 Hash node로, 암호화된 데이터는 Data node에 각각 새 블록으로 저장되게 된다.Block Builder: If the encrypted data and the hash value of the data are transmitted together, the hash data is stored in the hash node and the encrypted data is stored in the new block in the data node.

- Integrity Manager : 데이터의 무결성을 관리하는 기능이다. 블록에 데이터가 저장되기 전 전송 받은 데이터를 해시 함수를 통해 해시 값을 얻은 후, 같이 전송된 해시 값과의 비교를 통해 변조가 되지 않았음을 확인한 후 Block Builder 에게 블록 생성을 허가한다. 또한, 데이터가 필요한 경우 Hash node와 Data node에 있는 데이터를 클라우드 서비스 제공자의 Forensic Database Manager에서 보관하고 있는 데이터와의 대조를 통해 무결성을 검증한다.- Integrity Manager: It is the function to manage the integrity of data. After the hash value is obtained through the hash function of the received data before the data is stored in the block, the hash value is compared with the transmitted hash value, and the block builder is allowed to generate the block after confirming that the data has not been modulated. In addition, if data is required, the integrity of the data in the Hash node and the data node is verified against the data stored in the Forensic Database Manager of the cloud service provider.

- Node Manager : 블록체인에 참가하고 있는 클라우드 서비스 제공자의 노드 개수를 파악한다. 허가 받은 클라우드 서비스 제공자만 이 시스템을 이용가능 하기 때문에 작업 증명 과정 (PoW: Proof of Work)이 없고, 블록 생성 시 합의 과정만 수행하기 때문에 비잔틴 장군 문제와 같은 합의 문제가 발생하지 않도록 관리하는 역할을 수행한다.- Node Manager: Determine the number of nodes of the cloud service provider participating in the block chain. Because only authorized cloud service providers are able to use the system, they do not have a Proof of Work (PoW) and do only consensus building blocks. .

- Fault Tolerance Manager : 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 막고 블록이 계속 쌓아나갈 수 있도록 관리한다. - Fault Tolerance Manager: This block prevents the branching due to temporary network error when the block is created, prevents the agreement process of block generation from falling into deadlock, and keeps the blocks from accumulating.

이상에서는, 본 발명에 따른 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템에 대해 살펴보았다. 보다 상세하게는, 클라우드 포렌식 지원을 위해 데이터를 블록체인을 이용하여 저장하는 방법 및 이를 수행하는 클라우드 시스템, 및 블록체인 네트워크 시스템을 포함하는 데이터 저장 시스템에 대해 살펴보았다. 한편, 데이터 저장 방법, 데이터 저장 시스템, 클라우드 시스템, 및 블록체인 네트워크 시스템에서 전술된 내용들은 상호 결합하여 이용될 수 있음은 물론이다. 아래에서는 본 발명에서 제안하는 네트워크 시스템의 성능 평가 결과에 대해 살펴보기로 한다.In the foregoing, a method of storing data according to the present invention using a block chain and a cloud system have been described. More specifically, we have discussed a method for storing data using a block chain for cloud forensic support, a cloud system for performing the method, and a data storage system including a block-chain network system. It is needless to say that the above-described contents in the data storing method, the data storing system, the cloud system, and the block-chain network system can be used in combination with each other. Hereinafter, a performance evaluation result of the network system proposed in the present invention will be described.

- 제안하는 시스템의 성능 평가 결과- Performance evaluation of proposed system

시스템의 성능 평가를 위해 데이터를 블록에 담아 블록이 생성되는 시간을 측정할 수 있다. 블록체인 기술을 이용한 암호화폐인 비트코인의 경우 블록의 생성 대가로 받은 보상금이 100블록이 지나야 사용할 수 있는 특징을 가지고 있다. 이는 블록에 저장된 데이터의 무결성이 보장되는 시간이라고 판단할 수 있다. 따라서 본 연구에서도 데이터가 블록에 저장된 후 100블록을 생성하기까지 소요된 시간을 측정할 수 있다. To evaluate the performance of the system, we can measure the time at which blocks are generated by putting the data into blocks. In the case of cryptographic closed - bit coin using block - chaining technique, the compensation received for the generation of the block can be used only after 100 blocks. It can be determined that the integrity of the data stored in the block is guaranteed. Therefore, in this study, it is also possible to measure the time taken to generate 100 blocks after the data is stored in the block.

블록에 저장되는 데이터는 완전 이진트리 형식으로 구성하여 저장되기 때문에, 데이터의 개수가 2의 배수가 아닐 경우 빈 값으로 채워 트리를 구성할 수 있다. 따라서 한 블록당 저장되는 데이터의 개수는 2의 배수로 실험할 수 있다.Since the data stored in the block is stored in a complete binary tree format, if the number of data is not a multiple of 2, the tree can be filled with an empty value. Therefore, the number of data stored per block can be experimented with a multiple of 2.

실험에 사용된 데이터의 종류는 15바이트의 로그로 RSA 암호화 비트 수에 따라 암호화를 수행한 후 해시 트리를 생성할 수 있다. 블록에 저장 및 전파는 2개의 노드가 연결된 환경에서 실험하였고 노드 수 증가에 따른 전파 속도 지연 정도를 확인하기 위한 실험 총 두 가지의 성능 평가를 실시할 수 있다.The type of data used in the experiment is a 15-byte log, which can generate a hash tree after performing encryption according to the number of RSA encrypted bits. In this paper, we propose two performance evaluation methods for the storage and propagation in the block.

도 6은 본 발명에 따른 RSA 암호화 방법에 따라 블록이 생성되는 시간을 측정한 것을 나타낸 그래프이다. 암호화를 수행하지 않고 해시 함수만 사용하여 데이터를 블록에 전파하는 경우와 비교해 볼 때, 수행 시간은 암호화 방법에 영향을 많이 받는 것을 알 수 있다. RSA는 공개키 기반의 암호화 방법으로 지수 연산을 주로 수행하기 때문에 수행시간이 오래 걸리며, 이는 수행시간이 늦어지는 문제 외에도 클라우드 환경에서 추가적으로 자원을 사용하게 되는 것을 의미한다. 따라서 CSC는 CSP와의 협의를 통해 필요한 만큼의 보안 정도를 선택하는 것이 중요함을 알 수 있다.FIG. 6 is a graph showing a time when blocks are generated according to the RSA encryption method according to the present invention. Compared to the case where data is propagated to a block using only a hash function without performing encryption, the execution time is influenced by the encryption method. RSA is a public key-based encryption method that takes a long time to perform the exponential operation, which means that in addition to the problem of slow execution time, additional resources are used in the cloud environment. Therefore, it is important for the CSC to select the degree of security required in consultation with the CSP.

한편, 도 7은 본 발명에서 제안하는 시스템에 참여하는 노드의 증가에 따라 블록이 생성되고 전파되는 시간을 측정한 것을 나타낸 그래프이다. 그림 5의 실험에서 transaction 개수는 8192개인 경우로 실험을 하였으며 최대 7개 노드가 참여하는 케이스를 실험할 수 있다. 앞선 실험과 같이 암호화를 하지 않고 저장한 경우와 RSA 암호화를 수행한 시간을 측정할 수 있다. 이와 관련하여, 노드 수의 증가에 따라 블록이 모든 노드들에 전파되기까지의 시간은 증가하지만, 노드의 수가 증가함에 따라 전파되는데 걸리는 추가적인 시간의 양이 점차 줄어드는 것을 확인할 수 있다. 따라서 제안하는 시스템은 블록체인 네트워크에 참여하는 노드의 개수가 늘어나도 성능의 저하가 크게 발생하지 않는다는 것을 확인할 수 있다. Meanwhile, FIG. 7 is a graph illustrating the measurement of the time that blocks are generated and propagated according to an increase in nodes participating in the system proposed by the present invention. In the experiment shown in Fig. 5, the number of transactions is 8192, and the experiment can be performed with a maximum of 7 nodes. As in the previous experiment, it is possible to measure the time when RSA encryption is performed and the time when encryption is not performed. In this regard, it can be seen that as the number of nodes increases, the time to propagate the block to all nodes increases, but the amount of additional time to propagate gradually decreases as the number of nodes increases. Therefore, it can be seen that the proposed system does not significantly degrade the performance even if the number of nodes participating in the block-chain network increases.

다음으로, 도 8은 기존의 데이터 저장 방법과 본 발명에서 제안하는 데이터 저장 방법에 대한 성능 비교를 나타낸 그래프이다. 클라우드 포렌식을 위해 기존의 데이터 저장 방법과 비교하기 위해 데이터를 암호화하여 저장하는 crypto-accumulator와의 성능 비교를 수행할 수 있다. 이는 RSA-2048 암호화를 기반으로 수행한다. 따라서 제안하는 시스템과의 데이터 삽입 시간 비교를 통한 성능 평가 결과 한 번에 저장하는 데이터 트랜잭션(transaction)의 크기가 커질수록, 제안하는 시스템이 16384개 내지 65536개 구간에서 약 25% 정도 더 빠른 속도로 데이터 처리가 가능한 것을 확인할 수 있다.Next, FIG. 8 is a graph illustrating performance comparison between the conventional data storage method and the data storage method proposed in the present invention. For cloud forensics, you can compare performance against crypto-accumulator, which encrypts and stores data for comparison with existing data storage methods. It is based on RSA-2048 encryption. Therefore, as the performance of the proposed system compared with the data insertion time, it is shown that the proposed system increases the size of the data transaction at one time by about 25% at 16384 ~ 65536 It can be confirmed that data processing is possible.

따라서, 본 발명에 따른 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템 및 성능에 대해 살펴보았다. 이러한 데이터 저장 방법 및 시스템은 클라우드 환경에서 데이터의 무결성 보장이 필요한 모든 분야에 활용 가능하다. 또한, 분산된 환경이나 신뢰도를 보장하는 기관 없이 데이터의 무결성을 보장해야 하는 분야에 활용 가능하다.Accordingly, a method of storing data according to the present invention using a block chain, and a cloud system and performance have been described. Such data storage methods and systems can be utilized in all areas where data integrity is required in a cloud environment. In addition, it can be used in areas where data integrity must be ensured without a distributed environment or an organization that guarantees reliability.

한편, 이와 같은 블록 체인 기반 연구와 관련하여, 현재 사업, 직종별 다양한 요구사항을 만족시키기 위한 블록체인 기반 서비스가 연구되고 있다. 따라서, 본 발명에 따른 기대 효과와 관련하여, 본 시스템은 클라우드 환경과 같이 다양하고 크기가 큰 데이터들의 무결성을 보장하는 방법론 또는 가이드라인으로 이용될 것이라 판단된다. On the other hand, in relation to the block chain-based research, a block-chain-based service is being studied to satisfy various requirements according to current business and job types. Thus, in connection with the expected effect of the present invention, the present system will be used as a methodology or guideline to ensure the integrity of various large data such as the cloud environment.

한편, 본 기술의 사업화 전망과 관련하여, 클라우드 사용자 입장에서 보안사고 피해의 범위 식별을 위해 클라우드 서비스 제공자가 서비스 형식으로 제공해 주어야 하는 관련 정책이 마련된다면 사업화가 활발히 이루어질 수 있을 것으로 판단된다.As for the prospect of the commercialization of this technology, commercialization can be actively performed if a related policy that cloud service providers must provide in service form in order to identify the range of damage of security incident in the viewpoint of cloud users.

본 발명에 따른 데이터 저장 방법 및 암호화 방법은, 클라우드 환경에서 보안사고 발생 시, 사고 조사에 필요한 데이터를 블록체인을 이용하여 저장할 수 있다는 장점이 있다. The data storing method and the encryption method according to the present invention are advantageous in that, when a security incident occurs in a cloud environment, data necessary for an accident investigation can be stored using a block chain.

또한, 본 발명에 따른 데이터 저장 방법 및 암호화 방법은, 블록체인을 이용하여 저장하여 원활한 보안사고 조사 방법을 제공할 수 있다는 장점이 있다.In addition, the data storing method and the encryption method according to the present invention are advantageous in that a seamless security incident investigation method can be provided by storing the data using a block chain.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들은 별도의 소프트웨어 모듈로도 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.According to a software implementation, not only the procedures and functions described herein, but also each component may be implemented as a separate software module. Each of the software modules may perform one or more of the functions and operations described herein. Software code can be implemented in a software application written in a suitable programming language. The software code is stored in a memory and can be executed by a controller or a processor.

Claims (20)

클라우드 데이터를 블록체인을 이용하여 저장하는 방법에 있어서,
클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집 과정;
상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 과정;
블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 과정; 및
암호화된 데이터를 클라우드 서비스 제공자(CSP: Client Service Provider) 의 데이터베이스 내에 저장하는 데이터베이스 저장 과정을 포함하는, 데이터 저장 방법.
A method for storing cloud data using a block chain,
A data collecting step of temporarily collecting data and a log requested by a client service client (CSC) terminal;
A data encryption step of encrypting data requiring encryption among the data;
A block chain connection process of transmitting the pending data and the encrypted data by making a connection request to a block chain when there is data waiting to be stored in the block chain and encrypted data; And
And storing the encrypted data in a database of a CSP (Client Service Provider).
제1 항에 있어서,
상기 블록체인 연결 과정 이후에,
상기 암호화된 데이터와 해시 데이터가 전송되면, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 하는 블록 생성 과정을 포함하는 것을 특징으로 하는, 데이터 저장 방법.
The method according to claim 1,
After the block chain connection process,
Wherein the hash data is stored in the hash block as a hash block when the encrypted data and the hash data are transmitted and the encrypted data is stored as a data block in the data node. How to save.
제2 항에 있어서,
상기 블록체인 연결 과정 이후에,
상기 전송된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 전송된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성 과정이 수행되도록 하는 무결성(Integrity) 관리 과정을 더 포함하는 것을 특징으로 하는, 데이터 저장 방법.
3. The method of claim 2,
After the block chain connection process,
And an integrity management process for obtaining the hash value of the transmitted encrypted data through a hash function and then checking whether the hash is modulated by comparing the hash value with the transmitted hash data to perform the block generation process And storing the data.
제3 항에 있어서,
상기 블록체인 연결 과정 이후에,
상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리 과정을 더 포함하는, 데이터 저장 방법.
The method of claim 3,
After the block chain connection process,
Further comprising a node management step of identifying the number of authorized nodes and the node type in the CSP to join the block chain.
제4 항에 있어서,
상기 블록체인 연결 과정 이후에,
상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리 과정을 더 포함하는, 데이터 저장 방법.
5. The method of claim 4,
After the block chain connection process,
A fault tolerance management process is performed in which a branch due to a temporary network error occurs when the block is generated or a fault management process is performed to prevent the process of summing up a block from being put into a deadlock state, And storing the data.
제2 항에 있어서,
상기 데이터 암호화 과정은, 상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 알고리즘을 선택하고, 상기 알고리즘에 따라 상기 데이터를 암호화한 암호화 데이터와 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 저장하고,
상기 블록 생성 과정은,
블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단하는 ID 확인 과정;
상기 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득하는 해싱 데이터 획득 과정;
상기 CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여 해시 테이블을 생성하는 해시 테이블 생성 과정; 및
상기 해시 테이블에 기반하여 상기 해시 블록과 상기 데이터 블록을 생성하는 해시 블록/데이터 블록 생성 과정을 포함하는 것을 특징으로 하는, 데이터 저장 방법.
3. The method of claim 2,
The data encryption process selects an algorithm based on a service level agreement (SLA), a cost, and a time associated with the encryption, encrypts the encrypted data according to the algorithm, And CSP-based hashing data obtained by hashing the encrypted data,
The block generation process includes:
An ID checking step of determining whether or not a permission is granted based on the ID of the CSP requested to the block-chain system (BS);
A hashing data acquiring step of acquiring BS-based hashing data by performing BS-based hashing on the encrypted data;
A hash table generation step of generating a hash table by comparing the CSP-based hash data with the BS-based hash data; And
And a hash block / data block generating step of generating the hash block and the data block based on the hash table.
제6 항에 있어서,
상기 무결성 관리 과정은,
상기 해시 노드와 상기 데이터 노드에 동일한 인덱스로 저장된 블록을 검색하여 상기 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교하는 제1 비교 과정; 및
상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교하는 제2 비교 과정을 포함하고,
상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용하는 것을 특징으로 하는, 데이터 저장 방법.
The method according to claim 6,
The integrity management process includes:
A first comparing step of retrieving a block stored in the hash node and the data node at the same index and comparing the hash value of the hash block with the resultant value obtained by hashing the data stored in the data block; And
And comparing the hash value stored in the hash block with a hash value of data stored in the CSP environment when the result values match,
Wherein if the comparison values in the first comparison process and the second comparison process are all the same, the data stored in the data block is utilized as evidence data in the event of a security event, How to save.
클라우드 데이터를 블록체인을 이용하여 저장하는 클라우드 시스템에 있어서,
클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집부;
상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 관리부;
블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 관리부; 및
암호화된 데이터를 클라우드 서비스 제공자(CSP: Client Service Provider) 의 데이터베이스 내에 저장하는 데이터베이스 관리부를 포함하는, 클라우드 시스템.
1. A cloud system for storing cloud data using a block chain,
A data collecting unit for temporarily collecting data and a log requested by a client service client (CSC) terminal;
A data encryption management unit for encrypting data requiring encryption among the data;
A block chain connection management unit for making a connection request to a block chain and transmitting the pending data and the encrypted data when there is data waiting to be stored in the block chain and encrypted data; And
And a database management unit for storing the encrypted data in a database of a CSP (Client Service Provider).
제8 항에 있어서,
상기 블록체인 연결 관리부는,
상기 암호화된 데이터와 해시 데이터를 블록체인 네트워크로 전송하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 것을 특징으로 하는, 클라우드 시스템.
9. The method of claim 8,
Wherein the block chain connection management unit comprises:
Wherein the hash data is stored in the hash block as a hash block and the encrypted data is stored in the data node as a data block. .
제8 항에 있어서,
상기 데이터 암호화 관리부는,
상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 알고리즘을 선택하고, 상기 알고리즘에 따라 상기 데이터를 암호화한 암호화 데이터와 상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 저장하는 것을 특징으로 하는, 클라우드 시스템.
9. The method of claim 8,
The data encryption /
Selecting an algorithm based on a service level agreement (SLA), a cost and a time associated with the encryption, encrypting the encrypted data according to the algorithm, Lt; RTI ID = 0.0 > CSP-based hashed data. ≪ / RTI >
클라우드 데이터를 블록체인을 이용하여 저장하는 블록체인 네트워크 시스템에 있어서,
클라우드 서비스 제공자(CSP: Client Service Provider)의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록 생성부; 및
상기 수신된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 수신된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성부로 하여금 상기 해시 블록 및 상기 데이터 블록을 생성하도록 하는 무결성(Integrity) 관리부를 포함하는, 블록체인 네트워크 시스템.
1. A block-chain network system for storing cloud data using a block chain,
The hash data is stored in the hash block as a hash block, and the encrypted data is stored as a data block in the data node. A block generating unit for generating a control signal for controlling the storage unit; And
A hash value is obtained from the received encrypted data through a hash function and then the hash value is compared with the received hash data to check whether or not the data has been tampered with and the integrity of the hash block and the data block (Integrity) management unit.
제11 항에 있어서,
상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리부를 더 포함하는, 블록체인 네트워크 시스템.
12. The method of claim 11,
Further comprising a node management unit for identifying the number of authorized nodes and the node type in the CSP to join the block chain.
제12 항에 있어서,
상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리부를 더 포함하는, 블록체인 네트워크 시스템.
13. The method of claim 12,
Further includes a fault tolerance management unit for managing the block to be continuously generated by preventing a branch due to a temporary network error when the block is generated or preventing a procedure for the summing of blocks from falling into a deadlock state Block chain network system.
제11 항에 있어서,
상기 블록체인 연결 관리부로부터 수신된 암호화된 데이터는,
상기 암호화와 연관된 서비스 수준 규약(SLA: Service Level Agreement), 비용(Cost), 및 시간(Time)에 기반하여 선택된 알고리즘에 따라 암호화된 암호화 데이터; 및
상기 암호화된 데이터를 해싱한 CSP 기반 해싱 데이터를 포함하고,
상기 블록 생성부는,
블록체인 시스템(BS: Block-Chain System)에 요청한 상기 CSP의 ID에 기반하여 허용(permission) 여부를 판단하고,
상기 암호화 데이터에 대한 BS 기반 해싱을 수행하여 BS 기반 해싱 데이터를 획득하고,
상기 CSP 기반 해싱 데이터와 상기 BS 기반 해싱 데이터를 비교하여 해시 테이블을 생성하고,
상기 해시 테이블에 기반하여 상기 해시 블록과 상기 데이터 블록을 생성하는 것을 특징으로 하는, 블록체인 네트워크 시스템.
12. The method of claim 11,
Wherein the encrypted data received from the block chain connection management unit comprises:
Encrypted data encrypted according to an algorithm selected based on Service Level Agreement (SLA), Cost, and Time associated with the encryption; And
And CSP-based hashing data obtained by hashing the encrypted data,
Wherein the block generator comprises:
Determines whether permission is granted based on the ID of the CSP requested by the block-chain system (BS)
Performing BS based hashing on the encrypted data to obtain BS based hashing data,
Based hashing data and the BS-based hashing data to generate a hash table,
And generates the hash block and the data block based on the hash table.
제14 항에 있어서,
상기 무결성 관리부는,
상기 해시 노드와 상기 데이터 노드에 동일한 인덱스로 저장된 블록을 검색하여 상기 해시 블록의 해시 값과 상기 데이터 블록에 저장된 데이터를 해싱하여 나온 결과값을 비교하고,
상기 결과값이 일치하였을 때 상기 해시 블록에 저장된 상기 해시 값이 CSP 환경에 저장된 데이터의 해시 값과 일치하는지 비교하고,
상기 제1 비교 과정 및 상기 제2 비교 과정에서 비교된 값이 모두 일치하면, 무결성이 위배되지 않은 것으로 판단하여 보안사고 시에 상기 데이터 블록에 저장된 데이터를 증거 데이터로 활용하는 것을 특징으로 하는, 블록체인 네트워크 시스템.
15. The method of claim 14,
Wherein the integrity management unit comprises:
Searching a block stored in the hash node and the data node at the same index, comparing the hash value of the hash block with the resultant value obtained by hashing the data stored in the data block,
And comparing the hash value stored in the hash block with a hash value of data stored in the CSP environment when the result values match,
Wherein if the comparison results in the first comparison process and the second comparison process are all the same, the data stored in the data block is utilized as evidence data at the time of a security incident, Chain network system.
클라우드 데이터를 블록체인을 이용하여 저장하는 데이터 저장 시스템에 있어서,
클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하고, 상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 클라우드 서비스 제공자(CSP: Client Service Provider) 시스템; 및
상기 CSP 시스템의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록체인 네트워크 시스템을 포함하는, 데이터 저장 시스템.
CLAIMS 1. A data storage system for storing cloud data using a block chain,
A cloud service provider (CSP) system for temporarily collecting data and logs requested by a CSC (Terminal Service Client) terminal and encrypting data requiring encryption among the data; And
The hash data is stored as a hash block in the hash node, and the encrypted data is stored in the data node as a data block. The block chain network management unit receives the encrypted data and the hash data from the block chain connection management unit of the CSP system, Data storage system.
제16 항에 있어서,
상기 CSP 시스템은,
클라우드 서비스 사용자(CSC: Client Service Customer) 단말이 저장을 요청한 데이터 및 로그를 일시적으로 수집하는 데이터 수집부;
상기 데이터 중 암호화가 필요한 데이터에 대한 암호화를 수행하는 데이터 암호화 관리부;
블록체인에 저장하기 위해 대기 중인 데이터 및 암호화된 데이터가 있을 경우, 블록체인에 연결 요청을 하여 상기 대기 중인 데이터 및 암호화된 데이터를 전송하는 블록체인 연결 관리부; 및
암호화된 데이터를 상기 CSP 시스템의 데이터베이스 내에 저장하는 데이터베이스 관리부를 포함하는, 데이터 저장 시스템.
17. The method of claim 16,
In the CSP system,
A data collecting unit for temporarily collecting data and a log requested by a client service client (CSC) terminal;
A data encryption management unit for encrypting data requiring encryption among the data;
A block chain connection management unit for making a connection request to a block chain and transmitting the pending data and the encrypted data when there is data waiting to be stored in the block chain and encrypted data; And
And a database management unit for storing the encrypted data in the database of the CSP system.
제16 항에 있어서,
상기 블록체인 네트워크 시스템은,
상기 CSP 시스템의 블록체인 연결 관리부로부터 암호화된 데이터와 해시 데이터를 수신하여, 상기 해시 데이터는 해시 노드에 해시 블록으로 저장되고, 상기 암호화된 데이터는 데이터 노드에 데이터 블록으로 저장되도록 제어하는 블록 생성부; 및
상기 수신된 암호화된 데이터를 해시 함수를 통해 해시 값을 얻은 후, 상기 수신된 해시 데이터와의 비교를 통해 변조 여부를 확인하여, 상기 블록 생성부로 하여금 상기 해시 블록 및 상기 데이터 블록을 생성하도록 하는 무결성(Integrity) 관리부를 포함하는, 데이터 저장 시스템.
17. The method of claim 16,
The block-chain network system comprises:
The hash data is stored in the hash block as a hash block, and the encrypted data is stored in the data node as a data block. The block generation unit receives the encrypted data and the hash data from the block chain connection management unit of the CSP system, ; And
A hash value is obtained from the received encrypted data through a hash function and then the hash value is compared with the received hash data to check whether or not the data has been tampered with and the integrity of the hash block and the data block (Integrity) management unit.
제18 항에 있어서,
상기 블록체인 네트워크 시스템은,
상기 블록체인에 참가하고자 하는 상기 CSP 중 허가받은 노드 개수와 노드 타입을 식별하는 노드 관리부를 더 포함하는, 데이터 저장 시스템.
19. The method of claim 18,
The block-chain network system comprises:
Further comprising: a node manager for identifying the number of authorized nodes and the node type in the CSP to join the block chain.
제19 항에 있어서,
상기 블록체인 네트워크 시스템은,
상기 블록이 생성될 때 일시적인 네트워크 오류로 인한 분기가 발생하거나, 블록 생성의 합의 절차가 교착상태에 빠지는 것을 방지하여, 상기 블록이 계속 생성될 수 있도록 관리하는 결함 감내(Fault Tolerance) 관리부를 더 포함하는, 데이터 저장 시스템.
20. The method of claim 19,
The block-chain network system comprises:
Further includes a fault tolerance management unit for managing the block to be continuously generated by preventing a branch due to a temporary network error when the block is generated or preventing a procedure for the summing of blocks from falling into a deadlock state Data storage system.
KR1020170179218A 2017-12-26 2017-12-26 Method of storing data using block-chain and Cloud System using thereof KR102040170B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170179218A KR102040170B1 (en) 2017-12-26 2017-12-26 Method of storing data using block-chain and Cloud System using thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170179218A KR102040170B1 (en) 2017-12-26 2017-12-26 Method of storing data using block-chain and Cloud System using thereof

Publications (2)

Publication Number Publication Date
KR20190077765A true KR20190077765A (en) 2019-07-04
KR102040170B1 KR102040170B1 (en) 2019-11-27

Family

ID=67259627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170179218A KR102040170B1 (en) 2017-12-26 2017-12-26 Method of storing data using block-chain and Cloud System using thereof

Country Status (1)

Country Link
KR (1) KR102040170B1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077445A (en) 2018-12-20 2020-06-30 경희대학교 산학협력단 Blockchain-based service level agreement system and method of managing the same
CN111598567A (en) * 2020-05-07 2020-08-28 深圳创客区块链技术有限公司 Method, device and storage medium for preventing block chain large computing power attack
KR102151939B1 (en) * 2019-11-18 2020-09-04 주식회사 아이콘루프 Method for creating blockchain using patch transaction
KR102172903B1 (en) * 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 Database management system based on blockchain technology
WO2021085701A1 (en) * 2019-10-31 2021-05-06 주식회사 이스트게임즈 Device for processing security event using blockchain and smart contract, and method therefor
KR20210088222A (en) 2020-01-06 2021-07-14 서강대학교산학협력단 Method for preventing redundant data attack in a distributed cloud based on a blockchain
KR20210126453A (en) * 2020-04-11 2021-10-20 주식회사 퓨처글로벌 Block-chain based distributed data storage apparatus and method for storing large data
KR102316620B1 (en) * 2020-04-22 2021-10-25 장동인 Blockchain system based on relational database and managing method for blockchain based on relational database
KR102344933B1 (en) * 2020-10-08 2021-12-30 (주)바다플랫폼 Blockchain based data storage device with chain database
KR20230013462A (en) * 2021-07-19 2023-01-26 주식회사 자이솜 Data collection method and data collection system applied thereto
KR102544009B1 (en) * 2022-11-30 2023-06-15 주식회사 엔터프라이즈블록체인 Eletronic device for generating and managing data having integrity
US11852664B2 (en) 2020-02-24 2023-12-26 Electronics And Telecommunications Research Institute Power metering apparatus, power metering server, and power metering method based on blockchain

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102302757B1 (en) * 2020-02-21 2021-09-15 세종텔레콤 주식회사 Career information management platform based on blockchain
KR20210147491A (en) 2020-05-29 2021-12-07 (주)바다플랫폼 Blockchain network-based data storage device with chain database
KR102672013B1 (en) 2022-03-14 2024-06-04 계명대학교 산학협력단 Blockchain data storage method and storage management device for service provision
KR20240070363A (en) 2022-11-11 2024-05-21 계명대학교 산학협력단 Distributed storage management method, recording medium for perform it, and distributed storage management system
KR20240069571A (en) 2022-11-11 2024-05-20 계명대학교 산학협력단 Data query and recovery method based on blockchain, recording media and data query and recovery system to perform this

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101799343B1 (en) 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101795695B1 (en) * 2016-07-14 2017-12-01 주식회사 코인플러그 Method for providing archiving service and verification service of data transceived via messenger service and server using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101799343B1 (en) 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101795695B1 (en) * 2016-07-14 2017-12-01 주식회사 코인플러그 Method for providing archiving service and verification service of data transceived via messenger service and server using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xueping Liang et al, "ProvChain: A Blockchain-based Data Provenance Architecture in Cloud Environment with Enhanced Privacy and Availability"(2017.07.) *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077445A (en) 2018-12-20 2020-06-30 경희대학교 산학협력단 Blockchain-based service level agreement system and method of managing the same
WO2021085701A1 (en) * 2019-10-31 2021-05-06 주식회사 이스트게임즈 Device for processing security event using blockchain and smart contract, and method therefor
WO2021101040A1 (en) * 2019-11-18 2021-05-27 주식회사 아이콘루프 Method for generating blockchain by using patch transaction
KR102151939B1 (en) * 2019-11-18 2020-09-04 주식회사 아이콘루프 Method for creating blockchain using patch transaction
KR102172903B1 (en) * 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 Database management system based on blockchain technology
KR20210088222A (en) 2020-01-06 2021-07-14 서강대학교산학협력단 Method for preventing redundant data attack in a distributed cloud based on a blockchain
US11852664B2 (en) 2020-02-24 2023-12-26 Electronics And Telecommunications Research Institute Power metering apparatus, power metering server, and power metering method based on blockchain
KR20210126453A (en) * 2020-04-11 2021-10-20 주식회사 퓨처글로벌 Block-chain based distributed data storage apparatus and method for storing large data
KR102316620B1 (en) * 2020-04-22 2021-10-25 장동인 Blockchain system based on relational database and managing method for blockchain based on relational database
CN111598567A (en) * 2020-05-07 2020-08-28 深圳创客区块链技术有限公司 Method, device and storage medium for preventing block chain large computing power attack
CN111598567B (en) * 2020-05-07 2023-11-10 深圳创客区块链技术有限公司 Method, device and storage medium for preventing blockchain powerful attack
KR102344933B1 (en) * 2020-10-08 2021-12-30 (주)바다플랫폼 Blockchain based data storage device with chain database
KR20230013462A (en) * 2021-07-19 2023-01-26 주식회사 자이솜 Data collection method and data collection system applied thereto
KR102544009B1 (en) * 2022-11-30 2023-06-15 주식회사 엔터프라이즈블록체인 Eletronic device for generating and managing data having integrity
WO2024117670A1 (en) * 2022-11-30 2024-06-06 주식회사 엔터프라이즈블록체인 Server for generating and managing data with integrity and operating method thereof

Also Published As

Publication number Publication date
KR102040170B1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
KR102040170B1 (en) Method of storing data using block-chain and Cloud System using thereof
CN108322306B (en) Privacy protection-oriented cloud platform trusted log auditing method based on trusted third party
CN103098070B (en) For the methods, devices and systems of Data Position in monitoring network service
CN113742782B (en) Block chain access authority control method based on privacy protection and block chain system
US7958367B2 (en) Authentication system and apparatus
RU2531569C2 (en) Secure and private backup storage and processing for trusted computing and data services
US11546348B2 (en) Data service system
CN104506487B (en) The credible execution method of privacy policy under cloud environment
CN102624699A (en) Method and system for protecting data
CN105516110A (en) Mobile equipment secure data transmission method
CA3176858A1 (en) Data processing method and system
CN114372296B (en) Block chain-based user behavior data auditing method and system
CN112307501B (en) Big data system based on block chain technology, storage method and using method
JP4787080B2 (en) Distributed information sharing method and terminal device
CN112615847A (en) Data sharing and privacy protection method based on block chain
CN112291375A (en) Internet of things equipment access control method, Internet of things equipment and Internet of things system
CN113271366B (en) Data sharing system based on block chain and safety calculation
CN116455677B (en) Power regulation and control data leakage tracking method and device, electronic equipment and storage medium
CN112115101B (en) Method and system for determinacy deletion of data in cloud storage
De Carvalho et al. Secure cloud storage service for detection of security violations
CN116647326A (en) Block chain-based embedded gateway system
CN114969832B (en) Private data management method and system based on server-free architecture
Reniers et al. Authenticated and auditable data sharing via smart contract
CN113987475A (en) Distributed resource management system, distributed resource management method, credential information management system, and medium
CN114710319B (en) Decision judging method and system based on trusted computing

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