Topik ini menjelaskan fitur kerahasiaan penuh PolarDB yang disediakan oleh Proksi Polar di PolarDB.
Prasyarat
Versi Proksi Polar di PolarDB adalah 2.8.36 atau lebih baru. Untuk informasi tentang cara melihat atau memperbarui versi Proksi Polar Anda, lihat Revision versionVersion management.
Latar belakang
Persyaratan regulasi dan standar industri saat ini mewajibkan penerapan langkah-langkah keamanan yang kuat sepanjang siklus hidup data. Metode penguatan keamanan pihak ketiga tradisional serta enkripsi berbasis klien tidak lagi memadai karena kekurangannya dalam hal biaya, adaptasi arsitektur, dan performa database. Dalam konteks ini, database yang mendukung enkripsi end-to-end semakin populer di seluruh industri. PolarDB menyediakan fitur kerahasiaan penuh PolarDB sebagai respons terhadap kebutuhan tersebut.
Fitur ini memberikan keunggulan dalam skenario berikut:
Menyimpan data Anda di lingkungan yang tidak tepercaya: Skenario ini mencakup penyimpanan data di cloud atau di pusat data on-premises milik pelanggan Anda, yang berpotensi menyebabkan akses tidak sah oleh penyedia layanan cloud serta personel O&M organisasi dan pelanggan Anda.
Menggunakan layanan manajemen data dari penyedia pihak ketiga: Hal ini berisiko membocorkan rahasia bisnis Anda kepada penyedia layanan, terutama jika data Anda mencakup informasi sensitif seperti data identitas pribadi dan data genetik.
Berbagi data Anda dengan organisasi lain: Skenario ini mencakup manajemen risiko kolaboratif dan penyediaan layanan internasional, di mana organisasi yang terlibat dibatasi oleh persyaratan kepatuhan data dan tidak dapat berbagi data teks biasa secara langsung. Skenario ini juga mencakup situasi pemasaran bersama dengan perusahaan lain, di mana Anda ingin melindungi data Anda karena adanya hubungan kompetitif.
Fitur
Fitur ini mendukung semua operator SQL yang ada dan transparan terhadap aplikasi. Anda hanya perlu mengubah beberapa baris konfigurasi untuk beralih ke driver client rahasia EncJDBC tanpa perlu memodifikasi kode bisnis, sehingga proses peningkatan menjadi lebih sederhana. Untuk informasi lebih lanjut tentang konfigurasi, lihat Integrate EncJDBC.
Hasil kueri dikembalikan dalam bentuk terenkripsi, melindungi data dari pencurian akibat kebocoran akun database atau akses oleh personel pengembangan dan O&M. Anda dapat mengonfigurasi aturan enkripsi untuk menentukan data sensitif yang perlu dilindungi. Saat database rahasia mengembalikan data yang ditandai sebagai sensitif, data tersebut secara otomatis dienkripsi menggunakan kunci Anda. Hanya pengguna yang memiliki kunci tersebut yang dapat mendekripsi kontennya dan melihat teks biasa. Dengan demikian, meskipun akun database dikompromikan, data sensitif dalam hasil kueri tetap tidak dapat dibaca—insinyur pengembangan dan O&M hanya dapat melihat ciphertext.
Fitur ini mendukung kunci master kustom. Anda dapat menggunakan Key Management Service (KMS) pihak ketiga atau yang sudah ada dan tepercaya. Setelah mendapatkan kunci yang diinginkan, Anda dapat meneruskannya secara dinamis ke client rahasia. Hal ini memastikan bahwa hanya Anda yang memegang kunci tersebut. Pada waktu proses, kunci tersebut berpartisipasi dalam kueri database melalui mekanisme distribusi aman dan secara otomatis dihapus saat layanan berakhir, sehingga mencegah pencurian kunci baik oleh pihak eksternal maupun internal.
Performa setara dengan database standar non-terenkripsi. Performa kueri berbanding terbalik dengan jumlah bidang sensitif yang ditentukan—semakin banyak data sensitif yang terlibat dalam kueri, semakin besar dampak terhadap performa. Dalam pengujian TPC-C dengan 20%, 50%, dan 100% bidang dienkripsi, performanya masing-masing mencapai 93%, 86%, dan 79% dari database teks biasa. Untuk data performa lebih lanjut, lihat Confidential Database Performance Test Report.
Skenario
Kami mengembangkan fitur kerahasiaan penuh PolarDB untuk menghadirkan framework dan produk database generasi berikutnya yang dilengkapi kemampuan menjamin kerahasiaan dan integritas data. Dengan desain optimal, database ini mampu menyediakan keamanan sekaligus memastikan performa tinggi, stabilitas, dan efisiensi biaya.
Berikut adalah beberapa skenario khas untuk fitur kerahasiaan penuh PolarDB:
Mengenkripsi data yang dikirimkan dari aplikasi ke database
Dalam kebanyakan kasus, penyedia aplikasi adalah pemilik data dan umumnya ingin mencegah layanan database beserta personel O&M-nya mengakses data bisnis tersebut.
Mengenkripsi data yang dikirimkan dari pengguna ke aplikasi
Dalam beberapa aplikasi untuk penggunaan pribadi, sebagian data—seperti data kesehatan dan keuangan—dimiliki oleh pengguna, yang umumnya mengharapkan aplikasi tidak dapat mengakses data tersebut dalam bentuk teks biasa saat mengelola dan menganalisisnya.
Berbagi data terenkripsi secara aman dan andal
Kunci yang digunakan untuk enkripsi hanya tersedia bagi pemilik data. Saat pemilik data perlu berbagi data dengan pihak lain, mereka dapat melakukannya tanpa mengekspos kunci tersebut, sehingga memenuhi persyaratan kepatuhan.
Batasan
Aturan enkripsi tidak berlaku pada titik akhir utama. Anda perlu menggunakan titik akhir kluster atau titik akhir kluster kustom.
Fitur kerahasiaan penuh PolarDB hanya mendukung perintah
COM_QUERY. Jenis perintah lain sepertiCOM_STMT_PREPAREtidak didukung. EncJDBC hanya mendukung Text Protocol; Binary Protocol tidak didukung. Operasi yang memanfaatkan prepared statements selalu diselesaikan melalui kueri Text Protocol.Fitur kerahasiaan penuh PolarDB dan penyembunyian dinamis tidak dapat diaktifkan secara bersamaan.
Jika aturan penyembunyian dinamis sudah ada, Anda perlu menghapus semua aturan penyembunyian tersebut dan membuat aturan baru dengan tipe enkripsi untuk mengaktifkan fitur kerahasiaan penuh PolarDB.
CMK tidak dapat dimodifikasi setelah ditentukan. Seluruh kluster menggunakan CMK yang sama.
Jika Anda melewati SecureGW dan langsung terhubung ke kernel MySQL asli, fitur enkripsi tidak akan berlaku. Kami menyarankan agar Anda menghindari hal ini. Untuk meminimalkan dampak akses tidak sah, aktifkan juga fitur keamanan lain seperti auditing log.
Penggunaan
Untuk informasi lebih lanjut, lihat Mange encryption rules.