외부 키 스토어 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

외부 키 스토어

외부 키 스토어를 사용하면 외부의 암호화 키를 사용하여 AWS 리소스를 보호할 수 있습니다. AWS이 고급 기능은 사용자가 제어하는 외부 키 관리 시스템에 저장된 암호화 키로 보호해야 하는 규제 대상 워크로드용으로 설계되었습니다. 외부 키 저장소는 소유하거나 외부에서 제어하는 키 자료를 사용하여 암호화하는 기능을 포함하여 내부 데이터에 대한 주권 통제권을 부여하는AWS 디지털 주권 서약을 지원합니다. AWS AWS

외부 키 저장소는 외부에서 소유하고 관리하는 외부 키 관리자가 지원하는 사용자 지정 키 저장소입니다. AWS외부 키 관리자는 물리적 또는 가상 하드웨어 보안 모듈(HSM)이거나 암호화 키를 생성하고 사용할 수 있는 하드웨어 기반 또는 소프트웨어 기반 시스템일 수 있습니다. 외부 키 스토어에서 KMS 키를 사용하는 암호화 및 복호화 작업은 HYOK(Hold Your Own Key)라는 기능인 암호화 키 구성 요소를 사용하여 외부 키 관리자에 의해 수행됩니다.

AWS KMS 외부 키 관리자와 직접 상호 작용하지 않으며 키를 생성, 확인, 관리 또는 삭제할 수 없습니다. 대신 사용자가 제공하는 외부 키 저장소 프록시 (XKS 프록시) 소프트웨어와만 AWS KMS 상호 작용합니다. 외부 키 저장소 프록시는 외부 키 관리자 AWS KMS 간의 모든 통신을 중재합니다. 외부 키 관리자의 모든 요청을 외부 키 AWS KMS 관리자에게 전송하고 외부 키 관리자의 응답을 다시 외부 키 관리자로 전송합니다. AWS KMS또한 외부 키 저장소 프록시는 일반 요청을 외부 키 관리자가 이해할 수 있는 공급업체별 형식으로 변환하므로 다양한 공급업체의 키 관리자와 함께 외부 키 저장소를 사용할 수 있습니다. AWS KMS

AWS Encryption SDK를 포함하여 클라이언트측 암호화를 위해 외부 키 스토어에서 KMS 키를 사용할 수 있습니다. 그러나 외부 키 스토어는 서버 측 암호화의 중요한 리소스이므로 외부의 암호화 키를 사용하여 여러 AWS AWS 서비스 리소스의 리소스를 보호할 수 있습니다. AWS AWS 서비스 대칭 암호화를 위한 고객 관리형 키를 지원하는 경우 외부 키 스토어의 KMS 키도 지원됩니다. 서비스 지원에 관한 자세한 내용을 확인하려면 AWS 서비스 통합을 참조하세요.

외부 키 스토어를 사용하면 외부에서 암호화 키를 저장하고 사용해야 하는 규제 AWS KMS 대상 워크로드에 사용할 수 있습니다. AWS그러나 이는 표준 공유 책임 모델에서 크게 벗어나며 추가 운영 부담이 필요합니다. 대부분의 고객에게 가용성 및 지연 시간에 대한 더 큰 위험은 외부 키 스토어의 인식된 보안 이점을 초과합니다.

외부 키 스토어를 사용하면 신뢰할 수 있는 루트를 제어할 수 있습니다. 외부 키 스토어의 KMS 키로 암호화된 데이터는 사용자가 제어하는 외부 키 관리자를 통해서만 복호화할 수 있습니다. 외부 키 저장소의 연결을 끊거나 외부 키 저장소 프록시와 외부 키 관리자의 연결을 끊는 등 외부 키 관리자에 대한 액세스 권한을 일시적으로 취소하면 복원할 때까지 암호화 키에 대한 모든 액세스 권한을 AWS 잃게 됩니다. 이 기간 동안에는 KMS 키로 암호화된 사이퍼텍스트를 복호화할 수 없습니다. 외부 키 관리자에 대한 액세스를 영구적으로 취소하면 외부 키 스토어의 KMS 키로 암호화된 모든 사이퍼텍스트를 복구할 수 없게 됩니다. 단, KMS 키로 보호되는 데이터 키를 잠시 캐시하는 AWS 서비스는 예외입니다. 이러한 데이터 키는 리소스를 비활성화하거나 캐시가 만료될 때까지 계속 작동합니다. 자세한 내용은 사용할 수 없는 KMS 키가 데이터 키에 미치는 영향단원을 참조하세요.

외부 키 스토어를 사용하면 암호화 키를 사용자가 직접 제어하고 액세스할 수 없는 상태로 유지해야 하는 규제 대상 워크로드의 일부 사용 사례를 차단할 수 있습니다. AWS그러나 이는 클라우드 기반 인프라 운영 방식의 큰 변화이자 공동 책임 모델의 중요한 변화입니다. 대부분의 워크로드에서 가용성과 성능에 대한 추가 운영 부담과 더 큰 위험은 외부 키 스토어의 인식된 보안 이점을 초과합니다.

자세히 알아보기:

외부 키 스토어가 필요한가요?

대부분의 사용자는 FIPS 140-2 보안 레벨 3 검증 하드웨어 보안 모듈로 보호되는 기본 AWS KMS 키 스토어가 보안, 제어 및 규제 요구 사항을 충족합니다. 외부 키 스토어 사용자는 상당한 비용, 유지 보수 및 문제 해결 부담과 지연 시간, 가용성 및 신뢰성에 대한 위험을 부담하게 됩니다.

외부 키 스토어를 고려할 때 잠시 시간을 내어 사용자가 소유하고 관리하는 AWS CloudHSM 클러스터에서 지원하는 AWS CloudHSM 키 스토어, 자체 HSM에서 생성하고 요청 시 KMS 키에서 삭제할 수 있는 가져온 키 구성 요소가 있는 KMS 키 등의 대안에 대해 알아보세요. 특히 매우 짧은 만료 간격으로 키 구성 요소를 가져오면 성능 또는 가용성 위험 없이 비슷한 수준의 제어를 제공할 수 있습니다.

다음과 같은 요구 사항이 있는 경우 외부 키 스토어가 조직에 적합한 솔루션일 수 있습니다.

  • 온-프레미스 키 관리자 또는 관리하는 외부 키 관리자의 암호화 키를 사용해야 합니다. AWS

  • 암호화 키가 클라우드 외부에서만 제어할 수 있음을 입증해야 합니다.

  • 독립된 권한이 있는 암호화 키를 사용하여 암호화하고 복호화해야 합니다.

  • 키 구성 요소는 독립적인 보조 감사 경로를 따라야 합니다.

외부 키 스토어를 선택하는 경우 AWS외부의 암호화 키를 사용하여 보호해야 하는 워크로드로 사용을 제한합니다.

공동 책임 모델

표준 KMS 키는 소유 및 관리하는 HSM에서 생성되고 사용되는 키 자료를 사용합니다. AWS KMS KMS 키에 대한 액세스 제어 정책을 설정하고 KMS 키를 사용하여 AWS 서비스 리소스를 보호하도록 구성합니다. AWS KMS KMS 키에 있는 키 구성 요소의 보안, 가용성, 지연 시간 및 내구성을 책임집니다.

외부 키 스토어의 KMS 키는 외부 키 관리자의 키 구성 요소 및 작업에 의존합니다. 따라서 책임의 균형이 사용자의 방향으로 바뀝니다. 외부 키 관리자에 있는 암호화 키의 보안, 안정성, 내구성 및 성능에 대한 책임은 사용자에게 있습니다. AWS KMS 요청에 신속하게 대응하고 외부 키 저장소 프록시와 통신하며 보안 표준을 유지할 책임이 있습니다. 모든 외부 키 저장소 암호문을 최소한 표준 AWS KMS 암호문보다 강력하게 만들기 위해 AWS KMS 먼저 KMS 키에 관련된 AWS KMS 키 자료를 사용하여 모든 일반 텍스트를 암호화한 다음 외부 키 관리자에게 전송하여 외부 키로 암호화하는데, 이를 이중 암호화라고 합니다. 결과적으로 AWS KMS 나 외부 키 구성 요소의 소유자는 이중 암호화된 사이퍼텍스트를 단독으로 복호화할 수 없습니다.

규정 및 성능 표준을 충족하는 외부 키 관리자를 유지 관리하고, AWS KMS 외부 키 스토어 프록시 API 사양을 준수하는 외부 키 스토어 프록시를 제공 및 유지 관리하고, 키 구성 요소의 가용성 및 내구성을 보장할 책임은 사용자에게 있습니다. 또한 외부 키 스토어를 생성, 구성 및 유지 관리해야 합니다. 유지 관리하는 구성 요소로 인해 오류가 발생하는 경우 AWS 서비스가 과도한 중단 없이 리소스에 액세스할 수 있도록 오류를 식별하고 해결할 준비를 해야 합니다. AWS KMS 문제의 원인과 가능한 해결 방법을 파악하는 데 도움이 되는 문제 해결 지침을 제공합니다.

