KR20190018869A - System and method for providing storage service based on block chain - Google Patents
System and method for providing storage service based on block chain Download PDFInfo
- Publication number
- KR20190018869A KR20190018869A KR1020170103529A KR20170103529A KR20190018869A KR 20190018869 A KR20190018869 A KR 20190018869A KR 1020170103529 A KR1020170103529 A KR 1020170103529A KR 20170103529 A KR20170103529 A KR 20170103529A KR 20190018869 A KR20190018869 A KR 20190018869A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- block chain
- key
- stored
- transaction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, 데이터의 위조 또는 변조가 불가한 블록체인에 서비스 사용자의 데이터 파일을 저장하고 관리하는 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for providing a storage service based on a block chain, and more particularly, to a block chain-based storage service for storing and managing a service user's data file in a block chain in which data can not be falsified or tampered System and method.
일반적으로, 블록체인(block chain) 기술은 특정 데이터나 디지털 거래 장부 등을 중앙 집중형 서버가 아닌 다수의 참여 노드에 분산 저장하여 공동으로 관리하는 기술이다. 즉, 블록체인 기술은 정보로의 접근을 차단하는 방식이 아닌 정보를 공유하고 분산 저장하는 방식으로 해당 정보의 위조 또는 변조를 방지하는 기술이다.In general, block chain technology is a technology for distributing and storing specific data or digital transaction books in a plurality of participating nodes rather than a centralized server. That is, the block chain technique is a technique of preventing information from being falsified or altered by sharing information and distributing the information instead of blocking access to information.
그러나, 기존의 비트코인(Bitcoin)이나 이더리움(Ethereum) 등에서 사용되는 블록체인 기술은, 가상 화폐 거래 시의 해킹을 방지하기 위한 것으로서, 블록체인에 저장되는 데이터의 크기가 비트코인의 경우 80바이트에 불과하고, 이더리움의 경우에도 수 킬로바이트에 불과할 정도로 제한적이어서, 데이터 파일의 크기나 종류에 상관없이 데이터 파일을 저장해야 하는 스토리지 서비스(storage service)에 적용할 수 없다는 문제가 있다.However, the block chain technique used in the conventional Bitcoin or Ethereum is for preventing hacking in the virtual currency transaction. When the size of data stored in the block chain is 80 bytes In the case of Ethernet, it is limited to only a few kilobytes. Thus, there is a problem that it can not be applied to a storage service in which a data file must be stored regardless of the size or type of the data file.
또한, 한국 등록특허공보 제10-1727525호, 한국 공개특허공보 제10-2012-0015680호 등에 개시된 바와 같이, 기존 기술들은 블록체인에 일단 저장된 데이터를 변경 및 삭제할 수 없는 블록체인의 비가역적 특성을 이용하여 데이터의 위조 또는 변조를 방지하고 있으나, 블록체인에 저장된 데이터를 삭제하는 방안을 전혀 제시하지 못하고 있기 때문에, 데이터 파일의 저장은 물론 저장된 파일의 삭제 등과 같은 파일 관리 기능을 제공해야 하는 스토리지 서비스에 적용할 수 없다는 문제가 있다.In addition, as disclosed in Korean Patent Publication No. 10-1727525 and Korean Patent Laid-Open Publication No. 10-2012-0015680, existing technologies have shown that irreversible characteristics of a block chain in which data stored once in a block chain can not be changed or deleted It is possible to prevent the data from being falsified or altered. However, since the data stored in the block chain can not be deleted at all, it is necessary to provide a storage service There is a problem in that it can not be applied to.
본 발명이 해결하고자 하는 기술적 과제는, 블록체인 기술을 이용하여 스토리지 서비스 시스템 구축 비용을 절감하고 저장된 데이터 파일의 무결성과 원본 증명력을 보장함은 물론, 블록체인에 저장된 데이터 파일의 삭제 효과를 가져올 수 있는 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems occurring in the prior art, and it is an object of the present invention to provide a storage system capable of reducing the cost of constructing a storage service system, And to provide a system and method for providing a storage service based on a block chain.
본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템은, 블록체인에 서비스 사용자의 데이터 파일을 저장하는 시스템으로서, 서비스 사용자의 명령을 수신하는 사용자 명령 수신부; 서비스 사용자의 파일 저장 명령이 수신되는 경우, 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하고, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 스마트 컨트랙트(smart contract)의 전용 저장 공간에 저장하는 파일 저장부; 및 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 스마트 컨트랙트의 전용 저장 공간에 저장된 상기 복호 키를 삭제하는 파일 관리부를 포함할 수 있다.A system for providing a storage service based on a block chain according to an embodiment of the present invention includes a user command receiver for receiving a command of a service user; When a command to store a file of a service user is received, an encryption file in which a storage object file is encrypted is stored in a block chain, and a transaction key used for inquiry of a transaction recorded at the time of storing the encryption file is used for decryption of the encryption file A file storage unit for storing the decryption keys in a dedicated storage space of a smart contract stored in a block chain and correlated with each other; And a file manager for deleting the decryption key stored in the private storage space of the smart contract when a file delete command of the service user is received for the encrypted file stored in the block chain.
일 실시예에 있어서, 상기 파일 저장부는, 상기 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 생성하는 키 생성부; 상기 암호 키로 상기 저장 대상 파일을 암호화하여 상기 암호화 파일을 생성하는 파일 암호화부; 상기 암호화 파일을 블록체인에 저장하는 암호화 파일 저장부; 및 상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜 상기 스마트 컨트랙트의 전용 저장 공간에 저장하는 키 저장부를 포함할 수 있다.In an exemplary embodiment, the file storage unit may include: a key generation unit for generating a unique encryption key and a decryption key used for encrypting and decrypting the storage object file; A file encryption unit for encrypting the storage object file with the encryption key to generate the encryption file; An encrypted file storage unit for storing the encrypted file in a block chain; And a key storage unit for correlating the transaction key with the decryption key and storing the transaction key in a private storage space of the smart contract.
일 실시예에 있어서, 상기 파일 저장부는, 상기 저장 대상 파일의 암호화 전에, 상기 저장 대상 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출하는 메타데이터 추출부; 및 상기 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 데이터베이스에 저장하는 파일 정보 저장부를 포함할 수 있다.In one embodiment, the file storage unit may include a metadata extraction unit for extracting metadata including at least one of a name, a size, and a type of the storage object file before encryption of the storage object file; And a file information storage unit for correlating the metadata and the transaction key and storing the metadata in a database.
일 실시예에 있어서, 상기 파일 관리부는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 데이터베이스에서 삭제 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출부; 및 상기 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제하는 스마트 컨트랙트 제어부를 포함할 수 있다.In one embodiment, the file management unit may include a transaction key detection unit for detecting a transaction key associated with the metadata of the file to be deleted in the database, when the file delete command of the service user is received for the encrypted file stored in the block chain, ; And a smart contract controller for executing the smart contract to delete a decryption key associated with the transaction key corresponding to the detected transaction key in a private storage space of the smart contract.
일 실시예에 있어서, 상기 파일 관리부는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 상기 데이터베이스에서 다운로드 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출부; 상기 스마트 컨트랙트를 실행하여 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 수신하는 스마트 컨트랙트 제어부; 상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 상기 암호화 파일을 수신하는 암호화 파일 수신부; 및 상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하는 파일 복호화부를 포함할 수 있다.In one embodiment, the file management unit may include a transaction key detection unit for detecting a transaction key associated with metadata of a download object file in the database when a file download command of a service user is received for the encrypted file stored in a block chain, ; A smart contract control unit executing the smart contract and receiving a decryption key associated with a transaction key corresponding to the detected transaction key; An encrypted file receiver for receiving the encrypted file stored in the block chain by inquiring a transaction stored in the block chain with the detected transaction key; And a file decryption unit for decrypting the received encrypted file with the received decryption key.
본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법은, 블록체인 네트워크의 노드와 통신하는 스토리지 서비스 제공 시스템을 이용하여 블록체인에 서비스 사용자의 데이터 파일을 저장하는 방법으로서, 상기 시스템이 서비스 사용자의 명령을 수신하는 사용자 명령 수신 단계; 서비스 사용자의 파일 저장 명령이 수신되는 경우, 상기 시스템이 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하고, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 스마트 컨트랙트(smart contract)의 전용 저장 공간에 저장하는 파일 저장 단계; 및 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 시스템이 상기 스마트 컨트랙트의 전용 저장 공간에 저장된 상기 복호 키를 삭제하는 파일 관리 단계를 포함할 수 있다.A method for providing a storage service based on a block chain according to an embodiment of the present invention is a method for storing a data file of a service user in a block chain using a storage service providing system in communication with nodes of a block chain network, A user command receiving step of receiving a command of a service user; The system according to
일 실시예에 있어서, 상기 파일 저장 단계는, 상기 시스템이 상기 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 생성하는 키 생성 단계; 상기 시스템이 상기 암호 키로 상기 저장 대상 파일을 암호화하여 상기 암호화 파일을 생성하는 파일 암호화 단계; 상기 시스템이 상기 암호화 파일을 블록체인에 저장하는 암호화 파일 저장 단계; 및 상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜 상기 스마트 컨트랙트의 전용 저장 공간에 저장하는 키 저장부를 포함할 수 있다.In one embodiment, the file storage step may include: a key generation step of generating a unique encryption key and a decryption key used by the system for encrypting and decrypting the storage object file; The system encrypting the storage object file with the encryption key to generate the encryption file; The system comprising: an encrypted file storage step of storing the encrypted file in a block chain; And a key storage unit for correlating the transaction key with the decryption key and storing the transaction key in a private storage space of the smart contract.
일 실시예에 있어서, 상기 파일 저장 단계는, 상기 저장 대상 파일의 암호화 전에, 상기 시스템이 상기 저장 대상 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출하는 메타데이터 추출 단계; 및 상기 시스템이 상기 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 데이터베이스에 저장하는 파일 정보 저장 단계를 포함할 수 있다.In one embodiment, the file storage step may include: a metadata extraction step of extracting metadata including at least one of a name, a size, and a type of the storage object file before the encryption of the storage object file; And a file information storing step in which the system associates the metadata and the transaction key with each other and stores the metadata in a database.
일 실시예에 있어서, 상기 파일 관리 단계는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 시스템이 상기 데이터베이스에서 삭제 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출 단계; 및 상기 시스템이 상기 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제하는 스마트 컨트랙트 제어 단계를 포함할 수 있다.In one embodiment, the file management step may include a step of, when receiving a file delete command of a service user for the encrypted file stored in the block chain, detecting, by the system, a transaction key associated with the metadata of the file to be deleted in the database A transaction key detection step of detecting a transaction key; And a smart contract control step in which the system executes the smart contract to delete a decryption key associated with the transaction key corresponding to the detected transaction key in a private storage space of the smart contract.
일 실시예에 있어서, 상기 파일 관리 단계는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 상기 시스템이 상기 데이터베이스에서 다운로드 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출 단계; 상기 시스템이 상기 스마트 컨트랙트를 실행하여 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 수신하는 스마트 컨트랙트 제어 단계; 상기 시스템이 상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 상기 암호화 파일을 수신하는 암호화 파일 수신 단계; 및 상기 시스템이 상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하는 파일 복호화 단계를 포함할 수 있다.In one embodiment, the file management step includes the steps of: when a file download command of a service user is received for the encrypted file stored in the block chain, the system detects a transaction key associated with the metadata of the file to be downloaded in the database A transaction key detection step of detecting a transaction key; A smart contract control step in which the system executes the smart contract and receives a decryption key associated with a transaction key corresponding to the detected transaction key; Receiving an encrypted file stored in a block chain by retrieving a transaction stored in a block chain with the detected transaction key; And a file decryption step in which the system decrypts the received encrypted file with the received decryption key.
본 발명에 따른 실시예들은, 상술한 동작 또는 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 기록매체에 기록되는 컴퓨터 프로그램을 이용하여 구현될 수 있다.The embodiments according to the present invention can be implemented using a computer program recorded on a recording medium as a computer program for executing the above-described operations or methods through a computer system.
본 발명에 따르면, 별도의 중앙 집중형 스토리지 서버나 고가의 WORM(Write Once Read Many) 스토리지 등을 구축할 필요없이, 데이터의 위조 또는 변조가 불가한 블록체인 기술을 이용하여 서비스 사용자의 데이터 파일을 저장 및 관리하는 스토리지 서비스를 제공함으로써, 스토리지 서비스 시스템 구축 비용을 절감하면서도 데이터 파일의 무결성과 원본 증명력을 보장할 수 있다.According to the present invention, a data file of a service user can be stored using a block-chain technology that can not be falsified or tampered with, without the need to construct a separate centralized storage server or expensive WORM (Write Once Read Many) By providing a storage service to store and manage, it is possible to guarantee the integrity of the data file and the authenticity of the data file while reducing the cost of constructing the storage service system.
또한, 서비스 사용자의 데이터 파일 저장시에 해당 파일을 고유의 암호 키로 암호화하여 블록체인에 저장함으로써, 데이터 파일의 보안성 및 기밀성을 유지할 수 있다.Also, when a service user stores a data file, the file is encrypted with a unique encryption key and stored in a block chain, so that security and confidentiality of the data file can be maintained.
특히, 저장된 암호화 파일의 고유의 복호 키를 블록체인에서 지원되는 스마트 컨트랙트의 전용 저장 공간에 저장하고, 사용자의 파일 삭제 명령이 있는 경우 스마트 컨트랙트를 실행하여 삭제 대상 파일의 해당 복호 키를 삭제함으로써, 블록체인에 데이터 파일을 저장하면서도 블록체인에 저장된 데이터 파일을 삭제하는 효과를 가져올 수 있다.In particular, if a unique decryption key of a stored encrypted file is stored in a private storage space of a smart contract supported by a block chain, and if the user has a file deletion command, the smart contract is executed to delete the corresponding decryption key of the deletion object file, It is possible to save the data file in the block chain while deleting the data file stored in the block chain.
나아가, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 여러 실시예들이 상기 언급되지 않은 여러 기술적 과제들을 해결할 수 있음을 이하의 설명으로부터 자명하게 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various embodiments of the present invention can be made without departing from the spirit and scope of the present invention.
도 1은 본 발명이 적용되는 블록체인 네트워크 환경의 일례를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템과 연동하는 블록체인 노드의 일례를 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 저장 프로세스를 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 삭제 프로세스를 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 다운로드 프로세스를 나타낸 흐름도이다.1 is a diagram illustrating an example of a block-chain network environment to which the present invention is applied.
2 is a block diagram illustrating a system for providing a storage service based on a block chain according to an embodiment of the present invention.
3 is a block diagram illustrating an example of a block-chain node interworking with a block-chain-based storage service providing system according to an embodiment of the present invention.
4 is a flowchart illustrating a data file storage process of a method of providing a storage service based on a block chain according to an embodiment of the present invention.
5 is a flowchart illustrating a data file deletion process of a method of providing a storage service based on a block chain according to an embodiment of the present invention.
6 is a flowchart illustrating a process of downloading a data file of a method of providing a storage service based on a block chain according to an embodiment of the present invention.
이하, 본 발명의 기술적 과제에 대한 해결 방안을 명확화하기 위해 첨부도면을 참조하여 본 발명의 실시예들을 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련 공지기술에 관한 설명이 오히려 본 발명의 요지를 불명료하게 하는 경우 그에 관한 설명은 생략하기로 한다. 또한, 후술하는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 설계자, 제조자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to clarify solutions for technical problems of the present invention. In the following description of the present invention, however, the description of related arts will be omitted if the gist of the present invention becomes obscure. In addition, the terms described below are defined in consideration of the functions of the present invention, and may be changed depending on the intention or custom of the designer, the manufacturer, and the like. Therefore, the definition should be based on the contents throughout this specification.
도 1에는 본 발명이 적용되는 블록체인 네트워크 환경의 일례가 도시되어 있다.FIG. 1 shows an example of a block-chain network environment to which the present invention is applied.
도 1에 도시된 바와 같이, 블록체인 네트워크는 서비스 사용자의 클라이언트(10)와 다수의 블록체인 노드(20)로 구성될 수 있다. 서비스 사용자의 클라이언트(10)는 데이터 파일의 전송과 저장 요청, 저장된 파일의 삭제나 다운로드 요청 등을 수행할 수 있다. 이러한 클라이언트(10)는 서버(server)나 PC(Personal Computer) 등과 같은 고정 단말이거나, 핸드폰 등과 같은 모바일 단말로 구성될 수 있다. 블록체인 노드(20)는 블록체인에 파일이 저장됨에 따라 기록되는 트랜잭션(transaction)의 승인, 블록체인을 이용한 트랜잭션 내역 보관, 다른 노드들과의 주기적인 블록 분산 합의 등을 수행할 수 있다. 이러한 블록체인 노드(20)는 서버나 PC 등과 같은 컴퓨터 시스템으로 구성될 수 있으며, 이더리움(Ethereum)이나 하이퍼렛저 패브릭(Hyperledger Fabric) 등과 같이 후술되는 스마트 컨트랙트(smart contract)를 지원하는 블록체인 프로그램이 설치될 수 있다. 이와 같이 블록체인 노드(20)에 설치된 블록체인 프로그램은 블록체인에 저장되는 데이터의 크기나 종류를 제한하지 않도록 설정될 수 있다. 또한, 다수의 블록체인 노드(20)를 포함하는 블록체인 노드 그룹은 비트코인(Bitcoin)이나 이더리움(Ethereum)과 같이 누구나 접근할 수 있는 퍼블릭 체인(public chain)을 구성하는 것이 아니라, 스토리지 서비스 사용자들만 접근할 수 있는 프라이빗 체인(private chain)을 구성할 수 있다.As shown in FIG. 1, a block-chain network may consist of a
본 발명에 따른 블록체인 기반의 스토리지 서비스 제공 시스템(100)은, 이러한 블록체인 네트워크 환경에 적용되어, 서비스 사용자의 클라이언트(10) 및 블록체인 노드(20)와 통신을 수행하며 블록체인 노드(20)의 블록체인에 서비스 사용자의 데이터 파일을 저장하고 관리할 수 있다.A block-chain-based storage
이 경우, 스토리지 서비스 제공 시스템(100)은 No SQL 계열의 데이터베이스에 데이터를 저장하는 경우와 유사하게, 서비스 사용자의 데이터 파일을 키-밸류 페어(key-value pair) 형식으로 블록체인에 저장할 수 있다. 즉, 스토리지 서비스 제공 시스템(100)은 고유의 키와 그에 대응하는 데이터 파일을 블록체인에 저장하고, 차후 해당 키를 이용하여 저장된 파일에 접근할 수 있다. 이러한 데이터 파일 저장 및 조회 과정에, 계정(account)과 메시지 전달 등의 블록체인 특유의 요소가 추가된다. 예컨대, 블록체인에 데이터 파일 D가 저장될 경우, 블록체인에는 기본적으로 ‘X가 Y에게 D를 보낸다’라는 메시지 형식의 트랜잭션(transaction)이 기록된다. 이 경우, X 및 Y가 계정에 해당하는 것이다.In this case, the storage
아래에서 다시 설명하겠지만, 스토리지 서비스 제공 시스템(100)은 데이터 파일 저장에 따른 트랜잭션 기록시, 해당 트랜잭션에 대응하여 발급되는 고유의 트랜잭션 키(트랜잭션 해시)와 저장 대상 파일을 암호화한 암호화 파일을 하나의 페어(pair)로 하여 블록체인에 저장하고, 차후 해당 트랜잭션 키를 파라미터로 하는 트랜잭션 조회 함수를 사용하여 블록체인에서 해당 트랜잭션을 조회하고, 저장된 암호화 파일에 접근할 수 있다.As will be described later, the storage
이러한 스토리지 서비스 제공 시스템(100)은 WAS(Web Application Server)와 같이 웹 서버, 애플리케이션, 데이터베이스의 3계층 웹 컴퓨팅 환경으로 구축되는 컴퓨터 시스템으로 구성될 수 있다.The storage
도 2에는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템(100)이 블록도로 도시되어 있다.FIG. 2 is a block diagram of a block-chain-based storage
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템(100)은 사용자 명령 수신부(110), 파일 저장부(120) 및 파일 관리부(130)를 포함할 수 있다. 실시예에 따라, 상기 스토리지 서비스 제공 시스템(100)은 통신 네트워크를 통해 외부 장치들과 유·무선 통신을 수행하는 통신부(102), 사용자 내지 시스템 운영자의 명령을 입력받는 입력부(104), 시스템 동작을 전반적으로 제어하는 제어부(106), 데이터를 저장하는 메모리부(108) 등을 더 포함할 수 있다. 이와 같이, 상기 스토리지 서비스 제공 시스템(100)이 통신부(102), 입력부(104), 제어부(106), 메모리부(108) 등을 포함하는 컴퓨터 시스템으로 구성될 경우, 상기 사용자 명령 수신부(110), 파일 저장부(120), 및 파일 관리부(130)는 마이크로프로세서와 이를 구동하는 컴퓨터 프로그램의 결합으로 구현되는 제어부(105)의 구성 모듈들일 수 있다.2, a block chain-based storage
우선, 상기 사용자 명령 수신부(110)는, 서비스 사용자의 클라이언트(10)에서 스토리지 서비스 제공 시스템(100)의 통신부(102)로 전송되거나, 입력부(104)를 통해 입력되는 서비스 사용자의 명령을 수신하여 파일 저장부(120)나 파일 관리부(130)에 전달할 수 있다. 예컨대, 사용자 명령 수신부(110)는 스토리지 서비스 제공 시스템(100)에 접속한 서비스 사용자의 클라이언트(10)에 사용자 명령을 입력하는 UI(User Interface)를 제공하고, 클라이언트(10)로부터 데이터 파일을 블록체인에 저장하라는 파일 저장 명령, 블록체인에 저장된 파일을 삭제하라는 파일 삭제 명령, 블록체인에 저장된 파일을 다운로드하라는 파일 다운로드 명령 등을 수신할 수 있다. 또한, 사용자 명령 수신부(110)는 파일 저장 명령과 함께 저장 대상 파일을 수신할 수 있다.First, the
상기 파일 저장부(120)는, 서비스 사용자의 파일 저장 명령이 수신되는 경우, 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하는 한편, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 프로그램 세그먼트인 스마트 컨트랙트(smart contract)의 전용 저장 공간에 저장할 수 있다. 이를 위해, 파일 저장부(120)는 메타데이터 추출부(121), 키 생성부(122), 파일 암호화부(123), 암호화 파일 저장부(124), 키 저장부(125), 및 파일 정보 저장부(126)를 포함할 수 있다.The
상기 메타데이터 추출부(121)는, 저장 대상 파일의 암호화 전에 상기 저장 대상 파일에서 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출할 수 있다. 실시예에 따라, 메타데이터 추출부(121)는 서비스 사용자의 클라이언트(10)에 저장 대상 파일의 식별정보를 입력하는 UI를 제공하여 서비스 사용자로 하여금 저장 대상 파일의 식별정보를 직접 설정하도록 할 수도 있다.The
상기 키 생성부(122)는, 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 랜덤하게 생성할 수 있다. 저장 대상 파일의 암복호화에는 AES(Advanced Encryption Standard) 등과 같은 대칭키 암호 방식이 적용될 수 있으며, 이 경우 상기 암호 키와 복호 키는 동일한 키일 수 있다.The
상기 파일 암호화부(123)는, 상기 암호 키로 저장 대상 파일을 암호화하여 암호화 파일을 생성할 수 있다.The
상기 암호화 파일 저장부(124)는, 상기 암호화 파일을 블록체인 노드(20)의 블록체인에 저장할 수 있다(S440). 이때, 블록체인은 암호화 파일 저장에 따른 트랜잭션에 대해 고유한 트랜잭션 키(트랜잭션 해시)를 발급할 수 있다. 그 결과, 상기 시스템(100)의 암호화 파일 저장부(124)는 상술한 바와 같이 해당 트랜잭션에 대응하여 발급되는 트랜잭션 키와 상기 암호화 파일을 하나의 페어로 하여 블록체인에 저장할 수 있다.The encrypted
한편, 상기 키 저장부(125)는, 키-밸류 페어 형식과 유사하게 상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜 블록체인에 저장된 스마트 컨트랙트의 전용 저장 공간에 저장하고, 저장 대상 파일의 암호화에 사용된 암호 키와 상기 복호 키를 시스템(100) 내에서 모두 삭제할 수 있다.Meanwhile, the
상기 스마트 컨트랙트는 특정 파라미터 값이 수신되어 특정 조건이 성취되면 예정된 동작을 수행하도록 작성된 프로그램으로서, 블록체인에 저장되어 실행되는 독립적인 프로그램이다. 스마트 컨트랙트는 그 자체로 독립적인 프로그램이므로 블록체인 노드(20)에서 블록체인과는 별도로 전용 저장 공간을 사용할 수 있으며, 해당 전용 저장 공간에 데이터를 저장하거나 전용 저장 공간에 저장된 데이터를 삭제할 수도 있다. 이러한 스마트 컨트랙트는 이더리움(Ethereum)이나 하이퍼렛저 패브릭(Hyperledger Fabric) 등의 블록체인 기술에서 지원되고 있으며, 다양한 조건에 따라 다양한 동작을 수행하도록 작성됨으로써 블록체인의 기능을 확장시킬 수 있다.The smart contract is a program written to perform a predetermined operation when a specific parameter value is received and a specific condition is fulfilled, and is an independent program stored and executed in a block chain. Since the smart contract is an independent program in itself, the
본 발명에서의 스마트 컨트랙트는, 트랜잭션 키-복호 키 페어들을 전용 저장 공간에 저장하고, 스토리지 서비스 제공 시스템(100)으로부터 수신되는 트랜잭션 키를 파라미터로 하여, 해당 트랜잭션 키에 대응하는 복호 키를 삭제하거나 스토리지 서비스 제공 시스템(100)으로 반환하도록 작성될 수 있다.The smart contract in the present invention stores the transaction key-decryption key pairs in a dedicated storage space, deletes the decryption key corresponding to the transaction key using the transaction key received from the storage
스토리지 서비스 제공 시스템(100)은 스토리지 서비스 개시 전에 스마트 컨트랙트를 블록체인에 저장할 수 있다. 이 경우, 스토리지 서비스 제공 시스템(100)은 암호화 파일의 저장 시의 트랜잭션과 다른 형식의 트랜잭션을 사용할 수 있다. 예컨대, 스마트 컨트랙트 SC를 저장하는 과정에서는 ‘X가 SC를 보낸다’라는 형식의 트랜잭션이 사용될 수 있다. 즉, ‘Y에게’에 해당하는 계정이 생략될 수 있다. ‘X가 SC를 보낸다’라는 트랜잭션이 성공적으로 수행되면, 추후 스마트 컨트랙트를 사용할 때 사용되는 스마트 컨트랙트 고유의 계정이 발급된다. 이러한 계정을 AC라 하면, 호출하고자 하는 함수와 관련 파라미터를 포함하는 메시지를 AC로 전송하여 해당 스마트 컨트랙트를 동작시킬 수 있다.The storage
도 3에는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 시스템과 연동하는 블록체인 노드(20)의 일례가 블록도로 도시되어 있다.FIG. 3 is a block diagram illustrating an example of a block-
도 3에 도시된 바와 같이, 블록체인 노드(20)는 블록체인(B)을 저장하는 블록체인 저장 공간(22)과, 블록체인(B)에 저장된 스마트 컨트랙트(SC)에 의해 사용되는 스마트 컨트랙트 전용 저장 공간(24)을 가질 수 있다. 블록체인(B)의 각 블록에는 트랜잭션 키-암호화 파일 페어(T)가 저장될 수 있으며, 스마트 컨트랙트의 전용 저장 공간(24)에는 트랜잭션 키-복호 키 페어(K)가 저장될 수 있다.3, the block-
다시 도 2를 참조하면, 상기 파일 저장부(120)의 파일 정보 저장부(126)는, 저장 대상 파일에서 추출된 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 파일 정보 데이터베이스에 저장할 수 있다. 이러한 파일 정보 데이터베이스는 스토리지 서비스 제공 시스템(100)의 메모리부(108)에 포함되거나 별도의 저장 장치로 구성될 수 있다.2, the file
한편, 상기 파일 관리부(130)는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 스마트 컨트랙트의 전용 저장 공간에 저장된 해당 복호 키를 삭제할 수 있다.Meanwhile, the
영구히 보관해야 하는 데이터 파일은 저장 데이터의 변경과 삭제가 불가한 블록체인에 저장해도 무관하나, 계약 당사자의 청약 또는 승낙의 철회, 계약 취소 등에 따라 삭제할 필요가 있는 계약서 파일 등은 블록체인에 저장하여 관리할 수 없다. 특히, 데이터 파일의 저장은 물론 저장된 파일의 삭제 등과 같은 파일 관리 기능을 제공해야 하는 스토리지 서비스에는 기존의 블록체인 기술을 그대로 적용할 수 없다.Data files that are to be stored permanently may be stored in a block chain that can not be changed or deleted. However, contract files that need to be deleted due to cancellation of subscription or acceptance of a contracting party or cancellation of contract are stored in a block chain I can not manage it. In particular, the conventional block chain technology can not be applied to storage services that need to provide file management functions such as data file storage and deletion of stored files.
따라서, 본 발명은 저장 대상 파일을 암호화하여 해당 암호화 파일을 블록체인에 저장하는 한편, 암호화 파일을 복호화하는 복호 키를 스마트 컨트랙트의 전용 저장 공간에 별도로 저장하여 관리하며, 서비스 사용자의 파일 삭제 명령이 수신되는 경우 삭제 대상 파일을 직접 삭제하는 것이 아니라, 스마트 컨트랙트를 실행하여 해당 파일의 복호 키를 삭제하는 것이다. 즉, 본 발명은 서비스 사용자 또는 제3자가 해당 트랜잭션을 조회하더라도 암호화 파일의 복호 키를 사용할 수 없도록 하여 원본 파일을 획득할 수 없도록 하는 것이다.Accordingly, the present invention stores a decryption key for decrypting an encrypted file separately by storing the encrypted file in the block chain while encrypting the file to be stored, and separately manages the decryption key for decrypting the encrypted file, It does not directly delete the deletion target file but deletes the decryption key of the file by executing the smart contract. That is, according to the present invention, even if a service user or a third party inquires the transaction, the decryption key of the encrypted file can not be used, and the original file can not be acquired.
이를 위해, 파일 관리부(130)는 트랜잭션 키 검출부(131) 및 스마트 컨트랙트 제어부(132)를 포함할 수 있다.For this, the
상기 트랜잭션 키 검출부(131)는, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 파일 정보 데이터베이스에서 삭제 대상 파일의 메타데이터를 검색하고 해당 메타데이터와 연관된 트랜잭션 키를 검출할 수 있다.When the file delete command of the service user is received from the encrypted file stored in the block chain, the transaction
상기 스마트 컨트랙트 제어부(132)는, 블록체인에 저장된 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제할 수 있다. 이 경우, 스마트 컨트랙트 제어부(132)는 키 삭제 함수와 관련 파라미터인 트랜잭션 키를 스마트 컨트랙트로 전송하여 해당 복호 키를 삭제할 수 있다.The
상기 복호 키 삭제 후, 상기 파일 관리부(130)는 파일 정보 데이터베이스에 저장된 삭제 대상 파일의 메타데이터와 트랜잭션 키를 삭제할 수 있다.After deleting the decryption key, the
한편, 파일 관리부(130)는 블록체인에 저장된 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 블록체인으로부터 해당 암호화 파일을 수신하여 복호화할 수 있다. 이를 위해, 파일 관리부(130)는 암호화 파일 수신부(133), 파일 복호화부(134), 및 파일 전송부(135)를 더 포함할 수 있다.On the other hand, when the file download command of the service user is received with respect to the encrypted file stored in the block chain, the
즉, 블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 상기 트랜잭션 키 검출부(131)는 상기 파일 정보 데이터베이스에서 다운로드 대상 파일의 메타데이터를 검색하고 해당 메타데이터와 연관된 트랜잭션 키를 검출할 수 있다.That is, when a file download command of the service user is received for the encrypted file stored in the block chain, the transaction
상기 스마트 컨트랙트 제어부(132)는, 블록체인에 저장된 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 조회하고 해당 복호 키를 수신할 수 있다. 이 경우, 스마트 컨트랙트 제어부(132)는 키 조회 함수와 관련 파라미터인 트랜잭션 키를 스마트 컨트랙트로 전송하여 해당 복호 키를 수신할 수 있다.The
상기 암호화 파일 수신부(133)는, 상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 해당 암호화 파일을 수신할 수 있다.The encrypted
상기 파일 복호화부(134)는, 상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하여 원본 파일과 동일한 파일을 생성할 수 있다. 파일 복호화부(134)는 복호화된 파일을 메모리부(108) 등에 저장하거나 파일 전송부(135)를 통해 서비스 사용자의 클라이언트(10)로 전송할 수 있다.The
도 4에는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 저장 프로세스가 흐름도로 도시되어 있다.FIG. 4 is a flowchart illustrating a data file storing process of a method of providing a block-chain-based storage service according to an exemplary embodiment of the present invention.
도 4에 도시된 바와 같이, 스토리지 서비스 제공 시스템(100)은 서비스 사용자의 파일 저장 명령이 수신되는 경우, 상기 시스템이 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하고, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 스마트 컨트랙트의 전용 저장 공간에 저장할 수 있다.As shown in FIG. 4, when the file storage command of the service user is received, the storage
구체적으로 설명하면, 상기 시스템(100)의 사용자 명령 수신부(110)가 서비스 사용자의 클라이언트(10)에서 전송되거나 상기 시스템(100)의 입력부(104)를 통해 입력되는 서비스 사용자의 파일 저장 명령을 수신하면(S400), 상기 시스템(100)의 메타데이터 추출부(121)는, 저장 대상 파일을 읽어들여 상기 저장 대상 파일에서 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출할 수 있다(S410).More specifically, the user
그 다음, 상기 시스템(100)의 키 생성부(122)는, 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 랜덤하게 생성할 수 있다(S420). AES(Advanced Encryption Standard) 등과 같은 대칭키 암호 방식이 적용되는 경우 상기 암호 키와 복호 키는 동일한 키일 수 있다.Next, the
그 다음, 상기 시스템(100)의 상기 파일 암호화부(123)는, 상기 암호 키로 저장 대상 파일을 암호화하여 암호화 파일을 생성할 수 있다(S430).Next, the
그 다음, 상기 시스템(100)의 암호화 파일 저장부(124)는, 상기 암호화 파일을 블록체인 노드(20)의 블록체인에 저장할 수 있다(S440). 이 경우, 상기 시스템(100)의 암호화 파일 저장부(124)는 해당 트랜잭션에 대응하여 발급된 트랜잭션 키와 상기 암호화 파일을 하나의 페어로 하여 블록체인에 저장할 수 있다.The encrypted
한편, 상기 시스템(100)의 키 저장부(125)는, 키-밸류 페어 형식과 유사하게 상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜, 블록체인에 저장된 스마트 컨트랙트의 전용 저장 공간에 저장하고, 저장 대상 파일의 암호화에 사용된 암호 키와 상기 복호 키를 시스템(100) 내에서 모두 삭제할 수 있다(S450).Meanwhile, the
그 다음, 상기 시스템(100)의 파일 정보 저장부(126)는, 저장 대상 파일에서 추출된 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 파일 정보 데이터베이스에 저장할 수 있다(S460).Next, the file
도 5에는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 삭제 프로세스가 흐름도로 도시되어 있다.FIG. 5 is a flowchart illustrating a data file deletion process of a method of providing a storage service based on a block chain according to an embodiment of the present invention.
도 5에 도시된 바와 같이, 스토리지 서비스 제공 시스템(100)은 블록체인에 저장된 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 스마트 컨트랙트의 전용 저장 공간에 저장된 해당 복호 키를 삭제할 수 있다.5, the storage
구체적으로 설명하면, 상기 시스템(100)의 사용자 명령 수신부(110)가 서비스 사용자의 클라이언트(10)에서 전송되거나 상기 시스템(100)의 입력부(104)를 통해 입력되는 서비스 사용자의 파일 삭제 명령을 수신하면(S500), 상기 시스템(100)의 트랜잭션 키 검출부(131)는, 파일 정보 데이터베이스에서 삭제 대상 파일의 메타데이터를 검색하고 해당 메타데이터와 연관된 트랜잭션 키를 검출할 수 있다(S510).More specifically, the user
그 다음, 상기 시스템(100)의 스마트 컨트랙트 제어부(132)는, 블록체인에 저장된 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제할 수 있다(S520).The smart
상기 복호 키 삭제 후, 상기 시스템(100)은 파일 정보 데이터베이스에 저장된 삭제 대상 파일의 메타데이터와 트랜잭션 키를 삭제할 수 있다(S530).After deleting the decryption key, the
도 6에는 본 발명의 일 실시예에 따른 블록체인 기반의 스토리지 서비스 제공 방법의 데이터 파일 다운로드 프로세스가 흐름도로 도시되어 있다.FIG. 6 is a flowchart illustrating a process of downloading a data file of a method of providing a block-chain-based storage service according to an embodiment of the present invention.
도 6에 도시된 바와 같이, 스토리지 서비스 제공 시스템(100)은 블록체인에 저장된 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 블록체인으로부터 해당 암호화 파일을 수신하여 복호화할 수 있다.As shown in FIG. 6, the storage
구체적으로 설명하면, 상기 시스템(100)의 사용자 명령 수신부(110)가 서비스 사용자의 클라이언트(10)에서 전송되거나 상기 시스템(100)의 입력부(104)를 통해 입력되는 서비스 사용자의 파일 삭제 명령을 수신하면(S600), 상기 시스템(100)의 트랜잭션 키 검출부(131)는 상기 파일 정보 데이터베이스에서 다운로드 대상 파일의 메타데이터를 검색하고 해당 메타데이터와 연관된 트랜잭션 키를 검출할 수 있다(S610).More specifically, the user
그 다음, 상기 시스템(100)의 스마트 컨트랙트 제어부(132)는, 블록체인에 저장된 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 조회하고 해당 복호 키를 수신할 수 있다(S620).The smart
한편, 상기 시스템(100)의 암호화 파일 수신부(133)는, 상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 해당 암호화 파일을 수신할 수 있다(S630).In operation S630, the
그 다음, 상기 시스템(100)의 파일 복호화부(134)는, 상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하여 원본 파일과 동일한 파일을 생성할 수 있다(S640). 파일 복호화부(134)는 복호화된 파일을 메모리부(108) 등에 저장하거나 파일 전송부(135)를 통해 서비스 사용자의 클라이언트(10)로 전송할 수 있다(S650).Then, the
한편, 본 발명에 따른 실시예들은 컴퓨터 시스템과 이러한 컴퓨터 시스템을 구동하는 컴퓨터 프로그램으로 구현될 수 있다. 본 발명의 실시예들이 컴퓨터 프로그램으로 구현되는 경우, 본 발명의 구성요소들은 해당 컴퓨터 시스템을 통해 해당 동작이나 작업을 실행하는 프로그램 세그먼트들이다. 이러한 컴퓨터 프로그램 내지 프로그램 세그먼트들은 컴퓨터로 판독 가능한 다양한 기록매체에 저장될 수 있다. 컴퓨터로 판독 가능한 기록매체에는 컴퓨터 시스템이 읽어들일 수 있는 데이터를 기록하는 모든 종류의 매체가 포함된다. 예컨대, 컴퓨터로 판독 가능한 기록매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장 장치 등이 포함될 수 있다. 또한, 이러한 기록매체는 다양한 네트워크로 연결된 컴퓨터 시스템들에 분산 배치되어 프로그램 코드들을 분산 방식으로 저장하거나 실행시킬 수 있다.Meanwhile, the embodiments according to the present invention can be implemented by a computer system and a computer program for driving such a computer system. When embodiments of the present invention are implemented as a computer program, the elements of the present invention are program segments that execute corresponding operations or tasks through the computer system. Such computer programs and program segments may be stored in various computer-readable media. A computer-readable recording medium includes all kinds of media for recording data that can be read by a computer system. For example, the computer-readable recording medium may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the recording medium may be distributed to computer systems connected by various networks, and may store and execute program codes in a distributed manner.
상술한 바와 같이, 본 발명에 따르면, 별도의 중앙 집중형 스토리지 서버나 고가의 WORM(Write Once Read Many) 스토리지 등을 구축할 필요없이, 데이터의 위조 또는 변조가 불가한 블록체인 기술을 이용하여 서비스 사용자의 데이터 파일을 저장 및 관리하는 스토리지 서비스를 제공함으로써, 스토리지 서비스 시스템 구축 비용을 절감하면서도 데이터 파일의 무결성과 원본 증명력을 보장할 수 있다. 또한, 서비스 사용자의 데이터 파일 저장시에 해당 파일을 고유의 암호 키로 암호화하여 블록체인에 저장함으로써, 데이터 파일의 보안성 및 기밀성을 유지할 수 있다. 특히, 저장된 암호화 파일의 고유의 복호 키를 블록체인에서 지원되는 스마트 컨트랙트의 전용 저장 공간에 저장하고, 사용자의 파일 삭제 명령이 있는 경우 스마트 컨트랙트를 실행하여 삭제 대상 파일의 해당 복호 키를 삭제함으로써, 블록체인에 데이터 파일을 저장하면서도 블록체인에 저장된 데이터 파일을 삭제하는 효과를 가져올 수 있다. 나아가, 본 발명에 따른 실시예들은, 당해 기술 분야는 물론 관련 기술 분야에서 본 명세서에 언급된 내용 이외의 다른 여러 기술적 과제들을 해결할 수 있음은 물론이다.As described above, according to the present invention, there is no need to construct a separate centralized storage server, expensive WORM (Write Once Read Many) storage, and the like, By providing a storage service that stores and manages user data files, it is possible to guarantee the integrity of the data file and the authenticity of the data file while reducing the cost of constructing the storage service system. Also, when a service user stores a data file, the file is encrypted with a unique encryption key and stored in a block chain, so that security and confidentiality of the data file can be maintained. In particular, if a unique decryption key of a stored encrypted file is stored in a private storage space of a smart contract supported by a block chain, and if the user has a file deletion command, the smart contract is executed to delete the corresponding decryption key of the deletion object file, It is possible to save the data file in the block chain while deleting the data file stored in the block chain. Furthermore, it should be understood that the embodiments according to the present invention can solve various technical problems other than those mentioned in the specification in the related technical field as well as the related art.
지금까지 본 발명에 대해 구체적인 실시예들을 참고하여 설명하였다. 그러나 당업자라면 본 발명의 기술적 범위에서 다양한 변형 실시예들이 구현될 수 있음을 명확하게 이해할 수 있을 것이다. 그러므로 앞서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 할 것이다. 즉, 본 발명의 진정한 기술적 사상의 범위는 청구범위에 나타나 있으며, 그와 균등범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 할 것이다.The present invention has been described with reference to specific embodiments. It will be apparent, however, to one skilled in the art that various modifications may be practiced within the technical scope of the invention. Therefore, the above-described embodiments should be considered from an illustrative point of view, not from a restrictive viewpoint. That is, the scope of the true technical idea of the present invention is shown in the claims, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
100 : 스토리지 서비스 제공 시스템 110 : 사용자 명령 수신부
120 : 파일 저장부 121 : 메타데이터 추출부
122 : 키 생성부 123 : 파일 암호화부
124 : 암호화 파일 저장부 125 : 키 저장부
126 : 파일 정보 저장부 130 : 파일 관리부
131 : 트랜잭션 키 검출부 132 : 스마트 컨트랙트 제어부
133 : 암호화 파일 수신부 134 : 파일 복호화부
135 : 파일 전송부100: Storage service providing system 110: User command receiver
120: file storage unit 121: metadata extraction unit
122: key generation unit 123: file encryption unit
124: Encrypted file storage unit 125: Key storage unit
126: File information storage unit 130: File management unit
131: Transaction key detection unit 132: Smart contract control unit
133: Encrypted file receiver 134: File decryption unit
135: File transfer unit
Claims (11)
서비스 사용자의 명령을 수신하는 사용자 명령 수신부;
서비스 사용자의 파일 저장 명령이 수신되는 경우, 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하고, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 스마트 컨트랙트(smart contract)의 전용 저장 공간에 저장하는 파일 저장부; 및
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 스마트 컨트랙트의 전용 저장 공간에 저장된 상기 복호 키를 삭제하는 파일 관리부를 포함하는 블록체인 기반의 스토리지 서비스 제공 시스템.1. A system for providing a storage service based on a block chain for storing a data file of a service user in a block chain,
A user command receiving unit for receiving a command of a service user;
When a command to store a file of a service user is received, an encryption file in which a storage object file is encrypted is stored in a block chain, and a transaction key used for inquiry of a transaction recorded at the time of storing the encryption file is used for decryption of the encryption file A file storage unit for storing the decryption keys in a dedicated storage space of a smart contract stored in a block chain and correlated with each other; And
And a file manager for deleting the decryption key stored in a private storage space of the smart contract when a file delete command of the service user is received for the encrypted file stored in the block chain.
상기 파일 저장부는,
상기 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 생성하는 키 생성부;
상기 암호 키로 상기 저장 대상 파일을 암호화하여 상기 암호화 파일을 생성하는 파일 암호화부;
상기 암호화 파일을 블록체인에 저장하는 암호화 파일 저장부; 및
상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜 상기 스마트 컨트랙트의 전용 저장 공간에 저장하는 키 저장부를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 시스템.The method according to claim 1,
The file storage unit stores,
A key generation unit for generating a unique encryption key and a decryption key used for encrypting and decrypting the storage object file;
A file encryption unit for encrypting the storage object file with the encryption key to generate the encryption file;
An encrypted file storage unit for storing the encrypted file in a block chain; And
And a key storage unit for associating the transaction key and the decryption key with each other and storing the transaction key in a private storage space of the smart contract.
상기 파일 저장부는,
상기 저장 대상 파일의 암호화 전에, 상기 저장 대상 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출하는 메타데이터 추출부; 및
상기 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 데이터베이스에 저장하는 파일 정보 저장부를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 시스템.The method according to claim 1,
The file storage unit stores,
A metadata extraction unit for extracting metadata including at least one of a name, a size, and a type of the file to be stored before encryption of the file to be stored; And
And a file information storage unit for correlating the metadata and the transaction key and storing the metadata in a database.
상기 파일 관리부는,
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 데이터베이스에서 삭제 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출부; 및
상기 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제하는 스마트 컨트랙트 제어부를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 시스템.The method of claim 3,
The file management unit,
A transaction key detector for detecting a transaction key associated with the metadata of a file to be deleted in the database when a file delete command of the service user is received for the encrypted file stored in the block chain; And
And a smart contract controller for executing the smart contract to delete a decryption key associated with the transaction key corresponding to the detected transaction key in a private storage space of the smart contract.
상기 파일 관리부는,
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 상기 데이터베이스에서 다운로드 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출부;
상기 스마트 컨트랙트를 실행하여 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 수신하는 스마트 컨트랙트 제어부;
상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 상기 암호화 파일을 수신하는 암호화 파일 수신부; 및
상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하는 파일 복호화부를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 시스템.The method of claim 3,
The file management unit,
A transaction key detection unit for detecting a transaction key associated with metadata of a download object file in the database when a file download command of a service user is received for the encrypted file stored in the block chain;
A smart contract control unit executing the smart contract and receiving a decryption key associated with a transaction key corresponding to the detected transaction key;
An encrypted file receiver for receiving the encrypted file stored in the block chain by inquiring a transaction stored in the block chain with the detected transaction key; And
And a file decryption unit for decrypting the received encrypted file with the received decryption key.
상기 시스템이 서비스 사용자의 명령을 수신하는 사용자 명령 수신 단계;
서비스 사용자의 파일 저장 명령이 수신되는 경우, 상기 시스템이 저장 대상 파일을 암호화한 암호화 파일을 블록체인에 저장하고, 상기 암호화 파일의 저장시 기록된 트랜잭션의 조회에 사용되는 트랜잭션 키와 상기 암호화 파일의 복호화에 사용되는 복호 키를 상호 연관시켜, 블록체인에 저장되어 실행되는 스마트 컨트랙트(smart contract)의 전용 저장 공간에 저장하는 파일 저장 단계; 및
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 시스템이 상기 스마트 컨트랙트의 전용 저장 공간에 저장된 상기 복호 키를 삭제하는 파일 관리 단계를 포함하는 블록체인 기반의 스토리지 서비스 제공 방법.A method of providing a storage service based on a block chain in which a data file of a service user is stored in a block chain using a storage service providing system in communication with nodes of a block chain network,
A user command receiving step in which the system receives a command of a service user;
The system according to claim 1, further comprising: a storage unit for storing a transaction file stored in the block chain and storing the encrypted transaction file; A file storage step of correlating the decryption keys used for decryption and storing them in a dedicated storage space of a smart contract stored in a block chain and executed; And
And a file management step of, when a file delete command of a service user is received for the encrypted file stored in the block chain, deleting the decryption key stored in a private storage space of the smart contract, Delivery method.
상기 파일 저장 단계는,
상기 시스템이 상기 저장 대상 파일의 암호화 및 복호화에 사용되는 고유의 암호 키 및 복호 키를 생성하는 키 생성 단계;
상기 시스템이 상기 암호 키로 상기 저장 대상 파일을 암호화하여 상기 암호화 파일을 생성하는 파일 암호화 단계;
상기 시스템이 상기 암호화 파일을 블록체인에 저장하는 암호화 파일 저장 단계; 및
상기 트랜잭션 키와 상기 복호 키를 상호 연관시켜 상기 스마트 컨트랙트의 전용 저장 공간에 저장하는 키 저장부를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 방법.The method according to claim 6,
In the file storing step,
A key generation step of generating a unique cryptographic key and a decryption key used by the system for encrypting and decrypting the file to be stored;
The system encrypting the storage object file with the encryption key to generate the encryption file;
The system comprising: an encrypted file storage step of storing the encrypted file in a block chain; And
And a key storage unit for storing the transaction key and the decryption key in a dedicated storage space of the smart contract in association with each other.
상기 파일 저장 단계는,
상기 저장 대상 파일의 암호화 전에, 상기 시스템이 상기 저장 대상 파일의 명칭, 크기 및 종류 중 적어도 하나를 포함하는 메타데이터를 추출하는 메타데이터 추출 단계; 및
상기 시스템이 상기 메타데이터와 상기 트랙잭션 키를 상호 연관시켜 데이터베이스에 저장하는 파일 정보 저장 단계를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 방법.The method according to claim 6,
In the file storing step,
A metadata extracting step of extracting metadata including at least one of a name, a size, and a type of the storage object file before the encryption of the storage object file; And
And a file information storing step of storing the metadata and the transaction key in a database by correlating the meta data with the transaction key.
상기 파일 관리 단계는,
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 삭제 명령이 수신되는 경우, 상기 시스템이 상기 데이터베이스에서 삭제 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출 단계; 및
상기 시스템이 상기 스마트 컨트랙트를 실행하여 상기 스마트 컨트랙트의 전용 저장 공간에서 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 삭제하는 스마트 컨트랙트 제어 단계를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 방법.9. The method of claim 8,
Wherein the file management step comprises:
A transaction key detection step in which the system detects a transaction key associated with metadata of a file to be deleted in the database when a file delete command of a service user is received for the encrypted file stored in the block chain; And
And a smart contract control step of the system executing the smart contract to delete a decryption key associated with the transaction key corresponding to the detected transaction key in a private storage space of the smart contract, Service delivery method.
상기 파일 관리 단계는,
블록체인에 저장된 상기 암호화 파일에 대하여 서비스 사용자의 파일 다운로드 명령이 수신되는 경우, 상기 시스템이 상기 데이터베이스에서 다운로드 대상 파일의 메타데이터와 연관된 트랜잭션 키를 검출하는 트랜잭션 키 검출 단계;
상기 시스템이 상기 스마트 컨트랙트를 실행하여 상기 검출된 트랜잭션 키에 대응하는 트랙잭션 키와 연관된 복호 키를 수신하는 스마트 컨트랙트 제어 단계;
상기 시스템이 상기 검출된 트랙잭션 키로 블록체인에 저장된 트랜잭션을 조회하여 블록체인에 저장된 상기 암호화 파일을 수신하는 암호화 파일 수신 단계; 및
상기 시스템이 상기 수신된 복호 키로 상기 수신된 암호화 파일을 복호화하는 파일 복호화 단계를 포함하는 것을 특징으로 하는 블록체인 기반의 스토리지 서비스 제공 방법.9. The method of claim 8,
Wherein the file management step comprises:
A transaction key detection step in which, when a file download command of a service user is received for the encrypted file stored in the block chain, the system detects a transaction key associated with the metadata of the file to be downloaded in the database;
A smart contract control step in which the system executes the smart contract and receives a decryption key associated with a transaction key corresponding to the detected transaction key;
Receiving an encrypted file stored in a block chain by retrieving a transaction stored in a block chain with the detected transaction key; And
Wherein the system decrypts the received encrypted file with the received decryption key. ≪ RTI ID = 0.0 > 31. < / RTI >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170103529A KR102094497B1 (en) | 2017-08-16 | 2017-08-16 | System and method for providing storage service based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170103529A KR102094497B1 (en) | 2017-08-16 | 2017-08-16 | System and method for providing storage service based on block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190018869A true KR20190018869A (en) | 2019-02-26 |
KR102094497B1 KR102094497B1 (en) | 2020-04-23 |
Family
ID=65562612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170103529A KR102094497B1 (en) | 2017-08-16 | 2017-08-16 | System and method for providing storage service based on block chain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102094497B1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934000A (en) * | 2019-03-12 | 2019-06-25 | 黑龙江世纪精彩科技有限公司 | Entertainment industry cooperation intention matching process and storage medium based on block chain technology |
CN110213368A (en) * | 2019-05-31 | 2019-09-06 | 联想(北京)有限公司 | Data processing method, data processing equipment and computer system |
CN110321336A (en) * | 2019-06-21 | 2019-10-11 | 迅鳐成都科技有限公司 | It is a kind of based on block chain in depositary management platform |
KR20190115432A (en) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | Cubechain type data management engine and data management method |
KR20210024823A (en) * | 2019-08-26 | 2021-03-08 | 단국대학교 산학협력단 | Apparatus and method for accessing control of data and system using the same |
CN113032595A (en) * | 2021-03-04 | 2021-06-25 | 陈峰磊 | Basic material hyperspectral data interest sharing method and system based on block chain |
KR20210077975A (en) | 2019-12-18 | 2021-06-28 | 서강대학교산학협력단 | Spatial indexing method and apparatus for blockchain-based geospatial data |
KR20210079053A (en) * | 2019-12-19 | 2021-06-29 | 한전케이디엔주식회사 | Apparatus for interfacing communication between legacy system for recruiting and platform of block_chain |
WO2021215551A1 (en) * | 2020-04-20 | 2021-10-28 | (주)사이버라인 | Blockchain-based electronic research note verification method and electronic research note management apparatus using same |
KR20210138452A (en) * | 2020-05-12 | 2021-11-19 | 주식회사 블록체인기술연구소 | The non-face-to-face large document access blockchain system that combines blockchain-based DID service and IPFS-based data sharing technology and private key distributed storage technology |
KR20230108155A (en) * | 2022-01-10 | 2023-07-18 | 주식회사 체인어스 | Method for saving to distribution data employing image value deciding based in CNN and blockchain driving |
CN116827653A (en) * | 2023-07-07 | 2023-09-29 | 青岛农业大学 | Data encryption and authorization management method based on Hyperledger Fabric alliance chain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
US20170161439A1 (en) * | 2007-07-03 | 2017-06-08 | Eingot Llc | Records access and management |
-
2017
- 2017-08-16 KR KR1020170103529A patent/KR102094497B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170161439A1 (en) * | 2007-07-03 | 2017-06-08 | Eingot Llc | Records access and management |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115432A (en) * | 2018-04-02 | 2019-10-11 | 주식회사 큐브시스템 | Cubechain type data management engine and data management method |
CN109934000A (en) * | 2019-03-12 | 2019-06-25 | 黑龙江世纪精彩科技有限公司 | Entertainment industry cooperation intention matching process and storage medium based on block chain technology |
CN109934000B (en) * | 2019-03-12 | 2021-06-29 | 黑龙江世纪精彩科技有限公司 | Entertainment industry cooperative intention matching method based on block chain technology and storage medium |
CN110213368A (en) * | 2019-05-31 | 2019-09-06 | 联想(北京)有限公司 | Data processing method, data processing equipment and computer system |
CN110321336A (en) * | 2019-06-21 | 2019-10-11 | 迅鳐成都科技有限公司 | It is a kind of based on block chain in depositary management platform |
KR20210024823A (en) * | 2019-08-26 | 2021-03-08 | 단국대학교 산학협력단 | Apparatus and method for accessing control of data and system using the same |
KR20210077975A (en) | 2019-12-18 | 2021-06-28 | 서강대학교산학협력단 | Spatial indexing method and apparatus for blockchain-based geospatial data |
KR20210079053A (en) * | 2019-12-19 | 2021-06-29 | 한전케이디엔주식회사 | Apparatus for interfacing communication between legacy system for recruiting and platform of block_chain |
WO2021215551A1 (en) * | 2020-04-20 | 2021-10-28 | (주)사이버라인 | Blockchain-based electronic research note verification method and electronic research note management apparatus using same |
KR20210138452A (en) * | 2020-05-12 | 2021-11-19 | 주식회사 블록체인기술연구소 | The non-face-to-face large document access blockchain system that combines blockchain-based DID service and IPFS-based data sharing technology and private key distributed storage technology |
CN113032595A (en) * | 2021-03-04 | 2021-06-25 | 陈峰磊 | Basic material hyperspectral data interest sharing method and system based on block chain |
KR20230108155A (en) * | 2022-01-10 | 2023-07-18 | 주식회사 체인어스 | Method for saving to distribution data employing image value deciding based in CNN and blockchain driving |
CN116827653A (en) * | 2023-07-07 | 2023-09-29 | 青岛农业大学 | Data encryption and authorization management method based on Hyperledger Fabric alliance chain |
CN116827653B (en) * | 2023-07-07 | 2024-02-09 | 青岛农业大学 | Data encryption and authorization management method based on Hyperledger Fabric alliance chain |
Also Published As
Publication number | Publication date |
---|---|
KR102094497B1 (en) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102094497B1 (en) | System and method for providing storage service based on block chain | |
EP3453135B1 (en) | System and method for encryption and decryption based on quantum key distribution | |
US8918633B2 (en) | Information processing device, information processing system, and program | |
US8914902B2 (en) | Method for user privacy protection | |
JP4889637B2 (en) | License management apparatus and method | |
CN103731395A (en) | Processing method and system for files | |
JP6543743B1 (en) | Management program | |
US10685141B2 (en) | Method for storing data blocks from client devices to a cloud storage system | |
WO2020206953A1 (en) | Data processing method and system | |
US20130007467A1 (en) | Binding of cryptographic content using unique device characteristics with server heuristics | |
CN104331408A (en) | Chunk-level client side encryption in hierarchical content addressable storage systems | |
KR101648364B1 (en) | Method for improving encryption/decryption speed by complexly applying for symmetric key encryption and asymmetric key double encryption | |
KR100982515B1 (en) | Apparatus and method for constraining the count of access to digital contents using a hash chain | |
KR101623742B1 (en) | Method and system for sharing file related messages | |
KR20220092811A (en) | Method and device for storing encrypted data | |
CN110955909B (en) | Personal data protection method and block link point | |
JP5678150B2 (en) | User terminal, key management system, and program | |
CN108763401A (en) | A kind of reading/writing method and equipment of file | |
KR102542213B1 (en) | Real-time encryption/decryption security system and method for data in network based storage | |
US9363081B2 (en) | License administration device and license administration method | |
KR101590270B1 (en) | Cloud service providers for storing data deduplication | |
JPH11331145A (en) | Information sharing system, information preserving device, information processing method and recording medium therefor | |
KR101945687B1 (en) | Electronic document managing system using hybrid cloud and method for thereof | |
KR20200114807A (en) | System and method for managing file based on multiblockchain | |
KR101635005B1 (en) | Method for managing metadata in a digital data safe system based on cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |