KR20230070772A - Blockchain based cloud storage system and the method of controlling access right in the cloud storage system - Google Patents

Blockchain based cloud storage system and the method of controlling access right in the cloud storage system Download PDF

Info

Publication number
KR20230070772A
KR20230070772A KR1020210156700A KR20210156700A KR20230070772A KR 20230070772 A KR20230070772 A KR 20230070772A KR 1020210156700 A KR1020210156700 A KR 1020210156700A KR 20210156700 A KR20210156700 A KR 20210156700A KR 20230070772 A KR20230070772 A KR 20230070772A
Authority
KR
South Korea
Prior art keywords
blockchain
cloud storage
key
data
symmetric key
Prior art date
Application number
KR1020210156700A
Other languages
Korean (ko)
Inventor
장주욱
이태림
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020210156700A priority Critical patent/KR20230070772A/en
Publication of KR20230070772A publication Critical patent/KR20230070772A/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
    • 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/604Tools and structures for managing or administering access control systems
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

본 발명은 접근 권한 제어가 가능한 블록체인 기반의 클라우드 스토리지 시스템에 관한 것이다. 상기 블록체인 기반의 클라우드 스토리지 시스템은, 블록체인을 갖는 복수 개의 사용자 노드들을 구비하는 블록체인 네트워크; 데이터에 대한 접근 권한을 갖는 사용자들의 속성들을 포함하는 접근 제어 트리를 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 속성 기반 암호화된 대칭키를 상기 블록체인 네트워크의 블록체인에 저장하는 키 관리자 노드; 상기 대칭키를 이용하여 암호화된 데이터를 저장하는 상기 클라우드 스토리지;를 구비하여, 대칭키로 암호화된 데이터는 클라우드 스토리지에 저장되고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장되는 것을 특징으로 한다.The present invention relates to a blockchain-based cloud storage system capable of access authority control. The blockchain-based cloud storage system includes a blockchain network having a plurality of user nodes having a blockchain; An access control tree including attributes of users having access to data is provided, a symmetric key is generated, the symmetric key is attribute-based encrypted using the access control tree, and the attribute-based encrypted symmetric key is A key manager node that stores in the blockchain of the blockchain network; The cloud storage for storing data encrypted using the symmetric key; the data encrypted with the symmetric key is stored in the cloud storage, and the symmetric key encrypted based on the attribute using the access control tree is a block of the blockchain network. It is characterized by being stored on the chain.

Description

블록체인 기반 클라우드 스토리지 시스템 및 상기 시스템에서의 접근 권한 제어 방법{Blockchain based cloud storage system and the method of controlling access right in the cloud storage system} Blockchain based cloud storage system and method of controlling access right in the system {Blockchain based cloud storage system and the method of controlling access right in the cloud storage system}

본 발명은 블록체인 기반 클라우드 스토리지 시스템 및 상기 시스템에서의 효율적인 접근 권한 제어 방법에 관한 것으로서, 더욱 구체적으로는 블록체인을 기반으로 한 클라우드 스토리지에 저장되는 데이터를 속성 기반 암호화(CP-ABE)와 대칭키 알고리즘을 사용하여 암호화하는 방식을 사용함으로써, 속성 기반 암호화의 특징인 동일한 속성을 가진 사용자들과의 암호화된 데이터 공유 특성을 가지면서 암호화 및 복호화에 대한 처리 시간을 감소시켜 효율적으로 데이터를 클라우드 스토리지에 저장할 수 있도록 한 블록체인 기반 클라우드 스토리지 시스템 및 접근 권한 제어 방법에 관한 것이다. The present invention relates to a blockchain-based cloud storage system and an efficient access authority control method in the system, and more specifically, data stored in a blockchain-based cloud storage is symmetric with attribute-based encryption (CP-ABE) By using an encryption method using a key algorithm, while having the characteristics of sharing encrypted data with users having the same attributes, which is a characteristic of attribute-based encryption, the processing time for encryption and decryption is reduced, and data is efficiently stored in cloud storage. It is about a blockchain-based cloud storage system and a method for controlling access rights.

최근, 통신 기술 및 모바일 단말에 대한 기술이 급속도로 발전함에 따라, 클라우드 서버에 데이터를 저장하는 다양한 형태의 데이터 저장 시스템들이 개발되어 사용되고 있다. 클라우드 서버의 클라우드 스토리지에 저장된 데이터는 클라우드 서비스 사용자가 언제 어디서나 데이터를 다운로드받을 수 있을 뿐만 아니라, 대용량의 데이터도 저장 용량의 우려없이 저장 가능하므로, 최근 그 서비스 및 사용이 증대되고 있는 실정이다. Recently, with the rapid development of communication technology and technology for mobile terminals, various types of data storage systems for storing data in cloud servers have been developed and used. Data stored in the cloud storage of the cloud server not only allows cloud service users to download data anytime, anywhere, but also stores large amounts of data without worrying about storage capacity.

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

따라서, 블록체인 네트워크 기술과 클라우드 데이터 저장 시스템을 결합하여 구성된 블록체인 기반 클라우드 스토리지는 데이터를 클라우드 스토리지에 저장하고, 데이터의 해시값을 블록체인 네트워크에 저장시킴으로써, 저장된 데이터의 무결성을 보장하고, 기존의 블록체인 네트워크의 저장 용량의 한계성을 해결하여 대용량의 데이터를 효율적으로 저장할 수 있는 방안을 제시하였다. Therefore, the blockchain-based cloud storage configured by combining the blockchain network technology and the cloud data storage system stores data in the cloud storage and stores the hash value of the data in the blockchain network, thereby guaranteeing the integrity of the stored data and proposed a way to efficiently store large amounts of data by solving the limitations of the storage capacity of the blockchain network.

