Skip to content

BYOK — 암호화(AES-256)와 키 수명주기

열쇠를 고객이 쥐는 것(BYOK)이 의미 있으려면, 그 열쇠로 "무엇을 어떻게 암호화"하고, 열쇠가 "태어나서 죽을 때까지" 어떻게 관리되는지가 함께 정리돼야 해요. 그래서 여기선 저장 데이터를 지키는 AES-256 암호화와, 열쇠의 수명주기(회전·폐기)를 나눠 다뤄요.

개요

데이터를 암호화하는 알고리즘은 규격이 정해져 있고, 키를 관리하는 절차는 서비스 정책이에요. 실제로는 이 둘이 함께 돌아가요. "어떤 키로(키 수명주기) 어떤 알고리즘으로(AES-256) 데이터를 지키는지"가 합쳐져 BYOK의 암호화 설계가 완성됩니다.

핵심 개념

AES-256 — 저장 데이터 암호화의 표준. 저장된 데이터를 암호화할 때는 대칭키 알고리즘인 AES를 널리 써요. 256비트 키(AES-256)는 강력한 보안 강도를 제공합니다. 특히 AES-256-GCM은 암호화하면서 인증 태그를 함께 만들어, 데이터가 도중에 바뀌었는지(위·변조)도 걸러내요. 그래서 "무단 열람"과 "변조" 둘 다를 다루는 데 유리해요.

키 수명주기(Key lifecycle) — 만들고, 쓰고, 돌리고, 없애고. 키에도 수명이 있어요. 보통 이렇게 이어져요.

생성 → 교환/보관 → 사용(암호화·복호화) → 회전 → 폐기

키 회전(rotation). 키를 주기적으로 바꾸는 거예요. 회전 뒤에도 기존 데이터는 예전 키로 복호화할 수 있어야 하므로, 새 키로 감싸는 데이터 키를 만들되 이전 키는 "복호화 전용"으로 잠시 보존하는 방식이 흔해요. 회전은 키가 오래 노출될 위험을 줄여줘요.

키 폐기(destruction). 키를 없애면 그 키로 암호화된 데이터는 영구히 읽을 수 없게 돼요. 그래서 폐기는 신중하고 보통 되돌릴 수 없게 설계돼요. BYOK에서는 "고객이 키를 지우면 우리도 그 데이터를 더 못 본다"는 결과가 계약적으로도 정리돼 있어야 해요.

Envelope encryption과 키 수명. 실제 데이터는 데이터 키로, 그 데이터 키는 고객(마스터) 키로 감싸요. 이때 마스터 키는 자주 돌려도 데이터 키는 그대로 쓸 수 있는 구조를 만들어, 회전이 기존 데이터에 큰 충격을 주지 않게 해요.

실제 적용(데이터스케쳐스)

저장 데이터 암호화는 AES-256-GCM을 기준으로 잡고, 데이터 키로 실제 데이터를, 고객 키로 그 데이터 키를 감싸는 envelope 구조를 설계해요. 키 회전은 감사 로그와 함께 관리해서, "키가 언제 바뀌었고 누가 그 키를 썼는지"를 되짚을 수 있게 해요.

고객이 키를 폐기하면 그 키로 암호화된 데이터에 접근할 수 없게 되는 점을, 계약(DPA)과 운영 절차에 함께 명시해요. 키를 잃어버렸을 때 복구 수단이 있는지(없다면)도 미리 정리해 두는 게 운영의 핵심이에요.

더 알아보기