Skip to main content
QUICK REVIEW

[논문 리뷰] StealthDB: a Scalable Encrypted Database with Full SQL Query Support

Alexey Gribov, Dhinakaran Vinayagamurthy|arXiv (Cornell University)|2017. 11. 07.
Security and Verification in Computing참고 문헌 46인용 수 8
한 줄 요약

StealthDB는 Intel SGX 기반으로 구축된 확장성 있고 전체 SQL를 지원하는 암호화된 데이터베이스 시스템으로, 최소한의 성능 오버헤드를 동반한 트랜잭션 워크로드를 처리할 수 있다. 민감한 작업을 하드웨어 보호된 에인클레이브 내에서 격리함으로써 강력한 보안 보장을 달성하며, TPC-C 벤치마크에서 스루풋을 단지 30% 감소시키면서도 종단 간 기밀성과 무결성을 유지한다.

ABSTRACT

Encrypted database systems provide a great method for protecting sensitive data in untrusted infrastructures. These systems are built using either special-purpose cryptographic algorithms that support operations over encrypted data, or by leveraging trusted computing co-processors. Strong cryptographic algorithms (e.g., public-key encryptions, garbled circuits) usually result in high performance overheads, while weaker algorithms (e.g., order-preserving encryption) result in large leakage profiles. On the other hand, some encrypted database systems (e.g., Cipherbase, TrustedDB) leverage non-standard trusted computing devices, and are designed to work around the architectural limitations of the specific devices used. In this work we build StealthDB - an encrypted database system from Intel SGX. Our system can run on any newer generation Intel CPU. StealthDB has a very small trusted computing base, scales to large transactional workloads, requires minor DBMS changes, and provides a relatively strong security guarantees at steady state and during query execution. Our prototype on top of Postgres supports the full TPC-C benchmark with a 30% decrease in the average throughput over an unmodified version of Postgres operating on a 2GB unencrypted dataset.

연구 동기 및 목표

  • 신뢰할 수 없는 클라우드 환경에서 전체 SQL 기능을 지원하는 보안적이고 확장 가능한 암호화된 데이터베이스 시스템을 설계하는 것.
  • 패assing 및 활성 공격자에 대비한 강력한 보안 보장을 유지하면서도 성능 오버헤드를 최소화하는 것.
  • 신뢰 컴퓨팅 베이스(TCB)를 줄이고 비표준 또는 전용 신뢰 하드웨어에 의존하지 않는 것.
  • 기존 DBMS인 PostgreSQL과의 통합을 가능하게 하여 최소한의 수정으로도 구현하는 것.
  • 하드웨어에 의해 강제되는 암호화를 통해 대규모 트랜잭션 워크로드(예: TPC-C)를 지원하는 것.

제안 방법

  • Intel 소프트웨어 가드 엔클레이브(SGX)를 활용하여 신뢰할 수 없는 OS 및 클라우드 운영자로부터 데이터와 코드를 보호하는 격리된 암호화된 메모리 에인클레이브를 생성한다.
  • 신뢰할 수 있는 컴포넌트와 신뢰할 수 없는 컴포넌트를 분리하여 아키텍처를 설계하고, 민감한 작업(예: 쿼리 처리, 인덱스 접근)은 오직 에인클레이브 내에서 실행한다.
  • 메르클 트리를 사용하여 에인클레이브 메모리 내의 데이터 무결성을 보장하고 위변조를 탐지하며, 각 접근 시 로그 시간 오버헤드를 추가한다.
  • 쿼리 처리, 인덱스 검색, 트랜잭션 관리 기능을 에인클레이브 내에서 실행함으로써 전체 SQL 쿼리 실행을 지원하고, 사이드 채널 泄露를 최소화한다.
  • 작업을 배치하고 에인클레이브 모드와 비에인클레이브 모드 간의 컨텍스트 스위치를 줄임으로써 성능을 최적화한다.
  • 최소한의 변경으로 PostgreSQL과 통합하여 기존 애플리케이션에 대해 암호화된 사용 중 데이터 처리를 투명하게 지원한다.

실험 결과

연구 질문

  • RQ1일반적인 Intel CPU와 SGX를 사용하여 비표준 또는 대규모 신뢰 하드웨어가 필요 없이 효율적이고 보안적인 전체 SQL 암호화된 데이터베이스를 구축할 수 있는가?
  • RQ2트랜잭션 워크로드에 대해 강력한 보안 보장을 유지하면서도 성능 오버헤드를 최소화할 수 있는 방법은 무엇인가?
  • RQ3제한된 에인클레이브 메모리로 SGX 기반 암호화된 데이터베이스를 구축할 때 보안, 기능성, 성능 간의 상호 트레이드오프는 어떠한가?
  • RQ4대규모 데이터셋과 TPC-C와 같은 복잡한 워크로드에서도 종단 간 기밀성과 무결성을 유지하면서 시스템이 확장 가능한가?
  • RQ5신뢰 컴퓨팅 베이스를 줄이고 FPGA 쉘이나 특수 하드웨어와 같은 신뢰할 수 없는 컴포넌트에 의존하지 않을 수 있는가?

주요 결과

  • StealthDB는 2GB의 암호화되지 않은 데이터셋에서 원본 PostgreSQL과 비교해 평균 스루풋이 30% 감소했지만, 전체 TPC-C 벤치마크를 지원한다.
  • 시스템은 안정 상태와 쿼리 실행 중에도 강력한 보안 보장을 유지하며, 클라우드 운영자, 동반 사용자, 활성 공격자로부터 데이터를 보호한다.
  • Intel SGX에만 의존함으로써 신뢰 컴퓨팅 베이스를 최소화하였고, 신뢰할 수 없는 FPGA 쉘이나 특수 하드웨어에 의존하지 않았다.
  • 기본 DBMS에 대한 수정이 최소한이므로, PostgreSQL과 같은 성숙한 시스템과의 통합이 가능하다.
  • 신뢰할 수 있는 에인클레이브 설계와 컨텍스트 스위치 최소화, 무결성 확보를 위한 효율적인 데이터 구조(예: 메르클 트리)를 활용함으로써 성능 오버헤드를 낮게 유지하였다.
  • 프로토타입은 90MB의 에인클레이브 메모리 제한 조건에서도 표준 Intel CPU와 SGX를 사용하여 전체 SQL 지원과 확장성을 달성할 수 있음을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.