ApsaraDB RDS for MySQL mendukung tiga metode enkripsi komplementer—enkripsi disk, Transparent Data Encryption (TDE), dan enkripsi kolom—masing-masing melindungi data pada lapisan yang berbeda dalam stack. Halaman ini menjelaskan ancaman yang dilindungi oleh masing-masing metode, dampak performanya, serta kapan metode tersebut sebaiknya digunakan.
Cara kerja enkripsi database
Enkripsi tidak menggantikan kontrol akses. Sebaliknya, enkripsi membatasi kerusakan ketika kontrol akses gagal—misalnya, ketika akun administrator dikompromikan atau penyerang menyalin file database langsung dari disk.
Ketiga metode tersebut melindungi data pada titik yang berbeda dalam sistem:
Disk encryption melindungi data pada lapisan Infrastructure as a Service (IaaS), mengamankan data di disk fisik.
TDE melindungi data pada lapisan Platform as a Service (PaaS), mengenkripsi data sebelum ditulis ke sistem file.
Column encryption (edisi dasar fitur database rahasia penuh) melindungi data saat dalam perjalanan antara database dan client, memastikan hasil kueri dikirimkan dalam bentuk ciphertext.
Diagram berikut menunjukkan jalur serangan yang ditangani oleh masing-masing metode.

