KR102307574B1 - Cloud data storage system based on blockchain and method for storing in cloud - Google Patents

Cloud data storage system based on blockchain and method for storing in cloud Download PDF

Info

Publication number
KR102307574B1
KR102307574B1 KR1020190143846A KR20190143846A KR102307574B1 KR 102307574 B1 KR102307574 B1 KR 102307574B1 KR 1020190143846 A KR1020190143846 A KR 1020190143846A KR 20190143846 A KR20190143846 A KR 20190143846A KR 102307574 B1 KR102307574 B1 KR 102307574B1
Authority
KR
South Korea
Prior art keywords
data
cloud
user
network
decryption key
Prior art date
Application number
KR1020190143846A
Other languages
Korean (ko)
Other versions
KR20210056866A (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 KR1020190143846A priority Critical patent/KR102307574B1/en
Publication of KR20210056866A publication Critical patent/KR20210056866A/en
Application granted granted Critical
Publication of KR102307574B1 publication Critical patent/KR102307574B1/en

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

본 발명은 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법에 관한 것이다. 상기 클라우드 데이터 저장 시스템은 블록체인 네트워크, 클라우드 저장소 및 클라우드 플랫폼을 구비하며, 상기 클라우드 플랫폼은 프라이빗 블록체인 네트워크인 하이퍼레저 패브릭 네트워크와 연동되어, 데이터는 암호화시켜 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화 키, 타임 스탬프, 사용자 ID와 사용자 인증서를 포함하는 체인 코드 및 데이터 전송 기록을 포함하는 트랜잭션을 생성하여 하이퍼레저 패브릭 네트워크의 블록체인 원장에 기록함으로써, 데이터를 암호화된 형태로 클라우드 저장소에 안전하게 저장시키는 것을 특징으로 한다.The present invention relates to a cloud data storage system and a data storage method based on a block chain. The cloud data storage system includes a blockchain network, a cloud storage, and a cloud platform, and the cloud platform is linked with a private blockchain network, Hyperledger Fabric network, to encrypt data and store it in the cloud storage, and to store the encrypted data in the encrypted data. By creating a transaction containing a chaincode and data transfer record including the decryption key, timestamp, user ID and user certificate for It is characterized by storing.

Description

블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법{Cloud data storage system based on blockchain and method for storing in cloud}Cloud data storage system based on blockchain and method for storing in cloud}

본 발명은 클라우드 데이터 저장 시스템에 관한 것으로서, 더욱 구체적으로는 블록체인을 기반으로 하여, 데이터는 암호화시켜 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화키는 하이퍼레저 패브릭의 블록체인 원장에 기록함으로써, 데이터를 클라우드에 안전하게 저장할 수 있도록 한 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법에 관한 것이다. The present invention relates to a cloud data storage system, and more specifically, based on a block chain, by encrypting data and storing it in the cloud storage, and recording the decryption key for the encrypted data in the blockchain ledger of Hyperledger Fabric. , relates to a cloud data storage system and data storage method based on a blockchain that allows data to be safely stored in the cloud.

최근, 통신 기술 및 모바일 단말에 대한 기술이 급속도로 발전함에 따라, 클라우드 서버에 데이터를 저장하는 다양한 형태의 데이터 저장 시스템들이 개발되어 사용되고 있다. 클라우드 서버의 클라우드 저장소에 저장된 데이터는 클라우드 서비스 사용자가 언제 어디서나 데이터를 다운로드받을 수 있을 뿐만 아니라, 대용량의 데이터도 저장 용량의 우려없이 저장가능하므로, 최근 사용이 증대되고 있는 실정이다. Recently, as communication technology and technology for mobile terminals rapidly develop, various types of data storage systems for storing data in a cloud server have been developed and used. Data stored in the cloud storage of the cloud server is a situation in which cloud service users can download data anytime and anywhere, as well as storing large amounts of data without worrying about the storage capacity, so the use is increasing in recent years.

하지만, 클라우드 데이터 저장 시스템은, 많은 사용자들에게 노출되어 있을 뿐만 아니라, 외부의 공격이나 해킹이 발생하는 경우 클라우드 저장소에 저장된 모든 데이터들이 한꺼번에 노출되어 버리는 문제점이 내재되어 있다. However, the cloud data storage system has a problem that not only is exposed to many users, but also all data stored in the cloud storage is exposed at once when an external attack or hacking occurs.

한편, 블록체인 네트워크는 네트워크에 참여하는 사용자들이 직접 데이터를 검증하고 합의하여 데이터를 분산 저장하는 것으로서, 중앙 관리 기관 없이 사용자들이 직접 거래할 수 있게 된다. 블록체인은 트랜잭션의 위조 및 변조가 어려우므로 데이터의 신뢰성을 보장받을 수 있을 뿐만 아니라 모든 사용자들이 동일한 블록체인 원장을 보유함으로써 누구나 열람할 수 있기 때문에 데이터의 투명성과 무결성을 보장하게 된다. On the other hand, in a blockchain network, users participating in the network directly verify and agree on data to distribute and store data, and users can directly transact without a central management authority. Since it is difficult to forge and falsify transactions, the blockchain not only guarantees the reliability of data, but also guarantees the transparency and integrity of the data because all users have the same blockchain ledger and can be viewed by anyone.

이러한 블록체인 네트워크는 퍼블릭(Public) 블록체인 네트워크와 프라이빗(Private) 블록체인 네트워크로 나뉘게 된다. 퍼블릭 블록체인 네트워크는 모든 데이터가 공개되며 누구나 네트워크에 참여하여 데이터를 검증하고 블록을 생성할 수 있는 노드가 될 수 있으며, 현재 비트코인 및 이더리움이 퍼블릭 블록체인 네트워크로 이루어진다. This blockchain network is divided into a public blockchain network and a private blockchain network. In a public blockchain network, all data is made public, and anyone can participate in the network and become a node that can verify data and create blocks. Currently, Bitcoin and Ethereum are made up of public blockchain networks.

한편, 프라이빗 블록체인 네트워크는 기업을 위하여 개발되었으며, 사적 블록체인, 폐쇄형 블록체인, 허가형 블록체인, 기업형 블록체인 또는 엔터프라이즈 블록체인이라고도 불리우며, 허가된 참여자 외의 거래 내역과 여러 행동(Action)은 공유되지 않고 추적할 수 없다. 그리고, 프라이빗 블록체인 네트워크에 참여하기 위하여, 한 명의 주체로부터 허가된 참여자만이 참여하여 블록을 생성할 수 있으며, 프라이빗 블록체인의 대표적인 사례로는 하이퍼레저 패브릭(Hyperledger Fabric)이 있다. 하이퍼레저 패브릭은 허락된 참여자만 블록체인 네트워크에 참여 가능하며 네트워크내에서 조직(Organization)을 구성하고 논리적 묶음(Channel)으로 서로 다른 원장의 공유가 가능하다. On the other hand, private blockchain networks are developed for companies, and are also called private blockchains, closed blockchains, permissioned blockchains, corporate blockchains, or enterprise blockchains. It is not shared and cannot be tracked. And, in order to participate in the private blockchain network, only participants authorized by one subject can participate and create a block, and a representative example of a private blockchain is Hyperledger Fabric. In Hyperledger Fabric, only permitted participants can participate in the blockchain network, and it is possible to configure an organization within the network and share different ledgers as a logical bundle (Channel).

앞서 설명한 바와 같이, 종래의 클라우드 서비스는 클라우드 서버가 공격당했을 때 클라우드 저장소에 저장된 데이터들이 노출될 위험이 매우 크다. 따라서, 본 발명은 블록체인 네트워크를 이용하여 클라우드 저장소에 저장된 데이터들을 안전하게 관리할 수 있도록 하는 방안을 제안하고자 한다. As described above, the conventional cloud service has a very high risk of data stored in the cloud storage being exposed when the cloud server is attacked. Accordingly, the present invention intends to propose a method for safely managing data stored in a cloud storage using a blockchain network.

한국공개특허공보 제 10-2018-0060044호Korean Patent Publication No. 10-2018-0060044 한국등록특허공보 제 10-1720268호Korean Patent Publication No. 10-1720268

전술한 문제점을 해결하기 위한 본 발명의 목적은 프라이빗 블록체인 네트워크인 하이퍼레저 패브릭과 연동되어, 데이터의 노출없이 클라우드에 데이터를 안전하게 저장할 수 있도록 하는 클라우드 데이터 저장 시스템을 제공하는 것이다.An object of the present invention to solve the above problems is to provide a cloud data storage system that is interlocked with Hyperledger Fabric, a private blockchain network, so that data can be safely stored in the cloud without data exposure.

본 발명의 다른 목적은 프라이빗 블록체인 네트워크인 하이퍼레저 패브릭과 연동되어, 클라우드 저장소에 데이터를 안전하게 저장할 수 있도록 하는 클라우드 데이터 저장 방법을 제공하는 것이다. Another object of the present invention is to provide a cloud data storage method that enables secure storage of data in cloud storage by interworking with Hyperledger Fabric, a private blockchain network.

전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템은, 사용자 인증된 노드들이 참여하는 블록체인 네트워크; 데이터를 저장하는 클라우드 저장소; 사용자 노드로부터 입력되는 데이터를 암호화하여 상기 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화 키를 상기 블록체인 네트워크의 블록체인 원장에 저장하며, 사용자 노드로부터의 데이터 요청에 따라 상기 복호화키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 클라우드 플랫폼;을 구비한다. A cloud data storage system based on a block chain according to the first aspect of the present invention for achieving the above-described technical problem includes: a block chain network in which user authenticated nodes participate; cloud storage to store data; The data input from the user node is encrypted and stored in the cloud storage, the decryption key for the encrypted data is stored in the block chain ledger of the block chain network, and the decryption key is used according to the data request from the user node. and a cloud platform that decrypts and provides the encrypted data.

전술한 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 상기 블록체인 네트워크는 사전 설정된 인증 기관에 의해 사용자 인증된 사용자들만이 노드로서 참여하는 프라이빗 블록체인 네트워크(Private Blockchain Network)로서, 특히 하이퍼레저 패브릭 네트워크(HyperLedger Fabric Network)인 것이 바람직하다. In the cloud data storage system based on the block chain according to the first aspect described above, the block chain network is a private block chain network in which only users authenticated by a preset authentication authority participate as nodes. As such, it is particularly preferable to use a HyperLedger Fabric Network.

전술한 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 상기 클라우드 플랫폼은, 사전 설정된 암호화 알고리즘을 이용하여 사용자 노드로부터 입력된 데이터를 암호화하여 상기 클라우드 저장소에 저장하는 데이터 암호화 모듈; 상기 데이터 암호화 모듈로부터 상기 데이터에 대한 복호화 키를 전달받고, 복호화 키를 포함하는 트랜잭션을 생성하여 상기 블록체인 네트워크의 블록체인 원장에 저장하는 트랜잭션 생성 모듈; 사용자 인증을 거친 후 데이터에 대한 트랜잭션의 복호화 키를 제공하는 트랜잭션 조회 모듈; 및 사용자 노드로부터의 데이터 요청에 따라, 클라우드 저장소에서 암호화된 데이터를 수신하고, 상기 트랜잭션 조회 모듈에 데이터에 대한 복호화 키를 요청하고, 상기 요청에 따라 전달받은 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 데이터 복호화 모듈;을 구비하는 것이 바람직하다. In the cloud data storage system based on the block chain according to the first aspect described above, the cloud platform encrypts data input from the user node using a preset encryption algorithm and stores the data in the cloud storage by encrypting the data encryption module. ; a transaction generation module that receives the decryption key for the data from the data encryption module, generates a transaction including the decryption key, and stores it in the block chain ledger of the block chain network; a transaction inquiry module that provides a decryption key for a transaction for data after user authentication; and receiving encrypted data from the cloud storage according to a data request from the user node, requesting a decryption key for the data from the transaction inquiry module, and using the decryption key received in response to the request to retrieve the encrypted data It is preferable to include a data decryption module that decrypts and provides the data.

전술한 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 상기 암호화 알고리즘은 암호화 키와 복호화 키가 동일한 AES 암호화 알고리즘인 것이 바람직하다. In the cloud data storage system based on the block chain according to the first aspect described above, the encryption algorithm is preferably an AES encryption algorithm in which the encryption key and the decryption key are the same.

전술한 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 상기 트랜잭션 생성 모듈이 생성한 트랜잭션은, 상기 데이터 암호화 모듈로부터 전달받은 데이터에 대한 복호화 키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하고, 상기 체인 코드는 상기 클라우드 플랫폼의 사용자 ID 및 블록체인 네트워크의 사용자 인증서를 포함하는 것이 바람직하다. In the cloud data storage system based on the block chain according to the first aspect, the transaction generated by the transaction generation module includes a decryption key, a time stamp, a data transmission record and A chain code is included, and the chain code preferably includes a user ID of the cloud platform and a user certificate of the blockchain network.

전술한 제1 특징에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 상기 클라우드 플랫폼은, 클라우드 서비스 사용자가 상기 클라우드 플랫폼에 등록하고 사용자 ID를 할당받도록 구성된 사용자 등록 모듈; 및 상기 등록된 사용자에 대하여 상기 블록체인 네트워크에 대한 사용자 인증서를 발급하고 상기 사용자의 단말이 블록체인 네트워크의 노드로서 참가하도록 하는 인증서 발급 모듈;을 구비하여, 사용자에 대한 등록 및 인증을 수행하는 것이 바람직하다. In the cloud data storage system based on the block chain according to the first aspect, the cloud platform includes: a user registration module configured to allow a cloud service user to register with the cloud platform and to be assigned a user ID; and a certificate issuing module for issuing a user certificate for the block chain network to the registered user and allowing the user's terminal to participate as a node of the block chain network; desirable.

