AWS Key Management Service 사용해 보기

AWS Certificate
또는 콘솔에 로그인하기

Amazon Web Services 무료 계정을 만들면 12개월 동안 제품과 서비스를 무료로 사용할 수 있습니다.

AWS 프리 티어 세부 정보 보기 »


AWS KMS는 데이터를 손쉽게 암호화할 수 있게 하는 관리형 암호화 서비스입니다. AWS KMS는 고가용성 키 스토리지, 관리 및 감사 솔루션을 제공하므로, 이를 통해 AWS 서비스와 자체 애플리케이션 내 데이터를 암호화할 수 있습니다.

애플리케이션에서 데이터를 암호화해야 하는 개발자의 경우 AWS KMS 지원과 함께 AWS SDK를 사용하면 암호화 키를 보호하고 손쉽게 사용할 수 있습니다. 개발자 및 증가하는 애플리케이션을 지원하기 위해 확장 가능한 키 관리 인프라를 찾고 있는 IT 관리자의 경우 AWS KMS를 사용하면 라이선스 비용과 운영 부담을 줄일 수 있습니다. 규제나 규정 준수를 목적으로 데이터 보안 제공을 담당하는 경우 AWS KMS를 사용하면 데이터를 사용 및 저장하는 애플리케이션에서 일관되게 데이터가 암호화되는지 확인할 수 있습니다.

AWS KMS를 가장 쉽게 시작하는 방법은 지원되는 AWS 서비스 내 데이터를 암호화하도록 확인란을 선택하고 각 서비스에서 계정에 생성된 기본 키를 사용하는 것입니다. 키 관리 제어를 더욱 강화하려면 AWS KMS에 키를 만들고 암호화된 리소스를 만들 때뿐만 아니라 자체 애플리케이션에서 직접 사용할 때에도 지원되는 AWS 서비스에서 사용되도록 키를 지정할 수 있습니다. AWS Identity and Access Management(IAM) 콘솔의 '암호화 키' 섹션을 통해 AWS KMS에 웹 기반으로 액세스하고 AWS KMS 명령줄 인터페이스나 AWS SDK를 통해서는 프로그래밍 방식으로 액세스할 수 있습니다. 자세히 알아보려면 시작하기 페이지를 방문하십시오.

전 세계 리전별 제품 및 서비스 페이지에 가용성이 표시되어 있습니다.

AWS KMS에서 수행할 수 있는 키 관리 기능은 다음과 같습니다.

  • 고유 별칭 및 설명과 함께 키 생성
  • 자체 키 가져오기
  • 키를 관리할 수 있는 IAM 사용자 및 역할 정의
  • 키를 사용하여 데이터를 암호화하고 복호화할 수 있는 IAM 사용자 및 역할 정의
  • AWS KMS가 매년 키를 자동으로 교체하도록 선택
  • 아무도 사용할 수 없도록 일시적으로 키 비활성화
  • 비활성화된 키 다시 활성화
  • 더 이상 사용하지 않는 키 삭제
  • AWS CloudTrail의 로그를 검사하여 키 사용 감사

AWS KMS를 사용하면 키를 중앙 집중식으로 관리하고 안전하게 저장할 수 있습니다. KMS에서 키를 생성하거나 자체 키 관리 인프라에서 가져올 수 있습니다. 애플리케이션과 지원되는 AWS 서비스 내에서 이 키를 사용하여 데이터를 보호할 수 있지만, 키는 KMS AWS를 벗어나지 않습니다. AWS KMS로 데이터를 제출하여 관리자가 제어하는 키로 암호화하거나 복호화할 수 있습니다. 키를 사용하여 데이터를 암호화하고 복호화할 수 있는 사용자를 결정하는 사용 정책을 키에 설정합니다. 모든 키 사용 요청이 AWS CloudTrail에 로그되어 어떤 사용자가 어떤 키를 언제 사용했는지 파악할 수 있습니다.

AWS KMS를 사용하면 자체 애플리케이션에 로컬로 데이터를 암호화하거나 지원되는 AWS 서비스 내에서 데이터를 암호화하도록 할 수 있습니다. AWS KMS를 지원하는 AWS SDK를 사용하여 애플리케이션이 실행되는 어느 곳에서나 암호화를 수행할 수 있습니다. 또한, 데이터가 저장될 때 지원되는 AWS 서비스가 이를 암호화하도록 요청할 수 있습니다. AWS CloudTrail은 액세스 로그를 제공하여 키가 어느 상황에서 어떻게 사용되었는지 감사할 수 있도록 지원합니다.

