Beacon - AWS SDK Enkripsi Basis Data

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

Beacon

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

Beacon adalah tag Hash Based Message Authentication Code (HMAC) terpotong yang membuat peta antara nilai plaintext yang ditulis ke bidang dan nilai terenkripsi yang sebenarnya disimpan dalam database Anda. Beacon tidak mengubah status lapangan yang dienkripsi. Beacon menghitung HMAC atas nilai plaintext bidang dan menyimpannya di samping nilai terenkripsi. Output HMAC ini adalah kecocokan satu-ke-satu (1:1) untuk nilai plaintext dari bidang itu. Output HMAC terpotong sehingga beberapa nilai plaintext yang berbeda dipetakan ke tag HMAC terpotong yang sama. Positif palsu ini membatasi kemampuan pengguna yang tidak sah untuk mengidentifikasi informasi yang membedakan tentang nilai plaintext.

Beacon hanya dapat dibangun dari bidang yang ditandaiENCRYPT_AND_SIGN,SIGN_ONLY, atau SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT dalam tindakan kriptografi Anda. Suar itu sendiri tidak ditandatangani atau dienkripsi. Anda tidak dapat membangun suar dengan bidang yang ditandai. DO_NOTHING

Jenis suar yang Anda konfigurasikan menentukan jenis kueri yang dapat Anda lakukan. Ada dua jenis beacon yang mendukung enkripsi yang dapat dicari. Suar standar melakukan pencarian kesetaraan. Compound beacon menggabungkan string plaintext literal dan beacon standar untuk melakukan operasi database yang kompleks. Setelah Anda mengkonfigurasi beacon Anda, Anda harus mengkonfigurasi indeks sekunder untuk setiap suar sebelum Anda dapat mencari di bidang terenkripsi. Untuk informasi selengkapnya, lihat Mengkonfigurasi indeks sekunder dengan beacon.

Suar standar

Beacon standar adalah cara paling sederhana untuk menerapkan enkripsi yang dapat dicari di database Anda. Mereka hanya dapat melakukan pencarian kesetaraan untuk satu bidang terenkripsi atau virtual. Untuk mempelajari cara mengonfigurasi suar standar, lihat Mengonfigurasi suar standar.

Bidang tempat suar standar dibangun dari disebut sumber suar. Ini mengidentifikasi lokasi data yang perlu dipetakan oleh suar. Sumber suar dapat berupa bidang terenkripsi atau bidang virtual. Sumber suar di setiap suar standar harus unik. Anda tidak dapat mengonfigurasi dua beacon dengan sumber suar yang sama.

Beacon standar dapat digunakan untuk melakukan pencarian kesetaraan untuk bidang terenkripsi atau virtual. Atau, mereka dapat digunakan untuk membangun suar majemuk untuk melakukan operasi database yang lebih kompleks. Untuk membantu Anda mengatur dan mengelola beacon standar, AWS Database Encryption SDK menyediakan gaya beacon opsional berikut yang menentukan tujuan penggunaan suar standar. Untuk informasi selengkapnya lihat, Mendefinisikan gaya suar.

Anda dapat membuat suar standar yang melakukan pencarian kesetaraan untuk satu bidang terenkripsi, atau Anda dapat membuat suar standar yang melakukan pencarian kesetaraan pada rangkaian beberapa,, dan bidang dengan membuat bidang virtual. ENCRYPT_AND_SIGN SIGN_ONLY SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT

Bidang virtual

Bidang virtual adalah bidang konseptual yang dibangun dari satu atau lebih bidang sumber. Membuat bidang virtual tidak menulis bidang baru ke catatan Anda. Bidang virtual tidak secara eksplisit disimpan dalam database Anda. Ini digunakan dalam konfigurasi suar standar untuk memberikan instruksi suar tentang cara mengidentifikasi segmen tertentu dari bidang atau menggabungkan beberapa bidang dalam catatan untuk melakukan kueri tertentu. Bidang virtual membutuhkan setidaknya satu bidang terenkripsi.

catatan