본 발명의 제2 특징에 따른 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법은, (a) 사용자 노드로부터의 데이터 저장 요청에 따라, 사전 설정된 암호화 알고리즘을 이용하여 데이터를 암호화하고, 상기 암호화된 데이터를 클라우드 저장소에 저장하는 데이터 암호화 단계; (b) 상기 암호화된 데이터에 대한 복호화 키를 포함하는 트랜잭션을 생성하고 상기 트랜잭션을 블록체인 네트워크의 블록체인 원장에 기록하는 트랜잭션 생성 단계; (c) 사용자 노드로부터의 데이터 조회 요청에 따라, 클라우드 저장소로부터 암호화된 데이터를 수신하고, 상기 데이터에 대한 복호화키를 블록체인 네트워크의 블록체인 원장으로부터 조회하여 확인하고, 상기 확인된 복호화키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 데이터 복호화 단계; 를 구비한다. A method for storing data in a cloud platform based on a block chain according to the second aspect of the present invention comprises: (a) encrypting data using a preset encryption algorithm according to a data storage request from a user node, and Data encryption step of storing the data in the cloud storage; (b) generating a transaction including a decryption key for the encrypted data and recording the transaction in a blockchain ledger of a blockchain network; (c) Receive encrypted data from the cloud storage according to the data inquiry request from the user node, check the decryption key for the data from the blockchain ledger of the blockchain network, and use the confirmed decryption key a data decryption step of decrypting and providing the encrypted data; to provide

전술한 제2 특징에 따른 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법에 있어서, 상기 (b) 단계에서 생성되는 트랜잭션은, 상기 암호화된 데이터에 대한 복호화 키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하고, 상기 체인 코드는 상기 클라우드 플랫폼의 사용자 ID 및 블록체인 네트워크의 사용자 인증서를 포함하는 것이 바람직하다. In the method for storing data in a cloud platform based on the block chain according to the second feature described above, the transaction generated in step (b) includes a decryption key for the encrypted data, a time stamp, a data transmission record, and A chain code is included, and the chain code preferably includes a user ID of the cloud platform and a user certificate of the blockchain network.

전술한 제2 특징에 따른 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법은, 클라우드 플랫폼에 사용자를 등록하고 사용자 ID를 할당하는 단계; 및 등록된 사용자에 대하여 인증을 수행하여 블록체인 네트워크에 대한 사용자 인증서를 발급하여 상기 사용자의 단말이 노드로서 상기 블록체인 네트워크에 참여하도록 하는 단계;를 더 구비하는 것이 바람직하다. A method for storing data in a cloud platform based on a block chain according to the second aspect described above includes: registering a user in the cloud platform and assigning a user ID; and performing authentication on the registered user to issue a user certificate for the block chain network so that the user's terminal participates in the block chain network as a node.

전술한 구성을 갖는 본 발명에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템은, 데이터는 암호화하여 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화 키는 트랜잭션으로 생성하여 프라이빗 블록체인 네트워크인 하이퍼레저 패브릭의 블록체인 원장에 블록의 형태로 저장함으로써, 데이터를 암호화된 형태로 클라우드 저장소에 안전하게 저장할 수 있게 된다. The cloud data storage system based on the block chain according to the present invention having the above-described configuration encrypts data and stores it in the cloud storage, and the decryption key for the encrypted data is generated as a transaction to create a private blockchain network, Hyperledger. By storing in the form of blocks on Fabric’s blockchain ledger, data can be safely stored in cloud storage in encrypted form.

또한, 본 발명에 따른 클라우드 데이터 저장 시스템은, 모든 각각의 데이터들을 개별적으로 암호화하고, 그 기록과 복호화할 수 있는 복호화 키를 하이퍼레저 블록체인에 저장함으로써, 클라우드 저장소에 저장된 데이터들에 대한 보안성을 극대화시킬 수 있게 된다. In addition, the cloud data storage system according to the present invention encrypts all each data individually and stores the decryption key that can be recorded and decrypted in the Hyperledger blockchain, thereby providing security for data stored in the cloud storage. can be maximized.

또한, 본 발명에 따른 클라우드 데이터 저장 시스템은, 클라우드에 저장되는 각각의 데이터가 별도로 암호화되기 때문에, 외부의 공격이나 해킹으로부터 더 안전할 수 있고, 데이터의 입출력 기록이 모두 하이퍼레저 네트워크의 블록체인 원장에 블록의 형태로 저장되기 때문에 신뢰성을 높일 수 있다. In addition, in the cloud data storage system according to the present invention, since each data stored in the cloud is separately encrypted, it can be more secure from external attacks or hacking, and data input and output records are all recorded on the blockchain ledger of the hyperledger network. Since it is stored in the form of a block in the , reliability can be increased.

도 1은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템을 전체적으로 도시한 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 클라우드 플랫폼(2)의 구성을 개략적으로 도시한 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 클라우드 서비스 제공자와 클라우드 서비스 사용자가 맡는 피어의 역할과 각 피어가 구성하는 조직과 채널의 설정 방법을 설명하는 모식도이다.
도 4는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 데이터 암호화 모듈과 트랜잭션 생성 모듈에 의해 데이터를 암호화하여 저장하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 데이터 복호화 모듈과 트랜잭션 조회 모듈에 의해 데이터를 복호화하여 제공하는 과정을 도시한 흐름도이다.
1 is a block diagram showing the overall configuration of a cloud data storage system based on a block chain according to a preferred embodiment of the present invention.
2 is a block diagram schematically illustrating the configuration of a cloud platform 2 in a cloud data storage system based on a block chain according to a preferred embodiment of the present invention.
3 is a block-chain-based cloud data storage system according to a preferred embodiment of the present invention, the role of the peers that the cloud service provider and the cloud service user assume, and the method of setting the organization and channel configured by each peer It is a schematic diagram of
4 is a flowchart illustrating a process of encrypting and storing data by a data encryption module and a transaction generation module in a cloud data storage system based on a block chain according to a preferred embodiment of the present invention.
5 is a flowchart illustrating a process of decrypting and providing data by a data decryption module and a transaction inquiry module in a block chain-based cloud data storage system according to a preferred embodiment of the present invention.

본 발명에 따른 클라우드 데이터 저장 시스템은 프라이빗 블록체인 네트워크인 하이퍼레저 패브릭 네트워크와 연동되어, 데이터는 암호화시켜 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화 키, 사용자 ID 와 사용자 인증서를 포함하는 체인 코드 및 데이터 전송 기록을 포함하는 트랜잭션의 형태로 하이퍼레저 네트워크의 블록체인 원장에 기록함으로써, 데이터를 암호화된 형태로 클라우드 저장소에 안전하게 저장시키는 것을 특징으로 한다. The cloud data storage system according to the present invention is linked with the Hyperledger Fabric network, which is a private block chain network, encrypts data and stores it in the cloud storage, and a chain code including a decryption key for encrypted data, a user ID and a user certificate And by recording in the blockchain ledger of the Hyperledger network in the form of a transaction including data transmission record, it is characterized in that the data is safely stored in the cloud storage in an encrypted form.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법에 대하여 구체적으로 설명한다. Hereinafter, a cloud data storage system and a data storage method based on a block chain according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템을 전체적으로 도시한 구성도이다. 1 is a block diagram showing the overall configuration of a cloud data storage system based on a block chain according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 클라우드 데이터 저장 시스템(1)은, 클라우드 플랫폼(2), 클라우드 저장소(4), 사용자 단말들이 노드들(6)로 참여하는 블록체인 네트워크(도시되지 않음)를 포함한다. 상기 블록체인 네트워크는 프라이빗 블록체인 네트워크(Private Blockchain Network)인 하이퍼레저 패브릭 네트워크(HyperLedger Fabric Network)로 구성되는 것이 바람직하다. 따라서, 하이퍼레저 패브릭 네트워크로 구성되는 상기 블록체인 네트워크는 인증기관으로부터 인증되어 사용자 인증서(Ecert)를 발급받은 사용자들이 노드로 참여하게 된다. Referring to FIG. 1 , a cloud data storage system 1 according to the present invention includes a cloud platform 2 , a cloud storage 4 , and a blockchain network in which user terminals participate as nodes 6 (not shown) includes The blockchain network is preferably configured as a HyperLedger Fabric Network, which is a Private Blockchain Network. Accordingly, the blockchain network composed of the Hyperledger Fabric network is authenticated by a certification authority and users who have been issued a user certificate (Ecert) participate as nodes.

