Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara kerja SDK Enkripsi AWS Database
Pustaka enkripsi sisi klien kami diubah namanya menjadi SDK Enkripsi AWS Database. Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi DynamoDB. |
AWS Database Encryption SDK menyediakan pustaka enkripsi sisi klien yang dirancang khusus untuk melindungi data yang Anda simpan dalam database. Pustakanya meliputi implementasi aman yang dapat Anda perluas atau gunakan tanpa perubahan. Untuk informasi selengkapnya tentang mendefinisikan dan menggunakan komponen kustom, lihat GitHub repositori untuk implementasi database Anda.
Alur kerja di bagian ini menjelaskan cara SDK Enkripsi AWS Database mengenkripsi dan menandatangani serta mendekripsi serta memverifikasi data dalam database Anda. Alur kerja ini menjelaskan proses dasar menggunakan elemen abstrak dan fitur default. Untuk detail tentang cara kerja SDK Enkripsi AWS Database dengan implementasi database Anda, lihat topik Apa yang dienkripsi untuk database Anda.
AWS Database Encryption SDK menggunakan enkripsi amplop untuk melindungi data Anda. Setiap catatan dienkripsi di bawah kunci data unik. Kunci data digunakan untuk mendapatkan kunci enkripsi data unik untuk setiap bidang yang ditandai ENCRYPT_AND_SIGN
dalam tindakan kriptografi Anda. Kemudian, salinan kunci data dienkripsi oleh kunci pembungkus yang Anda tentukan. Untuk mendekripsi catatan terenkripsi, AWS Database Encryption SDK menggunakan kunci pembungkus yang Anda tentukan untuk mendekripsi setidaknya satu kunci data terenkripsi. Kemudian dapat mendekripsi ciphertext dan mengembalikan entri plaintext.
Untuk informasi selengkapnya tentang istilah yang digunakan dalam SDK Enkripsi AWS Database, lihatAWS SDKKonsep Enkripsi Database.
Enkripsi dan tandatangani
Pada intinya, AWS Database Encryption SDK adalah enkripsi rekaman yang mengenkripsi, menandatangani, memverifikasi, dan mendekripsi catatan dalam database Anda. Dibutuhkan informasi tentang catatan dan instruksi Anda tentang bidang mana yang akan dienkripsi dan ditandatangani. Ini mendapatkan materi enkripsi, dan instruksi tentang cara menggunakannya, dari manajer bahan kriptografi yang dikonfigurasi dari kunci pembungkus yang Anda tentukan.
Panduan berikut menjelaskan cara SDK Enkripsi AWS Database mengenkripsi dan menandatangani entri data Anda.
-
Manajer bahan kriptografi menyediakan SDK Enkripsi AWS Database dengan kunci enkripsi data unik: satu kunci data teks biasa, salinan kunci data yang dienkripsi oleh kunci pembungkus yang ditentukan, dan kunci MAC.
catatan
Anda dapat mengenkripsi kunci data di bawah beberapa kunci pembungkus. Masing-masing kunci pembungkus mengenkripsi salinan terpisah dari kunci data. AWS Database Encryption SDK menyimpan semua kunci data terenkripsi dalam deskripsi material. AWS Database Encryption SDK menambahkan field baru (
aws_dbe_head
) ke record yang menyimpan deskripsi material.Kunci MAC diturunkan untuk setiap salinan kunci data yang dienkripsi. Tombol MAC tidak disimpan dalam deskripsi materi. Sebagai gantinya, metode dekripsi menggunakan kunci pembungkus untuk mendapatkan kunci MAC lagi.
-
Metode enkripsi mengenkripsi setiap bidang yang ditandai seperti
ENCRYPT_AND_SIGN
dalam tindakan kriptografi yang Anda tentukan. -
Metode enkripsi berasal
commitKey
dari kunci data dan menggunakannya untuk menghasilkan nilai komitmen kunci, dan kemudian membuang kunci data. -
Metode enkripsi menambahkan deskripsi material ke catatan. Deskripsi materi berisi kunci data terenkripsi dan informasi lain tentang catatan terenkripsi. Untuk daftar lengkap informasi yang disertakan dalam deskripsi materi, lihat Format deskripsi materi.
-
Metode enkripsi menggunakan kunci MAC yang dikembalikan pada Langkah 1 untuk menghitung nilai Kode Otentikasi Pesan Berbasis Hash (HMAC) di atas kanonikalisasi deskripsi material, konteks enkripsi, dan setiap bidang yang ditandai
ENCRYPT_AND_SIGN
SIGN_ONLY
, atau dalam tindakan kriptografi.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Nilai HMAC disimpan dalam bidang baru (aws_dbe_foot
) yang ditambahkan metode enkripsi ke catatan. -
Metode enkripsi menghitung tanda tangan ECDSA atas kanonikalisasi deskripsi material, konteks enkripsi, dan setiap bidang yang ditandai
ENCRYPT_AND_SIGN
SIGN_ONLY
, atauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
dan menyimpan tanda tangan ECDSA di lapangan.aws_dbe_foot
catatan
Tanda tangan ECDSA diaktifkan secara default, tetapi tidak diperlukan.
-
Metode enkripsi menyimpan catatan terenkripsi dan ditandatangani dalam database Anda
Dekripsi dan verifikasi
-
-
CMM mendekripsi kunci data terenkripsi dengan kunci pembungkus di keyring yang ditentukan dan mengembalikan kunci data plaintext.
-
-
Metode dekripsi membandingkan dan memverifikasi nilai komitmen utama dalam deskripsi material.
-
Metode dekripsi memverifikasi tanda tangan di bidang tanda tangan.
Ini mengidentifikasi bidang mana yang ditandai
ENCRYPT_AND_SIGN
,SIGN_ONLY
, atauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
dari daftar bidang tidak diautentikasi yang diizinkan yang Anda tetapkan. Metode dekripsi menggunakan kunci MAC yang dikembalikan pada Langkah 1 untuk menghitung ulang dan membandingkan nilai HMAC untuk bidang yang ditandai,, atau.ENCRYPT_AND_SIGN
SIGN_ONLY
SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Kemudian, memverifikasi tanda tangan ECDSA menggunakan kunci publik yang disimpan dalam konteks enkripsi. -
Metode dekripsi menggunakan kunci data plaintext untuk mendekripsi setiap nilai yang ditandai.
ENCRYPT_AND_SIGN
AWS Database Encryption SDK kemudian membuang kunci data plaintext. -
Metode dekripsi mengembalikan catatan plaintext.