Rabu, 01 Januari 2014

KEAMANAN BASIS DATA

KEAMANAN BASIS DATA

ABSTRAK Salah satu sistem keamanan basis data yang sedang menjadi kebutuhan masyarakat adalah sistem keamanan basis data dengan menggunakan sidik jari. Teknologi ini dapat dibilang cukup untuk melindungi informasi yang penting, karena setiap manusia memiliki sidik jari yang berbeda-beda / unik. Penggunaan identifikasi seseorang menggunakan sidik jari pada fingerprint reading, retina mata pada retina scan, dan lainnya tidak lain adalah untuk menjaga keamanan suatu tempat atau benda. Penggunaan anggota tubuh sebagai input untuk identifikasi seseorang dalam keamanan disebut penggunaan sistem biometric. Keluaran dari sistem pencitraan sidik jari adalah berupa sebuah image. Image ini tidak langsung digunakan sebagai kunci, namun dikonversi dulu menjadi sebuah graf berbobot yang masing-masing node-nya memiliki “berat” masing-masing. “Berat” inilah yang menurut rancangan pada makalah ini, digunakan sebagai kunci untuk enkripsi dan dekripsi. Kata Kunci : Sidik, Jari, Keamanan, Biometrik
Keamanan basis data menjadi hal yang penting saat ini.bertambahnya praktek cracking menunjukkan perlunya peningkatan keamanan basis data.bahasan  keamanan basis data disini tidak ditekankan pada penggunaan enkripsi.
. Adapun tingkatan keamanan database, yaitu:
 (1) fisikal,
 (2) manusia,
 (3) sistem operasi
 (4) sistem database
Masalah polyinstantion muncul pada relasi basis data multilevel.pada relasi bais data multilevel jika kita clearance dari seorang user maka ia akan memperoleh sebagian informasi yang seharusnya ia tidak mendapatkannya.sebaliknya jika kita menurunkan clearance dari seorang user maka ia tidak mendapatkan akses infor,asi yang seharusnya ia mendapatkannya.dengan demikian,perbedaan clearance akan membawa pada perbedaan informasi yang diperoleh dan keadaan ini harus konsisten.
Ada pula batasan-batasan integritas :

  • Menentukan kondisi-kondisi pada relasi antara suatu data dan data lainnya.
  • Menentukkan batasan-batasan keamanan pemisahan antara suatu data dan data lainnya.

    Jika ada batasan integritas diberlakukan pada suatu data pada beberapa tingkat keamanan yang berbeda,pada suatu data pada bebrapa tingkat keamaanan yang berbeda,maka akan terjadi konflik langsung anatara integritas dan keamanan.
Banyak system manajemen basis data komersial yang menyediakan bebrapa bentuk keamanan dta dengan mengendalikan mode akses user privilege terhadap data.metode ini (descretianary access control) bukan merupakan hak yang cukup untuk mencegah terkoreknya informasi oleh pihak yang tidak berwenang.







KEAMANAN BASIS DATA

Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Dalam sebuah database, diperlukan keamanan yang sangat tinggi karena data yang ada didalam database yang sifatnya penting.
dapat dilakukan beberapa cara berikut ini :
· Penentuan perangkat lunak Data Base Server yang handal.
· Pemberian otoritas kepada user mana saja yang berhak mengakses,serta   memanipulasi data-data    yang ada.
Tujuan Keamanan Basis data :
· Confidentiality
· Integrity
· Availability
Ancaman keamanan terhadap Basis data
· Interuption
· Interception
· Modification
· Fabrication
Penyalahgunaan Database :
1. Tidak disengaja, jenisnya :
· Kerusakan selama proses transaksi
· Anomali yang disebabkan oleh akses database yang konkuren
· Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
· Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database
2. Disengaja, jenisnya :
· Pengambilan data / pembacaan data oleh pihak yang tidak berwenang
· Pengubahan data oleh pihak yang tidak berwenang
· Penghapusan data oleh pihak yang tidak berwenang
Tingkatan Pada Keamanan Database :
1. Fisikal
2. Manusia
3. Sistem Operasi
4. Sistem Database
Pengaturan Keamanan Basis Data :
1. Otorisasi
Pemberian wewenang atau hak istimewa (privilege) untuk mengakses sistem atau obyek database kepada pengguna yang bertanggung jawab
2. Tabel View
Tabel view merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
3. Backup data dan recovery
Backup adalah proses secara periodik untuk membuat duplikat dari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Recovery merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Terdapat 3 jenis pemulihan, antara lain :
· Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
· Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
· Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
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
Teknik Pemulihan :
· Defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
· Immediate Update / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
· Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
4. 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).








