AWS Key Management Service 기능

개요

AWS Key Management Service(KMS)를 사용하면 데이터 보호에 사용되는 암호화 키를 제어할 수 있습니다. AWS KMS를 사용하면 키의 수명 주기와 권한을 중앙 집중식으로 제어할 수 있습니다. 원할 때 언제든지 새 키를 생성할 수 있으며, 키를 관리할 수 있는 사람과 키를 사용할 수 있는 사람을 별도로 제어할 수 있습니다. 이 서비스는 다른 AWS 서비스와 통합되므로 이러한 서비스에 저장한 데이터를 쉽게 암호화하고 이를 복호화하는 키에 대한 액세스를 제어할 수 있습니다. 또한 AWS KMS를 AWS CloudTrail과 통합하면 누가 어느 리소스에서 언제 키를 사용했는지에 대한 감사를 수행하는 데 도움이 됩니다. AWS KMS는 직접 또는 AWS SDK를 사용하여 애플리케이션 코드에 암호화 또는 디지털 서명 기능을 더 쉽게 추가하는 데 도움이 됩니다. AWS Encryption SDK는 애플리케이션 내에서 데이터를 로컬로 암호화 및 복호화해야 하는 개발자를 위해 키 공급자로 AWS KMS를 지원합니다.

Page Topics

주요 기능

주요 기능

AWS 계정에 AWS CloudTrail을 활성화한 경우 AWS KMS에 대한 각 요청이 로그 파일에 기록됩니다. 이 로그 파일은 AWS CloudTrail을 사용하도록 설정할 때 지정한 Amazon Simple Storage Service(S3) 버킷으로 전달됩니다. 사용자, 시간, 날짜, API 작업 및 사용된 키(관련이 있는 경우)에 대한 세부 정보 등의 정보가 기록됩니다.

AWS KMS는 완전관리형 서비스입니다. 암호화 사용이 증가하면 사용자의 필요에 맞게 자동으로 서비스가 확장됩니다. 계정에 있는 수만 개의 KMS 키를 관리하고 언제든지 사용하는 데 도움이 됩니다. 키 개수와 요청 빈도에 대한 기본 한도를 정의하지만 필요한 경우 한도 상향을 요청할 수 있습니다.

사용자가 생성한 KMS 키 또는 자동으로 다른 AWS 서비스에서 생성된 키를 서비스에서 내보낼 수는 없습니다. 따라서 AWS KMS가 키의 내구성을 책임지게 됩니다. 키와 데이터의 고가용성을 확보할 수 있도록, AWS KMS는 내구성 99.999999999%에 맞게 설계된 시스템에 키의 암호화된 버전의 여러 사본을 저장합니다.

리전 간에 이동하는 암호화된 데이터 또는 디지털 서명 워크플로(재해 복구, 다중 리전 고가용성 아키텍처, DynamoDB 글로벌 테이블 및 전 세계적으로 분산된 일관된 디지털 서명)의 경우 KMS 다중 리전 키를 생성할 수 있습니다. KMS 다중 리전 키는 여러 리전에 복제할 수 있는 동일한 키 구성 요소 및 키 ID와 상호 운용 가능한 키 세트입니다.

AWS KMS는 리전 API 엔드포인트에서 가용성이 높은 서비스를 제공하도록 설계되었습니다. AWS KMS는 대부분의 AWS 서비스에서 암호화 및 복호화에 사용되기 때문에 높은 수준의 가용성을 제공하도록 설계되었습니다. 이 가용성은 나머지 AWS를 지원하며 AWS KMS 서비스 수준 계약으로 보장됩니다.