AWS Key Management Service는 여러 다른 AWS 서비스와 원활하게 통합되어, 상자에 체크하고 사용하려는 마스터 키를 선택하는 것만큼이나 간편하게 이 서비스의 데이터를 암호화합니다. 현재 KMS에 통합된 AWS 서비스 목록은 제품 세부 정보 페이지를 참조하십시오. 통합된 서비스 안에서 사용할 수 있는 모든 키가 AWS CloudTrail 로그에 나타납니다. 통합된 서비스가 AWS KMS를 사용하는 방법에 대한 더 자세한 내용은 AWS KMS Developer’s Guide를 참조하십시오.

AWS KMS와 통합된 AWS 클라우드 서비스는 봉투 암호화라는 방법을 사용하여 데이터를 보호합니다. 봉투 암호화는 두 가지 다른 키를 사용하는 데이터 암호화에 최적화된 방법입니다. AWS 서비스에서 생성하고 사용하는 데이터 키가 각 데이터 부분이나 리소스를 암호화합니다. 데이터 키는 AWS KMS에 정의한 마스터 키로 암호화됩니다. 그런 다음 AWS 서비스가 암호화된 데이터 키를 저장합니다. AWS 서비스에서 데이터를 복호화해야 하는 경우에는 암호화된 데이터 키가 AWS KMS로 전달되고 원래 데이터 키를 암호화할 때 사용한 마스터 키를 통해 복호화되면, 서비스에서 데이터를 복호화할 수 있습니다.

AWS KMS는 4KB 이하의 데이터를 전송하여 암호화되도록 지원하는 반면 봉투 암호화는 상당한 성능 이점을 제공합니다. KMS로 데이터를 직접 암호화할 때에는 네트워크를 통해 전송해야 합니다. 봉투 암호화는 애플리케이션이나 AWS 클라우드 서비스의 네트워크 로드를 줄입니다. KMS를 통해 데이터 키 요청과 이행만 네트워크를 통해 이동합니다. 데이터 키는 항상 암호화된 형태로 저장되므로 키가 공개될 것을 걱정하지 않고 쉽고 안전하게 필요한 곳으로 키를 배포할 수 있습니다. 암호화된 데이터 키는 AWS KMS로 전송되고 마스터 키로 복호화되어 궁극적으로 데이터를 복호화할 수 있도록 지원합니다. 데이터 키는 애플리케이션에서 직접 사용할 수 있으므로 전체 데이터 블록을 AWS KMS에 보내어 네트워크를 지연시키는 일이 발생하지 않습니다.

AWS 서비스에서 자동으로 데이터를 암호화하도록 할 때 사용할 특정 마스터 키를 선택할 수 있습니다. 각 서비스에 대한 기본 마스터 키는 편의를 위해 암호화된 리소스를 처음 생성할 때 계정에 생성됩니다. 이 키는 AWS KMS에서 관리하며 AWS CloudTrail에서 항상 키 사용에 대한 감사를 수행할 수 있습니다. 또는 AWS KMS에 고객 마스터 키를 생성하여 자체 애플리케이션이나 지원되는 AWS 서비스 내에서 사용할 수 있습니다. AWS는 필요한 대로 기본 마스터 키에 대한 정책을 업데이트하여 지원되는 서비스에서 자동으로 새 기능을 활성화할 수 있습니다. AWS는 관리자가 생성한 키의 정책은 수정하지 않습니다.

AWS KMS에 키를 생성하면 기본 서비스 마스터 키 사용에 비해 제어를 강화할 수 있습니다. 고객 마스터 키를 생성할 때, KMS가 사용자를 위해 생성한 키 구성 요소를 사용하거나 자체 키 구성 요소를 가져오도록 선택하고, 별칭과 설명을 정의하며, 일 년에 한 번 자동으로 키가 교체되도록 옵트인할 수 있습니다(KMS에서 생성한 키 구성 요소에서 지원하는 경우). 또한, 키에 권한을 정의하여 키를 사용하고 관리할 사용자를 제어할 수 있습니다. 키와 관련된 관리와 사용 활동이 AWS CloudTrail에 로그되어 감사에 사용할 수 있습니다.

예. 자체 키 관리 인프라의 키 사본을 KMS로 가져와서 다른 통합 AWS 서비스에서 사용하거나 자체 애플리케이션 내에서만 사용할 수 있습니다.

가져온 키를 사용하여 KMS에 있는 키의 생성, 수명 주기 관리 및 내구성에 대한 제어를 강화할 수 있습니다. 가져온 키는 규정 준수 요구 사항을 충족하는 데 도움이 되도록 설계되었습니다. 이 요구 사항에는 인프라에서 안전한 키 사본을 생성 또는 유지 관리하는 기능과 키가 더 이상 필요 없다면 언제든 AWS 인프라에서 가져온 키 사본을 삭제하는 기능이 포함될 수 있습니다.

256비트 대칭 키를 가져올 수 있습니다.

가져오기가 진행되는 동안 키는 두 개의 RSA PKCS#1 스키마 중 하나를 사용하여 KMS 제공 퍼블릭 키로 래핑되어야 합니다. 이렇게 하면 암호화된 키는 KMS에서만 복호화할 수 있습니다.

사용자가 가져온 키와 KMS에서 사용자를 위해 생성한 키 간에는 두 가지 주요 차이점이 있습니다.
  1. 언제든 키를 다시 가져올 수 있도록 자체 키 관리 인프라에서 가져온 키 사본을 안전하게 유지 관리해야 합니다. AWS에서는 사용자가 키 삭제 일정을 예약할 때까지 사용자를 위해 KMS가 생성한 키의 가용성, 보안 및 내구성을 보장합니다.
  2. 가져온 키에 만료 기간을 설정하여 만료 기간이 지난 후에는 KMS의 키가 자동으로 삭제되도록 할 수 있습니다. 또한, 기본 고객 마스터 키를 삭제하지 않고 언제든 가져온 키를 삭제할 수 있습니다. 그뿐만 아니라 언제든 가져온 키와 함께 고객 마스터 키를 수동으로 비활성화 또는 삭제할 수 있습니다. KMS가 생성한 키는 비활성화하거나 삭제 일정을 예약할 수는 있지만, 만료 기간을 설정할 수는 없습니다.

예. KMS가 사용자를 위해 생성한 키를 KMS에서 매년 자동으로 교체하도록 선택할 수 있습니다. 가져온 키에 대해서는 자동 키 교체가 지원되지 않습니다. KMS로 키를 가져오기로 선택한 경우 원할 때 언제든 수동으로 키를 교체할 수 있습니다.

KMS가 사용자를 위해 생성한 키를 KMS에서 자동으로 교체하도록 선택한 경우 데이터를 다시 암호화할 필요가 없습니다. AWS KMS는 키의 이전 버전을 보관하여 이전 버전의 키로 암호화된 데이터의 복호화에 사용합니다. AWS KMS의 키에 대한 모든 새 암호화 요청은 최신 버전의 키로 암호화됩니다.

키를 수동으로 교체하는 경우 애플리케이션의 구성에 따라 데이터를 다시 암호화해야 할 수도 있습니다.  

예. KMS에 생성한 고객 마스터 키 및 연결된 메타데이터의 삭제 일정을 예약할 수 있습니다. 설정 가능한 대기 기간은 7일에서 30일까지입니다. 이 대기 기간 동안 키를 삭제했을 때 애플리케이션 및 이 키에 의존하는 사용자에게 미치는 영향을 확인할 수 있습니다. 기본 대기 기간은 30일입니다. 대기 기간 동안 삭제를 취소할 수 있습니다. 삭제가 예정된 키는 대기 기간 동안 삭제를 취소할 때까지 사용할 수 없습니다. 삭제를 취소하지 않은 키는 설정한 대기 기간이 끝나면 삭제됩니다. 한 번 삭제된 키는 더 이상 사용할 수 없습니다. 삭제된 마스터 키로 보호된 모든 데이터에 접근할 수 없습니다.