Selasa, 22 Oktober 2013

Integrasi Data

Sistem Basis Data : Integritas Data

Integritas Data 

Integritas data adalah jaminan konsistensi data terhadap semua status konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri. Integritas data sangat erat kaitannya dengan keamanan keberadaan data, dimana dapat terjadi secara institusional atau asidental.

Jenis-Jenis Integritas Data dapat dikelompokkan sebagai berikut :

  1. Entity Integritas
  2. Domain Integritas
  3. Refrential Integritas
  4. User Defined Integritas

1. Entity Integritas
Entity Integritas mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Entity integritas memaksa integritas dari column atau primary key dari suatu tabel (melalui index, unique, constraints, primary key). Primary key tidak boleh null.
2. Domain Integritas
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui check constraints dan rules), atau range nilai-nilai yang mungkin (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules).
3. Refrential Integritas
Refrential Integritas memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkan.
4. User Defined Integritas
User–defined integritas mengizinkan Anda untuk menentukan spesific business rules sendiri yang tidak sama pada kategori integrity yang lain.

Types of Data Integrity
Bagian ini menggambarkan atauran yang dapaat diterapkan pada kolom tabel ayang menekankan perbedaan tipe data pada integritas data.
1. Null Rule
Aturan null  adalah definisi aturan pada single column yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian rows kosong (the absence of a value) pada kolom ini.
2. Unique Column Values
Aturan nilai unique didefinisan pada sebuah column (or set of columns) yang membolehkan insert or update hanya pada row jika itu berisi  sebuah nilai unique dalam sebuah kolom (or set of columns).
3. Primary Key Values
Aturan nilai primary key didefinisikan pada sebuah key (a column or set of columns) tertentu bahwasetiap each row dalam table dapat mengidentifikasi keunikan dengan nilai kunci tersebut

4. Referential Integrity Rules
Aturan referential integrity adalah definsi aturan pada sebuah kunci key (a column or set of columns) dalam sebuah table yang menjamin bahwa data dalam kunci cocok dengan nilai dalam sebuah relasi table (the referenced value).

Aturan-Aturan Referential Integrity
Referential integrity mengacu pada kaitan antar row/record dari 2 tabel yang berhubungan melalui Foreign Key yang bersangkutan.
Pada insert, record harus dimasukkan di tabel utama dahulu, kemudian baru di tabel kedua.
Pada delete, record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama.
Field yang dihubungkan dari tabel utama haruslah berupa Primary Key.
Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama.
Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.

Macam action dalam Referential Integrity:
NO ACTION atau RESTRICT : update atau delete tidak dilakukan. Ini merupakan pilihan default.
CASCADE : nilai kolom di tabel kedua disesuaikan dengan nilai kolom di tabel utama
SET NULL : nilai kolom di tabel kedua dijadikan NULL
SET DEFAULT : nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai DEFAULT harus ditentukan pada waktu pembuatan tabel).


Membuat Constraint
 Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan  untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat pembuatan tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah pembuatan tabel, maka  constraint tersebut hanya mengecek data yang ada (yang telah dimasukkan dalam  tabel). Jika ada beberapa pelanggaran maka constraint akan ditolak.

Tipe-Tipe Constraint