외부 키 스토어에 대해 AWS KMS 기록되는 Amazon CloudWatch 지표 및 측정기준을 검토하십시오. AWS KMS 성능 및 운영 문제가 발생하기 전에 조기 징후를 감지할 수 있도록 외부 키 스토어를 모니터링하는 CloudWatch 경보를 생성하는 것이 좋습니다.

무엇이 바뀌고 있나요?

외부 키 스토어는 대칭 암호화 KMS 키만 지원합니다. AWS KMS내부에서는 액세스 제어 정책 설정 및 키 사용 모니터링을 포함하여 다른 고객 관리 키를 관리하는 것과 거의 동일한 방식으로 외부 키 스토어의 KMS 키를 사용하고 관리합니다. 동일한 파라미터와 동일한 API를 사용하여 모든 KMS 키에 사용하는 외부 키 스토어에서 KMS 키로 암호화 작업을 요청합니다. 가격도 표준 KMS 키와 동일합니다. 자세한 내용은 외부 키 스토어에서 KMS 키 관리, 외부 키 스토어에서 KMS 키 사용AWS Key Management Service 요금을 참조하세요.

그러나 외부 키 스토어를 사용하면 다음 원칙이 변경됩니다.

  • 키 작업의 가용성, 내구성 및 지연 시간에 대한 책임은 사용자에게 있습니다.

  • 외부 키 관리자 시스템의 개발, 구매, 운영 및 라이선스에 대한 모든 비용은 사용자의 책임입니다.

  • 외부 키 스토어 프록시로 들어오는 모든 요청에 대해 독립적인 권한 AWS KMS 부여를 구현할 수 있습니다.

  • 외부 키 스토어 프록시의 모든 작업과 AWS KMS 요청과 관련된 외부 키 관리자의 모든 작업을 모니터링, 감사 및 기록할 수 있습니다.

어디에서 시작합니까?

외부 키 스토어를 생성하고 관리하려면 외부 키 스토어 프록시 연결 옵션을 선택하고, 사전 조건을 수집하고, 외부 키 스토어를 생성하고 구성해야 합니다. 시작하려면 외부 키 스토어 계획 섹션을 참조하세요.

할당량

AWS KMS 연결 상태에 관계없이 키 스토어와 외부AWS CloudHSM키 스토어를 포함하여 각 지역 AWS 계정 및 지역에서 최대 10개의 사용자 지정 키 스토어를 허용합니다. 또한 외부 키 스토어에 KMS 키 사용에 대한 AWS KMS 요청 할당량이 있습니다.

외부 키 스토어 프록시에 대해 VPC 프록시 연결을 선택하는 경우 VPC, 서브넷 및 Network Load Balancer와 같은 필수 구성 요소에 할당량이 있을 수도 있습니다. 이러한 할당량에 대한 자세한 내용을 보려면 Service Quotas 콘솔을 사용합니다.

리전

네트워크 지연 시간을 최소화하려면 외부 키 관리자와 가장 가까운 AWS 리전 에 외부 키 스토어 구성 요소를 생성합니다. 가능하면 네트워크 왕복 시간(RTT)이 35밀리초 이하인 리전을 선택합니다.

외부 키 스토어는 중국 (베이징) 과 중국 (닝샤) 을 제외하고 지원되는 모든 AWS 리전 지역에서 지원됩니다. AWS KMS

지원되지 않는 기능

AWS KMS 사용자 지정 키 스토어에서는 다음 기능을 지원하지 않습니다.

외부 키 스토어 개념

이 주제에서는 외부 키 스토어에서 사용되는 몇 가지 개념을 설명합니다.

외부 키 스토어

외부 키 저장소는 사용자가 소유하고 관리하는 외부 키 관리자가 지원하는 AWS KMS 사용자 지정 키 저장소입니다. AWS 외부 키 스토어의 각 KMS 키는 외부 키 관리자의 외부 키와 연결됩니다. 암호화 또는 복호화를 위해 외부 키 스토어에서 KMS 키를 사용하는 경우 HYOK(Hold your Own Keys)로 알려진 배열인 외부 키를 사용하여 외부 키 관리자에서 작업이 수행됩니다. 이 기능은 자체 외부 키 관리자에서 암호화 키를 유지해야 하는 조직을 위해 설계되었습니다.