하지만, 클라우드 데이터 저장 시스템은, 많은 사용자들에게 노출되어 있을 뿐만 아니라, 외부의 공격이나 해킹이 발생하는 경우 클라우드 스토리지에 저장된 모든 데이터들이 한꺼번에 노출되어 버리는 문제점이 내재되어 있다. 이러한 문제점을 해결하기 위하여, 클라우드 스토리지에 저장되는 데이터들을 암호화시키는 방안이 제시되고 있다. However, the cloud data storage system is not only exposed to many users, but also has a problem in that all data stored in the cloud storage is exposed at once when an external attack or hacking occurs. In order to solve this problem, a method of encrypting data stored in cloud storage has been proposed.

한국등록특허공보 제 10-2307574호는 “블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법”에 관한 것으로서, 데이터는 암호화시켜 클라우드 스토리지에 저장하고, 암호화된 데이터에 대한 복호화 키는 하이퍼레저 패브릭의 블록체인 원장에 기록함으로써, 데이터를 클라우드 스토리지에 안전하게 저장할 수 있도록 한 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법을 제시하였다. Korean Registered Patent Publication No. 10-2307574 relates to “blockchain-based cloud data storage system and data storage method”, data is encrypted and stored in cloud storage, and the decryption key for the encrypted data is stored in Hyperledger A cloud data storage system and data storage method based on a block chain that can safely store data in cloud storage by recording it in the block chain ledger of fabric is presented.

한편, 데이터를 클라우드 스토리지에 안전하게 저장시키기 위하여, 데이터에 대한 다양한 암호화 방법이 제안되고 있다. 특히, 클라우드 스토리지에 저장된 데이터가 의료 정보, 군사 기밀 또는 민감한 개인 정보 등과 같이, 제3자에게 유출되어서는 안되는 민감한 정보들을 포함하는 데이터들인 경우, 해당 데이터들을 클라우드 스토리지에 저장하는 경우 모든 데이터들을 암호화시켜야 할 뿐만 아니라, 수많은 복호화 키가 필요하며, 이러한 키를 공유하였을 때 키의 유출 가능성도 배제할 수 없는 문제가 발생하게 된다. Meanwhile, in order to safely store data in cloud storage, various encryption methods for data have been proposed. In particular, if the data stored in the cloud storage is data that includes sensitive information that should not be leaked to a third party, such as medical information, military secrets, or sensitive personal information, all data is encrypted when the data is stored in the cloud storage. In addition, many decryption keys are required, and when such keys are shared, the possibility of key leakage arises.

따라서, 클라우드 스토리지에 저장된 데이터가 제3자에게 유출되어서는 안되는 민감 정보인 경우, 데이터에 대한 접근 권한을 제어할 수 있도록 하는 속성 기반 암호화(Ciphertext-Policy Attribute Based Encryption: CP-ABE) 알고리즘을 사용할 수 있다. 속성 기반 암호화 알고리즘은 데이터에 대한 접근 권한을 표현한 접근 제어 트리를 사전에 설정한다. 그리고, 접근 제어 트리를 이용하여 데이터를 암호화시켜 저장하며, 데이터를 복호화하는 경우 자신의 속성을 기반으로 하여 비밀키를 발급받은 후, 그 비밀키를 이용하여 암호화된 데이터의 접근 제어 트리(Access Tree) 구조를 만족하면 복호화가 가능하게 된다. 여기서, 접근 제어 트리 구조란 AND, OR 연산들과 속성들로 이루어진 트리 구조이며, 비밀키에도 그 속성에 대한 정보들이 들어있기 때문에 복호화가 가능하다. 따라서, 이러한 접근 제어 트리 구조를 이용하여 암호화된 데이터들에 대한 접근 제어가 가능하다. 따라서, 데이터를 속성 기반 암호화를 함으로써, 접근 제어 트리를 만족하는 속성을 갖는 사용자만이 데이터를 복호화할 수 있게 되어, 데이터에 대한 접근을 제어할 수 있게 된다. Therefore, if the data stored in the cloud storage is sensitive information that must not be leaked to a third party, the Ciphertext-Policy Attribute Based Encryption (CP-ABE) algorithm can be used to control access to the data. can The attribute-based encryption algorithm pre-sets an access control tree that expresses access rights to data. In addition, data is encrypted and stored using an access control tree, and when data is decrypted, a secret key is issued based on its own attribute, and then the access control tree (Access Tree) of the encrypted data using the secret key ) structure, decryption is possible. Here, the access control tree structure is a tree structure composed of AND and OR operations and attributes, and since the secret key contains information about the attributes, decryption is possible. Therefore, it is possible to control access to encrypted data using this access control tree structure. Therefore, by performing attribute-based encryption on data, only users having attributes that satisfy the access control tree can decrypt data, thereby controlling access to data.

이와 관련하여, 한국공개특허공보 제 10-2021-0030534호는 “블록체인 네트워크를 기반으로 한 의약품 관리 시스템”에 관한 것으로서, 블록체인 네트워크를 구성하는 노드에서 의약품 및 의약품의 거래에 대한 데이터가 발생되면, 해당 노드는 데이터를 자신의 고유한 속성을 이용하여 데이터에 속성 기반의 암호화 알고리즘을 적용하여 암호화시킨 후, 암호화된 데이터를 포함하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하고, 블록체인 네트워크에서 사전 설정된 합의 과정을 통하여 블록을 생성하여 블록체인에 기록하여 공유하는 기술을 제안하였다. In this regard, Korean Patent Laid-open Publication No. 10-2021-0030534 relates to “medicine management system based on blockchain network”, where data on medicines and drug transactions are generated in nodes constituting the blockchain network. After the node encrypts the data by applying an attribute-based encryption algorithm to the data using its own attributes, the node creates a transaction containing the encrypted data and propagates it to the blockchain network. We proposed a technology to create a block through a pre-set consensus process, record it in the block chain, and share it.

전술한 특허에서는, 각 노드에게 고유한 속성을 부여하고, CP-ABE 알고리즘을 적용하여 모든 데이터들을 속성을 이용하여 암호화 및 복호화시킴으로써, 기존 블록체인 특성인 투명성과 데이터의 무결성뿐만 아니라, 동시에 개인정보 보호 및 데이터에 대한 접근 제어까지 할 수 있게 된다. In the above-mentioned patent, by giving each node a unique attribute and applying the CP-ABE algorithm to encrypt and decrypt all data using the attribute, not only transparency and data integrity, which are characteristics of the existing block chain, but also personal information It can even protect and control access to data.

