KR20210064675A - Security system for data trading and data storage based on block chain and method therefor - Google Patents

Security system for data trading and data storage based on block chain and method therefor Download PDF

Info

Publication number
KR20210064675A
KR20210064675A KR1020190153153A KR20190153153A KR20210064675A KR 20210064675 A KR20210064675 A KR 20210064675A KR 1020190153153 A KR1020190153153 A KR 1020190153153A KR 20190153153 A KR20190153153 A KR 20190153153A KR 20210064675 A KR20210064675 A KR 20210064675A
Authority
KR
South Korea
Prior art keywords
data
fragment
smart contract
storage
transaction
Prior art date
Application number
KR1020190153153A
Other languages
Korean (ko)
Other versions
KR102399667B1 (en
KR102399667B9 (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 KR1020190153153A priority Critical patent/KR102399667B1/en
Publication of KR20210064675A publication Critical patent/KR20210064675A/en
Application granted granted Critical
Publication of KR102399667B1 publication Critical patent/KR102399667B1/en
Publication of KR102399667B9 publication Critical patent/KR102399667B9/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/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/0822Key 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) using key encryption key
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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

The present invention relates to a method of trading and storing data based on a blockchain, in which while a data provider registers the data in a network in a decentralized system environment, when a data requestor obtains data access authority through the network and requests the data, and when the data provider does not need to know the data requestor, fragments of encrypted data are distributed and stored for secure data trading, so that even an operating entity of a storage in which the data is stored is prevented from obtaining the data, and thus only those who have the data access authority are able to obtain the data. Accordingly, when various types of data such as a text and a file are registered and stored in the network in a situation where the data provider does not know the data requestor is on the blockchain, and the data requestor obtains the data access authority, the data is securely obtained from the network without intervention of the data provider.

Description

블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법{SECURITY SYSTEM FOR DATA TRADING AND DATA STORAGE BASED ON BLOCK CHAIN AND METHOD THEREFOR}A security system and method for transaction and storage of blockchain-based data {SECURITY SYSTEM FOR DATA TRADING AND DATA STORAGE BASED ON BLOCK CHAIN AND METHOD THEREFOR}

본 발명은 블록체인 기반 데이터 거래와 보안 시스템에 관한 것으로서, 보다 상세하게는 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법에 관한 것이다.The present invention relates to a blockchain-based data transaction and security system, and more particularly, to a security system and method for blockchain-based data transaction and storage in a decentralized system environment.

블록체인은 특정 암호화 기능을 사용해 중앙관리자 없이 데이터를 모든 참여자가 공유 및 업데이트하는 기술로서, 데이터 조작을 방지하며 거래의 투명화가 가능하다. 블록체인(Blockchain)은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. Blockchain is a technology that allows all participants to share and update data without a central administrator using a specific encryption function, preventing data manipulation and making transactions transparent. Blockchain, also called public transaction ledger, is a technology that prevents hacking that can occur when trading with virtual currency.

기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용하는 탈 중앙화적 특징을 갖는다. 이에 따라 블록체인은 중앙 관리 기관이 없이 블록체인 네트워크 상에서 장부를 분산 저장하는 방식으로 임의의 사용자가 데이터를 위변조하는 것을 불가능하게 하여 거래의 무결성을 유지한다. 또한, 탈 중앙화적 특징을 갖는 블록체인에서 기 저장된 조건을 만족하는 거래요청이 획득되는 경우, 자동으로 거래를 수행하는 것을 의미하는 스마트 컨트랙트가 다양한 분야에 활용되고 있다. Whereas existing financial companies keep transaction records on a centralized server, blockchain sends transaction details to all users participating in the transaction and collates them with each transaction to prevent data forgery. have Accordingly, the blockchain maintains the integrity of the transaction by making it impossible for any user to falsify data by distributing and storing the ledger on the blockchain network without a central management authority. In addition, when a transaction request that satisfies a pre-stored condition is obtained in a blockchain with decentralized characteristics, a smart contract that automatically performs a transaction is being used in various fields.

종래의 블록체인 기반 데이터 거래 방법은 다음과 같은 방식으로 이루어진다. 도 1을 참조하면, 데이터 등록을 위해, 데이터 등록자가 스마트 컨트랙트 상에서 데이터를 등록에 대한 트랜잭션을 발생시키고(S101), 데이터를 등록한다(S102).The conventional blockchain-based data transaction method is performed in the following way. Referring to FIG. 1 , for data registration, a data registrant generates a transaction for data registration on a smart contract (S101) and registers the data (S102).

데이터 보관 및 전달에 있어서, 거래 대상인 데이터는, 데이터 제공자가 직접 보관하고 있다가 데이터 요청자가 나타났을 경우 직접 전달하는 경우, 혹은 중앙화 된 주체가 운영하는 서버에 데이터를 보관 및 관리하는 경우로 나누어진다.In data storage and delivery, the data subject to transaction is kept directly by the data provider and delivered directly when a data requester appears, or data is stored and managed in a server operated by a centralized entity. .

중앙화 된 주체가 운영하는 서버에 데이터를 보관 및 관리하는 경우에, 데이터 획득시에는, 데이터 요청자가 스마트 컨트랙트 상에서 데이터 권한 획득을 위한 트랜잭션을 발생시킨다(S103). 데이터 요청자가 데이터 다운로드 요청 하면(S104), 데이터 보관자는 데이터 요청자의 데이터 권한 여부를 블록체인을 통해 확인하여(S105), 데이터를 데이터 요청자에게 전달한다(S106).In the case of storing and managing data in a server operated by a centralized subject, at the time of data acquisition, the data requester generates a transaction for data authority acquisition on the smart contract (S103). When the data requestor requests data download (S104), the data custodian checks whether the data requestor has data authority through the block chain (S105), and delivers the data to the data requester (S106).

그런데, 종래의 데이터 거래 방법에서는, 1) 데이터 제공자가 데이터 요청자를 미리 알아야 하거나, 2) 데이터 제공자가 데이터 요청자를 모를 경우 언제라도 데이터 요청자가 나타났을 경우 데이터 요청자가 데이터 혹은 데이터 복호화 키를 얻을 수 있도록 개입하기 위해 항상 대기 상태에 있어야 한다. However, in the conventional data transaction method, 1) the data provider needs to know the data requester in advance, or 2) the data provider does not know the data requester. If the data requester appears at any time, the data requester can obtain data or a data decryption key. You must always be on standby to intervene.

이는 데이터를 제공하는 주체가 언제 그리고 누구로부터 데이터를 요청 받을지 모르는 데이터 거래 방식에 적합하지 않다. 특히 3) 데이터 보관 네트워크가 탈중앙 시스템이 아닌 형태에서 운영되는 경우는 데이터 관리 및 보관자가 원본 데이터를 획득 가능하기 때문에 데이터가 곧 자산인 데이터 거래 시스템에서는 매우 적합하지 않은 문제가 있다.This is not suitable for the data transaction method where the data provider does not know when and from whom the data will be requested. In particular, 3) When the data storage network is operated in a form other than a decentralized system, data management and custodians can acquire original data, so there is a problem that it is not very suitable for a data transaction system where data is an asset.

한편, 안전한 데이터 거래를 위해서는, 데이터 보안의 핵심 3가지인 1) 데이터의 무결성, 2) 데이터 가용성, 3) 데이터 기밀성을 확보해야 한다. On the other hand, for safe data transactions, it is necessary to secure 3 core data security: 1) data integrity, 2) data availability, and 3) data confidentiality.

1) 데이터 무결성에 있어서는 데이터가 네트워크를 거쳐 데이터 요청자에게 원본이 전달되는 모든 과정에서 데이터의 변경 혹은 잘못된 데이터 전달이 이루어지지 않았는지를 확인해야 한다. 1) In terms of data integrity, it is necessary to check whether data is changed or erroneous data transmission is made in all processes of data transmission through the network to the original data requestor.

2) 데이터 가용성에 있어서는 등록된 데이터가 네트워크에 보관되고 있을 때 네트워크의 장애 여부와 관계없이 데이터 요청자가 언제라도 데이터를 확보할 수 있어야 한다. 2) In terms of data availability, when the registered data is being stored in the network, the data requestor should be able to obtain the data at any time regardless of the network failure.

3) 데이터 기밀성에 있어서는 탈중앙화된 데이터 거래 시스템에서의 데이터는 거래의 대상이며 그 자체가 곧 자산이기 때문에 데이터가 네트워크에 보관될 때 데이터 접근 권한을 획득한 데이터 요청자를 제외하고 데이터를 보관하는 주체를 포함한 그 누구도 데이터를 획득하지 못하도록 해야 한다.3) In terms of data confidentiality, data in a decentralized data transaction system is a subject of transactions and is an asset in itself, so when data is stored in the network, the entity that stores the data except for the data requestor who has obtained data access rights No one should be allowed to acquire the data, including

따라서, 본 발명은 상기한 문제점을 해결하기 위해 창안된 것으로, 본 발명은 블록체인 상에서 데이터 제공자가 데이터 요청자가 누군지 모르는 상황에서 텍스트나 파일 등 다양한 형태의 데이터를 네트워크에 등록하여 보관시키고, 데이터 요청자가 데이터 접근 권한을 획득했을 경우 데이터 제공자의 개입 없이 네트워크로부터 안전하게 데이터를 획득할 수 있도록 하는 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법을 제공하는 것을 목적으로 한다. Therefore, the present invention was created to solve the above problems, and the present invention registers and stores various types of data such as text or files in the network in a situation where the data provider does not know who the data requester is on the block chain, and requests data The purpose of this is to provide a data security method for data transaction and storage in a decentralized system environment that allows users to safely acquire data from the network without data provider intervention when they obtain data access rights.

상기의 목적을 달성하기 위한 본 발명의 제1양태에 따른 구성은, 블블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템으로서, 공유하고자 하는 데이터를 등록하기 위한 트랜잭션을 생성하여 블록체인상의 스마트 컨트랙트에 전송하고, 데이터를 파편화하고 복호화하여 적어도 하나의 데이터 보관자에게 데이터 파편과 파편 복호화 키를 업로드하는 데이터 제공자; 데이터 등록 내역, 데이터 접근 권한 내역, 데이터 보관자 내역이 기록되고, 상기 데이터 제공자가 등록한 데이터의 접근 권한을 승인하는 스마트 컨트랙트; 상기 데이터 제공자로부터 전송된 데이터를 보관 및 관리하고, 소정의 데이터 요청자로부터 데이터 요청을 받을 경우 상기 스마트 컨트랙트를 통해 상기 데이터 요청자가 데이터 접근 권한이 있는지를 확인하고 데이터 파편과 파편 복호화 키를 상기 데이터 요청자에게 전달하는 데이터 보관자; 및 상기 스마트 컨트랙트로부터 데이터 접근 권한을 획득하고 상기 데이터 보관자로부터 제공된 데이터 파편과 파편 복호화키를 이용하여 데이터 원본을 획득하는 데이터 요청자를 포함하는 것을 특징으로 한다.The configuration according to the first aspect of the present invention for achieving the above object is a data security system for data transaction and storage based on a block chain, and a smart contract on a block chain by generating a transaction to register data to be shared a data provider that transmits to, fragments and decrypts the data and uploads the data fragments and fragment decryption key to the at least one data custodian; a smart contract in which data registration details, data access rights details, and data custodian details are recorded, and the data provider approves access rights to the registered data; Stores and manages data transmitted from the data provider, and when receiving a data request from a predetermined data requester, checks whether the data requester has data access rights through the smart contract, and sends data fragments and fragment decryption keys to the data requester data custodian forwarding to; and a data requester who obtains data access authority from the smart contract and obtains the data source using the data fragment and fragment decryption key provided from the data custodian.

여기서, 상기 데이터 제공자는 상기 스마트 컨트랙트에 데이터 보관 매칭을 요청하여, 매칭된 데이터 보관 서버에 암호화된 파편 데이터와 파편 복호화키를 업로드하는 것이 바람직하다. 이에 의해, 데이터 기밀성을 확보할 수 있다.Here, it is preferable that the data provider requests data storage matching to the smart contract, and uploads the encrypted fragment data and fragment decryption key to the matched data storage server. Thereby, data confidentiality can be ensured.

상기 스마트 컨트랙트는 상기 데이터 제공자의 요청에 따라, 각 데이터 보관 서버의 용량 정보를 포함한 데이터 보관 서버 정보에 근거하여, 파편 데이터를 저장가능한 파편 데이터 보관서버를 매칭하여 상기 데이터 제공자에게 매칭 정보를 제공하고, 매칭 정보를 저장하는 것이 바람직하다. The smart contract matches a fragment data storage server capable of storing fragment data based on data storage server information including capacity information of each data storage server at the request of the data provider, and provides matching information to the data provider, , it is preferable to store matching information.

상기 데이터 제공자는 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값을 추출하여, 각 과정의 데이터해시값과 암호화 원본 데이터 복호화키를 상기 스마트 컨트랙트에 업로드하는 것이 효과적이다.The data provider extracts the data hash value generated in the process of encrypting the entire data, fragmenting the data, and encrypting the data with the public key, and obtains the data hash value of each process and the encryption original data decryption key. Uploading to the smart contract is effective.

상기 데이터 요청자는 데이터 권한 인증용 공개키를 포함하는 데이터 권한 획득 요청 트랙잭션을 형성하여 상기 스마트 컨트랙트에 전송하는 것이 바람직하다. 그리고, 상기 스마트 컨트랙트는 소정 데이터 요청자로부터 데이터 권한 인증용 공개키가 포함된 데이터 권한 획득 요청 트랜잭션을 수신하여 저장하고, 상기 데이터 보관 서버로부터 요청에 따라 소정 데이터 요청자의 데이터 접근 권한 확인을 수행한 후, 상기 저장한 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 정보를 저장한다. 이때, 상기 스마트 컨트랙트에 저장되는 정보들은 모두 공개된다.Preferably, the data requester forms a data right acquisition request transaction including a public key for data right authentication and transmits it to the smart contract. Then, the smart contract receives and stores the data permission acquisition request transaction including the public key for data permission authentication from the predetermined data requester, and after performing the data access permission check of the predetermined data requester according to the request from the data storage server , the stored public key for data authority authentication is stored in the data storage server. At this time, all information stored in the smart contract is disclosed.

