1. TDE 관점

1-1. TDE (Transparent Data Encrytion)

  • 암호를 풀 수 있는 암호화 키를 DB 서버에 파일 형태로 두는 방식이다.
  • 속도가 빠르다.
  • 애플리케이션을 수정하지 않아도 된다.
  • DB 서버 CPU 부하가 많다.
  • DB 서버 해킹 시 키가 유출될 수 있다.
  • 키 관리가 어렵다.

1-2. TDE + HSM(Hardware Security Module)

  • 암호화 키 자체를 다시 암호화하여 DB 서버에 보관하고, 키를 암호화하는데 사용한 키는 전용 하드웨어 장비인 외부 HSM에 보관한다.
  • 암/복호화 작업이 실행 중인 동안은 DB 서버 메모리 내에 키가 존재한다.

2. Oracle의 자체 암호화

  • Initialization Vector 방식이 아니다. 즉, A를 암호화하면 항상 B라는 결과가 나온다. 따라서 유추에 의한 값 유출 가능성이 있다.
  • 부하가 크다.

3. 기술 방식별 분류

3-1. 컬럼 암호화

3-1-1. Plug-in

  • 암/복호화 모듈을 DB 서버 내 설치
  • DB 서버에 대한 성능 고려 필요
  • 트랜잭션량이 적은 시스템은 저렴한 비용으로 효과를 볼 수 있다.
  • 애플리케이션 수정 필요
  • View 방식 : 기존 테이블과 동일한 이름의 뷰가 생성
  • Trigger 방식 : 복호화 뷰에 DML 요청이 들어오면 평문 데이터를 암호화하여 암호화 테이블에 DML 처리하는 역할

3-1-2. API

  • Plug-in 방식에 비해 DB 서버에 영향이 덜하다.
  • 애플리케이션 수정 필요

3-1-3. Hybrid

  • Plug-in과 API가 혼합된 형태이다.


3-2. 블록 암호화

3-2-1. TDE 방식

  • 애플리케이션 수정이 필요 없음
  • DB 지원 가능 여부 확인 필요

3-2-2. 파일 암호화

  • 애플리케이션 수정이 필요 없음
  • OS 지원 가능 여부 확인 필요