변환

변환 (Transform)

Vault의 변환(Transform) 시크릿 엔진은 민감한 데이터(예: 신용카드 번호, 주민등록번호, 전화번호)를 원본과 연결되기 어려운 대체 값(토큰) 으로 변환하는 기능입니다. 데이터를 완전히 암호화하지 않고도 원본 값을 노출하지 않도록 마스킹·형식 보존 변환(Format Preserving Encryption, FPE)을 제공합니다. Vault Enterprise 기능입니다.

출처: 문서

본문

변환이란

변환 시크릿 엔진은 다음 두 가지 주요 접근을 지원합니다.

  • 형식 보존 암호화(Format Preserving Encryption, FPE) — 원본 데이터의 형식(길이, 문자 종류)을 유지한 채 값을 암호화합니다. 예를 들어 신용카드 번호 4111-1111-1111-1111을 같은 형식의 대체 값으로 바꿉니다.
  • 토큰화(Tokenization) — 원본 데이터를 무작위의 대체 토큰으로 바꾸고, 원본은 안전한 임시 저장소(storage)에 보관합니다. 원본을 다시 얻고 싶으면 토큰으로 원본을 조회합니다.

주요 구성 요소

  • 변환 유형(Type) — 변환의 종류(FPE, 토큰화 등)와 알고리즘(AES, TEA 등)
  • 키(Key) — 변환에 사용하는 암호화 키 (관리되는 키를 생성)
  • 역할(Role) — 변환 사용에 대한 접근 제어와 변환 유형 묶음
  • 트윈(Twins) — 원본과 대체 값의 연결을 유지하는 임시 저장소(토큰화의 경우)

사용 예시

변환 엔진을 활성화하고 키/역할을 구성합니다.

$ vault secrets enable transform
$ vault write transform/keys/fpe-creditcard \
    type="fpe" \
    algorithm="aes256-gcm" \
    tweak_source="internal"
$ vault write transform/role/creditcard \
    transformations="ccn-fpe"
$ vault write transform/transformations/ccn-fpe \
    type="fpe" \
    template="creditcard" \
    allowed_roles="creditcard"

데이터를 변환(encode)하면 다음과 같이 대체 값을 얻습니다.

$ vault write transform/encode/creditcard value="4111111111111111"
Key      Value
---      -----
encoded  2222222222222222

주의사항

  • FPE 결과는 같은 값이라도 변환 시점의 키·트윅(tweak)에 따라 달라질 수 있습니다.
  • 토큰화는 원본 데이터를 Vault에 임시 보관하므로 저장소 용량과 보안을 고려해야 합니다.
  • 변환(transform) 엔진은 Enterprise에서 제공됩니다.
  • 변환 엔진의 정확한 구성 옵션은 엔진 문서를 확인하세요.

더 알아보기 (Learn more)