외부 키 스토어를 사용하면 AWS 리소스를 보호하는 암호화 키와 작업을 외부 키 관리자에서 제어할 수 있습니다. AWS KMS 데이터를 암호화하고 복호화하라는 요청을 외부 키 관리자에게 보내지만 외부 키를 생성, 삭제 또는 관리할 AWS KMS 수는 없습니다. 외부 키 관리자로 들어오는 모든 요청은 사용자가 제공, 소유 및 관리하는 외부 키 저장소 프록시 소프트웨어 구성 요소에 의해 조정됩니다. AWS KMS

AWS AWS KMS 고객 관리 키를 지원하는 서비스는 외부 키 스토어의 KMS 키를 사용하여 데이터를 보호할 수 있습니다. 결과적으로 데이터는 궁극적으로 외부 키 관리자의 암호화 작업을 사용하여 키로 보호됩니다.

외부 키 스토어의 KMS 키는 표준 KMS 키와 신뢰 모델, 공동 규정 배열 및 성능 기대치가 근본적으로 다릅니다. 외부 키 스토어 사용 시 키 구성 요소 및 암호화 작업의 보안 및 무결성에 대한 책임은 사용자에게 있습니다. 외부 키 스토어의 KMS 키 가용성 및 지연 시간은 하드웨어, 소프트웨어, 네트워킹 구성 요소 및 AWS KMS 와 외부 키 관리자 간 거리의 영향을 받습니다. 또한 외부 키 관리자와 외부 키 관리자가 통신하는 데 필요한 네트워킹 및 부하 분산 인프라에 대한 추가 비용이 발생할 수 있습니다. AWS KMS

보다 광범위한 데이터 보호 전략의 일부로 외부 키 스토어를 사용할 수 있습니다. 보호하는 각 AWS 리소스에 대해 외부 키 스토어에 KMS 키가 필요한 리소스와 표준 KMS 키로 보호할 수 있는 리소스를 결정할 수 있습니다. 이를 통해 특정 데이터 분류, 애플리케이션 또는 프로젝트에 대한 KMS 키를 유연하게 선택할 수 있습니다.

외부 키 관리자

외부 키 관리자는 256비트 AES 대칭 키를 생성하고 대칭 암호화 및 복호화를 수행할 수 있는 AWS 외부의 구성 요소입니다. 외부 키 스토어의 외부 키 관리자는 물리적 하드웨어 보안 모듈(HSM), 가상 HSM 또는 HSM 구성 요소가 있거나 없는 소프트웨어 키 관리자일 수 있습니다. 온프레미스 AWS, 로컬 또는 원격 데이터 센터, 클라우드 등 외부 어디에나 위치할 수 있습니다. 단일 외부 키 관리자 또는 암호화 키를 공유하는 여러 관련 키 관리자 인스턴스(예: HSM 클러스터)에서 외부 키 스토어를 지원할 수 있습니다. 외부 키 스토어는 여러 공급업체의 다양한 외부 관리자를 지원하도록 설계되었습니다. 외부 키 관리자의 요구 사항에 대한 자세한 내용은 외부 키 스토어 계획 섹션을 참조하세요.

외부 키

외부 키 스토어의 각 KMS 키는 외부 키라고 하는 외부 키 관리자의 암호화 키와 연결됩니다. 외부 키 스토어에서 KMS 키로 암호화하거나 복호화하면 외부 키를 사용하여 외부 키 관리자에서 암호화 작업이 수행됩니다.

주의

외부 키는 KMS 키 작동에 필수적입니다. 외부 키가 분실되거나 삭제되면 연결된 KMS 키로 암호화된 사이퍼텍스트를 복구할 수 없습니다.

외부 키 스토어의 경우 외부 키는 활성화되고 암호화와 복호화를 수행할 수 있는 256비트 AES 키여야 합니다. 자세한 외부 키 요구 사항은 외부 키 스토어의 KMS 키 요구 사항 섹션을 참조하세요.

AWS KMS 외부 키를 생성, 삭제 또는 관리할 수 없습니다. 암호화 키 구성 요소는 외부 키 관리자를 떠나지 않습니다. 외부 키 스토어에서 KMS 키를 생성할 때는 외부 키의 ID(XksKeyId)를 제공합니다. 외부 키 관리자가 외부 키 ID와 연결된 키 구성 요소를 교체할 수 있지만 KMS 키와 연결된 외부 키 ID는 변경할 수 없습니다.

외부 키 스토어의 KMS 키에는 외부 키 외에도 AWS KMS 키 구성 요소가 있습니다. KMS 키로 보호되는 데이터는 먼저 키 자료를 AWS KMS 사용하여 암호화한 다음 외부 키 관리자가 외부 키를 사용하여 암호화합니다. AWS KMS 이 이중 암호화 프로세스를 통해 KMS 키로 보호되는 사이퍼텍스트가 항상 AWS KMS으로만 보호되는 사이퍼텍스트 이상으로 강력해집니다.