하지만, 이와 같이 속성 기반 암호화를 사용하는 경우, 암호화를 하려는 데이터의 크기가 커지거나 접근 제어 트리의 노드수가 많아질수록 암호화 및 복호화에 걸리는 시간이 증대되는 문제가 발생한다. 속성 기반 암호화 방법은 일반적인 대칭키 알고리즘을 이용한 암호화 방법에 비해 암호화 및 복호화의 시간이 적게는 10배 많게는 100 배 이상 소요될 수 있다. 특히, 대용량 데이터를 저장하는 경우, 속성 기반 암호화를 하는 과정에서 많은 오버헤드(overhead)가 발생하게 된다. 더 나아가, 블록체인을 이용한 클라우드 스토리지에서 데이터를 속성 기반 암호화함으로써 암호화 및 복호화에 걸리는 시간이 증가하게 되고, 이로 인해 클라우드 스토리지의 성능이 저하되는 문제점을 발생하게 된다. However, when attribute-based encryption is used, a problem occurs in that the time required for encryption and decryption increases as the size of data to be encrypted increases or the number of nodes in the access control tree increases. The attribute-based encryption method may take at least 10 times as much as 100 times as much time for encryption and decryption as compared to an encryption method using a general symmetric key algorithm. In particular, when storing large amounts of data, a lot of overhead occurs in the process of attribute-based encryption. Furthermore, attribute-based encryption of data in cloud storage using a block chain increases the time required for encryption and decryption, which causes a problem in that the performance of cloud storage deteriorates.

한국등록특허공보 제 10-2307574호Korean Registered Patent Publication No. 10-2307574 한국공개특허공보 제 10-2021-0030534호Korean Patent Publication No. 10-2021-0030534

전술한 문제점을 해결하기 위한 본 발명의 목적은 대칭키 알고리즘과 속성 기반 암호화 알고리즘을 이용하여 데이터를 암호화하여 블록체인 기반 클라우드 스토리지에 데이터를 안전하게 저장하고 사용자의 접근 제어를 할 수 있도록 함과 동시에 데이터의 암호화 및 복호화의 처리 속도를 향상시킬 수 있도록 함으로써, 블록체인 기반 클라우드 스토리지의 성능을 향상시킬 수 있도록 한 블록체인 기반 클라우드 스토리지 시스템 및 상기 시스템에서의 데이터 접근 권한 제어 방법을 제공하는 것을 목적으로 한다. An object of the present invention to solve the above problems is to encrypt data using a symmetric key algorithm and an attribute-based encryption algorithm to safely store data in a blockchain-based cloud storage and to control user access while at the same time Its purpose is to provide a blockchain-based cloud storage system that can improve the performance of blockchain-based cloud storage by improving the processing speed of encryption and decryption and a method for controlling data access authority in the system. .

전술한 기술적 과제를 달성하기 위한 본 발명의 제1 특징에 따른 블록체인 기반의 클라우드 스토리지 시스템은, 블록체인을 갖는 복수 개의 사용자 노드들을 구비하는 블록체인 네트워크; 데이터에 대한 접근 권한을 갖는 사용자들의 속성들을 포함하는 접근 제어 트리를 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 속성 기반 암호화된 대칭키를 상기 블록체인 네트워크의 블록체인에 저장하는 키 관리자 노드; 상기 대칭키를 이용하여 암호화된 데이터를 저장하는 상기 클라우드 스토리지;를 구비하여, 대칭키로 암호화된 데이터를 클라우드 스토리지에 저장하고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장한다. A block chain-based cloud storage system according to a first aspect of the present invention for achieving the above technical problem is a block chain network having a plurality of user nodes having a block chain; An access control tree including attributes of users having access to data is provided, a symmetric key is generated, the symmetric key is attribute-based encrypted using the access control tree, and the attribute-based encrypted symmetric key is A key manager node that stores in the blockchain of the blockchain network; The cloud storage for storing data encrypted using the symmetric key; the data encrypted with the symmetric key is stored in the cloud storage, and the symmetric key encrypted based on the attribute using the access control tree is a block of the blockchain network. store on chain

전술한 제1 특징에 따른 블록체인 기반의 클라우드 스토리지 시스템에 있어서, 상기 사용자 노드는 키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화에 필요한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고, 상기 복호화된 대칭키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 상기 클라우드 스토리지에 저장하거나, 상기 복호화된 대칭키를 이용하여 상기 클라우스 스토리지에 저장된 암호화된 데이터를 복호화하는 것이 바람직하다. In the blockchain-based cloud storage system according to the first feature described above, the user node provides its own attributes to a key manager node, receives a private key and a public key required for attribute-based encryption from the key manager node, Decrypt the attribute-based encrypted symmetric key stored in the blockchain using the issued secret key, encrypt data using the decrypted symmetric key, store the encrypted data in the cloud storage, or use the decrypted symmetric key. Preferably, the encrypted data stored in the cloud storage is decrypted using the key.

본 발명의 제2 특징에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법은, (a) 키 관리자 노드가 데이터에 대한 접근 권한을 갖는 사용자들의 속성을 포함하는 접근 제어 트리를 사전 등록하여 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 상기 속성 기반 암호화된 대칭키를 블록체인 네트워크의 블록체인에 저장하는 단계; (b) 블록체인 네트워크를 구성하는 사용자 노드가 대칭키를 이용하여 암호화된 데이터를 클라우드 스토리지에 저장하는 단계; 및 (c) 블록체인 네트워크를 구성하는 사용자 노드가 클라우드 스토리지에 저장된 암호화된 데이터를 대칭키를 이용하여 복호화하는 단계;를 구비하고, 대칭키로 암호화된 데이터를 클라우드 스토리지에 저장하고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장한다. A method for controlling access rights in a blockchain-based cloud storage system according to a second aspect of the present invention includes (a) a key manager node pre-registering an access control tree including attributes of users having access rights to data, generating a symmetric key, attribute-based encryption of the symmetric key using the access control tree, and storing the attribute-based encrypted symmetric key in a block chain of a blockchain network; (b) storing encrypted data in a cloud storage using a symmetric key by a user node constituting a blockchain network; and (c) the user node constituting the blockchain network decrypting the encrypted data stored in the cloud storage using a symmetric key, storing the encrypted data with the symmetric key in the cloud storage, and creating an access control tree. The attribute-based encrypted symmetric key is stored in the block chain of the block chain network.

