키 구성 요소 가져오기 2단계: 래핑 퍼블릭 키 및 가져오기 토큰 다운로드 - AWS Key Management Service

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

키 구성 요소 가져오기 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 키(중국 리전 전용)

래핑 알고리즘:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

더 이상 사용되지 않는 래핑 알고리즘:

RSAES_PKCS1_V1

참고

2023년 10월 10일부터 RSAES_PKCS1_V1_5 래핑 알고리즘을 AWS KMS 지원하지 않습니다.

래핑 키 사양:

RSA_2048

RSA_3072

RSA_4096

비대칭 RSA 프라이빗 키
래핑 알고리즘:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

SM2PKE (중국 지역만 해당)

래핑 키 사양:

RSA_2048

RSA_3072

RSA_4096

SM2(중국 리전 전용)

비대칭 타원 곡선(ECC) 프라이빗 키

RSA_2048 래핑 키 사양과 함께 RSAES_OAEP_SHA_* 래핑 알고리즘을 사용하여 ECC_NIST_P521 키 구성 요소를 래핑할 수 없습니다.

래핑 알고리즘:

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (중국 지역만 해당)

래핑 키 사양:

RSA_2048

RSA_3072

RSA_4096

SM2(중국 리전 전용)

비대칭 SM2 개인 키 (중국 지역만 해당)
래핑 알고리즘:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (중국 지역만 해당)

래핑 키 사양:

RSA_2048

RSA_3072

RSA_4096

SM2(중국 리전 전용)

HMAC 키
래핑 알고리즘:

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

래핑 키 사양:

RSA_2048

RSA_3072

RSA_4096

참고

RSA_AES_KEY_WRAP_SHA_256RSA_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 콘솔을 사용하여 래핑 공개 키를 다운로드하고 토큰을 가져올 수 있습니다.

  1. 방금 키 구성 요소 없이 KMS 키를 생성하기 위한 절차를 마쳤고 현재 Download wrapping key and import token(래핑 키 및 가져오기 키 다운로드) 페이지에 있다면 단계 9으로 넘어갑니다.

  2. https://console.aws.amazon.com/kms 에서 AWS Management Console 로그인하고 AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

  3. 를 변경하려면 AWS 리전페이지 오른쪽 상단에 있는 지역 선택기를 사용하십시오.

  4. 탐색 창에서 고객 관리형 키를 선택합니다.

    작은 정보

    키 구성 요소는 오리진외부(키 구성 요소 가져오기)인 KMS 키로만 가져올 수 있습니다. 이는 키 구성 요소 없이 KMS 키가 생성되었음을 나타냅니다. 테이블에 Origin(오리진) 열을 추가하려면 페이지의 오른쪽 상단 모서리에서 설정 아이콘( )을 선택합니다. Origin(오리진)을 활성화한 다음, 확인을 선택합니다.

  5. 가져오기가 보류 중인 KMS 키의 별칭 또는 키 ID를 선택합니다.

  6. 암호화 구성(Cryptographic configuration) 탭을 선택하고 해당 값을 봅니다. 일반 구성 섹션 아래에 탭이 있습니다.

    키 구성 요소는 오리진외부(키 구성 요소 가져오기)인 KMS 키로만 가져올 수 있습니다. 가져온 키 구성 요소가 있는 KMS 키를 생성하는 방법은 키용 AWS KMS 키 자료 가져오기 섹션을 참조하십시오.

  7. 키 구성 요소 탭을 선택한 다음 키 구성 요소 가져오기를 선택합니다.

    키 구성 요소 탭은 오리진 값이 외부(키 구성 요소 가져오기)인 KMS 키에 대해서만 표시됩니다.

  8. 래핑 키 사양 선택에서 KMS 키의 구성을 선택합니다. 이 키를 생성한 후에는 키 사양을 변경할 수 없습니다.

  9. [Select wrapping algorithm]에서 키 구성 요소 암호화에 사용할 옵션을 선택합니다. 옵션에 대한 자세한 내용은 래핑 알고리즘 선택을 참조하십시오.

  10. 래핑 퍼블릭 키 및 가져오기 토큰 다운로드를 선택한 후 파일을 저장합니다.

    다음 옵션이 있는 경우 지금 프로세스를 계속하려면 다음을 선택합니다. 나중에 계속하려면 취소를 선택합니다.

  11. 앞 단계에 저장한 .zip 파일(Import_Parameters_<key_id>_<timestamp>)의 압축을 해제합니다.

    폴더에는 다음 파일이 포함되어 있습니다.

    • 라는 이름의 파일에 있는 래핑 퍼블릭 키. WrappingPublicKey.bin

    • ImportToken.bin이라는 이름의 파일에 있는 가져오기 토큰입니다.

    • README.txt라는 이름의 텍스트 파일입니다. 이 파일에는 래핑 퍼블릭 키, 키 구성 요소를 암호화하는 데 사용할 래핑 알고리즘, 래핑 퍼블릭 키와 가져오기 토큰이 만료되는 날짜와 시간에 대한 정보가 포함되어 있습니다.

  12. 프로세스를 계속하려면 키 구성 요소를 암호화를 참조하십시오.

래핑 퍼블릭 키 및 임포트 토큰 (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-algorithm RSA_AES_KEY_WRAP_SHA_256 \ --wrapping-key-spec RSA_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로 디코딩하려면

  1. base64로 인코딩된 퍼블릭 키(예제 출력에 퍼블릭 키(base64로 인코딩됨)로 표시됨)를 복사하여 새 파일에 붙여넣은 후 파일을 저장합니다. PublicKey.b64와 같은 파일을 설명하는 이름을 지정합니다.

  2. OpenSSL을 이용해 파일의 콘텐츠를 base64로 디코딩하고 디코딩된 데이터를 새 파일에 저장합니다. 다음 예제는 앞의 단계에서 저장한 파일(PublicKey.b64)의 데이터를 디코딩하고 출력을 WrappingPublicKey.bin이라는 새 파일에 저장합니다.

    $ openssl enc -d -base64 -A -in PublicKey.b64 -out WrappingPublicKey.bin
  3. base64로 인코딩된 가져오기 토큰(예제 출력에 가져오기 토큰(base64로 인코딩됨)로 표시됨)을 복사하여 새 파일에 붙여넣은 후 파일을 저장합니다. importtoken.b64처럼 파일을 설명하는 이름을 지정합니다.

  4. OpenSSL을 이용해 파일의 콘텐츠를 base64로 디코딩하고 디코딩된 데이터를 새 파일에 저장합니다. 다음 예제는 앞의 단계에서 저장한 파일(ImportToken.b64)의 데이터를 디코딩하고 출력을 ImportToken.bin이라는 새 파일에 저장합니다.

    $ openssl enc -d -base64 -A -in importtoken.b64 -out ImportToken.bin

3단계: 키 구성 요소 암호화로 이동합니다.