Security and Integrity of Data M.Iqbal Habibie Keamanan dan Integritas Data • Keamanan Data bermakna perlindungan terhadap data. • Keamanan melibatkan melindungi data dan perangkat lunak dari : – Hilang – Destroyed – Rusak – Perubahan – Disclosed kehilangan disks Kebakaran atau banjir, penghapusan goresan pada disk Tertimpa, diperbaharui oleh kesalahan akses dari yang tdk berhak Cara Proteksi Data • File backup adalah sebuah copy file yang dipelihara jika sewaktu-waktu terjadi sesuatu terhadap original file. – Dapat dipelihara pada floppy atau hard disk yang berbeda – Dapat dipelihara pada suatu backup data tape • File Archive dipelihara dalam memori jangka panjang jika diperlukan – Seringkali dari suatu back up data tape Aksi Potensial Terhadap Sistem Komputer(1) DBMS dan Software aplikasi Kesalahan dalam mekanisme pengamanan dengan pemberian hak akses yang lebih besar; pengubahan atau pencurian program. Jaringan komunikasi penyadapan; pemutusan kabel; interferensi gelombang dan radiasi. Aksi Potensial Terhadap Sistem Komputer (2) Data/Database Administrator kebijakan pengamanan dan prosedur yang lemah. Hardware kebakaran/banjir/bom; kehilangan data karena listrik mati; pencurian peralatan; Aksi Potensial Terhadap Sistem Komputer (3) Database Pengubahan yang tidak sah atau penduplikasian data; pencurian data; penghilangan data sehubungan dengan listrik. User Menggunakan hak akses orang lain; Mengubah program dan data, kekurangan staf yang terlatih; memasukkan virus, Mendapatkan akses untuk melakukan penipuan Programer/Operator Membuat jebakan; mengubah program; pemogokan. Pengamanan Database? Pengamanan database • mekanis memelindungi database dari aksi yang disengaja atau tidak disengaja (kecelakaan). Kerusakan yang biasa terjadi: • Pencurian dan penipuan • Kehilangan kerahasiaan • Kehilangan kebebasan (privacy) • Kehilangan keutuhan (integrity) • Kehilangan ketersediaan (availability) Perlindungan Fisik Untuk Proteksi Data • Menyimpan file dalam tempat yang tahan api • Menjaga orang yang tidak berhak masuk ke area yang aman dengan menggunakan kunci dan keamanan dll Otorisasi Dan Autentikasi • Otorisasi Pemberian hak istimewa yang memungkinan mempunyai akses sah terhadap sistem atau obyek sistem. • Autentikasi Sebuah mekanisme untuk menentukan keabsahan user View View Obyek basis data yang berisi perintah query ke basis data. Setiap kali sebuah view diaktifkan, pemakai akan selalu melihat hasil querynya. Berbeda dengan tabel, data yang ditampilkan di dalam view tidak bisa diubah. View (2) Mekanisme view menyediakan mekanisme pengamanan yang fleksibel namun kuat dengan cara menyembunyikan sebagian basis data dari user lain. Contoh view : create view semua_matkulas (select kode_mk, nama_mk from progdi_d3) union (select kode_mk, nama_mkfrom progdi_s1) Perlindungan yang lain Keamanan PL termasuk pengguna memberikan: • Sebuah identitas dan password pengguna Pengamanan lainnya termasuk: • Password individu file. • Enkripsi data. - mengenkripsi data untuk menyalinnya sehingga tidak dapat dibaca oleh orang lain yang tidak memiliki 'kunci'. Integritas Data • Integritas data berarti ketepatan dan kelengkapan. Data memiliki integritas jika belum rusak dengan cara apapun. Penyebab umum kesalahan adalah: - Kesalahan dalam menangkap data (sensor rusak dll) - Transmisi kesalahan (melalui internet dll) Kesalahan transkripsi (Transposisi sastra) • Data dikatakan korup jika kesalahan diperkenalkan ke dalamnya. Biasanya kesalahan telah diperkenalkan oleh peralatan yang rusak. Jenis Integritas • Integritas entitas (entity integrity), dimana tidak ada baris data duplikat dalam satu tabel • Integritas jangkauan (domain integrity), tidak ada data yang melanggar jangkauan nilai di tiap kolom data • Integritas acuan (referential integrity), yang menjaga relasi/korespondensi antar tabel • Integritas data antar tabel (redundant data integrity), data di sebuah tabel tidak terulang di tabel yang lain • Integritas aturan nyata (bussiness rule integrity), data di suatu tabel harus memiliki nilai yang layak dan dapat diterima di tempat sistem basis data diterapkan Entity Integrity (1) • Dalam model data relasional, integritas entitas adalah salah satu dari beberapa aturan integritas yang melekat. • Integritas Entitas adalah aturan integritas yang menyatakan bahwa setiap tabel harus memiliki kunci primer dan kolom yang dipilih untuk menjadi primary key harus unik dan tidak null Entity Integrity (2) Agar integritas entitas dapat dijaga, maka dapat ditempuh cara : • Penentuan key pada tabel basis data • Penerapan proses validasi pada program pemasukan data Entity Integrity (3) • Dalam database relasional yang menggunakan SQL, integritas entitas dipaksakan dengan menambahkan klausul kunci primer untuk definisi skema. • Sistem ini memaksa Entitas Integritas dengan tidak mengizinkan operasi (INSERT, UPDATE) untuk menghasilkan primary key tidak valid. Domain Integrity Jenis domain yang dapat dimiliki suatu atribut : • Karakter bebas • Alfanumerik • Alfabet • Numerik Pemeliharaan integritas domain/jangkauan • Pendefinisian skema/struktur tabel • Pemanfaatan properti field • Penerapan proses validasi pada program pemasukkan data Referential Integrity • Aturan yang menyatakan bahwa nilai suatu foreign key harus cocok dengan sebuah nilai primary key dari sisi one suatu relationship. (atau foreign key boleh null) Contoh: Delete Rule • Restrict - membatasi penghapusan baris dari parent apabila ada baris terkait di sisi dependent • Cascade - otomatis menghapus baris-baris terkait di sisi dependent apabila parent dihapus • Set-to-Null - foreign key diubah menjadi null bila parent dihapus (tidak boleh untuk weak entity) Referential Integrity Constraints Referential integrity constraints digambarkan dengan panah dari tabel dependent ke tabel parent Cara Pengecekan Integritas Data (1) • Sebuah check digit adalah digit tambahan yang ditambahkan ke nomor sehingga, jika nomor berubah, kesalahan akan terdeteksi. – Metode • Mulai dari kanan, kalikan digit pertama dengan 1, yang kedua dengan 2 dst. • Tambahkan hasil bersama-sama • Gunakan digit terakhir dari hasil dan tambahkan ke nomor terakhir. – Example: 56037 becomes 560372 – Example: 50637 becomes 506376 Cara Pengecekan Integritas Data (2) • Verifikasi adalah memeriksa data yang telah disalin dari satu tempat ke tempat lain untuk melihat apakah ia masih sama. • Verification of keyed data mungkin melibatkan pengetikan ulang-key tsb. • Double-entry verifikasi melibatkan 2 orang memasukkan di data yang sama dan kemudian membandingkan data untuk anomali. Cara Pengecekan Integritas Data (3) • Validasi adalah memeriksa data sebelum pengolahan untuk melihat bahwa data dapat diterima untuk proses dan meliputi: - Cek tipe (misalnya numerik atau alfanumerik) - Cek panjang (jumlah karakter yg benar) - Cek rentang (hari antar 1-31; bulan 1-12) • Kedua Database dan program spreadsheet memiliki metode validasi input data sehingga data yang tidak benar jelas tidak diterima oleh perangkat lunak yang kemudian memperingatkan pengguna.