본문 바로가기
Tech Inside

[Tech Inside 7호] 블록체인 기술을 활용한 데이터 보호

오늘날 온•오프라인 영업을 통해 수익창출을 하는 대다수의 기업들은 회원정보를 비롯해 신용카드 번호, 결제정보, 사회보장번호 등 수많은 개인정보를 수집하고 있다. 기업은 수집된 개인정보 데이터들을 책임지고 안전하게 보호해야 하며, 특히 외부로부터의 침입을 방지하기 위한 노력을 기울여야 한다.

하지만, 21세기 들어 수백만명 이상의 개인정보 데이터를 손상시킨 침해 사건이 종종 발생하고 있다. 적게는 수백만 건에서 수십억 건의 개인정보 데이터가 유출되고, 유출된 데이터는 각종 범죄에 악용되거나 사용자가 원하지 않는 스팸 마케팅 등에 이용되곤 한다. 이러한 사건들은 해커에 의한 악의적인 공격으로 데이터를 도난당한 경우도 있고, 내부자 범죄나 기업이 실수로 데이터를 보호하지 않고 노출시킨 사례도 있어 데이터 보안 불감증에 따른 심각성이 표면화되고 있는 현실이다.

이러한 데이터 침해는 그 자체로도 문제지만, 더 심각한 위협은 데이터의 위•변조에 의한 데이터 변질이다. 예컨대, 신용카드 결제정보 같은 데이터가 유출되어 거래 및 결제내역 등이 위•변조된다면 사용자는 신용카드 정보유출에 의한 개인정보 침해 피해는 물론이고 데이터 위•변조에 의한 재산상의 손실까지 입을 수 있다.

과거의 데이터 보안 기술이 주로 범죄자에 의한 불법적인 침입 시도 차단에 중점을 두고 있었다면, 앞으로의 보안 기술은 범죄자들이 데이터를 탈취하더라도 불법적으로 수정하나 삭제할 수 없도록 보호하는데 집중해야 하는 이유가 바로 이것이다. 이를 위해 블록체인 기술을 활용할 수 있다. 블록체인 기술을 활용해 데이터 보안에 또 하나의 데이터 보안 계층을 추가하고, 암호화 다이제스트 및 서명을 사용하여 암호화 보안 데이터 관리를 구현하는 등의 기술적인 노력이 이루어져야 한다.

블록체인 기술이 데이터에 대한 또 하나의 보안계층을 가질 수 있는 측면에서 굉장히 매력적인 기술인 것임에 분명하지만, 구현하기가 굉장히 어렵다는 단점이 있다. 딜로이트의 글로벌 블록체인 설문조사 결과, 응답자의 약 86%가 “블록체인이 매력적인 비즈니스 기회를 제공한다”고 답한 반면, IDC 조사에 따르면 블록체인 프로젝트가 실패율이 대단히 높은 이유로 “블록체인 생성 및 구성, 인프라 유지 관리와 관련된 기술적 복잡성과 비용은 블록체인 도입의 장벽이 된다”라는 결과를 보였다. 즉, 블록체인으로 기대되는 효과를 실현하려면 지금보다 훨씬 쉬운 구현 방법이 필요한 것이다.

이와 관련해 오라클에서 ‘대중을 위한 블록체인’이라는 기치 아래 Oracle v21 이상 최신 버전의 데이터베이스에 블록체인 기술을 활용한 데이터 보호 기술을 단계적으로 적용하고 있어 살펴보고자 한다.

오라클 블록체인은 계약, 부동산 소유권, 결제(지불), 이전, 원장, 계정 명세서와 같이 보존해야 하고 절대 수정되지 않아야 하는 데이터에 대한 불법적인 변경을 방지하는데 중점을 두고 있다. [그림1]의 단계적 데이터 보호 기술은 크리덴셜 악용, 도용, 시스템 불법접근 후 허위 데이터 입력 시도, DB 우회한 OS 수준 데이터 변경을 원천적으로 차단하고, 위의 4가지 기술을 필요에 따라 단계적으로 적용해 데이터 보호를 강화할 수 있도록 제안하고 있다.

1. 불변 테이블(Immutable Table)

오라클의 단계적 데이터 보호 강화 기술의 첫번째로 내부자 또는 내부자 자격 증명을 사용하는 범죄자에 의한 불법 변경을 방지할 수 있는 불변 테이블(Immutable table)을 활용할 수 있다. 불변 테이블은 무단 데이터 수정 또는 삭제를 방지하는 삽입 전용 테이블로, 행 삭제는 행 삽입 시간에 따라 금지되거나 제한된다.

[그림1] 불변 테이블의 가능•불가능 작업

 

