Database Security



Pengertian Database Security

Database Security adalah sistem, proses, dan prosedur yang melindungi database dari aktivitas yang tidak disengaja. Aktivitas yang tidak disengaja dapat dikategorikan sebagai penyalahgunaan diotentikasi, serangan berbahaya atau sengaja kesalahan yang dibuat oleh individu atau proses yang berwenang. Keamanan database juga merupakan spesialisasi dalam disiplin yang lebih luas keamanan komputer.

Data perusahaan adalah aset terbesar dan satu-satunya "tempat aman", adalah database. Database adalah adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Ancaman terbesar ke database Anda adalah orang dalam kubus sebelah Anda yang memiliki akses ke sana. Untuk alasan ini harus diamankan database untuk memastikan datanya benar dilindungi.

Tujuan Keamanan Database (Database Security)

Menurut Database Processing, tujuan dari keamanan database yaitu :
1.  Untuk memastikan bahwa hanya user yang berwenang yang dapa melaksanakan aktivitas yang terotorisasi pada waktu diotorisasi
2. Untuk menentukkan hak dan kewajiban pemrosesan dari semua user dalam penggunakaan database.

Lapisan Keamanan Database (Database Security)

Banyak lapisan dan jenis kontrol keamanan informasi sesuai untuk database, termasuk:

1.      Pengendalian akses (Access control).
2.      Audit (Auditing).
3.      Otentikasi (Authentication).
4.      Enkripsi (Encryption).
5.      Control integritas  (Integrity controls)
6.      Backup (Backups).
7.      Aplikasi keamanan  (Application security).

Tingkatan Pada Keamanan Database :

1.  Fisikal  --> lokasi-lokasi  dimana  terdapat  sistem  komputer  haruslah  aman  secara fisik terhadap serangan perusak.

2.  Manusia --> wewenang  pemakai  harus  dilakukan  dengan  berhati-hati  untuk  mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang

3.  Sistem Operasi --> Kelemahan pada SO ini memungkinkan pengaksesan data oleh  pihak  tak berwenang,  karena  hampir  seluruh  jaringan  sistem  database menggunakan akses jarak jauh.

4.  Sistem Database --> Pengaturan hak pemakai yang baik.


Fasilitas pemulihan pada DBMS :

1.  Mekanisme backup secara periodik
2.  fasilitas  logging  dengan  membuat  track  pada  tempatnya  saat  transaksi berlangsung dan pada saat database berubah.
3.  fasilitas checkpoint, melakukan update database yang terbaru.
4.  manager  pemulihan,  memperbolehkan  sistem  untuk  menyimpan  ulang  database  menjadi lebih konsisten setelah terjadinya kesalahan.

Kesatuan data dan Enkripsi :
Enkripsi : keamanan data

  • Integritas  :metode  pemeriksaan  dan  validasi  data  (metode  integrity  constrain), yaitu  berisi aturan-aturan  atau  batasan-batasan  untuk  tujuan  terlaksananya integritas data.
  • Konkuren  :  mekanisme  untuk  menjamin  bahwa  transaksi yang  konkuren  pada database multi user tidak saling menganggu operasinya masing-masing.  Adanya penjadwalan proses yang akurat (time stamping).


Enkripsi Untuk Keamanan Database

Salah satu hal yang penting dalam komunikasi menggunakan computer untuk menjamin kerahasian data adalah enkripsi. Enkripsi dalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak  terbaca).  Enkripsi  dapat  diartikan  sebagai  kode  atau  chiper.  Sebuah  sistem pengkodean  menggunakan  suatu  table  atau  kamus  yang  telah  didefinisikan  untuk mengganti kata dari informasi atau yang merupakan bagian dari informasi yang dikirim. Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unitelligible). Karena teknik cipher merupakan suatu sistem  yang telah siap untuk di automasi, maka teknik ini digunakan dalam sistem keamanan komputer dan network.

Pada bagian selanjutnya kita akan membahas berbagai macam teknik enkripsi yang biasa digunakan dalam sistem security dari sistem komputer dan network.

A. Enkripsi Konvensional
Proses enkripsi ini dapat digambarkan sebagai berikut :