상기 데이터 보관 서버는, 상기 데이터 제공자로부터 파편 데이터, 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값, 파편 복호화키를 전송받아, 데이터 제공자 식별정보 별로 상기 파편 데이터, 데이터해시값, 및 데이터 파편 복호화키를 함께 저장하고, 데이터 요청자로부터 데이터 요청시 상기 스마트 컨트랙트로부터 수신한 데이터 권한 인증용 공개키로 데이터 파편 복호화키를 암호화하여 파편 데이터와 함께 데이터 요청자에게 전송하는 것이 바람직하다.The data storage server receives, from the data provider, a data hash value and a fragment decryption key generated in the process of encrypting the fragment data, the entire data, fragmenting the data, and encrypting the data with the public key, the data The fragment data, data hash value, and data fragment decryption key are stored together for each provider identification information, and when data is requested from the data requester, the data fragment decryption key is encrypted with the public key for data authorization authentication received from the smart contract to encrypt the fragment data. It is desirable to transmit the data to the requester together with

상기 데이터 요청자는, 수신한 암호화된 파편 데이터 복호화키를 자신의 데이터 권한 인증용 비밀키로 복호화하고, 복호화된 파편 데이터 복호화키로 파편 데이터의 암호를 풀어 복호화하고, 복호화된 파편 데이터를 병합하여 암호화된 전체데이터로 형성하고, 상기 스마트 컨트랙트에 요청하여 수신한 원본 데이터 복호화키를 이용하여 상기 암호화된 전체 데이터를 복호화하여 원본 데이터를 획득하는 것이 바람직하다.The data requester decrypts the received encrypted fragment data decryption key with his/her own data authority authentication secret key, decrypts and decrypts the fragment data with the decrypted fragment data decryption key, and merges the decrypted fragment data to encrypt the entire encrypted fragment data. It is preferable to obtain the original data by forming data and decrypting the entire encrypted data using the original data decryption key received by requesting the smart contract.

한편, 상기 데이터 요청자는 상술한 각 복호화 과정들에서 해시값을 획득하고, 상기 스마트 컨트랙트에 요청하여 수신한 해시값들을 비교하여 일치하는지 여부에 따라, 원본 데이터가 정상 여부 인지를 판단하는 것이 바람직하다. 이에 의해 데이터 무결성을 확보할 수 있다.On the other hand, the data requester obtains a hash value in each of the above-described decryption processes, compares the hash values received by requesting the smart contract, and determines whether the original data is normal or not, depending on whether they match. . Thereby, data integrity can be ensured.

또한, 상기 데이터 요청자는 파편 데이터 요청을 위해, 상기 스마트 컨트랙트에 접속하여 데이터 파편 보관 정보를 조회하며, 상기 데이터 파편 보관 내역 정보를 참조하여, 원하는 데이터 파편을 보관하고 있는 데이터 보관 서버 정보로 각 데이터 보관 서버에 접속하여 파편 데이터를 요청하여 수집하는 것이 바람직하다.In addition, in order to request fragment data, the data requester accesses the smart contract and inquires data fragment storage information, and refers to the data fragment storage history information, each data to the data storage server information storing the desired data fragment. It is desirable to collect fragment data by accessing the archive server.

상기 데이터 보관 서버는, 데이터 제공자로부터 업로드된 데이터 파편의 해시값과 상기 스마트 컨트랙트에 저장된 데이터 등록 내역과 함께 기록된 데이터 해시값이 일치하는지 상기 스마트 컨트랙트에 확인요청하는 것이 바람직하다.The data storage server preferably requests the smart contract to confirm whether the hash value of the data fragment uploaded from the data provider matches the hash value of the data recorded together with the data registration details stored in the smart contract.

여기서, 상기 각 데이터 파편은 적어도 3개 이상의 데이터 보관자에 저장되는 것이 바람직하며, 이에 의해, 데이터 가용성을 확보할 수 있다.Here, each of the data fragments is preferably stored in at least three or more data holders, thereby ensuring data availability.

한편, 상기의 목적을 달성하기 위한 본 발명의 제2양태에 따른 구성은, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법으로서, 데이터 제공자가 데이터를 파편화하고 파편 데이터를 암호화한 후, 공유하고자 하는 데이터 등록하기 위한 트랜잭션을 생성하여 블록체인상의 스마트 컨트랙트에 전송하고, 복수의 데이터 보관자에게 암호화된 데이터 파편과 파편 복호화 키를 업로드하는 제1단계; 상기 스마트 컨트랙트가 상기 데이터 제공자의 데이터 등록 내역 정보, 데이터 접근 권한 내역 정보, 파편 데이터를 저장한 데이터 보관자 내역 정보를 형성하여 저장하는 제2단계; 상기 데이터 보관자가 상기 데이터 제공자가 업로드한 데이터 파편을 보관 및 관리하고, 소정 데이터 요청자로부터 데이터 요청을 받을 경우 상기 스마트 컨트랙트를 통해 상기 데이터 요청자가 데이터 접근 권한이 있는지를 확인하는 제3단계; 상기 확인결과 데이터 접근 권한이 있는 경우, 상기 데이터 보관자가 암호화된 데이터 파편과 파편 복호화 키를 상기 데이터 요청자에게 전송하는 제4단계; 및 상기 데이터 요청자가 수신한 데이터 파편과 파편 복호화키로 데이터 파편을 복호화하여 데이터 원본을 복구하는 제5단계를 포함하는 것을 특징으로 한다.On the other hand, the configuration according to the second aspect of the present invention for achieving the above object is a data security method for blockchain-based data transaction and storage, wherein the data provider fragments the data and encrypts the fragment data, A first step of generating a transaction for registering data, transmitting it to a smart contract on a block chain, and uploading encrypted data fragments and fragment decryption keys to a plurality of data holders; a second step in which the smart contract forms and stores data registration details information of the data provider, data access authority details information, and data custodian details information storing fragment data; a third step in which the data custodian stores and manages the data fragments uploaded by the data provider, and when receiving a data request from a predetermined data requester, confirms whether the data requester has data access rights through the smart contract; a fourth step of transmitting, by the data custodian, an encrypted data fragment and a fragment decryption key to the data requester, if the verification result indicates that the data access authority; and a fifth step of recovering the original data by decrypting the data fragment received by the data requester and the fragment decryption key.

여기서, 상기 제1단계는, 상기 데이터 제공자가 전체 데이터를 비트 단위로 섞어서 데이터 전체를 암호화하는 단계; 전체 암호화된 데이터를 적어도 2개 이상의 파편으로 분할한 후, 각 데이터 파편을 각각 상이한 공개키로 암호화하는 단계; 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터 해시값을 추출하여 각 과정의 데이터 해시값과 암호화 원본 데이터 복호화키를 상기 스마트 컨트랙트에 업로드하여 저장시키는 단계를 포함하는 것이 바람직하다.Here, the first step may include: encrypting, by the data provider, the entire data by mixing the entire data in bit units; splitting the entire encrypted data into at least two or more fragments, and then encrypting each data fragment with a different public key; By extracting the data hash value generated in the process of encrypting the entire data, fragmenting the data, and encrypting data with the public key, the data hash value of each process and the encryption original data decryption key are uploaded to the smart contract and stored It is preferable to include the step of

또한, 상기 제3단계는, 상기 데이터 제공자가 파편 데이터를 업로드 가능한 데이터 보관 서버 정보를 제공받기 위한 데이터 보관 매칭을 상기 스마트 컨트랙트에 요청하는 단계와; 상기 스마트 컨트랙트는 상기 데이터 제공자의 요청에 따라 파편 데이터를 저장가능한 데이터 보관 서버를 매칭하여 상기 데이터 제공자에게 매칭 정보를 제공하는 단계와; 상기 데이터 제공자가 상기 매칭 정보에 기초하여 매칭된 데이터 보관 서버에 암호화된 파편 데이터를 업로드하는 단계를 포함하는 것이 효과적이다.In addition, the third step may include: requesting the smart contract for data storage matching for the data provider to be provided with data storage server information capable of uploading fragment data; providing, by the smart contract, matching information to the data provider by matching a data storage server capable of storing fragment data according to the request of the data provider; It is effective to include, by the data provider, uploading the encrypted fragment data to a matched data storage server based on the matching information.

또한, 상기 제3단계는, 상기 스마트 컨트랙트가 상기 데이터 보관 서버로부터의 요청에 따라, 소정 데이터 요청자에 대한 데이터 접근 권한 확인을 수행한 후 상기 데이터 요청자로부터 전송받아 미리 저장한 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 단계를 포함하는 것이 바람직하다.In addition, in the third step, the smart contract performs data access authority check for a predetermined data requester according to the request from the data storage server, and then receives and stores the data authority authentication public key in advance from the data requester. It is preferable to include the step of transmitting to the data storage server.

또한, 상기 제3단계는, 상기 데이터 요청자가 데이터를 요청하기 위해 데이터 권한 인증용 공개키를 포함하는 데이터 권한 획득 트랜잭션을 형성하여 상기 스마트 컨트랙트에 전송하는 단계와, 상기 스마트 컨트랙트가 상기 데이터권한 인증용 공개키를 상기 데이터 요청자 식별정보와 함께 저장하는 단계를 더 포함하고; 상기 제4단계는, 상기 스마트 컨트랙트가 상기 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 단계와, 상기 데이터 보관 서버가 상기 데이터권한 인증용 공개키로 상기 데이터 파편의 복호화키를 암호화하여 상기 파편 데이터와 함께 상기 데이터 요청자에게 전송하는 단계를 포함하는 것이 바람직하다.In addition, the third step includes the steps of the data requestor forming a data authority acquisition transaction including a public key for data authority authentication to request data and transmitting it to the smart contract, wherein the smart contract authenticates the data authority storing a public key for use with the data requestor identification information; In the fourth step, the smart contract transmits the public key for data authority authentication to the data storage server, and the data storage server encrypts the data fragment decryption key with the data authority authentication public key. It is preferred to include the step of sending to the data requestor along with the fragment data.

또한, 상기 제3단계는, 상기 데이터 보관 서버가 상기 데이터 제공자로부터 업로드된 데이터파편의 해시값과 상기 스마트 컨트랙트에 저장된 데이터 등록 내역과 함께 기록된 해시값이 일치하는지 확인하는 단계를 포함하는 것이 바람직하다.In addition, the third step may include, by the data storage server, confirming whether the hash value of the data fragment uploaded from the data provider matches the hash value recorded together with the data registration details stored in the smart contract. Do.

또한, 상기 제3단계는, 상기 데이터 요청자가 데이터를 요청하기 위해, 상기 스마트 컨트랙트에 저장된 데이터 보관 내역을 조회하는 단계와, 상기 조회결과에 기초하여 원하는 데이터 파편이 저장된 데이터 저장 서버에 접속하여 데이터 파편과 파편 복호화키를 요청하는 단계를 포함하는 것이 효과적이다. In addition, the third step includes the steps of the data requester inquiring the data storage details stored in the smart contract in order to request data, and accessing the data storage server in which the desired data fragment is stored based on the inquiry result. It is effective to include the step of requesting the fragment and the fragment decryption key.

한련, 상기 제5단계는, 상기 데이터 요청자가 상기 데이터 보관자로부터 전송된 암호화된 데이터파편 복호화키를 데이터권한 인증을 위한 비밀키로 복호화하는 단계와, 데이터파편 복호화키로 암호화된 다수의 데이터 파편을 복호화하는 단계와, 상기 데이터 요청자가 상기 스마트 컨트랙트에 원본 데이터 복호화키를 요청 및 수신하는 단계와, 상기 복호화된 데이터 파편을 합해 단일 데이터로 형성 후 상기 원본 데이터 복호화키로 상기 단일 데이터를 복호화하여 원본 데이터를 획득하는 단계를 포함하는 것이 바람직하다.In the fifth step, the data requester decrypts the encrypted data fragment decryption key transmitted from the data custodian with a secret key for data authority authentication, and decrypts a plurality of data fragments encrypted with the data fragment decryption key. step, the data requestor requesting and receiving the original data decryption key from the smart contract, combining the decrypted data fragments to form single data, and then decrypting the single data with the original data decryption key to obtain original data It is preferable to include the step of

또한, 상기 제5단계는, 상기 데이터파편을 복호화하는 과정과 복호화된 데이터파편을 합해서 단일 데이터로 형성하는 과정에서 발생하는 데이터 해시값들을, 상기 스마트 컨트랙트에 기록된 해시값과 비교하여 원본 데이터가 정상인지 확인하는 단계를 더 포함하는 것이 바람직하다.In addition, in the fifth step, the data hash values generated in the process of decoding the data fragments and the process of combining the decoded data fragments to form single data are compared with the hash values recorded in the smart contract to obtain the original data. It is preferable to further include the step of confirming whether it is normal.

