Enkripsi Database

Enkripsi Database

Secara umum, enkripsi data pada database dapat dilakukan dengan 2 cara berikut ini:

  • Data in Transit (data yang dikirim lewat jaringan komputer) -> contoh aplikasi web server dengan database di server lain
  • Data at Rest (data yang disimpan di hard disk)

Data in Transit

2 hal yang perlu dilakukan penyerang:

  • Menyadap komunikasi
  • Memahami komunikasi untuk ekstraksi data

Mekanisme Enkripsi

  • Database-specific features (e.g., Oracle Advanced Security)
  • Connection-based methods (e.g., using the Secure Sockets Layer [SSL])
  • Secure tunnels (e.g., using Secure Shell [SSH] tunnels)
  • Relying on the operating system (e.g., IPSec encryption)

SSL

  • Beberapa software database sudah ada fitur SSL
  • SSL mesti diaktifkan di server & client
  • SSL memerlukan komputasi, sehingga dapat memperlambat proses
  • SSL pada MySQL:https://dev.mysql.com/doc/refman/5.0/en/ssl-connections.html

SSH Tunnels

SSH secara umum bermanfaat untuk:

  • Secure shell sebagai secure console. Misal untuk login ke server Ubuntu
  • Secure copy (SCP, SFTP). Misal dengan software Filezilla
  • Encrypted Tunnel -> dapat dipakai untuk ditumpangi komunikasi database

Fitur Encrypted Tunnel disebut juga sebagai port forwarding.

Ilustrasi SSH Tunnel

Mekanisme SSH tunnel
Mekanisme SSH tunnel

SSH Tunnel

Contoh perintah SSH Tunnel

ssh –L 10000:localhost:3306 192.168.3.33 –l mylogin –i ~/.ssh/ id –N –g

  • -L : port forwarding
  • 1000:localhost:3306 port lokal 1000, dikirim ke port 3306 di remote
  • 192.168.3.33 : alamat server database
  • -l mylogin: nama user

 

Data at Rest

  • Data yang disimpan di database dienkripsi terlebih dahulu
  • Algoritma simetrik / asimetrik
  • Metode ini sebagai layer keamanan tambahan, bukan yang utama

Skenario Keamanan Data at Rest

  • User mengakses data yang tidak semestinya. Dengan enkripsi maka meskipun punya hak akses tidak dapat membaca datanya.
  • Hard disk yang dicuri
  • Hard disk  bekas yang dijual

Remembrance of Data Passed: A Study of Disk Sanitization Practices

  • Peneliti: SIMSON L. GARFINKEL & ABHI SHELAT (MIT)
  • The students analyzed 158 disk drives that were purchased through eBay and other sources of used computer hardware (costing a total of less than $1,000).
  • 74% of the drives contained data that could be recovered and read, including sensitive data such as detailed personal and corporate financial records, credit card numbers, medical records, love letters, and so on.

Implementasi enkripsi data-at-rest

  • Enkripsi pada aplikasi
  • Enkripsi pada filesystem
  • Enkripsi pada database
  • Enkripsi pada HDD (storage)

Implementasi data-at-rest Enkripsi pada aplikasi

Keuntungan:

  • Transparan bagi database. Database tidak tahu menahu tentang adanya enkripsi.

Kelemahan

  • Enkripsi/dekripsi mesti dibuat di beberapa tempat dengan beberapa library.
  • Data tidak dapat diakses tanpa aplikasi
  • Tidak menyederhanakan masalah, hanya memindahkan enkripsi ke aplikasi.

Implementasi data-at-rest Enkripsi pada file system

  • Menggunakan filesystem yang mendukung enkripsi

Implementasi data-at-rest Enkripsi pada database

  • Menggunakan fitur enkripsi pada database (jika databasenya mendukung).

Hal-hal penting pada enkripsi data-at-rest

  • Key Management
  • Recovery (jika kunci hilang)
  • Integrasi dengan Public Key Infrastructure
  • Backup & Restore
  • Clustering (database tersebar pada beberapa komputer berbeda untuk performance)
  • Replication
  • Performance
  • Disk space (enkripsi menambah ukuran data)
  • Audit trail (penggunaan key & password)

Contoh praktek Enkripsi Data in Transit

  • Menyadap komunikasi database (Apache <-> MySQL) dengan tcpdump / wireshark
  • Implementasi security data-in-transit dengan fitur internal MySQL
  • Implementasi security data-in-transit dengan SSH Tunnel
  • Pengukuran performance (CPU load) pada setiap implementasi.

Contoh praktek Aplikasi

  • Membuat aplikasi database sederhana (misal menampilkan daftar peserta kuliah, daftar anggota MPR, dsb)
  • Mencoba mencari data dari data file MySQL
  • Implementasi security data-at-rest dengan aplikasi
  • Mencoba mencari data dari data file MySQL (versi terenkripsi)
  • Pengukuran performance (CPU load) pada setiap implementasi.

Homomorphic Encryption

Referensi

One thought on “Enkripsi Database

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *