Implementasi Enkripsi Database Menggunakan Transparent Data Encryption Pada Database Engine Oracle
Perkembangan
jaringan komunikasi data secara global memberikan tantangan-tantangan di dalam
keamanan akan data dan informasi. Berbagi cara dilakukan untuk menjaga
kerahasiaan data, baik dari tingkat aplikasi maupun database. Transparent
Data Encryption adalah salah satu jenis enkripsi yang mempunyai keuntungan
dalam kemudahan dari sisi user karena user tidak perlu melakukan proses
manajemen enkripsi dan dekripsi data secara langsung karena database telah melakukannya. Terdapat tiga
tipe dasar dari enkripsi, yaitu manual, semi-transparent, dan transparent.
- Enkripsi
Manual, merupakan enkripsi yang dilakukan sepenuhnya oleh user (melalui software
tertentu), dimana user harus secara manual memilih objek yang akan dienkripsi
dan kemudian menjalankan command khusus untuk melakukan enkripsi atau dekripsi
sebuah objek.
- Enkripsi Semi-Transparent,
merupakan enkripsi On the fly, dimana operasi read/write tidak secara permanen,
sehingga dilakukan sebelum dan sesudah akses dilakukan.
- Enkripsi Transparent,
merupakan kebalikan dari enkripsi manual, dimana enkripsi dan dekripsi dilakukan
pada level yang rendah (low level), secara permanen, saat melakukan operasi read/write
sehingga data yang dienkripsi selalu disimpan dalam bentuk enkripsi.
Transparent
Data Encryption menyediakan kriptografi yang transparan pada user yang sah
tetapi tidak pada penyusup dari luar maupun dari dalam (untuk lebih mudahnya cukup
disebut dengan attacker saja). Enkripsi ini digunakan untuk kasus apabila terjadi
pencurian hardware atau media backup atau unathorized access pada data yang sensitif
di level sistem operasi. Salah satu untuk mengatasi pencurian media adalah mengenkripsi
data yang sensitif di dalam database dan menyimpan encryption keynya di lokasi
yang terpisah. Tetapi harus dipertimbangkan keseimbangan antara dua konsep yang
bertentangan : kemudahan dimana aplikasi bisa mengakses encryption keys dan keamanan
yang diperlukan bila terjadi pencurian key. Transparent Data Encryption membuat
proses enkripsi sederhana dengan meletakkan enkripsi di dalam
databasenya
sendiri. Yang lebih penting lagi, aplikasi bisa melanjutkan pekerjaannya
tanpa
menggunakan database trigger, view, dan aplikasi lain yang digunakan solusi enkripsi
databasetradisional. Data secara otomatis dienkripsi ketika ditulis pada file
databasedi disk. Data secara otomatis di dekripsi untuk semua database user setelah
mereka di autentikasi pada database dan melewati semua pemeriksaan autentikasi tambahan.
Pemeriksaan ini termasuk memastikan user mempunyai hak untuk melakukan perintah
select dan update pada table aplikasi
Mekanisme Transparent
Data Encryption
Enkripsi
membutuhkan kita untuk melakukan suatu algoritma enkripsi dan sebuah encryption
key pada data input berupa clear-text. Dan untuk mendekripsi suatu nilai yang
telah dienkripsi, kita harus tahu nilai dari algoritma dan key yang sama.
Selain itu, untuk melakukan enkripsi pada database, kita harus membuat suatu
infrastruktur
enkripsi.
Tetapi dengan menggunakan transparent data encryption, kita hanya melakukan
suatu proses pendefinisian sebuah kolom yang ingin dienkripsi, setelah itu
sistem database membuat sebuah encryption key yang aman secara kriptografikal untuk
table yang berisi kolum tersebut dan mengenkripsi data input clear-text yang berada di dalamnya, menggunakan suatu
algoritma enkripsi yang ingin kita gunakan. Menjaga table key ini sangat
penting: sistem databasemengenkripsinya menggunakan
sebuah master
key dan menyimpannya disebuah lokasi yang aman, yang disebut dengan wallet,
yang bisa berupa sebuah file pada database server. Table key yang telah
dienkripsi tersebut diletakkan di sebuah data dictionary. Ketika seorang user
memasukkan data
ke sebuah kolom yang didefinisikan sebagai terenkripsi, sistem
database mengambil
master key dari wallet, mendekripsi encryption key untuk table tersebut dari data
dictionary, menggunakan encryption keypada nilai input dan menyimpan data yang
dienkripsi pada database.
Tipe
enkripsi yang digunakan dalam penelitian ini adalah Enkripsi transparent dimana
proses enkripsi dan dekripsi dilakukan pada tingkat yang rendah ((low level)
secara permanen. Proses enkripsi dan dekripsi dilakukan ketika melakukan proses
read/write database.
Implementasi Transparent
Data Encryption
Pada penelitian
ini akan di implementasiakan enkripsi menggunakan Transparent Data Encryption pada
tabel pembayaran dengan struktur seperti pada tabel berikut ini :
KESIMPULAN
Berdasarkan
hasil implementasi, maka dapat disimpulkan bahwa:
1.Kecilnya
penalti performance ketika melakukan enkripsi dan dekripsi karena pada saat melakukan
proses-proses ini, Transparent Data Encryption tidak mengubah tipe data dan panjang
data.
2.Transparent
Data Encryption menawarkan kemudahan dari sisi pengguna, sehingga pengguna bisa
langsung melakukan proses enkripsi data tanpa melakukan coding dan kompleksitas
manajemen key.
3.Dengan
menggunakan Transparent Data Encryption, aplikasi bisa melanjutkan pekerjaan tanpa
adanya database trigger, view dan perubahan aplikasi lainnya yang diasosiasikan
dengan solusi enkripsi database tradisional.
SARAN
1.Kelemahan Transparent
Data Encryption adalah TDEMasterkey disimpan dalam keadaan tidak dienkripsi
pada SGA (memori dari database).
2.Transparent
Data Encryption tidak dapat mobile atau sangat sulit untuk dapat
diimplementasikan secara sempurna
Nama Kelompok : M. Rahman Darmawan (54411217)
Riko
Arfian
(56411212)
Tamy Yasmita Sari (57411019)
Kelas
: 3IA14
Tugas
: Sistem Basis Data 2