키를 AWS 키 관리 서비스로 가져오려면 어떻게 해야 하나요?

3분 분량
0

AWS 서비스에서 256비트 대칭 키를 사용할 수 있도록 키 자료를 AWS Key Management Service(AWS KMS)로 가져오려고 합니다.

해결 방법

AWS KMS를 사용하면 키 자료를 AWS KMS 키로 가져올 수 있습니다. 그런 다음, 이 키를 AWS KMS에서 지원하는 AWS 서비스와 함께 사용할 수 있습니다.
키 자료를 AWS KMS로 가져오려면 다음 단계를 따르세요.
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

  1. 키 구성 요소 없이 AWS KMS 키를 생성하고 AWS KMS 키의 ID를 기록해 둡니다.
    참고: 키 관리 권한 정의키 사용 권한 정의의 경우, 키 관리자와 키 역할을 분리하는 것이 가장 좋습니다. 이렇게 하면 두 보안 인증 정보가 모두 노출될 경우 영향을 제한할 수 있습니다.

  2. 로컬 컴퓨터 또는 OpenSSL이 설치된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 터미널을 엽니다.

  3. 256비트 대칭 키를 생성하려면 다음 명령을 실행합니다.

    openssl rand -out PlaintextKeyMaterial.bin 32
  4. 키를 설명하고 가져오기 위한 파라미터를 가져오려면, 다음 AWS CLI 명령을 실행합니다.
    참고: 이 명령은 공개 키 및 가져오기 토큰 파라미터를 변수에 저장합니다.

    export KEY=`aws kms --region eu-west-2 get-parameters-for-import --key-id example1-2345-67ab-9123-456789abcdef --wrapping-algorithm RSAES_OAEP_SHA_256 --wrapping-key-spec RSA_2048 --query '{Key:PublicKey,Token:ImportToken}' --output text`
  5. 공개 키와 가져오기 토큰을 별도의 base64 인코딩 파일에 배치하려면, 다음 명령을 실행합니다.

    echo $KEY | awk '{print $1}' > PublicKey.b64echo $KEY | awk '{print $2}' > ImportToken.b64
  6. base64로 인코딩된 파일을 가져올 바이너리 파일로 변환하려면, 다음 명령을 실행합니다.

    openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.binopenssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin
  7. 바이너리 파일로 변환한 공개 키로 키 자료를 암호화하려면, 다음 명령을 실행합니다.

    openssl pkeyutl -in PlaintextKeyMaterial.bin -out EncryptedKeyMaterial.bin -inkey PublicKey.bin -keyform DER -pubin -encrypt -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256
  8. 암호화된 키 자료를 AWS KMS로 가져오려면, 다음 명령을 실행합니다.
    참고: 이 예에서는 키 자료가 만료되지 않도록 지정되어 있지만 키 자료의 만료 날짜를 설정할 수 있습니다. 자세한 내용을 보려면 ExpirationModel을 참조하세요.

    aws kms --region eu-west-2 import-key-material --key-id example1-2345-67ab-9123-456789abcdef --encrypted-key-material fileb://EncryptedKeyMaterial.bin --import-token fileb://ImportToken.bin --expiration-model KEY_MATERIAL_DOES_NOT_EXPIRE
  9. 가져온 키 상태가 활성화됨으로 설정되어 있는지 확인합니다. 이렇게 하려면 AWS KMS 콘솔에서 키를 검토하거나 DescribeKey API 작업을 실행하세요.

키를 가져올 수 없는 경우, 사용 사례에 맞는 다음 단계를 따르세요.

  • 24시간 이상 기다렸으며 가져오기 토큰이 만료되었습니다. 이 문제를 해결하려면, 래핑 키와 가져오기 토큰을 다시 다운로드하여 키 자료를 다시 암호화하세요.
  • 키 자료가 256비트 대칭 키가 아닙니다. 이 문제를 해결하려면, 암호화된 키 자료의 파일 크기가 32바이트인지 확인하세요. 파일 크기를 확인하려면, 다음 명령 중 하나를 실행합니다.

Linux

wc -c <filename>.bin

Windows

자세한 내용을 보려면 AWS KMS 키에서 키 자료 가져오기를 참조하세요.

dir <filename>.bin

관련 정보

OpenSSL을 사용하여 키를 AWS KMS로 가져오는 중인데 "InvalidCiphertext" 오류가 발생했습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 3달 전