Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Suite algoritma yang didukung dalam Enkripsi AWS Database SDK
Pustaka enkripsi sisi klien kami diubah namanya menjadi Enkripsi AWS Database. SDK Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi DynamoDB. |
Sebuah algoritma suite adalah kumpulan algoritma kriptografi dan nilai-nilai terkait. Sistem kriptografi menggunakan implementasi algoritma untuk menghasilkan ciphertext.
Enkripsi AWS Database SDK menggunakan rangkaian algoritma untuk mengenkripsi dan menandatangani bidang dalam database Anda. Semua rangkaian algoritma yang didukung menggunakan algoritma Advanced Encryption Standard (AES) dengan Galois/Counter Mode (GCM), yang dikenal sebagai AES -GCM, untuk mengenkripsi data mentah. Enkripsi AWS Database SDK mendukung kunci enkripsi 256-bit. Panjang tag otentikasi selalu 16 byte.
Algoritme | Enkripsi algoritme | Panjang kunci data (dalam bit) | Algoritma derivasi kunci | Algoritma tanda tangan simetris | Algoritma tanda tangan asimetris | Komitmen utama |
---|---|---|---|---|---|---|
Default | AES-GCM | 256 | HKDFdengan SHA -512 | HMAC- SHA -384 | ECDSAdengan P-384 dan -384 SHA | HKDFdengan SHA -512 |
AES- GCM tanpa tanda tangan ECDSA digital | AES-GCM | 256 | HKDFdengan SHA -512 | HMAC- SHA -384 | Tidak ada | HKDFdengan SHA -512 |
- Enkripsi algoritme
-
Nama dan mode algoritma enkripsi yang digunakan. Suite algoritma dalam Enkripsi AWS Database SDK menggunakan algoritma Advanced Encryption Standard (AES) dengan Galois/Counter Mode (). GCM
- Panjang kunci data
-
Panjang kunci data dalam bit. Enkripsi AWS Database SDK mendukung kunci data 256-bit. Kunci data digunakan sebagai masukan ke fungsi derivasi extract-and-expand kunci HMAC berbasis (HKDF). Output dari HKDF digunakan sebagai kunci enkripsi data dalam algoritma enkripsi.
- Algoritma derivasi kunci
-
Fungsi derivasi extract-and-expand kunci HMAC berbasis (HKDF) digunakan untuk menurunkan kunci enkripsi data. Enkripsi AWS Database SDK menggunakan yang HKDF didefinisikan dalam RFC5869
. -
Fungsi hash yang digunakan adalah SHA -512
-
Untuk langkah ekstrak:
-
Tidak ada garam yang digunakan. PerRFC, garam diatur ke untaian nol.
-
Bahan kunci input adalah kunci data dari keyring.
-
-
Untuk langkah perluasan:
-
Kunci pseudorandom input adalah output dari langkah ekstrak.
-
Label kuncinya adalah byte UTF -8 yang dikodekan dari
DERIVEKEY
string dalam urutan byte endian besar. -
Info input adalah gabungan dari ID algoritma dan label kunci (dalam urutan itu).
-
Panjang bahan kunci keluaran adalah panjang kunci Data. Output ini digunakan sebagai kunci enkripsi data dalam algoritma enkripsi.
-
-
- Algoritma tanda tangan simetris
-
Algoritma Hash Based Message Authentication Code (HMAC) digunakan untuk menghasilkan tanda tangan simetris. Semua suite algoritma yang didukung termasuk HMAC verifikasi.
Enkripsi AWS Database SDK membuat serialisasi deskripsi material dan semua bidang yang ditandai
ENCRYPT_AND_SIGN
,SIGN_ONLY
, atauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Kemudian, ia menggunakan HMAC dengan algoritma fungsi hash kriptografi (SHA-384) untuk menandatangani kanonikalisasi.HMACTanda tangan simetris disimpan di bidang baru (
aws_dbe_foot
) yang SDK ditambahkan Enkripsi AWS Database ke catatan. - Algoritma tanda tangan asimetris
-
Algoritma tanda tangan digunakan untuk menghasilkan tanda tangan digital asimetris.
Enkripsi AWS Database SDK membuat serialisasi deskripsi material dan semua bidang yang ditandai
ENCRYPT_AND_SIGN
,SIGN_ONLY
, atauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Kemudian, ia menggunakan Elliptic Curve Digital Signature Algorithm (ECDSA) dengan spesifikasi berikut untuk menandatangani kanonikalisasi:-
Kurva elips yang digunakan adalah P-384, sebagaimana didefinisikan dalam Digital Signature Standard (DSS) (186-4)
. FIPS PUB -
Fungsi hash yang digunakan adalah SHA -384.
ECDSATanda tangan asimetris disimpan dengan tanda HMAC tangan simetris di lapangan.
aws_dbe_foot
ECDSAtanda tangan digital disertakan secara default, tetapi tidak diperlukan.
-
- Komitmen utama
-
Fungsi derivasi extract-and-expand kunci HMAC berbasis (HKDF) digunakan untuk menurunkan kunci komit.
-
Fungsi hash yang digunakan adalah SHA -512
-
Untuk langkah ekstrak:
-
Tidak ada garam yang digunakan. PerRFC, garam diatur ke untaian nol.
-
Bahan kunci input adalah kunci data dari keyring.
-
-
Untuk langkah perluasan:
-
Kunci pseudorandom input adalah output dari langkah ekstrak.
-
Info masukan adalah byte UTF -8 yang dikodekan dari
COMMITKEY
string dalam urutan byte endian besar. -
Panjang bahan kunci keluaran adalah 256 bit. Output ini digunakan sebagai kunci komit.
-
Kunci komit menghitung komitmen rekaman, hash Kode Otentikasi Pesan Berbasis Hash 256-bit yang berbeda (HMAC), di atas deskripsi materi. Untuk penjelasan teknis tentang menambahkan komitmen kunci ke rangkaian algoritme, lihat Key Committing AEADs
in Cryptology ePrint Archive. -
Rangkaian algoritme default
Secara default, Enkripsi AWS Database SDK menggunakan rangkaian algoritma dengan AES -GCM, fungsi derivasi extract-and-expand kunci HMAC berbasis (HKDF), HMAC verifikasi, tanda tangan ECDSA digital, komitmen kunci, dan kunci enkripsi 256-bit.
Rangkaian algoritme default mencakup HMAC verifikasi (tanda tangan simetris) dan tanda tangan ECDSAdigital (tanda tangan asimetris). Tanda tangan ini disimpan di bidang baru (aws_dbe_foot
) yang SDK ditambahkan Enkripsi AWS Database ke catatan. ECDSAtanda tangan digital sangat berguna ketika kebijakan otorisasi memungkinkan satu set pengguna untuk mengenkripsi data dan satu set pengguna yang berbeda untuk mendekripsi data.
Rangkaian algoritme default juga memperoleh komitmen utama — HMAC hash yang mengikat kunci data ke catatan. Nilai komitmen utama HMAC dihitung dari deskripsi material dan kunci komit. Nilai komitmen utama kemudian disimpan dalam deskripsi materi. Komitmen utama memastikan bahwa setiap ciphertext hanya mendekripsi menjadi satu teks biasa. Mereka melakukan ini dengan memvalidasi kunci data yang digunakan sebagai input ke algoritma enkripsi. Saat mengenkripsi, rangkaian algoritme memperoleh komitmen utama. HMAC Sebelum mendekripsi, mereka memvalidasi bahwa kunci data menghasilkan komitmen kunci yang sama. HMAC Jika tidak, panggilan dekripsi gagal.
AES- GCM tanpa tanda tangan ECDSA digital
Meskipun rangkaian algoritme default kemungkinan cocok untuk sebagian besar aplikasi, Anda dapat memilih rangkaian algoritme alternatif. Misalnya, beberapa model kepercayaan akan dipenuhi oleh rangkaian algoritma tanpa tanda tangan ECDSA digital. Gunakan suite ini hanya ketika pengguna yang mengenkripsi data dan pengguna yang mendekripsi data sama-sama dipercaya.
Semua rangkaian SDK algoritma Enkripsi AWS Database menyertakan HMAC verifikasi (tanda tangan simetris). Satu-satunya perbedaan, adalah bahwa AES - GCM algoritma suite tanpa tanda tangan ECDSA digital tidak memiliki tanda tangan asimetris yang memberikan lapisan tambahan keaslian dan non-penolakan.
Misalnya, jika Anda memiliki beberapa kunci pembungkus di keyring,,, dan wrappingKeyA
wrappingKeyB
wrappingKeyC
, dan Anda mendekripsi rekaman menggunakanwrappingKeyA
, tanda tangan HMAC simetris memverifikasi bahwa catatan dienkripsi oleh pengguna dengan akses ke. wrappingKeyA
Jika Anda menggunakan rangkaian algoritme default, HMACs berikan verifikasi yang samawrappingKeyA
, dan juga menggunakan tanda tangan ECDSA digital untuk memastikan catatan dienkripsi oleh pengguna dengan izin enkripsi untuk. wrappingKeyA
Untuk memilih rangkaian AES - GCM algoritma tanpa tanda tangan digital, sertakan cuplikan berikut dalam konfigurasi enkripsi Anda.