키 로딩·식별·교체 정책을 암호 알고리즘 구현과 분리합니다.
키 관리는 암호 알고리즘보다 범위가 넓은 수명 주기 문제입니다. 생성·활성화·배포·교체·폐기 단계를 명시해야 합니다. 데이터 암호화, 서명, 토큰처럼 목적이 다른 키를 나눠 두어야 키 하나가 노출돼도 시스템 전체로 번지지 않습니다.
암호화·서명·토큰처럼 목적마다 독립된 키를 쓰고, 키에 대한 접근은 꼭 필요한 곳에만 허용합니다.
암호문과 서명값에 비밀이 아닌 key id를 넣어, 검증에 필요한 키를 정확히 고릅니다.
새 데이터는 활성 키로만 쓰고, 이전 데이터는 정해진 기간 동안 구 키로 읽으면서 교체합니다.
아래 증명은 글로 된 설명이 아닙니다. 버튼을 누르면 이 서버가 지금 직접 계산합니다.
용도마다 키를 따로 넣지 않고 마스터 하나에서 유도합니다. 같은 마스터라도 용도나 key id가 다르면 완전히 다른 키가 나오고, 유도된 키에서 마스터를 거꾸로 알아낼 수 없습니다. 키 분리가 문서에 적힌 규칙에 그치지 않고 기본 동작이 됩니다.
표준 문서에 실린 테스트 벡터를 그대로 넣어 같은 값이 나오는지 확인합니다.
유도한다고 마스터의 엔트로피가 늘지는 않습니다. 짧은 마스터에서 하위 키를 아무리 많이 뽑아도 모두 그 마스터만큼만 안전합니다. 그래서 마스터 길이 하한을 유도 시점에 검사합니다.
막아야 할 입력을 실제로 넣고 거부되는지 확인합니다.
새 서명은 항상 활성 키로 만들고, 이전 키는 검증용으로만 남깁니다. 그래서 키를 교체하는 순간 기존 값이 한꺼번에 무효가 되지 않습니다.
표준 문서에 실린 테스트 벡터를 그대로 넣어 같은 값이 나오는지 확인합니다.
잘못된 키 구성은 사용할 때가 아니라 구성할 때 막습니다. 약한 키로 서명된 값이 처음부터 생기지 않게 하기 위해서입니다.
막아야 할 입력을 실제로 넣고 거부되는지 확인합니다.
규격 원문을 먼저 실었습니다. 사례는 이 분야에서 실제로 보안이 뚫린 일을 다룬 자료입니다.
생성부터 활성, 교체, 폐기까지 키의 수명 주기를 정의합니다.
마스터 키 하나에서 용도별 키를 유도하는 방법입니다. 부록 A에 벡터가 있습니다.
다음 단계
외부 KMS·secret manager adapter와 승인·폐기 절차를 환경별 운영 runbook에 연결합니다.