KR20190081299A - Block chain based data access control system and method thereof - Google Patents
Block chain based data access control system and method thereof Download PDFInfo
- Publication number
- KR20190081299A KR20190081299A KR1020170183719A KR20170183719A KR20190081299A KR 20190081299 A KR20190081299 A KR 20190081299A KR 1020170183719 A KR1020170183719 A KR 1020170183719A KR 20170183719 A KR20170183719 A KR 20170183719A KR 20190081299 A KR20190081299 A KR 20190081299A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transaction
- unit
- access
- generating
- Prior art date
Links
Images
Classifications
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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/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/0825—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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 데이터 접근 제어 시스템 및 방법에 관한 것으로, 더욱 상세하게는 클라우드 서버에 데이터 저장 시 블록체인에 기반하여 데이터를 업로드하고, 저장되는 데이터의 공유 시 블록체인에 기반하여 인증을 수행한 후 해당 데이터를 공유하는 블록체인 기반 데이터 접근 제어 시스템 및 방법에 관한 것이다.The present invention relates to a data access control system and method, and more particularly, to a data access control system and method, and more particularly, to a data access control system and method for uploading data based on a block chain when data is stored in a cloud server, To a block-chain-based data access control system and method for sharing data.
최근 통신기술 및 모바일 단말 기술의 급속한 발전으로, 모바일 단말기를 이용하여 인터넷 상에서 판매되는 상품을 구매하여 결제하는 인터넷 쇼핑 시스템 및 금융 거래 시스템, 인터넷 상의 클라우드 서버에 데이터를 등록하여 저장한 후 언제 어디서나 다운로드 받아 활용할 수 있는 클라우드 시스템 등과 같은 다양한 정보 처리 시스템들이 개발되어 적용되고 있다.In recent years, with the rapid development of communication technology and mobile terminal technology, an Internet shopping system and a financial transaction system for purchasing goods to be sold on the Internet using a mobile terminal, data is registered in a cloud server on the Internet, A variety of information processing systems have been developed and applied such as cloud systems that can be used and utilized.
정보 처리 시스템은 개인들의 중요한 정보를 다루므로 제3자에 의한 해킹을 방지하기 위해 다양한 보안 기술들이 적용되고 있다.Because information processing systems deal with important information of individuals, various security technologies are applied to prevent hacking by third parties.
특히, 최근에는 가상화폐인 비트코인과 비트코인에 적용된 블록체인(Block Chain) 보안 기술에 대한 관심이 급속도로 커지고 있다.Particularly, there is a growing interest in block chaining security technology applied to bit coin and bit coin in virtualization.
비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다. 일부 국가에선 비트코인으로 영화표나 비행기 표를 구매할 수 있으며, 국내에도 몇 개의 비트코인 거래소가 개설되어 현금으로 교환할 수 있을 정도이다.Bitcoin transparently records transactions on a book that anyone can read, and several computers using bit coin verify this record every 10 minutes to prevent hacking. In some countries, you can buy movie tickets or airplane tickets with bit coins, and there are also a few bit coin exchanges in Korea that can be exchanged for cash.
이러한 비트코인에 적용되는 기술 중 하나가 블록체인이다.One of the techniques applied to such bit coin is a block chain.
구체적으로, 블록체인은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조 여부를 판단한다.Specifically, a block chain is also referred to as a public transaction book and is a technique to prevent hacking that may occur when trading with virtual currency. In the case of an existing financial company, transaction records are stored in a centralized server, while block chains send transaction details to all users participating in the transaction.
한편, 사용자들의 데이터를 온라인상의 하드웨어에 저장하여 공유하는 클라우드 시스템 등과 같은 데이터 접근 제어 시스템은 중앙 집중형 클라우드 서버를 이용한 클라우드 저장소(Storage)에 접속하여 데이터 또는 파일들을 저장하고 관리한다.Meanwhile, a data access control system such as a cloud system, in which users' data are stored in hardware on-line, is connected to a cloud storage using a centralized cloud server to store and manage data or files.
그러나 제3자가 이러한 중앙 집중형 클라우드 서버만 해킹하면 클라우드 저장소에 있는 모든 데이터가 상기 제3자를 통해 외부로 유출될 수 있는 문제점이 있었다. However, if a third party hacked only the centralized cloud server, all the data in the cloud storage could be leaked to the outside through the third party.
따라서 본 발명의 목적은 클라우드 서버에 데이터 저장 시 블록체인에 기반하여 데이터를 업로드하고, 저장되는 데이터의 공유 시 블록체인에 기반하여 인증을 수행한 후 해당 데이터를 공유하는 블록체인 기반 데이터 접근 제어 시스템 및 방법을 제공함에 있다.Accordingly, it is an object of the present invention to provide a block-chain-based data access control system for uploading data based on a block chain when data is stored in a cloud server and performing authentication based on a block chain when sharing the stored data, And a method.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템은: 다수의 사용자 단말부들을 등록하고 블록체인 주소를 생성하여 할당하는 인증기관 서버를 포함하며, 사용자 단말부들 중 임의의 사용자 단말부에서 발생되는 트랜잭션을 다른 전체 사용자 단말부들에 분산 저장하여 블록체인을 형성하는 블록체인 네트워크; 상기 블록체인 네트워크에 포함되어 상기 사용자 단말부들의 트랜잭션을 분산 저장하고, 블록체인 네트워크의 임의의 사용자 단말부로부터 데이터를 수신받아 저장하고, 저장된 데이터에 대해 임의의 사용자 단말부로부터 접근 요청 발생 시 상기 블록체인을 통한 토큰 트랜잭션에 의해 검증을 수행하여 인증 성공 시 해당 사용자 단말부의 해당 데이터 접근을 허용하는 클라우드 서버; 데이터 소유주 모드에서 상기 블록체인 네트워크에 등록된 사용자 단말부로 상기 클라우드 서버에 데이터를 저장한 후 공유 요청하고, 상기 데이터에 접근하기 위한 접근 권한 요청 트랜잭션의 발생 시 토큰 트랜잭션을 생성하여 상기 블록체인에 분산 저장하는 데이터 소유주 단말부로 동작하고, 데이터 요청 모드에서 상기 블록체인 네트워크에 등록된 사용자 단말부로 상기 클라우드 서버에 저장된 임의의 데이터에 접근하고자 할 때 상기 데이터를 저장한 상기 데이터 소유주 단말부에 분산 저장되도록 상기 접근 권한 요청 트랜잭션을 상기 블록체인에 분산 저장하고, 상기 데이터 소유주 단말부에 의해 분산 저장된 토큰 트랜잭션에 의해 상기 클라우드 서버의 해당 데이터에 접근하는 데이터 요청자 단말부로 동작하는 사용자 단말부를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a block-chain-based data access control system comprising: an authentication authority server for registering a plurality of user terminal units and generating and allocating a block chain address, A block chain network for distributing transactions generated in a user terminal unit to all other user terminal units to form a block chain; A block chain network for distributing and storing transactions of the user terminal units, receiving and storing data from an arbitrary user terminal unit of a block-chain network, and storing, when an access request is made from an arbitrary user terminal unit for stored data, A cloud server that performs verification by a token transaction through a block chain and permits the corresponding data access of the corresponding user terminal unit upon successful authentication; Storing data in the cloud server in a data owner mode and registering the data in the block chain network, sharing a request, generating a token transaction when an access right request transaction for accessing the data occurs, And to store the data in the data owner terminal unit storing the data when accessing any data stored in the cloud server to the user terminal unit registered in the block chain network in the data request mode And a user terminal unit operating as a data requestor terminal unit for distributing the access right request transaction to the block chain and for accessing corresponding data of the cloud server by a token transaction distributed by the data owner terminal unit .
상기 사용자 단말부는, 상기 인증기관 서버로 등록을 요청하는 등록 요청 트랜잭션을 전송하여 등록하고 그에 따라 상기 인증기관 서버로부터 등록 응답 트랜잭션을 수신받아 상기 블록체인 주소인 인증된 주소를 생성하며 검증 트랜잭션을 생성하여 클라우드 서버를 통해 부분 공개키를 수신받아 인증 개인키를 생성하여 블록체인 네트워크에 등록하는 사용자 등록부; 상기 데이터 소유주 단말부로 동작하기 위한 동작 처리를 수행하는 데이터 공유 처리부; 상기 데이터 요청자 단말부로 동작하기 위한 동작 처리를 수행하는 데이터 요청 처리부; 및 상기 사용자 등록부, 공유 처리부 및 데이터 요청 처리부에서 발생되는 트랜잭션들을 상기 블록체인 네트워크상의 블록체인에 분산 저장하는 블록체인 처리부를 포함하는 것을 특징으로 한다.The user terminal unit transmits and registers a registration request transaction requesting registration to the certification authority server, receives a registration response transaction from the certification authority server, generates an authenticated address that is the block chain address, and generates a verification transaction A user registration unit for receiving the partial public key through the cloud server and generating an authentication private key and registering the partial private key in the block chain network; A data sharing processing unit for performing an operation process to operate as the data owner terminal unit; A data request processing unit for performing an operation process for operating the data requester terminal unit; And a block chain processing unit for distributing and storing transactions generated in the user registration unit, the shared processing unit, and the data request processing unit in a block chain on the block-chain network.
상기 사용자 등록부는, 블록체인 네트워크에서 사용할 공개키를 생성하는 공개키 생성부; 블록체인 네트워크에서 사용할 개인키를 생성하는 개인키 생성부; 주소를 생성하는 주소 생성부; 상기 공개키 및 주소를 포함하는 상기 등록 요청 트랜잭션을 생성하여 인증기관 서버로 제공하고, 그에 따른 상기 등록 응답 트랜잭션을 수신받는 등록 처리부; 상기 생성된 블록체인 주소 및 등록 응답 트랜잭션에 근거하여 인증된 인증 주소를 생성하는 인증주소 생성부; 상기 인증 주소의 인증여부를 검사하기 위한 검증 트랜잭션을 생성하는 검증 트랜잭션 생성부; 상기 검증 트랜잭션을 포함하는 부분 개인키 요청 신호를 클라우드 서버로 전송하고 그에 따른 부분 개인키를 획득하는 부분 개인키 획득부; 및 상기 부분 개인키를 활용하여 인증 개인키를 생성하는 인증 개인키 생성부를 포함하는 것을 특징으로 한다.The user registration unit includes a public key generation unit for generating a public key for use in a block-chain network; A private key generation unit for generating a private key for use in a block-chain network; An address generating unit for generating an address; A registration processing unit for generating the registration request transaction including the public key and the address, providing the registration request transaction to the certification authority server, and receiving the registration response transaction; An authentication address generator for generating an authenticated authentication address based on the generated block chain address and the registration response transaction; A verification transaction generating unit for generating a verification transaction for checking whether the authentication address is authenticated; A partial private key obtaining unit transmitting the partial private key request signal including the verification transaction to the cloud server and obtaining a partial private key corresponding thereto; And an authentication private key generation unit for generating an authentication private key using the partial private key.
상기 데이터 공유 처리부는, 클라우드 서버에 업로드한 데이터에 대한 암호화 및 데이터 요청자에 대한 권한을 승인하는 권한 승인부; 및 업로드한 상기 데이터의 업데이트 여부를 모니터링하고, 업데이트 시의 레코드 업데이트 트랜잭션을 생성하여 데이터의 접근을 허용한 데이터 요청자 단말부로 전송하고, 상기 데이터에 대한 접근권한을 업데이트하는 업데이트부를 포함하되, 상기 권한 승인부는, 업로드한 데이터에 대한 해시결과를 포함하는 데이터 해시 트랜잭션을 생성하여 블록체인 네트워크에 추가하는 데이터 해시 트랜잭션 생성부; 상기 데이터의 요청 발생 시 권한 부여를 위한 토큰 트랜잭션을 생성하여 데이터 요청자 단말부로 제공하는 토큰 트랜잭션 생성부; 및 상기 데이터를 재암호화하기 위해 상기 토큰 트랜잭션에 대응하고 요청자의 공개키를 사용하는 재암호화키를 생성하여 클라우드 서버로 전송하는 재암호화키 생성부를 포함하는 것을 특징으로 한다.Wherein the data sharing processing unit comprises: an authority granting unit for granting an authority to the data requester to encrypt data uploaded to the cloud server; And an update unit for monitoring whether the uploaded data is updated, generating a record update transaction at the time of update, transmitting the update transaction to a data requestor terminal unit that has permitted data access, and updating the access right for the data, The approval unit may generate a data hash transaction including the hash result of the uploaded data and add the hash transaction to the block chain network; A token transaction generator for generating a token transaction for granting authorization when the data request is generated and providing the token transaction to the data requestor terminal; And a re-encryption key generator for generating a re-encryption key corresponding to the token transaction and using the requestor's public key to re-encrypt the data and transmitting the re-encryption key to the cloud server.
데이터 요청 처리부는, 데이터 소유주 단말부로부터 수신한 토큰 트랜잭션에 근거하여 상기 데이터에 접근을 요청하는 정보 접근 요청 트랜잭션을 상기 클라우드 서버로 전송하여 데이터의 접근을 요청하는 권한 요청부; 및 상기 데이터의 접근 요청에 대해 상기 클라우드 서버로부터 재암호화키에 의해 재암호화된 암호화 데이터를 획득하고, 상기 토큰 트랜잭션에 근거한 비밀키로 복호화하여 데이터를 획득하는 데이터 접근부를 포함하는 것을 특징으로 한다.The data request processing unit includes: an authorization request unit for transmitting an information access request transaction requesting access to the data based on the token transaction received from the data owner terminal unit to the cloud server to request access to the data; And a data access unit for obtaining the encrypted data re-encrypted by the re-encryption key from the cloud server in response to the data access request, and decrypting the decrypted data with the secret key based on the token transaction to obtain the data.
상기 데이터 요청 처리부는, 상기 데이터 소유주 단말부로부터 데이터 업데이트에 대한 레코드 업데이트 트랜잭션을 수신받고, 상기 레코드 업데이트 트랜잭션에 포함된 토큰으로 이전 토큰을 갱신하는 토큰 업데이트부를 더 포함하는 것을 특징으로 한다.The data request processing unit may further include a token update unit that receives a record update transaction for data update from the data owner terminal unit and updates the transfer token with the token included in the record update transaction.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법은: 데이터 소유주 단말부, 데이터 요청자 단말부, 클라우드 서버가 인증기관 서버로부터 블록체인 주소를 할당받아 블록체인 네트워크에 등록하는 블록체인 네트워크 등록 과정; 상기 데이터 소유주 단말부 및 데이터 요청자 단말부가 상기 블록체인 주소에 근거하여 인증된 주소를 생성하고, 인증된 주소에 근거한 검증 트랜잭션을 생성하여 상기 블록체인 네트워크에 분산 등록하고, 상기 검증 트랜잭션을 상기 클라우드 서버로 제공한 후 상기 검증 트랜잭션에 대한 부분 개인키를 수신받아 인증 개인키를 생성하여 상기 클라우드 서버에 등록하는 클라우드 서버 등록 과정; 상기 데이터 소유주 단말부가 공개할 데이터를 공개키로 암호화하여 클라우드 서버에 등록하는 데이터 공유 과정; 데이터 요청자 단말부가 상기 데이터에 접근하기 위해 상기 데이터 소유주 단말부로 상기 데이터에 대한 접근 권한을 요청하고, 그에 대해 상기 블록체인 네트워크에 분산 등록된 토큰 트랜잭션을 수신받아 상기 데이터에 대한 접근 권한을 승인받는 접근 권한 획득 과정; 및 상기 데이터 요청자 단말부가 상기 클라우드 서버로 상기 토큰 트랜잭션을 포함하는 정보 접근 요청 트랜잭션을 전송하여 상기 데이터에 대한 접근을 요청하고, 상기 클라우드 서버의 토큰 트랜잭션에 의한 검증 성공 시 해당 데이터에 접근하는 데이터 접근 과정을 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a block-chain-based data access control method including: a data owner terminal unit, a data requestor terminal unit, and a cloud server, Block chain network registration process; The data owner terminal and the data requestor terminal generate an authenticated address based on the block chain address, generate a validation transaction based on the authenticated address, and distribute and register the validation transaction to the block chain network, A cloud server registration step of receiving a partial private key for the verification transaction and generating an authentication private key and registering the authentication private key in the cloud server; A data sharing process of encrypting data to be disclosed by the data owner terminal unit with a public key and registering the data in the cloud server; A data requester terminal requesting access to the data by the data owner terminal to access the data, receiving a token transaction distributedly registered in the block-chain network, and receiving access to the data, Authorization process; And the data requestor terminal transmits an information access request transaction including the token transaction to the cloud server to request access to the data, and when the verification by the token transaction of the cloud server is successful, The method comprising the steps of:
블록체인 네트워크 등록 과정은, 블록체인 네트워크에서 사용할 공개키를 생성하는 공개키 생성 단계; 블록체인 네트워크에서 사용할 개인키를 생성하는 개인키 생성 단계; 주소를 생성하는 주소 생성 단계; 및 상기 생성된 공개키 및 주소를 사용하여 등록 요청 트랜잭션을 생성하여 인증기관 서버로 제공하고, 그에 따른 등록 응답 트랜잭션을 수신받아 블록체인 네트워크에 사용할 인증된 주소인 블록체인 주소를 생성하는 블록체인 주소 생성 단계를 포함하는 것을 특징으로 한다.The block chain network registration process includes: a public key generation step of generating a public key to be used in a block-chain network; Generating a private key for use in a block-chain network; An address generating step of generating an address; And generating a registration request transaction using the generated public key and address to provide the registration request transaction to an authentication authority server, receiving a registration response transaction and generating a block chain address that is an authenticated address to be used in a block- And a generating step.
상기 클라우드 서버 등록 과정은, 생성된 상기 주소 및 등록 응답 트랜잭션에 근거하여 인증된 인증 주소인 블록체인 주소를 생성하는 인증주소 생성 단계; 상기 인증 주소의 인증여부를 검사하기 위한 검증 트랜잭션을 생성하는 검증 트랜잭션 생성 단계; 상기 검증 트랜잭션을 블록체인 네트워크에 분산 등록하는 검증 트랜잭션 블록체인 형성 단계; 상기 검증 트랜잭션을 포함하는 부분 개인키 요청 신호를 클라우드 서버로 전송하고 그에 따른 부분 개인키를 획득하는 부분 개인키 획득 단계; 및 상기 부분 개인키를 활용하여 인증 개인키를 생성하는 인증 개인키 생성 단계를 포함하는 것을 특징으로 한다.The cloud server registration process includes: generating an authentication block address, which is an authenticated authentication address, based on the generated address and a registration response transaction; A verification transaction generation step of generating a verification transaction for checking whether or not the authentication address is authenticated; A verification transaction block chain formation step of distributing the verification transaction to the block-chain network; A partial private key obtaining step of transmitting a partial private key request signal including the verification transaction to a cloud server and obtaining a partial private key corresponding thereto; And an authentication private key generation step of generating an authentication private key using the partial private key.
상기 접근 권한 획득 과정은, 데이터 요청자 단말부가 상기 데이터에 접근하기 위해 상기 데이터 소유주 단말부로 상기 데이터에 대한 접근 권한을 요청하는 접근 권한 요청 단계; 상기 데이터 소유주 단말부가 상기 데이터 요청자 단말부로부터 접근 권한 요청 발생 시 그에 대해 토큰 트랜잭션을 생성하여 상기 블록체인 네트워크에 분산 등록한 후 상기 데이터 요청자 단말부로 제공하는 접근 권한 부여 단계; 상기 데이터 요청자 단말부가 상기 토큰 트랜잭션을 수신받아 상기 데이터에 대한 접근 권한을 승인받는 접근 권한 승인 획득 단계를 포함하는 것을 특징으로 한다.The access authority obtaining step may include an access authority request step of requesting the data owner terminal unit to access the data to access the data requestor terminal unit; An access authority granting step of generating a token transaction for the access request from the data requesting terminal unit when the access request is generated by the data owner terminal unit, and distributing the token transaction to the block requesting terminal unit; And a step of acquiring an access authority for the data requester terminal unit to receive the token transaction and to approve the access authority for the data.
상기 접근 권한 부여 단계는, 상기 데이터 소유주 단말부가 상기 데이터 요청자 단말부로부터 접근 권한 요청 발생 시 그에 대해 토큰 트랜잭션을 생성하는 토큰 트랜잭션 생성 단계; 상기 토큰 트랜잭션을 상기 블록체인 네트워크에 분산 등록하는 토큰 트랜잭션 블록체인 형성 단계; 상기 블록체인 형성 후 상기 토큰 트랜잭션을 상기 데이터 요청자 단말부로 제공하는 토큰 트랜잭션 제공 단계; 상기 토큰 트랜잭션에 근거한 재암호화키를 생성하는 재암호화키 생성 단계; 및 상기 재암호화키를 클라우드 서버에 제공하여 해당 데이터에 맵핑하여 저장하는 재암호화키 등록 단계를 포함하는 것을 특징으로 한다.The access authorization step may include: a token transaction generation step in which the data owner terminal generates a token transaction for the access request from the data requestor terminal unit; Forming a token transaction block chain in which the token transaction is distributedly registered in the block-chain network; A token transaction providing step of providing the token transaction to the data requestor terminal after forming the block chain; Generating a re-encryption key based on the token transaction; And a re-encryption key registration step of providing the re-encryption key to the cloud server, mapping the re-encryption key to the data, and storing the re-encryption key.
데이터 접근 과정은, 상기 데이터 요청자 단말부가 상기 클라우드 서버로 상기 토큰 트랜잭션을 포함하는 정보 접근 요청 트랜잭션을 전송하는 정보 접근 요청 단계; 클라우드 서버가 정보 접근 요청 트랜잭션에 포함된 토큰 트랜잭션과 블록체인 상의 데이터 소유주 단말부에 대한 정보 접근 요청 트랜잭션의 기록을 확인하여 유효성을 판단하는 접근 유효성 판단 단계; 유효하면 상기 정보 접근 요청에 대응하는 데이터를 상기 데이터 소유자 단말부로부터 등록된 상기 재암호화키로 암호화하여 상기 데이터 요청자 단말부로 제공하는 암호화 데이터 제공 단계; 및 상기 데이터 요청자 단말부가 상기 토큰 트랜잭션에 근거한 비밀키로 상기 암호화 데이터를 복호하여 해당 데이터를 획득하는 데이터 접근 단계를 포함하는 것을 특징으로 한다.Wherein the data accessing step comprises: an information access request step in which the data requestor terminal transmits an information access request transaction including the token transaction to the cloud server; An access validity determination step of determining a validity of a token transaction included in the information access request transaction and a record of the information access request transaction for the data owner terminal unit on the block chain by determining whether the cloud server has validity; Encrypting the data corresponding to the information access request with the re-encryption key registered from the data owner terminal unit and providing the encrypted data to the data requestor terminal unit if valid; And a data accessing step in which the data requester terminal decrypts the encrypted data with a secret key based on the token transaction and acquires the corresponding data.
본 발명은 트랜잭션들을 블록체인 네트워크의 블록체인에 형성하는 시스템 및 장치들에 분산 저장한 후, 블록체인을 통한 검증을 수행하므로 데이터 접근 제어에 따른 보안성을 높일 수 있는 효과를 갖는다.The present invention has the effect of enhancing security according to data access control by performing transactions through a block chain after being distributedly stored in a system and apparatuses forming a block chain of a block-chain network.
또한, 본 발명은 시스템에서 발생되는 트랜잭션들이 블록체인 네트워크의 모든 시스템 및 장치에 분산 저장되므로 클라우드 서버를 통하지 않고도 자신의 데이터에 대한 접근기록을 확인할 수 있는 효과를 갖는다.In addition, since the transactions generated in the system are distributedly stored in all systems and devices of the block-chain network, the present invention has an effect of confirming the access record of own data without going through the cloud server.
도 1은 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따라 블록체인 기반 데이터 접근 제어 시스템에서 블록체인 적용 개념을 나타낸 도면이다.
도 3은 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템의 사용자 단말부의 구성을 나타낸 도면이다.
도 4는 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법을 나타낸 절차도이다.
도 5는 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 사용자 등록 방법을 나타낸 절차도이다.
도 6은 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 권한 요청 및 권한 부여 방법을 나타낸 절차도이다.
도 7은 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 데이터 요청자의 데이터 접근 방법을 나타낸 절차도이다.1 is a block diagram of a block-chain-based data access control system according to the present invention.
2 is a block chain application concept in a block-chain-based data access control system according to the present invention.
3 is a block diagram of a user terminal unit of a block-chain-based data access control system according to the present invention.
4 is a flowchart illustrating a block-chain-based data access control method according to the present invention.
5 is a flowchart illustrating a method of registering a user among block-chain-based data access control methods according to the present invention.
FIG. 6 is a flowchart illustrating a rights request and authorization method in a block-chain-based data access control method according to the present invention.
FIG. 7 is a flowchart illustrating a data access method of a data requester in a block-chain-based data access control method according to the present invention.
이하 첨부된 도면을 참조하여 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템의 구성 및 동작을 상세히 설명하고, 상기 시스템에서의 블록체인 기반 데이터 접근 제어 방법을 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0029] Hereinafter, a block chain-based data access control system according to the present invention will be described in detail with reference to the accompanying drawings, and a block chain-based data access control method in the system will be described.
도 1은 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템의 구성을 나타낸 도면이고, 도 2는 본 발명에 따라 블록체인 기반 데이터 접근 제어 시스템에서 블록체인 적용 개념을 나타낸 도면이다. 이하 도 1 및 도 2를 참조하여 설명한다.FIG. 1 is a block diagram of a block-chain-based data access control system according to the present invention, and FIG. 2 is a block-chain application concept in a block-chain-based data access control system according to the present invention. Hereinafter, description will be made with reference to Figs. 1 and 2. Fig.
본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템은 사용자 단말부(100)인 데이터 소유주 단말부(100-1), 사용자 단말부인 데이터 요청자 단말부(100-2) 및 클라우드 서버(300)를 포함하고, 상기 데이터 소유주 단말부(100-1), 데이터 요청자 단말부(100-2) 및 클라우드 서버(300)가 가입되어 있고, 인증기관 서버(200) 및 다수의 사용자 단말부(100)를 포함하는 블랙체인 네트워크(400)를 포함한다.The block chain-based data access control system according to the present invention includes a data owner terminal unit 100-1 as a
상기 블랙체인 네트워크(400)에 포함되는 데이터 소유주 단말부(100-1), 데이터 요청자 단말부(100-2), 클라우드 서버(300) 및 인증기관 서버(200)는 유무선 데이터 통신망(500)을 통해 연결되어 데이터 통신을 수행한다.The data owner terminal unit 100-1, the data requestor terminal unit 100-2, the
상기 유무선 데이터 통신망(500)은 와이파이(WiFi) 망을 포함하는 인터넷망, 3세대(3 Generation: 3G), 4G, 5G 등을 포함하는 이동통신망, 와이브로망 등 중 적어도 하나 이상이 결합되어 있는 통신망이다.The wired / wireless
데이터 소유주 단말부(100-1)는 블록체인 네트워크(400)에 등록된 사용자 단말부(100)로, 컴퓨터 단말기(10) 및 스마트폰, 스마트 패드 등과 같은 모바일 단말기(20)가 될 수 있으며, 임의의 데이터를 클라우드 서버(300)에 저장하여 공유하는 데이터 소유주의 사용자 단말부(100)이다.The data owner terminal unit 100-1 is a
데이터 요청자 단말부(100-2)는 블록체인 네트워크(400)에 등록된 사용자 단말부(100)로, 컴퓨터 단말기(10) 및 모바일 단말기(20)가 될 수 있으며, 상기 클라우드 서버(300)에 저장된 임의의 데이터 소유주 단말부(100-1)가 저장한 데이터에 접근하고자 하는 사용자 단말부(100)로서, 상기 데이터 소유주 단말부(100-1)로부터 해당 데이터의 접근 권한을 받은 후 클라우드 서버(300)의 해당 데이터에 접근한다.The data requester terminal unit 100-2 may be the
인증기관 서버(200)는 블록체인 네트워크(400)에 등록된 서버로 블록체인 네트워크(400)에 등록하고자 하는 사용자 단말부(100)들로 인증된 주소인 블록체인 주소를 생성하여 할당한다.The
클라우드 서버(300)는 데이터를 저장하고 공유하는 클라우드 서비스를 제공하고 블록체인 네트워크(400)에 등록된 서버로서, 데이터 소유주 단말부(100-1)로부터 데이터를 업로드받아 등록하고 데이터 소유주 단말부(100-1)의 공유 요청에 따라 데이터를 공유하되, 데이터 요청자 단말부(100-2)로부터 데이터 접근 요청 발생 시 블록체인에 등록된 토큰에 기반한 검증을 수행한 후 검증 여부에 따라 해당 데이터를 공유한다.The
블록체인 네트워크(400)는 상기 데이터 소유주 단말부(100-1), 데이터 요청자 단말부(100-2)를 포함하는 다수의 사용자 단말부(100)들 및 인증기관 서버(200), 클라우드 서버(300)를 포함하는 네트워크로 상호 발생되는 트랜잭션들을 다른 사용자 단말부(100), 인증기관 서버(200) 및 클라우드 서버(300)에 분산 저장하여 블렉체인을 형성한다.The
도 3은 본 발명에 따른 블록체인 기반 데이터 접근 제어 시스템의 사용자 단말부의 구성을 나타낸 도면이다.3 is a block diagram of a user terminal unit of a block-chain-based data access control system according to the present invention.
본 발명에 따른 사용자 단말부(100)는 사용자 등록부(110), 데이터 공유 처리부(120), 데이터 요청 처리부(130) 및 블록체인 처리부(140)를 포함한다.The
사용자 등록부(110)는 공개키 생성부(111), 개인키 생성부(112), 주소 생성부(113), 등록 처리부(114), 인증 주소 생성부(115), 검증 트랜잭션 생성부(116), 부분 공개키 생성부(117) 및 인증 개인키 생성부(118)를 포함하여 블록체인 네트워크(400)를 통해 클라우드 서버(300)에 사용자 단말부(100)를 등록한다.The
구체적으로 설명하면, 공개키 생성부(111)는 블록체인 네트워크(400)에서 사용할 공개키(Public Key: PK)를 생성한다.More specifically, the public
개인키 생성부(112)는 블록체인 네트워크(400)에서 사용할 개인키(Private Key)를 생성한다.The private
주소 생성부(113)는 주소(Address)를 생성한다.The
등록 처리부(114)는 상기 개인키, 공개키 및 주소를 포함하는 등록 요청 트랜잭션을 생성하여 인증기관 서버(200)로 제공하고, 그에 따른 상기 등록 응답 트랜잭션을 수신받는다.The
인증주소 생성부(115)는 상기 등록 처리부(114)를 통해 수신된 등록 응답 트랜잭션에 근거하여 블록체인 네트워크(400)에서 사용할 인증된 주소인 블록체인 주소를 생성하고 주소의 생성에 관여된 비밀키로 생성된 서명 및 공개키를 포함하는 트랜잭션의 형태로 블록체인 네트워크(400)에 저장하여 사용자 단말부 및 사용자 중 적어도 하나 이상을 등록 처리한다.The authentication address generation unit 115 generates a block chain address, which is an authenticated address to be used in the block-
검증 트랜잭션 생성부(116)는 상기 인증 주소의 인증여부를 검사하기 위한 검증 트랜잭션을 생성한다.The verification
부분 개인키 획득부(117)는 상기 검증 트랜잭션을 포함하는 부분 개인키 요청 신호를 클라우드 서버(300)로 전송하고 그에 따른 부분 개인키를 클라우드 서버(300)로부터 획득한다.The partial private
인증 개인키 생성부(118)는 상기 부분 개인키를 활용하여 인증 개인키(=비밀키)를 생성한다. 비밀키는 트랜잭션의 서명을 생성하는 데 사용된다.The authentication private key generating unit 118 generates an authentication private key (= secret key) using the partial private key. The secret key is used to generate the signature of the transaction.
데이터 공유 처리부(120)는 권한 승인부(121) 및 업데이트부(122)를 포함하여 데이터 소유주 모드에서 데이터 소유주 단말부로 동작하기 위한 동작 처리를 수행하는 것으로, 사용자가 선택한 데이터를 클라우드 서버(300)에 업로드하고, 업로드한 데이터의 암호화, 데이터에 접근하고자 하는 데이터 요청자 단말부(100-2)에 대해 블록체인을 활용한 권한 승인, 데이터의 업데이트에 대한 블록체인을 활용한 암호화 업데이트 등을 수행한다.The data
구체적으로 설명하면, 권한 승인부(121)는 업로드한 데이터에 대한 해시결과를 포함하는 데이터 해시 트랜잭션을 생성하여 블록체인 네트워크(400)에 추가하는 데이터 해시 트랜잭션 생성부(122), 데이터 요청 발생 시 권한 부여를 위한 토큰 트랜잭션을 생성하여 데이터 요청자 단말부(100-2)로 제공하는 토큰 트랜잭션 생성부(123) 및 상기 데이터를 재암호화하기 위해 상기 토큰 트랜잭션에 대응하고 요청자의 공개키를 사용하는 재암호화키를 생성하여 클라우드 서버(300)로 전송하는 재암호화키 생성부(124)를 포함한다.Specifically, the
업데이트부(125)는 상기 데이터의 업데이트를 모니터링하고, 상기 데이터의 업데이트 시 상기 데이터 해시 트랜잭션 생성부(121)를 구동하여 데이터의 해시 트랜잭션을 생성하여 갱신한다. 이 경우 이전에 생성된 토큰 트랜잭션을 사용할 수 없으며, 데이터 소유주는 업데이트 시 기존 발급한 접근 권한에 대해 갱신하거나 폐기함으로써 접근 관리가 가능하다. The
데이터 요청 처리부(130)는 권한 요청부(131), 토큰 업데이트부(132), 데이터 접근부(133)를 포함하여, 데이터 요청 모드에서 데이터 요청자 단말부(100-2)로 동작하기 위한 동작 처리를 수행하는 것으로, 클라우드 서버(300)에 등록된 임의의 데이터에 대해 블록체인 네트워크(400)를 활용한 권한을 승인받아 해당 데이터에 접근한다. The data
상기 권한 요청부(131)는 데이터 소유주 단말부(100-1)로부터 수신한 토큰 트랜잭션에 근거하여 상기 데이터에 접근을 요청하는 정보 접근 요청 트랜잭션을 상기 클라우드 서버(300)로 전송하여 데이터의 접근을 요청한다.The
상기 데이터 접근부(133)는 상기 데이터의 접근 요청에 대해 상기 클라우드 서버로부터 재암호화키에 의해 재암호화된 암호화 데이터를 획득하고, 상기 토큰 트랜잭션에 근거한 비밀키로 복호화하여 데이터를 획득한다.The
상기 토큰 업데이트부(132)는 데이터 소유주 단말부(100-1)가 자신이 업로드한 데이터를 업데이트하는 경우 데이터 소유주 단말부(100-1)로부터 레코드 업데이트 트랜잭션을 포함하는 토큰 업데이트 요청 정보를 수신받아 포함된 레코드 업데이트 트랜잭션의 토큰으로 이전 토큰을 갱신한다.When the data owner terminal unit 100-1 updates the data uploaded by the data owner terminal unit 100-1, the
블록체인 처리부(140)는 상기 사용자 등록부(110), 데이터 공유 처리부(120) 및 데이터 요청 처리부(130)에서 발생되는 트랜잭션들을 블록체인 네트워크(400)에 분산 저장하여 블록체인에 등록하는 동작을 수행한다.The block
도 4는 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법을 나타낸 절차도이다.4 is a flowchart illustrating a block-chain-based data access control method according to the present invention.
도 4를 참조하여 설명함에 있어 데이터 소유주 단말부(100-1)는 클라우드 서버(300)에 데이터를 저장한 후 해당하는 데이터 트랜잭션의 트랜잭션 식별자를 접근 요청자 단말부(100-2)를 포함하는 다른 사용자 단말부(100)들로 알려주는 과정, 즉 블록체인 네트워크(400)에 포함시키는 과정을 전제로 하여 설명한다.4, the data owner terminal unit 100-1 stores data in the
데이터 소유주 단말부(100-1) 및 데이터 요청자 단말부(100-2)를 포함하는 사용자 단말부(100)들과 클라우드 서버(300)는 인증기관 서버(200)에 접속하고, 인증기관 서버(200)를 통해 블록체인 주소를 생성하여 블록체인 네트워크(400)에 등록하는 등록 과정(S11)과, 데이터 소유주 단말부(100-1) 및 데이터 요청자 단말부(100-2)를 포함하는 사용자 단말부(100)는 클라우드 서버(300)에 데이터를 등록하고 등록된 데이터를 이용하기 위한 클라우드 서비스에 등록하기 위한 서비스 등록 과정(S12)을 포함하는 사용자 등록 과정을 수행하여야 한다(S100). The
상기 사용자 등록 과정의 수행 후 데이터 소유주 단말부(100-1)는 공개할 데이터를 상기 사용자 등록 과정에서 생성된 공개키로 공개할 데이터를 암호화한(S13) 후 클라우드 서버(300)로 업로드하여 등록하는(S15) 데이터 공유 과정(S200)을 수행한다.After the user registration process is performed, the data owner terminal unit 100-1 encrypts data to be disclosed as a public key generated in the user registration process (S13), uploads the data to the
상기 데이터 공유 과정(S200)을 통해 데이터가 공유되면 상기 데이터 공유 과정에서 등록된 데이터에 접근하여 활용하고자 하는 임의의 데이터 요청자 단말부(100-2)는 데이터 소유주 단말부(100-1)로 상기 데이터에 대한 접근 권한을 요청하고(S17), 상기 접근 권한 요청을 받은 데이터 소유주 단말부(100-1)는 상기 접근 권한 요청에 대한 토큰 트랜잭션을 생성한(S19) 후 상기 토큰 트랜잭션을 데이터 요청자 단말부(100-2)로 전송하여(S21) 상기 데이터의 접근 권한을 부여하는 접근 권한 요청 및 접근 권한 부여 과정(S300)을 수행한다.When the data is shared through the data sharing process (S200), any data requestor terminal unit (100-2) that accesses and utilizes the registered data in the data sharing process transmits the data to the data owner terminal unit (100-1) (S17). The data owner terminal unit (100-1), which has received the access authority request, generates a token transaction for the access authority request (S19), and then transmits the token transaction to the data requestor terminal (S21), and performs an access right request and an access right grant process (S300) to grant the access right of the data.
데이터 접근 권한을 부여받은 데이터 요청자 단말부(100-2)는 상기 토큰 트랜잭션을 소비하고, 데이터 트랜잭션을 참조하여 정보 접근 허가 요청 정보인 정보 접근 요청 트랜잭션을 생성하여 전송하고(S23), 그에 따른 인증기관 서버(200)를 통한 토큰 트랜잭션의 검증(S25) 후 데이터 요청자 단말부(100-2)의 요청자의 공개키로 암호화된 데이터를 획득하고(S29), 상기 토큰 트랜잭션에 근거한 비밀키로 상기 암호화된 데이터를 복호화하는 데이터 접근 과정(S400)을 수행한다.The data requester terminal unit 100-2 having received the data access right consumes the token transaction, generates an information access request transaction, which is the information access permission request information, with reference to the data transaction (S23) After the verification of the token transaction (S25) through the
이는 데이터 소유주 단말부(100-1)가 본인만의 비밀키로 자산이 업로드한 데이터를 복호할 수 있도록 최초 클라우드에 데이터를 업로드할 때 자신만 복호화가 가능하도록 자신의 공개키로 암호화하고, 데이터 요청자 단말부(100-2)가 적합한 접근 권한을 가지고 있을 경우, 암호화된 데이터를 복호화할 수 있는 권한을 위임하기 위한 것이다. 상기 재암화화키는 이러한 권한 위임을 가능하게 해주는 키로 데이터 소유주인 데이터 소유주 단말부(100-1)에 의해서 생성되며, 재암호화키를 사용한 재암호화 연산이후의 데이터는 데이터 접근을 요청한 데이터 요청자 단말부(100-2)의 비밀키로 복호화할 수 있는 상태로 변경한다. 즉, 재암호화키는 암호화에 사용되는 것이 아니라 사용자의 공개키로 암호화된 데이터를 접근 요청자가 복호화할 수 있도록 만들어주는 키이다. When the data owner terminal unit 100-1 uploads data to the first cloud so that the data uploaded by the asset can be decrypted with the secret key of the user alone, the data owner terminal unit 100-1 encrypts the data with its own public key so that the data can be decrypted only by itself. And to delegate authority to decrypt the encrypted data when the unit 100-2 has appropriate access authority. The re-enciphering key is generated by the data owner terminal unit 100-1 as a key enabling the delegation of authority, and the data after the re-encryption operation using the re-encryption key is generated by the data requester terminal unit To a state capable of being decrypted with the secret key of the terminal 100-2. That is, the re-encryption key is not used for encryption but is a key that makes it possible for an access requester to decrypt data encrypted with a user's public key.
도 5는 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 사용자 등록 방법을 나타낸 절차도이다. 도 5를 참조하여 사용자 단말부(100) 관점에서의 사용자 등록 방법(과정)을 상세히 설명한다.5 is a flowchart illustrating a method of registering a user among block-chain-based data access control methods according to the present invention. A user registration method (process) from the viewpoint of the
데이터 소유주 단말부(100-1), 데이터 요청자 단말부(100-2) 및 제3사용자 단말부(100-n)의 사용자 단말부(100)는 사용자 등록부(110)의 공개키 생성부(111), 개인키 생성부(112) 및 주소 생성부(113)를 통해 블록체인에서 사용할 공개키, 개인키 및 주소를 생성한다(S111).The
공개키, 개인키 및 주소가 생성되면 데이터 소유주 단말부(100-1)는 등록 요청 트랜잭션을 인증기관 서버(200)로 전송한다(S113). When the public key, the private key and the address are generated, the data owner terminal unit 100-1 transmits a registration request transaction to the certification authority server 200 (S113).
인증기관 서버(200)는 상기 등록 요청 트랜잭션을 수신받아 저장하여 등록한(S115) 후, 등록 응답 트랜잭션을 생성하여 사용자 단말부(100)로 제공한다.The
상기 등록 요청 트랜잭션 및 등록 응답 트랜잭션은 타임스탬프, 트랜잭션 식별정보, 공개키, 사인(Sign), 주소 등을 포함한다.The registration request transaction and the registration response transaction include a time stamp, transaction identification information, a public key, a sign, an address, and the like.
등록 응답 트랜잭션을 수신한 사용자 단말부(100)는 수신된 등록 응답 트랜잭션에 근거하여 인증된 주소를 생성하여(S119) 블록체인 네트워크 등록 과정을 수행한다.Upon receiving the registration response transaction, the
인증된 주소가 생성되면 사용자 단말부(100)는 인증된 주소를 검증하기 위한 검증 트랜잭션을 생성한다(S121). 상기 검증 트랜잭션은 상기 인증된 주소를 포함할 것이다.When the authenticated address is generated, the
상기 검증 트랜잭션이 생성되면 사용자 단말부(100)는 인증된 주소를 포함하는 부분 개인키 요청 트랜잭션을 클라우드 서버(300)로 전송한다(S123).When the verification transaction is generated, the
부분 개인키 요청 트랜잭션을 수신한 클라우드 서버(300)는 상기 부분 개인키 요청 트랜잭션에 의해 부분 개인키를 생성한 후 저장하여 상기 사용자 단말부(100)를 클라우드 서비스 가입자로 등록하고(S125), 생성된 부분 개인키를 사용자 단말부(100)로 전송한다(S127).After receiving the partial private key request transaction, the
사용자 단말부(100)는 상기 부분 개인키를 이용하여 인증된 인증 개인키를 생성하여 저장한다(S129).The
도 6은 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 권한 요청 및 권한 부여 방법을 나타낸 절차도이다.FIG. 6 is a flowchart illustrating a rights request and authorization method in a block-chain-based data access control method according to the present invention.
우선, 데이터 소유주 단말부(100-1)는 암호화하여 클라우드 서버(300)에 업로드한 데이터에 대한 데이터 해시 트랜잭션을 생성하여 블록체인 네트워크(400)에 분산 등록한다(S211).First, the data owner terminal unit 100-1 encrypts and generates a data hash transaction for the data uploaded to the
상기 클라우드 서버(300)에 업로드되고 블록체인 네트워크(400)에 데이터 해시 트랜잭션이 추가된 데이터에 접근하고자 하는 데이터 요청자 단말부(100-2)는 접근 권한 요청 트랜잭션을 생성하여 데이터 소유주 단말부(100-1)로 전송하고(S213) 접근 권한 요청 트랜잭션을 블록체인 네트워크(400)에 분산 저장한다(S215).The data requestor terminal unit 100-2, which is uploaded to the
데이터 소유주 단말부(100-1)는 임의의 데이터 요청자 단말부(100-2)로부터 접근 권한 요청 트랜잭션이 수신되면 토큰 트랜잭션을 생성하고, 토큰 트랜잭션을 데이터 요청자 단말부(100-2)로 전송한다(S221). 토큰 트랜잭션은 접근 권한 요청 트랜잭션의 출력 소비하면서 요청하는 데이터에 대한 데이터 트랜잭션을 참조한다. 일반적인 트랜잭션은 단 한번만 소비될 수 있으나, 본 발명에서는 참조라는 형태의 관계를 형성한다. 여기서 소비된 트랜잭션은 이후 다시 사용될 수 있으며, 이는 블록체인에 기록된다.The data owner terminal unit 100-1 generates a token transaction when the access authorization request transaction is received from the arbitrary data requestor terminal unit 100-2 and transmits the token transaction to the data requestor terminal unit 100-2 (S221). The token transaction refers to the data transaction for the requested data while consuming the output of the request transaction. A typical transaction can be consumed only once, but in the present invention forms a relationship of the form reference. The transaction consumed here can be used again later, and is recorded in the block chain.
토큰 트랜잭션을 데이터 요청자 단말부(100-2)로 전송한 후, 데이터 소유주 단말부(100-1)는 상기 토큰에 근거한 재암호화키를 생성하고(S223), 생성된 재암호화키를 클라우드 서버(300)로 전송한다(S225).After transmitting the token transaction to the data requestor terminal unit 100-2, the data owner terminal unit 100-1 generates a re-encryption key based on the token (S223) and transmits the generated re-encryption key to the cloud server 300) (S225).
부가적으로 데이터 소유주 단말부(100-1)는 업로드한 데이터를 갱신하는 데이터 업데이트 이벤트가 발생하는지를 모니터링하고(S227), 데이터 업데이트가 발생되면 클라우드 서버(300)로 업데이트된 데이터를 업로드한(S229) 후, 레코드 업데이트 트랜잭션을 생성하여 데이터 요청자 단말부(100-2)로 전송한다(S233).In addition, the data owner terminal unit 100-1 monitors whether a data update event for updating the uploaded data occurs (S227), and uploads the updated data to the
레코드 업데이트 트랜잭션을 수신한 데이터 요청자 단말부(100-2)는 상기 데이터 소유주 단말부(100-2)에 대해 저장된 토큰을 상기 레코드업데이트 트랜잭션을 반영하여 업데이트한다(S235).Upon receiving the record update transaction, the data requestor terminal unit 100-2 updates the token stored in the data owner terminal unit 100-2 by reflecting the record update transaction (S235).
도 7은 본 발명에 따른 블록체인 기반 데이터 접근 제어 방법 중 데이터 요청자의 데이터 접근 방법을 나타낸 절차도이다.FIG. 7 is a flowchart illustrating a data access method of a data requester in a block-chain-based data access control method according to the present invention.
데이터 소유주 단말부(100-1)로부터 토큰 트랜잭션을 수신하여 데이터 접근 권한을 부여 받은 데이터 요청자 단말부(100-2)는 상기 토큰 트랜잭션을 소비하여 정보 접근 요청 트랜잭션을 생성한(S311) 후, 클라우드 서버(300)로 전송한다(S313).After receiving the token transaction from the data owner terminal unit 100-1 and given the data access right, the data requester terminal unit 100-2 generates the information access request transaction by consuming the token transaction (S311) To the server 300 (S313).
정보 접근 요청 트랜잭션을 수신한 클라우드 서버(300)는 블록체인 네트워크(400) 상의 데이터 소주에 대한 정보 접근 요청 트랜잭션의 기록을 확인하여(S315), 상기 수신된 정보 접근 요청 트랜잭션이 유효한지를 판단한다(S317).The
유효하면 클라우드 서버(300)는 해당 데이터를 상기 도 6의 S225에서 수신하여 저장하고 있던 재암호화키로 해당 데이터를 재암호화한(S319) 후 데이터 요청자 단말부(100-2)로 전송한다(S321).If it is valid, the
재암호화된 데이터를 수신한 데이터 요청자 단말부(100-2)는 토큰 트랜잭션에 근거한 비밀키로 복호화하여 데이터를 획득한다(S323).Upon receiving the re-encrypted data, the data requester terminal unit 100-2 decrypts the decrypted data with the secret key based on the token transaction to acquire the data (S323).
재암호화된 데이터를 전송한 클라우드 서버(300)는 확인 트랜잭션을 생성한(S325) 후, 상기 데이터를 업로드한 데이터 소유주 단말부(100-1)로 전송한다(S327).The
확인 트랜잭션을 수신한 데이터 소유주 단말부(100-1)는 데이터 접근 기록을 표시수단을 통해 표시하여 데이터 소유주에게 확인시킬 것이다(S329).Upon receiving the confirmation transaction, the data owner terminal unit 100-1 displays the data access record through the display means and confirms it to the data owner (S329).
한편, 본 발명은 전술한 전형적인 바람직한 실시예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다. While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. It will be easily understood. It is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, it is intended to cover various modifications within the scope of the appended claims.
10: 컴퓨터 단말기
20: 모바일 단말기
100: 사용자 단말부
110: 사용자 등록부
111: 공개키 생성부
112: 개인키 생성부
113: 주소 생성부
114: 등록 처리부
115: 인증 주소 생성부
116: 검증 트랜잭션 생성부
117: 부분 공개키 획득부
118: 인증 개인키 생성부
120: 데이터 공유 처리부
121: 권한 승인부
122: 데이터 해시 트랜잭션 생성부
123: 토큰 트랜잭션 생성부
124: 재암화키 생성부
125: 업데이트부
130: 데이터 요청 처리부
131: 권한 요청부
132: 토큰 업데이트부
133: 데이터 접근부
140: 블록체인 처리부
200: 인증기관 서버
300: 클라우드 서버
400: 블록체인 네트워크
500: 유무선 데이터 통신망10: computer terminal 20: mobile terminal
100: user terminal unit 110: user registration unit
111: public key generation unit 112: private key generation unit
113: address generation unit 114: registration processing unit
115: authentication address generation unit 116: verification transaction generation unit
117: partial public key obtaining unit 118: authentication private key generating unit
120: data sharing processing unit 121:
122: Data hash transaction generation unit
123: Token transaction generating section
124: re-encryption key generation unit 125:
130: data request processing unit 131:
132: token updating unit 133: data access unit
140: block-chain processing unit 200:
300: Cloud server 400: Block-chain network
500: Wired and wireless data communication network
Claims (12)
상기 블록체인 네트워크에 포함되어 상기 사용자 단말부들의 트랜잭션을 분산 저장하고, 블록체인 네트워크의 임의의 사용자 단말부로부터 데이터를 수신받아 저장하고, 저장된 데이터에 대해 임의의 사용자 단말부로부터 접근 요청 발생 시 상기 블록체인을 통한 토큰 트랜잭션에 의해 검증을 수행하여 인증 성공 시 해당 사용자 단말부의 해당 데이터 접근을 허용하는 클라우드 서버;
데이터 소유주 모드에서 상기 블록체인 네트워크에 등록된 사용자 단말부로 상기 클라우드 서버에 데이터를 저장한 후 공유 요청하고, 상기 데이터에 접근하기 위한 접근 권한 요청 트랜잭션의 발생 시 토큰 트랜잭션을 생성하여 상기 블록체인에 분산 저장하는 데이터 소유주 단말부로 동작하고, 데이터 요청 모드에서 상기 블록체인 네트워크에 등록된 사용자 단말부로 상기 클라우드 서버에 저장된 임의의 데이터에 접근하고자 할 때 상기 데이터를 저장한 상기 데이터 소유주 단말부에 분산 저장되도록 상기 접근 권한 요청 트랜잭션을 상기 블록체인에 분산 저장하고, 상기 데이터 소유주 단말부에 의해 분산 저장된 토큰 트랜잭션에 의해 상기 클라우드 서버의 해당 데이터에 접근하는 데이터 요청자 단말부로 동작하는 사용자 단말부를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
And an authentication authority server for registering a plurality of user terminal units and generating and allocating a block chain address, wherein the transaction generated in any one of the user terminal units is distributedly stored in all other user terminal units to form a block chain A block-chain network;
A block chain network for distributing and storing transactions of the user terminal units, receiving and storing data from an arbitrary user terminal unit of a block-chain network, and storing, when an access request is made from an arbitrary user terminal unit for stored data, A cloud server that performs verification by a token transaction through a block chain and permits the corresponding data access of the corresponding user terminal unit upon successful authentication;
Storing data in the cloud server in a data owner mode and registering the data in the block chain network, sharing a request, generating a token transaction when an access right request transaction for accessing the data occurs, And to store the data in the data owner terminal unit storing the data when accessing any data stored in the cloud server to the user terminal unit registered in the block chain network in the data request mode And a user terminal unit operating as a data requestor terminal unit for distributing the access right request transaction to the block chain and for accessing corresponding data of the cloud server by a token transaction distributed by the data owner terminal unit A block-chain-based data access control system.
상기 사용자 단말부는,
상기 인증기관 서버로 등록을 요청하는 등록 요청 트랜잭션을 전송하여 등록하고 그에 따라 상기 인증기관 서버로부터 등록 응답 트랜잭션을 수신받아 상기 블록체인 주소인 인증된 주소를 생성하며 검증 트랜잭션을 생성하여 클라우드 서버를 통해 부분 공개키를 수신받아 인증 개인키를 생성하여 블록체인 네트워크에 등록하는 사용자 등록부;
상기 데이터 소유주 단말부로 동작하기 위한 동작 처리를 수행하는 데이터 공유 처리부;
상기 데이터 요청자 단말부로 동작하기 위한 동작 처리를 수행하는 데이터 요청 처리부; 및
상기 사용자 등록부, 공유 처리부 및 데이터 요청 처리부에서 발생되는 트랜잭션들을 상기 블록체인 네트워크상의 블록체인에 분산 저장하는 블록체인 처리부를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
The method according to claim 1,
The user terminal unit,
And transmits a registration request transaction requesting registration to the certification authority server to register the registration request transaction, receive a registration response transaction from the certification authority server, generate an authenticated address that is the block chain address, generate a verification transaction, A user registration unit receiving the partial public key and generating an authentication private key and registering the partial private key in the block chain network;
A data sharing processing unit for performing an operation process to operate as the data owner terminal unit;
A data request processing unit for performing an operation process for operating the data requester terminal unit; And
And a block chain processing unit for distributively storing transactions generated in the user registration unit, the shared processing unit, and the data request processing unit in a block chain on the block-chain network.
상기 사용자 등록부는,
블록체인 네트워크에서 사용할 공개키를 생성하는 공개키 생성부;
블록체인 네트워크에서 사용할 개인키를 생성하는 개인키 생성부;
주소를 생성하는 주소 생성부;
상기 공개키 및 주소를 포함하는 상기 등록 요청 트랜잭션을 생성하여 인증기관 서버로 제공하고, 그에 따른 상기 등록 응답 트랜잭션을 수신받는 등록 처리부;
상기 생성된 블록체인 주소 및 등록 응답 트랜잭션에 근거하여 인증된 인증 주소를 생성하는 인증주소 생성부;
상기 인증 주소의 인증여부를 검사하기 위한 검증 트랜잭션을 생성하는 검증 트랜잭션 생성부;
상기 검증 트랜잭션을 포함하는 부분 개인키 요청 신호를 클라우드 서버로 전송하고 그에 따른 부분 개인키를 획득하는 부분 개인키 획득부; 및
상기 부분 개인키를 활용하여 인증 개인키를 생성하는 인증 개인키 생성부를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
3. The method of claim 2,
The user registration unit,
A public key generation unit for generating a public key for use in a block-chain network;
A private key generation unit for generating a private key for use in a block-chain network;
An address generating unit for generating an address;
A registration processing unit for generating the registration request transaction including the public key and the address, providing the registration request transaction to the certification authority server, and receiving the registration response transaction;
An authentication address generator for generating an authenticated authentication address based on the generated block chain address and the registration response transaction;
A verification transaction generating unit for generating a verification transaction for checking whether the authentication address is authenticated;
A partial private key obtaining unit transmitting the partial private key request signal including the verification transaction to the cloud server and obtaining a partial private key corresponding thereto; And
And an authentication private key generation unit for generating an authentication private key by utilizing the partial private key.
상기 데이터 공유 처리부는,
클라우드 서버에 업로드한 데이터에 대한 암호화 및 데이터 요청자에 대한 권한을 승인하는 권한 승인부; 및
업로드한 상기 데이터의 업데이트 여부를 모니터링하고, 업데이트 시의 레코드 업데이트 트랜잭션을 생성하여 데이터의 접근을 허용한 데이터 요청자 단말부로 전송하고, 상기 데이터에 대한 접근권한을 업데이트하는 업데이트부를 포함하되,
상기 권한 승인부는,
업로드한 데이터에 대한 해시결과를 포함하는 데이터 해시 트랜잭션을 생성하여 블록체인 네트워크에 추가하는 데이터 해시 트랜잭션 생성부;
상기 데이터의 요청 발생 시 권한 부여를 위한 토큰 트랜잭션을 생성하여 데이터 요청자 단말부로 제공하는 토큰 트랜잭션 생성부; 및
상기 데이터를 재암호화하기 위해 상기 토큰 트랜잭션에 대응하고 요청자의 공개키를 사용하는 재암호화키를 생성하여 클라우드 서버로 전송하는 재암호화키 생성부를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
3. The method of claim 2,
The data sharing processing unit,
An authority granting unit for granting authority to the data requester to encrypt data uploaded to the cloud server; And
And an update unit for monitoring whether or not the uploaded data is updated, generating a record update transaction at the time of update, transmitting the update transaction to the data requestor terminal unit that has permitted data access, and updating the access right for the data,
Wherein the authority granting unit,
A data hash transaction generation unit for generating a data hash transaction including the hash result of the uploaded data and adding the hash transaction to the block chain network;
A token transaction generator for generating a token transaction for granting authorization when the data request is generated and providing the token transaction to the data requestor terminal; And
And a re-encryption key generator for generating a re-encryption key corresponding to the token transaction and using the requestor's public key to re-encrypt the data, and transmitting the generated re-encryption key to the cloud server.
데이터 요청 처리부는,
데이터 소유주 단말부로부터 수신한 토큰 트랜잭션에 근거하여 상기 데이터에 접근을 요청하는 정보 접근 요청 트랜잭션을 상기 클라우드 서버로 전송하여 데이터의 접근을 요청하는 권한 요청부; 및
상기 데이터의 접근 요청에 대해 상기 클라우드 서버로부터 재암호화키에 의해 재암호화된 암호화 데이터를 획득하고, 상기 토큰 트랜잭션에 근거한 비밀키로 복호화하여 데이터를 획득하는 데이터 접근부를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
5. The method of claim 4,
The data request processing unit,
An access request unit transmitting an information access request transaction requesting access to the data based on the token transaction received from the data owner terminal unit to the cloud server to request access to the data; And
And a data access unit for obtaining the encrypted data re-encrypted by the re-encryption key from the cloud server in response to the data access request, and decrypting the decrypted data with the secret key based on the token transaction to obtain data. Data access control system.
상기 데이터 요청 처리부는,
상기 데이터 소유주 단말부로부터 데이터 업데이트에 대한 레코드 업데이트 트랜잭션을 수신받고, 상기 레코드 업데이트 트랜잭션에 포함된 토큰으로 이전 토큰을 갱신하는 토큰 업데이트부를 더 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 시스템.
6. The method of claim 5,
The data request processing unit,
And a token update unit for receiving a record update transaction for data update from the data owner terminal unit and updating the transfer token with the token included in the record update transaction.
상기 데이터 소유주 단말부 및 데이터 요청자 단말부가 상기 블록체인 주소에 근거하여 인증된 주소를 생성하고, 인증된 주소에 근거한 검증 트랜잭션을 생성하여 상기 블록체인 네트워크에 분산 등록하고, 상기 검증 트랜잭션을 상기 클라우드 서버로 제공한 후 상기 검증 트랜잭션에 대한 부분 개인키를 수신받아 인증 개인키를 생성하여 상기 클라우드 서버에 등록하는 클라우드 서버 등록 과정;
상기 데이터 소유주 단말부가 공개할 데이터를 공개키로 암호화하여 클라우드 서버에 등록하는 데이터 공유 과정;
데이터 요청자 단말부가 상기 데이터에 접근하기 위해 상기 데이터 소유주 단말부로 상기 데이터에 대한 접근 권한을 요청하고, 그에 대해 상기 블록체인 네트워크에 분산 등록된 토큰 트랜잭션을 수신받아 상기 데이터에 대한 접근 권한을 승인받는 접근 권한 획득 과정; 및
상기 데이터 요청자 단말부가 상기 클라우드 서버로 상기 토큰 트랜잭션을 포함하는 정보 접근 요청 트랜잭션을 전송하여 상기 데이터에 대한 접근을 요청하고, 상기 클라우드 서버의 토큰 트랜잭션에 의한 검증 성공 시 해당 데이터에 접근하는 데이터 접근 과정을 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.
A block chain network registration process in which a data owner terminal unit, a data requestor terminal unit, and a cloud server are assigned block chain addresses from an authentication authority server and are registered in a block chain network;
The data owner terminal and the data requestor terminal generate an authenticated address based on the block chain address, generate a validation transaction based on the authenticated address, and distribute and register the validation transaction to the block chain network, A cloud server registration step of receiving a partial private key for the verification transaction and generating an authentication private key and registering the authentication private key in the cloud server;
A data sharing process of encrypting data to be disclosed by the data owner terminal unit with a public key and registering the data in the cloud server;
A data requester terminal requesting access to the data by the data owner terminal to access the data, receiving a token transaction distributedly registered in the block-chain network, and receiving access to the data, Authorization process; And
The data requester terminal sends an information access request transaction including the token transaction to the cloud server to request access to the data and accesses the corresponding data when the verification of the token transaction of the cloud server is successful Wherein the block-chain-based data access control method comprises:
블록체인 네트워크 등록 과정은,
블록체인 네트워크에서 사용할 공개키를 생성하는 공개키 생성 단계;
블록체인 네트워크에서 사용할 개인키를 생성하는 개인키 생성 단계;
주소를 생성하는 주소 생성 단계; 및
상기 생성된 공개키 및 주소를 사용하여 등록 요청 트랜잭션을 생성하여 인증기관 서버로 제공하고, 그에 따른 등록 응답 트랜잭션을 수신받아 블록체인 네트워크에 사용할 인증된 주소인 블록체인 주소를 생성하는 블록체인 주소 생성 단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.
8. The method of claim 7,
In the block chain network registration process,
A public key generation step of generating a public key for use in a block-chain network;
Generating a private key for use in a block-chain network;
An address generating step of generating an address; And
Generating a registration request transaction using the generated public key and address, providing the transaction to the certification authority server, receiving the registration response transaction, and generating a block chain address, which is an authenticated address to be used in the block chain network Wherein the block-based data access control method comprises:
상기 클라우드 서버 등록 과정은,
생성된 상기 주소 및 등록 응답 트랜잭션에 근거하여 인증된 인증 주소인 블록체인 주소를 생성하는 인증주소 생성 단계;
상기 인증 주소의 인증여부를 검사하기 위한 검증 트랜잭션을 생성하는 검증 트랜잭션 생성 단계;
상기 검증 트랜잭션을 블록체인 네트워크에 분산 등록하는 검증 트랜잭션 블록체인 형성 단계;
상기 검증 트랜잭션을 포함하는 부분 개인키 요청 신호를 클라우드 서버로 전송하고 그에 따른 부분 개인키를 획득하는 부분 개인키 획득 단계; 및
상기 부분 개인키를 활용하여 인증 개인키를 생성하는 인증 개인키 생성 단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.
9. The method of claim 8,
The cloud server registration process includes:
An authentication address generating step of generating a block chain address which is an authenticated authentication address based on the generated address and the registration response transaction;
A verification transaction generation step of generating a verification transaction for checking whether or not the authentication address is authenticated;
A verification transaction block chain formation step of distributing the verification transaction to the block-chain network;
A partial private key obtaining step of transmitting a partial private key request signal including the verification transaction to a cloud server and obtaining a partial private key corresponding thereto; And
And generating an authentication private key by utilizing the partial private key.
상기 접근 권한 획득 과정은,
데이터 요청자 단말부가 상기 데이터에 접근하기 위해 상기 데이터 소유주 단말부로 상기 데이터에 대한 접근 권한을 요청하는 접근 권한 요청 단계;
상기 데이터 소유주 단말부가 상기 데이터 요청자 단말부로부터 접근 권한 요청 발생 시 그에 대해 토큰 트랜잭션을 생성하여 상기 블록체인 네트워크에 분산 등록한 후 상기 데이터 요청자 단말부로 제공하는 접근 권한 부여 단계;
상기 데이터 요청자 단말부가 상기 토큰 트랜잭션을 수신받아 상기 데이터에 대한 접근 권한을 승인받는 접근 권한 승인 획득 단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.
8. The method of claim 7,
The access authority acquiring step includes:
An access authority request step of requesting the data owner terminal unit to access the data to access the data requestor terminal unit;
An access authority granting step of generating a token transaction for the access request from the data requesting terminal unit when the access request is generated by the data owner terminal unit, and distributing the token transaction to the block requesting terminal unit;
Wherein the data requester terminal receives the token transaction and obtains the access authority for the data.
상기 접근 권한 부여 단계는,
상기 데이터 소유주 단말부가 상기 데이터 요청자 단말부로부터 접근 권한 요청 발생 시 그에 대해 토큰 트랜잭션을 생성하는 토큰 트랜잭션 생성 단계;
상기 토큰 트랜잭션을 상기 블록체인 네트워크에 분산 등록하는 토큰 트랜잭션 블록체인 형성 단계;
상기 블록체인 형성 후 상기 토큰 트랜잭션을 상기 데이터 요청자 단말부로 제공하는 토큰 트랜잭션 제공 단계;
상기 토큰 트랜잭션에 근거한 재암호화키를 생성하는 재암호화키 생성 단계; 및
상기 재암호화키를 클라우드 서버에 제공하여 해당 데이터에 맵핑하여 저장하는 재암호화키 등록 단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.
11. The method of claim 10,
The access authorization step includes:
A token transaction generating step in which the data owner terminal generates a token transaction when an access right request is generated from the data requestor terminal unit;
Forming a token transaction block chain in which the token transaction is distributedly registered in the block-chain network;
A token transaction providing step of providing the token transaction to the data requestor terminal after forming the block chain;
Generating a re-encryption key based on the token transaction; And
And a re-encryption key registration step of providing the re-encryption key to the cloud server and mapping the re-encryption key to the corresponding data, and storing the re-encryption key.
데이터 접근 과정은,
상기 데이터 요청자 단말부가 상기 클라우드 서버로 상기 토큰 트랜잭션을 포함하는 정보 접근 요청 트랜잭션을 전송하는 정보 접근 요청 단계;
클라우드 서버가 정보 접근 요청 트랜잭션에 포함된 토큰 트랜잭션과 블록체인 상의 데이터 소유주 단말부에 대한 정보 접근 요청 트랜잭션의 기록을 확인하여 유효성을 판단하는 접근 유효성 판단 단계;
유효하면 상기 정보 접근 요청에 대응하는 데이터를 상기 데이터 소유자 단말부로부터 등록된 상기 재암호화키로 암호화하여 상기 데이터 요청자 단말부로 제공하는 암호화 데이터 제공 단계; 및
상기 데이터 요청자 단말부가 상기 토큰 트랜잭션에 근거한 비밀키로 상기 암호화 데이터를 복호하여 해당 데이터를 획득하는 데이터 접근 단계를 포함하는 것을 특징으로 하는 블록체인 기반 데이터 접근 제어 방법.12. The method of claim 11,
The data access process,
An information access request step in which the data requestor terminal transmits an information access request transaction including the token transaction to the cloud server;
An access validity determination step of determining a validity of a token transaction included in the information access request transaction and a record of the information access request transaction for the data owner terminal unit on the block chain by determining whether the cloud server has validity;
Encrypting the data corresponding to the information access request with the re-encryption key registered from the data owner terminal unit and providing the encrypted data to the data requestor terminal unit if valid; And
And the data requester terminal decrypts the encrypted data with a secret key based on the token transaction to obtain the corresponding data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170183719A KR102067882B1 (en) | 2017-12-29 | 2017-12-29 | Block chain based data access control system and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170183719A KR102067882B1 (en) | 2017-12-29 | 2017-12-29 | Block chain based data access control system and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190081299A true KR20190081299A (en) | 2019-07-09 |
KR102067882B1 KR102067882B1 (en) | 2020-02-11 |
Family
ID=67261658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170183719A KR102067882B1 (en) | 2017-12-29 | 2017-12-29 | Block chain based data access control system and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102067882B1 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102065315B1 (en) * | 2019-10-04 | 2020-01-13 | 주식회사 도우테크 | System and method for keeping and sharing a file based on block chain network |
KR102095944B1 (en) * | 2019-10-23 | 2020-04-01 | 박성집 | System and method for certifying volunteer activities |
CN111461710A (en) * | 2020-03-06 | 2020-07-28 | 重庆邮电大学 | Distributed account book access control method based on alliance chain |
KR102140325B1 (en) * | 2019-08-29 | 2020-07-31 | 유한회사 엘민벤처스 | Method of fact-cheching, searching and managing contents based on blockchain and system thereof |
CN111881472A (en) * | 2020-07-22 | 2020-11-03 | 云账户技术(天津)有限公司 | Data access control method, system, authority management system and medium |
CN112115199A (en) * | 2020-09-16 | 2020-12-22 | 安徽长泰信息安全服务有限公司 | Data management system based on block chain technology |
KR20210024823A (en) * | 2019-08-26 | 2021-03-08 | 단국대학교 산학협력단 | Apparatus and method for accessing control of data and system using the same |
CN112650954A (en) * | 2020-12-30 | 2021-04-13 | 杭州趣链科技有限公司 | Block chain data sharing method, device, equipment and storage medium |
KR20210055403A (en) * | 2019-11-07 | 2021-05-17 | 이중찬 | System and method for providing job matching based on location |
WO2021095926A1 (en) * | 2019-11-11 | 2021-05-20 | 전자부품연구원 | Complex iot device and sharing service providing method using same, and method for recognizing external information through blockchain application and providing information |
KR20210090563A (en) * | 2020-01-10 | 2021-07-20 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Method, apparatus, device and medium for blockchain-based muti-party computation |
KR102282633B1 (en) * | 2020-11-17 | 2021-07-28 | 대아티아이 (주) | Method of linkage certification between railway control system and multiple radio-blocking devices |
KR102287729B1 (en) * | 2020-02-17 | 2021-08-20 | 주식회사 아웃라이어스 | System and method for managing user information based on blockchain |
KR102311462B1 (en) * | 2020-11-19 | 2021-10-13 | 주식회사 마크애니 | Block chain did-based digital evidence management system and method |
WO2021211541A1 (en) * | 2020-04-16 | 2021-10-21 | American Express Travel Related Services Co., Inc. | Secure application development using distributed ledgers |
CN114024720A (en) * | 2021-10-13 | 2022-02-08 | 北京八分量信息科技有限公司 | Social data sharing system based on block chain |
CN114143055A (en) * | 2021-11-24 | 2022-03-04 | 国网江苏省电力有限公司营销服务中心 | Data distribution method and credible tracing method based on block chain |
KR20220048346A (en) * | 2020-10-12 | 2022-04-19 | 가톨릭대학교 산학협력단 | Health care data providing method based on block-chain, service server and system |
WO2022114857A1 (en) * | 2020-11-26 | 2022-06-02 | 삼성전자 주식회사 | Electronic device that shares data by using blockchain network, and operation method therefor |
KR20220085568A (en) * | 2020-12-15 | 2022-06-22 | 포항공과대학교 산학협력단 | Clinical information providing method and system based on blockchain enhancing security of personal information |
KR20220085623A (en) * | 2020-12-15 | 2022-06-22 | 사회복지법인 삼성생명공익재단 | Medical data distribution method and system thereof |
CN114679330A (en) * | 2022-03-31 | 2022-06-28 | 广西玉林链向千禧大数据有限公司 | Block chain-based universal object interconnection data access control method |
KR20230001644A (en) * | 2021-06-29 | 2023-01-05 | 주식회사 레드윗 | Blockchain-based research note management system |
KR102529277B1 (en) * | 2022-10-17 | 2023-05-08 | 주식회사 레드윗 | Method and apparatus for encrypting data to realize web3.0 |
KR102544213B1 (en) * | 2021-12-16 | 2023-06-15 | 박원규 | User approval system and method thereof |
CN116582352A (en) * | 2023-06-13 | 2023-08-11 | 国网浙江省电力有限公司宁波供电公司 | Intelligent digital supervision method and system for data interaction |
CN111881472B (en) * | 2020-07-22 | 2024-04-26 | 云账户技术(天津)有限公司 | Data access control method, system, authority management system and medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102179498B1 (en) | 2020-04-13 | 2020-11-17 | 주식회사 한국정보보호경영연구소 | Method for providing smart group bankbook service based decentralized identifier and system thereof |
KR102446967B1 (en) * | 2021-02-19 | 2022-09-23 | 부경대학교 산학협력단 | Access control system and method that supports data transaction and sharing between individuals in public blockchain |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017098806A (en) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | Existence proof program and existence proof server for electronic data |
WO2017107976A1 (en) * | 2015-12-23 | 2017-06-29 | 索尼公司 | Client apparatus, server apparatus and access control system for authorized access |
WO2017145003A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Blockchain-based exchange with tokenisation |
KR101781583B1 (en) | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | File management and search system based on block chain and file management and search method |
-
2017
- 2017-12-29 KR KR1020170183719A patent/KR102067882B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017098806A (en) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | Existence proof program and existence proof server for electronic data |
WO2017107976A1 (en) * | 2015-12-23 | 2017-06-29 | 索尼公司 | Client apparatus, server apparatus and access control system for authorized access |
WO2017145003A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Blockchain-based exchange with tokenisation |
KR101781583B1 (en) | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | File management and search system based on block chain and file management and search method |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210024823A (en) * | 2019-08-26 | 2021-03-08 | 단국대학교 산학협력단 | Apparatus and method for accessing control of data and system using the same |
KR102140325B1 (en) * | 2019-08-29 | 2020-07-31 | 유한회사 엘민벤처스 | Method of fact-cheching, searching and managing contents based on blockchain and system thereof |
KR102065315B1 (en) * | 2019-10-04 | 2020-01-13 | 주식회사 도우테크 | System and method for keeping and sharing a file based on block chain network |
KR102095944B1 (en) * | 2019-10-23 | 2020-04-01 | 박성집 | System and method for certifying volunteer activities |
KR20210055403A (en) * | 2019-11-07 | 2021-05-17 | 이중찬 | System and method for providing job matching based on location |
WO2021095926A1 (en) * | 2019-11-11 | 2021-05-20 | 전자부품연구원 | Complex iot device and sharing service providing method using same, and method for recognizing external information through blockchain application and providing information |
US11909886B2 (en) | 2020-01-10 | 2024-02-20 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method, apparatus for blockchain-based multi-party computation, device and medium |
KR20210090563A (en) * | 2020-01-10 | 2021-07-20 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Method, apparatus, device and medium for blockchain-based muti-party computation |
KR102287729B1 (en) * | 2020-02-17 | 2021-08-20 | 주식회사 아웃라이어스 | System and method for managing user information based on blockchain |
CN111461710B (en) * | 2020-03-06 | 2023-06-23 | 重庆邮电大学 | Distributed account book access control method based on alliance chain |
CN111461710A (en) * | 2020-03-06 | 2020-07-28 | 重庆邮电大学 | Distributed account book access control method based on alliance chain |
US11687656B2 (en) | 2020-04-16 | 2023-06-27 | American Express Travel Related Services Company, Inc. | Secure application development using distributed ledgers |
WO2021211541A1 (en) * | 2020-04-16 | 2021-10-21 | American Express Travel Related Services Co., Inc. | Secure application development using distributed ledgers |
CN111881472B (en) * | 2020-07-22 | 2024-04-26 | 云账户技术(天津)有限公司 | Data access control method, system, authority management system and medium |
CN111881472A (en) * | 2020-07-22 | 2020-11-03 | 云账户技术(天津)有限公司 | Data access control method, system, authority management system and medium |
CN112115199A (en) * | 2020-09-16 | 2020-12-22 | 安徽长泰信息安全服务有限公司 | Data management system based on block chain technology |
KR20220048346A (en) * | 2020-10-12 | 2022-04-19 | 가톨릭대학교 산학협력단 | Health care data providing method based on block-chain, service server and system |
WO2022080827A1 (en) * | 2020-10-12 | 2022-04-21 | 가톨릭대학교 산학협력단 | Method, service server, and system for providing healthcare data on basis of blockchain |
KR102282633B1 (en) * | 2020-11-17 | 2021-07-28 | 대아티아이 (주) | Method of linkage certification between railway control system and multiple radio-blocking devices |
KR102311462B1 (en) * | 2020-11-19 | 2021-10-13 | 주식회사 마크애니 | Block chain did-based digital evidence management system and method |
WO2022114857A1 (en) * | 2020-11-26 | 2022-06-02 | 삼성전자 주식회사 | Electronic device that shares data by using blockchain network, and operation method therefor |
EP4236201A4 (en) * | 2020-11-26 | 2024-04-17 | Samsung Electronics Co Ltd | Electronic device that shares data by using blockchain network, and operation method therefor |
KR20220085623A (en) * | 2020-12-15 | 2022-06-22 | 사회복지법인 삼성생명공익재단 | Medical data distribution method and system thereof |
KR20220085568A (en) * | 2020-12-15 | 2022-06-22 | 포항공과대학교 산학협력단 | Clinical information providing method and system based on blockchain enhancing security of personal information |
CN112650954B (en) * | 2020-12-30 | 2023-09-22 | 杭州趣链科技有限公司 | Block chain data sharing method, device, equipment and storage medium |
CN112650954A (en) * | 2020-12-30 | 2021-04-13 | 杭州趣链科技有限公司 | Block chain data sharing method, device, equipment and storage medium |
KR20230001644A (en) * | 2021-06-29 | 2023-01-05 | 주식회사 레드윗 | Blockchain-based research note management system |
CN114024720A (en) * | 2021-10-13 | 2022-02-08 | 北京八分量信息科技有限公司 | Social data sharing system based on block chain |
CN114143055A (en) * | 2021-11-24 | 2022-03-04 | 国网江苏省电力有限公司营销服务中心 | Data distribution method and credible tracing method based on block chain |
CN114143055B (en) * | 2021-11-24 | 2023-12-01 | 国网江苏省电力有限公司营销服务中心 | Block chain-based data distribution method and trusted traceability method |
KR102544213B1 (en) * | 2021-12-16 | 2023-06-15 | 박원규 | User approval system and method thereof |
CN114679330A (en) * | 2022-03-31 | 2022-06-28 | 广西玉林链向千禧大数据有限公司 | Block chain-based universal object interconnection data access control method |
KR102529277B1 (en) * | 2022-10-17 | 2023-05-08 | 주식회사 레드윗 | Method and apparatus for encrypting data to realize web3.0 |
CN116582352A (en) * | 2023-06-13 | 2023-08-11 | 国网浙江省电力有限公司宁波供电公司 | Intelligent digital supervision method and system for data interaction |
CN116582352B (en) * | 2023-06-13 | 2023-11-14 | 国网浙江省电力有限公司宁波供电公司 | Intelligent digital supervision method and system for data interaction |
Also Published As
Publication number | Publication date |
---|---|
KR102067882B1 (en) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102067882B1 (en) | Block chain based data access control system and method thereof | |
US10079682B2 (en) | Method for managing a trusted identity | |
US8205266B2 (en) | Digital rights management | |
US9548859B2 (en) | Ticket-based implementation of content leasing | |
JP2008501177A (en) | License management in an information distribution system that protects privacy | |
US20050144019A1 (en) | Contents delivery system, information processing apparatus or information processing method and computer program | |
KR20050008626A (en) | Information processing device and method, information processing system, recording medium, and program | |
CN104077501B (en) | Interoperable keychest | |
KR101702748B1 (en) | Method, system and recording medium for user authentication using double encryption | |
US20070005989A1 (en) | User identity privacy in authorization certificates | |
KR20080058833A (en) | Apparatus and method for personal information protect | |
KR20080102215A (en) | Method for redistributing dram protected content | |
CA2795594A1 (en) | Credential provision and proof system | |
JP2019106639A (en) | Electronic transaction apparatus, electronic transaction method, and program | |
KR20160085143A (en) | Method for providing anonymous service and method for managing user information and system therefor | |
US20070118749A1 (en) | Method for providing services in a data transmission network and associated components | |
KR102131206B1 (en) | Method, service server and authentication server for providing corporate-related services, supporting the same | |
EP1276066A2 (en) | Licensing method and license providing system | |
JPH07123086A (en) | Literary work communication control system using ic card | |
KR101884776B1 (en) | Method and system for transporting patient information | |
US20040243815A1 (en) | System and method of distributing and controlling rights of digital content | |
JP3896909B2 (en) | Access right management device using electronic ticket | |
KR20040028086A (en) | Contents copyright management system and the method in wireless terminal | |
KR101763293B1 (en) | Simple Payment System based on Preliminary Registeration of Payment Information and Method thereof | |
JP7367692B2 (en) | Apparatus, request apparatus, method, and program |
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 |