전술한 제2 특징에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법에 있어서, 상기 (b) 단계는, 상기 블록체인 네트워크를 구성하는 사용자 노드가, 키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화에 필요한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고, 상기 복호화된 대칭키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 상기 클라우드 스토리지에 저장하는 것이 바람직하다. In the access authority control method in a blockchain-based cloud storage system according to the second feature described above, in the step (b), the user node constituting the blockchain network provides its properties to the key manager node. and receives a private key and a public key required for attribute-based encryption from the key manager node, decrypts the attribute-based encrypted symmetric key stored in the blockchain using the issued private key, and uses the decrypted symmetric key Preferably, data is encrypted and the encrypted data is stored in the cloud storage.

전술한 제2 특징에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법에 있어서, 상기 (b) 단계는, 상기 사용자 노드가, 키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화에 필요한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고, 상기 복호화된 대칭키를 이용하여 상기 클라우드 스토리지에 저장된 암호화된 데이터를 복호화하는 것이 바람직하다. In the access authority control method in a blockchain-based cloud storage system according to the second feature described above, in the step (b), the user node provides its properties to a key manager node, and from the key manager node A private key and a public key required for attribute-based encryption are issued, the attribute-based encrypted symmetric key stored in the blockchain is decrypted using the issued private key, and the encrypted symmetric key stored in the cloud storage is encrypted using the decrypted symmetric key. It is desirable to decrypt the recorded data.

본 발명에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 데이터 접근 권한 제어 방법은, 대칭키 알고리즘을 이용하여 데이터를 암호화시키고 암호화된 데이터를 클라우드 스토리지에 저장함으로써, 속성 기반 암호화 방버바에 비하여 매우 빠른 속도로 데이터를 암호화 및 복호화시킬 수 있게 되어 클라우드 스토리지의 처리 성능을 월등히 향상시킬 수 있게 된다. The data access authority control method in a blockchain-based cloud storage system according to the present invention encrypts data using a symmetric key algorithm and stores the encrypted data in cloud storage, which is very fast compared to the attribute-based encryption method. As data can be encrypted and decrypted, the processing performance of cloud storage can be greatly improved.

또한, 본 발명에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 데이터 접근 권한 제어 방법은, 접근 제어 트리를 이용하여 대칭키를 속성 기반 암호화시켜 블록체인 네트워크의 블록체인에 저장함으로써, 키 노출을 방지함과 동시에 암호화된 데이터를 클라우드 스토리지에 안전하게 저장 및 관리할 수 있게 된다. In addition, the data access authority control method in a blockchain-based cloud storage system according to the present invention prevents key exposure by encrypting a symmetric key based on an attribute using an access control tree and storing it in a blockchain of a blockchain network. At the same time, encrypted data can be safely stored and managed in cloud storage.

또한, 본 발명에 따른 블록체인 기반의 클라우드 스토리지 시스템에서의 데이터 접근 권한 제어 방법은, 데이터를 암호화시킨 대칭키를 접근 제어 트리를 이용하여 속성 기반 암호화시키고, 접근 제어 트리를 만족하는 속성을 가진 사용자 노드에게만 암호화된 대칭키를 복호화시킬 수 있도록 함으로써, 데이터에 대한 사용자의 접근 권한을 제어할 수 있게 된다. In addition, in the method for controlling data access rights in a blockchain-based cloud storage system according to the present invention, a symmetric key that encrypts data is encrypted based on attributes using an access control tree, and a user having attributes that satisfy the access control tree By allowing only the node to decrypt the encrypted symmetric key, it is possible to control the user's access authority to the data.

이와 같이 본 발명에 따른 접근 권한 제어 방법 및 시스템은, 속성 기반 암호화 알고리즘과 대칭키 알고리즘을 모두 적절하게 사용함으로써, 속성 기반 암호화의 접근 제어 방식에 대한 장점과 대칭키 알고리즘의 시간적인 처리 속도의 장점을 모두 취할 수 있게 된다. 즉, 본 발명에 따른 접근 권한 제어 방법은, 클라우드 스토리지에 저장된 암호화된 데이터를 접근 권한을 갖는 사용자만이 복호화할 수 있도록 제어할 수 있을 뿐만 아니라, 암호화 및 복호화에 소요되는 시간을 감소시켜 처리 속도를 증가시킴으로써 클라우드 스토리지의 처리 성능을 향상시킬 수 있게 된다. As described above, the access right control method and system according to the present invention appropriately uses both the attribute-based encryption algorithm and the symmetric key algorithm, thereby providing the advantages of the access control method of attribute-based encryption and the temporal processing speed of the symmetric key algorithm. can take all of them. That is, the access authority control method according to the present invention not only controls the encrypted data stored in the cloud storage so that only users having access authority can decrypt it, but also reduces the time required for encryption and decryption to speed up processing. By increasing , it is possible to improve the processing performance of cloud storage.

한편, 암호화 및 복호화에 걸리는 시간은, 속성 기반 암호화의 경우 데이터의 크기와 접근 제어 트리의 노드 수에 비례하여 증가하고, 대칭키 알고리즘의 경우 데이터의 크기에만 영향을 받는데, 대칭키 알고리즘을 이용하는 방법이 속성 기반 암호화 방법보다 통상적으로 시간적으로 적게는 10배, 많게는 100배 이상 빠른 처리속도를 갖는다. 따라서, 본 발명에서는 암호화할 데이터는 대칭키로 암호화함으로써 처리 속도면에서 시간적인 이득을 얻게 된다. 또한, 본 발명에서는 대칭키를 속성 기반 암호화하여 블록체인 네트워크에 공유함으로써, 대칭키 자체는 128bits 또는 256bits의 아주 작은 용량이므로 속성 기반 암호화의 장점인 접근 제어 특성을 그대로 가질 수 있게 된다. 따라서, 본 발명은 대칭키 알고리즘의 장점인 빠른 처리 속도의 특성과 함께 속성 기반 암호화의 접근 제어의 장점도 함께 취할 수 있게 된다. 이러한 방식을 사용한다면 기존 블록체인 기반 클라우드 스토리지에서 더욱 더 효율적인 방식으로 데이터를 안전하게 관리할 수 있게 된다.On the other hand, the time required for encryption and decryption increases in proportion to the size of data and the number of nodes in the access control tree in case of attribute-based encryption, and is affected only by the size of data in case of symmetric key algorithm. Compared to this attribute-based encryption method, processing speed is typically at least 10 times faster and at most 100 times faster in terms of time. Therefore, in the present invention, by encrypting data to be encrypted with a symmetric key, a time benefit is obtained in terms of processing speed. In addition, in the present invention, by attribute-based encryption and sharing of the symmetric key to the blockchain network, the symmetric key itself has a very small capacity of 128 bits or 256 bits, so it is possible to have access control characteristics, which are advantages of attribute-based encryption. Therefore, the present invention can take advantage of access control of attribute-based encryption together with the characteristics of fast processing speed, which is an advantage of symmetric key algorithms. If you use this method, you can safely manage data in a more efficient way in the existing blockchain-based cloud storage.

도 1은 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에서의 접근 권한 제어 방법을 순차적으로 도시한 흐름도이다.
도 2는 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 키 관리자 노드가 대칭키를 속성 기반 암호화시켜 블록체인 네트워크에 저장하는 과정을 도시한 모식도이다.
도 3은 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 사용자가 암호화된 대칭키를 복호화하는 과정을 도시한 모식도이다.
도 4는 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 사용자가 대칭키를 이용하여 암호화된 데이터를 복호화하거나 데이터를 암호화하는 과정을 도시한 모식도이다.
도 5는 속성 기반 암호화 알고리즘에서, 데이터를 암호화하는데 걸리는 시간을 도시한 그래프이다.
도 6은 속성 기반 암호화 알고리즘에서, 데이터를 복호화하는데 걸리는 시간을 도시한 그래프이다.
도 7은 속성 기반 암호화 알고리즘에서 도 5의 데이터의 암호화 시간 및 도 6의 복호화 시간을 비교하기 위하여 도시한 그래프이다.
도 8은 대칭키 알고리즘을 이용한 암호화 방식에 있어서, 암호화에 걸리는 시간을 도시한 그래프이다.
도 9는 도 5의 속성 기반 암호화 알고리즘에서 데이터를 암호화시키는 데 걸리는 시간과 도 8의 대칭키 알고리즘에서 데이터를 암호화시키는 데 걸리는 시간을 비교하기 위하여 도시한 그래프이다.
1 is a flowchart sequentially illustrating an access authority control method in a blockchain-based cloud storage system according to a preferred embodiment of the present invention.
2 is a schematic diagram illustrating a process in which a key manager node encrypts a symmetric key based on attributes and stores it in a blockchain network in a blockchain-based cloud storage system according to a preferred embodiment of the present invention.
3 is a schematic diagram illustrating a process in which a user decrypts an encrypted symmetric key in a blockchain-based cloud storage system according to a preferred embodiment of the present invention.
4 is a schematic diagram illustrating a process in which a user decrypts encrypted data or encrypts data using a symmetric key in a blockchain-based cloud storage system according to a preferred embodiment of the present invention.
5 is a graph showing the time taken to encrypt data in an attribute-based encryption algorithm.
6 is a graph showing the time required to decrypt data in an attribute-based encryption algorithm.
FIG. 7 is a graph for comparing data encryption time of FIG. 5 and decryption time of FIG. 6 in the attribute-based encryption algorithm.
8 is a graph showing the time required for encryption in an encryption method using a symmetric key algorithm.
FIG. 9 is a graph for comparing the time taken to encrypt data in the attribute-based encryption algorithm of FIG. 5 and the time taken to encrypt data in the symmetric key algorithm of FIG. 8 .

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템 및 상기 시스템에서의 접근 권한 제어 방법을 구체적으로 설명한다. Hereinafter, a block chain-based cloud storage system and a method for controlling access rights in the system according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템은, 블록체인을 갖는 복수 개의 사용자 노드들을 구비하는 블록체인 네트워크, 키 관리자 노드 및 클라우드 스토리지를 구비하고, 대칭키로 암호화된 데이터를 클라우드 스토리지에 저장하고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장하는 것을 특징으로 한다. A blockchain-based cloud storage system according to a preferred embodiment of the present invention includes a blockchain network having a plurality of user nodes having a blockchain, a key manager node, and cloud storage, and data encrypted with a symmetric key is stored in the cloud storage. It is characterized in that the symmetric key encrypted based on the attribute using the access control tree is stored in the block chain of the block chain network.

상기 키 관리자 노드는, 데이터에 대한 접근 권한을 갖는 사용자들의 속성들을 포함하는 접근 제어 트리를 사전 등록하여 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 속성 기반 암호화된 대칭키를 상기 블록체인 네트워크의 블록체인에 저장한다. 상기 클라우드 스토리지는 상기 대칭키를 이용하여 암호화된 데이터를 저장한다. The key manager node pre-registers and prepares an access control tree that includes attributes of users having access to data, generates a symmetric key, and uses the access control tree to encrypt the symmetric key based on attributes. , store the attribute-based encrypted symmetric key in the blockchain of the blockchain network. The cloud storage stores encrypted data using the symmetric key.