[그림 1]와 같이 불변 테이블은 새 데이터를 추가할 수는 있지만 데이터베이스를 사용하는 어느 누구도 기존 데이터에 대한 변경이나 삭제가 불가하다. 이는 데이터베이스 관리자(DBA)도 변경•삭제가 불가하여, 데이터베이스(SQL)를 사용하는 내부자에 의한 불법 수정도 원천 방지할 수 있다.

2. 블록체인 테이블(Blockchain Table)

두번째 데이터 보호 강화 기술로, 다수의 암호화된 데이터 체이닝으로 행을 연결하여 해커의 악의적인 변경을 감지하고 방지할 수 있는 블록체인 테이블을 활용할 수 있다. 예를 들어, 새로운 보안 취약점을 활용하는 해커 또는 OS 자격 증명을 사용하는 시스템 관리자(내부 해커)에 의해 데이터베이스 소프트웨어를 우회하는 불법 변경이 감지되면 블록체인은 데이터의 암호화 다이제스트를 소량의 사이즈로 계산하고 안전하게 저장하여 데이터 변경 시 변경된 데이터의 암호화 다이제스트가 이전에 저장된 다이제스트와 다르다는 변경 사항을 감지한다. 즉, 공격자가 OS 또는 데이터베이스를 완전히 장악하더라도 불법적인 변경을 감지할 수 있는데, 이는 어떤 수준의 권한도 암호화의 기초가 되는 수학적 알고리즘을 우회할 수 없기 때문이다. 이와 같이 블록체인 테이블은 [그림2]과 같이 체인을 이용하여 상호 연결된 암호화 행을 기존 행에 자동으로 연결함으로써 절대 변경될 수 없도록 설계된 불변 테이블을 말한다.

[그림2] 블록체인 테이블의 구성(출처: 오라클)

 

3. 분산 다이제스트(Distributed Digest)

블록체인 테이블이 데이터 행(row)에 대한 암호화 체인으로 변조를 감지하는데, 여기서 한가지 문제는 정부 또는 정교한 해커에 의한 대규모 은폐를 통해 데이터 행(row)의 암호화 체인이 손상될 수 있다. 예를 들어, 데이터를 불법적으로 변경한 다음에 변경한 것을 은폐하기 위해서 뒤에 오는 전체 암호화 체인을 다시 작성할 수도 있다. 이러한 대규모 은폐를 방지하기 위해 오라클은 테이블의 암호화 다이제스트를 공개적으로, 자유롭게 배포할 수 있도록 하고 있다.

다이제스트는 나중에 가짜라고 주장할 수 없도록 스키마 소유자가 암호화 서명하여 독립적인 공공 저장소, 퍼블릭 블록체인, 이메일, REST API 등을 통해 외부에 분산 저장•관리할 수 있다. 이를 통해 불변•블록체인 테이블에서의 자격 증명 도용을 해결할 수 있다. 사용자가 DB에 전달되지 않는 개인 키(key)를 통해서만 입력한 데이터에 암호화 방식으로 서명하게 되는데, 만약 해커가 유효한 자격증명을 도용하여 데이터 입력 시도를 해도 최종 사용자의 개인 키(key)가 없으면 서명 불일치로 실패하게 된다. 또한, 범죄자들로부터 해시까지 전부 교체하라는 지시를 받은 경우에도 해당 데이터를 외부에 보관된 암호 다이제스트를 사용해 검증하여 변경 사실을 인지할 수 있게 된다. 그리고, 다이제스트를 여러 독립 서비스에 공개적으로 배포하면 해커는 공개 배포된 모든 독립 사본을 삭제할 수 없게 되고, 이러한 이기종 배포는 동종의 분산 블록체인보다 강력한 보호 기능을 제공하는 것이다.

[그림3] 블록체인 암호화 다이제스트의 외부 배포(출처: 오라클)

 

4. 데이터 서명(Data Signing)

마지막 데이터 보호 강화 기술로 ‘사용자 사칭에 의한 데이터 변조’를 최종 사용자 데이터 서명을 통해 방지할 수 있다. 내부 개발자, 운영자 또는 해커가 어플리케이션의 자격 증명 확인을 우회한 다음, 최종 사용자를 사칭하여 데이터를 Insert 할 수 있다. 이런 보안 취약점을 해결하기 위해 최종 사용자가 삽입(insert)하는 신규 데이터에 암호화 방식으로 서명할 수 있는데, 이를 위해서는 디지털 ID 및 공개 인증서가 있는 정교한 사용자가 필요하고 응용 프로그램에서 데이터의 디지털 서명 구현도 필요하다.

[그림4] 최종 사용자의 데이터 서명 및 사용자 디지털 인증서 등록(출처: 오라클)

 