많은 암호화 키에는 서로 다른 유형의 식별자가 있습니다. 외부 키 스토어에 KMS 키를 생성할 때 외부 키 스토어 프록시가 외부 키를 참조하는 데 사용하는 외부 키의 ID를 제공하세요. 잘못된 식별자를 사용하면 외부 키 스토어에서 KMS 키를 생성하려는 시도가 실패합니다.

외부 키 스토어 프록시

외부 키 스토어 프록시 (“XKS 프록시”) 는 외부 키 관리자 간의 모든 통신을 중재하는 고객 소유 및 고객 관리형 소프트웨어 애플리케이션입니다. AWS KMS 또한 일반 AWS KMS 요청을 공급업체별 외부 키 관리자가 이해할 수 있는 형식으로 변환합니다. 외부 키 스토어 프록시는 외부 키 스토어에 필요합니다. 각 외부 키 스토어는 하나의 외부 키 스토어 프록시와 연결됩니다.

외부 키 스토어 프록시

AWS KMS 외부 키를 생성, 삭제 또는 관리할 수 없습니다. 암호화 키 구성 요소는 절대 외부 키 관리자를 떠나지 않습니다. 외부 키 관리자 AWS KMS 간의 모든 통신은 외부 키 저장소 프록시에 의해 조정됩니다. AWS KMS 외부 키 스토어 프록시에 요청을 보내고 외부 키 스토어 프록시로부터 응답을 받습니다. 외부 키 저장소 프록시는 외부 키 관리자로부터 AWS KMS 외부 키 관리자에게 요청을 전송하고 외부 키 관리자의 응답을 외부 키 관리자로부터 외부 키 관리자로 다시 전송하는 역할을 합니다. AWS KMS

외부 키 스토어의 외부 키 스토어 프록시는 사용자가 소유하고 관리하며 유지 관리 및 운영에 대한 책임은 사용자에게 있습니다. 벤더로부터 프록시 애플리케이션을 AWS KMS 게시하거나 구매하는 오픈 소스 외부 키 스토어 프록시 API 사양을 기반으로 외부 키 스토어 프록시를 개발할 수 있습니다. 외부 키 스토어 프록시는 외부 키 관리자에 포함될 수 있습니다. 프록시 개발을 지원하기 위해 외부 키 저장소 프록시 샘플 (aws-kms-xks-proxy) 및 외부 키 저장소 프록시가 사양을 준수하는지 확인하는 테스트 xks-kms-xksproxy-test클라이언트 (-client) AWS KMS 도 제공합니다.

프록시는 인증을 위해 서버측 AWS KMS TLS 인증서를 사용합니다. 프록시에 인증하려면 SigV4 프록시 인증 자격 증명을 사용하여 외부 키 저장소 프록시에 대한 모든 요청에 AWS KMS 서명합니다. 선택적으로 프록시에서 상호 TLS (mTLS) 를 활성화하여 요청만 수락한다는 추가 보장을 할 수 있습니다. AWS KMS

외부 키 스토어 프록시는 다음 암호화 제품군 중 하나 이상을 포함하는 HTTP/1.1 이상 및 TLS 1.2 이상을 지원해야 합니다.

  • TLS_AES_256_GCM_SHA384(TLS 1.3)

  • TLS_CHACHA20_POLY1305_SHA256(TLS 1.3)

    참고

    AWS GovCloud (US) Region TLS_CHACHA20_POLY1305_SHA256은 지원하지 않습니다.

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(TLS 1.2)

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(TLS 1.2)

외부 키 스토어에서 KMS 키를 생성하고 사용하려면 먼저 외부 키 스토어 프록시에 외부 키 스토어를 연결해야 합니다. 요청 시 프록시에서 외부 키 스토어를 연결 해제할 수도 있습니다. 이렇게 하면 외부 키 스토어의 모든 KMS 키를 사용할 수 없게 되어 암호화 작업에 사용할 수 없습니다.

외부 키 스토어 프록시 연결

외부 키 저장소 프록시 연결 (“XKS 프록시 연결”) 은 외부 키 저장소 프록시와 통신하는 데 사용하는 방법을 설명합니다. AWS KMS