상기 클라우드 플랫폼(2)는 데이터 저장을 위하여 클라우드 서비스 제공자에 의해 제공되는 플랫폼으로서, 블록체인 네트워크와 연동되어 노드들로부터 제공되는 데이터들을 암호화하여 클라우드 저장소(4)에 저장하고 암호화된 데이터에 대한 복호화키는 트랜잭션으로 하이퍼레저 네트워크의 블록체인 원장(8)에 저장한다. The cloud platform 2 is a platform provided by a cloud service provider for data storage. It encrypts data provided from nodes by interworking with a blockchain network, stores it in the cloud storage 4, and decrypts the encrypted data. The key is stored in the blockchain ledger 8 of the Hyperledger network as a transaction.

도 2는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 클라우드 플랫폼(2)의 구성을 개략적으로 도시한 블록도이다. 도 2를 참조하면, 상기 클라우드 플랫폼(2)은, 인증서 발급 모듈(20), 오더링 서비스 모듈(21), 사용자 등록 모듈(22), 데이터 암호화 모듈(24), 트랜잭션 생성 모듈(25), 데이터 복호화 모듈(26), 트랜잭션 조회 모듈(27)을 구비한다. 클라우드 서비스 제공자는 사용자의 참여를 위하여 본 발명에 따른 클라우드 플랫폼(2)을 제공하고, 하이퍼레저 네트워크를 구성하여 컨소시움 블록체인의 주체가 된다. 이로써, 클라우드 서비스 제공자는 클라우드 플랫폼(2)을 통해 인증 기관(Certification Authority; 'CA')의 역할을 하며 사용자를 인증하고 인증서를 발급한다. 또한, 클라우드 서비스 제공자는 플랫폼(2)을 통해 오더링 서비스를 제공하는 Orderer의 역할을 맡는다. 또한, 클라우드 서비스 제공자는 플랫폼의 Organization 내부에서 하이퍼레저 패브릭 네트워크의 MSP(Membership Service Provider)의 역할을 맡아, 사용자에 대한 인증 및 검증을 수행하고, 또한 플랫폼 안에서 데이터 암호화 및 복호화기능을 제공한다. 2 is a block diagram schematically showing the configuration of a cloud platform 2 in a cloud data storage system based on a block chain according to a preferred embodiment of the present invention. Referring to FIG. 2 , the cloud platform 2 includes a certificate issuance module 20 , an ordering service module 21 , a user registration module 22 , a data encryption module 24 , a transaction creation module 25 , and data A decryption module 26 and a transaction inquiry module 27 are provided. The cloud service provider provides the cloud platform 2 according to the present invention for user participation, configures a hyperledger network, and becomes the subject of the consortium block chain. Accordingly, the cloud service provider acts as a Certification Authority ('CA') through the cloud platform 2 , authenticates the user, and issues a certificate. In addition, the cloud service provider assumes the role of an orderer providing an ordering service through the platform 2 . In addition, the cloud service provider plays the role of MSP (Membership Service Provider) of the Hyperledger Fabric network within the organization of the platform, performs authentication and verification for users, and also provides data encryption and decryption functions within the platform.

클라우드 서비스 제공자에 의해 운영되는 클라우드 플랫폼(2)은 전술한 구성으로 이루어져, 상기 클라우드 저장소(4)와 블록체인 네트워크와 연동된다. 클라우드 플랫폼(2)은 사용자 등록 모듈(22) 및 인증서 발급 모듈(20)을 통해 MSP(Membership Service Provider) 및 블록체인 네트워크의 인증 기관(CA)으로서의 역할을 하여, 클라우드 서비스 사용자에 대한 등록 및 인증 절차를 수행하게 된다. 상기 사용자 등록 모듈(22)은 클라우드 서비스 사용자에 대한 사용자 등록을 수행하고 사용자에 대한 사용자 ID 및 비밀번호를 등록한다. 상기 인증서 발급 모듈(20)은 사용자 등록된 사용자에게 인증 절차를 진행하고 블록체인 네트워크에서 사용하는 사용자 인증서(Ecert)를 발급한다. 상기 인증서 발급 모듈은 하이퍼레저 패브릭 네트워크가 제공하는 인증 기관과 연계하여, 하이퍼레저 패브릭 네트워크에서 사용하는 사용자 인증서의 발급을 수행하게 된다. 상기 인증서 발급 모듈을 통해 인증서를 발급받은 사용자가 클라우드 플랫폼에 접속하여 다른 사용자들과 같은 조직내에서 피어(peer)를 이루게 된다. 즉, 클라우드 서비스 사용자는 플랫폼을 통해 클라우드 서비스에 가입하게 되면 자신에게 할당된 클라우드 저장소에 따라 하이퍼레저 패브릭의 조직에 참가하게 된다. The cloud platform 2 operated by the cloud service provider is configured as described above, and is interlocked with the cloud storage 4 and the blockchain network. The cloud platform 2 serves as a MSP (Membership Service Provider) and a Certificate Authority (CA) of the blockchain network through the user registration module 22 and the certificate issuance module 20 to register and authenticate cloud service users procedure will be performed. The user registration module 22 performs user registration for a cloud service user and registers a user ID and password for the user. The certificate issuing module 20 performs an authentication procedure for a user registered as a user and issues a user certificate (Ecert) used in the block chain network. The certificate issuing module performs issuance of a user certificate used in the Hyperledger Fabric network in conjunction with a certification authority provided by the Hyperledger Fabric network. A user who has been issued a certificate through the certificate issuance module accesses the cloud platform and forms a peer within the same organization with other users. That is, when a cloud service user subscribes to a cloud service through the platform, they participate in the organization of Hyperledger Fabric according to the cloud storage allocated to them.

한편, 동일한 사용자의 다른 기기라면, 동일한 사용자 ID로 플랫폼에 접속하여 다른 인증서를 발급받고, 다른 기기의 피어들과 채널을 형성하여 원장을 공유한다. On the other hand, if it is another device of the same user, it accesses the platform with the same user ID, is issued a different certificate, and forms a channel with peers of other devices to share the ledger.

도 3은 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 클라우드 서비스 제공자와 클라우드 서비스 사용자가 맡는 피어의 역할과 각 피어가 구성하는 조직과 채널의 설정 방법을 설명하는 모식도이다. 도 3을 참조하면, 클라우드 서비스 사용자는 하이퍼레저 네트워크에 참여하며 조직에 참가하게 되는데, 해당 조직은 클라우드 저장소의 분류에 따른다. 도 3의 1번 클라우드 저장소(Cloud 1 : Organization 1)에 할당된 사용자는 1번 조직에, 2번 클라우드 저장소(Cloud 2 : Organization 2)에 할당된 사용자는 2번 조직에 해당된다. 이때 동일한 사용자가 다른 기기로 클라우드 서비스에 참가하기 위해서는 동일한 사용자 ID로 별도의 하이퍼레저의 사용자 인증서를 발급받는데, 다른 기기에서 저장한 데이터의 복호화 키를 확인하기 위하여 같은 사용자의 다른 기기들은 원장을 공유하는 채널을 형성하여 복호화 키를 확인할 수 있다. 피어가 조직에 속한 이후 임의로 선택된 한 피어가 트랜잭션을 보증하는 Endorser 역할을 하며, 다른 피어들은 Committer 역할을 하여 트랜잭션 실행 결과의 타당성을 확인하는 역할을 하게 된다. 3 is a block-chain-based cloud data storage system according to a preferred embodiment of the present invention, the role of the peers that the cloud service provider and the cloud service user assume, and the method of setting the organization and channel configured by each peer It is a schematic diagram of Referring to FIG. 3 , a cloud service user participates in a hyperledger network and participates in an organization, and the organization follows the classification of cloud storage. A user assigned to the No. 1 cloud storage (Cloud 1 : Organization 1) of FIG. 3 corresponds to the No. 1 organization, and a user assigned to the No. 2 cloud storage (Cloud 2 : Organization 2) corresponds to the No. 2 organization. At this time, in order for the same user to participate in the cloud service with a different device, a separate Hyperledger user certificate is issued with the same user ID. You can check the decryption key by forming a channel to After a peer belongs to an organization, a randomly selected peer acts as an Endorser that guarantees a transaction, and other peers act as a Committer to check the validity of the transaction execution result.

따라서, 사용자 등록된 클라우드 서비스 사용자는 사용자 ID와 비밀번호를 통해 클라우드 플랫폼에 접속하며, 사용자 인증서(Ecert)를 통해 하이퍼레저 네트워크 참여자인지를 검증받게 된다. Accordingly, the registered user of the cloud service accesses the cloud platform through a user ID and password, and is verified as a hyperledger network participant through a user certificate (Ecert).

상기 오더링 서비스 모듈(21)은 트랜잭션의 결과를 블록체인과 상태 DB에 기록하는 순서를 제어하는 오더링 서비스(Ordering Service)를 제공한다. 상기 클라우드 서비스 제공자는 상기 클라우드 플랫폼의 상기 오더링 서비스 모듈을 통해 Orderer, 즉 Ordering Service Provider의 역할을 맡게 된다. The ordering service module 21 provides an ordering service that controls the order in which transaction results are recorded in the block chain and state DB. The cloud service provider assumes the role of an orderer, that is, an ordering service provider, through the ordering service module of the cloud platform.

상기 데이터 암호화 모듈(24)은 사전 설정된 암호화 알고리즘을 이용하여 클라우드 서비스 사용자가 제공한 데이터를 암호화하고, 암호화된 데이터는 상기 클라우드 저장소(4)에 저장한다. 상기 트랜잭션 생성 모듈(25)은, 상기 데이터 암호화 모듈에 의해 암호화된 데이터에 대한 복호화키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하는 트랜잭션을 생성하고, 생성된 트랜잭션은 블록체인 네트워크의 블록체인에 블록의 형태로 저장된다. 한편, 블록체인 네트워크는 상기 트랜잭션이 하이퍼레저 네트워크의 블록체인 원장에 블록 형태로 저장되면, 블록체인과 상태(State) DB가 갱신된다. The data encryption module 24 encrypts data provided by the cloud service user using a preset encryption algorithm, and the encrypted data is stored in the cloud storage 4 . The transaction generating module 25 generates a transaction including a decryption key, a time stamp, a data transmission record, and a chain code for data encrypted by the data encryption module, and the generated transaction is a block chain of a block chain network. stored in the form of blocks. On the other hand, in the blockchain network, when the transaction is stored in block form in the blockchain ledger of the Hyperledger network, the blockchain and the state DB are updated.

상기 데이터 복호화 모듈(26)은 클라우드 서비스 사용자로부터 데이터가 요청되면, 클라우드 저장소로부터 암호화된 데이터를 내려 받고, 해당 데이터에 대한 트랜잭션의 조회 요청을 상기 트랜잭션 조회 모듈(37)에 전달한다. 상기 조회 요청에 따라, 상기 트랜잭션 조회 모듈(37)로부터 복호화키를 받고, 복호화키를 이용하여 상기 암호화된 데이터를 복호화하여 사용자에게 전송한다. 상기 트랜잭션 조회 모듈(27)은 상기 데이터 복호화 모듈로부터 트랜잭션 조회 요청이 발생되면, 상기 데이터 복호화 모듈로부터 사용자 ID와 인증서(Ecert)를 제공받고 이를 이용하여 체인코드로 본인 검증하고 해당 트랜잭션의 복호화키를 확인하고, 확인된 복호화키를 데이터 복호화 모듈로 제공한다. When data is requested from a cloud service user, the data decryption module 26 downloads encrypted data from the cloud storage and transmits a transaction inquiry request for the data to the transaction inquiry module 37 . In response to the inquiry request, a decryption key is received from the transaction inquiry module 37, the encrypted data is decrypted using the decryption key and transmitted to the user. When a transaction inquiry request is generated from the data decryption module, the transaction inquiry module 27 receives a user ID and a certificate (Ecert) from the data decryption module, uses them to verify identity with a chaincode, and obtains the decryption key of the corresponding transaction It checks and provides the confirmed decryption key to the data decryption module.

한편, 본 발명에 따른 시스템에서의 플랫폼의 일 실시 형태는, 데이터 암호화시에는 암호화키와 복호화키가 동일한 대칭형 AES 암호화 알고리즘을 사용하며, 암호화시 생성된 복호화키는 트랜잭션 생성 모듈을 통해 하이퍼레저 네트워크의 블록체인 원장에 저장된다. 그리고, 데이터를 복호화할 때는 트랜잭션의 체인코드에 포함되어 있는 인증서 정보 및 플랫폼의 사용자 ID를 이용하여 본인 인증 과정을 거친 뒤, 블록체인에 저장되어 있는 트랜잭션을 불러오게 된다. On the other hand, in an embodiment of the platform in the system according to the present invention, a symmetric AES encryption algorithm in which the encryption key and the decryption key are the same when encrypting data is used, and the decryption key generated during encryption is transmitted to the Hyperledger network through a transaction generation module. stored in the blockchain ledger of And, when data is decrypted, the transaction stored in the block chain is called up after going through a self-authentication process using the certificate information included in the chaincode of the transaction and the user ID of the platform.