최종 사용자는 우선 DB에 절대 전달되지 않는 개인 키를 사용하여 데이터에 서명하고, 각 최종 사용자는 데이터 서명을 확인할 수 있도록 공개 키가 포함된 사용자 디지털 인증서(User_Cert)를 등록하게 되는데, 이때 인증서 ID는 모든 Row에 기록된다. 이렇게 입력된 신규 데이터는 오라클이 부서(countersign,이미 다른 사람이 서명한 문서를 인정하는 서명을 하는 것)하도록 요청하고, 암호화 영수증(crypto receipt)을 제공해 미들티어에서 특정한 데이터를 필터링 및 입력하는 것을 방지한다. 사용자는 본인이 서명을 한 뒤에 암호화 영수증이 오지 않는 경우, 데이터가 제대로 저장되지 않았다는 것을 알 수 있는 것이다. 이와 같이 분산 다이제스트(Distributed Digest)와 더불어 데이터 서명(Data Signing)은 정부 당국 또는 정교한 사이버 범죄자에 의한 전체 DB 교체 방식의 데이터 불법 변경을 방지할 수 있는 강력한 데이터 보호강화 기술이 될 수 있다.

🔴 데이터 보호 기술로서의 블록체인 활용 분야 및 관련 기술 동향

오라클은 블록체인 기술을 쉽게 도입할 수 있게 해준다. 특히, 데이터 보호 기술의 시작이라 할 수 이는 불변•블록체인 테이블을 실무에서 활용하는 상세한 방법은 알서포트 홈페이지에서 확인할 수 있다. 한편, 오라클의 단계적 데이터 보호 강화 기술 중 데이터 서명(Data Signing)을 할 때만 어플리케이션에서의 약간의 변경이 필요할 뿐, 그 외는 어플리케이션을 사용하면서 아무것도 변경하지 않고 적용이 가능하다는 큰 장점이 있다. 이로 인해 절대로 변경되어서는 안되는 데이터, 위•변조되었을 때 법적 책임이 따르는 데이터들을 핸들링할 때 별도의 블록체인 인프라를 구축하지 않고도 오라클에서 제공하는 블록체인 테이블 활용을 통해 소기의 목적을 달성할 수 있다. 데이터 보안을 절대시하는 모든 산업과 어플리케이션에서 쉽게 블록체인을 채택하고 활용할 수 있는 것이다.

블록체인 기술을 활용하는 DB는 오라클만 있는 것은 아니다. 현재 아마존웹서비스(AWS)의 QLDB, 알리바바의 렛저(Ledger) DB 등이 블록체인 기술을 활용한 DB로 출시되어 있다. 오라클과 마찬가지로 절대 변경되어서는 안되는 데이터를 관리하고, 위•변조 여부 역시 확인이 가능하다.

AWS의 QLDB, 알리바바 클라우드의 렛저DB 등도 데이터 변경 및 암호화를 통한 위•변조 불가, 퍼블릭 블록체인 등을 통한 외부 배포, 데이터 서명 등의 오라클의 단계적 데이터 보호 강화 기술이 제공하는 블록체인 기술을 활용한 핵심기능 등을 제공하고 있다. 다만, 모든 기능을 포괄하는 표준 SQL 데이터베이스에 통합하는 DB 공급업체는 아직 없고, 주류 SQL DB에 블록체인 기능을 제공하는 것은 오라클 기술이 업계 최초로 선보였다고 한다[3]. 물론, 오라클의 블록체인 기술이 먼저 출시되었다고 하지만 타사 제품 대비 우수하다고 평가할 수는 없다. 다만, 먼저 출시한 선도 업체인만큼 데이터 보호 강화 핵심 기능을 모두 제공하면서 블록체인 기술의 쉬운 활용법까지 구체적으로 제시하고 있다는 점에서 데이터 유출에 따른 위•변조 방지 및 데이터 보안을 위해 고민하는 기업 및 기관에서 고려해볼만 하다고 생각된다.


이하중략

이후 자세한 내용은 기술문서 원본에서 확인하실 수 있습니다.

👉 기술문서 원본 다운로드

📑 기술문서 한눈에 보기

  1. 주요 데이터 침해 사례 및 데이버 보호 기술의 필요성
  2. 오라클의 단계적 데이터 보호 강화 기술
  3. 데이터 보호 기술의 시작, 불변•블록체인 테이블 활용법
  4. 데이터 보호 기술로서의 블록체인 활용 분야 및 관련 기술 동향

Tech Inside 7호는

알서포트 클라우드기술팀 박상은 팀장님의

'블록체인 기술을 활용한 데이터 보호'

기술문서를 공개했습니다.

그럼 다음 호로 다시 돌아오겠습니다.

감사합니다.😉

댓글