도 1은 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에서의 접근 권한 제어 방법을 도시한 흐름도이다. 도 1을 참조하면, 본 발명에 따른 접근 권한 제어 방법은, 먼저 키 관리자 노드가 데이터에 대한 접근 권한을 갖는 사용자들의 속성을 포함하는 접근 제어 트리를 사전 등록하여 구비하고(단계 100), 상기 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키를 블록체인 네트워크의 블록체인에 저장한다(단계 110). 다음, 사용자 노드는 블록체인 네트워크의 블록체인으로부터 암호화된 대칭키를 불러오고(단계 120), 자신의 속성 정보를 이용하여 상기 암호화된 대칭키를 복호화하여 대칭키를 획득한다(단계 130). 다음, 사용자 노드는 대칭키를 이용하여 데이터를 암호화하여 클라우드 스토리지에 저장하거나(단계 140), 클라우드 스토리지의 암호화된 데이터를 복호화한다(단계 150). 이하, 전술한 각 단계들에 대하여 보다 구체적으로 설명한다. 1 is a flowchart illustrating an access authority control method in a blockchain-based cloud storage system according to a preferred embodiment of the present invention. Referring to FIG. 1, in the method for controlling access rights according to the present invention, first, a key manager node pre-registers and provides an access control tree including attributes of users having access rights to data (step 100), The attribute-based encrypted symmetric key is stored in the blockchain of the blockchain network using the control tree (step 110). Next, the user node retrieves the encrypted symmetric key from the blockchain of the blockchain network (step 120), and decrypts the encrypted symmetric key using its own attribute information to obtain the symmetric key (step 130). Next, the user node encrypts data using the symmetric key and stores it in the cloud storage (step 140) or decrypts the encrypted data in the cloud storage (step 150). Hereinafter, each step described above will be described in more detail.

도 2는 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 키 관리자 노드가 속성 기반 암호화된 대칭키를 블록체인 네트워크에 저장하는 과정을 도시한 모식도이다. 이하, 도 2를 참조하여 전술한 단계 100 및 단계 110을 보다 구체적으로 설명한다. 상기 키 관리자 노드는 데이터에 대한 접근 권한을 갖는 사용자들의 속성을 포함하는 접근 제어 트리를 사전 등록하여 구비한다. 상기 키 관리자 노드는 대칭키를 생성하며, 생성된 대칭키를 상기 접근 제어 트리를 이용하여 속성 기반 암호화한다. 다음, 속성 기반 암호화된 대칭키를 블록체인 네트워크의 블록체인에 저장한다. 이와 같이, 본 발명에 따른 접근 권한 제어 방법은 암호화된 대칭키를 블록체인 네트워크에 저장함으로써 모두에게 공유하고, 접근 제어 트리 구조를 만족하는 사용자만이 암호화된 대칭키를 복호화할 수 있도록 한다. 2 is a schematic diagram illustrating a process in which a key manager node stores an attribute-based encrypted symmetric key in a blockchain network in a blockchain-based cloud storage system according to a preferred embodiment of the present invention. Hereinafter, with reference to FIG. 2 , steps 100 and 110 described above will be described in more detail. The key manager node pre-registers and has an access control tree including attributes of users having access rights to data. The key manager node generates a symmetric key and performs attribute-based encryption on the generated symmetric key using the access control tree. Next, the attribute-based encrypted symmetric key is stored in the blockchain of the blockchain network. In this way, the access authority control method according to the present invention stores an encrypted symmetric key in a blockchain network to share with everyone, and allows only users who satisfy the access control tree structure to decrypt the encrypted symmetric key.

도 3은 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 사용자가 암호화된 대칭키를 복호화하는 과정을 도시한 모식도이다. 이하, 도 3을 참조하여 전술한 단계 120 및 단계 130을 보다 구체적으로 설명한다. 상기 사용자 노드는 키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화에 필요한 비밀키 및 공개키를 발급받는다. 상기 사용자 노드는 상기 블록체인 네트워크로부터 속성 기반 암호화된 대칭키를 가져온 후, 상기 발급된 자신의 비밀키를 이용하여 상기 속성 기반 암호화된 대칭키를 복호화함으로써, 대칭키를 얻게 된다. 3 is a schematic diagram illustrating a process in which a user decrypts an encrypted symmetric key in a blockchain-based cloud storage system according to a preferred embodiment of the present invention. Hereinafter, with reference to FIG. 3, steps 120 and 130 described above will be described in more detail. The user node provides its attributes to the key manager node, and receives a private key and a public key required for attribute-based encryption from the key manager node. The user node obtains the symmetric key by obtaining the attribute-based encrypted symmetric key from the blockchain network and then decrypting the attribute-based encrypted symmetric key using the issued private key.

도 4는 본 발명의 바람직한 실시예에 따른 블록체인 기반 클라우드 스토리지 시스템에 있어서, 사용자가 대칭키를 이용하여 암호화된 데이터를 복호화하거나 데이터를 암호화하는 과정을 도시한 모식도이다. 이하, 도 4를 참조하여 단계 140 및 단계 150을 보다 구체적으로 설명한다. 사용자 노드는 상기 복호화된 대칭키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 상기 클라우드 스토리지에 저장함으로써, 대칭키로 암호화된 데이터를 클라우드 스토리지에 저장한다(단계 140). 한편, 사용자 노드는 클라우드 스토리지에 저장된 암호화된 데이터를 읽어와서 상기 복호화된 대칭키를 이용하여 상기 암호화된 데이터를 복호화시킨다(단계 150). 4 is a schematic diagram illustrating a process in which a user decrypts encrypted data or encrypts data using a symmetric key in a blockchain-based cloud storage system according to a preferred embodiment of the present invention. Hereinafter, steps 140 and 150 will be described in detail with reference to FIG. 4 . The user node encrypts data using the decrypted symmetric key and stores the encrypted data in the cloud storage, thereby storing the data encrypted with the symmetric key in the cloud storage (step 140). Meanwhile, the user node reads the encrypted data stored in the cloud storage and decrypts the encrypted data using the decrypted symmetric key (step 150).

