365. 데이터베이스 암호화 (TDE, Transparent Data Encryption)

핵심 인사이트 (3줄 요약)

  1. 해커가 DB 서버 자체를 뜯어내 디스크(mdf 파일)를 통째로 훔쳐 가도, 키(Key)가 없으면 파일 자체가 쓰레기 암호문으로만 보이는 완벽한 유출 방어 최종 방어막이다.
  2. TDE의 '투명성(Transparent)'이란, 자바/파이썬 등 상위 애플리케이션 입장에서는 자기가 평문을 읽고 쓰는지 전혀 모르게 DB 엔진이 몰래(투명하게) 디스크 입출력 시 덮어버린다는 뜻이다.
  3. 기존 코드를 1도 안 고쳐도 되니 도입이 미친 듯이 빠르지만, DBA가 쿼리하는 내용 자체는 평문으로 다 떠서 보이므로 '권한 탈취(내부망 뚫림)'에는 전적으로 무방비라는 맹점이 찌른다.

Ⅰ. 아키텍처 및 원리

  [ TDE (Transparent) 작동 파이프라인 탑재망 ]
   1. APP(Java) -> INSERT INTO(평문 "1234") -> ORA/SQL 서버 
   2. DB 메모리 버퍼 -> (평문 유지 상태)
   3. [TDE 엔진 작동] -> (AES256 암호화 변환) -> 스토리지 물리 디스크 기록 (암호문 저장)

Ⅱ. 실무 적용 및 결론

서버 이중화나 하드디스크 백업본(테이프) 도난의 리스크가 있는 금융사 스토리지 필수 인프라다. 단, 관리자 계정(SA)이 털리면 그냥 다 평문으로 출력해주므로, API 단에서의 최상위 암호화 수단과 이 TDE 디스크 암호화를 이중 망(Defense in Depth)으로 겹쳐 싸는 것이 보안 아키텍트의 정석안이다.