Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci KMS asimetris mewakili data key pair. Pasangan kunci data adalah kunci data asimetris yang terdiri dari kunci publik dan kunci pribadi yang terkait secara matematis. Mereka dirancang untuk digunakan dalam enkripsi dan dekripsi sisi klien, penandatanganan dan verifikasi di luar AWS KMS, atau untuk membangun rahasia bersama antara dua rekan.
Berbeda dengan pasangan kunci data yang dihasilkan alat seperti OpenSSL AWS KMS , melindungi kunci pribadi di setiap data key pair di bawah kunci KMS enkripsi simetris yang Anda tentukan. AWS KMS Namun, AWS KMS tidak menyimpan, mengelola, atau melacak pasangan kunci data Anda, atau melakukan operasi kriptografi dengan pasangan kunci data. Anda harus menggunakan dan mengelola pasangan kunci data di luar AWS KMS.
Membuat pasangan kunci data
Untuk membuat data key pair, panggil GenerateDataKeyPairor GenerateDataKeyPairWithoutPlaintextoperations. Tentukan kunci KMS enkripsi simetris yang ingin Anda gunakan untuk mengenkripsi kunci pribadi.
GenerateDataKeyPair
mengembalikan kunci publik plaintext, kunci privat plaintext, dan kunci privat terenkripsi. Gunakan operasi ini ketika Anda memerlukan kunci privat plaintext segera, seperti untuk menghasilkan tanda tangan digital.
GenerateDataKeyPairWithoutPlaintext
mengembalikan kunci publik plaintext dan kunci privat terenkripsi, tetapi bukan kunci privat plaintext. Gunakan operasi ini ketika Anda tidak memerlukan kunci privat plaintext segera, seperti ketika Anda mengenkripsi dengan kunci publik. Kemudian, ketika Anda membutuhkan kunci privat plaintext untuk mendekripsi data, Anda dapat memanggil operasi Decrypt.
Gambar berikut menunjukkan operasi GenerateDataKeyPair
. Operasi GenerateDataKeyPairWithoutPlaintext
menghilangkan kunci privat plaintext.

Bagaimana operasi kriptografi dengan pasangan kunci data bekerja
Topik berikut menjelaskan operasi kriptografi apa yang dapat Anda lakukan dengan pasangan kunci data yang dihasilkan oleh GenerateDataKeyPairWithoutPlaintextoperasi GenerateDataKeyPairatau atau cara kerjanya.
Mengenkripsi data dengan pasangan kunci data
Ketika Anda mengenkripsi dengan pasangan kunci data, Anda menggunakan kunci publik pasangan untuk mengenkripsi data dan kunci privat pasangan yang sama untuk mendekripsi data. Biasanya, Anda menggunakan pasangan kunci data ketika banyak pihak perlu mengenkripsi data yang hanya pihak dengan kunci pribadi yang dapat mendekripsi.
Pihak dengan kunci publik menggunakan kunci tersebut untuk mengenkripsi data, seperti yang ditunjukkan dalam diagram berikut.

Mendekripsi data dengan pasangan kunci data
Untuk mendekripsi data Anda, gunakan kunci privat dalam pasangan kunci data. Agar operasi berhasil, kunci publik dan privat harus berasal dari pasangan kunci data yang sama, dan Anda harus menggunakan algoritme enkripsi yang sama.
Untuk mendekripsi kunci privat terenkripsi, berikan kunci untuk operasi Decrypt. Gunakan kunci privat plaintext untuk mendekripsi data. Kemudian, hapus kunci privat plaintext dari memori sesegera mungkin.
Diagram berikut menunjukkan cara menggunakan kunci privat dalam pasangan kunci data untuk mendekripsi ciphertext.

Menandatangani pesan dengan pasangan kunci data
Untuk menghasilkan tanda tangan kriptografi untuk suatu pesan, gunakan kunci privat dalam pasangan kunci data. Siapa pun yang memiliki kunci publik dapat menggunakannya untuk memverifikasi bahwa pesan telah ditandatangani dengan kunci privat Anda dan bahwa pesan tersebut tidak berubah sejak ditandatangani.
Jika Anda mengenkripsi kunci pribadi Anda, teruskan kunci pribadi terenkripsi ke operasi Dekripsi. AWS KMS menggunakan kunci KMS Anda untuk mendekripsi kunci data dan kemudian mengembalikan kunci pribadi plaintext. Gunakan kunci privat plaintext untuk menghasilkan tanda tangan. Kemudian, hapus kunci privat plaintext dari memori sesegera mungkin.
Untuk menandatangani pesan, buat intisari pesan menggunakan fungsi hash kriptografi, seperti perintah dgst
Diagram berikut menunjukkan cara menggunakan kunci privat dalam pasangan kunci data untuk menandatangani pesan.

Memverifikasi tanda tangan dengan pasangan kunci data
Siapa pun yang memiliki kunci publik dalam pasangan kunci data Anda dapat menggunakannya untuk memverifikasi tanda tangan yang Anda hasilkan dengan kunci privat Anda. Verifikasi mengonfirmasi bahwa pengguna yang diotorisasi menandatangani pesan tersebut dengan kunci privat dan algoritme penandatanganan yang ditentukan, dan pesan tersebut tidak berubah sejak ditandatangani.
Agar berhasil, pihak yang memverifikasi tanda tangan harus menghasilkan jenis intisari yang sama, menggunakan algoritme yang sama, dan menggunakan kunci publik yang sesuai dengan kunci privat yang digunakan untuk menandatangani pesan.
Diagram berikut menunjukkan cara menggunakan kunci publik dalam pasangan kunci data untuk memverifikasi pesan.

Dapatkan rahasia bersama dengan pasangan kunci data
Kesepakatan kunci memungkinkan dua rekan, masing-masing memiliki elliptic-curve public-private key pair, untuk membangun rahasia bersama melalui saluran yang tidak aman. Untuk mendapatkan rahasia bersama, kedua rekan harus bertukar kunci publik mereka melalui saluran komunikasi yang tidak aman (seperti internet). Kemudian, masing-masing pihak menggunakan kunci pribadi mereka dan kunci publik rekan mereka untuk menghitung rahasia bersama yang sama menggunakan algoritma perjanjian kunci. Anda dapat menggunakan nilai rahasia bersama untuk mendapatkan kunci simetris yang dapat mengenkripsi dan mendekripsi data yang dikirim antara dua rekan, atau yang dapat menghasilkan dan memverifikasi. HMACs
catatan
AWS KMS sangat menyarankan untuk memverifikasi bahwa kunci publik yang Anda terima berasal dari pihak yang diharapkan sebelum menggunakannya untuk mendapatkan rahasia bersama.