상기의 구성으로 이루어진 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템 및 그 방법에 따르면, 데이터 요청자가 데이터 접근 권한을 획득했을 경우 데이터 제공자의 개입 없이 네트워크로부터 안전하게 데이터를 획득할 수 있다. 또한 데이터가 보관되는 스토리지를 소유하거나 운영하는 주체가 데이터를 획득할 수 없다. 데이터를 제공하는 자가 데이터를 네트워크에 등록한 상태에서 데이터를 요청하는 자가 네트워크를 통해 데이터 접근 권한을 획득하고 데이터를 요청할 경우, 그리고 데이터를 제공하는 자가 데이터를 요청하는 자를 알지 않아도 되는 경우에 안전한 데이터 거래를 위해 암호화된 데이터의 파편을 분산 저장함으로써, 데이터가 보관되는 스토리지 운영 주체조차 데이터를 획득할 수 없도록 하여 오로지 데이터 접근 권한을 얻은 자만이 데이터를 얻게 할 수 있다.According to the data security system and method for blockchain-based data transaction and storage in the decentralized system environment composed of the above configuration, when the data requestor acquires the data access right, data is safely obtained from the network without the intervention of the data provider. can do. In addition, data cannot be obtained by the entity that owns or operates the storage where the data is stored. Secure data transaction when the data provider obtains data access right through the network and requests data while the data provider has registered the data in the network, and the data provider does not need to know the person requesting the data By distributing fragments of encrypted data for data storage, even the storage operating entity where the data is stored cannot obtain the data, so that only those who have data access rights can obtain the data.

도 1은 종래의 블록체인 기반 데이터 거래 시스템의 구성도,
도 2는 본 발명에 따른 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템의 간략 구성도,
도 3은 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템의 세부 구성도,
도 4는 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법의 데이터 등록 및 획득 과정의 예시도,
도 5는 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법의 신호 흐름도이다.
1 is a block diagram of a conventional blockchain-based data transaction system;
2 is a simplified configuration diagram of a data security system for transaction and storage of blockchain-based data in a decentralized system environment according to the present invention;
3 is a detailed configuration diagram of a data security system for transaction and storage of blockchain-based data in a decentralized system environment of the present invention;
4 is an exemplary diagram of a data registration and acquisition process of a data security method for blockchain-based data transaction and storage in a decentralized system environment of the present invention;
5 is a signal flow diagram of a data security method for blockchain-based data transaction and storage in a decentralized system environment of the present invention.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Advantages and features of the present invention, and a method of achieving it, will be explained through the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, these embodiments are provided to explain in detail enough to be able to easily implement the technical idea of the present invention to those of ordinary skill in the art to which the present invention pertains.

도면들에 있어서, 본 발명의 실시예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한, 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다. 본 명세서에서 "및/또는"이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 "포함한다" 또는 "포함하는"으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작, 소자 및 장치의 존재 또는 추가를 의미한다.In the drawings, embodiments of the present invention are not limited to the specific form shown and are exaggerated for clarity. In addition, parts denoted by like reference numerals throughout the specification denote like elements. In the present specification, the expression “and/or” is used to mean including at least one of the elements listed before and after. The singular also includes the plural, unless the phrase specifically dictates otherwise. Also, as used herein, a component, step, operation, and element referred to as “comprises” or “comprising” refers to the presence or addition of one or more other components, steps, operations, elements, and devices.

본 발명은 다음과 같은 특징을 가진다.The present invention has the following features.

1) 데이터 파편으로 분할하기 전에 원본 데이터를 암호화시킨다. 이에 의해, 데이터 보관자나 데이터 파편을 획득한 자가 원본 데이터의 일부라도 유추할 수 없게 된다.1) Encrypt the original data before splitting it into data fragments. Accordingly, the data keeper or the person who obtained the data fragment cannot infer even a part of the original data.

2) 암호화된 원본 데이터를 복호화하기 위한 복호화 키를 블록체인상의 스마트 컨트랙트에 기록한다. 2) The decryption key for decrypting the original encrypted data is recorded in the smart contract on the blockchain.

3) 데이터 보관 주체가 데이터 획득을 할 수 없도록 복수개의 데이터 보관자들이 암호화된 각 다른 데이터 파편을 보관한다. 3) A plurality of data custodians keep different pieces of encrypted data so that the data custodian cannot acquire data.

4) 데이터의 원본과 데이터의 파편, 암호화 된 데이터 파편의 해시 값을 블록체인상의 스마트 컨트랙트에 기록함으로써 무결성을 검증할 수 있다.4) Integrity can be verified by recording the original data, fragments of data, and hash values of encrypted fragments of data in a smart contract on the blockchain.

5) 동일한 데이터 파편을 복수의 데이터 보관자에게 보관시킴으로써 일부 보관자가 네트워크에서 이탈하여도 데이터 파편이 유실되지 않도록 할 수 있다. 5) By keeping the same data fragments in multiple data custodians, data fragments are not lost even if some custodians leave the network.

이하에서, 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 상술한 특징을 가지는 본 발명을 구체적으로 설명한다. 본 발명을 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention having the above-described characteristics will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

도 2는 본 발명에 따른 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템의 간략 구성도이다. 2 is a simplified configuration diagram of a data security system for transaction and storage of blockchain-based data in a decentralized system environment according to the present invention.

도 2에 보인 바와 같이, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템(1)은 데이터 제공자(20), 블록체인(스마트 컨트랙트)(30), 데이터 보관자(보관 서버)(40), 데이터 요청자(50)를 포함한다. As shown in FIG. 2, the data security system 1 for data transaction and storage based on the block chain 1 includes a data provider 20, a block chain (smart contract) 30, a data custodian (storage server) 40, data requestor 50 .

본 발명의 블록체인은, 프라이빗(private) 블록체인, 퍼블릭(public) 블록체인 또는 프라이빗(private) 블록체인과 퍼블릭(public) 블록체인의 혼합형 등 다양한 형태의 블록체인을 포함하는 개념일 수 있다.The block chain of the present invention may be a concept including various types of block chains, such as a private block chain, a public block chain, or a mixed type of a private block chain and a public block chain.

데이터 제공자(20)와 데이터 요청자(50)는 블록체인 상의 하나의 노드를 포함한다.The data provider 20 and the data requestor 50 include one node on the block chain.

데이터 제공자(20)와, 스마트 컨트랙트(30), 데이터 요청자(50)의 기능을 하는 노드는, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말(PDA: Personal DigitalAssistant), 스마트 TV 및 이동통신 단말(Mobile Communication Terminal) 등 중 어느 하나일 수 있다.The node serving the functions of the data provider 20, the smart contract 30, and the data requester 50 is a tablet PC, a laptop, a personal computer (PC: Personal Computer), and a smart phone (Smart). Phone), a personal digital assistant (PDA), a smart TV, and a mobile communication terminal (Mobile Communication Terminal) may be any one.

본 보안 시스템(1)의 각 구성요소가 상호 통신하기 위한 네트워크(도시않음)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.A network (not shown) for mutual communication of each component of the present security system 1 means a connection structure in which information exchange is possible between each node such as terminals and servers, and a local area network (LAN) area network), a wide area network (WAN), the Internet (WWW: World Wide Web), a wired/wireless data communication network, a telephone network, a wired/wireless television communication network, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound Communication, Visible Light Communication (VLC), LiFi, etc. are included, but are not limited thereto.

데이터 제공자(20)는 데이터를 소유하고 있으며 공유하고자 하는 데이터를 스마트 컨트랙트(30)에 등록하고 복수의 데이터 보관자(40)에게 데이터 파편과 파편 복호화 키를 업로드한다. 이와 같이, 복수개의 데이터 보관자들이 암호화된 각 다른 데이터 파편을 보관하게 함으로써, 데이터 보관 주체가 데이터 획득을 할 수 없게 할 수 있다. The data provider 20 owns data and registers data to be shared in the smart contract 30 and uploads data fragments and fragment decryption keys to a plurality of data holders 40 . In this way, by allowing a plurality of data custodians to store different pieces of encrypted data, the data custodian may not be able to acquire data.

또한, 본 발명에서는, 데이터 제공자(20)는 동일한 데이터 파편을 복수의 데이터 보관자에게 업로드하여 보관시킨다. 이에 의해, 일부 보관자가 네트워크에서 이탈하여도 데이터 파편이 유실되지 않게 되어, 데이터 가용성이 확보된다. Further, in the present invention, the data provider 20 uploads and stores the same data fragment to a plurality of data holders. Thereby, data fragments are not lost even if some custodians leave the network, and data availability is ensured.

데이터 보관자(40)는 데이터 제공자(20)로부터 받은 데이터를 보관 및 관리하다가 데이터 요청을 받을 경우 스마트 컨트랙트(30)를 통해 데이터 요청자(50)가 데이터 접근 권한이 있는지를 확인하고 데이터 파편과 파편 복호화 키를 데이터 요청자(50)에게 전달한다. The data custodian 40 stores and manages the data received from the data provider 20, and when receiving a data request, checks whether the data requestor 50 has data access rights through the smart contract 30, and decrypts the data fragments and fragments. The key is transmitted to the data requestor 50 .

데이터 요청자(50)는 스마트 컨트랙트(30)로부터 데이터 접근 권한을 얻고 데이터 보관자(40)로부터 데이터 파편과 파편 복호화키를 요청하여 데이터 원본을 얻는다.The data requester 50 obtains the data access right from the smart contract 30 and requests the data fragment and fragment decryption key from the data custodian 40 to obtain the data source.

본 발명에서 스마트 컨트랙트(30)는 데이터 거래를 위한 기능을 제공하기 위해 블록체인상에 존재한다. In the present invention, the smart contract 30 exists on the blockchain to provide a function for data transaction.

스마트 컨트랙트(30)는 블록체인을 구성하는 다수의 노드(서버, 컴퓨터 등)에 설치되는 프로그램으로서는 실행 가능한 바이트 코드로 컴파일되어 적어도 하나의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이다. The smart contract 30 is a program installed in a plurality of nodes (servers, computers, etc.) constituting the block chain, and is a source code that can be compiled into executable byte code and executed on at least one computing device.

스마트 컨트랙트(30)가 하나의 노드에 설치되면, 블록체인내 다른 노드로 전파되어, 모든 노드가 스마트 컨트랙트를 가지게 된다. 스마트 컨트랙트가 지정된 기능을 수행하기 위해 노드 또는 다른 단말간에 정보를 송수신하는 상세 방법은 공지된 기술이므로 상세한 설명은 생략한다. When the smart contract 30 is installed in one node, it is propagated to other nodes in the block chain, and all nodes have the smart contract. A detailed method for transmitting and receiving information between nodes or other terminals in order for a smart contract to perform a specified function is a well-known technology, and thus detailed description thereof will be omitted.

또한, 본 발명에서, 스마트 컨트랙트는 블록체인에 기 저장된 조건에 따라 거래가 수행되는 것을 의미하며, 예를 들어, 기 저장된 조건을 만족하는 거래요청이 획득되는 경우, 자동으로 거래를 수행하는 것을 의미할 수 있다. 또한, 자동으로 수행되는 거래는 블록체인에 기 저장된 조건에 따라 수행된다.In addition, in the present invention, a smart contract means that a transaction is performed according to a condition pre-stored in the block chain, for example, when a transaction request that satisfies a pre-stored condition is obtained, it means that a transaction is automatically performed. can In addition, transactions that are automatically performed are performed according to conditions pre-stored in the block chain.

본 발명에 따라, 스마트 컨트랙트(30)에는 데이터 등록 내역, 데이터 접근 권한 내역, 데이터 보관자 내역이 기록되어 있다. According to the present invention, data registration details, data access rights details, and data custodian details are recorded in the smart contract 30 .

데이터 등록 내역에서는 데이터의 정보와 파편 정보, 파편과 보관자 매칭 정보를 포함한다. The data registration details include data information, fragment information, and fragment and custodian matching information.

데이터 접근 권한 내역에서는 누가 어떤 데이터에 접근이 가능한지에 대한 내역을 포함한다. The data access authority details include the details of who can access which data.

데이터 보관자 내역은 데이터 보관자(40)의 스토리지 엔드포인트 정보(서버 접속 정보)와 현재 보관중인 데이터의 용량과 총 보관 가능한 용량 정보를 포함한다. The data custodian details include storage endpoint information (server access information) of the data custodian 40 , the capacity of the currently stored data, and total storable capacity information.

해당 스마트 컨트랙트(30) 상에서 트랜잭션을 발생시킴으로써, 데이터 제공자(2))는 데이터를 등록하게 되며, 데이터 요청자(50)는 데이터 접근 권한을 획득하게 되고, 데이터 보관자(40)는 자신의 스토리지를 등록할 수 있다.By generating a transaction on the corresponding smart contract 30, the data provider 2) registers data, the data requestor 50 obtains data access rights, and the data custodian 40 registers its storage. can do.

본 발명에서, 데이터 거래 프로세스는 크게 데이터 제공자(20)가 진행하는 데이터 등록 과정과, 데이터 요청자(50)가 진행하는 데이터 획득 과정으로 구성된다. In the present invention, the data transaction process is largely composed of a data registration process performed by the data provider 20 and a data acquisition process performed by the data requester 50 .

데이터 등록은 1) 데이터 준비, 2) 데이터 등록, 3) 데이터 보관자 매칭, 4) 데이터를 보관자에 업로드 과정들로 구성된다. 데이터 획득은 1a) 데이터 권한 획득, 2a) 데이터 다운로드, 3a) 원본 데이터 획득 과정들로 구성된다.Data registration consists of 1) data preparation, 2) data registration, 3) matching data custodian, and 4) uploading data to custodian. Data acquisition consists of 1a) acquiring data rights, 2a) downloading data, and 3a) acquiring original data.

데이터 등록은 다음 과정으로 이루어진다.Data registration consists of the following steps.