가져온 키 구성 요소가 연결된 고객 마스터 키의 경우, 두 가지 방법으로 고객 마스터 키 ID 또는 메타데이터를 삭제하지 않고 키 구성 요소를 삭제할 수 있습니다. 첫 번째, 대기 기간 없이 언제든 가져온 키 구성 요소를 삭제할 수 있습니다. 두 번째, 키 구성 요소를 고객 마스터 키로 가져올 때 가져온 키 구성 요소가 삭제되기 전까지 AWS에서 이를 얼마 동안 사용할 수 있는지 만료 시간을 정의할 수 있습니다. 키 구성 요소를 다시 사용해야 하는 경우 이를 고객 마스터 키로 다시 가져올 수 있습니다.

유효한 만료 기간이 적용된 키 구성 요소의 사본을 KMS의 원래 고객 마스터 키로 다시 가져와서 사용할 수 있습니다.

예. 키를 고객 마스터 키로 가져오면, 가져온 키의 만료 시간을 알려주는 Amazon CloudWatch 지표를 몇 분 간격으로 받게 됩니다. 또한, 고객 마스터 키에 연결된 가져온 키가 만료되면 Amazon CloudWatch 이벤트를 받습니다. 가용성 위험을 방지할 수 있도록 이러한 지표 또는 이벤트에 따라 조치를 취하는 로직을 구축하고 새로운 만료 기간이 적용된 키를 자동으로 다시 가져올 수 있습니다. 

예. AWS KMS는 AWS SDK, AWS 암호화 SDK 및 Amazon S3 암호화 클라이언트에서 지원되므로, 자체 애플리케이션이 어디에서 실행되든 데이터 암호화를 지원할 수 있습니다. Java, Ruby, .NET 및 PHP 플랫폼용 AWS SDK가 AWS KMS API를 지원합니다. 자세히 알아보려면 AWS 기반 개발 웹 사이트를 방문하시기 바랍니다.

리전별로 계정당 최대 1,000개의 고객 마스터 키를 생성할 수 있습니다. 활성화 및 비활성화된 고객 마스터 키 수가 제한치에 가까워지면 더 이상 사용하지 않는 비활성화된 키를 삭제할 것을 권장합니다. 지원되는 AWS 서비스 내에서 사용하기 위해 관리자를 대신하여 생성되는 기본 마스터 키는 이 제한 계산에 포함되지 않습니다. 마스터 키를 사용하여 파생되고 애플리케이션에서 또는 AWS 서비스에 의해 관리자를 대신하여 데이터를 암호화하는 데 사용되는 데이터 키의 수에는 제한이 없습니다. AWS Support Center를 방문하여 고객 마스터 키 제한을 늘리도록 요청할 수 있습니다.

AWS KMS는 사용한 양에 대해서만 결제하며 최소 요금이 없습니다. 서비스를 시작하는 데 드는 설치 수수료나 확약금이 없습니다. 월말에 사용자의 신용 카드에서 월 사용액이 자동으로 결제됩니다.

생성하는 모든 고객 마스터 키에 대한 요금과 매달 프리 티어를 초과하여 서비스에 전송된 API 요청에 대한 요금이 부과됩니다.

현재 요금 정보는 AWS KMS 요금 페이지를 참조하십시오.

예. AWS 프리 티어를 사용하면 모든 리전에서 무료로 AWS KMS를 시작할 수 있습니다. 관리자를 대신하여 생성된 기본 마스터 키는 계정에 무료로 저장됩니다. 매월 AWS KMS에 무료로 원하는 만큼 요청할 수 있는 사용량에 대한 프리 티어도 있습니다. 프리 티어를 비롯하여 현재 요금 정보에 대한 자세한 내용은 AWS KMS 요금 페이지를 참조하시기 바랍니다.

별도의 언급이 없는 한, 요금에는 VAT 및 해당 판매세를 비롯한 관련 조세 공과가 포함되지 않습니다. 청구지 주소가 일본으로 되어 있는 고객의 경우 AWS 서비스 사용 시 일본 소비세의 적용을 받게 됩니다. 여기에서 자세히 알아볼 수 있습니다.

AWS KMS는 관리자가 정의한 사용 및 관리 정책을 시행합니다. 관리자 계정 또는 다른 계정의 AWS Identity and Access Management(IAM) 사용자 및 역할이 키를 사용하고 관리하도록 선택할 수 있습니다.

