기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
KMS 키 생성
AWS KMS keys 에서 또는 CreateKey 작업 AWS Management Console또는 AWS:::KMS:Key AWS CloudFormation 리소스를 사용하여를 생성할 수 있습니다. 이 프로세스 중에 언제든지 변경할 수 있는 키에 대한 KMS 키 정책을 설정합니다. 생성하는 KMS 키 유형을 정의하는 다음 값도 선택합니다. KMS 키가 생성된 후에는 이러한 속성을 변경할 수 없습니다.
- KMS 키 유형
-
키 유형은 생성되는 암호화 키 유형을 결정하는 속성입니다.는 데이터를 보호하기 위해 세 가지 키 유형을 AWS KMS 제공합니다.
-
고급 암호화 표준(AES) 대칭 키
의 Galois 카운터 모드(GCM) 모드에서 4KB 미만의 데이터에 대해 인증된 암호화/복호화를 제공하는 AES 데 사용되는 256비트 키입니다. 이는 가장 일반적인 유형의 키이며 애플리케이션에서 사용되는 다른 데이터 암호화 키를 보호하고 사용자를 대신하여 데이터를 암호화하는 AWS 서비스 데 사용됩니다.
-
RSA, 타원 곡선 또는 SM2 (중국 리전만 해당) 비대칭 키
이러한 키는 다양한 크기로 사용 가능하며 많은 알고리즘을 지원합니다. 이러한 키는 알고리즘 선택에 따라 암호화 및 복호화, 서명 및 확인 또는 공유 보안 비밀 작업에 사용할 수 있습니다.
-
해시 기반 메시지 인증 코드(HMAC) 작업을 수행하기 위한 대칭 키
이러한 키는 서명 및 확인 작업에 사용되는 256비트 키입니다.
KMS 키는 서비스에서 일반 텍스트로 내보낼 수 없습니다. 이는에서 생성되며 서비스에서 사용하는 하드웨어 보안 모듈(HSMs) 내에서만 사용할 수 있습니다. 이는 키가 손상되지 않도록 AWS KMS 하기 위한의 기본 보안 속성입니다.
-
- 키 사용
-
키 사용량은 키가 지원하는 암호화 작업을 결정하는 속성입니다. KMS 키는
ENCRYPT_DECRYPT
,SIGN_VERIFY
,GENERATE_VERIFY_MAC
또는의 키 사용량을 가질 수 있습니다KEY_AGREEMENT
. 각 KMS 키는 키 사용량을 하나만 가질 수 있습니다. 둘 이상의 작업 유형에 KMS 키를 사용하면 두 작업의 곱이 공격에 더 취약해집니다. - 키 사양
-
키 사양은 키의 암호화 구성을 나타내는 속성입니다. 키 사양의 의미는 키 유형에 따라 다릅니다.
KMS 키의 경우 키 사양에 따라 KMS 키가 대칭인지 비대칭인지 여부가 결정됩니다. 또한 키 구성 요소의 유형과 지원하는 알고리즘을 결정합니다.
기본 키 사양인 SYMMETRIC_DEFAULT는 256비트 대칭 암호화 키를 나타냅니다. 지원되는 모든 키 사양에 대한 자세한 설명은 키 사양 참조 단원을 참조하세요.
- 키 구성 요소 오리진
-
키 구성 요소 오리진은 KMS 키에서 키 구성 요소의 소스를 식별하는 KMS 키 속성입니다. 키를 생성할 때 KMS 키 구성 요소 오리진을 선택하면 변경할 수 없습니다. 키 구성 요소의 소스는 KMS 키의 보안, 내구성, 가용성, 지연 시간 및 처리량 특성에 영향을 미칩니다.
각 KMS 키에는 메타데이터의 키 구성 요소에 대한 참조가 포함됩니다. 대칭 암호화 키의 KMS 키 구성 요소 오리진은 다를 수 있습니다. AWS KMS 에서 생성하는 키 구성 요소, 사용자 지정 키 저장소에서 생성된 키 구성 요소를 사용하거나 고유한 키 구성 요소를 가져올 수 있습니다.
기본적으로 각 KMS 키에는 고유한 키 구성 요소가 있습니다. 그러나 동일한 키 구성 요소를 사용하여 다중 리전 키 집합을 생성할 수 있습니다
KMS 키에는
AWS_KMS
,EXTERNAL
(가져온 키 구성 요소), (키 스토어의 키) 또는 (외부 키 스토어의 키) 중 하나의 키 구성 요소 오리진 값이 있을 수 있습니다.AWS_CLOUDHSM
KMS AWS CloudHSMEXTERNAL_KEY_STORE
KMS
주제
KMS 키 생성 권한
콘솔에서 또는를 사용하여 KMS 키를 생성하려면 IAM 정책에 다음 권한이 APIs있어야 합니다. 가능하면 조건 키를 사용하여 사용 권한을 제한합니다. 예를 들어 IAM 정책에서 kms:KeySpec 조건 키를 사용하여 보안 주체가 대칭 암호화 키만 생성하도록 허용할 수 있습니다.
키를 생성하는 보안 주체에 대한 IAM 정책의 예는 섹션을 참조하세요사용자가 KMS 키를 생성하도록 허용.
참고
보안 주체에게 태그 및 별칭을 관리할 수 있는 권한을 부여하는 데 주의해야 합니다. 태그 또는 별칭을 변경하면 고객 관리 키에 대한 권한을 허용하거나 거부할 수 있습니다. 세부 정보는 AWS KMS의 ABAC을 참조하세요.
-
kms:CreateKey 필수 항목입니다.
-
kms:CreateAlias 콘솔에서 모든 새 KMS 키에 별칭이 필요한 KMS 키를 생성하는 데 필요합니다.
-
kms:TagResource KMS 키를 생성하는 동안 태그를 추가하는 데 필요합니다.
-
iam:CreateServiceLinkedRole 다중 리전 기본 키를 생성하는 데 필요합니다. 세부 정보는 다중 리전 키에 대한 액세스 제어을 참조하세요.
KMS 키를 생성하는 데 kms:PutKeyPolicy 권한이 필요하지 않습니다. kms:CreateKey
권한에는 초기 키 정책을 설정할 수 있는 권한이 포함됩니다. 그러나 키에 대한 액세스를 제어할 수 있도록 KMS 키를 생성하는 동안 KMS 키 정책에이 권한을 추가해야 합니다. 대안은 권장되지 않는 BypassLockoutSafetyCheck 파라미터를 사용하는 것입니다.
KMS 키는 키가 생성된 AWS 계정에 속합니다. KMS 키를 생성하는 IAM 사용자는 키 소유자로 간주되지 않으며 자신이 생성한 KMS 키를 사용하거나 관리할 수 있는 권한이 자동으로 부여되지 않습니다. 다른 보안 주체와 마찬가지로 키 생성자는 키 정책, IAM 정책 또는 권한 부여를 통해 권한을 얻어야 합니다. 그러나, kms:CreateKey
권한이 있는 보안 주체는 초기 키 정책을 설정하고 키를 사용하거나 관리할 권한을 자신에게 부여할 수 있습니다.
생성할 KMS 키 유형 선택
생성하는 KMS 키 유형은 주로 KMS 키를 사용할 계획, 보안 요구 사항 및 권한 부여 요구 사항에 따라 달라집니다. 키의 키 유형 및 KMS 키 사용량에 따라 키가 수행할 수 있는 암호화 작업이 결정됩니다. 각 KMS 키에는 키 사용량이 하나뿐입니다. 둘 이상의 작업 유형에 KMS 키를 사용하면 모든 작업의 제품이 공격에 더 취약해집니다.
보안 주체가 특정 KMS 키 사용에 대해서만 키를 생성하도록 허용하려면 kms:KeyUsage 조건 키를 사용합니다. kms:KeyUsage
조건 키를 사용하여 보안 주체가 키 사용량에 따라 KMS 키에 대한 API 작업을 호출하도록 허용할 수도 있습니다. 예를 들어 KMS 키 사용량이 SIGN_인 경우에만 키를 비활성화할 수 있는 권한을 허용할 수 있습니다VERIFY.
다음 지침을 사용하여 사용 사례에 따라 필요한 KMS 키 유형을 결정합니다.
- 암호화 및 해독
-
데이터 암호화 및 복호화가 필요한 대부분의 사용 사례에 대칭 KMS 키를 사용합니다. AWS KMS 에서 사용하는 대칭 암호화 알고리즘은 빠르고 효율적이며 데이터의 기밀성과 신뢰성을 보장합니다. 암호화 컨텍스트로 정의된 추가 인증 데이터(AAD)를 사용하여 인증된 암호화를 지원합니다. 암호화 컨텍스트 이러한 유형의 KMS 키를 사용하려면 암호화된 데이터의 발신자와 수신자가 모두 호출할 유효한 AWS 자격 증명을 보유해야 합니다 AWS KMS.
사용 사례 AWS 에서를 호출할 수 없는 사용자가 외부에서 암호화해야 하는 경우 AWS KMS비대칭 KMS 키를 선택하는 것이 좋습니다. 비대칭 키의 퍼블릭 KMS 키를 배포하여 이러한 사용자가 데이터를 암호화할 수 있도록 할 수 있습니다. 그리고 해당 데이터를 복호화해야 하는 애플리케이션은 내부 비대칭 키의 프라이빗 KMS 키를 사용할 수 있습니다 AWS KMS.
- 메시지 서명 및 서명 확인
-
메시지에 서명하고 서명을 확인하려면 비대칭 KMS 키를 사용해야 합니다. KMS 키 페어, 타원 곡선(ECC) 키 페어 또는 키 페어(중국 리전만 해당)를 나타내는 RSA 키 사양과 함께 SM2 키를 사용할 수 있습니다. 선택하는 키 사양은 사용하려는 서명 알고리즘에 따라 결정됩니다. ECC 키 페어가 지원하는 ECDSA 서명 알고리즘은 RSA 서명 알고리즘보다 권장됩니다. 그러나 외부에서 서명을 확인하는 사용자를 지원하려면 특정 키 사양 및 서명 알고리즘을 사용해야 할 수 있습니다 AWS.
- 비대칭 키 페어로 암호화
-
비대칭 키 페어로 데이터를 암호화하려면 RSA 키 사양 또는 KMS 키 사양(중국 리전만 해당)이 있는 비대칭 SM2 키를 사용해야 합니다. KMS 키 페어의 퍼블릭 키 AWS KMS 로의 데이터를 암호화하려면 암호화 작업을 사용합니다. 퍼블릭 키를 다운로드하여 외부에서 데이터를 암호화해야 하는 당사자와 공유할 수도 있습니다 AWS KMS.
비대칭 키의 퍼블릭 KMS 키를 다운로드할 때 외부에서 사용할 수 있습니다 AWS KMS. 하지만 더 이상 KMS 키를 보호하는 보안 제어의 적용을 받지 않습니다 AWS KMS. 예를 들어 AWS KMS 키 정책 또는 권한 부여를 사용하여 퍼블릭 키 사용을 제어할 수 없습니다. 또한가 AWS KMS 지원하는 암호화 알고리즘을 사용하여 키가 암호화 및 복호화에만 사용되는지 여부를 제어할 수 없습니다. 자세한 내용은 퍼블릭 키 다운로드 시 특별 고려 사항을 참조하세요.
외부의 퍼블릭 키로 암호화된 데이터를 복호화하려면 복호화 작업을 AWS KMS호출합니다. 키 사용량이 인 키에서 퍼블릭 키로 데이터를 암호화한 경우
Decrypt
작업이 실패KMS합니다SIGN_VERIFY
. 선택한 키 사양에 대해가 지원하지 AWS KMS 않는 알고리즘을 사용하여 암호화한 경우에도 실패합니다. 키 사양 및 지원되는 알고리즘에 대한 자세한 내용은 키 사양 참조 단원을 참조하세요.이러한 오류를 방지하려면 외부에서 퍼블릭 키를 사용하는 모든 사용자가 키 구성을 저장 AWS KMS 해야 합니다. AWS KMS 콘솔과 GetPublicKey 응답은 퍼블릭 키를 공유할 때 포함해야 하는 정보를 제공합니다.
- 공유 보안 비밀 도출
-
공유 보안 암호를 도출하려면 NIST권장 타원 곡선 또는 SM2 (중국 리전만 해당) KMS 키 구성 요소가 있는 키를 사용합니다.는 타원 곡선 퍼블릭-프라이빗 키 페어에서 공유 보안 암호를 도출하여 두 피어 간에 키 계약을 설정하기 위해 Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive
(ECDH)를 AWS KMS 사용합니다. DeriveSharedSecret 작업이 반환하는 원시 공유 암호를 사용하여 두 당사자 간에 전송되는 데이터를 암호화 및 복호화할 수 있는 대칭 키를 도출하거나 원시 공유 암호를 사용하여 대칭 키를 도출할 때 NIST 키 도출에 대한 권장 사항을 따르는 HMACs. AWS KMS recommds를 생성하고 확인할 수 있습니다. - HMAC 코드 생성 및 확인
-
해시 기반 메시지 인증 코드를 생성하고 확인하려면 HMAC KMS 키를 사용합니다. 에서 HMAC 키를 생성할 때 AWS KMS는 키 구성 요소를 AWS KMS 생성 및 보호하고 키에 올바른 MAC 알고리즘을 사용하도록 합니다. HMAC 코드는 대칭 서명 및 토큰화를 위한 특정 시나리오에서 의사 무작위 번호로도 사용할 수 있습니다.
HMAC KMS 키는 대칭 키입니다. 콘솔에서 HMAC KMS AWS KMS 키를 생성할 때
Symmetric
키 유형을 선택합니다. - AWS 서비스와 함께 사용
-
AWS 와 통합된 서비스와 AWS KMS 함께 사용할 KMS 키를 생성하려면 데이터를 암호화하는 service. AWS services에 대한 설명서를 참조하세요KMS.
이러한 고려 사항 외에도 키 사양이 서로 다른 KMS 키에 대한 암호화 작업은 가격과 요청 할당량이 다릅니다. AWS KMS
요금에 대한 자세한 내용은 AWS Key Management Service 요금