KR20210117046A - 거래 내역 데이터 접근 제어 시스템 및 방법 - Google Patents

거래 내역 데이터 접근 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20210117046A
KR20210117046A KR1020200033381A KR20200033381A KR20210117046A KR 20210117046 A KR20210117046 A KR 20210117046A KR 1020200033381 A KR1020200033381 A KR 1020200033381A KR 20200033381 A KR20200033381 A KR 20200033381A KR 20210117046 A KR20210117046 A KR 20210117046A
Authority
KR
South Korea
Prior art keywords
data
transaction history
encrypted
level
index
Prior art date
Application number
KR1020200033381A
Other languages
English (en)
Inventor
인민교
이원석
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020200033381A priority Critical patent/KR20210117046A/ko
Priority to US17/205,959 priority patent/US11630912B2/en
Publication of KR20210117046A publication Critical patent/KR20210117046A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

거래 내역 데이터 접근 제어 시스템 및 방법이 제공된다. 거래 내역 데이터 접근 제어 시스템은, 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 거래 내역 관리 모듈; 복수의 보안 레벨에 따라 거래 내역 데이터를 다중 암호화하는 데이터 암호화 모듈; 및 다중 암호화된 데이터를 블록으로 저장하여 P2P(peer-to-peer) 네트워크에 제공하는 데이터 저장 모듈을 포함할 수 있다.

Description

