Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ECDHGantungan kunci mentah
Pustaka enkripsi sisi klien kami diubah namanya menjadi Enkripsi AWS Database. SDK Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi DynamoDB. |
penting
Raw ECDH keyring hanya tersedia dengan versi 1.5.0 dari Perpustakaan Penyedia Material.
Raw ECDH keyring menggunakan kurva elips pasangan kunci publik-pribadi yang Anda berikan untuk mendapatkan kunci pembungkus bersama antara dua pihak. Pertama, keyring memperoleh rahasia bersama menggunakan kunci pribadi pengirim, kunci publik penerima, dan algoritma perjanjian kunci Elliptic Curve Diffie-Hellman (). ECDH Kemudian, keyring menggunakan rahasia bersama untuk mendapatkan kunci pembungkus bersama yang melindungi kunci enkripsi data Anda. Fungsi derivasi kunci yang SDK digunakan Enkripsi AWS Database (KDF_CTR_HMAC_SHA384
) untuk mendapatkan kunci pembungkus bersama sesuai dengan NISTrekomendasi
Fungsi derivasi kunci mengembalikan 64 byte bahan kunci. Untuk memastikan bahwa kedua belah pihak menggunakan bahan kunci yang benar, Enkripsi AWS Database SDK menggunakan 32 byte pertama sebagai kunci komitmen dan 32 byte terakhir sebagai kunci pembungkus bersama. Saat mendekripsi, jika keyring tidak dapat mereproduksi kunci komitmen yang sama dan kunci pembungkus bersama yang disimpan di bidang deskripsi material dari catatan terenkripsi, operasi gagal. Misalnya, jika Anda mengenkripsi rekaman dengan keyring yang dikonfigurasi dengan kunci pribadi Alice dan kunci publik Bob, keyring yang dikonfigurasi dengan kunci pribadi Bob dan kunci publik Alice akan mereproduksi kunci komitmen yang sama dan kunci pembungkus bersama dan dapat mendekripsi catatan. Jika kunci publik Bob berasal dari AWS KMS key sepasang, maka Bob dapat membuat AWS KMS ECDHkeyring untuk mendekripsi catatan.
Raw ECDH keyring mengenkripsi catatan dengan kunci simetris menggunakan -. AES GCM Kunci data kemudian dienkripsi dengan kunci pembungkus bersama turunan menggunakan -. AES GCM Setiap ECDH keyring Raw hanya dapat memiliki satu kunci pembungkus bersama, tetapi Anda dapat menyertakan beberapa ECDH gantungan kunci Raw, sendiri atau dengan gantungan kunci lainnya, dalam multi-keyring.
Anda bertanggung jawab untuk membuat, menyimpan, dan melindungi kunci pribadi Anda, sebaiknya dalam modul keamanan perangkat keras (HSM) atau sistem manajemen kunci. Pasangan kunci pengirim dan penerima banyak berada pada kurva elips yang sama. Enkripsi AWS Database SDK mendukung spesifikasi elips cuve berikut:
ECC_NIST_P256
ECC_NIST_P384
ECC_NIST_P512
Membuat ECDH keyring Raw
Raw ECDH keyring mendukung tiga skema perjanjian utama:RawPrivateKeyToStaticPublicKey
,EphemeralPrivateKeyToStaticPublicKey
, dan. PublicKeyDiscovery
Skema perjanjian utama yang Anda pilih menentukan operasi kriptografi mana yang dapat Anda lakukan dan bagaimana bahan kunci dirakit.
RawPrivateKeyToStaticPublicKey
Gunakan skema perjanjian RawPrivateKeyToStaticPublicKey
kunci untuk mengonfigurasi kunci pribadi pengirim dan kunci publik penerima secara statis di keyring. Skema perjanjian kunci ini dapat mengenkripsi dan mendekripsi catatan.
Untuk menginisialisasi ECDH keyring Raw dengan skema perjanjian RawPrivateKeyToStaticPublicKey
kunci, berikan nilai-nilai berikut:
-
Kunci pribadi pengirim
-
Kunci publik penerima
Anda dapat menentukan kunci publik dari key agreement KMS key pair asimetris atau kunci publik dari key pair yang dihasilkan di luar. AWS
-
Spesifikasi kurva
Mengidentifikasi spesifikasi kurva elips dalam pasangan kunci yang ditentukan. Pasangan kunci pengirim dan penerima harus memiliki spesifikasi kurva yang sama.
Nilai valid:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
EphemeralPrivateKeyToStaticPublicKey
Keyrings yang dikonfigurasi dengan skema perjanjian EphemeralPrivateKeyToStaticPublicKey
kunci membuat key pair baru secara lokal dan mendapatkan kunci pembungkus bersama yang unik untuk setiap panggilan enkripsi.
Skema perjanjian kunci ini hanya dapat mengenkripsi catatan. Untuk mendekripsi catatan yang dienkripsi dengan skema perjanjian EphemeralPrivateKeyToStaticPublicKey
kunci, Anda harus menggunakan skema perjanjian kunci penemuan yang dikonfigurasi dengan kunci publik penerima yang sama. Untuk mendekripsi, Anda dapat menggunakan ECDH keyring Raw dengan algoritma perjanjian PublicKeyDiscoverykunci, atau, jika kunci publik penerima berasal dari key pair KMS perjanjian kunci asimetris, Anda dapat menggunakan AWS KMS ECDH keyring dengan skema perjanjian kunci. KmsPublicKeyDiscovery
Untuk menginisialisasi ECDH keyring Raw dengan skema perjanjian EphemeralPrivateKeyToStaticPublicKey
kunci, berikan nilai-nilai berikut:
-
Kunci publik penerima
Anda dapat menentukan kunci publik dari key agreement KMS key pair asimetris atau kunci publik dari key pair yang dihasilkan di luar. AWS
-
Spesifikasi kurva
Mengidentifikasi spesifikasi kurva elips dalam kunci publik yang ditentukan.
Pada enkripsi, keyring membuat key pair baru pada kurva yang ditentukan dan menggunakan kunci pribadi baru dan kunci publik tertentu untuk mendapatkan kunci pembungkus bersama.
Nilai valid:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
PublicKeyDiscovery
Saat mendekripsi, ini adalah praktik terbaik untuk menentukan kunci pembungkus yang dapat digunakan oleh Enkripsi AWS SDK Database. Untuk mengikuti praktik terbaik ini, gunakan ECDH keyring yang menentukan kunci pribadi pengirim dan kunci publik penerima. Namun, Anda juga dapat membuat keyring ECDH penemuan Raw, yaitu keyring Raw ECDH yang dapat mendekripsi rekaman apa pun di mana kunci publik kunci yang ditentukan cocok dengan kunci publik penerima yang disimpan di bidang deskripsi materi dari catatan terenkripsi. Skema perjanjian kunci ini hanya dapat mendekripsi catatan.
penting
Ketika Anda mendekripsi catatan menggunakan skema perjanjian PublicKeyDiscovery
kunci, Anda menerima semua kunci publik, terlepas dari siapa yang memilikinya.
Untuk menginisialisasi ECDH keyring Raw dengan skema perjanjian PublicKeyDiscovery
kunci, berikan nilai-nilai berikut:
-
Kunci pribadi statis penerima
-
Spesifikasi kurva
Mengidentifikasi spesifikasi kurva elips dalam kunci pribadi yang ditentukan. Pasangan kunci pengirim dan penerima harus memiliki spesifikasi kurva yang sama.
Nilai valid:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512