AWS KMS는 AWS 직원을 비롯하여 누구도 서비스에서 평문 키를 검색하지 못하도록 설계되었습니다. 이 서비스는 키의 기밀성과 무결성을 보호하기 위해 미국 국립 표준 기술 연구소(NIST) 연방 정보 처리 표준(FIPS) 140-2 암호화 모듈 검증 프로그램에 의해 지속적으로 검증되는 하드웨어 보안 모듈(HSM)을 사용합니다. AWS KMS HSM은 KMS 키를 보호하기 위한 신뢰할 수 있는 암호화 루트입니다. KMS에서 발생하는 모든 암호화 작업을 위한 안전한 하드웨어 보호 경계를 만듭니다. AWS KMS HSM에서 생성된 KMS 키의 모든 키 구성 요소 및 해독된 KMS 키 구성 요소를 필요로 하는 모든 작업은 해당 HSM의 FIPS 140-2 보안 수준 3 내에서 엄격하게 수행됩니다. AWS KMS HSM 펌웨어 업데이트는 Amazon 내 독립적인 그룹에 의해 감사 및 검토되는 다자간 액세스 제어를 통해 제어됩니다. FIPS 140 요구 사항에 따라 KMS HSM의 모든 펌웨어 변경 사항은 FIPS 140-2 보안 수준 3에 따른 검증을 위해 NIST 공인 연구소에 제출됩니다.

평문 키가 디스크에 작성되는 일은 없으며, 요청한 암호화 작업을 수행하는 데 필요할 때만 HSM 휘발성 메모리에서 사용됩니다. 이는 사용자를 대신하여 키를 생성하거나, 서비스로 키를 가져오거나, 사용자 지정 키 스토어 기능을 사용하여 AWS CloudHSM 클러스터에서 키를 생성하도록 AWS KMS에 요청하는지에 관계없이 적용됩니다. 단일 리전 키를 생성할지 또는 다중 리전 키를 생성할지 선택합니다. 단일 리전 키는 해당 키가 생성된 AWS 리전 밖으로 전송되지 않으며 해당 키가 생성된 리전에서만 사용할 수 있습니다.
 

AWS KMS가 설계된 방식과 키 보호를 위해 AWS KMS에서 사용하는 암호화에 대한 자세한 내용은 AWS KMS 암호화 세부 정보 백서를 참조하세요.

* Beijing Sinnet Technology Co., Ltd.("Sinnet") Sinnet에서 운영하는 AWS 중국(베이징) 리전과 Ningxia Western Cloud Data Technology Co., Ltd.("NWCD") NWCD에서 운영하는 AWS 중국(닝샤) 리전에서, HSM은 중국 정부의 승인(FIPS 140-2 인증 아님)을 받았으며, 위에 언급한 암호화 세부 정보 백서는 적용되지 않습니다. 

AWS KMS는 비대칭 KMS 키 및 데이터 키 페어를 생성하고 사용하는 데 도움이 됩니다. 서명 키 페어, 암호화 키 페어 또는 키 계약 키 페어로 사용할 KMS 키를 지정할 수 있습니다. 해당 KMS 키를 사용한 키 페어 생성 및 비대칭 암호 작업은 HSM 내에서 수행됩니다. 로컬 애플리케이션에서 사용하기 위해 비대칭 KMS 키의 퍼블릭 부분을 요청할 수는 있지만 프라이빗 부분은 서비스에서 벗어나지 않습니다. 자체 키 관리 인프라에서 비대칭 키의 비공개 부분을 가져올 수 있습니다.

또한 비대칭 데이터 키 페어를 생성하기 위한 서비스를 요청할 수 있습니다. 해당 작업에서는 퍼블릭 키, 프라이빗 키의 일반 텍스트 사본 및 사용자가 지정한 대칭 KMS 키로 암호화된 프라이빗 키의 사본을 반환합니다. 사용자의 현지 애플리케이션에서 일반 텍스트 퍼블릭 또는 프라이빗 키를 사용하거나 추후 사용을 위해 프라이빗 키의 암호화된 사본을 저장할 수 있습니다.

* 비대칭 키는 사용자 지정 키 스토어 옵션에서 지원되지 않습니다.

AWS KMS의 FIPS 140-2 검증 HSM 안에서 해시 기반 메시지 인증 코드(HMAC)를 생성하고 확인할 수 있습니다. HMAC는 암호화 구축 블록으로, 보안 정보 키 구성 요소와 해시 함수를 통합하여 고유한 키가 지정된 메시지 인증 코드를 생성할 수 있습니다. HMAC KMS 키는 키 구성 요소가 완전히 AWS KMS 안에서 생성 및 사용되기 때문에 애플리케이션 소프트웨어의 HMAC보다 낫습니다. 또한 사용자가 키에 설정한 액세스 제어가 적용됩니다. AWS KMS에 사용되는 HMAC KMS 키 및 HMAC 알고리즘은 RFC 2104에 정의된 산업 표준을 준수합니다. HMAC KMS 키는 FIPS 140-2 Cryptographic Module Validation Program에 따라 인증되는 AWS KMS 하드웨어 보안 모듈에서 생성되고 암호화되지 않은 상태로는 AWS KMS 외부로 나가지 않습니다. 자체 키 관리 인프라에서 자체 HMAC 키를 가져올 수도 있습니다.

*AWS KMS HMAC 키는 사용자 지정 키 스토어에서 지원되지 않습니다.
** FIPS 140-2는 Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전의 AWS KMS에는 적용되지 않습니다. 대신, 중국 리전의 HSM은 중국 정부에서 사용을 승인했습니다.

AWS KMS의 보안 및 품질 제어는 다음 규정 준수 체제에서 검증 및 인증을 받았습니다.

  • AWS System and Organization Controls(SOC) 보고서(SOC 1, SOC 2, SOC 3) AWS Artifact에서 보고서 사본을 다운로드할 수 있습니다.
  • Cloud Computing Compliance Controls Catalog(C5). 독일 정부가 지원하는 인증 제도 C5에 대해 자세히 알아보세요.
  • Payment Card Industry Data Security Standard(PCI DSS) 수준 1. AWS의 PCI DSS FAQ에서 PCI DSS 준수 서비스에 대해 자세히 알아보세요.
  • 연방 정보 처리 표준(FIPS) 140-2. AWS KMS 암호화 모듈은 미국 국립 표준 기술 연구소(NIST)의 FIPS 140-2 보안 수준 3으로 검증되었습니다. AWS KMS HSM에 대한 FIPS 140-2 인증서와 관련 보안 정책을 확인하여 자세히 알아보세요.
  • 연방 정부 위험 및 인증 관리 프로그램(FedRAMP). FedRAMP 규정 준수에서 AWS FedRAMP 규정 준수에 대해 자세히 알아보세요.
  • 조직에 도움이 될 수 있습니다. HIPAA 규정 준수 웹 페이지에서 자세히 알아보세요.

AWS KMS는 여기에 나열된 기타 규정 준수 체제에 대해 검증되고 인증되었습니다.

* FIPS 140-2는 Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전의 AWS KMS에는 적용되지 않습니다. 대신, 중국 리전의 HSM은 중국 정부에서 사용을 승인했습니다.

사용자 지정 키 스토어는 AWS KMS의 편리하고 포괄적인 키 관리 인터페이스를 사용하면서 키 구성 요소 및 암호화 작업이 발생하는 디바이스를 소유하고 제어할 수 있다는 이점을 제공합니다. 따라서 암호화 키의 가용성 및 내구성과 HSM의 운영에 대한 책임을 사용자가 더 많이 지게 됩니다. AWS KMS는 2가지 유형의 사용자 지정 키 스토어를 제공합니다.

CloudHSM 지원 키 스토어

AWS CloudHSM 사용자 지정 키 저장소에서 KMS 키를 생성할 수 있습니다. 모든 키는 사용자가 소유하고 관리하는 AWS CloudHSM 클러스터에 생성되고 저장됩니다. 사용자 지정 키 저장소의 KMS 키를 사용하는 경우 해당 키를 사용한 암호화 작업은 AWS CloudHSM 클러스터에서만 수행됩니다.

