형태보존암호화 (Format-Preserving Encryption)

정보보안학
한 줄 정의: 형태보존암호화는 원본 데이터의 형식(자릿수, 문자 종류 등)을 그대로 유지한 채 값만 암호화하는 방식입니다.

쉽게 풀면

16자리 신용카드 번호를 암호화했더니 결과가 알아볼 수 없는 이진 데이터로 바뀌면 기존 데이터베이스나 프로그램이 이를 처리하지 못할 수 있습니다. 형태보존암호화는 암호화된 결과도 여전히 16자리 숫자 형태를 유지하도록 만들어, 마치 다른 카드번호처럼 보이게 하는 기술입니다. 그래서 시스템을 크게 바꾸지 않고도 기존 데이터베이스 구조에 암호화를 적용할 수 있습니다.

왜 중요한가

금융, 의료 등 레거시 시스템에서는 필드 길이와 형식이 고정된 경우가 많아 일반 암호화 방식을 그대로 적용하기 어렵기 때문에, 정보보안학 및 정보시스템 분야 논문에서는 기존 시스템과의 호환성을 유지하면서 개인정보를 보호하는 실용적 방법으로 형태보존암호화를 다룹니다.

논문에서는 이렇게 쓰입니다

"본 연구는 신용카드 번호와 같은 정형 데이터 보호를 위해 FF3-1 형태보존암호화 알고리즘의 적용 방안을 제시하였다."

실제 금융 데이터 보호에 형태보존암호화를 적용하는 사례를 설명하는 문맥입니다.

"기존 데이터베이스 스키마 변경 없이 개인정보를 보호하기 위해 형태보존암호화 기법을 도입하였다."

시스템 호환성을 유지하면서 데이터를 보호하는 목적을 설명하는 문맥입니다.

조금 더 깊게 보면

대표적인 표준으로 NIST가 발표한 FF1, FF3-1 알고리즘이 있으며, 이들은 AES 블록암호를 여러 라운드에 걸쳐 적용하는 Feistel 구조 기반으로 설계되어 있습니다. 암호화 대상이 되는 값의 자리수 범위(radix)를 지정해 숫자, 영문자 등 다양한 형식에 맞춰 동작할 수 있습니다.

주의할 점

형태를 보존한다는 특성상 입력값의 범위가 좁을 경우(예: 매우 짧은 자릿수) 일반 암호화보다 상대적으로 취약할 수 있어, 사용 시 적절한 파라미터 설계가 중요합니다.

관련 용어