Plain teks -> Algoritma Enkripsi -> Cipher teks ->Algoritma Dekrispsi -> Plain teks
  User A | | User B
|———————-Kunci (Key) ——————–|
    Gambar 1

Informasi asal yang dapat di mengerti di simbolkan oleh Plain teks, yang kemudian oleh algoritma Enkripsi diterjemahkan menjadi informasi  yang tidak dapat untuk dimengerti yang disimbolkan dengan cipher teks. Proses enkripsi terdiri dari dua yaitu algoritma dan kunci. Kunci  biasanya merupakan  suatu  string  bit  yang  pendek  yang  mengontrol algoritma.  Algoritma  enkripsi  akan menghasilkan  hasil  y ang  berbeda  tergantung  pada kunci  yang  digunakan. Mengubah  kunci  dari  enkripsi  akan  mengubah  output  dari algortima enkripsi.

Sekali  cipher  teks  telah  dihasilkan,  kemudian  ditransmisikan.  Pada  bagian  penerima selanjutnya cipher teks yang diterima diubah kembali ke plain teks dengan algoritma dan kunci yang sama. Keamanan  dari  enkripsi  konvensional  bergantung  pada  beberapa  factor.  Pertama algoritma enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsi cipher teks dengan dasar cipherteks tersebut. Lebih jauh dari itu keamanan dari algoritma enkripsi  konvensional  bergantung  pada  kerahasian  dari  kuncinya  bukan  algoritmanya.  Yaitu dengan asumsi bahwa adalah sangat tidak praktis untuk mendekripsikan informasi dengan  dasar  cipher  teks  dan pengetahuan  tentang  algoritma  diskripsi  /  enkripsi.  Atau dengan kata lain, kita tidak perlu menjaga kerahasiaan dari algoritma tetapi cukup dengan kerahasiaan kuncinya.

Manfaat  dari  konvensional  enkripsi  algoritma  adalah  kemudahan  dalam  penggunaan secara  luas.  Dengan  kenyataan  bahwa  algoritma  ini  tidak  perlu  dijaga  kerahasiaannya dengan maksud bahwa pembuat dapat dan mampu membuat suatu implementasi dalam bentuk  chip  dengan  harga yang  murah.  Chips  ini  dapat  tersedia  secara  luas  dan  disediakan  pula  untuk  beberapa  jenis produk.  Dengan  penggunaan  dari  enkripsi  konvensional, prinsip keamanan adalah menjadi menjaga keamanan dari kunci.

Model  enkripsi  yang  digunakan  secara  luas  adalah  model  yang  didasarkan  pada  data  encrytion standard (DES), yang diambil oleh Biro standart nasional US pada tahun 1977. Untuk  DES  data  di  enkripsi  dalam  64  bit  block  dengan  menggunakan  56  bit  kunci. Dengan menggunakan kunci ini, 64 data input diubah dengan suatu urutan dari metode menjadi 64 bit output. Proses yang yang sama dengan kunci yang sama digunakan untuk mengubah kembali enkripsi.

B. Enkripsi Public-Key
Salah  satu  yang  menjadi  kesulitan  utama  dari  enkripsi  konvensional  adalah  perlunya untuk mendistribusikan  kunci  yang  digunakan  dalam  keadaan  aman.  Sebuah  cara  yang  tepat  telah diketemukan  untuk  mengatasi  kelemahan  ini  dengan  suatu  model enkripsi yang secara mengejutkan tidak memerlukan sebuah kunci untuk didistribusikan. Metode ini dikenal dengan nama enkripsi public-key dan pertama kali diperkenalkan pada tahun 1976.

Plain teks -> Algoritma Enkripsi -> Cipher teks -> Algoritma Dekrispsi -> Plain teks
User A | | User B
Private Key B —-|
|———————-Kunci (Key) ——————–|
Gambar 2