도 4는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 데이터 암호화 모듈과 트랜잭션 생성 모듈에 의해 데이터를 암호화하여 저장하는 과정을 도시한 흐름도이다. 도 4를 참조하면, 상기 클라우드 플랫폼의 데이터 암호화 모듈은 사용자로부터 클라우드 저장소에 저장할 데이터를 수신하면(단계 400), AES 암호화 알고리즘을 이용하여 암호화/복호화 키를 생성하고(단계 410), 암호화/복호화 키를 사용하여 데이터를 암호화하여 클라우드 저장소에 저장하고(단계 420), 암호화/복호화 키를 트랜잭션 생성 모듈에 전달한다(단계 430). 상기 암호화/복호화 키를 전달받은 상기 트랜잭션 생성 모듈은 플랫폼에서의 사용자 ID 및 하이퍼레저 네트워크의 사용자 인증서를 포함하는 체인 코드를 작성하고(단계 440), 암호화/복호화 키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하는 트랜잭션을 생성하고(단계 450), 상기 트랜잭션을 블록의 형태로 하이퍼레저 네트워크의 블록체인 원장에 기록하여 저장한다(단계 460). 4 is a flowchart illustrating a process of encrypting and storing data by a data encryption module and a transaction creation module in a cloud data storage system based on a block chain according to a preferred embodiment of the present invention. Referring to FIG. 4 , when the data encryption module of the cloud platform receives data to be stored in the cloud storage from the user (step 400), it generates an encryption/decryption key using the AES encryption algorithm (step 410), and encrypts/decrypts The data is encrypted using the key and stored in the cloud storage (step 420), and the encryption/decryption key is passed to the transaction creation module (step 430). Upon receiving the encryption/decryption key, the transaction creation module creates a chain code including a user ID in the platform and a user certificate of the Hyperledger network (step 440), and generates an encryption/decryption key, time stamp, data transmission record and A transaction including a chain code is generated (step 450), and the transaction is recorded and stored in the block chain ledger of the Hyperledger network in the form of a block (step 460).

도 5는 본 발명의 바람직한 실시예에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템에 있어서, 데이터 복호화 모듈과 트랜잭션 조회 모듈에 의해 데이터를 복호화하여 제공하는 과정을 도시한 흐름도이다. 도 5를 참조하면, 데이터 복호화 모듈이 사용자로부터 특정 데이터에 대한 조회를 요청받으면(단계 500), 트랜잭션 조회 모듈에게 트랜잭션 조회를 요청한다(단계 510).5 is a flowchart illustrating a process of decrypting and providing data by a data decryption module and a transaction inquiry module in a block chain-based cloud data storage system according to a preferred embodiment of the present invention. Referring to FIG. 5 , when the data decryption module receives a request for inquiry for specific data from the user (step 500), it requests a transaction inquiry from the transaction inquiry module (step 510).

상기 트랜잭션 조회 모듈은 체인 코드에 포함된 사용자 ID 및 사용자 인증서로 사용자를 인증하고(단계 520), 트랜잭션 내의 복호화키를 확인하고 복호화키를 데이터 복호화 모듈에게 전송한다(단계 530). 복호화키를 전송받은 데이터 복호화 모듈은 클라우드 저장소에서 암호화된 데이터를 수신하고(단계 540), 상기 수신된 암호화된 데이터를 상기 복호화 키를 이용하여 복호화하여(단계 550) 사용자에게 전송한다(단계 560).The transaction inquiry module authenticates the user with the user ID and user certificate included in the chain code (step 520), checks the decryption key in the transaction, and transmits the decryption key to the data decryption module (step 530). The data decryption module that has received the decryption key receives encrypted data from the cloud storage (step 540), decrypts the received encrypted data using the decryption key (step 550) and transmits it to the user (step 560) .

전술한 데이터 암호화 모듈 및 데이터 복호화 모듈에 의해 클라우드 저장소에 저장되는 모든 데이터는 AES 암호화 알고리즘을 사용하여 각각 다른 암호화/복호화 키로 암호화되어 클라우드 저장소에 저장된다. 따라서, 클라우드가 공격받더라도 각각의 파일에 대한 복호화 키가 필요하기 때문에 데이터의 복호화가 어렵게 된다. 또한, 복호화 키는 하이퍼레저 블록체인 네트워크의 블록체인 원장에 저장되어 있기 때문에 데이터의 위·변조가 어렵고 트랜잭션의 저장 및 조회 기록이 전부 남기 때문에 보안 사고를 예방할 수 있게 된다. 따라서, 기존의 클라우드 서비스는 서버를 공격당했을 때 클라우드 저장소에 저장된 데이터가 노출될 위험이 매우 크지만, 본 발명에 따른 블록체인을 기반으로 한 클라우드 데이터 저장 시스템은 개별 데이터를 암호화하고 복호화 키를 블록체인 네트워크에 저장하기 때문에 신뢰성이 우수하다. All data stored in the cloud storage by the above-described data encryption module and data decryption module are encrypted with different encryption/decryption keys using the AES encryption algorithm and stored in the cloud storage. Therefore, even if the cloud is attacked, decryption of data becomes difficult because a decryption key for each file is required. In addition, since the decryption key is stored in the blockchain ledger of the Hyperledger blockchain network, it is difficult to falsify or falsify data, and it is possible to prevent security accidents because all transaction storage and inquiry records remain. Therefore, the existing cloud service has a very high risk of exposure of data stored in the cloud storage when the server is attacked, but the cloud data storage system based on the block chain according to the present invention encrypts individual data and blocks the decryption key. Because it is stored in the chain network, it has excellent reliability.

이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. In the above, the present invention has been described with respect to the preferred embodiment thereof, but this is merely an example and does not limit the present invention, and those of ordinary skill in the art to which the present invention pertains without departing from the essential characteristics of the present invention. It will be appreciated that various modifications and applications not exemplified above in the scope are possible. In addition, differences related to such modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.

1 : 클라우드 데이터 저장 시스템
2 : 클라우드 플랫폼
4 : 클라우드 저장소
6 : 블록체인 네트워크의 피어 노드
8 : 블록체인 네트워크의 블록체인 원장
20 : 인증서 발급 모듈
21 : 오더링 서비스 모듈
22 : 사용자 등록 모듈
24 : 데이터 암호화 모듈
25 : 트랜잭션 생성 모듈
26 : 데이터 복호화 모듈
27 : 트랜잭션 조회 모듈
1: Cloud data storage system
2: Cloud Platform
4: Cloud storage
6: Peer nodes in the blockchain network
8: Blockchain Ledger of Blockchain Networks
20: Certificate issuance module
21: Ordering service module
22: user registration module
24: data encryption module
25: transaction creation module
26: data decryption module
27: Transaction Lookup Module

Claims (10)

사용자 인증된 노드들이 참여하는 블록체인 네트워크;
데이터를 저장하는 클라우드 저장소;
사용자 노드로부터 입력되는 데이터를 암호화하여 상기 클라우드 저장소에 저장하고, 암호화된 데이터에 대한 복호화 키를 상기 블록체인 네트워크의 블록체인 원장에 저장하며, 사용자 노드로부터의 데이터 요청에 따라 상기 복호화키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 클라우드 플랫폼;을 구비하고,
상기 클라우드 플랫폼은,
사전 설정된 암호화 알고리즘을 이용하여 사용자 노드로부터 입력된 데이터를 암호화하여 상기 클라우드 저장소에 저장하는 데이터 암호화 모듈;
상기 데이터 암호화 모듈로부터 상기 데이터에 대한 복호화 키를 전달받고, 복호화 키를 포함하는 트랜잭션을 생성하여 상기 블록체인 네트워크의 블록체인 원장에 저장하는 트랜잭션 생성 모듈;
데이터 복호화 모듈로부터 특정 데이터에 대한 복호화 키가 요청되면, 상기 요청된 데이터에 대한 트랜잭션을 블록체인 원장으로부터 추출하고, 상기 추출된 트랜잭션에 포함된 복호화 키를 데이터 복호화 모듈로 제공하는 트랜잭션 조회 모듈; 및
사용자 노드로부터의 특정 데이터에 대한 조회 요청에 따라, 클라우드 저장소에서 암호화된 데이터를 수신하고, 상기 트랜잭션 조회 모듈에 상기 특정 데이터에 대한 복호화 키를 요청하고, 상기 요청에 따라 전달받은 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 데이터 복호화 모듈;를 구비하고,
상기 트랜잭션 생성 모듈이 생성한 트랜잭션은,
상기 데이터 암호화 모듈로부터 전달받은 데이터에 대한 복호화 키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하고, 상기 체인 코드는 상기 클라우드 플랫폼의 사용자 ID 및 블록체인 네트워크의 사용자 인증서를 포함하는 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 데이터 저장 시스템.
a blockchain network in which user-authenticated nodes participate;
cloud storage to store data;
The data input from the user node is encrypted and stored in the cloud storage, the decryption key for the encrypted data is stored in the block chain ledger of the block chain network, and the decryption key is used according to the data request from the user node. and a cloud platform that decrypts and provides the encrypted data;
The cloud platform is
a data encryption module for encrypting data input from the user node using a preset encryption algorithm and storing the data in the cloud storage;
a transaction generation module that receives the decryption key for the data from the data encryption module, generates a transaction including the decryption key, and stores it in the block chain ledger of the block chain network;
When a decryption key for specific data is requested from the data decryption module, a transaction inquiry module for extracting a transaction for the requested data from the blockchain ledger, and providing the decryption key included in the extracted transaction to the data decryption module; and
Receive encrypted data from the cloud storage according to a query request for specific data from a user node, request a decryption key for the specific data from the transaction inquiry module, and use the received decryption key according to the request and a data decryption module that decrypts and provides the encrypted data;
The transaction generated by the transaction creation module is
It includes a decryption key, a time stamp, a data transmission record, and a chain code for the data received from the data encryption module, wherein the chain code includes a user ID of the cloud platform and a user certificate of a block chain network A cloud data storage system based on blockchain.
제1항에 있어서, 상기 블록체인 네트워크는 사전 설정된 인증 기관에 의해 사용자 인증된 사용자들만이 피어 노드(peer node)로서 참여하는 프라이빗 블록체인 네트워크(Private Blockchain Network)로서, 하이퍼레저 패브릭 네트워크(Hyperledger Fabric Network)인 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 데이터 저장 시스템. The Hyperledger Fabric network according to claim 1, wherein the blockchain network is a Private Blockchain Network in which only users authenticated by a preset certification authority participate as peer nodes. Network), a cloud data storage system based on blockchain. 삭제delete 제1항에 있어서, 상기 암호화 알고리즘은 암호화 키와 복호화 키가 동일한 AES 암호화 알고리즘인 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 데이터 저장 시스템. The cloud data storage system according to claim 1, wherein the encryption algorithm is an AES encryption algorithm in which the encryption key and the decryption key are the same. 삭제delete 제1항에 있어서, 상기 클라우드 플랫폼은,
클라우드 서비스 사용자가 상기 클라우드 플랫폼에 등록하고 사용자 ID를 할당받도록 구성된 사용자 등록 모듈; 및
상기 등록된 사용자에 대하여 상기 블록체인 네트워크에 대한 사용자 인증서를 발급하고 상기 사용자의 단말이 블록체인 네트워크의 피어 노드로서 참가하도록 하는 인증서 발급 모듈;
을 구비하여, 블록체인 네트워크에 대한 MSP(Membership Service Provider)의 역할을 수행하여 사용자에 대한 등록 및 인증을 수행하는 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 데이터 저장 시스템.
According to claim 1, wherein the cloud platform,
a user registration module configured to allow a cloud service user to register with the cloud platform and be assigned a user ID; and
a certificate issuing module for issuing a user certificate for the block chain network to the registered user and allowing the user's terminal to participate as a peer node of the block chain network;
A cloud data storage system based on a block chain, characterized in that it performs the role of MSP (Membership Service Provider) for the block chain network and performs registration and authentication for the user.
블록체인 네트워크와 연동된 클라우드 플랫폼에서의 데이터 저장 방법은,
(a) 사용자 노드로부터의 데이터 저장 요청에 따라, 사전 설정된 암호화 알고리즘을 이용하여 데이터를 암호화하고, 상기 암호화된 데이터를 클라우드 저장소에 저장하는 데이터 암호화 단계;
(b) 상기 암호화된 데이터에 대한 복호화 키를 포함하는 트랜잭션을 생성하고 상기 트랜잭션을 블록체인 네트워크의 블록체인 원장에 기록하는 트랜잭션 생성 단계; 및
(c) 사용자 노드로부터의 데이터 조회 요청에 따라, 클라우드 저장소로부터 암호화된 데이터를 수신하고, 상기 데이터에 대한 복호화키를 블록체인 네트워크의 블록체인 원장으로부터 조회하여 확인하고, 상기 확인된 복호화키를 이용하여 상기 암호화된 데이터를 복호화하여 제공하는 데이터 복호화 단계;를 구비하고,
상기 (b) 단계에서 생성되는 트랜잭션은,
상기 암호화된 데이터에 대한 복호화 키, 타임 스탬프, 데이터 전송 기록 및 체인 코드를 포함하고, 상기 체인 코드는 상기 클라우드 플랫폼의 사용자 ID 및 블록체인 네트워크의 사용자 인증서를 포함하는 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법.
The data storage method in the cloud platform linked with the blockchain network is,
(a) a data encryption step of encrypting data using a preset encryption algorithm according to a data storage request from a user node, and storing the encrypted data in a cloud storage;
(b) generating a transaction including a decryption key for the encrypted data and recording the transaction in a blockchain ledger of a blockchain network; and
(c) Receive encrypted data from the cloud storage according to the data inquiry request from the user node, check the decryption key for the data from the blockchain ledger of the blockchain network, and use the confirmed decryption key a data decryption step of decrypting and providing the encrypted data to
The transaction generated in step (b) is,
It includes a decryption key, time stamp, data transmission record, and chain code for the encrypted data, wherein the chain code includes a user ID of the cloud platform and a user certificate of the blockchain network. How to store data on a cloud platform with
삭제delete 제7항에 있어서, 상기 클라우드 플랫폼에서의 데이터 저장 방법은,
클라우드 플랫폼에 사용자를 등록하고 사용자 ID를 할당하는 단계; 및
등록된 사용자에 대하여 인증을 수행하여 블록체인 네트워크에 대한 사용자 인증서를 발급하여 상기 사용자의 단말이 노드로서 상기 블록체인 네트워크에 참여하도록 하는 단계;
를 구비하는 것을 특징으로 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법.
The method of claim 7, wherein the data storage method in the cloud platform comprises:
registering a user in the cloud platform and assigning a user ID; and
performing authentication on a registered user to issue a user certificate for the blockchain network so that the user's terminal participates in the blockchain network as a node;
A data storage method in a cloud platform based on a block chain, characterized in that it comprises a.
제7항에 있어서, 상기 블록체인 네트워크는 사전 설정된 인증 기관에 의해 사용자 인증된 사용자들만이 노드로서 참여하는 프라이빗 블록체인 네트워크(Private Blockchain Network)로서, 하이퍼레저 패브릭 네트워크(Hyperledger Fabric Network)인 것을 특징으로 하는 블록체인을 기반으로 한 클라우드 플랫폼에서의 데이터 저장 방법. The method of claim 7, wherein the blockchain network is a private blockchain network in which only users authenticated by a preset authentication authority participate as nodes, and is a Hyperledger Fabric Network. A method of storing data in a cloud platform based on a blockchain.
KR1020190143846A 2019-11-11 2019-11-11 Cloud data storage system based on blockchain and method for storing in cloud KR102307574B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190143846A KR102307574B1 (en) 2019-11-11 2019-11-11 Cloud data storage system based on blockchain and method for storing in cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190143846A KR102307574B1 (en) 2019-11-11 2019-11-11 Cloud data storage system based on blockchain and method for storing in cloud