거래 내역 데이터 접근 제어 시스템 및 방법{SYSTEM AND METHOD FOR CONTROLLING TRANSACTION DATA ACCESS}
본 발명은 거래 내역 데이터 접근 제어 시스템에 관한 것이다.
블록체인 기술은 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크에 참여한 노드들이 블록을 복제해 저장하고 체인 형태로 연결된 자료 구조로 관리하는 데이터 관리 기술이다. P2P 네트워크에 속한 모든 노드가 모든 거래 내역(또는 거래 내역)을 기록하고 검증하는 합의(consensus) 프로세스를 통해, 거래 내역의 무결성 및 보안성이 보장될 수 있다. 구체적으로, 블록체인 기술에서는 거래 기록을 중앙 집중형 서버에 보관하지 않고, 거래에 참여하는 모든 참여 노드들에게 거래 내역이 공유되며, 거래가 발생할 때마다 모든 참여 노드들이 공유되는 정보를 대조할 수 있으므로 데이터 위조나 변조를 방지할 수 있다.
그런데 모든 참여 노드에 공개되는 내용은 개인 정보, 기밀 정보 등과 같은 보안이 필요한 민감한 데이터를 포함할 수 있고, 이들 데이터는 해당 데이터를 정당하게 열람할 수 있는 권한을 부여받은 사용자에게만 공개될 필요가 있다.
본 발명이 해결하고자 하는 과제는, 블록체인에 저장되는 거래 내역 데이터를 보호하기 위해 공개 키 방식으로 거래 내역 데이터를 암호화하고, 권한이 부여된 사용자에게만 복원된 거래 내역 데이터를 제공할 수 있는 거래 내역 데이터 접근 제어 시스템 및 방법을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는, 거래 내역 데이터에 대한 보안 등급을 결정하고, 보안 등급에 따라 복수의 보안 레벨로 거래 내역 데이터를 다중 암호화하고, 보안 등급에 따라 부여받은 권한에 부합하도록 암호화된 거래 내역 데이터를 다중 복호화할 수 있는 거래 내역 데이터 접근 제어 시스템 및 방법을 제공하는 것이다.
본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템은, 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 거래 내역 관리 모듈; 복수의 보안 레벨에 따라 거래 내역 데이터를 다중 암호화하는 데이터 암호화 모듈; 및 다중 암호화된 데이터를 블록으로 저장하여 P2P(peer-to-peer) 네트워크에 제공하는 데이터 저장 모듈을 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고, 거래 내역 관리 모듈은, 제1 데이터의 보안 레벨을 제1 보안 레벨로 결정하고, 제2 데이터의 보안 레벨을 제2 보안 레벨로 결정하고, 데이터 암호화 모듈은, 제1 데이터 및 제2 데이터에 기초하여 제1 인덱스를 생성하고, 제1 인덱스를 제1 데이터 및 제2 데이터와 연결하여 제1 데이터 세트를 생성하고, 제1 보안 레벨에 해당하는 제1 공개 키로 제1 인덱스 및 제1 데이터를 암호화하여 제1 암호화 데이터를 생성할 수 있다.
본 발명의 몇몇 실시 예에서, 제1 인덱스는 제1 데이터 세트에 포함된 데이터의 개수 또는 데이터의 길이 정보를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 데이터 암호화 모듈은, 제1 암호화 데이터 및 제2 데이터에 기초하여 제2 인덱스를 생성하고, 제2 인덱스를 제1 암호화 데이터 및 제2 데이터와 연결하여 제2 데이터 세트를 생성하고, 제2 보안 레벨에 해당하는 제2 공개 키로 제2 인덱스, 제1 암호화 데이터 및 제2 데이터를 암호화하여 제2 암호화 데이터를 생성할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터는 제3 데이터를 더 포함하고, 거래 내역 관리 모듈은 제3 데이터의 보안 레벨을 제3 보안 레벨로 결정하고, 데이터 암호화 모듈은, 제2 암호화 데이터 및 제3 데이터에 기초하여 제3 인덱스를 생성하고, 제3 인덱스를 제2 암호화 데이터 및 제3 데이터와 연결하여 제3 데이터 세트를 생성하고, 제3 보안 레벨에 해당하는 제3 공개 키로 제3 인덱스, 제2 암호화 데이터 및 제3 데이터를 암호화하여 제3 암호화 데이터를 생성할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터 접근 제어 시스템은, 거래 내역 관리 모듈에 거래 내역 데이터에 대한 접근을 요청하고, 거래 내역 관리 모듈로부터 레벨 키를 제공받는 데이터 접근 요청 모듈 및 더 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터 접근 제어 시스템은, 레벨 키를 이용하여 다중 암호화된 데이터를 다중 복호화하는 데이터 복호화 모듈을 더 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제3 레벨 키를 포함하고, 데이터 복호화 모듈은, 제3 암호화 데이터를 제3 레벨 키로 복호화하여 제3 데이터 세트를 획득하고, 제3 데이터 세트 중 제3 인덱스에 기초하여 제2 암호화 데이터를 분리하고 제3 데이터를 복원할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제2 레벨 키를 포함하고, 데이터 복호화 모듈은, 제2 암호화 데이터를 제2 레벨 키로 복호화하여 제2 데이터 세트를 획득하고, 제2 데이터 세트 중 제2 인덱스에 기초하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제1 레벨 키를 포함하고, 데이터 복호화 모듈은, 제1 암호화 데이터를 제1 레벨 키로 복호화하여 제1 데이터 세트를 획득하고, 제1 데이터 세트 중 제1 인덱스에 기초하여 제1 데이터를 복원할 수 있다.
본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템은, 복수의 공개 키를 이용하여 거래 내역 데이터를 다중 암호화하는 데이터 암호화 모듈; 다중 암호화된 데이터를 블록으로 저장하여 P2P 네트워크에 제공하는 데이터 저장 모듈; 및 공개 키와 쌍으로 생성된 레벨 키를 이용하여 다중 암호화된 데이터를 다중 복호화하는 데이터 복호화 모듈을 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고, 데이터 암호화 모듈은, 제1 공개 키로 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하고, 제2 공개 키로 제1 암호화 데이터 및 제2 데이터를 암호화하여 제2 암호화 데이터를 생성할 수 있다.
본 발명의 몇몇 실시 예에서, 데이터 복호화 모듈은, 제2 레벨 키로 제2 암호화 데이터를 복호화하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원할 수 있다.
본 발명의 몇몇 실시 예에서, 데이터 복호화 모듈은, 제1 레벨 키로 제2 암호화 데이터를 복호화하여 제1 데이터를 복원할 수 있다.
본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 단계; 복수의 보안 레벨에 따라 거래 내역 데이터를 다중 암호화하는 단계; 및 다중 암호화된 데이터를 블록으로 저장하여 P2P 네트워크에 제공하는 단계를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고, 복수의 보안 레벨을 결정하는 단계는, 제1 데이터의 보안 레벨을 제1 보안 레벨로 결정하는 단계; 및 제2 데이터의 보안 레벨을 제2 보안 레벨로 결정하는 단계를 포함하고, 다중 암호화하는 단계는, 제1 데이터 및 제2 데이터에 기초하여 제1 인덱스를 생성하는 단계; 제1 인덱스를 제1 데이터 및 제2 데이터와 연결하여 제1 데이터 세트를 생성하는 단계; 및 제1 보안 레벨에 해당하는 제1 공개 키로 제1 인덱스 및 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 다중 암호화하는 단계는, 제1 암호화 데이터 및 제2 데이터에 기초하여 제2 인덱스를 생성하는 단계; 제2 인덱스를 제1 암호화 데이터 및 제2 데이터와 연결하여 제2 데이터 세트를 생성하는 단계; 및 제2 보안 레벨에 해당하는 제2 공개 키로 제2 인덱스, 제1 암호화 데이터 및 제2 데이터를 암호화하여 제2 암호화 데이터를 생성하는 단계를 더 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터 접근 제어 방법은, 레벨 키를 이용하여 다중 암호화된 데이터를 다중 복호화하는 단계를 더 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제3 레벨 키를 포함하고, 다중 복호화하는 단계는, 제3 암호화 데이터를 제3 레벨 키로 복호화하여 제3 데이터 세트를 획득하고, 제3 데이터 세트 중 제3 인덱스에 기초하여 제2 암호화 데이터를 분리하고 제3 데이터를 복원하는 단계를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제2 레벨 키를 포함하고, 다중 복호화하는 단계는, 제2 암호화 데이터를 제2 레벨 키로 복호화하여 제2 데이터 세트를 획득하고, 제2 데이터 세트 중 제2 인덱스에 기초하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원하는 단계를 더 포함할 수 있다.
본 발명의 실시 예들에 따르면, 거래에 참여하는 모든 참여 노드들이 거래 내역을 공유하는 상황에서, 거래 내역에 기록될 수 있는 개인 정보, 기밀 정보와 같은 민감한 데이터에 대한 보안성을 높일 수 있다.
또한 본 발명의 실시 예들에 따르면, 민감한 데이터에 대한 보안 등급을 가변적으로 운용함으로써, 해당 보안 등급에 따른 권한을 받은 사용자에 한해 거래 내역 데이터를 접근할 수 있도록 할 수 있다. 뿐만 아니라, 하나의 데이터 세트 내에서도 보안 등급을 다양화하여, 하나의 데이터 세트 내에 민감한 데이터와 일반 데이터가 함께 포함된 경우에도, 민감한 데이터만을 별도로 보호할 수 있어 보안 정책 운용을 정교화 및 세밀화할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 암호화 모듈을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 복호화 모듈을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법이 적용되는 일 예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템에서 사용되는 인덱스의 일 구현 예를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템을 설명하기 위한 도면이다.
본 명세서에서 설명되는 거래 내역 데이터 접근 제어 시스템은 하나 이상의 컴퓨팅 장치로 구현될 수 있다. 컴퓨팅 장치는, 예를 들어, 스마트 폰, 스마트 워치, 스마트 밴드, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 서버 등을 들 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니고, 컴퓨터 명령을 저장 및 실행할 수 있는 메모리 및 프로세서를 구비한 임의의 형태의 컴퓨터 장치를 포함할 수 있다.
거래 내역 데이터 접근 제어 시스템의 기능들은 단일 컴퓨팅 장치 상에서 모두 구현될 수도 있고, 복수의 컴퓨팅 장치 상에서 나누어 구현될 수도 있다. 예를 들어, 복수의 컴퓨팅 장치는 제1 컴퓨팅 장치 및 제2 컴퓨팅 장치를 포함할 수 있고, 거래 내역 데이터 접근 제어 시스템의 일부 기능은 제1 컴퓨팅 장치 상에 구현되고, 거래 내역 데이터 접근 제어 시스템의 다른 일부 기능은 제2 컴퓨팅 장치 상에 구현될 수 있다. 그리고 제1 컴퓨팅 장치와 제2 컴퓨팅 장치는 네트워크를 통해 서로 통신할 수 있다.
여기서, 네트워크는 셀룰러 네트워크, Wi-Fi 네트워크, 블루투스 네트워크 등을 비롯한 무선 네트워크, LAN(Local Area Network), WLAN(Wide Local Area Network) 등을 비롯한 유선 네트워크, 또는 무선 네트워크와 유선 네트워크의 조합을 포함할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템(1)은 거래 내역 관리 모듈(11), 데이터 암호화 모듈(13), 데이터 저장 모듈(15), 데이터 접근 요청 모듈(17), 데이터 복호화 모듈(19) 및 P2P 네트워크(20)를 포함할 수 있다.
P2P 네트워크(20)를 먼저 설명하면, P2P 네트워크(20)는 노드(21, 23, 25, 27, 29)를 포함하며, 노드(21, 23, 25, 27, 29)는 거래 내역을 보관하거나, 거래 내역을 분산합의 과정을 통해 공유하거나, 거래를 실행 또는 승인할 수 있다.
P2P 네트워크(20)에 참여하는 노드(21, 23, 25, 27, 29) 사이에는 다양한 합의 방식이 있다. 비트코인, 이더리움에서 사용하고 있는 작업 증명(PoW, Proof of Work) 알고리즘이 대표적이며, 이는 컴퓨팅 파워를 이용하여 특정 난이도의 해시값(Nonce)을 계산하고 검증하는 방식이다. 지분 증명 알고리즘(PoS, Proof of Stake)은 네트워크에 참여한 노드가 가지고 있는 코인 지분이 많을수록 유리해지는 알고리즘으로 작업 증명 알고리즘보다 더 적은 컴퓨팅 파워를 사용한다는 장점이 있다.
최근에는 위임 지분 증명 알고리즘(DPoS, Delegated Proof of Stake)이 많이 사용되고 있다. P2P 네트워크(20)에 참여하는 노드(21, 23, 25, 27, 29)가 가지고 있는 지분(코인 등)에 해당하는 투표 권한을 갖게 되며, 전체 네트워크 참여자가 합의를 위한 노드를 지분에 따른 투표를 통해 정한다. 이를 통해 다소 중앙 집중적인 블록체인 시스템이 형성되며, 투표를 통해 당선된 노드들은 원장을 생성/검증하는 역할을 함으로써 컴퓨팅 파워를 당선된 노드들에 집중하여 더 빠른 블록체인 시스템 운용이 가능하다.
노드(21, 23, 25, 27, 29)는 거래 내역 보관 데이터베이스 및 어플리케이션 데이터베이스를 포함할 수 있다. 거래 내역 보관 데이터베이스는 올바른 거래 내역의 목록을 모두 보관하는 데이터베이스이며, 어플리케이션 데이터베이스는 저장된 거래 내역을 어플리케이션에 적용한 데이터베이스이다.
거래 내역 보관 데이터베이스는 블록들이 연결된 구조, 즉 블록체인 구조를 가질 수 있다. 각 블록들은 순서가 정해진 거래 내역 리스트를 포함하며, 각 블록들은 시간 순서대로 연결될 수 있다. 이와 같은 블록체인 구조를 이용하여 모든 거래 내역 순서를 결정할 수 있다.
P2P 네트워크(20)는 노드(21, 23, 25, 27, 29)는 하나의 노드에서 다른 노드에 대해 특정 거래 내역을 실행하는 것이 아니라, 블록체인 거래에 참여하는 모든 노드(21, 23, 25, 27, 29)가 같은 원장을 유지하면서, 노드(21, 23, 25, 27, 29) 각각은 거래 내역을 적용하여 자신의 데이터베이스를 갱신하는 방법으로 동작할 수 있다. 이와 같은 블록체인 거래에 관한 더욱 상세한 내용은 공지된 블록체인 기술에 관한 문헌들을 참조할 수 있으므로, 본 명세서에서는 그 설명을 생략하도록 한다.
거래 내역 관리 모듈(11)은 거래 내역 데이터에 대한 복수의 보안 레벨을 결정할 수 있다. 구체적으로, 거래 내역 관리 모듈(11)은 거래 내역 데이터를 분석하여, 미리 결정된 기준에 따라 거래 내역 데이터에 대한 복수의 보안 레벨을 결정할 수 있다.
거래 내역 관리 모듈(11)은 거래 내역 데이터를 민감한 데이터와 일반 데이터로 구분하고, 민감한 데이터와 일반 데이터에 서로 다른 보안 레벨을 부여할 수 있다. 예를 들어, 거래 내역 관리 모듈(11)은 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 제1 보안 레벨로 결정할 수 있다. 그리고 제0 보안 레벨로 결정된 데이터는 암호화될 필요가 없는 것으로 결정되고, 제1 보안 레벨로 결정된 데이터는 데이터 암호화 모듈(13)에 의해 암호화될 필요가 있는 것으로 결정될 수 있다.
여기서 민감한 데이터는, 개인 정보, 기밀 정보 등과 같은 보안이 필요한 데이터로서, 해당 데이터를 정당하게 열람할 수 있는 권한을 부여받은 자에게만 공개되어야 하는 데이터일 수 있다. 즉, 민감한 데이터는, 예를 들어, 개인의 신상 정보, 의료 정보, 금융 정보 등을 포함할 수 있다. 그리고 일반 데이터는 아무런 권한을 부여받지 않은 임의의 자에게 공개가 가능한 데이터를 의미할 수 있다.
또한, 거래 내역 관리 모듈(11)은 거래 내역 데이터를 민감한 데이터와 일반 데이터로 구분하고, 나아가 민감한 데이터를 더욱 세분화하여 구분하여, 민감한 데이터에 대해서도 서로 다른 여러 보안 레벨을 부여할 수 있다. 예를 들어, 거래 내역 관리 모듈(11)은 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 3 가지 보안 레벨로 결정할 수 있다. 이 경우, 거래 내역 관리 모듈(11)은 민감한 데이터 중 일부를 제1 보안 레벨로 결정하고, 다른 일부를 제2 보안 레벨로 결정하고, 또 다른 일부를 제3 보안 레벨로 결정할 수 있다.
그리고 제0 보안 레벨로 결정된 데이터는 암호화될 필요가 없는 것으로 결정되고, 제1 보안 레벨로 결정된 데이터는 데이터 암호화 모듈(13)에 의해 제1 보안 레벨에 해당하는 암호화 방식에 따라 암호화될 필요가 있는 것으로 결정될 수 있다. 또한, 제2 보안 레벨로 결정된 데이터는 데이터 암호화 모듈(13)에 의해 제2 보안 레벨에 해당하는 암호화 방식에 따라 암호화될 필요가 있는 것으로 결정되고, 제3 보안 레벨로 결정된 데이터는 데이터 암호화 모듈(13)에 의해 제3 보안 레벨에 해당하는 암호화 방식에 따라 암호화될 필요가 있는 것으로 결정될 수 있다.
여기서, 전술한 것과 다르게, 암호화될 필요가 있는 보안 레벨의 개수는 2 가지 또는 4 가지 이상으로 설정될 수도 있다. 또한, 보안 레벨을 여러 가지로 설정하기 위한 기준은 다양할 수 있다. 예를 들어, 제1 보안 레벨은 제3 보안 레벨보다 보안의 정도가 더 높은 것일 수 있다. 이 경우, 제1 보안 레벨에 해당하는 암호화 방식은 제3 보안 레벨에 해당하는 암호화 방식보다 더 복잡한 방식으로 구현될 수 있다. 다른 예로, 제1 보안 레벨의 데이터를 접근할 수 있는 사용자와 제3 보안 레벨의 데이터를 접근할 수 있는 사용자를 구분하여 관리하기 위해, 제1 보안 레벨에 해당하는 암호화 방식은 제3 보안 레벨에 해당하는 암호화 방식과 다른 방식으로 구현될 수 있으며, 본 발명의 범위는 이들 예로 제한되지 않는다.
데이터 암호화 모듈(13)은, 거래 내역 관리 모듈(11)에 의해 결정된 복수의 보안 레벨에 따라 거래 내역 데이터를 다중 암호화할 수 있다. 예를 들어, 데이터 암호화 모듈(13)은, 거래 내역 관리 모듈(11)로부터 네트워크 또는 버스를 통해 거래 내역 데이터에 대한 복수의 보안 레벨을 수신한 후, 수신한 복수의 보안 레벨에 따른 암호화 방식을 이용하여 거래 내역 데이터를 암호화할 수 있다. 본 명세서에서 사용되는 용어 "다중 암호화"는, 이와 같이 복수의 보안 레벨에 따라 여러 가지의 암호화 방식을 이용하여 수행되는 암호화를 의미할 수 있다.
거래 내역 관리 모듈(11)이 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 제1 보안 레벨로 결정한 경우, 데이터 암호화 모듈(13)은, 제0 보안 레벨로 결정된 데이터는 바이패스(bypass)하고, 제1 보안 레벨로 결정된 데이터만 암호화할 수 있다.
거래 내역 관리 모듈(11)이 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 제1 보안 레벨 내지 제3 보안 레벨의 3 가지 보안 레벨로 결정한 경우, 데이터 암호화 모듈(13)은, 제0 보안 레벨로 결정된 데이터는 바이패스하고, 제1 보안 레벨로 결정된 데이터는 제1 보안 레벨에 해당하는 암호화 방식에 따라 암호화하고, 제2 보안 레벨로 결정된 데이터는 제2 보안 레벨에 해당하는 암호화 방식에 따라 암호화하고, 제3 보안 레벨로 결정된 데이터는 제3 보안 레벨에 해당하는 암호화 방식에 따라 암호화할 수 있다.
데이터 암호화 모듈(13)은, 복수의 보안 레벨로 결정된 데이터에 대해, 알고리즘 자체가 상이한 암호화 방식을 달리 적용할 수도 있고, 알고리즘 자체는 동일하지만 파라미터가 상이하거나 알고리즘의 특정 루틴의 반복 회수가 상이하도록 암호화 방식을 달리 적용할 수도 있다.
예를 들어, 데이터 암호화 모듈(13)은, 제1 보안 레벨로 결정된 데이터에 대해서는 대칭 키 암호화 방식을 적용하고, 제2 보안 레벨로 결정된 데이터에 대해서는 비 대칭 키 암호화 방식을 적용하도록 구현될 수 있다. 또는, 데이터 암호화 모듈(13)은, 제1 보안 레벨로 결정된 데이터에 대해서는 제1 공개 키를 이용한 공개 키 암호화 방식을 적용하고, 제2 보안 레벨로 결정된 데이터에 대해서는 제2 공개 키를 이용한 공개 키 암호화 방식을 적용하도록 구현될 수 있다. 또는, 데이터 암호화 모듈(13)은, 제1 보안 레벨로 결정된 데이터에 대해서는 제1 공개 키 및 제2 공개 키를 이용한 공개 키 암호화 방식을 2 회 적용하고, 제2 보안 레벨로 결정된 데이터에 대해서는 제2 공개 키를 이용한 공개 키 암호화 방식을 1 회 적용하도록 구현될 수 있으며, 데이터 암호화 모듈(13)이 복수의 보안 레벨로 결정된 데이터에 대해 암호화 방식을 적용하는 방식은, 본 명세서에서 설명되는 예들로 제한되지 않는다.
데이터 저장 모듈(15)은, 데이터 암호화 모듈(13)에 의해 다중 암호화된 데이터를 블록(B)으로 저장하여 P2P 네트워크(20)에 제공할 수 있다. 이에 따라, 다중 암호화된 데이터를 블록(B)은 P2P 네트워크(20)에 참여하는 노드(21, 23, 25, 27, 29) 사이에 공유될 수 있다.
데이터 접근 요청 모듈(17)은, 거래 내역 관리 모듈(11)에 거래 내역 데이터에 대한 접근을 요청하고, 거래 내역 관리 모듈(11)로부터 레벨 키를 제공받을 수 있다. 데이터 접근 요청 모듈(17)은, 예를 들어, P2P 네트워크(20)의 노드(21, 23, 25, 27, 29)로부터 블록(B)을 요청하는 클라이언트로 구현될 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
구체적으로, 데이터 접근 요청 모듈(17)은, 블록(B)에 저장된 거래 내역 데이터를 획득하기 위해, 거래 내역 관리 모듈(11)에게 데이터 접근 요청을 전송하고, 거래 내역 관리 모듈(11)은 요청자의 증명을 확인하고, 가입 처리 및 보안 등급 결정을 수행한 후, 데이터 접근 요청 모듈(17)에게 공개 키를 요청할 수 있다. 이에 대한 응답으로, 데이터 접근 요청 모듈(17)은 거래 내역 관리 모듈(11)에게 공개 키를 제공하고, 거래 내역 관리 모듈(11)은 데이터 접근 요청 모듈(17)의 공개 키를 이용하여 결정된 보안 등급에 해당하는 레벨 키를 암호화한 후, 이를 데이터 접근 요청 모듈(17)에 전송할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니고, 데이터 접근 요청 모듈(17)이 거래 내역 관리 모듈(11)로부터 레벨 키를 제공받기 위한 방법은 다양한 방식으로 구현될 수 있다.
거래 내역 관리 모듈(11)로부터 레벨 키를 수신한 데이터 접근 요청 모듈(17)은, 레벨 키를 데이터 복호화 모듈(19)에 제공하고 데이터 복호화 모듈(19)이 복원한 결과를 제공받음으로써, 해당 레벨 키에 부여된 보안 등급에 상응하는 권한으로 거래 내역 데이터에 접근할 수 있다.
데이터 복호화 모듈(19)은, 거래 내역 관리 모듈(11)로부터 제공받은 레벨 키를 이용하여 다중 암호화된 데이터를 다중 복호화할 수 있다. 예를 들어, 데이터 복호화 모듈(19)은, 거래 내역 관리 모듈(11)로부터 네트워크 또는 버스를 통해 레벨 키를 수신한 후, 수신한 레벨 키를 이용하여 거래 내역 데이터를 복호화할 수 있다. 본 명세서에서 사용되는 용어 "다중 암호화"는, 이와 같이 다양한 보안 등급에 대응되는 여러 가지의 레벨 키를 이용하여 수행되는 복호화를 의미할 수 있다.
거래 내역 관리 모듈(11)로부터 레벨 키를 수신한 데이터 접근 요청 모듈(17)이 노드(25)에 저장된 블록(B)을 접근하기 위해, 데이터 복호화 모듈(19)은 노드(25)로부터 블록(B)를 수신한 후, 데이터 접근 요청 모듈(17)로부터 수신한 레벨 키를 이용하여 블록(B)에 저장된 거래 내역 데이터를 복원할 수 있다.
거래 내역 관리 모듈(11)이 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 제1 보안 레벨로 결정한 경우, 데이터 접근 요청 모듈(17)로부터 수신한 레벨 키가 제1 보안 레벨에 해당하는 제1 레벨 키라면, 데이터 복호화 모듈(19)은 암호화된 데이터를 제1 레벨 키로 복호화할 수 있다.
거래 내역 관리 모듈(11)이 일반 데이터를 제0 보안 레벨로 결정하고, 민감한 데이터를 제1 보안 레벨 내지 제3 보안 레벨의 3 가지 보안 레벨로 결정한 경우, 데이터 접근 요청 모듈(17)로부터 수신한 레벨 키가 제3 보안 레벨에 해당하는 제3 레벨 키라면, 데이터 복호화 모듈(19)은 제3 보안 레벨에 해당하는 암호화된 데이터를 제3 레벨 키로 복호화할 수 있고, 제1 보안 레벨 및 제2 보안 레벨에 해당하는 암호화된 데이터는 복호화할 수 없다. 또는, 데이터 접근 요청 모듈(17)로부터 수신한 레벨 키가 제2 보안 레벨 및 제3 보안 레벨에 해당하는 제2 레벨 키 및 제3 레벨 키라면, 데이터 복호화 모듈(19)은 제2 보안 레벨 및 제3 보안 레벨에 해당하는 암호화된 데이터를 제2 레벨 키 및 제3 레벨 키로 복호화할 수 있고, 제1 보안 레벨에 해당하는 암호화된 데이터는 복호화할 수 없다.
이와 같이, 데이터 복호화 모듈(19)에 의해 복원된 거래 내역 데이터는, 해당 거래 내역을 요청하는 클라이언트의 사용자에게 제공될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 암호화 모듈을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 암호화 모듈(13)은 제1 보안 레벨 내지 제3 보안 레벨에 따라 거래 내역 데이터를 다중 암호화할 수 있다. 본 실시 예에서, 보안 등급은 제1 보안 레벨이 가장 높고 제3 보안 레벨이 가장 낮은 것으로 가정할 수 있다.
본 실시 예에서, 거래 내역 데이터는 제1 데이터(100), 제2 데이터(101) 및 제3 데이터(102)를 포함할 수 있다. 그리고 제1 데이터(100)는 데이터 조각(piece)(D1 내지 D3)을 포함하고, 제2 데이터(101)는 데이터 조각(D4, D5)을 포함하고, 제3 데이터(102)는 데이터 조각(D6, D7)을 포함할 수 있다.
또한, 거래 내역 관리 모듈(11)은 제1 데이터(100)를 가장 높은 보안 등급에 해당하는 제1 보안 레벨로 결정하고, 제2 데이터(101)를 중간 보안 등급에 해당하는 제2 보안 레벨로 결정하고, 제3 데이터(102)를 가장 낮은 보안 등급에 해당하는 제3 보안 레벨로 결정한 것으로 가정할 수 있다.
데이터 암호화 모듈(13)은, 먼저 제1 데이터(100), 제2 데이터(101) 및 제3 데이터(102)에 기초하여 제1 인덱스(IDX1)를 생성할 수 있다. 그리고 데이터 암호화 모듈(13)은, 제1 인덱스(IDX1)를 제1 데이터(100), 제2 데이터(101) 및 제3 데이터(102)와 연결하여 제1 데이터 세트(103)를 생성할 수 있다. 여기서 제1 인덱스(IDX1)는, 제1 데이터 세트(103)에 포함된 데이터의 개수 또는 데이터의 길이 정보 등을 포함할 수 있으며, 예를 들어, 제1 데이터(100), 제2 데이터(101) 및 제3 데이터(102)의 전단에 위치할 수 있다.
이후, 데이터 암호화 모듈(13)은, 제1 보안 레벨에 해당하는 제1 공개 키로 제1 인덱스(IDX1) 및 제1 데이터(100)를 암호화하여 제1 암호화 데이터(106)를 생성할 수 있다. 제1 암호화 데이터(106)는 제1 보안 레벨에 해당하는 레벨 키를 이용하여 복호화될 수 있으며, 여기서 레벨 키는 제1 공개 키와 쌍으로 생성된 비 공개 키를 포함할 수 있다.
다음으로, 데이터 암호화 모듈(13)은, 제1 암호화 데이터(106), 제2 데이터(101) 및 제3 데이터(102)에 기초하여 제2 인덱스(IDX2)를 생성할 수 있다. 그리고 데이터 암호화 모듈(13)은, 제2 인덱스(IDX2)를 제1 암호화 데이터(106), 제2 데이터(101) 및 제3 데이터(102)와 연결하여 제2 데이터 세트(104)를 생성할 수 있다. 여기서 제2 인덱스(IDX2)는, 제2 데이터 세트(104)에 포함된 데이터의 개수 또는 데이터의 길이 정보 등을 포함할 수 있으며, 예를 들어, 제1 암호화 데이터(106), 제2 데이터(101) 및 제3 데이터(102)의 전단에 위치할 수 있다.
이후, 데이터 암호화 모듈(13)은, 제2 보안 레벨에 해당하는 제2 공개 키로 제2 인덱스(IDX2), 제1 암호화 데이터(106) 및 제2 데이터(101)를 암호화하여 제2 암호화 데이터(107)를 생성할 수 있다. 제2 암호화 데이터(107)는 제2 보안 레벨에 해당하는 레벨 키를 이용하여 복호화될 수 있으며, 여기서 레벨 키는 제2 공개 키와 쌍으로 생성된 비 공개 키를 포함할 수 있다.
다음으로, 데이터 암호화 모듈(13)은, 제2 암호화 데이터(107) 및 제3 데이터(102)에 기초하여 제3 인덱스(IDX3)를 생성할 수 있다. 그리고 데이터 암호화 모듈(13)은, 제3 인덱스(IDX3)를 제2 암호화 데이터(107) 및 제3 데이터(102)와 연결하여 제3 데이터 세트(105)를 생성할 수 있다. 여기서 제3 인덱스(IDX3)는, 제3 데이터 세트(105)에 포함된 데이터의 개수 또는 데이터의 길이 정보 등을 포함할 수 있으며, 예를 들어, 제2 암호화 데이터(107) 및 제3 데이터(102)의 전단에 위치할 수 있다.
이후, 데이터 암호화 모듈(13)은, 제3 보안 레벨에 해당하는 제3 공개 키로 제3 인덱스(IDX3), 제2 암호화 데이터(107) 및 제3 데이터(102)를 암호화하여 제3 암호화 데이터(108)를 생성할 수 있다. 제3 암호화 데이터(108)는 제3 보안 레벨에 해당하는 레벨 키를 이용하여 복호화될 수 있으며, 여기서 레벨 키는 제3 공개 키와 쌍으로 생성된 비 공개 키를 포함할 수 있다.
데이터 저장 모듈(15)은, 이와 같이 데이터 암호화 모듈(13)에 의해 다중 암호화된 데이터를 블록(B)으로 저장하여 P2P 네트워크(20)(예컨대 도 1의 노드(21))에 제공하고, 다중 암호화된 데이터를 블록(B)은 P2P 네트워크(20)에 참여하는 노드(21, 23, 25, 27, 29) 사이에 공유될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 복호화 모듈을 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템의 데이터 복호화 모듈(19)은 제1 보안 레벨 내지 제3 보안 레벨에 따라 거래 내역 데이터를 다중 복호화할 수 있다. 본 실시 예에서, 보안 등급은 제1 보안 레벨이 가장 높고 제3 보안 레벨이 가장 낮은 것으로 가정할 수 있다.
제1 클라이언트는, 데이터 접근 요청 모듈(17)을 이용하여, 거래 내역 관리 모듈(11)에 거래 내역 데이터 중 제3 데이터(102)에 대한 접근을 요청하고, 거래 내역 관리 모듈(11)로부터 제3 보안 레벨에 해당하는 제3 레벨 키를 수신할 수 있다. 또한, 제1 클라이언트는 데이터 복호화 모듈(19)을 포함하고, P2P 네트워크(20)(예컨대 도 1의 노드(25))로부터 블록(B)을 수신하고, 블록(B)으로부터 거래 내역 데이터 중 제3 데이터(102)에 대한 접근을 수행할 수 있다.
데이터 복호화 모듈(19)은, 블록(B)의 거래 내역 데이터 중 제3 암호화 데이터(108)를 제3 레벨 키로 복호화하여 제3 데이터 세트(105)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제3 데이터 세트(105) 중 제3 인덱스(IDX3)에 기초하여 제2 암호화 데이터(107)를 분리하고 제3 데이터(102)를 복원할 수 있다. 복원된 제3 데이터(102)는 제1 클라이언트의 사용자에게 제공될 수 있다.
이와 다르게, 제2 클라이언트는, 데이터 접근 요청 모듈(17)을 이용하여, 거래 내역 관리 모듈(11)에 거래 내역 데이터 중 제2 데이터(101)에 대한 접근을 요청하고, 거래 내역 관리 모듈(11)로부터 제2 보안 레벨 및 제3 보안 레벨에 해당하는 제2 레벨 키 및 제3 레벨 키를 수신할 수 있다. 또한, 제2 클라이언트는 데이터 복호화 모듈(19)을 포함하고, P2P 네트워크(20)(예컨대 도 1의 노드(25))로부터 블록(B)을 수신하고, 블록(B)으로부터 거래 내역 데이터 중 제2 데이터(101)에 대한 접근을 수행할 수 있다.
데이터 복호화 모듈(19)은, 블록(B)의 거래 내역 데이터 중 제3 암호화 데이터(108)를 제3 레벨 키로 복호화하여 제3 데이터 세트(105)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제3 데이터 세트(105) 중 제3 인덱스(IDX3)에 기초하여 제2 암호화 데이터(107)를 분리하고 제3 데이터(102)를 복원할 수 있다.
이어서, 데이터 복호화 모듈(19)은, 제2 암호화 데이터(107)를 제2 레벨 키로 복호화하여 제2 데이터 세트(104)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제2 데이터 세트(104) 중 제2 인덱스(IDX2)에 기초하여 제1 암호화 데이터(106)를 분리하고 제2 데이터(101)를 복원할 수 있다. 복원된 제2 데이터(101)는 제2 클라이언트의 사용자에게 제공될 수 있다.
이와 다르게, 제3 클라이언트는, 데이터 접근 요청 모듈(17)을 이용하여, 거래 내역 관리 모듈(11)에 거래 내역 데이터 중 제1 데이터(100)에 대한 접근을 요청하고, 거래 내역 관리 모듈(11)로부터 제1 보안 레벨 내지 제3 보안 레벨에 해당하는 제1 레벨 키 내지 제3 레벨 키를 수신할 수 있다. 또한, 제2 클라이언트는 데이터 복호화 모듈(19)을 포함하고, P2P 네트워크(20)(예컨대 도 1의 노드(25))로부터 블록(B)을 수신하고, 블록(B)으로부터 거래 내역 데이터 중 제1 데이터(100)에 대한 접근을 수행할 수 있다.
데이터 복호화 모듈(19)은, 블록(B)의 거래 내역 데이터 중 제3 암호화 데이터(108)를 제3 레벨 키로 복호화하여 제3 데이터 세트(105)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제3 데이터 세트(105) 중 제3 인덱스(IDX3)에 기초하여 제2 암호화 데이터(107)를 분리하고 제3 데이터(102)를 복원할 수 있다.
이어서, 데이터 복호화 모듈(19)은, 제2 암호화 데이터(107)를 제2 레벨 키로 복호화하여 제2 데이터 세트(104)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제2 데이터 세트(104) 중 제2 인덱스(IDX2)에 기초하여 제1 암호화 데이터(106)를 분리하고 제2 데이터(101)를 복원할 수 있다.
이어서, 데이터 복호화 모듈(19)은, 제1 암호화 데이터(106)를 제1 레벨 키로 복호화하여 제1 데이터 세트(103)를 획득할 수 있다. 그리고 데이터 복호화 모듈(19)은, 제1 데이터 세트(103) 중 제1 인덱스(IDX1)에 기초하여 제1 데이터(100)를 복원할 수 있다. 복원된 제1 데이터(100)는 제2 클라이언트의 사용자에게 제공될 수 있다.
이제까지 설명한 본 발명의 실시 예들에 따르면, 모든 참여 노드들이 거래 내역을 공유하는 상황에서, 거래 내역에 기록될 수 있는 개인 정보, 기밀 정보와 같은 민감한 데이터에 대한 보안성을 높일 수 있다.
또한 본 발명의 실시 예들에 따르면, 민감한 데이터에 대한 보안 등급을 가변적으로 운용함으로써, 해당 보안 등급에 따른 권한을 받은 사용자에 한해 거래 내역 데이터를 접근할 수 있도록 할 수 있다. 뿐만 아니라, 하나의 데이터 세트 내에서도 보안 등급을 다양화하여, 하나의 데이터 세트 내에 민감한 데이터와 일반 데이터가 함께 포함된 경우에도, 민감한 데이터만을 별도로 보호할 수 있어 보안 정책 운용을 정교화 및 세밀화할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법이 적용되는 일 예를 설명하기 위한 도면이다.
도 4를 참조하면, 여러 의료 데이터가 포함된 의료 정보에 대해 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법이 적용될 수 있다. 의료 데이터는 3 단계의 데이터 레벨을 고려하였으며, 의료 정보 중 매우 중요한 의료 데이터는 레벨 1 등급으로, 상대적으로 덜 중요한 의료 데이터는 레벨 2 등급으로, 가장 덜 중요한 의료 데이터는 레벨 3 등급으로 보안 레벨을 설정하였다.
인덱스에는, 데이터가 3 단계의 레벨로 분리되고, 레벨 1에는 3 개의 항목(성명, 주민번호, 질병)에 대한 데이터의 길이 정보, 레벨 2에는 2 개의 항목(성별, 연령대)에 대한 데이터의 길이 정보 및 레벨 1에는 4 개의 항목(거주지역, 국적, 검진 병원, 검진 일자)에 대한 데이터 길이 정보를 기록할 수 있다.
본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법은, 레벨 1 데이터를 제1 공개 키로 먼저 암호화하고, 그 결과와 레벨 2 데이터를 결합하여 제2 공개 키로 암호화한다. 또한, 그 결과와 레벨 3 데이터를 결합하여 제3 공개 키로 암호화한 후, 블록체인에 저장할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템에서 사용되는 인덱스의 일 구현 예를 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템에서 사용되는 인덱스(60)는 인덱스 길이(601), 데이터 개수(602), 데이터 길이 정보(603 내지 605)를 포함할 수 있다.
인덱스 길이(601)는 인덱스(60)의 길이를 나타낼 수 있다. 인덱스 길이(601) 필드는 고정된 길이 또는 가변 길이를 가질 수 있으며, 예컨대 16 byte일 수 있다.
데이터 개수(602)는 데이터가 분류되는 개수를 나타낼 수 있다. 예를 들어 도 2를 참조하면, 제1 데이터 세트(103)의 제1 인덱스(IDX1)의 데이터 개수(602)는 데이터 조각(D1 내지 D7)의 개수에 해당하는 7이 될 수 있다. 또한, 제2 데이터 세트(104)의 제2 인덱스(IDX2)의 데이터 개수(602)는 제1 암호화 데이터(106) 및 데이터 조각(D4 내지 D7)의 개수에 해당하는 5가 될 수 있다. 또한, 제3 데이터 세트(105)의 제3 인덱스(IDX3)의 데이터 개수(602)는 제2 암호화 데이터(107) 및 데이터 조각(D6 내지 D7)의 개수에 해당하는 5가 될 수 있다. 데이터 개수(602) 필드는 고정된 길이 또는 가변 길이를 가질 수 있으며, 예컨대 16 byte일 수 있다.
데이터 길이 정보(603 내지 605)는 분류된 데이터의 각각의 길이를 나타낼 수 있다. 예를 들어, 도 2를 참조하면, 제1 데이터 세트(103)의 경우, 데이터 길이 정보(603)는 데이터 조각(D1)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(604)는 데이터 조각(D2)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(605)는 데이터 조각(D7)의 길이 정보를 나타낼 수 있다. 또한, 제2 데이터 세트(104)의 경우, 데이터 길이 정보(603)는 제1 암호화 데이터(106)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(604)는 데이터 조각(D4)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(605)는 데이터 조각(D7)의 길이 정보를 나타낼 수 있다. 또한, 제3 데이터 세트(105)의 경우, 데이터 길이 정보(603)는 제2 암호화 데이터(107)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(604)는 데이터 조각(D6)의 길이 정보를 나타낼 수 있고, 데이터 길이 정보(605)는 데이터 조각(D7)의 길이 정보를 나타낼 수 있다. 데이터 길이 정보(603 내지 605) 필드 각각은 고정된 길이 또는 가변 길이를 가질 수 있으며, 예컨대 16 byte일 수 있다.
이와 같은 인덱스(60)는, 데이터 복호화 모듈(19)이, 제3 데이터 세트(105) 중 제3 인덱스(IDX3)에 기초하여 제2 암호화 데이터(107)를 분리하고 제3 데이터(102)를 복원하거나, 제2 데이터 세트(104) 중 제2 인덱스(IDX2)에 기초하여 제1 암호화 데이터(106)를 분리하고 제2 데이터(101)를 복원하거나, 제1 데이터 세트(103) 중 제1 인덱스(IDX1)에 기초하여 제1 데이터(100)를 복원하기 위해 사용될 수 있다. 그러나, 인덱스(60)의 구체적인 구현 형태는 도 5에 도시된 것으로 제한되지 않으며, 구체적인 구현 목적에 따라 구현 방식은 얼마든지 달라질 수 있다.
도 6은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템을 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템(2)은 거래 내역 관리 모듈(11), 데이터 암호화 모듈(13), 데이터 저장 모듈(15), 데이터 접근 요청 모듈(17), 데이터 복호화 모듈(19) 및 P2P 네트워크(20)를 포함할 수 있다.
도 1의 거래 내역 데이터 접근 제어 시스템(1)과 다른 점은, 데이터 복호화 모듈(19)이 P2P 네트워크(20)(예컨대 노드(25)) 내에 구현된다는 점이다. 이에 따라, 데이터 접근 요청 모듈(17)은, 거래 내역 관리 모듈(11)에 거래 내역 데이터에 대한 접근을 요청하고, 거래 내역 관리 모듈(11)로부터 제공받은 레벨 키를 노드(25)에 전송할 수 있다.
노드(25)의 데이터 복호화 모듈(19)은, 거래 내역 관리 모듈(11)로부터 제공받은 레벨 키를 이용하여 노드(25)에 저장된 블록(B)의 거래 내역 데이터를 복호화한 후, 복원된 거래 내역 데이터를 데이터 접근 요청 모듈(17)에 전송할 수도 있다.
한편, 도 1 또는 도 6에 도시된 것과 달리, 거래 내역 관리 모듈(11), 데이터 암호화 모듈(13), 데이터 저장 모듈(15), 데이터 접근 요청 모듈(17) 및 데이터 복호화 모듈(19) 중 적어도 하나는 P2P 네트워크(20) 외부에서 별도의 노드로 구현될 수도 있고, P2P 네트워크(20) 내부에서 별도의 노드로 구현될 수도 있고, P2P 네트워크(20)의 노드(21, 23, 25, 27, 29) 중 적어도 하나의 노드 내에서 구현될 수도 있고, 거래 내역 데이터 접근 제어 시스템(1) 중 임의의 요소 또는 임의의 위치에 구현될 수 있으며, 이는 거래 내역 데이터 접근 제어 시스템(1)에 대한 구체적인 구현 목적에 따라 얼마든지 달라질 수 있다.
도 7은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 단계(S701), 복수의 보안 레벨에 따라 거래 내역 데이터를 다중 암호화하는 단계(S703) 및 다중 암호화된 데이터를 블록으로 저장하여 P2P 네트워크에 제공하는 단계(S705)를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고, 단계(S701)는, 제1 데이터의 보안 레벨을 제1 보안 레벨로 결정하는 단계; 및 제2 데이터의 보안 레벨을 제2 보안 레벨로 결정하는 단계를 포함하고, 단계(S703)는, 제1 데이터 및 제2 데이터에 기초하여 제1 인덱스를 생성하는 단계; 제1 인덱스를 제1 데이터 및 제2 데이터와 연결하여 제1 데이터 세트를 생성하는 단계; 및 제1 보안 레벨에 해당하는 제1 공개 키로 제1 인덱스 및 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 단계(S703)는, 제1 암호화 데이터 및 제2 데이터에 기초하여 제2 인덱스를 생성하는 단계; 제2 인덱스를 제1 암호화 데이터 및 제2 데이터와 연결하여 제2 데이터 세트를 생성하는 단계; 및 제2 보안 레벨에 해당하는 제2 공개 키로 제2 인덱스, 제1 암호화 데이터 및 제2 데이터를 암호화하여 제2 암호화 데이터를 생성하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 거래 내역 데이터에 대한 접근을 위한 레벨 키를 획득하는 단계(S707) 및 레벨 키를 이용하여 다중 암호화된 데이터를 다중 복호화하는 단계(S709)를 더 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제3 레벨 키를 포함하고, 단계(S709)는, 제3 암호화 데이터를 제3 레벨 키로 복호화하여 제3 데이터 세트를 획득하고, 제3 데이터 세트 중 제3 인덱스에 기초하여 제2 암호화 데이터를 분리하고 제3 데이터를 복원하는 단계를 포함할 수 있다.
본 발명의 몇몇 실시 예에서, 레벨 키는 제2 레벨 키를 포함하고, 단계(S709)는, 제2 암호화 데이터를 제2 레벨 키로 복호화하여 제2 데이터 세트를 획득하고, 제2 데이터 세트 중 제2 인덱스에 기초하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원하는 단계를 더 포함할 수 있다.
거래 내역 데이터 접근 제어 방법에 대한 보다 상세한 내용에 대해서는 도 1 내지 도 6과 관련하여 전술한 내용을 참조할 수 있으므로, 여기서 중복되는 설명은 생략하도록 한다.
도 8은 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 데이터 접근 요청 모듈(17)이, P2P 네트워크의 블록에 저장된 거래 내역 데이터를 획득하기 위해, 거래 내역 관리 모듈(11)에게 데이터 접근 요청을 전송하는 단계(S801) 및 데이터 접근 요청 모듈(17)과 거래 내역 관리 모듈(11) 사이에서, 요청자의 증명을 확인하고, 가입 처리 및 보안 등급 결정을 수행하는 단계(S803)를 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 거래 내역 관리 모듈(11)이 데이터 접근 요청 모듈(17)에게 공개 키를 요청하는 단계(S805) 및, 이에 대한 응답으로, 데이터 접근 요청 모듈(17)이 거래 내역 관리 모듈(11)에게 공개 키를 제공하는 단계(S807)를 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 방법은, 거래 내역 관리 모듈(11)이 데이터 접근 요청 모듈(17)의 공개 키를 이용하여 결정된 보안 등급에 해당하는 레벨 키를 암호화하는 단계(S809), 거래 내역 관리 모듈(11)이 암호화된 레벨 키를 데이터 접근 요청 모듈(17)에게 전송하는 단계(S811) 및 데이터 접근 요청 모듈(17)이 레벨 키를 획득하는 단계(S813)를 포함할 수 있다.
여기서, 데이터에 대한 보안 레벨이 결정되면, 거래 내역 관리 모듈(11)은 결정된 보안 레벨에 해당하는 레벨 키뿐만 아니라, 그보다 낮은 보안 레벨에 해당하는 레벨 키까지 데이터 접근 요청 모듈(17)에 전송하게 된다. 예를 들어, 제1 보안 레벨이 가장 높고 제3 보안 레벨이 가장 낮은 것으로 가정했을 때, 데이터 접근 요청 모듈(17)이 제3 보안 레벨에 해당하는 데이터를 접근하려고 하는 경우, 거래 내역 관리 모듈(11)은 제3 보안 레벨에 해당하는 제3 레벨 키를 데이터 접근 요청 모듈(17)에 전송하지만, 이와 달리, 데이터 접근 요청 모듈(17)이 제1 보안 레벨에 해당하는 데이터를 접근하려고 하는 경우에는, 거래 내역 관리 모듈(11)은 제1 보안 레벨 내지 제3 보안 레벨에 해당하는 제1 레벨 키 내지 제3 레벨 키를 데이터 접근 요청 모듈(17)에 전송할 수 있다. 이에 따라, 데이터 접근 요청 모듈(17)은 접근하려는 데이터의 보안 레벨에 따른 레벨 키를 획득할 수 있고, 데이터 복호화 모듈(19)은 해당 레벨 키를 이용하여 데이터 접근 요청 모듈(17)은 접근하려는 데이터를 성공적으로 복원할 수 있다.
물론, 본 발명의 범위가 본 실시 예에 제한되는 것은 아니고, 데이터 접근 요청 모듈(17)이 거래 내역 관리 모듈(11)로부터 레벨 키를 제공받기 위한 방법은 다양한 방식으로 구현될 수 있다.
도 9는 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 블록도이다.
도 9를 참조하면, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법은 컴퓨팅 장치(50)를 이용하여 구현될 수 있다.
컴퓨팅 장치(50)는 버스(520)를 통해 통신하는 프로세서(510), 메모리(530), 사용자 인터페이스 입력 장치(540), 사용자 인터페이스 출력 장치(550) 및 저장 장치(560) 중 적어도 하나를 포함할 수 있다. 컴퓨팅 장치(50)는 또한 네트워크(40), 예컨대 무선 네트워크에 전기적으로 접속되는 네트워크 인터페이스(570)를 포함할 수 있다. 네트워크 인터페이스(570)는 네트워크(40)를 통해 다른 개체와 신호를 송신 또는 수신할 수 있다.
프로세서(510)는 AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(530) 또는 저장 장치(560)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(510)는 도 1 내지 도 8에서 설명한 기능 및 방법들을 구현하도록 구성될 수 있다.
메모리(530) 및 저장 장치(560)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read-only memory)(531) 및 RAM(random access memory)(532)를 포함할 수 있다. 본 발명의 실시 예에서 메모리(530)는 프로세서(510)의 내부 또는 외부에 위치할 수 있고, 메모리(530)는 이미 알려진 다양한 수단을 통해 프로세서(510)와 연결될 수 있다.
또한, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법 중 적어도 일부는 컴퓨팅 장치(50)에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.
또한, 본 발명의 일 실시 예에 따른 거래 내역 데이터 접근 제어 시스템 및 방법 중 적어도 일부는 컴퓨팅 장치(50)과 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.
이제까지 설명한 본 발명의 실시 예들에 따르면, 모든 참여 노드들이 거래 내역을 공유하는 상황에서, 거래 내역에 기록될 수 있는 개인 정보, 기밀 정보와 같은 민감한 데이터에 대한 보안성을 높일 수 있다.
또한 본 발명의 실시 예들에 따르면, 민감한 데이터에 대한 보안 등급을 가변적으로 운용함으로써, 해당 보안 등급에 따른 권한을 받은 사용자에 한해 거래 내역 데이터를 접근할 수 있도록 할 수 있다. 뿐만 아니라, 하나의 데이터 세트 내에서도 보안 등급을 다양화하여, 하나의 데이터 세트 내에 민감한 데이터와 일반 데이터가 함께 포함된 경우에도, 민감한 데이터만을 별도로 보호할 수 있어 보안 정책 운용을 정교화 및 세밀화할 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고, 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속한다.