먼저, 1) 데이터 준비 과정에서는 데이터를 전체 암호화 후 데이터를 여러 파편으로 나눈다. 이때 데이터의 파편은 비트(bit) 혹은 바이트(byte) 단위로 나눌 수 있다. 그 다음에 각 파편을 암호화하고, 앞의 각 단계에 대한 데이터의 해시 값을 얻는다. 2) 데이터 등록 과정에서는 데이터 등록을 위한 트랜잭션을 발생시키며, 이때 데이터 준비 과정에서 얻은 데이터 해시 값들과 1)의 데이터 준비 과정에서 암호화한 데이터를 복호화 가능한 복호화 키를 스마트 컨트랙트(30)에 기록한다. 3)데이터 보관자 매칭 과정에서는 각 데이터 파편이 각 데이터 보관자(혹은 데이터 보관 그룹)으로 매칭된다. First, 1) In the data preparation process, the data is completely encrypted and then the data is divided into several fragments. In this case, the data fragment can be divided into bits or bytes. It then encrypts each fragment and obtains a hash value of the data for each previous step. 2) In the data registration process, a transaction for data registration is generated, and at this time, the data hash values obtained in the data preparation process and the decryption key capable of decrypting the data encrypted in the data preparation process of 1) are recorded in the smart contract 30 . 3) In the data custodian matching process, each data fragment is matched to each data custodian (or data storage group).

매칭 방법은 데이터 제공자(20)가 직접 선택하거나, 무작위로 매칭할 수도 있고, 데이터 보관 용량이 낮은 순으로 혹은 데이터 보관 여유가 많은 순으로 매칭할 수도 있다. 이때, 매칭 정보가 스마트 컨트랙트(30)의 데이터 등록 내역에 기록되어야 한다. 4) 데이터를 보관자에 업로드하는 과정에서는 각 암호화된 데이터 파편들을 매칭된 데이터 보관자(40)들에 그것의 복호화 키와 함께 업로드한다. 이때, 각 데이터 보관자(40)는 업로드된 데이터 파편의 해시 값이 스마트 컨트랙트(30)에 해당 데이터 등록내역과 함께 기록된 해시 값과 일치하는지를 확인한다.The matching method may be directly selected by the data provider 20, may be matched randomly, or may be matched in the order of the lowest data storage capacity or the largest data storage space. At this time, matching information should be recorded in the data registration details of the smart contract 30 . 4) In the process of uploading data to the custodian, each encrypted data fragment is uploaded to the matched data custodians 40 together with its decryption key. At this time, each data custodian 40 checks whether the hash value of the uploaded data fragment matches the hash value recorded together with the data registration details in the smart contract 30 .

데이터 획득 과정은 다음 과정으로 이루어진다.The data acquisition process consists of the following steps.

1a) 데이터 권한 획득 과정에서는 스마트 컨트랙트(30)를 통해 데이터 권한을 획득한다. 이때 스마트 컨트랙트에는 데이터 권한 인증을 위한 공개키를 기록한다. 1a) In the process of acquiring data rights, data rights are acquired through the smart contract 30 . At this time, the public key for data authority authentication is recorded in the smart contract.

2a) 데이터 요청 과정에서는, 데이터 요청자(50)가 스마트 컨트랙트(30)에 기록된 데이터 보관 내역에 따라 암호화된 데이터 파편을 보관하고 있는 데이터 보관자(50)들에게 데이터 파편과 복호화 키를 요청한다. 각 데이터 보관자(50)들은 데이터 요청자(50)의 데이터 접근 권한을 스마트 컨트랙트(30) 상에서 확인하고, 데이터 파편의 복호화 키를 스마트 컨트랙트(30) 상에 기록된 데이터 권한 인증을 위한 공개키로 암호화하여 암호화된 데이터 파편과 함께 데이터 요청자(50)에게 전달한다. 2a) In the data request process, the data requestor 50 requests data fragments and a decryption key from the data holders 50 who store the encrypted data fragments according to the data storage details recorded in the smart contract 30 . Each data custodian 50 checks the data access right of the data requester 50 on the smart contract 30, and encrypts the decryption key of the data fragment with the public key for data authority authentication recorded on the smart contract 30. It is transmitted to the data requestor 50 together with the encrypted data fragment.

3a) 원본 데이터 획득 과정에서는 데이터 요청자(50)는 각 데이터 보관자(40)들로부터 받은 데이터 파편 복호화키를 데이터 요청자(50)의 데이터 권한 인증을 위한 비밀키로 복호화하여 얻고, 이 복호화키를 이용하여 각 암호화된 데이터 파편을 복호화한다. 데이터 요청자(50)는 복호화된 데이터 파편을 합쳐 하나의 데이터로 만들고 스마트 컨트랙트(30)에 기록된 원본 데이터 복호화키를 이용하여 합쳐진 데이터를 복호화하여 원본 데이터를 획득한다. 3a) In the original data acquisition process, the data requestor 50 decrypts the data fragment decryption key received from each data holders 40 with the secret key for data authorization authentication of the data requestor 50, and uses this decryption key Decrypt each encrypted data fragment. The data requester 50 combines the decrypted data fragments into one piece of data, and uses the original data decryption key recorded in the smart contract 30 to decrypt the combined data to obtain the original data.

이때 데이터 요청자(50)는 원본 데이터를 비롯한 각 데이터 획득 단계에서의 해시 값들을 스마트 컨트랙트(30)에 기록된 해시 값들과 비교하여 원본 데이터를 정상적으로 획득하였는지를 확인한다.At this time, the data requester 50 compares the hash values in each data acquisition step including the original data with the hash values recorded in the smart contract 30 to confirm whether the original data is normally obtained.

도 3은 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템의 세부 구성도이다. 3 is a detailed configuration diagram of a data security system for blockchain-based data transaction and storage in a decentralized system environment of the present invention.

도 3에서, 데이터 제공자(20), 스마트 컨트랙트(30), 데이터 보관 서버(40), 데이터 요청자(50)가 본 발명에서 수행하는 각각의 기능을 세분화하여 세부 기능 블록을 가지는 것으로 나타내었으나, 일실시예일 뿐이며, 발명을 구현하는 당시의 기술을 반영하여 다양하게 구현가능하다. In FIG. 3, the data provider 20, the smart contract 30, the data storage server 40, and the data requestor 50 subdivided each function performed in the present invention to have detailed functional blocks. It is merely an embodiment, and various implementations are possible by reflecting the technology at the time of implementing the invention.

도 3에 보인 바와 같이, 데이터 제공자(20)는, 입력부(21), 통신부(22) 및 제어부(26)를 포함한다. 그리고, 데이터 제공자(20)는, 제어부(56)의 제어에 따라 동작하는 기능블록(24)으로서, 데이터 전체 암호화부(24a), 데이터 전체 암호화부(24a)에서 출력되는 암호화 데이터를 파편화하는 데이터 파편화부(24b), 파편 데이터를 암호화하는 파편 데이터 암호화부(24c), 데이터를 암호화하고 파편화하는 각 단계에서 해시값을 추출하는 해시값 추출부(24d), 원본 데이터를 복호화하는 원본데이터 복호화기 등록부(24e), 보관자 매칭 요청부(24f), 파편 데이터를 데이터 보관 서버에 업로드하는 기능과 해시값을 업로드하는 기능을 하는 데이터 업로드부(24g)를 포함한다. As shown in FIG. 3 , the data provider 20 includes an input unit 21 , a communication unit 22 , and a control unit 26 . The data provider 20 is a functional block 24 that operates under the control of the control unit 56, and fragments the encrypted data output from the all data encryption unit 24a and the entire data encryption unit 24a. A fragmentation unit 24b, a fragment data encryption unit 24c for encrypting fragment data, a hash value extraction unit 24d for extracting a hash value in each step of encrypting and fragmenting data, an original data decrypter for decrypting the original data It includes a registration unit 24e, a custodian matching request unit 24f, and a data upload unit 24g having a function of uploading fragment data to a data storage server and a function of uploading a hash value.

데이터 전체 암호화부(24a)는 데이터를 비트 또는 바이트 단위로 섞어서 암호화한다. 이와 같이, 데이터 파편을 분할하기 전에 원본 데이터를 암호화 시킴으로써 데이터 보관자나 데이터 파편을 획득한 자가 원본 데이터의 일부라도 유추할 수 없게 한다. The whole data encryption unit 24a mixes and encrypts data in bit or byte units. In this way, by encrypting the original data before dividing the data fragment, the data keeper or the person who obtained the data fragment cannot infer even a part of the original data.

데이터 파편화부(24c)는 전체 암호화된 데이터를 적어도 2개 이상으로 파편화한다.The data fragmentation unit 24c fragments the entire encrypted data into at least two pieces.

파편 데이터 암호화부(24c)는 공개키를 적어도 3개 이상 생성하여, 공개키로 각 파편 데이터를 암호화한다. The fragment data encryption unit 24c generates at least three public keys and encrypts each fragment data with the public key.

여기서, 데이터 암호화는 대칭키 방식과 비대칭키 방식이 있다. 대칭키 방식은 암호화/복호화가 동일한 키로 이루어진다. 비대칭키 방식은 암호화가 공개키로 수행되고, 복호화는 개인키(비밀키)로 수행된다. Here, data encryption includes a symmetric key method and an asymmetric key method. In the symmetric key method, encryption/decryption is performed with the same key. In the asymmetric key method, encryption is performed with a public key, and decryption is performed with a private key (private key).

본 실시예에서, 파편 데이터를 암호화하는 것은 비대칭키 방식을 사용한다.In this embodiment, encrypting the fragment data uses an asymmetric key scheme.

해시값 추출부(24c)는 전체 데이터를 암호화하는 과정, 데이터를 파편화하는 과정, 공개키로 데이터를 암호화하는 과정 등 각각의 과정에서 데이터해시값을 획득하고, 제어부(26)는 이 해시값들을 저장부(25)에 임시 저장한다. 데이터에서 해시를 추출하여 저장해두는 이유는, 원본 데이터가 조금이라도 변경이 되면 해시가 완전 변동되기 때문에 해시값들을 저장해두고, 추후에 해시값들을 비교함으로써, 원본 데이터가 변경되었는지 확인하기 위한 것이다. 이와 같이, 데이터의 원본과 데이터의 파편, 암호화된 데이터 파편의 해시 값을 스마트 컨트랙트(30)에 기록함으로써 무결성을 검증할 수 있게 된다.The hash value extraction unit 24c obtains a data hash value in each process, such as a process of encrypting the entire data, a process of fragmenting the data, and a process of encrypting data with a public key, and the control unit 26 uses these hash values Temporarily stored in the storage unit (25). The reason for extracting and storing the hash from the data is to check whether the original data has changed by storing the hash values and comparing the hash values later because the hash is completely changed when the original data is changed even a little. In this way, the integrity of the data can be verified by recording the original data, the data fragments, and the hash values of the encrypted data fragments in the smart contract 30 .

원본데이터 복호화기 등록부(24e)는 각 단계의 데이터해시값과 암호화 원본 데이터 복호화키를 블록체인 상의 스마트 컨트랙트(30)에 등록한다.The original data decryptor registration unit 24e registers the data hash value of each step and the encryption original data decryption key in the smart contract 30 on the block chain.

보관자 매칭 요청부(24g)는 스마트 컨트랙트(30)가 매칭해주는 다수의 데이터 보관자 서버 중에 하나를 선택한다. The custodian matching request unit 24g selects one of a plurality of data custodian servers that the smart contract 30 matches.

또한, 다른 실시예에 따라, 보관자 매칭 요청부(24g)는 스마트 컨트랙트(30)에 요청해서 데이터 보관자 서버 리스트를 수신하여 데이터 보관자 서버를 직접 선택할 수도 있다. 유사한 방법으로, 데이터 제공자(20)가 데이터를 보관한 데이터 보관 서버(40)를 선택하는 방법은, 데이터 제공자(20)가 직접 스마트 컨트랙트(30)에 저장된 데이터 보관자 내역을 조회하여 선택하게 할 수 있다. Also, according to another embodiment, the custodian matching request unit 24g may request the smart contract 30 to receive the data custodian server list and directly select the data custodian server. In a similar way, the data provider 20 selects the data storage server 40 in which data is stored, the data provider 20 can directly inquire and select the data storage details stored in the smart contract 30. have.

또한, 또다른 실시예에 따라, 데이터 제공자(20)가 데이터 파편들의 크기 정보들을 스마트 컨트랙트(30)에 전송하여, 스마트 컨트랙트(30)가 직접 데이터 파편들과 데이터 보관 서버(40)를 매칭하여 결정할 수도 있을 것이다.In addition, according to another embodiment, the data provider 20 transmits the size information of the data fragments to the smart contract 30, so that the smart contract 30 directly matches the data fragments with the data storage server 40 you may decide

업로드부(24d)는 파편 데이터를 지정된 데이터 보관 서버(40)에 업로드한다. 또한, 업로드부(24d)는 해시값들을 스마트 컨트랙트(30)에 업로드한다.The upload unit 24d uploads the fragment data to the designated data storage server 40 . In addition, the upload unit 24d uploads the hash values to the smart contract 30 .

데이터 제공자(20)의 제어부(26)는 상술한 각 기능 블록을 제어하여, 블록체인상의 스마트 컨트랙트 및 데이터 보관 서버(40)와 통신하여, 데이터를 송수신한다.The control unit 26 of the data provider 20 controls each functional block described above, communicates with the smart contract and data storage server 40 on the block chain, and transmits and receives data.

도 3의 스마트 컨트랙트(30)는 다음과 같은 기능 블록을 포함한다.The smart contract 30 of FIG. 3 includes the following functional blocks.

도 3에 보인 바와 같이, 블록체인상의 스마트 컨트랙트(30)는 상술한 기능을 수행하기 위해, 다음의 구성을 가진다. 입력부(31), 통신부(32), 표시부(33), 저장부(35), 및 제어부(36)를 포함한다. 그리고, 스마트 컨트랙트(30)는 제어부(36)의 제어에 따라 동작하는 기능블록으로서, 데이터 보관 서버(40)의 데이터 용량 체크부(34a), 보관자 매칭부(34b), 데이터 파편 보관자 조회부(34c), 데이터 접근 권한 확인부(34d)를 포함한다. As shown in Fig. 3, the smart contract 30 on the block chain has the following configuration to perform the above-described functions. It includes an input unit 31 , a communication unit 32 , a display unit 33 , a storage unit 35 , and a control unit 36 . And, the smart contract 30 is a functional block that operates under the control of the control unit 36, and the data capacity check unit 34a, the holder matching unit 34b, and the data fragment holder inquiry unit of the data storage server 40 ( 34c), and a data access authority checking unit 34d.

데이터 용량 체크부(34a)는 각 데이터 보관 서버(40)의 용량 정보를 요청하여 데이터 보관 서버의 용량 정보를 형성한다.The data capacity check unit 34a requests the capacity information of each data storage server 40 to form the capacity information of the data storage server.

제어부(36)는 각 기능 블록을 제어하며, 보관자 매칭부(34b)에 의한 데이터 제공자 정보와 파편데이터 및 데이터 보관 서버 매칭 결과 정보를 저장부(35)에 저장한다. 또한, 제어부(36)는 데이터 제공자로부터 전송되는 데이터해시값과 원본데이터 복호화키를 저장부(35)에 저장하고, 데이터 요청자(50)로부터 전송되는 데이터권한 인증용 공개키를 저장부(35)에 저장한다. The control unit 36 controls each functional block, and stores data provider information and fragment data and data storage server matching result information by the storage matching unit 34b in the storage unit 35 . In addition, the control unit 36 stores the data hash value and the original data decryption key transmitted from the data provider in the storage unit 35 , and stores the public key for data authorization authentication transmitted from the data requestor 50 in the storage unit 35 . ) is stored in

이에 따라, 스마트 컨트랙트(30)의 저장부(35)에는 데이터 제공자(20)에 따른 원본 데이터 복호화키가 저장된다. 그리고, 저장부(35)에는 데이터 보관 서버 매칭 결과 정보가 임시 저장되고, 데이터권한 인증용 공개키가 임시 저장된다. Accordingly, the original data decryption key according to the data provider 20 is stored in the storage unit 35 of the smart contract 30 . And, the data storage server matching result information is temporarily stored in the storage unit 35, and the public key for data authority authentication is temporarily stored.

또한, 스마트 컨트랙트(30)의 저장부(35)에는 데이터 등록내역, 데이터 접근 권한 내역, 데이터 보관자 내역 정보가 저장된다. In addition, the storage unit 35 of the smart contract 30 stores data registration details, data access authority details, and data custodian details information.

데이터 등록 내역에서는 데이터의 정보와 파편 정보, 파편과 보관자 매칭 정보를 포함한다. 데이터 접근 권한 내역에서는 누가 어떤 데이터에 접근이 가능한지에 대한 내역을 포함한다. 데이터 보관자 내역은 데이터 보관자의 스토리지 엔드 포인트 정보(예를 들어, 서버 주소)와 현재 보관중인 데이터의 용량과 총 보관 가능한 용량 정보를 포함한다. The data registration details include data information, fragment information, and fragment and custodian matching information. The data access authority details include the details of who can access which data. The data custodian details include storage endpoint information (eg, server address) of the data custodian, and information on the amount of data currently being stored and the total storage capacity information.

데이터 파편 보관자 조회부(34c)는 데이터 요청자(50)의 요청에 따라, 데이터 보관 서버(40)에 저장된 파편 데이터를 조회한다. 그리고, 제어부(36)는 통신부(32)를 통해 조회결과인 파편 데이터 보관 내역 정보를 데이터 요청자(50)에게 전송한다.The data fragment storage inquiry unit 34c inquires for fragment data stored in the data storage server 40 according to the request of the data requester 50 . Then, the control unit 36 transmits the fragment data storage history information, which is the inquiry result, to the data requester 50 through the communication unit 32 .

데이터 접근 권한 확인부(34d)는, 데이터 요청자(50)가 파편 데이터 보관 내역 정보에 기초하여 파편 데이터를 수신하고자 데이터 보관 서버(40)에 요청한 경우 데이터 보관 서버(40)로부터 요청에 따라, 저장부(35)에 저장된 데이터 접근 권한 내역 정보에 기초하여, 데이터 요청자(50)의 접근 권한을 확인한다. The data access authority check unit 34d is, according to the request from the data storage server 40, when the data requestor 50 requests the data storage server 40 to receive the fragment data based on the fragment data storage history information, store Based on the data access authority details information stored in the unit 35, the access authority of the data requester 50 is checked.

한편, 데이터 보관 서버(40)는 다음과 같은 구성을 가진다.Meanwhile, the data storage server 40 has the following configuration.

데이터 보관 서버(40)는 도 3에 보인 바와 같이, 입력부(41), 통신부(42), 표시부(43), 저장부(45), 및 제어부(46)를 포함한다. 그리고, 데이터 보관 서버(40)는 제어부(46)의 제어에 따라 동작하는 기능 블록으로서, 서버 정보 등록부(44a), 데이터 접근 권한 요청부(44b), 데이터 파편 복호화키 암호화부(44c), 해시값 비교부(44d)를 포함한다.The data storage server 40 includes an input unit 41 , a communication unit 42 , a display unit 43 , a storage unit 45 , and a control unit 46 , as shown in FIG. 3 . In addition, the data storage server 40 is a functional block operating under the control of the control unit 46, and includes a server information registration unit 44a, a data access right request unit 44b, a data fragment decryption key encryption unit 44c, a hash and a value comparison unit 44d.

제어부(46)는 데이터 제공자(20)로부터 전송되는 파편 데이터, 해시값, 파편 복호화키(비밀키)를 수신하여, 데이터 제공자(20)의 식별정보 별로 파편 데이터, 해시값, 및 파편 복호화키(비밀키)를 매칭하여 저장부(46)에 저장한다.The control unit 46 receives the fragment data, hash value, and fragment decryption key (secret key) transmitted from the data provider 20, and the fragment data, hash value, and fragment decryption key ( secret key) and stored in the storage unit 46 .

서버 정보 등록부(44a)는 현재 저장 가능한 서버 용량, 서버 주소 등을 스마트 컨트랙트(30)에 등록한다. The server information registration unit 44a registers the currently storable server capacity, server address, and the like in the smart contract 30 .

데이터 접근 권한 요청부(44c)는, 데이터 요청자(50)의 데이터 접근 권한을 스마트 컨트랙트(30)에게 확인 요청한다.The data access authority request unit 44c requests the smart contract 30 to confirm the data access authority of the data requester 50 .

데이터 파편 복호화키 암호화부(44c)는 스마트 컨트랙트(30)로부터 수신한 데이터 권한 인증용 공개키로 데이터 파편의 복호화키를 암호화한다. The data fragment decryption key encryption unit 44c encrypts the data fragment decryption key with the public key for data authorization authentication received from the smart contract 30 .

여기서, 데이터 인증용 공개키는 제어부(46)가 스마트 컨트랙트(30)에게 요청하여 수신하거나, 데이터 요청자(50)에게 직접 요청하여 수신할 수도 있다.Here, the public key for data authentication may be received by the controller 46 by requesting it from the smart contract 30 , or by directly requesting the data requestor 50 to receive it.

해시값 비교부(44a)는 데이터 제공자(20)로부터 업로드된 데이터 파편의 해시값과 스마트 컨트랙트(30)에 저장된 데이터 등록 내역과 함께 기록된 해시값이 일치하는지 스마트 컨트랙트(30)에 확인요청한다.The hash value comparison unit 44a requests the smart contract 30 to confirm whether the hash value of the data fragment uploaded from the data provider 20 matches the hash value recorded with the data registration details stored in the smart contract 30. .

한편, 데이터 요청자(50)는 다음과 같은 구성을 가진다.Meanwhile, the data requester 50 has the following configuration.

데이터 요청자(50)는 도 3에 보인 바와 같이, 입력부(51), 통신부(52), 표시부(53), 저장부(55), 및 제어부(56)를 포함한다. 그리고, 데이터 요청자(50)는 제어부(56)의 제어에 따라 동작하는 기능블록으로서, 데이터 권한 획득 요청부(54a), 데이터 파편 수집부(54b), 데이터파편 복호화키 복호화부(54c), 데이터파편 복호화부(54d), 데이터파편 병합부(54e), 원본데이터 복호화부(54f), 원본데이터 정상여부 확인부(54g)를 포함한다.The data requester 50 includes an input unit 51 , a communication unit 52 , a display unit 53 , a storage unit 55 , and a control unit 56 , as shown in FIG. 3 . The data requester 50 is a functional block operating under the control of the control unit 56, and includes a data authority acquisition request unit 54a, a data fragment collection unit 54b, a data fragment decryption key decryption unit 54c, and data. It includes a fragment decoding unit 54d, a data fragment merging unit 54e, an original data decoding unit 54f, and an original data normality checking unit 54g.

데이터 권한 획득 요청부(54a)는 데이터 보관자(40)들의 데이터 보관 정보를 스마트 컨트랙트(30)에게 요청하여 수신하고자 할 때, 또는 스마트 컨트랙트(30)에 접속하여 데이터 보관 정보를 조회하고자 할 때, 데이터 권한 인증용 공개키를 전송하는 데이터 권한 획득 요청 트랙잭션을 형성한다. 이때 스마트 컨트랙트(30)는 데이터 요청자(50)가 전송한 데이터 권한 인증용 공개키를 기록한다. When the data authority acquisition request unit 54a wants to request and receive the data storage information of the data custodians 40 from the smart contract 30, or access the smart contract 30 to inquire the data storage information, Forms a data authority acquisition request transaction that transmits a public key for data authority authentication. At this time, the smart contract 30 records the public key for data authority authentication transmitted by the data requester 50 .

데이터 파편 수집부(54b)는, 스마트 컨트랙트(30)에 저장된 데이터 파편 보관 내역 정보를 조회한 후, 데이터 파편 보관 내역 정보를 참조하여, 원하는 데이터 파편을 보관하고 있는 데이터 보관 서버 정보(예를 들어, 서버 주소)로 각 데이터 보관 서버(40)에 접속하여 파편 데이터를 요청하여 수집한다. After inquiring the data fragment storage history information stored in the smart contract 30, the data fragment collection unit 54b refers to the data fragment storage history information, and the data storage server information that stores the desired data fragments (for example, , server address) to each data storage server 40 to request and collect fragment data.

데이터 파편 복호화키 복호화부(54c)는 암호화된 파편 데이터 복호화키를 자신의 데이터 권한 인증용 비밀키로 복호화한다. The data fragment decryption key decryption unit 54c decrypts the encrypted fragment data decryption key with its own data authority authentication private key.

데이터파편 복호화부(54d)는 복호화된 파편 데이터 복호화키로 파편 데이터의 암호를 풀어 복호화한다.The data fragment decryption unit 54d decrypts and decrypts the fragment data with the decrypted fragment data decryption key.

데이터 파편 병합부(54e)는, 복호화된 파편 데이터를 병합하여 전체 암호 데이터로 형성한다.The data fragment merging unit 54e merges the decrypted fragment data to form the entire encrypted data.

원본 데이터 복호화부(54f)는 스마트 컨트랙트(30)에 요청하여 수신한 원본 데이터 복호화키를 이용하여 암호화된 전체 데이터를 복호화하여 원본 데이터를 획득한다.The original data decryption unit 54f decrypts the entire encrypted data using the original data decryption key received by requesting the smart contract 30 to obtain the original data.

원본 데이터 정상여부 확인부(54g)는 데이터 요청자가 상술한 각 단계들에서 해시값을 획득하고, 스마트 컨트랙트(30)에 요청하여 수신한 해시값들을 비교하여 일치하는지 여부에 따라, 원본 데이터가 정상 여부 인지를 판단한다.The original data normality checking unit 54g obtains a hash value in each of the steps described above by the data requester, compares the received hash values by requesting the smart contract 30, and according to whether the original data is normal determine whether or not

도 4는 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템에서 대칭키와 비대칭키를 이용한 데이터 등록 및 획득하는 과정을 나타낸 예시도이다.4 is an exemplary diagram illustrating a process of registering and acquiring data using a symmetric key and an asymmetric key in a data security system for data transaction and storage based on a block chain in a decentralized system environment of the present invention.

도 4에 보인 바와 같이, 데이터 제공자(20)는 원본 데이터(61)를 암호화하여 암호화 데이터(61-1)를 형성하고, 암호화 데이터(61-1)를 복수개로 파편화하고, 파편 데이터(61-2)를 복수의 비대칭키(B, C)를 이용하여 암호화하여, 암호화된 각 파편 데이터(61-3)를 복수의 데이터 보관자 그룹에 등록하여 저장한다. 이와 같이, 복수개의 데이터 보관자들이 암호화된 각 다른 데이터 파편을 보관하면, 데이터 보관 주체가 데이터 획득을 할 수 없게 할 수 있다.As shown in FIG. 4 , the data provider 20 encrypts the original data 61 to form encrypted data 61-1, fragments the encrypted data 61-1 into a plurality of pieces, and fragments the fragment data 61- 2) is encrypted using a plurality of asymmetric keys (B, C), and each encrypted fragment data 61-3 is registered and stored in a plurality of data custodian groups. In this way, if a plurality of data custodians store different pieces of encrypted data, the data custodian may not be able to acquire data.

도 4의 도면에서, 블록 모양의 데이터 상에 자물쇠가 기재되어 있으면, 암호화된 데이터인 것을 나타낸다. 열쇠모양 함께 자물쇠가 함께 표시된 것은, 그 열쇠가 암호화된 것임을 나타낸다. 열쇠모양 A는 대칭키를 나타내고, 열쇠모양 B와 열쇠모양 C는 비대칭키를 나타낸다. 열쇠모양 D는 데이터 권한 인증키를 나타낸다. In the figure of Fig. 4, if a lock is written on the block-shaped data, it indicates that the data is encrypted. A lock with a key shape indicates that the key is encrypted. A key shape A represents a symmetric key, and a key shape B and key shape C represent an asymmetric key. The key shape D represents the data authority authentication key.

