기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
키 구성 요소 가져오기 2단계: 래핑 퍼블릭 키 및 가져오기 토큰 다운로드
키 자료가 AWS KMS key 없는 파일을 만든 후에는 AWS KMS 콘솔 또는 GetParametersForImportAPI를 사용하여 래핑 공개 키와 해당 KMS 키에 대한 가져오기 토큰을 다운로드하십시오. 래핑 퍼블릭 키와 가져오기 토큰은 분리할 수 없는 세트이므로 함께 사용해야 합니다.
래핑 퍼블릭 키를 사용하여 전송용 키 구성 요소를 암호화합니다. RSA 래핑 키 쌍을 다운로드하기 전에 RSA 래핑 키 쌍의 길이 (키 사양) 와 3단계에서 전송용 가져온 키 자료를 암호화하는 데 사용할 래핑 알고리즘을 선택합니다. AWS KMS SM2 래핑 키 사양도 지원합니다 (중국 지역만 해당).
각 래핑 퍼블릭 키와 가져오기 토큰 세트는 24시간 동안 유효합니다. 다운로드한 후 24시간 내에 이를 이용해 키 구성 요소를 가져오지 않을 경우, 새로운 세트를 다운로드해야 합니다. 언제든지 새로운 래핑 퍼블릭 키를 다운로드하고 토큰 세트를 가져올 수 있습니다. 이를 통해 RSA 래핑 키 길이(‘키 사양’)를 변경하거나 손실된 세트를 교체할 수 있습니다.
래핑 퍼블릭 키와 가져오기 토큰 세트를 다운로드하여 동일한 키 구성 요소를 KMS 키로 다시 가져올 수도 있습니다. 이 방법으로 키 구성 요소의 만료 시간을 설정 또는 변경하거나, 만료되었거나 삭제된 키 구성 요소를 복원할 수 있습니다. 로 가져올 때마다 키 자료를 다운로드하고 다시 암호화해야 합니다. AWS KMS
- 래핑 퍼블릭 키 사용
-
다운로드에는 사용자 고유의 공개 키 AWS 계정, 즉 래핑 공개 키라고도 하는 공개 키가 포함되어 있습니다.
키 구성 요소를 가져오기 전에 공개 래핑 키로 키 구성 요소를 암호화한 다음 암호화된 키 구성 요소를 에 업로드합니다. AWS KMS암호화된 키 자료를 AWS KMS 수신하면 해당 개인 키로 키 구성 요소를 복호화한 다음 AES 대칭 키를 사용하여 키 구성 요소를 다시 암호화합니다. 이 모든 작업은 AWS KMS 하드웨어 보안 모듈 (HSM) 내에서 이루어집니다.
- 가져오기 토큰 사용
-
다운로드에는 키 구성 요소를 올바르게 가져올 수 있도록 하는 메타데이터가 포함된 가져오기 토큰이 포함되어 있습니다. 암호화된 키 자료를 업로드할 때는 이 단계에서 AWS KMS다운로드한 것과 동일한 가져오기 토큰을 업로드해야 합니다.
래핑 퍼블릭 키 사양 선택
가져오는 동안 키 자료를 보호하려면 다운로드한 래핑 공개 키와 지원되는 래핑 알고리즘을 사용하여 키 자료를 암호화합니다. AWS KMS래핑 퍼블릭 키와 가져오기 토큰을 다운로드하기 전에 키 사양을 선택합니다. 모든 래핑 키 쌍은 AWS KMS 하드웨어 보안 모듈 (HSM) 에서 생성됩니다. 프라이빗 키는 절대 일반 텍스트로 HSM을 벗어나지 않습니다.
- RSA 래핑 키 사양
-
래핑 퍼블릭 키의 키 사양에 따라 AWS KMS로 전송되는 동안 키 구성 요소를 보호하는 RSA 키 쌍의 키 길이가 결정됩니다. 일반적으로, 실용적이고 가장 긴 래핑 퍼블릭 키를 사용하는 것이 좋습니다. 다양한 HSM 및 키 관리자를 지원하기 위해 여러 가지 래핑 퍼블릭 키 사양을 제공하고 있습니다.
AWS KMS 명시된 경우를 제외하고 모든 유형의 키 자료를 가져오는 데 사용되는 RSA 래핑 키에 대해 다음과 같은 주요 사양을 지원합니다.
-
RSA_4096(권장)
-
RSA_3072
-
RSA_2048
참고
ECC_NIST_P521 키 구성 요소, RSA_2048 퍼블릭 래핑 키 사양, RSAES_OAEP_SHA_* 래핑 알고리즘과 같은 조합은 지원되지 않습니다.
ECC_NIST_P521 키 구성 요소를 RSA_2048 퍼블릭 래핑 키로 직접 래핑할 수는 없습니다. 더 큰 래핑 키나 RSA_AES_KEY_WRAP_SHA_* 래핑 알고리즘을 사용하세요.
-
- SM2 래핑 키 사양 (중국 지역만 해당)
-
AWS KMS 비대칭 키 자료를 가져오는 데 사용되는 SM2 래핑 키에 대해 다음 키 사양을 지원합니다.
-
SM2
-
래핑 알고리즘 선택
가져오는 동안 키 구성 요소를 보호하려면 다운로드한 래핑 퍼블릭 키와 지원되는 래핑 알고리즘을 사용하여 암호화합니다.
AWS KMS 몇 가지 표준 RSA 래핑 알고리즘과 2단계 하이브리드 래핑 알고리즘을 지원합니다. 일반적으로, 가져온 키 구성 요소 및 래핑 키 사양과 호환되는 가장 안전한 래핑 알고리즘을 사용하는 것이 좋습니다. 일반적으로 키 구성 요소를 보호하는 하드웨어 보안 모듈(HSM) 또는 키 관리 시스템에서 지원되는 알고리즘을 선택합니다.
다음 테이블에는 각 유형의 키 구성 요소 및 KMS 키에 지원되는 래핑 알고리즘이 나와 있습니다. 알고리즘은 기본 설정 순서대로 나열됩니다.
키 구성 요소 | 지원되는 래핑 알고리즘 및 사양 |
---|---|
대칭 암호화 키 256비트 AES 키
128비트 SM4 키(중국 리전 전용) |
|
비대칭 RSA 프라이빗 키 |
|
비대칭 타원 곡선(ECC) 프라이빗 키
RSA_2048 래핑 키 사양과 함께 RSAES_OAEP_SHA_* 래핑 알고리즘을 사용하여 ECC_NIST_P521 키 구성 요소를 래핑할 수 없습니다. |
|
비대칭 SM2 개인 키 (중국 지역만 해당) |
|
HMAC 키 |
|
참고
RSA_AES_KEY_WRAP_SHA_256
및 RSA_AES_KEY_WRAP_SHA_1
래핑 알고리즘은 중국 지역에서 지원되지 않습니다.
-
RSA_AES_KEY_WRAP_SHA_256
-생성한 AES 대칭 키로 키 구성 요소를 암호화한 다음 다운로드한 RSA 퍼블릭 래핑 키와 RSAES_OAEP_SHA_256 래핑 알고리즘을 사용하여 AES 대칭 키를 암호화하는 2단계 하이브리드 래핑 알고리즘입니다.RSA_AES_KEY_WRAP_SHA_*
래핑 알고리즘을 사용해야 하는 중국 지역을 제외하고 RSA 개인 키 자료를 래핑하려면SM2PKE
래핑 알고리즘이 필요합니다. -
RSA_AES_KEY_WRAP_SHA_1
-생성한 AES 대칭 키로 키 구성 요소를 암호화한 다음 다운로드한 RSA 래핑 퍼블릭 키와 RSAES_OAEP_SHA_1 래핑 알고리즘을 사용하여 AES 대칭 키를 암호화하는 2단계 하이브리드 래핑 알고리즘입니다.RSA_AES_KEY_WRAP_SHA_*
래핑 알고리즘을 사용해야 하는 중국 지역을 제외하고 RSA 개인 키 자료를 래핑하려면SM2PKE
래핑 알고리즘이 필요합니다. -
RSAES_OAEP_SHA_256
– SHA-256 해시 기능이 있는 OAEP(Optimal Asymmetric Encryption Padding)를 사용한 RSA 암호화 알고리즘입니다. -
RSAES_OAEP_SHA_1
– SHA-1 해시 기능이 있는 OAEP(Optimal Asymmetric Encryption Padding)를 사용한 RSA 암호화 알고리즘입니다. -
RSAES_PKCS1_V1_5
(더 이상 사용되지 않음, 2023년 10월 10일부터 RSAES_PKCS1_V1_5 래핑 알고리즘을 AWS KMS 지원하지 않음) - PKCS #1 버전 1.5에 정의된 패딩 형식을 사용하는 RSA 암호화 알고리즘입니다. -
SM2PKE
(중국 지역만 해당) — OSCCA가 GM/T 0003.4-2012에 정의한 타원 곡선 기반 암호화 알고리즘입니다.
래핑 퍼블릭 키 및 가져오기 토큰 다운로드(콘솔)
AWS KMS 콘솔을 사용하여 래핑 공개 키를 다운로드하고 토큰을 가져올 수 있습니다.
-
방금 키 구성 요소 없이 KMS 키를 생성하기 위한 절차를 마쳤고 현재 Download wrapping key and import token(래핑 키 및 가져오기 키 다운로드) 페이지에 있다면 단계 9으로 넘어갑니다.
-
https://console.aws.amazon.com/kms
에서 AWS Management Console 로그인하고 AWS Key Management Service (AWS KMS) 콘솔을 엽니다. -
를 변경하려면 AWS 리전페이지 오른쪽 상단에 있는 지역 선택기를 사용하십시오.
-
탐색 창에서 고객 관리형 키를 선택합니다.
작은 정보
키 구성 요소는 오리진이 외부(키 구성 요소 가져오기)인 KMS 키로만 가져올 수 있습니다. 이는 키 구성 요소 없이 KMS 키가 생성되었음을 나타냅니다. 테이블에 Origin(오리진) 열을 추가하려면 페이지의 오른쪽 상단 모서리에서 설정 아이콘( )을 선택합니다. Origin(오리진)을 활성화한 다음, 확인을 선택합니다.
-
가져오기가 보류 중인 KMS 키의 별칭 또는 키 ID를 선택합니다.
-
암호화 구성(Cryptographic configuration) 탭을 선택하고 해당 값을 봅니다. 일반 구성 섹션 아래에 탭이 있습니다.
키 구성 요소는 오리진이 외부(키 구성 요소 가져오기)인 KMS 키로만 가져올 수 있습니다. 가져온 키 구성 요소가 있는 KMS 키를 생성하는 방법은 키용 AWS KMS 키 자료 가져오기 섹션을 참조하십시오.
-
키 구성 요소 탭을 선택한 다음 키 구성 요소 가져오기를 선택합니다.
키 구성 요소 탭은 오리진 값이 외부(키 구성 요소 가져오기)인 KMS 키에 대해서만 표시됩니다.
-
래핑 키 사양 선택에서 KMS 키의 구성을 선택합니다. 이 키를 생성한 후에는 키 사양을 변경할 수 없습니다.
-
[Select wrapping algorithm]에서 키 구성 요소 암호화에 사용할 옵션을 선택합니다. 옵션에 대한 자세한 내용은 래핑 알고리즘 선택을 참조하십시오.
-
래핑 퍼블릭 키 및 가져오기 토큰 다운로드를 선택한 후 파일을 저장합니다.
다음 옵션이 있는 경우 지금 프로세스를 계속하려면 다음을 선택합니다. 나중에 계속하려면 취소를 선택합니다.
-
앞 단계에 저장한
.zip
파일(Import_Parameters_
)의 압축을 해제합니다.<key_id>
_<timestamp>
폴더에는 다음 파일이 포함되어 있습니다.
-
라는 이름의 파일에 있는 래핑 퍼블릭 키.
WrappingPublicKey.bin
-
ImportToken.bin
이라는 이름의 파일에 있는 가져오기 토큰입니다. -
README.txt라는 이름의 텍스트 파일입니다. 이 파일에는 래핑 퍼블릭 키, 키 구성 요소를 암호화하는 데 사용할 래핑 알고리즘, 래핑 퍼블릭 키와 가져오기 토큰이 만료되는 날짜와 시간에 대한 정보가 포함되어 있습니다.
-
-
프로세스를 계속하려면 키 구성 요소를 암호화를 참조하십시오.
래핑 퍼블릭 키 및 임포트 토큰 (AWS KMS API) 다운로드
퍼블릭 키를 다운로드하고 토큰을 가져오려면 GetParametersForImportAPI를 사용하세요. 가져온 키 구성 요소와 연결될 KMS 키를 지정합니다. 이 KMS 키에는 EXTERNAL
의 오리진 값이 있어야 합니다.
이 예시에서는 RSA_AES_KEY_WRAP_SHA_256
래핑 알고리즘, RSA_3072 래핑 퍼블릭 키 사양, 예시 키 ID를 지정합니다. 이러한 예시 값을 다운로드에 사용할 수 있는 유효한 값으로 바꾸세요. 키 ID의 경우, 이 작업에 키 ID나 키 ARN을 사용할 수 있지만 별칭 이름이나 별칭 ARN은 사용할 수 없습니다.
$
aws kms get-parameters-for-import \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --wrapping-algorithmRSA_AES_KEY_WRAP_SHA_256
\ --wrapping-key-specRSA_3072
명령이 제대로 실행되면 다음과 비슷한 출력이 표시됩니다.
{ "ParametersValidTo": 1568290320.0, "PublicKey": "
public key (base64 encoded)
", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token (base64 encoded)
" }
다음 단계를 위한 데이터를 준비하려면 퍼블릭 키와 가져오기 토큰을 base64로 디코딩하고 디코딩된 값을 파일에 저장합니다.
퍼블릭 키 및 가져오기 토큰을 base64로 디코딩하려면
-
base64로 인코딩된 퍼블릭 키(예제 출력에
퍼블릭 키(base64로 인코딩됨)
로 표시됨)를 복사하여 새 파일에 붙여넣은 후 파일을 저장합니다.PublicKey.b64
와 같은 파일을 설명하는 이름을 지정합니다. -
OpenSSL
을 이용해 파일의 콘텐츠를 base64로 디코딩하고 디코딩된 데이터를 새 파일에 저장합니다. 다음 예제는 앞의 단계에서 저장한 파일( PublicKey.b64
)의 데이터를 디코딩하고 출력을WrappingPublicKey.bin
이라는 새 파일에 저장합니다.$
openssl enc -d -base64 -A -in PublicKey.b64 -out WrappingPublicKey.bin
-
base64로 인코딩된 가져오기 토큰(예제 출력에
가져오기 토큰(base64로 인코딩됨)
로 표시됨)을 복사하여 새 파일에 붙여넣은 후 파일을 저장합니다.importtoken.b64
처럼 파일을 설명하는 이름을 지정합니다. -
OpenSSL
을 이용해 파일의 콘텐츠를 base64로 디코딩하고 디코딩된 데이터를 새 파일에 저장합니다. 다음 예제는 앞의 단계에서 저장한 파일( ImportToken.b64
)의 데이터를 디코딩하고 출력을ImportToken.bin
이라는 새 파일에 저장합니다.$
openssl enc -d -base64 -A -in importtoken.b64 -out ImportToken.bin
3단계: 키 구성 요소 암호화로 이동합니다.