본문 바로가기
정보보안기사&CISSP관련/Database Security

[Day 101] 데이터베이스 암호화 기술

by minimalist_2022 2020. 11. 19.

컬럼 암호화 방식

API 방식 : 응용프로그램 자체 암호화

  • 암복호화 모듈이 API 라이브러리 형태로 각 애플리케이션 서버에 설치되어 응용프로그램에서 해당 암복호화 모듈을 호출하는 방식으로 애플리케이션 서버와 DB서버간의 통신에서 암호화된 데이터 전송 보장
  • 어플리케이션(응용프로그램) 소스를 수정(암/복호화 API 적용)하여 암/복호화 수행
  • 장점 : 암복호화 속도 빠르고, DB서버에 영향을 주지 않아 DB성능저하가 적은 편. 암호화구간이 길다 
  • 단점 : 적용된 어플리케이션 패치에 영향 받음. 구축 시 응용프로그램 전체/일부 수정 필요
  • 신규 구축 시 적합

 

Plug-In 방식 : DB서버 암호화

  • 암복화화 모듈이 DB서버에 설치되고, dB서버에서 플러그인으로 연결된 암복호화모듈을 호출하는 방식
  • DBMS 내 Plug-in형태 모듈을 적용하여 암/복호화 수행
  • 장점 : 어플리케이션 변경 최소화
  • 단점 : 대용량 처리 시 암복호화 처리에 따른 DB서버 부하가 큼. DBMS 패치에 영향을 받음. 암호화구간이 짧음 
  • DB서버에서 플러그인 호출할때 부하 발생하여 성능 저하. 트랜잭션이 많지 않은 시스템에 적합
  • 구축 시 응용프로그램 수정 최소화할 수 있으나, 기존 DB스키마와 대응하는 뷰를 생성하고 암호화할 테이블을 추가하는 작업 필요
    - 기존 테이블 이름과 동일한 뷰와 변경된 이름의 암호화된 테이블이 생성되고 원본 테이블은 삭제됨
    - 뷰는 암호화된 테이블에서 저장된 데이터를 복호화해서 보여주는 통로역할을 함
    - 기존 테이블 명과 동일한 이름으로 뷰를 생성하기 때문에 기존 애플리케이션의 쿼리 변경을 최소화할 수 있음

Hybrid 방식 : API방식과 Plug-In 방식 혼용

  • 대용량 트랜잭션 처리는 API 방식을 사용하여 성능 저하를 최소화하고, 나머지는 플러그인 방식을 사용하여 애플리케이션 수정 최소화

 

블록 암호화 방식

TDE(Transparent Data Encryption) 방식 : DBMS 자체 암호화 방식

  • DB 내부에서 데이터파일 저장 시 암호화하고 메모리영역으로 가져올때 복호화
  • DBMS 엔진에 최적화된 성능
  • 지원하는 DBMS가 한정되어 있음

 

파일 암호화 방식 : 운영체제 암호화 방식

  • 운영체제에서 파일을 암호화하는 방식으로 비정형 데이터도 암호화 가능
  • DB서버에 부하가 갈 수 있고 지원하는 OS가 한정되어 있음