목차
개요
업무를 하다보니 TDE라는 용어를 듣게 되었습니다. 해당 내용이 무엇인지 궁금하여 찾아보았습니다.
TDE란?
TDE(Transparent Data Encryption)는 데이터베이스에서 저장된 데이터를 암호화하여 보안을 강화하는 기술입니다. 주요 특징은 데이터베이스 애플리케이션이나 쿼리 수정 없이 데이터 암호화를 적용할 수 있다는 점입니다.
TDE의 작동 방식
- 암호화 대상: 디스크에 저장되는 데이터베이스 파일, 로그 파일 등.
- 데이터를 디스크에 기록할 때 암호화하고, 메모리에서 읽을 때 자동으로 복호화합니다.
- 투명성: 애플리케이션에서 접근하는 데이터는 평문(복호화된 상태)으로 제공되므로 추가적인 코딩 작업이 필요하지 않습니다.
TDE의 주요 구성 요소
- 데이터 암호화 키(DEK, Data Encryption Key)
- 데이터를 암호화하는 데 사용됩니다.
- 보통 고성능을 위해 대칭 키 암호화 방식을 사용합니다.
- DEK는 별도의 **마스터 키(Master Key)**로 암호화되어 보호됩니다.
- 마스터 키(Master Key)
- 데이터베이스 외부(예: 하드웨어 보안 모듈(HSM) 또는 운영체제의 키 스토리지)에 저장되어 DEK를 보호합니다.
TDE의 주요 장점
- 데이터 보호
- 데이터베이스 파일이 탈취당하거나 디스크를 분실하더라도 암호화된 상태이므로 읽을 수 없습니다.
- 애플리케이션 변경 불필요
- 암호화/복호화 과정이 투명하게 처리되므로 기존 애플리케이션 로직 수정이 필요 없습니다.
- 법적 및 규제 준수
- PCI-DSS, GDPR 같은 규제에서 요구하는 데이터 보호 요건 충족 가능.
TDE의 한계
- 성능 저하
- 암호화/복호화 작업으로 인해 I/O 성능에 영향을 줄 수 있습니다.
- 전송 중 데이터 보안 미포함
- TDE는 디스크에 저장된 데이터를 보호하지만, 네트워크를 통해 전송되는 데이터는 별도의 암호화(예: TLS)가 필요합니다.
- 키 관리 중요성
- 마스터 키가 유출되거나 분실되면 암호화된 데이터를 복구할 수 없습니다.
주요 데이터베이스에서 TDE 지원 여부
- Oracle: Oracle Advanced Security 옵션으로 TDE 제공.
- Microsoft SQL Server: TDE 기본 지원.
- MySQL/MariaDB: MySQL 5.7.12 이상 및 MariaDB 10.1 이상에서 TDE 지원.
- PostgreSQL: TDE는 기본적으로 제공되지 않지만, 확장 모듈이나 파일 시스템 암호화를 통해 구현 가능.
DBMS 자체 제공 암호화 제품(TDE)의 보안 문제점 분석한 블로그 글도 있어 함께 읽어보면 좋을 것 같습니다.
https://m.blog.naver.com/hanajava/223158513771
DBMS 자체 제공 암호화 제품(TDE)의 보안 문제점 분석
DBMS 자체제공 암호화 제품(TDE)의 보안 문제점 분석 저자:조돈섭 * (현) 이글로벌시스템 재직 * 20...
blog.naver.com
MariaDB에 TDE 적용한 케이스
https://ongamedev.tistory.com/560
MariaDB TDE 적용
Transparent Data Encryption - 데이터 저장 시 암호화해서 저장합니다. (공식문서 링크) 원하는 Table만 암호화 할 수도 있고 테이블 마다 다른 암호화 키를 사용할 수 있으며 DB 전체, 그리고 로그도 선택
ongamedev.tistory.com
'DB' 카테고리의 다른 글
Materialized View란? (0) | 2025.02.06 |
---|---|
[MariaDB] ELT (랜덤한 값 넣을 때, 사용한 함수) (0) | 2025.01.17 |
DBeaver 설치 및 DB 연동하기 (0) | 2023.11.03 |