외부 키 스토어를 생성할 때 프록시 연결 옵션을 지정하면 해당 옵션이 외부 키 스토어의 속성이 됩니다. 사용자 지정 키 스토어 속성을 업데이트하여 프록시 연결 옵션을 변경할 수 있지만 외부 키 스토어 프록시가 여전히 동일한 외부 키에 액세스할 수 있는지 확인해야 합니다.

AWS KMS 다음과 같은 연결 옵션을 지원합니다.

  • 퍼블릭 엔드포인트 연결 — 인터넷을 통해 외부 키 스토어 프록시에 대한 요청을 사용자가 제어하는 퍼블릭 엔드포인트로 AWS KMS 보냅니다. 이 옵션은 생성 및 유지 관리가 간단하지만 모든 설치에 대한 보안 요구 사항을 충족하지 못할 수 있습니다.

  • VPC 엔드포인트 서비스 연결 — AWS KMS 사용자가 생성하고 유지 관리하는 Amazon VPC (가상 사설 클라우드) 엔드포인트 서비스에 요청을 보냅니다. Amazon VPC 내부에 외부 키 스토어 프록시를 호스팅하거나 외부에서 외부 키 스토어 프록시를 AWS 호스팅하고 Amazon VPC를 통신용으로만 사용할 수 있습니다.

외부 키 스토어 프록시 연결 옵션에 대한 자세한 내용은 프록시 연결 옵션 선택 섹션을 참조하세요.

외부 키 스토어 프록시 인증 자격 증명

외부 키 스토어 프록시에 인증하려면 SigV4 (SigV4) 인증 자격 증명으로 외부 키 저장소 프록시에 대한 모든 요청에 서명하십시오. AWS KMS 프록시에서 인증 자격 증명을 설정하고 유지 관리한 다음 외부 저장소를 생성할 때 이 자격 증명을 제공하십시오. AWS KMS

참고

XKS 프록시에 대한 요청에 서명하는 데 AWS KMS 사용하는 SigV4 자격 증명은 사용자의 보안 주체와 연결된 SigV4 자격 증명과는 관련이 없습니다. AWS Identity and Access Management AWS 계정외부 키 스토어 프록시에 IAM SigV4 자격 증명을 재사용하지 마세요.

각 프록시 인증 자격 증명은 두 부분으로 구성됩니다. 외부 키 스토어를 생성하거나 외부 키 스토어의 인증 자격 증명을 업데이트할 때 두 부분을 모두 제공해야 합니다.

  • 액세스 키 ID: 비밀 액세스 키를 식별합니다. 이 ID를 일반 텍스트로 제공할 수 있습니다.

  • 보안 액세스 키: 자격 증명의 비밀 부분입니다. AWS KMS 자격 증명의 비밀 액세스 키를 암호화한 후 저장합니다.

잘못된 값을 입력하거나 프록시에서 자격 증명을 변경하거나 프록시가 자격 증명을 교체하는 경우와 같이 언제든지 자격 증명 설정을 편집할 수 있습니다. 외부 키 저장소 프록시에 대한 AWS KMS 인증에 대한 기술 세부 정보는 AWS KMS 외부 키 저장소 프록시 API 사양에서의 인증을 참조하십시오.

외부 키 스토어의 KMS 키 사용에 지장을 주지 않으면서 자격 증명을 교체할 수 있으려면 외부 키 저장소 프록시에서 두 개 이상의 유효한 인증 자격 증명을 지원하는 것이 좋습니다. AWS 서비스 AWS KMS이렇게 하면 AWS KMS에 새 자격 증명을 제공하는 동안 이전 자격 증명이 계속 작동합니다.

프록시 인증 자격 증명의 사용 기간을 추적하는 데 도움이 되도록 Amazon CloudWatch 메트릭을 AWS KMS 정의합니다. XksProxyCredentialAge 이 지표를 사용하여 자격 증명의 유효 기간이 설정한 임계값에 도달하면 알림을 보내는 CloudWatch 경보를 생성할 수 있습니다.

외부 키 스토어 프록시가 AWS KMS에만 응답한다는 추가 보증을 제공하기 위해 일부 외부 키 프록시는 상호 전송 계층 보안(mTLS)을 지원합니다. 자세한 내용은 mTLS 인증(선택사항)을 참조하세요. 자세한 내용은 mTLS 인증(선택 사항)단원을 참조하세요.

프록시 API