사용자 지정 키 저장소를 사용하면 AWS CloudHSM 클러스터에 대한 비용이 추가되며 해당 클러스터에 있는 키 구성 요소의 가용성에 대한 책임은 사용자에게 있습니다. 사용자 지정 키 저장소가 사용자 요구 사항에 적합한지에 대한 지침은 이 블로그를 참조하세요.

외부 키 스토어

규제 요구 사항에 따라 온프레미스에 또는 AWS 클라우드 외부에서 암호화 키를 저장하거나 사용해야 하는 경우 AWS KMS 외부 키 스토어(XKS)에 KMS 키를 생성할 수 있습니다. 이 경우 모든 키는 AWS 외부에서 사용자가 소유하고 관리하는 외부 키 관리자에 생성되고 저장됩니다. XKS를 사용하면 키 구성 요소가 사용자의 HSM을 떠나지 않습니다.

외부 키 저장소를 사용하는 경우 표준 KMS 키 또는 CloudHSM 사용자 지정 키 저장소의 키와 달리 외부 키의 키 구성 요소 및 암호화 작업에 대한 내구성, 가용성, 지연 시간, 성능, 보안에 대한 책임은 사용자에게 있습니다. KMS 작업의 성능 및 가용성은 사용하는 XKS 인프라의 하드웨어, 소프트웨어 또는 네트워킹 구성 요소의 영향을 받을 수 있습니다. XKS에 대해 자세히 알아보려면 이 AWS 뉴스 블로그를 읽어보세요.

*Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전에서는 사용자 지정 키 저장소를 사용할 수 없습니다.
**비대칭 KMS 키에는 사용자 지정 키 스토어를 사용할 수 없습니다.
*** CodeArtifact는 XKS의 KMS 키를 지원하지 않습니다.

AWS KMS를 클라이언트측 암호화 라이브러리와 함께 사용하여 AWS 또는 하이브리드 및 멀티클라우드 환경의 애플리케이션 안에서 직접 데이터를 보호할 수 있습니다. AWS 서비스 또는 원하는 다른 스토리지 미디어 및 서드 파티 서비스에 저장하기 전에 이 라이브러리를 사용하여 데이터를 암호화할 수 있습니다. 이 라이브러리는 업계 표준 및 모범 사례를 사용하여 데이터를 암호화하고 해독할 수 있도록 설계되었습니다. 암호화 라이브러리를 사용하면 데이터를 암호화하고 해독하는 방법보다 애플리케이션의 핵심 기능에 집중할 수 있습니다.

  • AWS Encryption SDK는 모든 유형의 데이터에 암호화 및 복호화 작업을 구현하기 위한 범용 암호화 라이브러리입니다.
  • AWS Database Encryption SDK는 데이터베이스에 저장된 민감한 데이터를 보호하고 암호화된 데이터의 검색 및 쿼리와 관련된 추가 기능을 제공하는 암호화 라이브러리입니다.
  • Amazon S3 Encryption Client는 S3 버킷에 저장된 객체를 암호화하고 복호화하기 위한 암호화 라이브러리입니다.

자세히 알아보려면 AWS Crypto Tools 설명서를 참조하세요.

AWS 서비스 통합

AWS KMS는 AWS 서비스와 통합되므로 AWS KMS 키를 사용하여 저장 데이터를 암호화하거나 서명 및 확인 프로세스를 간소화할 수 있습니다. 통합된 AWS 서비스는 봉투 암호화를 사용하여 저장 데이터를 보호합니다. 봉투 암호화에서 데이터는 데이터 키를 사용하여 암호화되고 데이터 키는 AWS KMS에 저장된 KMS 키 아래에 자체 암호화됩니다. 서명 및 확인에 있어서 통합된 AWS 서비스는 AWS KMS의 비대칭 RSA 또는 ECC KMS 키를 사용합니다. 통합된 서비스에서 AWS KMS를 사용하는 방법에 대한 자세한 내용은 사용하는 AWS 서비스의 설명서를 참조하세요.

Alexa for Business[1]

Amazon Forecast

Amazon QLDB

AWS CodeBuild

Amazon AppFlow

Amazon Fraud Detector

Amazon Redshift

AWS CodeCommit[1]

Amazon Athena

Amazon FSx

Amazon Rekognition

AWS CodePipeline

Amazon Aurora

Amazon GuardDuty

Amazon Relational Database Service(RDS)

AWS Control Tower

Amazon Bedrock 미세 조정

Amazon HealthLake

Amazon Route 53

AWS Data Exchange

Amazon Bedrock 모델 복사

Amazon Inspector

Amazon Simple Storage Service(Amazon S3)[3]

AWS Database Migration Service

Amazon Chime SDK

Amazon Kendra

Amazon SageMaker

AWS DeepRacer

Amazon CloudWatch Logs

Amazon Keyspaces for Apache Cassandra

Amazon Simple Email Service(SES)

AWS Elastic Disaster Recovery

Amazon CloudWatch Synthetics

Amazon Kinesis Data Streams

Amazon Simple Notification Service(SNS)

AWS Elemental MediaTailor

Amazon CodeGuru

Amazon Kinesis Firehose

Amazon Simple Queue Service(SQS)

AWS Entity Resolution

Amazon CodeWhisperer

Amazon Kinesis Video Streams

Amazon Textract

AWS GameLift

Amazon Comprehend

Amazon Lex

Amazon Timestream

AWS Glue

Amazon Connect

Amazon Lightsail[1]

Amazon Transcribe

AWS Glue DataBrew

Amazon Connect Customer Profiles

Amazon Location Service

Amazon Translate

AWS Ground Station

Amazon Connect Voice ID

Amazon Lookout for Equipment

Amazon WorkMail

AWS IoT SiteWise

Amazon Connect Wisdom

Amazon Lookout for Metrics

Amazon WorkSpaces

AWS Lambda

Amazon DocumentDB

Amazon Lookout for Vision

Amazon WorkSpaces 씬 클라이언트

AWS License Manager

Amazon DynamoDB

Amazon Macie

Amazon WorkSpaces Secure Browser

AWS Mainframe Modernization

Amazon DynamoDB Accelerator(DAX) [1]

Amazon Managed Blockchain

AWS AppConfig

AWS Network Firewall

Amazon EBS

Amazon Managed Service for
Prometheus

AWS AppFabric

AWS Proton

Amazon EC2 Image Builder

Amazon Managed Streaming for Kafka(MSK)

AWS Application Cost Profiler

AWS Secrets Manager

Amazon EFS

Amazon Managed Workflows for Apache Airflow(MWAA)

AWS Application Migration Service

AWS Snowball 

Amazon Elastic Container Registry(ECR)

Amazon MemoryDB

AWS App Runner

AWS Snowball Edge

Amazon Elastic Kubernetes Service(EKS)

Amazon Monitron

AWS Audit Manager

AWS Snowcone

Amazon Elastic Transcoder

Amazon MQ

AWS Backup

AWS Storage Gateway

Amazon ElastiCache

Amazon Neptune

AWS Certificate Manager[1]

AWS Systems Manager

Amazon EMR

Amazon Nimble Studio

AWS Cloud9[1]

AWS Supply Chain

Amazon EMR Serverless

Amazon OpenSearch

AWS CloudHSM[2]

AWS Verified Access

Amazon EventBridge 스케줄러

Amazon Omics

AWS CloudTrail

AWS X-Ray

Amazon FinSpace

Amazon Personalize

AWS CodeArtifact

 

[1] AWS 관리형 키만 지원합니다.

[2] AWS KMS는 AWS CloudHSM 클러스터에 의해 백업된 사용자 지정 키 스토어를 지원합니다.

[3] Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전에서 AWS KMS와 통합되는 서비스 목록은 중국의 AWS KMS 서비스 통합 페이지를 참조하세요.

위에 나열되지 않은 AWS 서비스는 개별 서비스에서 보유하고 관리하는 키를 사용하여 고객 데이터를 암호화합니다.