Kamis, 03 April 2014

Review - Implementasi Enkripsi Database

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

Tidak ada komentar:

Posting Komentar