AWS KMS 외부 키 저장소를 지원하려면 외부 키 저장소 프록시가AWS KMS 외부 키 저장소 프록시 API 사양에 설명된 대로 필수 프록시 API를 구현해야 합니다. 이러한 프록시 API 요청은 프록시로 AWS KMS 보내는 유일한 요청입니다. 이러한 요청을 직접 전송하지는 않지만 이에 대해 알면 외부 키 스토어 또는 해당 프록시에서 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다. 예를 들어 외부 키 스토어에 대한 Amazon CloudWatch 지표에 이러한 API 호출의 지연 시간 및 성공률에 대한 정보를 AWS KMS 포함합니다. 자세한 내용은 외부 키 스토어 모니터링단원을 참조하세요.

다음 표에는 각 프록시 API와 그에 대한 설명이 나와 있습니다. 또한 프록시 API 호출을 트리거하는 AWS KMS 작업과 프록시 API와 관련된 모든 AWS KMS 작업 예외도 포함됩니다.

프록시 API 설명 관련 AWS KMS 작업
Decrypt AWS KMS 해독할 암호문과 사용할 외부 키의 ID를 전송합니다. 필수 암호화 알고리즘은 AES_GCM입니다. 복호화, ReEncrypt
암호화 AWS KMS 암호화할 데이터와 사용할 외부 키의 ID를 전송합니다. 필수 암호화 알고리즘은 AES_GCM입니다. 암호화, GenerateDataKey, GenerateDataKeyWithoutPlaintextReEncrypt
GetHealthStatus AWS KMS 프록시 및 외부 키 관리자의 상태에 대한 정보를 요청합니다.

각 외부 키 관리자의 상태는 다음 중 하나일 수 있습니다.

  • Active: 정상, 트래픽 처리 가능

  • Degraded: 비정상이지만 트래픽 처리 가능

  • Unavailable: 비정상이고 트래픽 처리 불가능

CreateCustomKeyStore(퍼블릭 엔드포인트 연결용), ConnectCustomKeyStore(VPC 엔드포인트 서비스 연결용)

모든 외부 키 관리자 인스턴스가 Unavailable인 경우 키 스토어를 생성하거나 연결하려는 시도는 XksProxyUriUnreachableException과 함께 실패합니다.

GetKeyMetadata AWS KMS 외부 키 스토어의 KMS 키와 연결된 외부 키에 대한 정보를 요청합니다.

응답에는 키 사양(AES_256), 키 사용([ENCRYPT, DECRYPT]) 및 외부 키가 ENABLED인지 아니면 DISABLED인지가 포함됩니다.

CreateKey

키 사양이 AES_256이 아니거나, 키 사용이 [ENCRYPT, DECRYPT]가 아니거나, 상태가 DISABLED인 경우 XksKeyInvalidConfigurationException과 함께 CreateKey 작업이 실패합니다.

이중 암호화

외부 키 스토어의 KMS 키로 암호화된 데이터는 두 번 암호화됩니다. 먼저, KMS AWS KMS 키와 관련된 키 자료를 사용하여 데이터를 AWS KMS 암호화합니다. 그런 다음 AWS KMS로 암호화된 사이퍼텍스트가 외부 키를 사용하여 외부 키 관리자에 의해 암호화됩니다. 이 프로세스를 이중 암호화라고 합니다.

이중 암호화를 사용하면 외부 키 스토어의 KMS 키로 암호화된 데이터가 표준 KMS 키로 암호화된 사이퍼텍스트 이상으로 강력해집니다. 또한 외부 키 스토어 프록시로 전송되는 일반 텍스트를 보호합니다. AWS KMS 이중 암호화를 사용하면 사이퍼텍스트를 완벽하게 제어할 수 있습니다. 외부 프록시를 통해 외부 키에 대한 AWS 액세스를 영구적으로 취소하면 AWS 에 남아 있는 사이퍼텍스트가 효과적으로 암호 파쇄됩니다.

외부 키 스토어의 KMS 키로 보호되는 데이터의 이중 암호화

이중 암호화를 활성화하기 위해 외부 키 스토어의 각 KMS 키에는 두 개의 암호화 백업 키가 있습니다.

이중 암호화는 다음과 같은 효과가 있습니다.

  • AWS KMS 외부 키 스토어 프록시를 통해 외부 키에 액세스하지 않으면 외부 키 스토어의 KMS 키로 암호화된 암호문을 해독할 수 없습니다.

  • 외부 키 저장소에 있는 KMS 키로 암호화된 암호문은 외부 키 자료가 있더라도 해독할 수 없습니다. AWS

  • 외부 키 구성 요소가 있더라도 외부 키 스토어에서 삭제된 KMS 키를 다시 생성할 수 없습니다. 각 KMS 키에는 대칭 사이퍼텍스트에 포함된 고유한 메타데이터가 있습니다. 새 KMS 키는 동일한 외부 키 구성 요소를 사용하더라도 원래 키로 암호화된 사이퍼텍스트를 복호화할 수 없습니다.