도 5는 속성 기반 암호화 알고리즘에서, 데이터를 암호화하는데 걸리는 시간을 도시한 그래프이다. 도 5를 참조하면, 속성 기반 암호화 알고리즘을 이용하여 데이터를 암호화시키는 시간은, 접근 제어 트리(Access Tree)의 노드 수와 데이터의 크기에 영향을 받기는 하나, Access Tree의 노드 수에는 거의 영향을 받지 않고 데이터의 크기에 많은 영향을 받는다.5 is a graph showing the time taken to encrypt data in an attribute-based encryption algorithm. Referring to FIG. 5, the time to encrypt data using the attribute-based encryption algorithm is affected by the number of nodes in the access tree and the size of the data, but has little effect on the number of nodes in the access tree. It is not received and is greatly affected by the size of the data.

도 6은 속성 기반 암호화 알고리즘에서, 데이터를 복호화하는데 걸리는 시간을 도시한 그래프이다. 도 6을 참조하면, 속성 기반 암호화 알고리즘을 이용하여 데이터를 복호화시키는 시간은, 도 5와 마찬가지로 접근 제어 트리의 노드 수와 데이터의 크기에 영향을 받기는 하나, 데이터 크기에는 거의 영향을 받지 않고 접근 제어 트리의 노드 수에는 영향을 많이 받는다. 6 is a graph showing the time required to decrypt data in an attribute-based encryption algorithm. Referring to FIG. 6, the time to decrypt data using the attribute-based encryption algorithm is affected by the number of nodes in the access control tree and the size of data, as in FIG. 5, but is almost not affected by the data size. It is highly dependent on the number of nodes in the control tree.

도 7은 속성 기반 암호화 알고리즘에서 도 5의 데이터의 암호화 시간 및 도 6의 복호화 시간을 비교하기 위하여 도시한 그래프이다. 도 7을 참조하면, 속성 기반 암호화에서 복호화에 걸리는 시간보다 암호화에 걸리는 시간이 훨씬 많음을 확인할 수 있다. FIG. 7 is a graph for comparing data encryption time of FIG. 5 and decryption time of FIG. 6 in the attribute-based encryption algorithm. Referring to FIG. 7 , it can be seen that the time taken for encryption is much longer than the time taken for decryption in attribute-based encryption.

도 8은 대칭키 알고리즘을 이용한 암호화 방식에 있어서, 암호화에 걸리는 시간을 도시한 그래프이다. 도 8을 참조하면, 대칭키 알고리즘을 이용하여 데이터를 암호화하는데 걸리는 시간은 접근 제어 트리를 사용하지 아니하므로 노드 수에는 영향을 전혀 받지 않고 데이터의 크기에만 영향을 받게 된다. 8 is a graph showing the time required for encryption in an encryption method using a symmetric key algorithm. Referring to FIG. 8, since the access control tree is not used, the time required to encrypt data using a symmetric key algorithm is not affected at all by the number of nodes, but only by the size of data.

도 9는 도 5의 속성 기반 암호화 알고리즘에서 데이터를 암호화시키는 데 걸리는 시간과 도 8의 대칭키 알고리즘에서 데이터를 암호화시키는 데 걸리는 시간을 비교하기 위하여 도시한 그래프이다. 도 9를 참조하면, 데이터의 크기와 접근 제어 트리의 노드 수와는 관계없이, 대칭키 알고리즘을 이용한 암호화 방식이 속성 기반 암호화 방식에 비해 암호화시키는데 걸리는 시간이 월등히 짧으며 더욱 빠른 속도로 암호화를 시키게 된다. FIG. 9 is a graph for comparing the time taken to encrypt data in the attribute-based encryption algorithm of FIG. 5 and the time taken to encrypt data in the symmetric key algorithm of FIG. 8 . Referring to FIG. 9, regardless of the size of the data and the number of nodes in the access control tree, the encryption method using the symmetric key algorithm takes a much shorter time to encrypt than the attribute-based encryption method and encrypts at a faster rate. do.

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

Claims (6)

