Decrypt - AWS Key Management Service

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

Decrypt

암호 텍스트 값을 복호화 AWS KMS 하기 위한 호출은 암호화된 값 암호 텍스트 및 암호화 컨텍스트를 수락합니다.는 AWS 서명 버전 4 서명된 요청을 사용하여 호출을 AWS KMS 인증하고 암호 텍스트에서 래핑 키의 HBKID를 추출합니다. HBKID는 암호화 텍스트, 키 ID 및 키 ID에 대한 정책을 복호화하는 데 필요한 EKT를 가져오는 데 사용됩니다. 이 요청에는 키 정책, 존재할 수 있는 권한 부여, 그리고 키 ID를 참조하는 연결된 IAM 정책에 따라 권한이 부여됩니다. Decrypt 함수는 암호화 함수와 유사합니다.

다음은 Decrypt 요청 구문입니다.

{ "CiphertextBlob": "blob", "EncryptionContext": { "string" : "string" } "GrantTokens": ["string"] }

요청 파라미터는 다음과 같습니다.

CiphertextBlob

메타데이터가 포함된 암호화 텍스트입니다.

EncryptionContext

(선택 사항) 암호화 컨텍스트입니다. Encrypt 함수에 이 값을 지정한 경우 여기에서도 지정해야 하며, 그렇지 않으면 복호화 작업이 실패합니다. 자세한 내용은 AWS Key Management Service 개발자 가이드에서 암호화 컨텍스트를 참조하세요.

GrantTokens

(선택 사항) 복호화 작업을 수행할 권한을 제공하는 권한 부여를 나타내는 권한 부여 토큰 목록입니다.

암호화 텍스트EKT는 복호화를 위해 인증된 세션을 통해 암호화 컨텍스트와 함께 HSM에 전송됩니다.

HSM은 다음을 실행합니다.

  1. EKT를 복호화하여 HBK = Decrypt(DKi, EKT)를 가져옵니다.

  2. 암호화 텍스트 구조에서 임의의 N을 추출합니다.

  3. HBKN에서 256비트 AES-GCM 파생 암호화 키 K를 다시 생성합니다.

  4. 암호화 텍스트를 복호화하여 plaintext = Decrypt(K, context, ciphertext)를 가져옵니다.

결과 키 ID와 일반 텍스트는 보안 세션을 통해 AWS KMS 호스트로 반환된 다음 TLS 연결을 통해 호출하는 고객 애플리케이션으로 다시 반환됩니다.

응답 구문은 다음과 같습니다.

{ "KeyId": "string", "Plaintext": blob }

호출 애플리케이션이 일반 텍스트의 신뢰성을 확인하려는 경우 반환되는 키 ID가 올바른 ID인지 확인해야 합니다.