Claims (20)

  1. 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 거래 내역 관리 모듈;
    상기 복수의 보안 레벨에 따라 상기 거래 내역 데이터를 다중 암호화하는 데이터 암호화 모듈; 및
    상기 다중 암호화된 데이터를 블록으로 저장하여 P2P(peer-to-peer) 네트워크에 제공하는 데이터 저장 모듈을 포함하는
    거래 내역 데이터 접근 제어 시스템.
  2. 제1항에 있어서,
    상기 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고,
    상기 거래 내역 관리 모듈은,
    상기 제1 데이터의 보안 레벨을 제1 보안 레벨로 결정하고, 상기 제2 데이터의 보안 레벨을 제2 보안 레벨로 결정하고,
    상기 데이터 암호화 모듈은,
    상기 제1 데이터 및 상기 제2 데이터에 기초하여 제1 인덱스를 생성하고,
    상기 제1 인덱스를 상기 제1 데이터 및 상기 제2 데이터와 연결하여 제1 데이터 세트를 생성하고,
    상기 제1 보안 레벨에 해당하는 제1 공개 키로 상기 제1 인덱스 및 상기 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하는, 거래 내역 데이터 접근 제어 시스템.
  3. 제2항에 있어서,
    상기 제1 인덱스는 상기 제1 데이터 세트에 포함된 데이터의 개수 또는 데이터의 길이 정보를 포함하는, 거래 내역 데이터 접근 제어 시스템.
  4. 제2항에 있어서,
    상기 데이터 암호화 모듈은,
    상기 제1 암호화 데이터 및 상기 제2 데이터에 기초하여 제2 인덱스를 생성하고,
    상기 제2 인덱스를 상기 제1 암호화 데이터 및 상기 제2 데이터와 연결하여 제2 데이터 세트를 생성하고,
    상기 제2 보안 레벨에 해당하는 제2 공개 키로 상기 제2 인덱스, 상기 제1 암호화 데이터 및 상기 제2 데이터를 암호화하여 제2 암호화 데이터를 생성하는, 거래 내역 데이터 접근 제어 시스템.
  5. 제4항에 있어서,
    상기 거래 내역 데이터는 제3 데이터를 더 포함하고,
    상기 거래 내역 관리 모듈은 상기 제3 데이터의 보안 레벨을 제3 보안 레벨로 결정하고,
    상기 데이터 암호화 모듈은,
    상기 제2 암호화 데이터 및 상기 제3 데이터에 기초하여 제3 인덱스를 생성하고,
    상기 제3 인덱스를 상기 제2 암호화 데이터 및 상기 제3 데이터와 연결하여 제3 데이터 세트를 생성하고,
    상기 제3 보안 레벨에 해당하는 제3 공개 키로 상기 제3 인덱스, 상기 제2 암호화 데이터 및 상기 제3 데이터를 암호화하여 제3 암호화 데이터를 생성하는, 거래 내역 데이터 접근 제어 시스템.
  6. 제1항에 있어서,
    상기 거래 내역 관리 모듈에 상기 거래 내역 데이터에 대한 접근을 요청하고, 상기 거래 내역 관리 모듈로부터 레벨 키를 제공받는 데이터 접근 요청 모듈 및 더 포함하는 거래 내역 데이터 접근 제어 시스템.
  7. 제6항에 있어서,
    상기 레벨 키를 이용하여 상기 다중 암호화된 데이터를 다중 복호화하는 데이터 복호화 모듈을 더 포함하는 거래 내역 데이터 접근 제어 시스템.
  8. 제7항에 있어서,
    상기 레벨 키는 제3 레벨 키를 포함하고,
    상기 데이터 복호화 모듈은,
    제3 암호화 데이터를 제3 레벨 키로 복호화하여 제3 데이터 세트를 획득하고, 상기 제3 데이터 세트 중 제3 인덱스에 기초하여 제2 암호화 데이터를 분리하고 제3 데이터를 복원하는, 거래 내역 데이터 접근 제어 시스템.
  9. 제8항에 있어서,
    상기 레벨 키는 제2 레벨 키를 포함하고,
    상기 데이터 복호화 모듈은,
    제2 암호화 데이터를 제2 레벨 키로 복호화하여 제2 데이터 세트를 획득하고, 상기 제2 데이터 세트 중 제2 인덱스에 기초하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원하는, 거래 내역 데이터 접근 제어 시스템.
  10. 제9항에 있어서,
    상기 레벨 키는 제1 레벨 키를 포함하고,
    상기 데이터 복호화 모듈은,
    제1 암호화 데이터를 제1 레벨 키로 복호화하여 제1 데이터 세트를 획득하고, 상기 제1 데이터 세트 중 제1 인덱스에 기초하여 제1 데이터를 복원하는, 거래 내역 데이터 접근 제어 시스템.
  11. 복수의 공개 키를 이용하여 거래 내역 데이터를 다중 암호화하는 데이터 암호화 모듈;
    상기 다중 암호화된 데이터를 블록으로 저장하여 P2P 네트워크에 제공하는 데이터 저장 모듈; 및
    상기 공개 키와 쌍으로 생성된 레벨 키를 이용하여 상기 다중 암호화된 데이터를 다중 복호화하는 데이터 복호화 모듈을 포함하는
    거래 내역 데이터 접근 제어 시스템.
  12. 제11항에 있어서,
    상기 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고,
    상기 데이터 암호화 모듈은,
    제1 공개 키로 상기 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하고, 제2 공개 키로 상기 제1 암호화 데이터 및 상기 제2 데이터를 암호화하여 제2 암호화 데이터를 생성하는, 거래 내역 데이터 접근 제어 시스템.
  13. 제12항에 있어서,
    상기 데이터 복호화 모듈은,
    제2 레벨 키로 상기 제2 암호화 데이터를 복호화하여 상기 제1 암호화 데이터를 분리하고 상기 제2 데이터를 복원하는, 거래 내역 데이터 접근 제어 시스템.
  14. 제13항에 있어서,
    상기 데이터 복호화 모듈은,
    제1 레벨 키로 상기 제2 암호화 데이터를 복호화하여 상기 제1 데이터를 복원하는, 거래 내역 데이터 접근 제어 시스템.
  15. 거래 내역 데이터에 대한 복수의 보안 레벨을 결정하는 단계;
    상기 복수의 보안 레벨에 따라 상기 거래 내역 데이터를 다중 암호화하는 단계; 및
    상기 다중 암호화된 데이터를 블록으로 저장하여 P2P 네트워크에 제공하는 단계를 포함하는
    거래 내역 데이터 접근 제어 방법.
  16. 제15항에 있어서,
    상기 거래 내역 데이터는 제1 데이터 및 제2 데이터를 포함하고,
    상기 복수의 보안 레벨을 결정하는 단계는,
    상기 제1 데이터의 보안 레벨을 제1 보안 레벨로 결정하는 단계; 및
    상기 제2 데이터의 보안 레벨을 제2 보안 레벨로 결정하는 단계를 포함하고,
    상기 다중 암호화하는 단계는,
    상기 제1 데이터 및 상기 제2 데이터에 기초하여 제1 인덱스를 생성하는 단계;
    상기 제1 인덱스를 상기 제1 데이터 및 상기 제2 데이터와 연결하여 제1 데이터 세트를 생성하는 단계; 및
    상기 제1 보안 레벨에 해당하는 제1 공개 키로 상기 제1 인덱스 및 상기 제1 데이터를 암호화하여 제1 암호화 데이터를 생성하는 단계를 포함하는, 거래 내역 데이터 접근 제어 방법.
  17. 제16항에 있어서,
    상기 다중 암호화하는 단계는,
    상기 제1 암호화 데이터 및 상기 제2 데이터에 기초하여 제2 인덱스를 생성하는 단계;
    상기 제2 인덱스를 상기 제1 암호화 데이터 및 상기 제2 데이터와 연결하여 제2 데이터 세트를 생성하는 단계; 및
    상기 제2 보안 레벨에 해당하는 제2 공개 키로 상기 제2 인덱스, 상기 제1 암호화 데이터 및 상기 제2 데이터를 암호화하여 제2 암호화 데이터를 생성하는 단계를 더 포함하는, 거래 내역 데이터 접근 제어 방법.
  18. 제16항에 있어서,
    상기 레벨 키를 이용하여 상기 다중 암호화된 데이터를 다중 복호화하는 단계를 더 포함하는 거래 내역 데이터 접근 제어 방법.
  19. 제18항에 있어서,
    상기 레벨 키는 제3 레벨 키를 포함하고,
    상기 다중 복호화하는 단계는,
    제3 암호화 데이터를 제3 레벨 키로 복호화하여 제3 데이터 세트를 획득하고, 상기 제3 데이터 세트 중 제3 인덱스에 기초하여 제2 암호화 데이터를 분리하고 제3 데이터를 복원하는 단계를 포함하는, 거래 내역 데이터 접근 제어 방법.
  20. 제19항에 있어서,
    상기 레벨 키는 제2 레벨 키를 포함하고,
    상기 다중 복호화하는 단계는,
    제2 암호화 데이터를 제2 레벨 키로 복호화하여 제2 데이터 세트를 획득하고, 상기 제2 데이터 세트 중 제2 인덱스에 기초하여 제1 암호화 데이터를 분리하고 제2 데이터를 복원하는 단계를 더 포함하는, 거래 내역 데이터 접근 제어 방법.