Microsoft SQL Sever menyediakan beberapa tipe Constraint, yaitu :
-        PRIMARY KEY Constraint, untuk menspesifikasikan kolom dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu tabel dengan tabel lain.
-        FOREIGN KEY Constraint, digunakan untuk menspesifikasikan kolom foreing key pada suatu tabel. Foreing key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang  selalu merujuk pada kolom primary keypada suatu tabel. SQL Server 2000 / MySQL – Navicat 2005 @ 2010 : www.didiksetiyadi.com 2 , dds@didiksetiyadi.com
-        UNIQUE Constraint, digunakan untuk menjamin bahwa data pada suatu kolom atauy beberapa kolom tidak diijinkan sama. CHECK Constraint, digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentuyang diijinkan masuk.
-        DEFAULT Constraint, merupakan atribut opsionalyang digunakan untuk memberikan suatu nilai tertentupada suatu kolom jika kolom tersebut tidak dimasukkan suatu data.
-        Not Null, digunakan untuk menjamin tidak ada nilai null ( kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka akan muncul error.

TRIGGER, PROCEDURE, FUNCTION
Trigger
Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.


KEY Constraints dan DOMAIN Constraints
Jika kondisi key dan domain constraints terpenuhi dan semua skema basis data memenuhi Domain Key Normal Form, maka semua integritas konstrain pada basis data terpenuhi.

Keamanan Basis Data
Keamanan basis data adalah pemberian perlindungan basis data terhadap ancaman dan  gangguan, baik yang bersifat teknis maupun administrasi. Gangguan terhadap basis data sangat bervariasi, dimana dapat meliputi : hardware, software, manusia, dan data. Secara keseluruhan gangguan, baik fisik maupun non fisik meliputi : pencurian, hilangnya kerahasian, kehilangan privasi, kehilangan integritas, dan kehilangan kemampuan.
Untuk memberikan perlindungan keamanan basis data, diantaranya dapat dilakukan dengan pemberian otoritas terhadap pengguna dalam melakukan akses objek, yang meliputi : tabel basis data, view, aplikasi, prosedur atau objek lainnya dalam sistem. Adapun untuk jenis-jenis otorisasi adalah :

Read Authorization, pemberian otorisasi hanya untuk melakukan pembacaan data saja, dan tidak memiliki otorisasi untuk melakukan modifikasi data.

Insert Authorization, pemberian otorisasi untuk melakukan insert data baru, dan tidak memiliki otorisasi untuk melakukan modifikasi data yang sudah ada.

Update Authorization, pemberian otorisasi untuk melakukan modifikasi data, dan tidak memiliki otorisasi melakukan pengahapusan data.

Delete Authorization, pemberian otoritas untuk melakukan penghapusan data, hanya tuple (record) bukan relasi (tabel).

Index Authorization, pemberian otorisasi untuk membuat dan menghapus indek data.

Resource Authorization, pemberian otorisasi untuk melakukan pembuatan tabel (relasi) baru.

Alteration Authorization, pemberian otorisasi untuk menambahkan atau menghapus atribut pada suatu relasi (tabel).

Drop Authorization, pemberian otorisasi untuk menghapus relasi (tabel).


·         TRIGGER, PROCEDURE, FUNCTION


Trigger

Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.

Syntax:

CREATE [or replace] TRIGGER nama_trigger
( BEFORE|AFTER ) ( INSERT|UPDATE [OF nama_kolom,..]|DELETE )ON nama_tabel
[FOR EACH ROW] [WHEN (kondisi)]
DECLARE
Deklarasi tipe data
BEGIN
Trigger body
END;
/

Anonymous Block

Block PL/SQL tak bernama (anonymous) menyimpannya dalam Oracle Precompiler.
Anonymous block tidak dibuat (CREATE) dan tak disimpan pada database, biasanya dijalankan dari dalam aplikasi, pada run-time aplikasi akan mengirimkan anonymous PL/SQL block ini kepada database oracle, dimana anonymous block tsb di compile dan dieksekusi.

Syntax:

DECLARE
Deklarasi variabel
BEGIN
Program prosedural
EXCEPTION
Penangananan eksepsi (ERROR)
END;
/

SUBPROGRAM

PL/SQL Block yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure

Syntax:

Prosedur

CREATE OR REPLACE PROCEDURE AS
Deklarasi variabel
BEGIN
Prosedural & sql
EXCEPTION
Penanganan eksepsi (ERROR)
END ;
/


Fungsi

CREATE OR REPLACE FUNCTION RETURN
AS
 Deklarasi variabel
BEGIN
procedural and SQL
EXCEPTION
penanganan eksepsi (ERROR)
RETURN();
kalusa return ini wajib di deklarasikan
END;
/