AWS KMS는 아무도 마스터 키에 액세스하지 못하도록 설계되었습니다. 이 서비스는 디스크에 일반 텍스트 마스터 키를 저장하지 않기, 메모리에 남겨 두지 않기, 또는 기기에 연결할 수 있는 시스템 제한하기 등 광범위한 강화 기술로 마스터 키를 보호하도록 설계된 시스템에 구축되어 있습니다. 서비스에서 소프트웨어를 업데이트하기 위해 액세스하려면 Amazon 내 독립적인 그룹에서 감사 및 검토를 수행하는 여러 수준의 승인 프로세스를 거쳐야 합니다.

AWS KMS Cryptographic Details 백서에서 보안 제어에 대한 자세한 내용을 찾을 수 있습니다. 또한, AWS Compliance에서 제공하는 Service Organization Controls(SOC) 보고서 사본을 요청하여 데이터 및 마스터 키 보호를 위해 AWS에서 사용하는 보안 제어에 대해 자세히 알아볼 수 있습니다.

 

예. KMS는 암호화 및 키 관리 요구 사항(주로 PCI DSS 3.1 섹션 3.5 및 3.6을 참조)을 충족하는 기능 및 보안 관리를 제공하는 것으로 검증되었습니다.

AWS 내 PCI DSS 준수 서비스에 대한 세부 정보는 PCI DSS FAQ에서 확인할 수 있습니다.

AWS KMS가 자체 애플리케이션에 사용하기 위해 반환될 수 있는 데이터 키를 생성하도록 요청할 수 있습니다. 데이터 키는 AWS KMS에 정의한 마스터 키를 사용하여 암호화되므로 암호화된 데이터 키를 암호화된 데이터와 함께 안전하게 저장할 수 있습니다. 암호화된 데이터 키(및 소스 데이터)는 해당 데이터 키를 암호화하는 데 사용한 원래 마스터 키를 사용할 권한이 있는 사용자만 복호화할 수 있습니다.

AWS KMS의 마스터 키 길이는 256비트입니다. 데이터 키는 128비트 또는 256비트 길이로 생성되고 정의된 마스터 키를 사용하여 암호화할 수 있습니다. 또한, AWS KMS는 암호화에 사용하기에 적합한 것으로 관리자가 정의한 모든 길이의 임의의 데이터를 생성하는 기능을 제공합니다.

아니요. 마스터 키는 AWS KMS 내에서만 생성 및 사용되어 보안을 보장하며 정책이 일관되게 시행되도록 하고 키 사용에 대한 중앙 집중식 로그를 제공합니다.

키는 키가 생성된 리전에서만 저장되고 사용됩니다. 다른 리전으로 전송할 수 없습니다. 예를 들어, 유럽 중부(프랑크푸르트) 리전에서 생성된 키는 유럽 중부(프랑크푸르트) 리전 내에서만 저장되고 사용됩니다.

AWS CloudTrail의 로그에는 마스터 키에 대한 관리 요청(예: 생성, 교체, 비활성화, 정책 수정) 및 암호화 요청(예: 암호화/복호화)을 비롯한 요청 정보가 표시됩니다. 이러한 로그를 보려면 계정에서 AWS CloudTrail을 활성화하십시오.

AWS CloudHSM은 키를 저장하여 사용하도록 Amazon Virtual Private Cloud(VPC)에서 FIPS 140-2 레벨 3 인증 단일 테넌트 HSM을 제공합니다. AWS CloudHSM으로 키와 키를 사용하는 애플리케이션 소프트웨어를 완전히 제어할 수 있습니다. 또한, AWS CloudHSM을 사용하여 DRM(디지털 권한 관리), PKI(공개 키 인프라), 비대칭 암호화 기능, 문서 서명, VPC 내 고성능 암호화 가속화 등 다양한 사용 사례와 애플리케이션을 지원할 수 있습니다.

AWS KMS를 사용하면 단일 콘솔에서 전 세계 여러 리전의 애플리케이션 및 지원되는 AWS 서비스에서 사용하는 암호화 키를 제어할 수 있습니다. AWS KMS의 모든 키를 중앙에서 관리하여 키를 사용할 수 있는 사용자와 키 교체 시기 및 키를 관리할 수 있는 사용자를 지정하여 시행할 수 있습니다. AWS KMS와 AWS CloudTrail의 통합으로 키 사용에 대한 감사를 수행하여 규제 및 규정 준수 활동을 지원할 수 있습니다.