366. 컬럼 레벨 암호화 / 블록 레벨 암호화
핵심 인사이트 (3줄 요약)
- 컬럼 레벨(Column-level) 은 주민번호나 카드번호 등 딱 지정된 특정 열(세로줄)만 정밀 타격하여 암호화한다. 성능 부하가 적으나 SQL 코드를 몽땅 수정해야 하는(API 방식) 치명적 비효율이 따른다.
- 블록 레벨(Block-level, OS/파일수준) 은 DB 엔진 밑의 OS 파일 시스템 덩어리 자체를 암호화한다. 설치가 즉각적이고 앱 수정이 전혀 없으나, 안 중요한 데이터까지 모조리 암호화하는 미친 CPU 오버헤드가 작렬한다.
- TDE(투명한 데이터 암호화)가 컬럼과 블록 방식의 중간계 층이자 최적화 합의점으로 현업 스토리지 방어의 99%를 점유하고 있다.
Ⅰ. 아키텍처 및 원리
[ 보안 암호화 포지셔닝 타겟층 비교 ]
[ 어플리케이션 계층 ] -> 컬럼 레벨 제어 (주민번호만 콕 집어 변환) -> 고성능 / 유지보수 헬
[ Database 계층 ] -> TDE 제어 (투명 암호화) -> 중간자적 밸런스 / 표준 채택
[ OS / 디스크 층 ] -> 블록 레벨 파일 제어 (전체 디스크 BitLocker 탑재) -> 유지보수 최고 / 성능 헬
Ⅱ. 실무 적용 및 결론
개발이 다 끝나 10년 묵은 수백만 줄의 쿼리가 돌아가는 공공 시스템에 갑자기 감리 보안 지적이 떴다면, 절대 컬럼 API 방식을 쓸 수 없다. 당장 DB를 내리고 파일 시스템이나 TDE 블록 단위 암복호화 모듈(플러그인)을 장착한 뒤, CPU 코어를 2배 증설하는 하드웨어 스케일업으로 폭행하는 것이 실무 공학의 무손실 대처법이다.