복수의 보관자 서버(40)인 보관자 그룹은 데이터를 데이터 요청자(50)에게 전송할 때, 암호화된 데이터 파편 복호화키(비밀키:B', C')와 함께 암호화된 파편 데이터를 전송한다. When the archiver group, which is a plurality of archiver servers 40, transmits data to the data requestor 50, it transmits the encrypted fragment data together with the encrypted data fragment decryption key (secret key: B', C').

데이터 요청자(50)는 비대칭키인 데이터 권한 인증키(D)로 암호화된 데이터 파편 복호화키(B')를 데이터 파편 복호화키(B)로 복호화하고, 데이터 파편 복호화키(B)로 암호화된 파편 데이터를 복호화한다. The data requester 50 decrypts the data fragment decryption key (B') encrypted with the data authority authentication key (D), which is an asymmetric key, with the data fragment decryption key (B), and the fragments encrypted with the data fragment decryption key (B). Decrypt data.

마찬가지로, 데이터 요청자는(50)는 비대칭키인 데이터 권한 인증키(D)로 암호화된 데이터 파편 복호화키(C')를 데이터 파편 복호화키(C)로 복호화하고, 데이터 파편 복호화키(C)로 암호화된 파편 데이터를 복호화한다. Similarly, the data requestor 50 decrypts the data fragment decryption key (C') encrypted with the data authority authentication key (D), which is an asymmetric key, with the data fragment decryption key (C), and uses the data fragment decryption key (C). Decrypts encrypted fragment data.

그리고, 데이터 요청자(50)는 복호화된 파편 데이터들을 합쳐, 암호화된 단일 데이터를, 대칭키인 원본 데이터 복호화키(A)를 이용하여 원본 데이터화한다.Then, the data requestor 50 combines the decrypted fragment data and converts the encrypted single data into original data using the original data decryption key (A), which is a symmetric key.

도 5는 본 발명의 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법의 신호 흐름도이다.5 is a signal flow diagram of a data security method for blockchain-based data transaction and storage in a decentralized system environment of the present invention.

도 5를 설명하기에 앞서, 도 5의 신호 흐름도는 일예이며, 확정된 것이 아니며, 필요에 따라, 순서가 변경될 수 있음은 물론이다.Before describing FIG. 5 , the signal flow diagram of FIG. 5 is an example and is not conclusive, and it goes without saying that the order may be changed if necessary.

도 5에 보인 바와 같이, 먼저, 데이터 제공자(20)의 암호화부(24a)가 데이터 전체를 암호화 한다(S10). 이때, 데이터 암호화는 데이터 비트를 섞음으로써 암호화 한다. 데이터 제공자(20)의 데이터파편화부(24b)가 데이터를 복수개로 파편화한다(S11). 데이터 제공자(20)의 암호화부(24a)가 복수의 데이터 파편을 상이한 공개키(예를 들어, 3개 이상 공개키)로 각각 암호화한다(S12). 데이터 제공자(20)의 해시값 추출부(24c)가 상술한 각 단계에서 데이터 해시값을 획득한다(S13). 파편 데이터는 공개키로 암호화된다. 5, first, the encryption unit 24a of the data provider 20 encrypts the entire data (S10). At this time, data encryption is encrypted by mixing data bits. The data fragmentation unit 24b of the data provider 20 fragments the data into a plurality of pieces (S11). The encryption unit 24a of the data provider 20 encrypts each of the plurality of data fragments with different public keys (eg, three or more public keys) (S12). The hash value extraction unit 24c of the data provider 20 obtains a data hash value in each of the above-described steps (S13). The fragment data is encrypted with the public key.

한편, 데이터 보관 서버(40)의 서버 정보 등록부(44a)는 현재 보관중인 데이터 용량 정보, 총보관 용량 정보, 데이터 보관 서버에 접속하기 위한 서버주소와 같은 스토리지 엔드 포인트 정보를 스마트 컨트랙트에 전송하여 등록한다(S14). 스마트 컨트랙트(30)의 제어부(36)는 각 데이터 보관 서버 정보를 저장부(35)에 저장한다(S15). On the other hand, the server information registration unit 44a of the data storage server 40 transmits and registers the storage endpoint information such as the currently stored data capacity information, the total storage capacity information, and the server address for accessing the data storage server to the smart contract. do (S14). The control unit 36 of the smart contract 30 stores each data storage server information in the storage unit 35 (S15).

데이터 제공자(20)의 제어부(26)가 암호화된 파편 데이터를 등록하기 위해 트랜잭션을 생성한다(S16). The control unit 26 of the data provider 20 generates a transaction to register the encrypted fragment data (S16).

데이터 제공자(20)의 제어부(25)가 각 단계의 해시값과 암호화 원본 데이터를 복호화하기 위한 원본 데이터 복호화키를 통신부(22)를 통해 스마트 컨트랙트(30)에 전송하고(S17), 스마트 컨트랙트(30)의 제어부(36)는 해시값과 원본 데이터 복호화키를 저장부(35)에 저장한다(S18).The control unit 25 of the data provider 20 transmits the hash value of each step and the original data decryption key for decrypting the encrypted original data to the smart contract 30 through the communication unit 22 (S17), the smart contract ( 30), the control unit 36 stores the hash value and the original data decryption key in the storage unit 35 (S18).

데이터 제공자(20)의 보관자 매칭 요청부(24e)가 파편 데이터를 저장하기 위해, 스마트 컨트랙트(30)에 요청해서 데이터 보관자 매칭을 수행한다(S19). 데이터 보관자 매칭 방법은 상술하였으므로 생략한다. The custodian matching request unit 24e of the data provider 20 performs data custodian matching by requesting the smart contract 30 to store the fragment data (S19). Since the data custodian matching method has been described above, it is omitted.

데이터 보관 서버(40)가 선택(매칭)되면, 스마트 컨트랙트(30)의 제어부(36)는 데이터 제공자(20)와 데이터 파편과 보관 서버(40)의 매칭 정보를 저장부(35)에 기록한다(S20).When the data storage server 40 is selected (matched), the control unit 36 of the smart contract 30 records matching information between the data provider 20 and the data fragment and the storage server 40 in the storage unit 35. (S20).

데이터 제공자(20)의 업로드부(24d)는, 매칭된 데이터 보관 서버(40)에 상술한 각 단계의 해시값과 암호화된 파편 데이터 및 파편 복호화키(비밀키)를 업로드한다(S21).The upload unit 24d of the data provider 20 uploads the hash value of each step described above, the encrypted fragment data and the fragment decryption key (secret key) to the matched data storage server 40 (S21).

데이터 보관 서버(40)의 제어부(46)는 데이터 제공자의 식별정보와 함께 암호화된 파편 데이터와 파편 복호화키를 저장부(45)에 저장한다(S22). 그리고, 데이터 보관 서버(40)의 해시값 비교부(44b)는 업로드된 데이터파편의 해시값과 블록체인(30)에 데이터 등록내역 정보로서 기록된 해시값이 일치하는지 확인한다(S23). 이는 각 암호화된 파편이 데이터 보관 서버(40)에 정확하게 저장되어 있는지 확인하기 위한 것이다. The control unit 46 of the data storage server 40 stores the encrypted fragment data and the fragment decryption key together with the identification information of the data provider in the storage unit 45 (S22). Then, the hash value comparison unit 44b of the data storage server 40 checks whether the hash value of the uploaded data fragment matches the hash value recorded as data registration information in the block chain 30 (S23). This is to confirm that each encrypted fragment is correctly stored in the data storage server 40 .

데이터 요청자(50)의 제어부(56)는 스마트 컨트랙트(30)에 데이터 권한 획득을 요청하는 트랜잭션을 생성하고 데이터 권한 인증용 공개키를 스마트 컨트랙트(30)에 통신부(52)를 통해 전송한다(S24).The control unit 56 of the data requestor 50 generates a transaction requesting data authority acquisition to the smart contract 30 and transmits the public key for data authority authentication to the smart contract 30 through the communication unit 52 (S24) ).

데이터 보관 서버(50)의 제어부(56)는 스마트 컨트랙트(30)에 권한 획득을 요청한 데이터 요청자(50)의 데이터 권한 인증용 공개키를 저장부(55)에 기록한다(S25). The control unit 56 of the data storage server 50 records the public key for data authority authentication of the data requester 50 who has requested the smart contract 30 to obtain the authority in the storage unit 55 (S25).

데이터 요청자(50)의 제어부(56)가 스마트 컨트랙트(30)에게 데이터 보관 내역을 요청 후 수신하고, 이 데이터 보관 내역을 참조하여 데이터 파편과 파편 복호화키를 요청한다(S26).The control unit 56 of the data requester 50 requests and receives the data storage details from the smart contract 30, and requests the data fragments and fragment decryption key with reference to the data storage details (S26).

데이터 요청자(50)의 데이터권한 획득 요청부(54a)는 스마트 컨트랙트(30)에 데이터접근 권한을 확인요청(조회)한다(S27).The data right acquisition request unit 54a of the data requester 50 requests (inquires) the data access right to the smart contract 30 (S27).

스마트 컨트랙트(30)의 접근 권한 확인부(34c)는 저장부(35)에 저장된 데이터 접근 권한 내역 정보에 기초하여, 데이터 요청자(50)가 접근가능자인지 확인하여, 접근 가능자이면, 데이터 권한 인증용 공개키를 데이터 보관 서버(40)에 전송한다(S28).The access authority confirmation unit 34c of the smart contract 30 checks whether the data requester 50 is an accessible person based on the data access authority details information stored in the storage unit 35, and if the access authority is an accessible person, for data authorization authentication The public key is transmitted to the data storage server 40 (S28).

데이터 보관 서버(40)의 데이터파편 복호화키 암호화부(44c)는, 스마트 컨트랙트(30)한테 요청하여 수신한 데이터 권한 인증용 공개키로 데이터파편의 복호화키를 암호화한다(S29).The data fragment decryption key encryption unit 44c of the data storage server 40 encrypts the data fragment decryption key with the public key for data authorization authentication requested and received from the smart contract 30 (S29).

데이터 보관 서버(40)의 제어부(46)는 암호화된 데이터파편 복호화키와 암호화된 데이터 파편을 데이터 요청자에게 전송한다(S30).The control unit 46 of the data storage server 40 transmits the encrypted data fragment decryption key and the encrypted data fragment to the data requester (S30).

데이터 요청자(50)의 데이터파편 복호화키 복호화부(54c)는 암호화된 데이터파편 복호화키를 자신이 저장하고 있는 데이터권한 인증을 위한 비밀키로 복호화한다(S31).The data fragment decryption key decryption unit 54c of the data requestor 50 decrypts the encrypted data fragment decryption key with the private key for data authorization authentication stored therein (S31).

그리고, 데이터 요청자(50)의 데이터파편 복호화부(54e)는 데이터파편 복호화키로 암호화된 데이터 파편을 복호화한다(S32). Then, the data fragment decryption unit 54e of the data requestor 50 decrypts the data fragment encrypted with the data fragment decryption key (S32).

데이터 요청자(50)의 원본 데이터 복호화부(54f)는 원본 데이터 복호화키를 스마트 컨트랙트(30)에 요청하여 수신하고(S33), 데이터 파편병합부(54e)는 복호화된 파편 데이터를 합하여, 단일의 데이터로 형성하고, 원본 데이터 복호화부(54f)는 원본 데이터 복호화키로 합쳐진 데이터를 복호화하여 원본 데이터를 획득한다(S34).The original data decryption unit 54f of the data requestor 50 requests and receives the original data decryption key from the smart contract 30 (S33), and the data fragment merging unit 54e sums the decrypted fragment data to form a single data, and the original data decryption unit 54f decrypts the combined data with the original data decryption key to obtain the original data (S34).

데이터 요청자(50)의 원본 데이터 정상여부 확인부(54g)는 각 데이터 획득 단계에서의 해시값들을 스마트 컨트랙트(30)에 기록된 해시값과 비교하여 원본 데이터가 정상인지 확인한다(S35). The original data normality check unit 54g of the data requester 50 compares the hash values in each data acquisition step with the hash values recorded in the smart contract 30 to confirm whether the original data is normal (S35).

상술한 본 발명에 의해, 데이터가 보관되는 서버를 운영하는 주체가 데이터를 획득할 수 없으며 오직 데이터 제공자와 데이터 요청자만이 데이터를 사용할 수 있는 데이터 기밀성을 확보하였다. According to the present invention described above, data confidentiality is secured so that the subject operating the server in which the data is stored cannot acquire the data and only the data provider and the data requestor can use the data.

또한, 본 발명은, 데이터 복호화 권한을 분산시켜 전달하기 때문에, 데이터 제공자가 데이터 요청에 개입하거나, 미리 데이터 요청자를 알아야 하는 제약사항에서 벗어날 수 있다. In addition, since the present invention distributes and transmits the data decryption authority, the data provider can intervene in the data request or can escape from the constraints of having to know the data requester in advance.

또한 다양한 주체를 통해 데이터가 보관 및 전달되는 과정에서 데이터 무결성을 검증할 수 있으며, 데이터를 보관하는 서버에서 장애가 발생하더라도 데이터 거래에 지장이 가지 않도록 데이터 가용성을 확보할 수 있다. 따라서, 본 발명은 블록체인 기반의 탈중앙화 된 네트워크에서 데이터를 안전하게 거래 및 보관하기 위해 데이터 보안을 확보하기에 효과적이다.In addition, data integrity can be verified in the process of data storage and delivery through various entities, and data availability can be secured so that data transactions are not disturbed even if a failure occurs in the server storing the data. Therefore, the present invention is effective in securing data security in order to safely transact and store data in a blockchain-based decentralized network.