Publications (2)

Publication Number Publication Date
KR20210056866A KR20210056866A (en) 2021-05-20
KR102307574B1 true KR102307574B1 (en) 2021-09-30

Family

ID=76142894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143846A KR102307574B1 (en) 2019-11-11 2019-11-11 Cloud data storage system based on blockchain and method for storing in cloud

Country Status (1)

Country Link
KR (1) KR102307574B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220407689A1 (en) * 2021-06-16 2022-12-22 Cisco Technology, Inc. Key sharing for media frames using blockchain
KR20230070772A (en) 2021-11-15 2023-05-23 서강대학교산학협력단 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system
KR20230105608A (en) 2022-01-04 2023-07-11 이차용 Sports training system based on block chain and artificial intelligence, sports training method and sports matching platfom for using the same

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930846B (en) * 2020-09-15 2021-02-23 支付宝(杭州)信息技术有限公司 Data processing method, device and equipment
KR102629579B1 (en) * 2021-08-31 2024-01-30 (주)에스유지 internet of things platform-based control system for management of underground facility
KR20240003621A (en) * 2022-07-01 2024-01-09 주식회사 에이나 System of issuing and using otac-based mobile id
CN115208906A (en) * 2022-07-08 2022-10-18 深圳市汇云通讯科技有限公司 Video management method, video management system and video management terminal based on block chain
US11949802B1 (en) 2022-11-29 2024-04-02 Pusan National University Industry-University Cooperation Foundation Blockchain-based platform system for interworking with one machine-to-machine(oneM2M) and lightweight machine-to-machine (LWM2M), and method of implementing blockchain-based platform
KR102560613B1 (en) * 2022-11-29 2023-07-27 부산대학교 산학협력단 Blockchain-based platform system for interworking with onem2m and lwm2m, and method for implementing a blockchain-based platform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101720268B1 (en) 2015-10-26 2017-03-27 (주)아이알엠 Medical Imaging Cloud Database Building and Reading Method for Protecting Patient Information
KR102032924B1 (en) 2016-11-28 2019-10-16 나라시스템 Security System for Cloud Computing Service
KR102016730B1 (en) * 2017-05-24 2019-09-03 라온시큐어(주) Authentification methods and system based on programmable blockchain and one-id
KR102042339B1 (en) * 2018-02-23 2019-11-07 에이치닥 테크놀로지 아게 Method and system for encrypted communication between devices based on the block chain system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alevtina Dubovitskaya 4명, Secure and Trustable Electronic Medical Records Sharing using Blockchain, AMIA annual symposium proceedings. Vol. 2017, American Medical Informatics Association (2017.)*
Yunru Zhang 외 2명, BaDS: Blockchain-Based Architecture for Data Sharing with ABS and CP-ABE in IoT, Wireless Communications and Mobile Computing 2018 (2018.)*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220407689A1 (en) * 2021-06-16 2022-12-22 Cisco Technology, Inc. Key sharing for media frames using blockchain
KR20230070772A (en) 2021-11-15 2023-05-23 서강대학교산학협력단 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system
KR20230105608A (en) 2022-01-04 2023-07-11 이차용 Sports training system based on block chain and artificial intelligence, sports training method and sports matching platfom for using the same

Also Published As

Publication number Publication date
KR20210056866A (en) 2021-05-20

Similar Documents

Publication Publication Date Title
KR102307574B1 (en) Cloud data storage system based on blockchain and method for storing in cloud
US11720891B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
JP7121459B2 (en) Blockchain authentication via hard/soft token verification
CN109377198B (en) Signing system based on multi-party consensus of alliance chain
CN108418680B (en) Block chain key recovery method and medium based on secure multi-party computing technology
KR102025409B1 (en) Data access management system based on blockchain and method thereof
US20230299938A9 (en) System for privacy protection during iot secure data sharing and method thereof
US10567370B2 (en) Certificate authority
CN110046521A (en) Decentralization method for secret protection
CN110059503B (en) Traceable social information anti-leakage method
KR20180115779A (en) How to Implement a Block Chain for Controlling and Distributing Digital Content
CN109728903B (en) Block chain weak center password authorization method using attribute password
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
JP2001326632A (en) Distribution group management system and method
WO2020050390A1 (en) Right holder terminal, user terminal, right holder program, user program, content utilization system, and content utilization method
CN109962890A (en) A kind of the authentication service device and node access, user authen method of block chain
KR102410006B1 (en) Method for creating decentralized identity able to manage user authority and system for managing user authority using the same
CN112423302A (en) Wireless network access method, terminal and wireless access equipment
CN117200966A (en) Trusted authorization data sharing method based on distributed identity and alliance chain
JP2023540739A (en) A method for secure, traceable, and privacy-preserving digital currency transfers with anonymity revocation on a distributed ledger
KR20210020851A (en) Method for performing backup and recovery private key in consortium blockchain network, and device using them
KR100883899B1 (en) Method and System for three-party authenticated key exchange using smart cards
TWM595288U (en) Peer-to-peer authority management system based on manager self-issued tickets
Bećirović et al. Blockchain Redaction in Self-Sovereign Identity

Legal Events

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