368. FPE (Format Preserving Encryption)

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

  1. 기존 AES 등 강한 암호를 쓰면 900101-1234567(14자리)를 암호화 시 sdf82qjf&29jd29j...(64자리)로 변형되어, DB 컬럼 길이 제한(VARCHAR 14) 오류로 시스템이 올스톱된다.
  2. FPE는 숫자 14자리를 넣으면 결과물도 전혀 구조가 깨지지 않는 무작위 숫자 14자리(예: 102934-8472819)로 도출시키는 혁신적인 파이프 보존 암호 엔진이다.
  3. 애플리케이션 화면단의 폼(입력 칸)과 DB 스키마 길이를 한 치도 고치지 않고 곧바로 도입이 가능하다.

Ⅰ. 아키텍처 및 원리

  [ FPE 의 무손실 포맷 변조 구조 ]
   - 입력: 1111-2222-3333-4444 (16자리 카드번호 포맷)
   - [ FPE 알고리즘 엔진 (토큰 셔플링 구조) ]
   - 암호: 8392-1203-4921-9921 (똑같이 16자리, 형태 보존, 복호화 키로 풀기 가능)

Ⅱ. 실무 적용 및 결론

DB 암호화 프로젝트 시, DBA들이 개발자에게 수 천 개의 테이블 컬럼 사이즈를 늘리라고 요구하는 순간 마이그레이션 예산은 100배로 뛴다. FPE를 도입하면 하위 레거시 시스템 구조를 1%도 파괴하지 않고 휴지 데이터(Data-at-rest) 보안 조치를 수려하게 마스킹 통과할 수 있다.