Algoritma  tersebut  seperti  yang  digambarkan  pada  gambar  diatas.  Untuk  enkripsi konvensional, kunci  yang  digunakan  pada  proses  enkripsi  dan  dekripsi  adalah  sama. Tetapi ini bukanlah kondisi sesungguhnya yang diperlukan. Namun adalah dimungkinkan untuk  membangun  suatu algoritma  yang  menggunakan  satu  kunci  untuk  enkripsi  dan  pasangannya, kunci yang berbeda, untuk dekripsi. Lebih jauh lagi adalah mungkin untuk menciptakan  suatu  algoritma  yang  mana pengetahuan  tentang  algoritma  enkripsi ditambah kunci enkripsi tidak cukup untuk menentukan kunci dekrispi.  Sehingga teknik berikut ini akan dapat dilakukan :

1.  Masing – masing dari sistem dalam network akan menciptakan sepasang kunci yang digunakan untuk enkripsi dan dekripsi dari informasi yang diterima.

2.  Masing  – masing  dari  sistem  akan  menerbitkan  kunci  enkripsinya  (  public  key  ) dengan memasang  dalam  register  umum  atau  file,  sedang  pasangannya  tetap  dijaga sebagai kunci pribadi ( private key ).

3.  Jika A ingin mengisim pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik dari B.
4.  Ketika B menerima pesan dari A maka B akan menggunakan kunci privatenya untuk mendeskripsi pesan dari A.

Seperti  yang  kita  lihat,  public-key  memecahkan  masalah  pendistribusian  karena  tidak diperlukan  suatu  kunci  untuk  didistribusikan.  Semua  partisipan  mempunyai  akses  ke kunci publik ( public key ) dan kunci pribadi dihasilkan secara lokal oleh setiap partisipan sehingga tidak perlu untuk didistribusikan. Selama sistem mengontrol masing –masing private key dengan baik maka komunikasi menjadi komunikasi yang aman. Setiap sistem  mengubah private key pasangannya public key akan menggantikan public key yang lama. Yang  menjadi  kelemahan  dari  metode enkripsi  publik  key  adalah  jika  dibandingkan dengan metode enkripsi konvensional algoritma enkripsi ini mempunyai algoritma yang lebih  komplek.  Sehingga  untuk  perbandingan  ukuran  dan harga  dari  h ardware,  metode publik  key  akan  menghasilkan  performance  yang  lebih  rendah. Tabel  berikut  ini  akan memperlihatkan berbagai aspek penting dari enkripsi konvensional dan public key.

Enkripsi Konvensional
Yang dibutuhkan untuk bekerja :
1.  Algoritma yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi–enkripsi. Pengirim dan penerima harus membagi algoritma dan kunci yang sama.

Yang dibutuhkan untuk keamanan :
1.  Kunci harus dirahasiakan.
2.  Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
3.  Pengetahuan  tentang  algoritma  dan  sample  dari  kata  yang  terenkripsi  tidak mencukupi untu menentukan kunci.

Enkripsi Public Key
Yang dibutuhkan untuk bekerja :
1.  Algoritma yang digunakan untuk enkripsi dan dekripsi dengansepasang kunci,  satu untuk enkripsi satu untuk dekripsi.
2.  Pengirim dan penerima harus mempunyai sepasang kunci yang cocok. Yang dibutuhkan untuk keamanan :

  • Salah satu dari kunci harus dirahasiakan.
  • Tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
  • Pengetahuan  tentang  algoritma  dan  sample  dari  kata  yang  terenkripsi  tidak mencukupi untu menentukan kunci.

APLIKASI DATABASE


MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basis data (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

Keistimewaan MySQL

MySQL memiliki beberapa keistimewaan, antara lain :

Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.

Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.

Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.

Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

Sumber :
http://id.wikipedia.org/wiki/MySQL
http://andisiegharts.blogspot.com/
http://windidwifirlyani.blogspot.com/2013/06/database-security.html
http://irma35e.blogstudent.mb.ipb.ac.id/2011/07/24/database-security/
http://rezkiny.files.wordpress.com/2011/04/keamanan-database.pdf/

Komentar

  1. sebagai refensi tamabahan lagi minn :)
    Aplikasi Sistem Keamanan Basis Data dengan Teknik Kriptografi RC4 Stream Cipher

    http://zonangopi.blogspot.com/2016/02/aplikasi-sistem-keamanan-basis-data-dengan-teknik-kriptografi-rc4-stream-cipher.html

    BalasHapus
  2. Terimakasih infonya

    BalasHapus

Posting Komentar

Postingan Populer