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

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

키 구성 요소 가져오기 2단계: 퍼블릭 키 및 가져오기 토큰 다운로드

키 구성 요소 없이 대칭 (고객 마스터 키)을 생성CMK한 후 해당 에 대한 퍼블릭 키와 가져오기 토큰을 다운로드합니다.CMK 키 구성 요소를 가져오려면 이러한 항목이 필요합니다. AWS Management 콘솔 또는 AWS KMS API를 사용해 단일 단계에서 두 항목을 모두 다운로드할 수 있습니다.

동일한 키 구성 요소를 CMK로 다시 가져오려는 경우에도 이러한 항목을 다운로드할 수 있습니다. 이 방법으로 키 구성 요소의 만료 시간을 변경하거나 만료되었거나 삭제된 키 구성 요소를 복원할 수 있습니다.

퍼블릭 키의 사용

키 구성 요소를 가져올 때 AWS KMS에 원시 키 구성 요소를 업로드하지 마십시오. 먼저 이 단계에 다운로드한 퍼블릭 키로 키 구성 요소를 암호화한 후, 암호화한 키 구성 요소를 AWS KMS에 업로드해야 합니다. AWS KMS가 암호화한 키 구성 요소를 받으면 해당하는 프라이빗 키를 이용해 해독합니다. AWS KMS에서 받는 퍼블릭 키는 2048비트 RSA 퍼블릭 키로, 항상 AWS 계정별로 고유한 값입니다.

가져오기 토큰 사용

가져오기 토큰에는 키 구성 요소가 올바르게 가져와지도록 보장하는 메타데이터가 포함됩니다. 암호화된 키 구성 요소를 AWS KMS에 업로드할 때 이 단계에 다운로드한 가져오기 토큰을 업로드해야 합니다.

래핑 알고리즘 선택

가져오기 동안 키 구성 요소를 보호하려면 래핑 키와 래핑 알고리즘을 사용해 이를 암호화합니다. 일반적으로 키 구성 요소를 보호하는 하드웨어 보안 모듈(HSM) 또는 키 관리 시스템에서 지원되는 알고리즘을 선택합니다. 다음 선택 항목으로 표현되는 세 가지 패딩 옵션 중 하나와 함께 RSA PKCS #1 암호화 스키마를 사용해야 합니다. 이 선택 항목은 AWS 기본 설정 순으로 나열됩니다. 이러한 선택 항목으로 표현된 스키마의 기술 세부 정보는 PKCS #1 버전 2.1 표준의 섹션 7에서 설명합니다.

  • 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 – PKCS #1 버전 1.5에서 설명한 패딩 형식으로 구성된 RSA 암호화 알고리즘입니다.

HSM 또는 키 관리 시스템에서 지원하는 경우, RSAES_OAEP_SHA_256을 이용해 키 구성 요소를 암호화하는 것이 좋습니다. 이 옵션을 사용할 수 없는 경우 RSAES_OAEP_SHA_1을 사용해야 합니다. 두 OAEP 모두 사용할 수 없는 경우 RSAES_PKCS1_V1_5를 사용해야 합니다. 키 구성 요소를 암호화하는 방법에 대한 내용은 키 구성 요소를 보호하는 키 관리 시스템이나 하드웨어 보안 모듈 설명서를 참조하십시오.

퍼블릭 키와 가져오기 토큰은 24시간 동안 유효합니다. 다운로드한 후 24시간 내에 이를 이용해 키 구성 요소를 가져오지 않을 경우, 새로 다운로드해야 합니다.

AWS Management 콘솔 또는 AWS KMS API를 이용해 퍼블릭 키와 가져오기 토큰을 다운로드할 수 있습니다. HTTP 요청을 하거나 AWS SDKs 또는 명령줄 도구 중 하나를 통해 직접 API를 사용할 수 있습니다.

퍼블릭 키와 가져오기 토큰을 다운로드하면 GetParametersForImport 항목이 로그에 추가되어 AWS CloudTrailGetParametersForImport 작업을 기록합니다. 항목은 CloudTrail 콘솔 또는 AWS KMS API 중 무엇을 사용하든 상관없이 동일합니다.AWS KMS

퍼블릭 키 및 가져오기 토큰 다운로드(console)

AWS Management 콘솔을 이용해 퍼블릭 키와 가져오기 토큰을 다운로드할 수 있습니다.

  1. 방금 키 구성 요소 없이 CMK를 생성하는 단계를 완료했고 Download wrapping key and import token(래핑 키 및 가져오기 토큰 다운로드) 페이지에 있는 경우 단계 8 단원으로 건너뜁니다.

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

  3. AWS 리전을 변경하려면 페이지의 오른쪽 위 모서리에 있는 리전 선택기를 사용합니다.

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

    작은 정보

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

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

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

    키 유형CMKs이 Symmetric(대칭)이고 Origin(오리진)EXTERNAL(외부)로만 키 구성 요소를 가져올 수 있습니다. 가져온 키 구성 요소로 CMKs를 생성하는 방법에 대한 자세한 내용은 AWS Key Management Service(AWS KMS)에서 키 구성 요소 가져오기 단원을 참조하십시오.

  7. Key material(키 구성 요소) 탭을 선택한 다음 Download wrapping key and import token(래핑 키 및 가져오기 토큰 다운로드)을 선택합니다.

    Key material(키 구성 요소) 탭은 Origin(오리진)CMKs 값이 EXTERNAL(외부)인 대칭 에만 나타납니다.

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

    3단계에서 OpenSSLEncrypt Key Material with 개념 증명 예제를 사용하여 키 구성 요소 암호화를 시도하려는 경우 RSAES_OAEP_SHA_1을 선택합니다.

  9. [Download wrapping key and import token]을 선택한 후 파일을 저장합니다.

    다음 옵션이 있는 경우 지금 프로세스를 계속하려면 다음을 선택합니다. 나중에 계속하려면 취소를 선택합니다. 그렇지 않고 창을 닫으려면 취소를 선택하거나 X를 클릭합니다.

  10. 앞 단계에 저장한 .zip 파일(ImportParameters.zip)의 압축을 해제합니다.

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

    • 이라는 파일의 래핑 키(퍼블릭 키)wrappingKeyCMK_key_ID_timestamp (예: wrappingKey_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909). 2048비트 RSA 퍼블릭 키입니다.

    • 이름이 importToken_인 파일의 가져오기 토큰CMK_key_ID_timestamp (예: importToken_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909).

    • README_라는 텍스트 파일CMK_key_ID_timestamp.txt(예: README_f44c4e20-f83c-48f4-adc6-a1ef38829760_0809092909.txt). 이 파일에는 래핑 키(퍼블릭 키), 키 구성 요소를 암호화하는 데 사용할 래핑 알고리즘, 래핑 키(퍼블릭 키)와 가져오기 토큰이 만료되는 날짜와 시간에 대한 정보가 포함되어 있습니다.

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

퍼블릭 키 및 가져오기 토큰 다운로드(AWS KMS API)

API를 사용하여 퍼블릭 키와 가져오기 토큰을 다운로드하려면 이러한 항목을 다운로드할 AWS KMS를 지정하는 GetParametersForImport 요청을 보냅니다.CMK 다음 예에서는 AWS CLI에서 이 작업을 수행하는 방법을 보여줍니다.

이 예제는 RSAES_OAEP_SHA_1을 암호화 옵션으로 지정합니다. 다른 옵션을 지정하려면 RSAES_OAEP_SHA_1RSAES_OAEP_SHA_256 또는 RSAES_PKCS1_V1_5로 바꿉니다. 을 퍼블릭 키와 가져오기 토큰을 다운로드할 1234abcd-12ab-34cd-56ef-1234567890ab의 키 ID로 바꿉니다.CMK 의 키 ID 또는 Amazon 리소스 이름(ARN)을 사용할 수 있지만, 이 작업에 대한 별칭을 사용할 수 없습니다.CMK

참고

3단계에서 OpenSSLEncrypt Key Material with 주요 자재 단계 가져오기 3: 키 재료 암호화 개념 증명 예제를 시도할 계획이라면 RSAES_OAEP_SHA_1을 지정하십시오.

$ aws kms get-parameters-for-import --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSAES_OAEP_SHA_1 \ --wrapping-key-spec RSA_2048

명령이 제대로 실행되면 다음과 비슷한 출력이 표시됩니다.

{ "ParametersValidTo": 1568290320.0, "PublicKey": "public key base64 encoded data", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token base64 encoded data" }

이 출력을 받으면 base64 인코딩된 퍼블릭 키와 가져오기 토큰을 별개의 파일에 저장합니다. 그러면 base64가 각 파일을 이진 데이터로 디코딩하고 새 파일에 이진 데이터를 저장합니다. 그러면 이러한 항목을 이후 단계에 사용할 준비가 완료됩니다. 다음 예를 참조하십시오.

이후 단계에 사용할 퍼블릭 키 및 가져오기 토큰을 준비하려면

  1. 퍼블릭 키의 base64 인코딩된 데이터(다음으로 표시됨) 복사 public key base64 encoded data 예제 출력의 를 사용하여 새 파일에 붙여 넣은 다음 파일을 저장합니다. PublicKey.b64처럼 파일을 설명하는 이름을 지정합니다.

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

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

가져오기 토큰에 대해 이 두 단계를 반복한 후 단계 3. 키 재료 암호화 단계로 넘어갑니다.