이 페이지에서는 Cloud Key Management Service의 키 순환에 대해 설명합니다. 키 순환은 기존 키를 대체할 새 암호화 키를 만드는 프로세스입니다. 정기적인 일정에 따라 또는 특정 이벤트 후에 암호화 키를 순환하면 키가 손상될 경우 발생할 수 있는 잠재적 결과를 줄일 수 있습니다. 키 순환에 대한 자세한 내용은 키 순환을 참조하세요.
키를 순환하는 이유는 무엇인가요?
대칭적 암호화의 경우 보안을 위해 주기적으로 그리고 자동으로 키를 순환하는 것이 권장됩니다. 결제 카드 산업 데이터 보안 표준(PCI DSS)과 같은 일부 산업 표준에서는 정기적인 키 순환이 요구됩니다.
Cloud Key Management Service는 비대칭 키의 자동 순환을 지원하지 않습니다. 이 문서의 비대칭 키 고려사항을 참조하세요.
키를 순환하면 다음과 같은 몇 가지 이점이 있습니다.
동일한 키 버전으로 암호화되는 메시지 수를 제한함으로써 암호화 분석을 통한 공격을 방지하는 데 도움이 됩니다. 키 수명 권장사항은 동일한 키 버전으로 생성되는 메시지 수 또는 암호화된 총 바이트 수는 물론 키 알고리즘에 따라 달라집니다. 예를 들어 GCM(Galois/Counter Mode)에서 대칭 암호화 키의 권장 키 수명은 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf에 설명된 대로 암호화된 메시지 수를 기반으로 합니다.
키가 손상되더라도 정기적으로 키를 순환하면 손상에 취약한 실제 메시지 수가 제한됩니다.
키 버전이 손상되었다고 의심될 경우에는 이를 사용 중지하고 가능한 한 빨리 키 액세스 권한을 취소해야 합니다.
정기적인 키 순환은 보안 위반 사고에 의해서든 아니면 더 강력한 암호화 알고리즘으로 애플리케이션으로 이전해야 해서든 간에 수동 순환보다 복원력이 우수합니다. 실제 보안 이슈가 발생하기 전에 키 순환 절차를 검사하세요.
또한 키가 손상된 경우 또는 다른 알고리즘을 사용하도록 애플리케이션을 수정하려는 경우에 키를 수동으로 순환할 수도 있습니다.
키 순환 빈도
정기적인 일정에 따라 자동으로 키를 순환하는 것이 좋습니다. 순환 일정은 순환 빈도 및 첫 번째 순환이 발생한 날짜와 시간(선택사항)을 정의합니다. 순환 일정은 키 수명 또는 키 버전으로 암호화된 메시지 수 또는 볼륨을 기반으로 할 수 있습니다.
일부 보안 규정에서는 정기적이고 자동화된 키 순환이 요구됩니다. 정의된 간격(예: 90일 간격)에 따라 자동 키 순환을 수행하면 관리 복잡성을 최소화하면서 보안 성능이 향상됩니다.
또한 키 손상이 의심되거나 보안 지침에 따라 애플리케이션을 더 강력한 키 알고리즘으로 이전해야 할 경우 키를 수동으로 순환해야 합니다. 이후 날짜 및 시간에 수동 순환을 예약할 수 있습니다. 키를 수동으로 순환해도 기존의 자동 순환 일정을 일시 중지하거나 수정하거나 기타 영향을 주지 않습니다.
불규칙한 순환 또는 수동 순환을 애플리케이션 보안의 기본 구성요소로 사용하지 마세요.
키를 순환한 후
키를 순환하면 새 활성 키 버전이 생성되지만 데이터가 다시 암호화되지는 않으며 이전 키 버전이 사용 중지되거나 삭제되지도 않습니다. 이전 키 버전은 폐기될 때까지 활성 상태로 유지되며 비용이 발생합니다. 데이터를 다시 암호화하면 이전 키 버전에 대한 의존도가 사라지므로 추가 비용이 발생하지 않도록 이전 키 버전을 삭제할 수 있습니다. 데이터를 다시 암호화하는 방법을 알아보려면 데이터 다시 암호화를 참조하세요.
키 버전을 폐기하기 전에 키 버전이 더 이상 사용되지 않는지 확인해야 합니다.
비대칭 키 고려사항
새 비대칭 키 버전을 사용하려면 그전에 추가 단계가 필요하기 때문에 Cloud KMS에서는 비대칭 키에 대해 자동 순환이 지원되지 않습니다.
서명에 사용된 비대칭 키의 경우 새 키 버전의 공개 키 부분을 배포해야 합니다. 이후에는
CryptoKeyVersions.asymmetricSign
메서드로의 호출에서 새 키 버전을 지정하여 서명을 만들고 새 키 버전을 사용하도록 애플리케이션을 업데이트할 수 있습니다.암호화에 사용되는 비대칭 키의 경우, 데이터를 암호화하는 애플리케이션에는 새 키 버전의 공개 부분을 배포 및 통합하고, 복호화하는 애플리케이션에는 새 키 버전의 비공개 부분에 대한 액세스 권한을 부여해야 합니다.
다음 단계
- 키 순환
- 키 사용 설정 또는 사용 중지
- 데이터 다시 암호화 자세히 알아보기