상기는 본 발명의 예시로서, 한정적으로 해석되어야 하는 것은 아니다. 본 발명의 몇 가지 예시적인 실시 형태에 대해 설명했지만, 본 발명의 신규 교시 및 이점으로부터 현저하게 일탈하지 않고, 많은 변경이 예시적인 실시 형태에 있어서 가능한 것을 당업자라면 용이하게 이해할 것이다. 따라서 모든 그러한 변경은 특허청구의 범위에서 정의되는 본 발명의 범위 내에 포함되는 것이 의도된다. 따라서 상기가 본 발명의 예시이며, 공개된, 또는 본 명세서에 공개되는 발명에 있어서 특정의 실시 형태에 한정되는 것으로서 해석되어서는 안 되며, 개시된 실시 형태로의 변경 및 다른 실시 형태가 본 명세서에 개시되는 발명의 범위 내에 포함되는 것으로 이해해야 할 것이다.The above is an example of the present invention, and should not be construed as limiting. Although several exemplary embodiments of the present invention have been described, it will be readily understood by those skilled in the art that many changes are possible in the exemplary embodiments without significantly departing from the novel teachings and advantages of the present invention. Accordingly, all such modifications are intended to be included within the scope of the invention as defined in the claims. Therefore, the above is an illustration of the present invention, and it should not be construed as being limited to specific embodiments in the disclosed or disclosed invention, and changes to the disclosed embodiment and other embodiments are disclosed herein. It should be understood to be included within the scope of the present invention.

1 : 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템
20 : 데이터 제공자 21, 31, 41, 51 : 입력부
22, 32, 42, 52 : 통신부 25, 35, 45, 55 : 저장부
26, 36, 46, 56 : 제어부 24a : 데이터파편화부
24b : 암호화부 24c : 해시값 추출부
24d : 업로드부 24e : 보관자 매칭 요청부
24f : 원본 데이터 복화화키 등록부
30 : 스마트 컨트랙트 34a : 보관자 서버 용량 체크부
34b : 보관자 매칭부 34c : 데이터 접근 권한 확인부
34d : 데이터 파편 보관자 조회부
40 : 데이터 보관 서버 44a : 서버 정보 등록부
44b: 데이터접근 권한 요청부 44c : 데이터파편 복호화키 암호화부
44d : 해시값 비교부
50 : 데이터 요청자 54a : 데이터권한 획득 요청부
54b : 데이터파편 수집부 54c : 데이터파편 복호화키 복호화부
54d : 데이터파편 복호화부 54e : 데이터파편 병합부
54f : 원본 데이터 복호화부 54g : 원본 데이터 정상 여부 확인부
1: Data security system for data transaction and storage based on blockchain
20: data provider 21, 31, 41, 51: input unit
22, 32, 42, 52: communication unit 25, 35, 45, 55: storage unit
26, 36, 46, 56: control unit 24a: data fragmentation unit
24b: encryption unit 24c: hash value extraction unit
24d: upload unit 24e: holder matching request unit
24f: Original data decryption key register
30: smart contract 34a: storage server capacity check unit
34b: custodian matching unit 34c: data access authority verification unit
34d : Data Fragment Archiver Query Department
40: data storage server 44a: server information register
44b: data access permission request unit 44c: data fragment decryption key encryption unit
44d: hash value comparison unit
50: data requester 54a: data right acquisition request unit
54b: data fragment collection unit 54c: data fragment decryption key decryption unit
54d: data fragment decoding unit 54e: data fragment merging unit
54f: original data decoding unit 54g: original data normal checking unit

Claims (24)

블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템으로서,
공유하고자 하는 데이터를 등록하기 위한 트랜잭션을 생성하여 블록체인상의 스마트 컨트랙트에 전송하고, 데이터를 파편화하고 복호화하여 적어도 하나의 데이터 보관자에게 데이터 파편과 파편 복호화 키를 업로드하는 데이터 제공자;
데이터 등록 내역, 데이터 접근 권한 내역, 데이터 보관자 내역이 기록되고, 상기 데이터 제공자가 등록한 데이터의 접근 권한을 승인하는 스마트 컨트랙트;
상기 데이터 제공자로부터 전송된 데이터를 보관 및 관리하고, 소정의 데이터 요청자로부터 데이터 요청을 받을 경우 상기 스마트 컨트랙트를 통해 상기 데이터 요청자가 데이터 접근 권한이 있는지를 확인하고 데이터 파편과 파편 복호화 키를 상기 데이터 요청자에게 전달하는 데이터 보관자; 및
상기 스마트 컨트랙트로부터 데이터 접근 권한을 획득하고 상기 데이터 보관자로부터 제공된 데이터 파편과 파편 복호화키를 이용하여 데이터 원본을 획득하는 데이터 요청자를 포함하는 것을 특징으로 하는, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
As a data security system for blockchain-based data transaction and storage,
a data provider that creates a transaction for registering data to be shared and transmits it to a smart contract on the block chain, fragments and decrypts the data, and uploads the data fragment and fragment decryption key to at least one data custodian;
a smart contract in which data registration details, data access rights details, and data custodian details are recorded, and the data provider approves access rights to the registered data;
Stores and manages data transmitted from the data provider, and when receiving a data request from a predetermined data requester, checks whether the data requester has data access rights through the smart contract, and sends data fragments and fragment decryption keys to the data requester data custodian forwarding to; and
Data security for blockchain-based data transaction and storage, characterized in that it includes a data requester who obtains data access rights from the smart contract and obtains the data source using the data fragment and fragment decryption key provided from the data custodian system.
제1항에 있어서,
상기 데이터 등록 내역은 데이터 제공자 정보와 데이터 파편 정보, 데이터 파편 보관자 매칭 정보를 포함하고, 상기 데이터 접근 권한 내역은 누가 어떤 데이터에 접근이 가능한지에 대한 내역을 포함하고, 상기 데이터 보관자 내역은 데이터 보관자의 스토리지 엔드포인트 정보(서버 접속 정보)와 현재 보관중인 데이터의 용량과 총 보관 가능한 용량 정보를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The data registration details include data provider information, data fragment information, and data fragment holder matching information, the data access permission details include details on who can access which data, and the data storage details include the data custodian’s A data security system for transaction and storage of blockchain-based data, which includes storage endpoint information (server connection information), the capacity of the currently stored data, and the total storage capacity information.
제1항에 있어서,
상기 데이터 제공자는 전체 데이터를 비트 단위로 섞어서 데이터 전체를 암호화하고, 전체 암호화된 데이터를 적어도 2개 이상의 파편으로 분할한 후, 각 데이터 파편을 각각 상이한 공개키로 암호화하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The data provider encrypts the entire data by mixing the entire data bit by bit, splits the entire encrypted data into at least two or more fragments, and encrypts each data fragment with a different public key, a block chain-based data transaction and data security systems for archiving.
제1항에 있어서,
상기 데이터 제공자는 상기 스마트 컨트랙트에 데이터 보관 매칭을 요청하여, 매칭된 데이터 보관 서버에 암호화된 파편 데이터와 파편 복호화키를 업로드하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The data provider requests data storage matching from the smart contract, and uploads the encrypted fragment data and fragment decryption key to the matched data storage server. A data security system for data transaction and storage based on a block chain.
제1항에 있어서,
상기 스마트 컨트랙트는 상기 데이터 제공자의 요청에 따라, 각 데이터 보관 서버의 용량 정보를 포함한 데이터 보관 서버 정보에 근거하여, 파편 데이터를 저장가능한 파편 데이터 보관서버를 매칭하여 상기 데이터 제공자에게 매칭 정보를 제공하고, 매칭 정보를 저장하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The smart contract matches a fragment data storage server capable of storing fragment data based on data storage server information including capacity information of each data storage server at the request of the data provider, and provides matching information to the data provider, , a data security system for data transaction and storage based on blockchain, which stores matching information.
제1항에 있어서,
상기 데이터 제공자는 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값을 추출하여, 각 과정의 데이터해시값과 암호화 원본 데이터 복호화키를 상기 스마트 컨트랙트에 업로드하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The data provider extracts the data hash value generated in the process of encrypting the entire data, fragmenting the data, and encrypting the data with the public key, and obtains the data hash value of each process and the encryption original data decryption key. A data security system for data transaction and storage based on blockchain, which is uploaded to the smart contract.
제1항에 있어서,
상기 데이터 요청자는 데이터 권한 인증용 공개키를 포함하는 데이터 권한 획득 요청 트랙잭션을 형성하여 상기 스마트 컨트랙트에 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
The data requestor forms a data authority acquisition request transaction including a public key for data authority authentication and transmits it to the smart contract, a data security system for data transaction and storage based on a block chain.
제7항에 있어서,
상기 스마트 컨트랙트는 소정 데이터 요청자로부터 데이터 권한 인증용 공개키가 포함된 데이터 권한 획득 요청 트랜잭션을 수신하여 저장하고,
상기 데이터 보관 서버로부터 요청에 따라 소정 데이터 요청자의 데이터 접근 권한 확인을 수행한 후, 상기 저장한 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
8. The method of claim 7,
The smart contract receives and stores a data authority acquisition request transaction including a public key for data authority authentication from a predetermined data requester,
After confirming the data access authority of a predetermined data requestor according to a request from the data storage server, the stored public key for data authority authentication is transmitted to the data storage server, for blockchain-based data transaction and storage data security system.
제8항에 있어서,
상기 데이터 보관 서버는, 상기 데이터 제공자로부터 파편 데이터, 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값, 파편 복호화키를 전송받아, 데이터 제공자 식별정보 별로 상기 파편 데이터, 데이터해시값, 및 데이터 파편 복호화키를 함께 저장하고,
데이터 요청자로부터 데이터 요청시 상기 스마트 컨트랙트로부터 수신한 데이터 권한 인증용 공개키로 데이터 파편 복호화키를 암호화하여 파편 데이터와 함께 데이터 요청자에게 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
9. The method of claim 8,
The data storage server receives, from the data provider, a data hash value and a fragment decryption key generated in the process of encrypting the fragment data, the entire data, fragmenting the data, and encrypting the data with the public key, the data Storing the fragment data, the data hash value, and the data fragment decryption key together for each provider identification information,
A data security system for data transaction and storage based on a block chain that encrypts the data fragment decryption key with the public key for data authority authentication received from the smart contract when the data requestor requests data and transmits the data fragment decryption key together with the fragment data to the data requestor.
제9항에 있어서,
상기 데이터 요청자는, 수신한 암호화된 파편 데이터 복호화키를 자신의 데이터 권한 인증용 비밀키로 복호화하고, 복호화된 파편 데이터 복호화키로 파편 데이터의 암호를 풀어 복호화하고, 복호화된 파편 데이터를 병합하여 암호화된 전체데이터로 형성하고, 상기 스마트 컨트랙트에 요청하여 수신한 원본 데이터 복호화키를 이용하여 상기 암호화된 전체 데이터를 복호화하여 원본 데이터를 획득하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
10. The method of claim 9,
The data requester decrypts the received encrypted fragment data decryption key with his/her own data authority authentication secret key, decrypts and decrypts the fragment data with the decrypted fragment data decryption key, and merges the decrypted fragment data to encrypt the entire encrypted fragment data. A data security system for data transaction and storage based on a block chain to obtain original data by forming data and decrypting the entire encrypted data using the original data decryption key received by requesting the smart contract.
제10항에 있어서,
상기 데이터 요청자는 상술한 각 복호화 과정들에서 해시값을 획득하고, 상기 스마트 컨트랙트에 요청하여 수신한 해시값들을 비교하여 일치하는지 여부에 따라, 원본 데이터가 정상 여부 인지를 판단하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
11. The method of claim 10,
The data requester obtains a hash value in each of the above-described decryption processes, compares the received hash values by requesting the smart contract, and determines whether the original data is normal or not, depending on whether they match. Data security system for underlying data transaction and storage.
제1항에 있어서,
상기 데이터 요청자는 파편 데이터 요청을 위해, 상기 스마트 컨트랙트에 접속하여 데이터 파편 보관 정보를 조회하며, 상기 데이터 파편 보관 내역 정보를 참조하여, 원하는 데이터 파편을 보관하고 있는 데이터 보관 서버 정보로 각 데이터 보관 서버에 접속하여 파편 데이터를 요청하여 수집하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
According to claim 1,
In order to request fragment data, the data requester accesses the smart contract to inquire data fragment storage information, refers to the data fragment storage history information, and stores the desired data fragments as data storage server information for each data storage server. A data security system for data transaction and storage based on a blockchain, which requests and collects fragment data by accessing it.
제5항에 있어서,
상기 데이터 보관 서버는, 데이터 제공자로부터 업로드된 데이터 파편의 해시값과 상기 스마트 컨트랙트에 저장된 데이터 등록 내역과 함께 기록된 데이터 해시값이 일치하는지 상기 스마트 컨트랙트에 확인요청하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
6. The method of claim 5,
The data storage server requests the smart contract to confirm whether the hash value of the data fragment uploaded from the data provider matches the hash value of the data recorded together with the data registration details stored in the smart contract. and data security systems for archiving.
제1항 내지 제13항 중 어느 한 항에 있어서,
상기 각 데이터 파편은 적어도 3개 이상의 데이터 보관자에 저장되는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.
14. The method according to any one of claims 1 to 13,
A data security system for data transaction and storage based on a blockchain, wherein each data fragment is stored in at least three or more data custodians.
블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법으로서,
데이터 제공자가 데이터를 파편화하고 파편 데이터를 암호화한 후, 공유하고자 하는 데이터 등록하기 위한 트랜잭션을 생성하여 블록체인상의 스마트 컨트랙트에 전송하고, 복수의 데이터 보관자에게 암호화된 데이터 파편과 파편 복호화 키를 업로드하는 제1단계;
상기 스마트 컨트랙트가 상기 데이터 제공자의 데이터 등록 내역 정보, 데이터 접근 권한 내역 정보, 파편 데이터를 저장한 데이터 보관자 내역 정보를 형성하여 저장하는 제2단계;
상기 데이터 보관자가 상기 데이터 제공자가 업로드한 데이터 파편을 보관 및 관리하고, 소정 데이터 요청자로부터 데이터 요청을 받을 경우 상기 스마트 컨트랙트를 통해 상기 데이터 요청자가 데이터 접근 권한이 있는지를 확인하는 제3단계;
상기 확인결과 데이터 접근 권한이 있는 경우, 상기 데이터 보관자가 암호화된 데이터 파편과 파편 복호화 키를 상기 데이터 요청자에게 전송하는 제4단계;
상기 데이터 요청자가 수신한 데이터 파편과 파편 복호화키로 데이터 파편을 복호화하여 데이터 원본을 복구하는 제5단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
A data security method for blockchain-based data transaction and storage, comprising:
After the data provider fragments the data and encrypts the fragment data, it creates a transaction to register the data to be shared and sends it to a smart contract on the blockchain, and uploads the encrypted data fragments and fragment decryption key to multiple data holders. Step 1;
a second step in which the smart contract forms and stores data registration details information of the data provider, data access authority details information, and data custodian details information storing fragment data;
a third step in which the data custodian stores and manages the data fragments uploaded by the data provider, and when receiving a data request from a predetermined data requester, confirms whether the data requester has data access rights through the smart contract;
a fourth step of transmitting, by the data custodian, an encrypted data fragment and a fragment decryption key to the data requester, if the verification result indicates that the data access right is granted;
and a fifth step of decrypting the data fragment received by the data requester and the fragment decryption key to recover the data source.
제15항에 있어서,
상기 제1단계는,
상기 데이터 제공자가 전체 데이터를 비트 단위로 섞어서 데이터 전체를 암호화하는 단계;
전체 암호화된 데이터를 적어도 2개 이상의 파편으로 분할한 후, 각 데이터 파편을 각각 상이한 공개키로 암호화하는 단계;
상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터 해시값을 추출하여 각 과정의 데이터 해시값과 암호화 원본 데이터 복호화키를 상기 스마트 컨트랙트에 업로드하여 저장시키는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
16. The method of claim 15,
The first step is
encrypting, by the data provider, the entire data by mixing the entire data bit by bit;
splitting the entire encrypted data into at least two or more fragments, and then encrypting each data fragment with a different public key;
By extracting the data hash value generated in the process of encrypting the entire data, fragmenting the data, and encrypting data with the public key, the data hash value of each process and the encryption original data decryption key are uploaded to the smart contract and stored A data security method for blockchain-based data transaction and storage, comprising the step of
제15항에 있어서,
상기 제3단계는,
상기 데이터 제공자가 파편 데이터를 업로드 가능한 데이터 보관 서버 정보를 제공받기 위한 데이터 보관 매칭을 상기 스마트 컨트랙트에 요청하는 단계와;
상기 스마트 컨트랙트는 상기 데이터 제공자의 요청에 따라 파편 데이터를 저장가능한 데이터 보관 서버를 매칭하여 상기 데이터 제공자에게 매칭 정보를 제공하는 단계와;
상기 데이터 제공자가 상기 매칭 정보에 기초하여 매칭된 데이터 보관 서버에 암호화된 파편 데이터를 업로드하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
16. The method of claim 15,
The third step is
requesting the smart contract for data storage matching for the data provider to be provided with data storage server information capable of uploading fragment data;
providing, by the smart contract, matching information to the data provider by matching a data storage server capable of storing fragment data according to the request of the data provider;
and uploading, by the data provider, encrypted fragment data to a matched data storage server based on the matching information.
제15항에 있어서,
상기 제3단계는,
상기 스마트 컨트랙트가 상기 데이터 보관 서버로부터의 요청에 따라, 소정 데이터 요청자에 대한 데이터 접근 권한 확인을 수행한 후 상기 데이터 요청자로부터 전송받아 미리 저장한 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
16. The method of claim 15,
The third step is
In response to the request from the data storage server, the smart contract checks the data access authority for a predetermined data requestor, and then transmits the public key for data authorization authentication that is received from the data requester and stored in advance to the data storage server. A data security method for blockchain-based data transaction and storage, comprising the steps of:
제18항에 있어서,
상기 제3단계는,
상기 데이터 요청자가 데이터를 요청하기 위해 데이터 권한 인증용 공개키를 포함하는 데이터 권한 획득 트랜잭션을 형성하여 상기 스마트 컨트랙트에 전송하는 단계와, 상기 스마트 컨트랙트가 상기 데이터권한 인증용 공개키를 상기 데이터 요청자 식별정보와 함께 저장하는 단계를 더 포함하고;
상기 제4단계는,
상기 스마트 컨트랙트가 상기 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 단계와,
상기 데이터 보관 서버가 상기 데이터권한 인증용 공개키로 상기 데이터 파편의 복호화키를 암호화하여 상기 파편 데이터와 함께 상기 데이터 요청자에게 전송하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
19. The method of claim 18,
The third step is
Forming a data authority acquisition transaction including a public key for data authority authentication by the data requestor to request data and transmitting the data authority acquisition transaction to the smart contract, wherein the smart contract identifies the data requester with the public key for data authority authentication further comprising storing with the information;
The fourth step is
transmitting, by the smart contract, the public key for data authority authentication to the data storage server;
Data security for blockchain-based data transaction and storage, comprising the step of encrypting, by the data storage server, the decryption key of the data fragment with the public key for data authority authentication and transmitting the fragment data to the data requester Way.
제19항에 있어서,
상기 제5단계는,
상기 데이터 요청자가 상기 데이터 보관자로부터 전송된 암호화된 데이터파편 복호화키를 데이터권한 인증을 위한 비밀키로 복호화하는 단계와,
데이터파편 복호화키로 암호화된 다수의 데이터 파편을 복호화하는 단계와,
상기 데이터 요청자가 상기 스마트 컨트랙트에 원본 데이터 복호화키를 요청 및 수신하는 단계와,
상기 복호화된 데이터 파편을 합해 단일 데이터로 형성 후 상기 원본 데이터 복호화키로 상기 단일 데이터를 복호화하여 원본 데이터를 획득하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
20. The method of claim 19,
The fifth step is
Decrypting the encrypted data fragment decryption key transmitted from the data custodian by the data requester with a secret key for data authority authentication;
Decrypting a plurality of data fragments encrypted with a data fragment decryption key;
requesting and receiving, by the data requester, an original data decryption key from the smart contract;
Data security method for block chain-based data transaction and storage, comprising the step of obtaining original data by combining the decrypted data fragments to form single data and then decrypting the single data with the original data decryption key.
제20항에 있어서,
상기 제5단계는,
상기 데이터파편을 복호화하는 과정과 복호화된 데이터파편을 합해서 단일 데이터로 형성하는 과정에서 발생하는 데이터 해시값들을, 상기 스마트 컨트랙트에 기록된 해시값과 비교하여 원본 데이터가 정상인지 확인하는 단계를 더 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
21. The method of claim 20,
The fifth step is
Comparing the data hash values generated in the process of decoding the data fragments and the process of forming the decrypted data fragments into single data by combining the data fragments with the hash values recorded in the smart contract, further comprising the step of confirming whether the original data is normal A data security method for blockchain-based data transaction and storage.
제15항에 있어서,
상기 제3단계는,
상기 데이터 보관 서버가 상기 데이터 제공자로부터 업로드된 데이터파편의 해시값과 상기 스마트 컨트랙트에 저장된 데이터 등록 내역과 함께 기록된 해시값이 일치하는지 확인하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
16. The method of claim 15,
The third step is
Blockchain-based data transaction and storage, including the step of confirming, by the data storage server, whether the hash value of the data fragment uploaded from the data provider matches the hash value recorded together with the data registration details stored in the smart contract data security methods for
제15항에 있어서,
상기 제3단계는,
상기 데이터 요청자가 데이터를 요청하기 위해, 상기 스마트 컨트랙트에 저장된 데이터 보관 내역을 조회하는 단계와, 상기 조회결과에 기초하여 원하는 데이터 파편이 저장된 데이터 저장 서버에 접속하여 데이터 파편과 파편 복호화키를 요청하는 단계를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
16. The method of claim 15,
The third step is
In order for the data requester to request data, the step of inquiring the data storage details stored in the smart contract, and accessing the data storage server in which the desired data fragment is stored based on the inquiry result to request the data fragment and fragment decryption key A data security method for blockchain-based data transaction and storage, comprising the steps of:
제14항 내지 제23항 중 적어도 어느 한 항에 있어서,
상기 각 데이터 파편은 적어도 3개 이상의 데이터 보관자에 저장되는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 방법.
24. The method according to at least one of claims 14 to 23,
Wherein each data fragment is stored in at least three or more data custodians, a data security method for data transaction and storage based on a blockchain.
KR1020190153153A 2019-11-26 2019-11-26 Security system for data trading and data storage based on block chain and method therefor KR102399667B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153153A KR102399667B1 (en) 2019-11-26 2019-11-26 Security system for data trading and data storage based on block chain and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153153A KR102399667B1 (en) 2019-11-26 2019-11-26 Security system for data trading and data storage based on block chain and method therefor

