365. 데이터베이스 암호화 (TDE, Transparent Data Encryption)
핵심 인사이트 (3줄 요약)
- 해커가 DB 서버 자체를 뜯어내 디스크(mdf 파일)를 통째로 훔쳐 가도, 키(Key)가 없으면 파일 자체가 쓰레기 암호문으로만 보이는 완벽한 유출 방어 최종 방어막이다.
- TDE의 '투명성(Transparent)'이란, 자바/파이썬 등 상위 애플리케이션 입장에서는 자기가 평문을 읽고 쓰는지 전혀 모르게 DB 엔진이 몰래(투명하게) 디스크 입출력 시 덮어버린다는 뜻이다.
- 기존 코드를 1도 안 고쳐도 되니 도입이 미친 듯이 빠르지만, DBA가 쿼리하는 내용 자체는 평문으로 다 떠서 보이므로 '권한 탈취(내부망 뚫림)'에는 전적으로 무방비라는 맹점이 찌른다.
Ⅰ. 아키텍처 및 원리
[ TDE (Transparent) 작동 파이프라인 탑재망 ]
1. APP(Java) -> INSERT INTO(평문 "1234") -> ORA/SQL 서버
2. DB 메모리 버퍼 -> (평문 유지 상태)
3. [TDE 엔진 작동] -> (AES256 암호화 변환) -> 스토리지 물리 디스크 기록 (암호문 저장)
Ⅱ. 실무 적용 및 결론
서버 이중화나 하드디스크 백업본(테이프) 도난의 리스크가 있는 금융사 스토리지 필수 인프라다. 단, 관리자 계정(SA)이 털리면 그냥 다 평문으로 출력해주므로, API 단에서의 최상위 암호화 수단과 이 TDE 디스크 암호화를 이중 망(Defense in Depth)으로 겹쳐 싸는 것이 보안 아키텍트의 정석안이다.