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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Abstract
Description
본 발명은 블록체인 기반 데이터 거래와 보안 시스템에 관한 것으로서, 보다 상세하게는 탈중앙화 시스템 환경에서의 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법에 관한 것이다.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
본 발명의 블록체인은, 프라이빗(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
데이터 제공자(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
본 보안 시스템(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
데이터 제공자(20)는 데이터를 소유하고 있으며 공유하고자 하는 데이터를 스마트 컨트랙트(30)에 등록하고 복수의 데이터 보관자(40)에게 데이터 파편과 파편 복호화 키를 업로드한다. 이와 같이, 복수개의 데이터 보관자들이 암호화된 각 다른 데이터 파편을 보관하게 함으로써, 데이터 보관 주체가 데이터 획득을 할 수 없게 할 수 있다. The
또한, 본 발명에서는, 데이터 제공자(20)는 동일한 데이터 파편을 복수의 데이터 보관자에게 업로드하여 보관시킨다. 이에 의해, 일부 보관자가 네트워크에서 이탈하여도 데이터 파편이 유실되지 않게 되어, 데이터 가용성이 확보된다. Further, in the present invention, the
데이터 보관자(40)는 데이터 제공자(20)로부터 받은 데이터를 보관 및 관리하다가 데이터 요청을 받을 경우 스마트 컨트랙트(30)를 통해 데이터 요청자(50)가 데이터 접근 권한이 있는지를 확인하고 데이터 파편과 파편 복호화 키를 데이터 요청자(50)에게 전달한다. The
데이터 요청자(50)는 스마트 컨트랙트(30)로부터 데이터 접근 권한을 얻고 데이터 보관자(40)로부터 데이터 파편과 파편 복호화키를 요청하여 데이터 원본을 얻는다.The data requester 50 obtains the data access right from the
본 발명에서 스마트 컨트랙트(30)는 데이터 거래를 위한 기능을 제공하기 위해 블록체인상에 존재한다. In the present invention, the
스마트 컨트랙트(30)는 블록체인을 구성하는 다수의 노드(서버, 컴퓨터 등)에 설치되는 프로그램으로서는 실행 가능한 바이트 코드로 컴파일되어 적어도 하나의 컴퓨팅 장치 상에서 실행될 수 있는 소스 코드이다. The
스마트 컨트랙트(30)가 하나의 노드에 설치되면, 블록체인내 다른 노드로 전파되어, 모든 노드가 스마트 컨트랙트를 가지게 된다. 스마트 컨트랙트가 지정된 기능을 수행하기 위해 노드 또는 다른 단말간에 정보를 송수신하는 상세 방법은 공지된 기술이므로 상세한 설명은 생략한다. When the
또한, 본 발명에서, 스마트 컨트랙트는 블록체인에 기 저장된 조건에 따라 거래가 수행되는 것을 의미하며, 예를 들어, 기 저장된 조건을 만족하는 거래요청이 획득되는 경우, 자동으로 거래를 수행하는 것을 의미할 수 있다. 또한, 자동으로 수행되는 거래는 블록체인에 기 저장된 조건에 따라 수행된다.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
데이터 등록 내역에서는 데이터의 정보와 파편 정보, 파편과 보관자 매칭 정보를 포함한다. 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
해당 스마트 컨트랙트(30) 상에서 트랜잭션을 발생시킴으로써, 데이터 제공자(2))는 데이터를 등록하게 되며, 데이터 요청자(50)는 데이터 접근 권한을 획득하게 되고, 데이터 보관자(40)는 자신의 스토리지를 등록할 수 있다.By generating a transaction on the corresponding
본 발명에서, 데이터 거래 프로세스는 크게 데이터 제공자(20)가 진행하는 데이터 등록 과정과, 데이터 요청자(50)가 진행하는 데이터 획득 과정으로 구성된다. In the present invention, the data transaction process is largely composed of a data registration process performed by the
데이터 등록은 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
매칭 방법은 데이터 제공자(20)가 직접 선택하거나, 무작위로 매칭할 수도 있고, 데이터 보관 용량이 낮은 순으로 혹은 데이터 보관 여유가 많은 순으로 매칭할 수도 있다. 이때, 매칭 정보가 스마트 컨트랙트(30)의 데이터 등록 내역에 기록되어야 한다. 4) 데이터를 보관자에 업로드하는 과정에서는 각 암호화된 데이터 파편들을 매칭된 데이터 보관자(40)들에 그것의 복호화 키와 함께 업로드한다. 이때, 각 데이터 보관자(40)는 업로드된 데이터 파편의 해시 값이 스마트 컨트랙트(30)에 해당 데이터 등록내역과 함께 기록된 해시 값과 일치하는지를 확인한다.The matching method may be directly selected by the
데이터 획득 과정은 다음 과정으로 이루어진다.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
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
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
이때 데이터 요청자(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
도 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
도 3에 보인 바와 같이, 데이터 제공자(20)는, 입력부(21), 통신부(22) 및 제어부(26)를 포함한다. 그리고, 데이터 제공자(20)는, 제어부(56)의 제어에 따라 동작하는 기능블록(24)으로서, 데이터 전체 암호화부(24a), 데이터 전체 암호화부(24a)에서 출력되는 암호화 데이터를 파편화하는 데이터 파편화부(24b), 파편 데이터를 암호화하는 파편 데이터 암호화부(24c), 데이터를 암호화하고 파편화하는 각 단계에서 해시값을 추출하는 해시값 추출부(24d), 원본 데이터를 복호화하는 원본데이터 복호화기 등록부(24e), 보관자 매칭 요청부(24f), 파편 데이터를 데이터 보관 서버에 업로드하는 기능과 해시값을 업로드하는 기능을 하는 데이터 업로드부(24g)를 포함한다. As shown in FIG. 3 , the
데이터 전체 암호화부(24a)는 데이터를 비트 또는 바이트 단위로 섞어서 암호화한다. 이와 같이, 데이터 파편을 분할하기 전에 원본 데이터를 암호화 시킴으로써 데이터 보관자나 데이터 파편을 획득한 자가 원본 데이터의 일부라도 유추할 수 없게 한다. The whole
데이터 파편화부(24c)는 전체 암호화된 데이터를 적어도 2개 이상으로 파편화한다.The
파편 데이터 암호화부(24c)는 공개키를 적어도 3개 이상 생성하여, 공개키로 각 파편 데이터를 암호화한다. The fragment
여기서, 데이터 암호화는 대칭키 방식과 비대칭키 방식이 있다. 대칭키 방식은 암호화/복호화가 동일한 키로 이루어진다. 비대칭키 방식은 암호화가 공개키로 수행되고, 복호화는 개인키(비밀키)로 수행된다. 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
원본데이터 복호화기 등록부(24e)는 각 단계의 데이터해시값과 암호화 원본 데이터 복호화키를 블록체인 상의 스마트 컨트랙트(30)에 등록한다.The original data
보관자 매칭 요청부(24g)는 스마트 컨트랙트(30)가 매칭해주는 다수의 데이터 보관자 서버 중에 하나를 선택한다. The custodian matching request unit 24g selects one of a plurality of data custodian servers that the
또한, 다른 실시예에 따라, 보관자 매칭 요청부(24g)는 스마트 컨트랙트(30)에 요청해서 데이터 보관자 서버 리스트를 수신하여 데이터 보관자 서버를 직접 선택할 수도 있다. 유사한 방법으로, 데이터 제공자(20)가 데이터를 보관한 데이터 보관 서버(40)를 선택하는 방법은, 데이터 제공자(20)가 직접 스마트 컨트랙트(30)에 저장된 데이터 보관자 내역을 조회하여 선택하게 할 수 있다. Also, according to another embodiment, the custodian matching request unit 24g may request the
또한, 또다른 실시예에 따라, 데이터 제공자(20)가 데이터 파편들의 크기 정보들을 스마트 컨트랙트(30)에 전송하여, 스마트 컨트랙트(30)가 직접 데이터 파편들과 데이터 보관 서버(40)를 매칭하여 결정할 수도 있을 것이다.In addition, according to another embodiment, the
업로드부(24d)는 파편 데이터를 지정된 데이터 보관 서버(40)에 업로드한다. 또한, 업로드부(24d)는 해시값들을 스마트 컨트랙트(30)에 업로드한다.The upload
데이터 제공자(20)의 제어부(26)는 상술한 각 기능 블록을 제어하여, 블록체인상의 스마트 컨트랙트 및 데이터 보관 서버(40)와 통신하여, 데이터를 송수신한다.The
도 3의 스마트 컨트랙트(30)는 다음과 같은 기능 블록을 포함한다.The
도 3에 보인 바와 같이, 블록체인상의 스마트 컨트랙트(30)는 상술한 기능을 수행하기 위해, 다음의 구성을 가진다. 입력부(31), 통신부(32), 표시부(33), 저장부(35), 및 제어부(36)를 포함한다. 그리고, 스마트 컨트랙트(30)는 제어부(36)의 제어에 따라 동작하는 기능블록으로서, 데이터 보관 서버(40)의 데이터 용량 체크부(34a), 보관자 매칭부(34b), 데이터 파편 보관자 조회부(34c), 데이터 접근 권한 확인부(34d)를 포함한다. As shown in Fig. 3, the
데이터 용량 체크부(34a)는 각 데이터 보관 서버(40)의 용량 정보를 요청하여 데이터 보관 서버의 용량 정보를 형성한다.The data
제어부(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
이에 따라, 스마트 컨트랙트(30)의 저장부(35)에는 데이터 제공자(20)에 따른 원본 데이터 복호화키가 저장된다. 그리고, 저장부(35)에는 데이터 보관 서버 매칭 결과 정보가 임시 저장되고, 데이터권한 인증용 공개키가 임시 저장된다. Accordingly, the original data decryption key according to the
또한, 스마트 컨트랙트(30)의 저장부(35)에는 데이터 등록내역, 데이터 접근 권한 내역, 데이터 보관자 내역 정보가 저장된다. In addition, the storage unit 35 of the
데이터 등록 내역에서는 데이터의 정보와 파편 정보, 파편과 보관자 매칭 정보를 포함한다. 데이터 접근 권한 내역에서는 누가 어떤 데이터에 접근이 가능한지에 대한 내역을 포함한다. 데이터 보관자 내역은 데이터 보관자의 스토리지 엔드 포인트 정보(예를 들어, 서버 주소)와 현재 보관중인 데이터의 용량과 총 보관 가능한 용량 정보를 포함한다. 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
데이터 접근 권한 확인부(34d)는, 데이터 요청자(50)가 파편 데이터 보관 내역 정보에 기초하여 파편 데이터를 수신하고자 데이터 보관 서버(40)에 요청한 경우 데이터 보관 서버(40)로부터 요청에 따라, 저장부(35)에 저장된 데이터 접근 권한 내역 정보에 기초하여, 데이터 요청자(50)의 접근 권한을 확인한다. The data access
한편, 데이터 보관 서버(40)는 다음과 같은 구성을 가진다.Meanwhile, the
데이터 보관 서버(40)는 도 3에 보인 바와 같이, 입력부(41), 통신부(42), 표시부(43), 저장부(45), 및 제어부(46)를 포함한다. 그리고, 데이터 보관 서버(40)는 제어부(46)의 제어에 따라 동작하는 기능 블록으로서, 서버 정보 등록부(44a), 데이터 접근 권한 요청부(44b), 데이터 파편 복호화키 암호화부(44c), 해시값 비교부(44d)를 포함한다.The
제어부(46)는 데이터 제공자(20)로부터 전송되는 파편 데이터, 해시값, 파편 복호화키(비밀키)를 수신하여, 데이터 제공자(20)의 식별정보 별로 파편 데이터, 해시값, 및 파편 복호화키(비밀키)를 매칭하여 저장부(46)에 저장한다.The
서버 정보 등록부(44a)는 현재 저장 가능한 서버 용량, 서버 주소 등을 스마트 컨트랙트(30)에 등록한다. The server
데이터 접근 권한 요청부(44c)는, 데이터 요청자(50)의 데이터 접근 권한을 스마트 컨트랙트(30)에게 확인 요청한다.The data access
데이터 파편 복호화키 암호화부(44c)는 스마트 컨트랙트(30)로부터 수신한 데이터 권한 인증용 공개키로 데이터 파편의 복호화키를 암호화한다. The data fragment decryption
여기서, 데이터 인증용 공개키는 제어부(46)가 스마트 컨트랙트(30)에게 요청하여 수신하거나, 데이터 요청자(50)에게 직접 요청하여 수신할 수도 있다.Here, the public key for data authentication may be received by the
해시값 비교부(44a)는 데이터 제공자(20)로부터 업로드된 데이터 파편의 해시값과 스마트 컨트랙트(30)에 저장된 데이터 등록 내역과 함께 기록된 해시값이 일치하는지 스마트 컨트랙트(30)에 확인요청한다.The hash
한편, 데이터 요청자(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
데이터 권한 획득 요청부(54a)는 데이터 보관자(40)들의 데이터 보관 정보를 스마트 컨트랙트(30)에게 요청하여 수신하고자 할 때, 또는 스마트 컨트랙트(30)에 접속하여 데이터 보관 정보를 조회하고자 할 때, 데이터 권한 인증용 공개키를 전송하는 데이터 권한 획득 요청 트랙잭션을 형성한다. 이때 스마트 컨트랙트(30)는 데이터 요청자(50)가 전송한 데이터 권한 인증용 공개키를 기록한다. When the data authority
데이터 파편 수집부(54b)는, 스마트 컨트랙트(30)에 저장된 데이터 파편 보관 내역 정보를 조회한 후, 데이터 파편 보관 내역 정보를 참조하여, 원하는 데이터 파편을 보관하고 있는 데이터 보관 서버 정보(예를 들어, 서버 주소)로 각 데이터 보관 서버(40)에 접속하여 파편 데이터를 요청하여 수집한다. After inquiring the data fragment storage history information stored in the
데이터 파편 복호화키 복호화부(54c)는 암호화된 파편 데이터 복호화키를 자신의 데이터 권한 인증용 비밀키로 복호화한다. The data fragment decryption
데이터파편 복호화부(54d)는 복호화된 파편 데이터 복호화키로 파편 데이터의 암호를 풀어 복호화한다.The data fragment
데이터 파편 병합부(54e)는, 복호화된 파편 데이터를 병합하여 전체 암호 데이터로 형성한다.The data fragment merging
원본 데이터 복호화부(54f)는 스마트 컨트랙트(30)에 요청하여 수신한 원본 데이터 복호화키를 이용하여 암호화된 전체 데이터를 복호화하여 원본 데이터를 획득한다.The original
원본 데이터 정상여부 확인부(54g)는 데이터 요청자가 상술한 각 단계들에서 해시값을 획득하고, 스마트 컨트랙트(30)에 요청하여 수신한 해시값들을 비교하여 일치하는지 여부에 따라, 원본 데이터가 정상 여부 인지를 판단한다.The original data
도 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
도 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
데이터 요청자(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
한편, 데이터 보관 서버(40)의 서버 정보 등록부(44a)는 현재 보관중인 데이터 용량 정보, 총보관 용량 정보, 데이터 보관 서버에 접속하기 위한 서버주소와 같은 스토리지 엔드 포인트 정보를 스마트 컨트랙트에 전송하여 등록한다(S14). 스마트 컨트랙트(30)의 제어부(36)는 각 데이터 보관 서버 정보를 저장부(35)에 저장한다(S15). On the other hand, the server
데이터 제공자(20)의 제어부(26)가 암호화된 파편 데이터를 등록하기 위해 트랜잭션을 생성한다(S16). The
데이터 제공자(20)의 제어부(25)가 각 단계의 해시값과 암호화 원본 데이터를 복호화하기 위한 원본 데이터 복호화키를 통신부(22)를 통해 스마트 컨트랙트(30)에 전송하고(S17), 스마트 컨트랙트(30)의 제어부(36)는 해시값과 원본 데이터 복호화키를 저장부(35)에 저장한다(S18).The
데이터 제공자(20)의 보관자 매칭 요청부(24e)가 파편 데이터를 저장하기 위해, 스마트 컨트랙트(30)에 요청해서 데이터 보관자 매칭을 수행한다(S19). 데이터 보관자 매칭 방법은 상술하였으므로 생략한다. The custodian
데이터 보관 서버(40)가 선택(매칭)되면, 스마트 컨트랙트(30)의 제어부(36)는 데이터 제공자(20)와 데이터 파편과 보관 서버(40)의 매칭 정보를 저장부(35)에 기록한다(S20).When the
데이터 제공자(20)의 업로드부(24d)는, 매칭된 데이터 보관 서버(40)에 상술한 각 단계의 해시값과 암호화된 파편 데이터 및 파편 복호화키(비밀키)를 업로드한다(S21).The upload
데이터 보관 서버(40)의 제어부(46)는 데이터 제공자의 식별정보와 함께 암호화된 파편 데이터와 파편 복호화키를 저장부(45)에 저장한다(S22). 그리고, 데이터 보관 서버(40)의 해시값 비교부(44b)는 업로드된 데이터파편의 해시값과 블록체인(30)에 데이터 등록내역 정보로서 기록된 해시값이 일치하는지 확인한다(S23). 이는 각 암호화된 파편이 데이터 보관 서버(40)에 정확하게 저장되어 있는지 확인하기 위한 것이다. The
데이터 요청자(50)의 제어부(56)는 스마트 컨트랙트(30)에 데이터 권한 획득을 요청하는 트랜잭션을 생성하고 데이터 권한 인증용 공개키를 스마트 컨트랙트(30)에 통신부(52)를 통해 전송한다(S24).The
데이터 보관 서버(50)의 제어부(56)는 스마트 컨트랙트(30)에 권한 획득을 요청한 데이터 요청자(50)의 데이터 권한 인증용 공개키를 저장부(55)에 기록한다(S25). The
데이터 요청자(50)의 제어부(56)가 스마트 컨트랙트(30)에게 데이터 보관 내역을 요청 후 수신하고, 이 데이터 보관 내역을 참조하여 데이터 파편과 파편 복호화키를 요청한다(S26).The
데이터 요청자(50)의 데이터권한 획득 요청부(54a)는 스마트 컨트랙트(30)에 데이터접근 권한을 확인요청(조회)한다(S27).The data right
스마트 컨트랙트(30)의 접근 권한 확인부(34c)는 저장부(35)에 저장된 데이터 접근 권한 내역 정보에 기초하여, 데이터 요청자(50)가 접근가능자인지 확인하여, 접근 가능자이면, 데이터 권한 인증용 공개키를 데이터 보관 서버(40)에 전송한다(S28).The access
데이터 보관 서버(40)의 데이터파편 복호화키 암호화부(44c)는, 스마트 컨트랙트(30)한테 요청하여 수신한 데이터 권한 인증용 공개키로 데이터파편의 복호화키를 암호화한다(S29).The data fragment decryption
데이터 보관 서버(40)의 제어부(46)는 암호화된 데이터파편 복호화키와 암호화된 데이터 파편을 데이터 요청자에게 전송한다(S30).The
데이터 요청자(50)의 데이터파편 복호화키 복호화부(54c)는 암호화된 데이터파편 복호화키를 자신이 저장하고 있는 데이터권한 인증을 위한 비밀키로 복호화한다(S31).The data fragment decryption
그리고, 데이터 요청자(50)의 데이터파편 복호화부(54e)는 데이터파편 복호화키로 암호화된 데이터 파편을 복호화한다(S32). Then, the data
데이터 요청자(50)의 원본 데이터 복호화부(54f)는 원본 데이터 복호화키를 스마트 컨트랙트(30)에 요청하여 수신하고(S33), 데이터 파편병합부(54e)는 복호화된 파편 데이터를 합하여, 단일의 데이터로 형성하고, 원본 데이터 복호화부(54f)는 원본 데이터 복호화키로 합쳐진 데이터를 복호화하여 원본 데이터를 획득한다(S34).The original
데이터 요청자(50)의 원본 데이터 정상여부 확인부(54g)는 각 데이터 획득 단계에서의 해시값들을 스마트 컨트랙트(30)에 기록된 해시값과 비교하여 원본 데이터가 정상인지 확인한다(S35). The original data
상술한 본 발명에 의해, 데이터가 보관되는 서버를 운영하는 주체가 데이터를 획득할 수 없으며 오직 데이터 제공자와 데이터 요청자만이 데이터를 사용할 수 있는 데이터 기밀성을 확보하였다. 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:
22, 32, 42, 52:
26, 36, 46, 56:
24b:
24d: upload
24f: Original data decryption key register
30:
34b:
34d : Data Fragment Archiver Query Department
40:
44b: data access
44d: hash value comparison unit
50: data requester 54a: data right acquisition request unit
54b: data fragment
54d: data fragment decoding
54f: original
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.
상기 데이터 등록 내역은 데이터 제공자 정보와 데이터 파편 정보, 데이터 파편 보관자 매칭 정보를 포함하고, 상기 데이터 접근 권한 내역은 누가 어떤 데이터에 접근이 가능한지에 대한 내역을 포함하고, 상기 데이터 보관자 내역은 데이터 보관자의 스토리지 엔드포인트 정보(서버 접속 정보)와 현재 보관중인 데이터의 용량과 총 보관 가능한 용량 정보를 포함하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 제공자는 전체 데이터를 비트 단위로 섞어서 데이터 전체를 암호화하고, 전체 암호화된 데이터를 적어도 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.
상기 데이터 제공자는 상기 스마트 컨트랙트에 데이터 보관 매칭을 요청하여, 매칭된 데이터 보관 서버에 암호화된 파편 데이터와 파편 복호화키를 업로드하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 스마트 컨트랙트는 상기 데이터 제공자의 요청에 따라, 각 데이터 보관 서버의 용량 정보를 포함한 데이터 보관 서버 정보에 근거하여, 파편 데이터를 저장가능한 파편 데이터 보관서버를 매칭하여 상기 데이터 제공자에게 매칭 정보를 제공하고, 매칭 정보를 저장하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 제공자는 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값을 추출하여, 각 과정의 데이터해시값과 암호화 원본 데이터 복호화키를 상기 스마트 컨트랙트에 업로드하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 요청자는 데이터 권한 인증용 공개키를 포함하는 데이터 권한 획득 요청 트랙잭션을 형성하여 상기 스마트 컨트랙트에 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 스마트 컨트랙트는 소정 데이터 요청자로부터 데이터 권한 인증용 공개키가 포함된 데이터 권한 획득 요청 트랜잭션을 수신하여 저장하고,
상기 데이터 보관 서버로부터 요청에 따라 소정 데이터 요청자의 데이터 접근 권한 확인을 수행한 후, 상기 저장한 데이터권한 인증용 공개키를 상기 데이터 보관 서버에 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 보관 서버는, 상기 데이터 제공자로부터 파편 데이터, 상기 전체 데이터를 암호화하는 과정과 데이터를 파편화하는 과정과 공개키로 데이터를 암호화하는 과정에서 발생하는 데이터해시값, 파편 복호화키를 전송받아, 데이터 제공자 식별정보 별로 상기 파편 데이터, 데이터해시값, 및 데이터 파편 복호화키를 함께 저장하고,
데이터 요청자로부터 데이터 요청시 상기 스마트 컨트랙트로부터 수신한 데이터 권한 인증용 공개키로 데이터 파편 복호화키를 암호화하여 파편 데이터와 함께 데이터 요청자에게 전송하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 요청자는, 수신한 암호화된 파편 데이터 복호화키를 자신의 데이터 권한 인증용 비밀키로 복호화하고, 복호화된 파편 데이터 복호화키로 파편 데이터의 암호를 풀어 복호화하고, 복호화된 파편 데이터를 병합하여 암호화된 전체데이터로 형성하고, 상기 스마트 컨트랙트에 요청하여 수신한 원본 데이터 복호화키를 이용하여 상기 암호화된 전체 데이터를 복호화하여 원본 데이터를 획득하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 요청자는 상술한 각 복호화 과정들에서 해시값을 획득하고, 상기 스마트 컨트랙트에 요청하여 수신한 해시값들을 비교하여 일치하는지 여부에 따라, 원본 데이터가 정상 여부 인지를 판단하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 요청자는 파편 데이터 요청을 위해, 상기 스마트 컨트랙트에 접속하여 데이터 파편 보관 정보를 조회하며, 상기 데이터 파편 보관 내역 정보를 참조하여, 원하는 데이터 파편을 보관하고 있는 데이터 보관 서버 정보로 각 데이터 보관 서버에 접속하여 파편 데이터를 요청하여 수집하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 데이터 보관 서버는, 데이터 제공자로부터 업로드된 데이터 파편의 해시값과 상기 스마트 컨트랙트에 저장된 데이터 등록 내역과 함께 기록된 데이터 해시값이 일치하는지 상기 스마트 컨트랙트에 확인요청하는 것인, 블록체인 기반 데이터 거래 및 보관을 위한 데이터 보안 시스템.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.
상기 각 데이터 파편은 적어도 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.
상기 제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
상기 제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.
상기 제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:
상기 제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.
상기 제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.
상기 제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.
상기 제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
상기 제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:
상기 각 데이터 파편은 적어도 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.
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)
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)
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 |
-
2019
- 2019-11-26 KR KR1020190153153A patent/KR102399667B1/en active IP Right Grant
Patent Citations (4)
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)
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] |