실제 이중 암호화의 예는 외부 키 스토어 작동 방식 섹션을 참조하세요.

외부 키 스토어 작동 방식

외부 키 스토어, 외부 키 스토어 프록시외부 키 관리자가 함께 작동하여 AWS 리소스를 보호합니다. 다음 절차는 KMS 키로 보호되는 고유한 데이터 키로 각 객체를 암호화하는 일반적인 AWS 서비스 의 암호화 워크플로를 보여줍니다. 이 경우 객체를 보호하기 위해 외부 키 스토어에서 KMS 키를 선택했습니다. 이 AWS KMS 예제에서는 이중 암호화를 사용하여 전송 중인 데이터 키를 보호하고 외부 키 스토어의 KMS 키로 생성된 암호문이 항상 키 자료가 포함된 표준 대칭 KMS 키로 암호화된 암호문만큼 강력하도록 하는 방법을 보여줍니다. AWS KMS

와 통합되는 실제 암호화마다 사용하는 암호화 방법이 다릅니다. AWS 서비스 AWS KMS 자세한 내용은 AWS 서비스 설명서의 보안 장에 있는 '데이터 보호' 주제를 참조하세요.

외부 키 스토어 작동 방식
  1. AWS 서비스 리소스에 새 객체를 추가합니다. 객체를 암호화하기 위해 는 외부 키 스토어에 있는 KMS 키를 AWS KMS 사용하도록 GenerateDataKey요청을 AWS 서비스 보냅니다.

  2. AWS KMS 256비트 대칭 데이터 키를 생성하고 외부 키 스토어 프록시를 통해 일반 텍스트 데이터 키의 사본을 외부 키 관리자에게 전송할 준비를 합니다. AWS KMS 외부 키 스토어의 KMS 키와 관련된 키 자료를 사용하여 일반 텍스트 데이터 키를 암호화하여 이중 암호화 프로세스를 시작합니다.AWS KMS

  3. AWS KMS 외부 키 스토어와 연결된 외부 키 스토어 프록시에 암호화 요청을 보냅니다. 요청에는 암호화할 데이터 키 암호문과 KMS 키와 연결된 외부 키의 ID가 포함됩니다. AWS KMS 외부 키 스토어 프록시의 프록시 인증 자격 증명을 사용하여 요청에 서명합니다.

    데이터 키의 일반 텍스트 사본은 외부 키 스토어 프록시로 전송되지 않습니다.

  4. 외부 키 스토어 프록시는 요청을 인증한 다음 암호화 요청을 외부 키 관리자에게 전달합니다.

    일부 외부 키 스토어 프록시는 선택한 보안 주체만 특정 조건에서 작업을 수행할 수 있도록 허용하는 선택적 권한 부여 정책도 구현합니다.

  5. 외부 키 관리자는 지정된 외부 키를 사용하여 데이터 키 사이퍼텍스트를 암호화합니다. 외부 키 관리자는 이중 암호화된 데이터 키를 외부 키 스토어 프록시로 반환하고, 외부 키 스토어 프록시는 이를 AWS KMS로 반환합니다.

  6. AWS KMS 일반 텍스트 데이터 키와 해당 데이터 키의 이중 암호화된 사본을 에 반환합니다. AWS 서비스

  7. 는 일반 텍스트 데이터 키를 AWS 서비스 사용하여 리소스 객체를 암호화하고, 일반 텍스트 데이터 키를 삭제하고, 암호화된 데이터 키를 암호화된 객체와 함께 저장합니다.

    AWS 서비스 일부는 일반 텍스트 데이터 키를 캐시하여 여러 객체에 사용하거나 리소스 사용 중에 재사용할 수 있습니다. 자세한 내용은 사용할 수 없는 KMS 키가 데이터 키에 미치는 영향단원을 참조하세요.

암호화된 객체를 해독하려면 복호화 요청으로 암호화된 데이터 키를 다시 AWS 서비스 보내야 합니다. AWS KMS 암호화된 데이터 키를 해독하려면 외부 키의 ID를 사용하여 암호화된 데이터 키를 외부 키 저장소 프록시로 다시 AWS KMS 보내야 합니다. 어떤 이유로든 외부 키 저장소 프록시에 대한 암호 해독 요청이 실패하는 경우 암호화된 데이터 키를 AWS KMS 해독할 수 없으며 암호화된 객체를 해독할 수 없습니다. AWS 서비스