Contoh berikut menunjukkan jenis transformasi dan kueri yang dapat Anda lakukan dengan bidang virtual. Dalam aplikasi, bidang contoh yang digunakan dalam contoh ini mungkin tidak memenuhi rekomendasi keunikan distribusi dan korelasi untuk beacon.

Misalnya, jika Anda ingin melakukan pencarian kesetaraan pada rangkaian FirstName dan LastName bidang, Anda dapat membuat salah satu bidang virtual berikut.

  • NameTagBidang virtual, dibangun dari huruf pertama FirstName lapangan, diikuti oleh LastName bidang, semuanya dalam huruf kecil. Bidang virtual ini memungkinkan Anda untuk melakukan queryNameTag=mjones.

  • LastFirstBidang virtual, yang dibangun dari LastName lapangan, diikuti oleh FirstName lapangan. Bidang virtual ini memungkinkan Anda untuk melakukan queryLastFirst=JonesMary.

Atau, jika Anda ingin melakukan pencarian kesetaraan pada segmen tertentu dari bidang terenkripsi, buat bidang virtual yang mengidentifikasi segmen yang ingin Anda kueri.

Misalnya, jika Anda ingin menanyakan IPAddress bidang terenkripsi menggunakan tiga segmen pertama dari alamat IP, buat bidang virtual berikut.

  • IPSegmentBidang virtual, dibangun dariSegments(‘.’, 0, 3). Bidang virtual ini memungkinkan Anda untuk melakukan queryIPSegment=192.0.2. Kueri mengembalikan semua catatan dengan IPAddress nilai yang dimulai dengan “192.0.2".

Bidang virtual harus unik. Dua bidang virtual tidak dapat dibangun dari bidang sumber yang sama persis.

Untuk bantuan mengonfigurasi bidang virtual dan beacon yang menggunakannya, lihat Membuat bidang virtual.

Suar majemuk

Compound beacon membuat indeks yang meningkatkan kinerja kueri dan memungkinkan Anda melakukan operasi database yang lebih kompleks. Anda dapat menggunakan suar majemuk untuk menggabungkan string teks biasa literal dan suar standar untuk melakukan kueri kompleks pada catatan terenkripsi, seperti menanyakan dua jenis rekaman yang berbeda dari satu indeks atau menanyakan kombinasi bidang dengan kunci pengurutan. Untuk contoh solusi suar majemuk lainnya, lihat Memilih jenis suar.

Suar majemuk dapat dibangun dari suar standar atau kombinasi beacon standar dan bidang yang ditandatangani. Mereka dibangun dari daftar bagian. Semua suar majemuk harus menyertakan daftar bagian terenkripsi yang mengidentifikasi ENCRYPT_AND_SIGN bidang yang termasuk dalam suar. Setiap ENCRYPT_AND_SIGN bidang harus diidentifikasi dengan suar standar. Suar majemuk yang lebih kompleks mungkin juga mencakup daftar bagian yang ditandatangani yang mengidentifikasi teks biasa SIGN_ONLY atau SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT bidang yang termasuk dalam suar, dan daftar bagian konstruktor yang mengidentifikasi semua kemungkinan cara suar majemuk dapat merakit bidang.

catatan

AWS Database Encryption SDK juga mendukung beacon bertanda tangan yang dapat dikonfigurasi seluruhnya dari SIGN_ONLY plaintext dan field. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Signed beacon adalah jenis suar majemuk yang mengindeks dan melakukan kueri kompleks pada bidang yang ditandatangani, tetapi tidak dienkripsi. Untuk informasi selengkapnya, lihat Membuat beacon yang ditandatangani.

Untuk bantuan mengonfigurasi suar majemuk, lihat Mengonfigurasi suar majemuk.

Cara Anda mengonfigurasi suar majemuk menentukan jenis kueri yang dapat dilakukannya. Misalnya, Anda dapat membuat beberapa bagian terenkripsi dan ditandatangani opsional untuk memungkinkan lebih banyak fleksibilitas dalam kueri Anda. Untuk informasi lebih lanjut tentang jenis kueri yang dapat dilakukan oleh suar majemuk, lihat. Meminta suar