KR102207072B1 - 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법 - Google Patents

블록체인 기반의 데이터 접근 감사 시스템 및 그 방법 Download PDF

Info

Publication number
KR102207072B1
KR102207072B1 KR1020190000153A KR20190000153A KR102207072B1 KR 102207072 B1 KR102207072 B1 KR 102207072B1 KR 1020190000153 A KR1020190000153 A KR 1020190000153A KR 20190000153 A KR20190000153 A KR 20190000153A KR 102207072 B1 KR102207072 B1 KR 102207072B1
Authority
KR
South Korea
Prior art keywords
data
blockchain
block
server
log
Prior art date
Application number
KR1020190000153A
Other languages
English (en)
Other versions
KR20200084136A (ko
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 KR1020190000153A priority Critical patent/KR102207072B1/ko
Publication of KR20200084136A publication Critical patent/KR20200084136A/ko
Application granted granted Critical
Publication of KR102207072B1 publication Critical patent/KR102207072B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 텐더민트 블록체인으로 데이터베이스 감사 로그를 저장하여 기업 데이터의 보안성을 향상시키는 시스템 및 방법에 관한 것으로, 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 단계 및 상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 단계를 포함한다.

Description

블록체인 기반의 데이터 접근 감사 시스템 및 그 방법{SYSTEM FOR AUDITING DATA ACCESS BASED ON BLOCK CHAIN AND THE METHOD THEREOF}
본 발명은 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 텐더민트 블록체인으로 데이터베이스 감사 로그를 저장하여 기업 데이터의 보안성을 향상시키는 시스템 및 방법에 관한 것이다.
세계경제포럼에서 가장 주목해야 하는 기술로 빅 데이터가 선정되면서 기업들은 지속 성장을 위해 엄청난 양의 데이터를 수집하고 분석하기 시작하였으며, 데이터는 곧 기업의 경쟁력이자 존립의 여부를 결정하는 핵심 가치가 되었다.
기업은 수많은 데이터를 수집, 저장, 정제, 분석하기 위한 프로세스와 시스템을 갖추고 있다. 데이터 수집 및 저장 단계에서는 빅데이터 수집 솔루션, 로그 수집기 등을 통해 기업 내부의 여러 시스템으로부터 데이터를 수집한다. 수집된 데이터는 NoSQL(노에스큐엘), RDBMS(Relational DataBase Management System; 관계형 데이터베이스 관리 시스템)와 같은 데이터베이스에 저장되어 정제 단계를 거치며, 데이터 분석가 및 데이터 과학자를 통해 의미있는 데이터로 변환되어 이를 통해 고객분석, 마케팅전략, 추천 등 기업의 다양한 의사결정을 돕는다.
데이터 정제 과정에서 기업내 여러 사용자들이 데이터베이스에 접근하게 된다. 예를 들어, 데이터 유지관리 및 확장을 위한 과정에서는 IT 조직의 개발자, 데이터베이스 관리자(DataBase Administration; DBA) 등이 데이터베이스에 접속하며, 데이터 분석 및 시각화 과정에서는 데이터 분석가, 데이터 사이언티스트 등이 데이터베이스에 접속하게 된다. 하지만 과거와 달리 데이터베이스에 접속하는 사용자의 수와 조직이 다양해지면서 데이터베이스에 대한 보안 문제가 심각해지고 있다.
개인 정보 보호는 최근 들어 정보시스템 구축에서 매우 민감한 문제로 대두되고 있다. 그 중에서도 데이터 유출 사고 조사에 따르면, 외부의 악의적인 해커에 의해 데이터가 강제 유출되는 비율보다 기업 내부자에 의해 유출되는 비율이 더욱 높았다. 특히, 보안 시스템이 잘 구축되어 있고, 상대적으로 높은 가치의 데이터를 가진 회사들에서 내부자의 데이터 유출 빈도가 더욱 높았다. 보안 시스템이 잘 구축되어 있는데도 데이터 유출이 끊이지 않는 데에는 데이터베이스 보안 솔루션의 로그 기록 방식 때문이다.
시장에 이미 고가의 다양한 데이터 접근제어 및 보안 솔루션이 있지만, 감사에 필요한 로그 기록을 중앙화된 데이터베이스에 기록하고 있기 때문에 데이터 유출을 시도하는 내부자에 의해 로그가 조작되는 문제가 존재한다.
본 발명은 P2P(Peer to Peer), 암호학과 해쉬 연결 리스트, 합의와 분산 저장 기법을 기반으로 데이터의 무결성을 유지하는 블록체인 특성을 활용해 기업 내 데이터베이스 감사 로그가 변조되지 않도록 기록하여 기업 데이터의 보안성을 향상시킬 수 있는 시스템 및 방법을 제공하고자 한다.
본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템에서 제공되는 블록체인 기반의 데이터베이스 접근 감사 방법에 있어서, 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 단계 및 상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 단계를 포함한다.
상기 암호화하여 저장하는 단계는 상기 로그 데이터에 대한 해시 값을 생성하여 상기 검색 서버에 저장하는 제1 단계, RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 상기 로그 데이터를 암호화하는 제2 단계, 상기 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 상기 암호화된 데이터를 상기 블록체인 서버에 저장하는 제3 단계 및 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 상기 해시 데이터와 상기 블록 정보를 상기 검색 서버에 저장하는 제4 단계를 포함할 수 있다.
상기 제3 단계는 상기 암호화된 데이터의 해시 값을 생성하여 상기 블록체인 서버에 전달하며, 블록체인을 구성하는 복수의 블록체인 서버들에 의한 데이터 검증 및 합의 후, 상기 블록체인 서버 내 내부 저장소(LevelDB)에 상기 암호화된 데이터를 저장할 수 있다.
상기 데이터 검증 및 합의는 PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘에 의해 수행되는 것일 수 있다.
상기 제4 단계는 데이터 합의 이후에, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 암호화된 해시 값과 블록 해시 및 주소를 포함하는 상기 블록 정보를 상기 검색 서버에 저장할 수 있다.
상기 검색 서버는 엘라스틱 검색(Elastic Search) 엔진에 기반하여 수행되는 것일 수 있다.
상기 블록체인 서버는 텐더민트(Tendermint) 블록체인 엔진에 기반하여 수행되는 것일 수 있다.
또한, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 방법은 선택적 블록 삭제(Selective Block Purge) 기법을 통해 상기 블록체인 서버 내 데이터를 삭제하는 단계를 더 포함할 수 있다.
상기 데이터를 삭제하는 단계는 상기 블록체인 서버에서 선택적 블록 삭제 플래그를 활성화하여 감사 로그의 유지 기한을 설정하고, 상기 유지 기한을 초과하는 상기 블록체인 서버에게 블록 삭제 요청을 전달하며, 블록체인을 구성하는 복수의 블록체인 서버들의 합의에 따라 상기 블록체인 서버 내 바디 데이터(body data)를 삭제할 수 있다.
본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 수집부 및 상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 처리부를 포함한다.
상기 처리부는 상기 로그 데이터에 대한 해시 값을 생성하여 상기 검색 서버에 저장하고, RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 상기 로그 데이터를 암호화하며, 상기 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 상기 암호화된 데이터를 상기 블록체인 서버에 저장한 후, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 상기 해시 데이터와 상기 블록 정보를 상기 검색 서버에 저장할 수 있다.
또한, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 선택적 블록 삭제(Selective Block Purge) 기법을 통해 상기 블록체인 서버 내 데이터를 삭제하는 삭제부를 더 포함할 수 있다.
상기 삭제부는 상기 블록체인 서버에서 선택적 블록 삭제 플래그를 활성화하여 감사 로그의 유지 기한을 설정하고, 상기 유지 기한을 초과하는 상기 블록체인 서버에게 블록 삭제 요청을 전달하며, 블록체인을 구성하는 복수의 블록체인 서버들의 합의에 따라 상기 블록체인 서버 내 바디 데이터(body data)를 삭제할 수 있다.
본 발명의 다른 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 수집부, 상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 처리부 및 선택적 블록 삭제(Selective Block Purge) 기법을 통해 상기 블록체인 서버 내 데이터를 삭제하는 삭제부를 포함한다.
본 발명의 실시예에 따르면, 데이터베이스 감사에 필요한 로그 데이터를 블록체인에 기록함으로써, 로그를 더 안전하게 보관하고 데이터 유출 사고를 더 높은 수준으로 방지할 수 있다.
또한, 본 발명의 실시예에 따르면, 텐더민트 블록체인(Tendermint Block-Chain)을 통해 기업 내부자에 의한 데이터베이스 감사 로그 조작이 더욱 어려워지게 되어, 신뢰가 보장되는 감사 로그를 기업이 보유함과 동시에 궁극적으로는 기업의 중요한 자산인 데이터와 안전하게 보호받아야 할 개인정보가 쉽게 밖으로 유출되지 못하게 방지할 수 있다.
도 1은 기존 데이터베이스 감사 로그 저장 시스템을 설명하기 위해 도시한 것이다.
도 2는 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 방법의 흐름도를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 저장하는 단계의 세부 흐름도를 도시한 것이다.
도 4는 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템을 설명하기 위해 도시한 것이다.
도 5는 본 발명의 실시예에 따른 기존의 감사 솔루션 및 데이터베이스 관리 도구를 통합한 예를 설명하기 위해 도시한 것이다.
도 6은 본 발명의 실시예에 따른 데이터 저장 프로세스를 설명하기 위해 도시한 것이다.
도 7은 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템의 세부 구성을 블록도로 도시한 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예들은 데이터베이스 감사에 필요한 로그 데이터를 블록체인에 기록함으로써, 로그를 더 안전하게 보관하고 데이터 유출 사고를 더 높은 수준으로 방지하는 것을 그 요지로 한다.
도 1은 기존 데이터베이스 감사 로그 저장 시스템을 설명하기 위해 도시한 것이다.
도 1을 참조하면, 기존 데이터베이스 감사 로그 저장 시스템에서 데이터베이스 관리자는 DB 사용자에게 데이터베이스(DataBase; DB) 접근권한을 부여하고, 감사자와 함께 접근기록 및 SQL 실행기록에 대한 로그를 통해 감사하도록 한다.
권한을 부여받은 DB 사용자는 DB툴(클라이언트)을 통해 데이터베이스에 접근하게 되는데, 데이터베이스와 사용자 사이에 게이트웨이 또는 에이전트 방식의 로그 감사 솔루션이 위치해 있다. 다만, 로그 감사 솔루션은 기업 내부에 위치하고 있고, 중앙화되어 있기 때문에 사용자, 관리자, 감시자 간의 유착이 발생한다면 감사 로그에 대한 기록이 변조될 수 있으며, 이로 인해 흔적없이 내부 데이터가 외부로 유출될 수 있다.
즉, 기존 데이터베이스 감사 로그 저장 시스템과 같이 데이터베이스 감사 로그 기록을 기업 내부의 시스템과 인력에 의존하며 유지하는 것은 보안에 심각한 문제를 가져오며, 기업의 데이터 유출로 이어지는 문제가 존재한다.
이러한 문제를 해소하기 위해, 본 발명은 텐더민트 블록체인(Tendermint Block-Chain)을 통해 블록체인 기반 로그 저장소를 구현하며, 내부자에 의한 로그 데이터 조작을 방지할 수 있다.
텐더민트 블록체인은 다양한 퍼블릭 블록체인들의 상호운용성과 보안문제를 해결하기 위한 코스모스 프로젝트의 엔진으로 사용되고 있는 블록체인 엔진이다. 텐더민트 블록체인은 P2P 프로토콜 및 알고리즘, 노드간 합의를 위한 합의 알고리즘, 트랜잭션(transaction) 데이터 저장을 위한 Key-Value 저장 모듈을 포함하고 있다. 또한, 블록체인별 다른 통신 프로토콜과 구조를 통합하기 위해 ABCI(Application BlockChain Interface) 라는 인터페이스를 제공하여 텐더민트 엔진과 유연하게 통합할 수 있도록 설계되어 있다.
또한, 텐더민트 블록체인은 PBFT(Practical Byzantine Fault Tolerance)를 기본 합의 알고리즘으로 채택하고 있다. PBFT는 동기식으로 동작하여 실제 사용하기에 너무 느리다는 BFT의 단점을 보안하기 위한 알고리즘으로, 노드간 통신을 비동기로 수행하며 참여한 노드가 n개 일 때 (n-1)/3개 이하의 노드가 악의적인 행동을 하더라도 합의를 정상적으로 이끌어낼 수 있는 합의 알고리즘이다.
본 발명의 실시예에 따른 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법에 대해서는, 도 2 내지 도 7을 참조하여 보다 상세히 설명하고자 한다.
도 2는 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 방법의 흐름도를 도시한 것이고, 도 3은 본 발명의 실시예에 따른 저장하는 단계의 세부 흐름도를 도시한 것이다.
도 2를 참조하면, 단계 210에서, 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집한다.
예를 들면, 단계 210은 ABCI(Application Block-Chain Interface)를 이용하여 DB툴(클라이언트), 감사솔루션으로부터 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 수집할 수 있다. 이 때, 단계 210은 ABCI(Application Block-Chain Interface)를 사용하여 블록체인 서버의 수정 없이도 합의 과정에서 필요한 추가적인 프로세스나, 합의 전 및 합의 후에 애플리케이션에서 수행해야할 작업들을 유연하게 정의할 수 있다.
보다 구체적으로, ABCI(Application Block-Chain Interface)는 JSON-RPC(WebSocket, HTTP)를 통해 애플리케이션과 통신하고, 합의 과정에서 발생하는 CheckTx, DeliverTx, BeginBlock, EndBlock, TxResult, Commit 이벤트를 사용자가 개발한 애플리케이션에 전달하며, 각 이벤트 마다 애플리케이션에서 처리해야할 작업들을 정의하고 결과를 반환하여 텐더민트 합의 과정에 반영한다. 즉, 텐더민트 블록체인을 활용하는 본 발명은 합의를 위한 핵심 프로세스와 인터페이스를 정의하고, 합의 여부를 비롯해 블록 생성 여부까지도 ABCI를 통해 애플리케이션에서 결정할 수 있다. ABCI(Application Block-Chain Interface)는 Java, Python, Go, JavaScript 등 다양한 언어를 지원하고 있으며, 사용자가 개발한 애플리케이션에 함께 포함되어 배포되기 때문에 ABCI는 결국 사용자가 개발한 애플리케이션으로 봐도 무방하며 퍼블릭 블록체인의 dApp일 수 있다.
즉, 본 발명의 실시예에 따른 블록체인 기반의 데이터 접근 감사 방법은 기업별 데이터베이스 보안 요구사항과 감사 로그 포맷이 표준화되어 있지 않은 문제를 텐더민트의 ABCI(Application Block-Chain Interface)를 활용하여 해결할 수 있다.
단계 220에서, 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 블록체인 서버에 저장된 암호화된 데이터에 대한 해시 데이터와 블록정보를 검색 서버에 저장한다. 이 때, 상기 검색 서버는 엘라스틱 검색(Elastic Search) 엔진일 수 있으며, 상기 블록체인 서버는 텐더민트(Tendermint) 블록체인 엔진일 수 있다.
도 3을 참조하면, 단계 220은 단계 221 내지 단계 224를 통해 로그 데이터 저장 프로세스를 수행할 수 있다.
단계 210을 통해 ABCI(Application Block-Chain Interface)로 로그 데이터가 입력되는 경우, 단계 221는 로그 데이터에 대한 해시 값을 생성하여 검색 서버에 저장할 수 있다. 상기 검색 서버는 기업 내부 시스템에 위치하기 때문에 별도의 암호화 작업을 하지 않아도 된다. 다만, 실시예에 따라서는 암호화 작업을 수행할 수도 있지만, 빠른 조회와 색인을 위해서는 암호화하지 않은 데이터가 더 유용할 수 있다.
이후, 단계 222는 RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 로그 데이터를 암호화할 수 있다. 이 때, 공개키로 암호화된 데이터는 개인키로만 복호화할 수 있기 때문에, 외부 노드에 저장된 데이터는 개인키를 가진 기업에서만 복호화할 수 있다.
단계 223은 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 암호화된 데이터를 블록체인 서버에 저장할 수 있다.
예를 들면, 단계 223은 단계 222에 의해 암호화된 데이터의 해시 값을 생성하여 블록체인 서버에 전달하며, PBFT의 합의 알고리즘을 기반으로 블록체인을 구성하는 복수의 블록체인 서버들에 의한 데이터 검증 및 합의 후, 블록체인 서버 내 내부 저장소(LevelDB)에 암호화된 데이터를 저장할 수 있다.
실시예에 따라서, 단계 223은 PBFT의 합의 알고리즘을 기반으로, 블록체인을 구성하는 복수의 블록체인 서버들 중 절반 이상이 동일한 결과를 추출하는 경우, 암호화된 데이터에 대한 검증 및 합의를 통과시킬 수 있다.
마지막 과정으로, 검색 서버의 데이터와 블록체인 서버의 데이터를 연결하기 위해, 단계 224는 블록체인 서버에 저장된 암호화된 데이터에 대한 암호화된 해시 데이터와 블록정보를 검색 서버에 업데이트 및 저장하여 데이터 저장 프로세스를 완료할 수 있다. 이 때, 상기 블록정보는 해당 블록체인 서버의 해시 및 주소를 포함할 수 있다.
도 2에서, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 방법은 선택적 블록 삭제(Selective Block Purge) 기법을 통해 블록체인 서버 내 데이터를 삭제하는 단계(미도시)를 더 포함할 수 있다.
블록체인은 최초의 블록(Genesis Block)에서부터 기록되면 블록을 제거하거나 변경하는 일이 불가능하다. 그러나, 참여하는 노드가 많아질수록 데이터는 기하급수적으로 증가하며, 참여하고 있는 모든 노드는 상당한 수준의 저장소를 필요로 하게 된다.
블록체인에 기록된 데이터를 조작하는 것은 블록체인 데이터의 무결성이 보장되지 않을 수 있음을 의미한다. 다만, 블록의 데이터를 삭제하는 과정 또한 블록체인과 블록체인간의 합의를 통해 삭제할 수 있다면 무결성을 유지한 채 삭제할 수 있다.
본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 방법의 상기 데이터를 삭제하는 단계는 선택적 블록 삭제(Selective Block Purge) 기법을 통해 데이터 삭제 프로세스를 수행할 수 있다.
첫 번째로, 선택적 블록 삭제를 원하는 노드는 선택적 블록 삭제 플래그를 활성화하고 감사 로그의 유지 기한을 선택한다.
두 번째로, 선택적 블록 삭제 플래그가 활성화된 노드는 하루에 한 번 주기로 감사 로그의 유지 기한이 초과된 블록이 있는지 확인한다.
세 번째로, 유지 기한이 초과된 블록이 있을 경우 블록체인으로 구성된 모든 노드에게 블록 삭제 요청을 전달한다. 이 때, 삭제할 블록의 BlockHeight, BlockHash, BlockCreatedAt 정보를 전달할 수 있다.
네 번째로, 복수의 노드들 중 2/3 이상의 노드가 합의하면, 각 노드들은 해당 블록의 바디 데이터(Body Data)를 삭제한다.
다섯 번째로, 블록의 바디 데이터에 대한 삭제가 완료되면 블록 헤더에 purged 플래그를 true로 설정하여 데이터 삭제 프로세스를 완료할 수 있다.
도 4는 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템을 설명하기 위해 도시한 것이다.
보다 상세하게, 도 4는 A 기업(411) 내부에 블록체인 서버(예를 들면, 텐더민트 블록체인 엔진, 441)과 대량의 로그 데이터를 효율적으로 저장하고 검색하는 검색 서버(예를 들면, 엘라스틱 검색 엔진, 430)를 기반으로 한 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템을 나타낸다.
이 때, A 기업(411), B 기업(412) 및 C 기업(413)은 노드이며, A 기업(411) 내부의 블록체인 서버(441)와 B 기업(412) 내부의 블록체인 서버(442) 및 C 기업(413) 내부의 블록체인 서버(443)는 블록체인으로 구성되어 각 데이터를 복제하여 저장 및 관리할 수 있다.
도 4를 참조하면, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 수집부(또는 ABCI(Application Block-Chain Interface), 420)을 통해 수집되는 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 저장하기 위해, 노드(411, 412, 413) 간의 합의를 통한 데이터의 무결성을 검증하고, 모든 노드(411, 412, 413)가 동일한 복제본을 가지도록 저장하는 블록체인의 특징을 활용함으로써, 기존 로그 감사 솔루션이 가진 내부자에 의한 조작 문제를 더 높은 수준으로 해결할 수 있다.
예를 들어, A 기업(411)의 감사 로그(audit log)가 생성되면, B 기업(412) 및 C 기업(413)과 정부기관 노드까지 복제되며, 이후 참여하는 노드가 많아질수록 더 많은 감사 로그 본제본이 생성될 수 있다. 모든 노드(411, 412, 413)는 감사 로그가 생성될 때마다 P2P 네트워크를 통해 감사 로그를 상호간에 검증하여 저장하며, 저장된 로그 감사 기록에 조작이 가해지는 경우, 해당 노드를 제거하여 무결성을 유지할 수 있다. 결국, 악의적인 목적은 가진 내부자가 데이터 유출 시도 후, 감사 로그 기록을 조작하기 위해서는 블록체인 노드에 참여하고 있는 모든 블록체인 서버(440)와 검색 서버(430)에 저장된 로그 쌍을 조작해야 한다. 기업 내부의 노드 데이터 조작은 기존처럼 가능할 수 있으나, 제3의 기업 및 정부가 운영하는 노드의 감사 기록을 조작하는 것은 불가능에 가깝다.
도 5는 본 발명의 실시예에 따른 기존의 감사 솔루션 및 데이터베이스 관리 도구를 통합한 예를 설명하기 위해 도시한 것이다.
보다 상세하게, 도 5는 도 4에 도시된 노드(411, 412, 413) 내 형성된 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템의 구성을 간략도로 도시한 것일 수 있다.
본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 데이터 저장을 위한 저장소 역할을 수행할 수 있다. 따라서, 로그 데이터를 수집하고 생성하는 기존의 감사 솔루션이나 데이터베이스 관리도구(DB 관리도구)와의 통합이 필요하다.
이에, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 수집부(또는 ABCI(Application Block-Chain Interface), 420)를 이용하여 TCP/IP, HTTP, IPC의 프로토콜이나 포맷 제한 없이 원하는 형태로 감사 로그를 수신할 수 있다.
감사 솔루션을 이미 도입하고 있는 회사 또는 기업이라면 기존의 솔루션 로그 포맷에 맞는 입력 어댑터를 수집부(420)에 포함시킨 후, 기존 감사 솔루션 데이터 저장소 대신에 수집부(420)를 통해 블록체인에 저장할 수 있다. 또한, 고가의 감사 솔루션이 없는 작은 규모의 회사 또는 기업이라면 DB 관리도구에서 로그를 생성하여 수집부(420)로 요청할 수도 있다.
따라서, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 조직 내부의 상황에 따라 입력 어댑터를 수집부(420)에 포함하기만 하면 기존 인프라와 소프트웨어를 그대로 활용할 수 있는 범용적인 로그 감사 저장소를 제공할 수 있다.
도 6은 본 발명의 실시예에 따른 데이터 저장 프로세스를 설명하기 위해 도시한 것이다.
본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 수집부(ABCI, 420)로 로그 데이터가 입력되면, ①가장 먼저 로그 데이터에 대한 해시 값을 생성한 후, 검색 서버(430)에 저장한다. 검색 서버(430)는 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템 내부에 위치하기 때문에, 별도의 암호화 작업을 하지 않아도 된다. 다만, 실시예에 따라서는 암호화 작업을 수행할 수도 있지만, 빠른 조회와 색인을 위해서는 암호화 하지 않은 데이터가 더 유용할 수 있다. 이 때, 검색 서버(430)는 엘라스틱 검색(Elastic Search) 엔진일 수 있다.
이후에, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 ②RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 로그 데이터를 암호화하며, ③암호화된 로그 데이터의 해시 값을 생성하고, ④블록체인 서버(440)에 합의 요청한다. 이 때, 블록체인 서버(440)는 텐더민트(Tendermint) 블록체인 엔진일 수 있다.
블록체인 서버(440)는 데이터 검증 및 합의 후, 내부 저장소(LevelDB)에 암호화된 데이터를 저장할 수 있다. 예를 들면, PBFT의 합의 알고리즘을 기반으로, 블록체인을 구성하는 복수의 블록체인 서버들(440) 중 절반 이상이 동일한 결과를 추출하는 경우, 암호화된 데이터에 대한 데이터 검증 및 합의를 통과할 수 있다.
마지막 과정으로, 블록체인 서버(440)의 데이터와 검색 서버(430)의 데이터를 연결하기 위해, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 ⑤블록체인 서버(440)에 저장된 암호화된 데이터에 대한 암호화된 해시 데이터와 블록정보를 검색 서버(430)에 업데이트 및 저장하여 데이터 저장 프로세스를 완료할 수 있다. 이 때, 상기 블록정보는 해당 블록체인 서버의 해시 및 주소를 포함할 수 있다.
나아가, 블록체인 서버(440)는 외부 노드의 블록체인 서버와 데이터를 복제하여 저장 및 관리할 수 있다. 이로 인하여, 공개키로 암호화된 데이터는 개인키로만 복호화할 수 있기 때문에, 외부 노드에 저장된 데이터는 개인키를 가진 회사에서만 복호화할 수 있으므로, 본 발명의 실시예에 따른 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법은 데이터의 조작 및 유출을 더 높은 수준으로 방지할 수 있다.
도 7은 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템의 세부 구성을 블록도로 도시한 것이다.
도 7을 참조하면, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템은 텐더민트 블록체인으로 데이터베이스 감사 로그를 저장하여 기업 데이터의 보안성을 향상시킨다.
이를 위해, 본 발명의 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템(700)은 수집부(710) 및 처리부(720)를 포함한다. 또한, 본 발명의 다른 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템(700)은 삭제부(730)를 더 포함한다.
수집부(710)는 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집한다.
처리부(720)는 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 블록체인 서버에 저장된 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장한다. 이 때, 상기 검색 서버는 엘라스틱 검색(Elastic Search) 엔진일 수 있으며, 상기 블록체인 서버는 텐더민트(Tendermint) 블록체인 엔진일 수 있다.
보다 상세히 설명하면, 처리부(720)는 로그 데이터에 대한 해시 값을 생성하여 검색 서버에 저장하고, RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 로그 데이터를 암호화하며, 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 암호화된 데이터를 블록체인 서버에 저장한 후, 블록체인 서버에 저장된 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장할 수 있다.
예를 들면, 처리부(720)는 RSA(Rivest Shamir Adleman) 알고리즘에 의해 암호화된 로그 데이터의 해시 값을 생성하여 블록체인 서버에 전달하며, PBFT의 합의 알고리즘을 기반으로 블록체인을 구성하는 복수의 블록체인 서버들에 의한 데이터 검증 및 합의 후, 블록체인 서버 내 내부 저장소(LevelDB)에 암호화된 데이터를 저장할 수 있다. 실시예에 따라서, 처리부(720)는 PBFT의 합의 알고리즘을 기반으로, 블록체인을 구성하는 복수의 블록체인 서버들 중 절반 이상이 동일한 결과를 추출하는 경우, 암호화된 데이터에 대한 검증 및 합의를 통과시킬 수 있다.
이후에, 검색 서버의 데이터와 블록체인 서버의 데이터를 연결하기 위해, 처리부(720)는 블록체인 서버에 저장된 암호화된 데이터에 대한 암호화된 해시 데이터와 블록정보를 검색 서버에 업데이트 및 저장하여 데이터 저장 프로세스를 완료할 수 있다. 이 때, 상기 블록정보는 해당 블록체인 서버의 해시 및 주소를 포함할 수 있다.
본 발명의 다른 실시예에 따른 블록체인 기반의 데이터베이스 접근 감사 시스템(700)의 삭제부(730)는 선택적 블록 삭제(Selective Block Purge) 기법을 통해 블록체인 서버 내 데이터를 삭제한다.
삭제부(730)는 선택적 블록 삭제(Selective Block Purge) 기법을 통해 데이터 삭제 프로세스를 수행할 수 있다.
첫 번째로, 선택적 블록 삭제를 원하는 노드는 선택적 블록 삭제 플래그를 활성화하고 감사 로그의 유지 기한을 선택한다.
두 번째로, 선택적 블록 삭제 플래그가 활성화된 노드는 하루에 한 번 주기로 감사 로그의 유지 기한이 초과된 블록이 있는지 확인한다.
세 번째로, 유지 기한이 초과된 블록이 있을 경우 블록체인으로 구성된 모든 노드에게 블록 삭제 요청을 전달한다. 이 때, 삭제할 블록의 BlockHeight, BlockHash, BlockCreatedAt 정보를 전달할 수 있다.
네 번째로, 복수의 노드들 중 2/3 이상의 노드가 합의하면, 각 노드들은 해당 블록의 바디 데이터(Body Data)를 삭제한다.
다섯 번째로, 블록의 바디 데이터에 대한 삭제가 완료되면 블록 헤더에 purged 플래그를 true로 설정하여 데이터 삭제 프로세스를 완료할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 블록체인 기반의 데이터베이스 접근 감사 시스템에서 제공되는 블록체인 기반의 데이터베이스 접근 감사 방법에 있어서,
    데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 단계; 및
    상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 단계
    를 포함하고,
    상기 암호화하여 저장하는 단계는
    상기 로그 데이터에 대한 해시 값을 생성하여 상기 검색 서버에 저장하는 제1 단계;
    RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 상기 로그 데이터를 암호화하는 제2 단계;
    상기 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 상기 암호화된 데이터를 상기 블록체인 서버에 저장하는 제3 단계; 및
    상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 상기 해시 데이터와 상기 블록 정보를 상기 검색 서버에 저장하는 제4 단계
    를 포함하며,
    상기 제3 단계는
    상기 암호화된 데이터의 해시 값을 생성하여 상기 블록체인 서버에 전달하며, 블록체인을 구성하는 복수의 블록체인 서버들 중 절반 이상이 동일한 결과를 추출하는 경우 상기 암호화된 데이터에 대한 검증 및 합의를 통과시킴으로써, 상기 블록체인 서버 내 내부 저장소(LevelDB)에 상기 암호화된 데이터를 저장하고,
    상기 제4 단계는
    데이터 합의 이후에, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 암호화된 해시 값과 블록 해시 및 주소를 포함하는 상기 블록 정보를 상기 검색 서버에 업데이트 및 저장하며,
    선택적 블록 삭제(Selective Block Purge) 기법을 통해 상기 블록체인 서버 내 데이터를 삭제하는 단계
    를 더 포함하고,
    상기 데이터를 삭제하는 단계는
    상기 블록체인 서버에서 선택적 블록 삭제 플래그를 활성화하여 감사 로그의 유지 기한을 설정하고, 상기 선택적 블록 삭제 플래그가 활성화된 노드에서 일정 주기로 감사 로그의 유지 기한이 초과된 블록이 있는지 확인하며, 상기 유지 기한이 초과된 블록이 있는 경우 블록체인으로 구성된 모든 노드들에게 블록 삭제 요청을 전달하고, 복수의 노드들 중 2/3 이상의 노드가 합의하는 경우 각 노드들에서 상기 유지 기한이 초과된 블록의 바디 데이터(body data)를 삭제하며, 상기 유지 기한이 초과된 블록의 바디 데이터에 대한 삭제가 완료되면 상기 유지 기한이 초과된 블록의 헤더에 purgedd 플래그를 참(true)으로 설정하여 데이터 삭제 프로세스를 완료하는 블록체인 기반의 데이터베이스 접근 감사 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 데이터 검증 및 합의는
    PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘에 의해 수행되는 것을 특징으로 하는, 블록체인 기반의 데이터베이스 접근 감사 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 검색 서버는
    엘라스틱 검색(Elastic Search) 엔진에 기반하여 수행되는 것을 특징으로 하는, 블록체인 기반의 데이터베이스 접근 감사 방법.
  7. 제1항에 있어서,
    상기 블록체인 서버는
    텐더민트(Tendermint) 블록체인 엔진에 기반하여 수행되는 것을 특징으로 하는, 블록체인 기반의 데이터베이스 접근 감사 방법.
  8. 삭제
  9. 삭제
  10. 데이터베이스(DataBase; DB)의 접근을 위한 접근기록, SQL(Structured Query Language) 실행기록 및 관리자의 권한 부여에 의한 권한기록에 대한 로그 데이터를 ABCI(Application Block-Chain Interface)를 이용하여 수집하는 수집부; 및
    상기 로그 데이터를 암호화한 암호화된 데이터를 블록체인 서버에 저장하고, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 해시 데이터와 블록 정보를 검색 서버에 저장하는 처리부
    를 포함하고,
    상기 수집부는
    상기 로그 데이터에 대한 해시 값을 생성하여 상기 검색 서버에 저장하며,RSA(Rivest Shamir Adleman) 알고리즘을 이용하여 공개키로 상기 로그 데이터를 암호화하고, 상기 암호화된 데이터에 대한 데이터 검증 및 합의를 통해 상기 암호화된 데이터를 상기 블록체인 서버에 저장하며, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 상기 해시 데이터와 상기 블록 정보를 상기 검색 서버에 저장하고,
    상기 수집부는
    상기 암호화된 데이터의 해시 값을 생성하여 상기 블록체인 서버에 전달하며, 블록체인을 구성하는 복수의 블록체인 서버들 중 절반 이상이 동일한 결과를 추출하는 경우 상기 암호화된 데이터에 대한 검증 및 합의를 통과시킴으로써, 상기 블록체인 서버 내 내부 저장소(LevelDB)에 상기 암호화된 데이터를 저장하고, 데이터 합의 이후에, 상기 블록체인 서버에 저장된 상기 암호화된 데이터에 대한 암호화된 해시 값과 블록 해시 및 주소를 포함하는 상기 블록 정보를 상기 검색 서버에 업데이트 및 저장하며,
    선택적 블록 삭제(Selective Block Purge) 기법을 통해 상기 블록체인 서버 내 데이터를 삭제하는 삭제부
    를 더 포함하고,
    상기 삭제부는
    상기 블록체인 서버에서 선택적 블록 삭제 플래그를 활성화하여 감사 로그의 유지 기한을 설정하고, 상기 선택적 블록 삭제 플래그가 활성화된 노드에서 일정 주기로 감사 로그의 유지 기한이 초과된 블록이 있는지 확인하며, 상기 유지 기한이 초과된 블록이 있는 경우 블록체인으로 구성된 모든 노드들에게 블록 삭제 요청을 전달하고, 복수의 노드들 중 2/3 이상의 노드가 합의하는 경우 각 노드들에서 상기 유지 기한이 초과된 블록의 바디 데이터(body data)를 삭제하며, 상기 유지 기한이 초과된 블록의 바디 데이터에 대한 삭제가 완료되면 상기 유지 기한이 초과된 블록의 헤더에 purgedd 플래그를 참(true)으로 설정하여 데이터 삭제 프로세스를 완료하는 블록체인 기반의 데이터베이스 접근 감사 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020190000153A 2019-01-02 2019-01-02 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법 KR102207072B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190000153A KR102207072B1 (ko) 2019-01-02 2019-01-02 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190000153A KR102207072B1 (ko) 2019-01-02 2019-01-02 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200084136A KR20200084136A (ko) 2020-07-10
KR102207072B1 true KR102207072B1 (ko) 2021-01-25

Family

ID=71604206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190000153A KR102207072B1 (ko) 2019-01-02 2019-01-02 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102207072B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102393183B1 (ko) 2021-09-29 2022-05-02 (주)로그스택 기업 서버의 로그 데이터 관리 및 처리 방법, 장치 및 시스템
KR102467441B1 (ko) * 2021-10-28 2022-11-17 (주)씨큐하이 텐더민트 bft를 이용한 비정형 데이터의 암호화 방법, 장치 및 컴퓨터-판독가능 기록매체

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344933B1 (ko) * 2020-10-08 2021-12-30 (주)바다플랫폼 체인 데이터베이스를 구비한 블록체인 기반의 데이터 저장 장치
CN112329058B (zh) * 2020-11-04 2022-03-01 齐鲁工业大学 跨多组织用户信息的访问控制方法、装置和介质
CN112448946B (zh) * 2020-11-09 2024-03-19 北京工业大学 基于区块链的日志审计方法及装置
CN112767163B (zh) * 2021-01-22 2022-11-22 支付宝(杭州)信息技术有限公司 基于区块链的数字商品交易方法和装置
CN114756902A (zh) * 2022-04-11 2022-07-15 敏于行(北京)科技有限公司 高效可信结构化数据库的安全审计方法及装置
CN116471279A (zh) * 2023-02-23 2023-07-21 聊城市佳美网络科技有限公司 基于区块链的安全审计方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104300B1 (ko) * 2011-05-11 2012-01-11 주식회사 신시웨이 개인정보 데이터베이스의 접근을 위한 전용 툴을 포함한 접근 관리 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101534307B1 (ko) * 2011-11-08 2015-07-03 주식회사 제이컴정보 스마트기기를 통한 내부 기밀 자료 유출 방지 및 추적 시스템 및 그 방법
KR20170137388A (ko) * 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법
KR102026225B1 (ko) * 2017-01-19 2019-09-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104300B1 (ko) * 2011-05-11 2012-01-11 주식회사 신시웨이 개인정보 데이터베이스의 접근을 위한 전용 툴을 포함한 접근 관리 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102393183B1 (ko) 2021-09-29 2022-05-02 (주)로그스택 기업 서버의 로그 데이터 관리 및 처리 방법, 장치 및 시스템
KR102467441B1 (ko) * 2021-10-28 2022-11-17 (주)씨큐하이 텐더민트 bft를 이용한 비정형 데이터의 암호화 방법, 장치 및 컴퓨터-판독가능 기록매체

Also Published As

Publication number Publication date
KR20200084136A (ko) 2020-07-10

Similar Documents

Publication Publication Date Title
KR102207072B1 (ko) 블록체인 기반의 데이터 접근 감사 시스템 및 그 방법
Khan et al. Cloud log forensics: Foundations, state of the art, and future directions
CN108076057B (zh) 一种基于区块链的数据保全系统及方法
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
Derbeko et al. Security and privacy aspects in MapReduce on clouds: A survey
Zhu et al. Cooperative provable data possession for integrity verification in multicloud storage
Sharma et al. Securing big data hadoop: a review of security issues, threats and solution
Samaraweera et al. Security and privacy implications on database systems in big data era: A survey
CN112765245A (zh) 一种电子政务大数据处理平台
RU2531569C2 (ru) Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных
US9081978B1 (en) Storing tokenized information in untrusted environments
Thota et al. Big data security framework for distributed cloud data centers
CN111434084A (zh) 来自实体的访问信息的许可
Sicari et al. Security&privacy issues and challenges in NoSQL databases
Ferretti et al. Scalable architecture for multi-user encrypted SQL operations on cloud database services
US11210423B2 (en) User action collection for sensitive customer data
Mehak et al. Security aspects of database-as-a-service (DBaaS) in cloud computing
WO2018080857A1 (en) Systems and methods for creating, storing, and analyzing secure data
Ali et al. Audit logs management and security-A survey
Wu et al. Differentially oblivious data analysis with Intel SGX: Design, optimization, and evaluation
Shahin et al. Big data platform privacy and security, a review
Luo et al. On data and virtualization security risks and solutions of cloud computing
JP2022531538A (ja) 暗号システム
Ngo et al. Serverless computing architecture security and quality analysis for back-end development
Alhazmi et al. BCSM: A BlockChain-based Security Manager for Big Data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant