Dekripsi - AWS Key Management Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Dekripsi

Panggilan AWS KMS untuk mendekripsi nilai ciphertext menerima ciphertext nilai terenkripsi dan konteks enkripsi. AWS KMS mengotentikasi panggilan menggunakan permintaan AWS tanda tangan versi 4 yang ditandatangani dan mengekstrak HBKID untuk kunci pembungkus dari ciphertext. HBKID digunakan untuk mendapatkan EKT yang diperlukan untuk mendekripsi ciphertext, ID kunci, dan kebijakan untuk ID kunci. Permintaan diizinkan berdasarkan kebijakan kunci, bantuan yang mungkin ada, dan kebijakan IAM terkait yang merujuk pada ID kunci. Parameter Decrypt berfungsi analog dengan fungsi enkripsi.

Berikut hasil sintaks permintaan Decrypt.

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

Berikut ini adalah parameter permintaan.

CiphertextBlob

Ciphertext termasuk metadata.

EncryptionContext

(Opsional) Konteks enkripsi. Jika ditentukan dalam fungsi Encrypt, hal ini harus ditentukan di sini atau operasi dekripsi gagal. Untuk informasi lebih lanjut, lihat Konteks enkripsi di Panduan Pengembang AWS Key Management Service .

GrantTokens

(Opsional) Daftar token bantuan yang mewakili bantuan yang memberikan izin untuk melakukan dekripsi.

Parameter ciphertext dan EKT dikirim, bersama dengan konteks enkripsi, selama sesi autentikasi untuk HSM untuk dekripsi.

HSM menjalankan berikut ini:

  1. Mendekripsi EKT untuk mendapatkan HBK = Dekripsi (DKi, EKT) .

  2. Mengekstrak nonce N dari struktur ciphertext.

  3. Membuat kunci enkripsi AES-GCM 256-bit K dari HBK dan N.

  4. Mendekripsi ciphertext untuk mendapatkan plaintext = Dekripsi (K, konteks, ciphertext).

ID kunci dan plaintext yang dihasilkan dikembalikan ke AWS KMS host selama sesi aman dan kemudian kembali ke aplikasi pelanggan yang memanggil melalui koneksi TLS.

Berikut ini adalah sintaks responsnya.

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

Jika aplikasi panggilan ingin memastikan keaslian plaintext, harus diverifikasi bahwa ID kunci yang dikembalikan adalah ID kunci yang diharapkan.