Jenis serangan dan cakupannya
Delapan kategori serangan menargetkan sistem database:
| Jenis Serangan | Deskripsi | Metode Umum |
|---|---|---|
| Attack Admins | Mengkompromikan administrator sistem. Database administrator (DBA) dapat mengakses data dan mengubah konfigurasi. Administrator PaaS dapat mengakses file tingkat OS. Administrator IaaS dapat mengakses disk fisik. | Kerentanan OS, kebocoran akun, sistem yang salah konfigurasi |
| Attack Users | Mengkompromikan pengguna akhir yang memiliki akses database, lalu meningkatkan hak istimewa melalui SQL injection. | Kebocoran akun, pelanggaran data logis |
| Attack Apps | Mengeksploitasi server aplikasi yang terpapar internet, yang memiliki permukaan serangan lebih luas dibandingkan database itu sendiri. | Kerentanan aplikasi dan OS |
| Attack Network | Mencegat traffic antara aplikasi dan database. Metode bypass membuat deteksi menjadi sulit. | Penyadapan dan intersepsi jaringan |
| Bypass Database | Personel PaaS menyalin file data atau file backup langsung dari disk database. | Pelanggaran data fisik |
| Bypass OS | Personel IaaS menyalin data langsung dari disk lokal atau cloud. | Melancarkan serangan |
| Exploit Database | Mengeksploitasi bug kode dalam sistem database untuk mengakses data secara langsung atau tidak langsung. | Kerentanan OS database |
| Target Data Copies | Menyerang database pengembangan atau pengujian, yang sering kali mencerminkan data produksi tetapi tidak memiliki kontrol keamanan setara. | Salah satu dari opsi di atas |
Memilih metode enkripsi
Masing-masing metode melindungi terhadap subset serangan yang berbeda dari jenis-jenis serangan di atas. Tabel berikut merangkum dimensi utama untuk membantu Anda memilih metode yang tepat—atau kombinasi metode.
| Disk encryption | TDE | Column encryption (edisi dasar) | |
|---|---|---|---|
| Jenis serangan yang ditangani | Bypass OS, Attack Admins (IaaS) | Bypass Database, Bypass OS, Attack Admins (PaaS dan IaaS) | Attack Users, Attack Apps, Attack Admins (DBA [1]), Attack Network, Target Data Copies |
| Visibilitas DBA | Terlihat | Terlihat | Tidak terlihat |
| Visibilitas O&M PaaS | Terlihat | Tidak terlihat | Terlihat [1] |
| Visibilitas O&M IaaS | Tidak terlihat | Tidak terlihat | Terlihat [1] |
| Granularitas enkripsi | Instans | Tabel dan database | Kolom |
| Perubahan aplikasi | Tidak ada | Tidak ada | Ganti JDBC dengan EncJDBC (tanpa perubahan kode) |
| Penurunan performa tipikal | Minimal hingga tidak ada | Kurang dari 5% | Kurang dari 7% |
| Penurunan performa di bawah beban berat | Minimal | Hingga 20% | Hingga 21% |
| Informasi lebih lanjut | Ikhtisar enkripsi disk ECS | Konfigurasikan TDE | Ikhtisar enkripsi kolom |
[1] Edisi dasar tidak dapat mencegah personel O&M PaaS atau IaaS mengakses data teks biasa. Untuk melindungi terhadap lapisan tersebut, gunakan edisi berbasis perangkat keras dari fitur database rahasia penuh bersama teknologi perangkat keras tepercaya.
Cara kerja masing-masing metode
Disk encryption
Disk encryption beroperasi pada lapisan IaaS. Aktifkan saat membuat disk sistem atau disk data Elastic Compute Service (ECS), atau tambahkan ke disk data setelah instans dibuat. Setelah diaktifkan, sistem secara otomatis mengenkripsi semua data pada disk yang menampung instans ECS—tanpa memerlukan infrastruktur manajemen kunci.
Karakteristik utama: Data tidak terlihat oleh personel O&M IaaS (insinyur proses fisik), tetapi DBA dan administrator PaaS masih dapat mengakses data teks biasa.
Performa: Dampaknya minimal dan, dalam banyak kasus, tidak terdeteksi.
Transparent data encryption (TDE)
TDE beroperasi pada lapisan PaaS. Mesin database mengenkripsi data di memori sebelum menuliskannya ke sistem file, dan mendekripsinya saat membacanya kembali. Proses enkripsi dan dekripsi terjadi secara transparan—aplikasi tidak memerlukan perubahan apa pun.
Karakteristik utama: Data tidak terlihat oleh personel O&M IaaS maupun PaaS. DBA masih dapat mengakses data teks biasa.
Performa: Penurunan performa bergantung pada ukuran tabel sensitif relatif terhadap cache database:
Jika tabel muat dalam cache, penurunan performa dapat diabaikan.
Jika tabel jauh lebih besar daripada cache, penurunan performa bisa signifikan.
Pada sebagian besar beban kerja, penurunan performa tetap di bawah 5%. Di bawah beban sangat berat, angka tersebut dapat mencapai 20%.
Column encryption
Column encryption (edisi dasar fitur database rahasia penuh) beroperasi pada lapisan kernel database. Sebelum database mengirimkan hasil kueri ke client, data tersebut dienkripsi. Client mendekripsi hasil tersebut menggunakan kunci yang diperlukan. Hal ini memisahkan kepemilikan data dari manajemen data: orang yang mengelola database tidak dapat melihat data yang dikandungnya.
Karakteristik utama: Data tidak terlihat oleh DBA. Namun, personel O&M PaaS dan IaaS masih dapat mengakses data teks biasa pada tingkat penyimpanan kecuali Anda melakukan upgrade ke edisi berbasis perangkat keras.
Perubahan aplikasi yang diperlukan: Ganti driver Java Database Connectivity (JDBC) dengan EncJDBC. Tidak diperlukan perubahan kode selain pergantian driver.
Performa: Penurunan performa bergantung pada volume data sensitif dalam hasil kueri—bukan pada ukuran tabel atau database:
Menanyakan satu baris: penurunan minimal.
Menanyakan satu juta baris data terenkripsi: penurunan signifikan.
Pada sebagian besar beban kerja, penurunan performa tetap di bawah 7%. Di bawah beban sangat berat, angka tersebut dapat mencapai 21%.
Arsitektur teknis
Tabel berikut menunjukkan perbedaan arsitektural ketiga metode tersebut.
| Disk encryption | TDE | Column encryption | |
|---|---|---|---|
| Cakupan efektif | Sistem operasi | Database kernel | Kernel database |
| Cakupan enkripsi | Host dan instans ECS | Instans database | Instans database |
| Granularitas enkripsi | Instance | Database dan tabel | Kolom |
| Kesadaran aplikasi | Transparan | Transparan | Ganti JDBC dengan EncJDBC |
Kapan menggunakan masing-masing metode
Gunakan disk encryption ketika Anda perlu memenuhi persyaratan kepatuhan tingkat IaaS atau melindungi terhadap skenario pencurian atau penyalinan media fisik.
Gunakan TDE ketika Anda perlu mencegah personel O&M PaaS dan IaaS—seperti administrator OS—mengakses isi file database, tanpa memodifikasi aplikasi Anda.
Gunakan column encryption ketika Anda perlu mencegah DBA melihat data sensitif, atau ketika Anda perlu melindungi data saat dalam perjalanan antara database dan aplikasi Anda.
Metode-metode ini saling melengkapi. Lingkungan produksi dengan persyaratan keamanan ketat dapat menggunakan ketiganya secara bersamaan.