Publications (3)

Publication Number Publication Date
KR20210064675A true KR20210064675A (en) 2021-06-03
KR102399667B1 KR102399667B1 (en) 2022-05-19
KR102399667B9 KR102399667B9 (en) 2022-12-27

Family

ID=76396630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153153A KR102399667B1 (en) 2019-11-26 2019-11-26 Security system for data trading and data storage based on block chain and method therefor

Country Status (1)

Country Link
KR (1) KR102399667B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113724083A (en) * 2021-09-02 2021-11-30 上海万向区块链股份公司 Data transaction method and system based on intelligent contract
KR102401485B1 (en) * 2021-12-30 2022-05-24 주식회사 디사일로 Method and system for processing homomorphic encrypted data
CN114785516A (en) * 2022-03-31 2022-07-22 浙江数秦科技有限公司 Time-limited encryption and decryption system based on block chain
CN116260655A (en) * 2023-05-06 2023-06-13 杭州瀚陆信息技术有限公司 Deep sea robot data transmission method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297551A (en) * 2001-03-30 2002-10-11 Mitsubishi Electric Corp Identification system
KR100565031B1 (en) * 2001-07-11 2006-03-30 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 Selection of content in response to communication environment
JP2008287488A (en) * 2007-05-17 2008-11-27 Psd:Kk Data distributing and preserving unit
JP2019074910A (en) * 2017-10-16 2019-05-16 株式会社日立製作所 Access authority management method, access authority management system, and access authority management device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002297551A (en) * 2001-03-30 2002-10-11 Mitsubishi Electric Corp Identification system
KR100565031B1 (en) * 2001-07-11 2006-03-30 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 Selection of content in response to communication environment
JP2008287488A (en) * 2007-05-17 2008-11-27 Psd:Kk Data distributing and preserving unit
JP2019074910A (en) * 2017-10-16 2019-05-16 株式会社日立製作所 Access authority management method, access authority management system, and access authority management device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113724083A (en) * 2021-09-02 2021-11-30 上海万向区块链股份公司 Data transaction method and system based on intelligent contract
KR102401485B1 (en) * 2021-12-30 2022-05-24 주식회사 디사일로 Method and system for processing homomorphic encrypted data
WO2023128340A1 (en) * 2021-12-30 2023-07-06 주식회사 디사일로 Method and system for processing homomorphic encrypted data
CN114785516A (en) * 2022-03-31 2022-07-22 浙江数秦科技有限公司 Time-limited encryption and decryption system based on block chain
CN114785516B (en) * 2022-03-31 2024-04-05 浙江数秦科技有限公司 Time-limited encryption and decryption system based on block chain
CN116260655A (en) * 2023-05-06 2023-06-13 杭州瀚陆信息技术有限公司 Deep sea robot data transmission method and system

Also Published As

Publication number Publication date
KR102399667B1 (en) 2022-05-19
KR102399667B9 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
CN109144961B (en) Authorization file sharing method and device
KR102399667B1 (en) Security system for data trading and data storage based on block chain and method therefor
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
CN110059503B (en) Traceable social information anti-leakage method
CN111199045A (en) Method and system for encrypted private key management for secure multiparty storage and delivery of information
US8824674B2 (en) Information distribution system and program for the same
CN105516110B (en) Mobile device security data transmission method
US11675922B2 (en) Secure storage of and access to files through a web application
CN110191153B (en) Social communication method based on block chain
US11943350B2 (en) Systems and methods for re-using cold storage keys
US20060010323A1 (en) Method for a repository to provide access to a document, and a repository arranged in accordance with the same method
JP6543743B1 (en) Management program
KR20130084604A (en) Method to control and limit readability of electronic documents
KR20140093716A (en) Method of securing a computing device
JP2006053800A (en) Information supply method, information supply system and repeating apparatus
US7266705B2 (en) Secure transmission of data within a distributed computer system
US6725370B1 (en) Sharing data safely using service replication
US11949773B2 (en) Systems and methods for secure key management using distributed ledger technology
JP7053031B2 (en) Information processing system, information processing device, information processing method and information processing program
KR102098803B1 (en) Security Management System using Block Chain Technology and Method thereof
JP2007226470A (en) Authority management server, authority management method, and authority management program
KR102359826B1 (en) Digital property code management system based on blockchain and method thereof
KR102154292B1 (en) Method for processing Query between Clients connected to a Blockchain and Service Provider
US20240064009A1 (en) Distributed anonymized compliant encryption management system
CN110839067A (en) Information providing method and device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]