Enkripsi di sisi klien dan sisi server - AWS Enkripsi Database SDK

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

Enkripsi di sisi klien dan sisi server

Pustaka enkripsi sisi klien kami diubah namanya menjadi Enkripsi AWS Database. SDK Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi DynamoDB.

Enkripsi AWS Database SDK untuk DynamoDB mendukung enkripsi sisi klien, tempat Anda mengenkripsi data tabel sebelum mengirimkannya ke database Anda. Namun, DynamoDB menyediakan fitur enkripsi saat istirahat di sisi server yang secara transparan mengenkripsi tabel Anda ketika ditahan ke disk dan mendekripsinya ketika Anda mengakses tabel.

Alat-alat yang Anda pilih bergantung pada sensitivitas data Anda dan persyaratan keamanan aplikasi Anda. Anda dapat menggunakan Enkripsi AWS Database SDK untuk DynamoDB dan enkripsi saat istirahat. Ketika Anda mengirim item yang dienkripsi dan ditandatangani ke DynamoDB, DynamoDB tidak mengenali item sebagai dilindungi. DynamoDB hanya mendeteksi item tabel khas dengan nilai-nilai atribut biner.

Enkripsi sisi server saat istirahat

DynamoDB mendukung enkripsi saat istirahat, sebuah fitur enkripsi di sisi server yang mana DynamoDB secara transparan mengenkripsi tabel Anda untuk Anda ketika tabel bertahan untuk disk, dan mendekripsinya ketika Anda mengakses data tabel.

Saat Anda menggunakan an AWS SDK untuk berinteraksi dengan DynamoDB, secara default, data Anda dienkripsi saat transit melalui koneksi, didekripsi di titik akhir DynamoDB, dan kemudian dienkripsi ulang HTTPS sebelum disimpan di DynamoDB.

  • Enkripsi secara default. DynamoDB secara transparan mengenkripsi dan mendekripsi semua tabel saat ditulis. Tidak ada pilihan untuk mengaktifkan atau menonaktifkan enkripsi saat istirahat.

  • DynamoDB membuat dan mengelola kunci kriptografi.Kunci unik untuk setiap tabel dilindungi oleh AWS KMS keyyang tidak pernah meninggalkan AWS Key Management Service(AWS KMS) tidak terenkripsi. Secara default, DynamoDB menggunakan Kunci milik AWSdi akun layanan DynamoDB, tetapi Anda dapat memilih atau kunci Kunci yang dikelola AWSyang dikelola pelanggan di akun Anda untuk melindungi sebagian atau semua tabel Anda.

  • Semua data tabel dienkripsi pada disk.Ketika tabel yang dienkripsi disimpan ke disk, DynamoDB mengenkripsi semua data tabel, termasuk kunci primer serta indeks sekunder lokal dan global. Jika tabel Anda memiliki kunci sortir, beberapa kunci sortir yang menandai batas kisaran disimpan dalam plaintext dalam metadata tabel.

  • Objek yang terkait dengan tabel juga dienkripsi. Enkripsi saat istirahat melindungi DynamoDB Streams, tabel global, dan cadangan setiap kali ditulis untuk media tahan lama.

  • Item Anda didekripsi saat Anda mengaksesnya.Ketika Anda mengakses tabel, DynamoDB mendekripsi bagian dari tabel yang mencakup item target Anda, dan mengembalikan item plaintext untuk Anda.

AWS Enkripsi Database SDK untuk DynamoDB

Enkripsi sisi klien memberikan end-to-end perlindungan untuk data Anda, dalam perjalanan dan saat istirahat, dari sumbernya ke penyimpanan di DynamoDB. Data plaintext Anda tidak pernah diekspos ke pihak ketiga mana pun, termasuk. AWS Anda dapat menggunakan Enkripsi AWS Database SDK untuk DynamoDB dengan tabel DynamoDB baru, atau Anda dapat memigrasikan tabel Amazon DynamoDB yang ada ke versi 3. x dari pustaka enkripsi sisi klien Java untuk DynamoDB.

  • Data Anda dilindungi saat transit dan saat istirahat. Itu tidak pernah diekspos ke pihak ketiga mana pun, termasuk AWS.

  • Anda dapat menandatangani Item tabel Anda. Anda dapat mengarahkan Enkripsi AWS Database SDK untuk DynamoDB untuk menghitung tanda tangan atas semua atau sebagian item tabel, termasuk atribut kunci utama. Tanda tangan ini memungkinkan Anda untuk mendeteksi perubahan yang tidak sah pada item secara keseluruhan, termasuk menambahkan atau menghapus atribut, atau menukar nilai atribut.

  • Anda menentukan bagaimana data Anda dilindungi dengan memilih keyring. Keyring Anda menentukan kunci pembungkus yang melindungi kunci data Anda, dan akhirnya, data Anda. Gunakan kunci pembungkus paling aman yang praktis untuk tugas Anda.

  • Enkripsi AWS Database SDK untuk DynamoDB tidak mengenkripsi seluruh tabel. Anda memilih atribut mana yang dienkripsi dalam item Anda. Enkripsi AWS Database SDK untuk DynamoDB tidak mengenkripsi seluruh item. Ini tidak mengenkripsi nama atribut, atau nama atau nilai atribut kunci utama (kunci partisi dan kunci sortir).

AWS Encryption SDK

Jika Anda mengenkripsi data yang Anda simpan di DynamoDB, kami merekomendasikan Enkripsi Database untuk DynamoDB. AWS SDK

AWS Encryption SDK adalah pustaka enkripsi di sisi klien yang membantu Anda untuk mengenkripsi dan mendekripsi data generik. Meskipun dapat melindungi semua jenis data, ia tidak dirancang untuk bekerja dengan data terstruktur, seperti catatan basis data. Tidak seperti Enkripsi AWS Database SDK untuk DynamoDB, AWS Encryption SDK tidak dapat memberikan pemeriksaan integritas tingkat item dan tidak memiliki logika untuk mengenali atribut atau mencegah enkripsi kunci utama.

Jika Anda menggunakan AWS Encryption SDK untuk mengenkripsi elemen apa pun dari tabel Anda, ingat bahwa itu tidak kompatibel dengan Enkripsi AWS Database SDK untuk DynamoDB. Anda tidak dapat mengenkripsi dengan satu pustaka dan mendekripsinya dengan pustaka yang lain.