KR1020200033381A 2020-03-18 2020-03-18 거래 내역 데이터 접근 제어 시스템 및 방법 KR20210117046A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200033381A KR20210117046A (ko) 2020-03-18 2020-03-18 거래 내역 데이터 접근 제어 시스템 및 방법
US17/205,959 US11630912B2 (en) 2020-03-18 2021-03-18 System and method for controlling transaction data access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200033381A KR20210117046A (ko) 2020-03-18 2020-03-18 거래 내역 데이터 접근 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210117046A true KR20210117046A (ko) 2021-09-28

Family

ID=77748145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200033381A KR20210117046A (ko) 2020-03-18 2020-03-18 거래 내역 데이터 접근 제어 시스템 및 방법

Country Status (2)

Country Link
US (1) US11630912B2 (ko)
KR (1) KR20210117046A (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7322047B2 (en) * 2000-11-13 2008-01-22 Digital Doors, Inc. Data security system and method associated with data mining
KR101590076B1 (ko) 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
US10771459B2 (en) 2017-09-04 2020-09-08 Electronics And Telecommunications Research Institute Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
KR102417067B1 (ko) 2017-12-08 2022-07-05 한국전자통신연구원 블록 체인 네트워크의 노드에서 수행되는 블록 생성 방법 및 장치
KR101957064B1 (ko) 2017-12-29 2019-03-11 건양대학교산학협력단 블록체인 상의 개인정보보호를 위한 otp 기반 복호화 시스템
US11032293B2 (en) * 2018-02-10 2021-06-08 SmartAxiom, Inc. System and method for managing and securing a distributed ledger for a decentralized peer-to-peer network
KR102042339B1 (ko) 2018-02-23 2019-11-07 에이치닥 테크놀로지 아게 블록체인 시스템을 이용한 기기들간 암호화 통신 방법 및 시스템
CN110490008B (zh) * 2018-05-14 2021-08-10 英韧科技(上海)有限公司 安全装置及安全芯片
KR20220005705A (ko) * 2020-07-07 2022-01-14 삼성전자주식회사 동형 암호를 이용하는 전자 장치 및 그것의 암호화 데이터 처리 방법

Also Published As

Publication number Publication date
US11630912B2 (en) 2023-04-18
US20210294915A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
Tith et al. Application of blockchain to maintaining patient records in electronic health record for enhanced privacy, scalability, and availability
US7313694B2 (en) Secure file access control via directory encryption
KR20190075793A (ko) 블록체인을 이용한 일회성 접근 권한 부여 시스템
Zaghloul et al. Security and privacy of electronic health records: Decentralized and hierarchical data sharing using smart contracts
US20210234702A1 (en) Multi-decentralized private blockchains network
Tang et al. A secure and trustworthy medical record sharing scheme based on searchable encryption and blockchain
Han et al. An architecture of secure health information storage system based on blockchain technology
KR102033042B1 (ko) 블록체인을 이용한 로그인 인증 시스템, 로그인 인증 방법 및 로그인 서비스 신청 방법
KR102465467B1 (ko) Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템
Verma et al. A secure framework for health record management using blockchain in cloud environment
Neela et al. An improved RSA technique with efficient data integrity verification for outsourcing database in cloud
Andola et al. SHEMB: A secure approach for healthcare management system using blockchain
Itnal et al. A secured healthcare medical system using blockchain technology
Rai et al. Pseudonymization techniques for providing privacy and security in EHR
CN110914826A (zh) 用于分布式数据映射的***和方法
EP4070519A1 (en) Method, computer program and data sharing system for sharing user-specific data of a user
JP2020099010A (ja) 情報処理方法、情報処理装置、プログラムならびに情報処理システム
KR20210117046A (ko) 거래 내역 데이터 접근 제어 시스템 및 방법
KR102211937B1 (ko) 블록체인 네트워크 상에서 오프체인 원장을 이용한 역할기반의 데이터 보호 시스템
George et al. Privacy Protection and Con Dentiality in Medical IoT
Sujan Securing Distributed Data Mechanism Based On Blockchain Technology
US11948144B2 (en) Knowledge-based authentication for asset wallets
Liu et al. A Comprehensive Survey on Blockchain Technology and Its Applications
WO2023223606A1 (ja) データ管理システム及びデータ管理方法
CN114257446B (zh) 基于可搜索加密的数据访问控制方法、计算机设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal