

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

# 의 암호화 세부 정보 소개 AWS KMS
<a name="intro"></a>

AWS Key Management Service (AWS KMS)는 암호화 키를 생성 및 관리할 수 있는 웹 인터페이스를 제공하며 데이터를 보호하기 위한 암호화 서비스 공급자 역할을 합니다. AWS KMS 는 AWS 서비스와 통합된 기존 키 관리 서비스를 제공하여 중앙 집중식 관리 및 감사를 AWS통해 전체 고객의 키를 일관되게 볼 수 있습니다. 이 백서에서는 서비스에서 제공하는 기능을 평가하는 AWS KMS 데 도움이 되는의 암호화 작업에 대한 자세한 설명을 제공합니다.

AWS KMS 에는 FIPS 140-3 검증 하드웨어 보안 모듈(HSM)[[1](kms-bibliography.md#fips-hsms)]의 분산 플릿의 암호화 작업을 요청하는 AWS Management Console명령줄 인터페이스 및 RESTful API 작업을 통한 웹 인터페이스가 포함되어 있습니다.HSMs AWS KMS HSM은의 보안 및 확장성 요구 사항을 충족하는 전용 암호화 기능을 제공하도록 설계된 멀티칩 독립 실행형 하드웨어 암호화 어플라이언스입니다 AWS KMS. AWS KMS keys와 같이 사용자가 관리하는 키로 HSM 기반 암호화 계층 구조를 설정할 수 있습니다. 이러한 키는 HSM에서만 사용할 수 있으며 암호화 요청을 처리하는 데 필요한 시간 동안 메모리에서만 사용할 수 있습니다. KMS 키를 여러 개 생성할 수 있으며 각 키는 키 ID로 표시됩니다. 각 고객이 관리하는 AWS IAM 역할 및 계정에서만 고객 KMS 키를 생성, 삭제 또는 사용하여 데이터를 암호화, 복호화, 서명 또는 확인할 수 있습니다. 키에 연결된 정책을 생성하여 KMS 키를 관리하거나 사용하도록 허용되는 사용자에 대한 액세스 제어를 정의할 수 있습니다. 이러한 정책을 사용하면 각 API 작업을 위한 키의 애플리케이션별 용도를 정의할 수 있습니다.

또한 대부분의 AWS 서비스는 KMS 키를 사용하여 저장 데이터 암호화를 지원합니다. 이 기능을 통해 고객은 KMS 키에 액세스하는 방법과 시기를 제어하여 AWS 서비스가 암호화된 데이터에 액세스하는 방법과 시기를 제어할 수 있습니다.

![\[AWS KMS 아키텍처.\]](http://docs.aws.amazon.com/ko_kr/kms/latest/cryptographic-details/images/KMS-Architecture.png)


AWS KMS 는 웹 경계 AWS KMS 호스트와 HSMs. 이러한 계층형 호스트의 그룹화는 AWS KMS 스택을 형성합니다. 에 대한 모든 요청은 TLS(전송 계층 보안 프로토콜)를 통해 이루어져야 하며 AWS KMS host. AWS KMS hosts에서 종료되어야 AWS KMS 합니다.는 완벽한 [전달 secrecy](http://dx.doi.org/10.6028/NIST.SP.800-52r2). AWS KMS authenticates를 제공하는 ciphersuite가 있는 TLS만 허용하고 다른 모든 AWS API 작업에 사용할 수 있는 (IAM)의 AWS Identity and Access Management 동일한 자격 증명 및 정책 메커니즘을 사용하여 요청을 승인합니다.

# 기본 개념
<a name="basic-concepts"></a>

몇 가지 기본 용어와 개념을 학습하면 최대한 활용할 수 있습니다 AWS Key Management Service.

**AWS KMS key**  
AWS KMS 는 *고객 마스터 키(CMK)*라는 용어를 *AWS KMS key* 및 *KMS 키*로 대체합니다. 단, 개념은 바뀌지 않았습니다. 변경 중단을 방지하기 위해 AWS KMS 는이 용어의 몇 가지 변형을 유지합니다.
키 계층의 최상위를 나타내는 논리적 키입니다. KMS 키에는 고유 키 식별자 또는 키 ID가 포함된 Amazon 리소스 이름(ARN)이 지정됩니다. AWS KMS keys 에는 세 가지 키 유형이 있습니다.  
+ **고객 관리 키** - 고객은 고객 관리형 키의 수명 주기 및 키 정책을 생성하고 제어할 수 있습니다. 이러한 키에 대해 수행되는 모든 요청은 CloudTrail 이벤트로 로깅됩니다.
+ **AWS 관리형 키** - 고객의 리소스 AWS 관리형 키인의 수명 주기 및 키 정책을 AWS 생성하고 제어합니다 AWS 계정. 고객은 AWS 관리형 키에 대한 액세스 정책과 CloudTrail 이벤트를 볼 수 있지만 이러한 키의 어떤 측면도 관리할 수 없습니다. 이러한 키에 대해 수행되는 모든 요청은 CloudTrail 이벤트로 로깅됩니다.
+ **AWS 소유 키** - 이러한 키는에서 생성되어 다양한 AWS 서비스에서 내부 암호화 작업에 독점적 AWS 으로 사용됩니다. 고객은 CloudTrail의 키 정책 또는 AWS 소유 키 사용량을 볼 수 없습니다.

**별칭**  
KMS 키와 연결된, 사용자에게 친숙한 이름입니다. 별칭은 많은 AWS KMS API 작업에서 키 ID와 상호 교환하여 사용할 수 있습니다.

**권한**  
키에 대한 권한을 정의하는, KMS 키에 연결된 정책입니다. 기본 정책은 정의한 모든 보안 주체를 허용하고가 키를 참조하는 IAM 정책을 AWS 계정 추가할 수 있도록 허용합니다.

**권한 부여**  
의도한 IAM 보안 주체 또는 사용 기간을 처음부터 알 수 없어 키 또는 IAM 정책에 추가할 수 없는 경우, KMS 키를 사용하도록 위임된 권한입니다. 권한 부여의 한 가지 사용은 AWS 서비스가 KMS 키를 사용하는 방법에 대한 범위 축소 권한을 정의하는 것입니다. 사용자가 직접 서명된 API 호출을 하지 않을 경우 암호화된 데이터에 대해 사용자 대신 비동기 작업을 수행하기 위해 서비스가 사용자의 키를 사용해야 할 수 있습니다.

**데이터 키**  
KMS 키로 보호되는 HSMs에서 생성된 암호화 키입니다.는 승인된 엔터티가 KMS 키로 보호되는 데이터 키를 가져올 수 있도록 AWS KMS 허용합니다. 이 키는 일반 텍스트(암호화되지 않음) 데이터 키로 반환될 수도 있고 암호화된 데이터 키로 반환될 수도 있습니다. 데이터 키는 대칭 또는 비대칭일 수 있습니다(퍼블릭 및 프라이빗 부분이 모두 반환됨).

**암호화 텍스트**  
혼동을 제거하기 위해 고객 암호 텍스트라고 AWS KMS도 하는의 암호화된 출력입니다. 암호화 텍스트에는 복호화 프로세스에서 사용할 KMS 키를 식별하는 추가 정보가 있는 암호화된 데이터가 포함되어 있습니다. 암호화된 데이터 키는 KMS 키를 사용할 때 생성되는 암호화 텍스트의 일반적인 예이지만, 크기가 4KB 미만인 데이터는 KMS 키로 암호화하여 암호화 텍스트를 생성할 수 있습니다.

**암호화 컨텍스트**  
보호된 정보와 연결된 추가 정보의 키 AWS KMS-값 페어 맵입니다.는 인증된 암호화를 AWS KMS 사용하여 데이터 키를 보호합니다. 암호화 컨텍스트는 AWS KMS암호화된 사이퍼텍스트에서 인증된 암호화의 AAD에 통합됩니다. 이 컨텍스트 정보는 선택 사항이며 키(또는 암호화 작업)를 요청할 때 반환되지 않습니다. 하지만 이 컨텍스트 값을 사용할 경우, 복호화 작업을 성공적으로 완료하는 데 필요합니다. 암호화 컨텍스트를 사용하는 목적은 추가적인 인증 정보를 제공하는 것입니다. 이 정보는 정책을 적용하고 AWS CloudTrail 로그에 포함시키는 데 도움이 될 수 있습니다. 예를 들어 \$1"key name":"satellite uplink key"\$1라는 키-값 페어를 사용하여 데이터 키의 이름을 지정할 수 있습니다. 이후 키를 사용하면 “키 이름”: “위성 업링크 키”가 포함된 AWS CloudTrail 항목이 생성됩니다. 이 추가 정보는 특정 KMS 키가 사용된 이유를 파악하는 데 유용한 컨텍스트를 제공할 수 있습니다.

**퍼블릭 키**  
비대칭 암호(RSA 또는 타원 곡선)를 사용하는 경우 퍼블릭 키는 퍼블릭-프라이빗 키 페어의 ‘퍼블릭 구성 요소’입니다. 퍼블릭-프라이빗 키 페어의 소유자에 대한 데이터를 암호화해야 하는 엔터티에 퍼블릭 키를 공유하고 배포할 수 있습니다. 디지털 서명 작업의 경우 서명을 확인하는 데 퍼블릭 키가 사용됩니다.

**프라이빗 키**  
비대칭 암호(RSA 또는 타원 곡선)를 사용하는 경우 프라이빗 키는 퍼블릭-프라이빗 키 페어의 ‘프라이빗 구성 요소’입니다. 프라이빗 키는 데이터를 복호화하거나 디지털 서명을 생성하는 데 사용됩니다. 대칭 KMS 키와 마찬가지로 프라이빗 키는 HSM에서 암호화됩니다. HSM의 단기 메모리에만 복호화되며 암호화 요청을 처리하는 데 필요한 시간 동안만 복호화됩니다.

# AWS KMS 설계 목표
<a name="design-goals"></a>

AWS KMS 는 다음 요구 사항을 충족하도록 설계되었습니다.

**내구성**  
암호화 키의 내구성은에서 가장 내구성이 높은 서비스와 같도록 설계되었습니다 AWS. 단일 암호화 키를 사용하여 장기간 누적된 대량의 데이터를 암호화할 수 있습니다.

**신뢰성**  
키 사용은 사용자가 정의하고 관리하는 액세스 제어 정책으로 보호됩니다. 일반 텍스트 KMS 키를 내보내는 메커니즘은 없습니다. 암호화 키의 기밀성은 매우 중요합니다. HSM에서 관리 작업을 수행하려면 쿼럼 기반 액세스 제어에 대한 역할별 액세스 권한을 가진 여러 Amazon 직원이 필요합니다.

**짧은 대기 시간과 높은 처리량**  
AWS KMS 는의 다른 서비스에서 사용하기에 적합한 지연 시간 및 처리량 수준에서 암호화 작업을 제공합니다 AWS.

**독립적인 리전**  
AWS 는 서로 다른 리전에서 데이터 액세스를 제한해야 하는 고객에게 독립적인 리전을 제공합니다. 키 사용은 단일 AWS 리전으로 제한됩니다.

**난수의 보안 소스**  
강력한 암호화를 구현하려면 예측할 수 없는 난수 생성이 중요하므로 AWS KMS 는 고품질의 검증된 난수 소스를 제공합니다.

**감사**  
AWS KMS 는 AWS CloudTrail 로그에서 암호화 키의 사용 및 관리를 기록합니다. AWS CloudTrail 로그를 사용하여 사용자를 대신하여 AWS 서비스의 키 사용을 포함하여 암호화 키 사용을 검사할 수 있습니다.

이러한 목표를 달성하기 위해 AWS KMS 시스템에는 “도메인”을 관리하는 일련의 AWS KMS 연산자 및 서비스 호스트 연산자(총칭하여 “작업자”)가 포함됩니다. 도메인은 리전별로 정의된 AWS KMS 서버, HSMs 및 연산자 집합입니다. 각 AWS KMS 운영자에는 작업을 인증하는 데 사용되는 프라이빗 및 퍼블릭 키 페어가 포함된 하드웨어 토큰이 있습니다. HSM에는 HSM 상태 동기화를 보호하는 암호화 키를 설정하기 위한 추가 프라이빗 및 퍼블릭 키 페어가 있습니다.

이 백서는가 암호화하려는 키 및 기타 데이터를 AWS KMS 보호하는 방법을 보여줍니다. 이 문서에서는 암호화하려는 암호화 키 또는 데이터를 ‘보안 암호’ 또는 ‘보안 암호 구성 요소’라고 합니다.