메인 콘텐츠로 건너뛰기

AWS Key Management Service

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를 지원합니다.

주요 기능

모두 열기

    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-3 암호화 모듈 검증 프로그램에 의해 지속적으로 검증되는 하드웨어 보안 모듈(HSM)을 사용합니다. AWS KMS HSM은 KMS 키를 보호하기 위한 신뢰할 수 있는 암호화 루트입니다. KMS에서 발생하는 모든 암호화 작업을 위한 안전한 하드웨어 보호 경계를 만듭니다. AWS KMS HSM에서 생성된 KMS 키의 모든 키 구성 요소 및 해독된 KMS 키 구성 요소를 필요로 하는 모든 작업은 해당 HSM의 FIPS 140-3 보안 수준 3 내에서 엄격하게 수행됩니다. AWS KMS HSM 펌웨어 업데이트는 Amazon 내 독립적인 그룹에 의해 감사 및 검토되는 다자간 액세스 제어를 통해 제어됩니다. FIPS 140 요구 사항에 따라 KMS HSM의 모든 펌웨어 변경 사항은 FIPS 140-3 보안 수준 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-3 인증 아님)을 받았으며, 위에 언급한 암호화 세부 정보 백서는 적용되지 않습니다. 

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

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

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

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

    *AWS KMS HMAC 키는 사용자 지정 키 스토어에서 지원되지 않습니다.
    ** FIPS 140-3은 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-3. AWS KMS 암호화 모듈은 국립 표준 기술 연구소(NIST)에서 제정한 대칭 암호화 규격입니다. AWS KMS HSM에 대한 FIPS 140-3 인증서와 관련 보안 정책을 확인하여 자세히 알아보세요.
    • 연방 정부 위험 및 인증 관리 프로그램(FedRAMP). FedRAMP 규정 준수에서 AWS FedRAMP 규정 준수에 대해 자세히 알아보세요.
    • 조직에 도움이 될 수 있습니다. HIPAA 규정 준수 웹 페이지에서 자세히 알아보세요.

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

    * FIPS 140-3은 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)는 양자 내성 암호를 2가지 방식으로 지원합니다. AWS KMS 연결용 양자 내성 TLS와 양자 내성 서명입니다. KMS에 대한 TLS 엔드포인트 연결을 보호하기 위해 (Module-Lattice-Based Key-Encapsulation Mechanism, NIST 링크)을 통해 수행됩니다. AWS KMS는 디지털 서명에 대해 FIPS 204 Module-Lattice Digital Signature Standard(ML-DSA)를 지원합니다. ML-DSA는 양자 컴퓨팅 위협으로부터 조직을 보호하기 위해 설계된 양자 내성 알고리즘으로, 디지털 서명에 대한 보안을 강화합니다. ML-KEM과 ML-DSA는 모두 NIST에서 표준화한 알고리즘으로, 암호학적으로 중요한 양자 컴퓨터의 등장 이후를 포함하여 예측 가능한 미래까지 민감한 정보를 보호하는 데 사용됩니다.

AWS 서비스 통합

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

서비스 통합 표

서비스 이름
서비스 이름
서비스 이름
서비스 이름
서비스 이름
서비스 통합

Alexa for Business[1]
Amazon AppFlow
Amazon Athena
Amazon Aurora
Amazon Bedrock 미세 조정
Amazon Bedrock 모델 복사
Amazon Chime SDK
Amazon CloudWatch Logs
Amazon CloudWatch Synthetics
Amazon CodeGuru
Amazon CodeWhisperer
Amazon Comprehend
Amazon Connect
Amazon Connect 고객 프로필
Amazon Connect Voice ID
Amazon Connect Wisdom
Amazon DocumentDB
Amazon DynamoDB
Amazon DynamoDB Accelerator(DAX) [1]
Amazon EBS
Amazon EC2 Image Builder
Amazon EFS
Amazon Elastic Container Registry(Amazon ECR)
Amazon Elastic Kubernetes Service(EKS)
Amazon Elastic Transcoder
Amazon ElastiCache 

Amazon EMR
Amazon Forecast
Amazon EMR Serverless
Amazon EventBridge Scheduler
Amazon FinSpace
Amazon Fraud Detector
Amazon FSx
Amazon GuardDuty
Amazon HealthLake
Amazon Inspector
Amazon Kendra
Amazon Keyspaces(Apache Cassandra용)
Amazon Kinesis Data Streams
Amazon Kinesis Firehose
Amazon Kinesis Video Streams
Amazon Lex
Amazon Lightsail[1]
Amazon Location Service
Amazon Lookout for Equipment
Amazon Lookout for Metrics
Amazon Lookout for Vision
Amazon Macie
Amazon Managed Blockchain
Amazon Managed Service for Prometheus
Amazon Managed Streaming for Kafka (MSK)

 

Amazon Managed Workflows for Apache Airflow(MWAA)
Amazon Monitron
Amazon MemoryDB
Amazon Redshift
Amazon MQ
Amazon Neptune
Amazon Nimble Studio
Amazon Omics
Amazon OpenSearch
Amazon Personalize
Amazon QLDB
Amazon Rekognition
Amazon Relational Database Service(RDS)
Amazon Route 53
Amazon SageMaker
Amazon Simple Email Service(SES)
Amazon Simple Notification Service(SNS)
Amazon Simple Queue Service(SQS)
Amazon Simple Storage Service(Amazon S3)[3]
Amazon Textract
Amazon Timestream
Amazon Transcribe
Amazon Translate
Amazon WorkMail
Amazon WorkSpaces
 

Amazon WorkSpaces Secure Browser
AWS CodeArtifact Amazon WorkSpaces 씬 클라이언트
AWS App Runner
AWS AppConfig
AWS AppFabric
AWS Application Cost Profiler
AWS Application Migration Service
AWS Audit Manager
AWS Backup
AWS Certificate Manager[1]
AWS Clean Rooms
AWS Cloud9[1]
AWS CloudHSM[2]
AWS CloudTrail
AWS Control Tower
AWS CodeBuild
AWS CodeCommit[1]
AWS CodePipeline
AWS Data Exchange
AWS Database Migration Service
AWS DeepRacer
AWS Elastic Disaster Recovery
AWS Elemental MediaTailor
AWS Entity Resolution
 

AWS GameLift
AWS Glue
AWS Glue DataBrew
AWS Ground Station
AWS IoT SiteWise
AWS Lambda
AWS License Manager
AWS Mainframe Modernization
AWS Network Firewall
AWS Proton
AWS Secrets Manager
AWS Snowball
AWS Snowball Edge
AWS Snowcone
AWS Storage Gateway
AWS Supply Chain
AWS Systems Manager
AWS Verified Access
AWS X-Ray

  • [1] AWS 관리형 키만 지원합니다.         
  • [2] AWS KMS는 AWS CloudHSM 클러스터에 의해 백업된 사용자 지정 키 스토어를 지원합니다.         
  • [3] Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전에서 AWS KMS와 통합되는 서비스 목록은 중국의 AWS KMS 서비스 통합 페이지를 참조하세요.

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