블록체인을 갖는 복수 개의 사용자 노드들을 구비하는 블록체인 네트워크;
데이터에 대한 접근 권한을 갖는 사용자들의 속성들을 포함하는 접근 제어 트리를 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 속성 기반 암호화된 대칭키를 상기 블록체인 네트워크의 블록체인에 저장하는 키 관리자 노드;
상기 대칭키를 이용하여 암호화된 데이터를 저장하는 상기 클라우드 스토리지;
를 구비하여, 대칭키로 암호화된 데이터는 클라우드 스토리지에 저장되고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장된 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템.
A blockchain network having a plurality of user nodes having a blockchain;
An access control tree including attributes of users having access to data is provided, a symmetric key is generated, the symmetric key is attribute-based encrypted using the access control tree, and the attribute-based encrypted symmetric key is A key manager node that stores in the blockchain of the blockchain network;
the cloud storage for storing encrypted data using the symmetric key;
A blockchain-based cloud storage system, characterized in that the data encrypted with the symmetric key is stored in the cloud storage, and the symmetric key encrypted based on the attribute using the access control tree is stored in the blockchain of the blockchain network.
제1항에 있어서, 상기 사용자 노드는
키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화를 위한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고,
상기 복호화된 대칭키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 상기 클라우드 스토리지에 저장하는 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템.
The method of claim 1, wherein the user node
Provides its own attributes to the key manager node, receives a private key and public key for attribute-based encryption from the key manager node, and uses the issued private key to decrypt the attribute-based encrypted symmetric key stored in the blockchain ,
Blockchain-based cloud storage system, characterized in that for encrypting data using the decrypted symmetric key and storing the encrypted data in the cloud storage.
제1항에 있어서, 상기 사용자 노드는
키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화를 위한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고,
상기 복호화된 대칭키를 이용하여 상기 클라우드 스토리지에 저장된 암호화된 데이터를 복호화하는 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템.
The method of claim 1, wherein the user node
Provides its own attributes to the key manager node, receives a private key and public key for attribute-based encryption from the key manager node, and uses the issued private key to decrypt the attribute-based encrypted symmetric key stored in the blockchain ,
Blockchain-based cloud storage system, characterized in that for decrypting the encrypted data stored in the cloud storage using the decrypted symmetric key.
(a) 키 관리자 노드가 데이터에 대한 접근 권한을 갖는 사용자들의 속성을 포함하는 접근 제어 트리를 구비하고, 대칭키를 생성하고, 상기 접근 제어 트리를 이용하여 상기 대칭키를 속성 기반 암호화하고, 상기 속성 기반 암호화된 대칭키를 블록체인 네트워크의 블록체인에 저장하는 단계;
(b) 블록체인 네트워크를 구성하는 사용자 노드가 대칭키를 이용하여 암호화된 데이터를 클라우드 스토리지에 저장하는 단계;
를 구비하여, 대칭키로 암호화된 데이터는 클라우드 스토리지에 저장되고, 접근 제어 트리를 이용하여 속성 기반 암호화된 대칭키는 블록체인 네트워크의 블록체인에 저장된 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법.
(a) a key manager node has an access control tree including attributes of users having access to data, generates a symmetric key, and uses the access control tree to perform attribute-based encryption of the symmetric key; Storing the attribute-based encrypted symmetric key in the blockchain of the blockchain network;
(b) storing encrypted data in a cloud storage using a symmetric key by a user node constituting a blockchain network;
In a blockchain-based cloud storage system, characterized in that the data encrypted with the symmetric key is stored in the cloud storage, and the symmetric key encrypted based on the attribute using the access control tree is stored in the blockchain of the blockchain network. How to control access rights.
제4항에 있어서, 상기 (b) 단계는,
상기 블록체인 네트워크를 구성하는 사용자 노드가,
키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화를 위한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고,
상기 복호화된 대칭키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 상기 클라우드 스토리지에 저장하는 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법.
The method of claim 4, wherein step (b),
A user node constituting the blockchain network,
Provides its own attributes to the key manager node, receives a private key and public key for attribute-based encryption from the key manager node, and uses the issued private key to decrypt the attribute-based encrypted symmetric key stored in the blockchain ,
Access authority control method in a blockchain-based cloud storage system, characterized in that for encrypting data using the decrypted symmetric key and storing the encrypted data in the cloud storage.
제4항에 있어서, 상기 접근 권한 제어 방법은,
(c) 상기 사용자 노드가,
키 관리자 노드에게 자신의 속성을 제공하고, 키 관리자 노드로부터 속성 기반 암호화를 위한 비밀키 및 공개키를 발급받고, 상기 발급된 비밀키를 이용하여 블록체인에 저장된 속성 기반 암호화된 대칭키를 복호화하고,
상기 복호화된 대칭키를 이용하여 상기 클라우스 스토리지에 저장된 암호화된 데이터를 복호화하는 단계;를 더 구비하는 것을 특징으로 하는 블록체인 기반의 클라우드 스토리지 시스템에서의 접근 권한 제어 방법.

The method of claim 4, wherein the access authority control method,
(c) the user node,
Provides its own attributes to the key manager node, receives a private key and public key for attribute-based encryption from the key manager node, and uses the issued private key to decrypt the attribute-based encrypted symmetric key stored in the blockchain ,
Decrypting the encrypted data stored in the cloud storage using the decrypted symmetric key; Access authority control method in a blockchain-based cloud storage system, characterized in that it further comprises.

KR1020210156700A 2021-11-15 2021-11-15 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system KR20230070772A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210156700A KR20230070772A (en) 2021-11-15 2021-11-15 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210156700A KR20230070772A (en) 2021-11-15 2021-11-15 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system

Publications (1)

Publication Number Publication Date
KR20230070772A true KR20230070772A (en) 2023-05-23

Family

ID=86544277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210156700A KR20230070772A (en) 2021-11-15 2021-11-15 Blockchain based cloud storage system and the method of controlling access right in the cloud storage system

Country Status (1)

Country Link
KR (1) KR20230070772A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030534A (en) 2019-09-09 2021-03-18 서강대학교산학협력단 System for managing medicine and medical supplies based on a blockchain network
KR102307574B1 (en) 2019-11-11 2021-09-30 서강대학교 산학협력단 Cloud data storage system based on blockchain and method for storing in cloud

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030534A (en) 2019-09-09 2021-03-18 서강대학교산학협력단 System for managing medicine and medical supplies based on a blockchain network
KR102307574B1 (en) 2019-11-11 2021-09-30 서강대학교 산학협력단 Cloud data storage system based on blockchain and method for storing in cloud

Similar Documents

Publication Publication Date Title
US8625802B2 (en) Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US20100095118A1 (en) Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
CN111181720A (en) Service processing method and device based on trusted execution environment
CN104618096B (en) Protect method, equipment and the TPM key administrative center of key authorization data
US20200259637A1 (en) Management and distribution of keys in distributed environments
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US11075753B2 (en) System and method for cryptographic key fragments management
CN111475850A (en) Private data query method and device based on intelligent contract
Khan et al. SSM: Secure-Split-Merge data distribution in cloud infrastructure
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
US20190171841A1 (en) Method and system for encrypting files and storing the encrypted files in a storage file system
CN114547648A (en) Data hiding trace query method and system
US9436849B2 (en) Systems and methods for trading of text based data representation
US10848312B2 (en) Zero-knowledge architecture between multiple systems
CN113726772A (en) Method, device, equipment and storage medium for realizing on-line inquiry session
US20230021749A1 (en) Wrapped Keys with Access Control Predicates
KR20210058313A (en) Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment
US20230327855A1 (en) System and method for protecting secret data items using multiple tiers of encryption and secure element
KR20230070772A (en) Blockchain based cloud storage system and the method of controlling access right in the cloud storage system
WO2022199796A1 (en) Method and computer-based system for key management
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
US11683159B2 (en) Hybrid content protection architecture
JP7385025B2 (en) Execution of Entity-Specific Cryptographic Code in a Cryptographic Coprocessor
US20210288798A1 (en) Jigsaw key encryption/decryption
CN116226920A (en) Cloud data deduplication method supporting remote update