simulasi pengaturan kecepatan motor induksi tiga phasa dengan

advertisement
BAB II
TINJAUAN PUSTAKA
2.1
Sistem Database
2.1.1 Pengertian Database
Kata “database” diambil dari bahasa inggris, terdiri dari dua kata yaitu
base dapat diartikan sebagai dasar, landasan, atau tempat berkumpul. Data adalah
representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang,
peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam bentuk angka,
huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Database dapat didefenisikan dalam sejumlah sudut pandang seperti:
•
Himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
•
Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemkian rupa dan tanpa redundansi yang tidak perlu untuk memenuhi
berbagai kebutuhan.
•
Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam
media penyimpanan elektronis.
Dari beberapa definisi-definisi tersebut, dapat dikatakan bahwa database
mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajat
interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapat digunakan
oleh beberapa pengguna untuk berbagai kepentingan.
Universitas Sumatera Utara
2.1.2 Konsep Database
Dalam mengorganisasikan data dikenal istilah hirarki data yang terdiri
dari: elemen data, record dan file. Yang disebut dengan elemen data adalah unit
data terkecil, tidak dapat dibagi lagi menjadi unit yang berarti. Sebagai contoh:
dalam record gaji, elemen data berupa nama, nomor pegawai, nomor jaminan
sosial, upah dan jumlah tanggungan keluarga. Record merupakan hirarki setingkat
lebih tinggi dari elemen data. Satu record terdiri dari semua elemen data yang
berhubungan dengan objek atau kegiatan tertentu. Semua record sejenis disusun
menjadi satu file. File adalah kumpulan record data yang berhubungan dengan
suatu subjek tertentu.
Database adalah suatu koleksi data yang terintegrasi, diorganisasikan dan
disimpan dengan suatu cara yang memudahkan pengambilan kembali. Integrasi
logis dari record-record dalam banyak file ini disebut konsep database yang
bertujuan untuk meminimumkan redundansi data (artinya data yang sama
disimpan dalam beberapa file) dan mencapai independensi data (kemampuan
untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada
program yang memproses data).
Konsep dasar database adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari
jenis fakta yang tersimpan di dalamnya, penjelasan ini disebut skema. Skema
menggambarkan objek yang diwakili suatu database dan hubungan di antara
objek tersebut. Ada banyak cara untuk mengorganisasi skema atau memodelkan
struktur database, ini dikenal sebagai model database atau model data. Model
Universitas Sumatera Utara
database adalah sekumpulan konsep yang digunakan untuk menjelaskan struktur
dari database dan memberikan gambaran tingkat-tingkat abstraksi data.
Model yang umum digunakan sekarang adalah model relasional. Dalam
model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama
antar tabel. Model yang lain seperti model hirarkis dan model jaringan
menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Gambar 2.1 Konsep sistem database
2.1.3 Sistem Database
Sistem adalah sebuah tatanan (keterpaduan) yang terdiri atas sejumlah
komponen fungsional dengan fungsi khusus yang saling berhubungan dan secara
bersama-sama bertujuan untuk memenuhi suatu proses tertentu. Database
hanyalah sebuah objek yang pasif. Database tidak akan pernah berguna jika tidak
ada penggeraknya. Yang menjadi penggeraknya secara langsung adalah DBMS
(Database Management System) yaitu aplikasi yang menangani semua
Universitas Sumatera Utara
pengaksesan ke database. Gabungan antara database dan DBMS menghasilkan
sistem database.
Karena itu, secara umum sistem database dapat dikatakan sebagai sistem
yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah
database di sebuah sistem komputer) dan sekumpulan program (DBMS) yang
memungkinkan beberapa pengguna untuk mengakses dan memanipulasi file-file
tersebut.
2.1.4 Abstraksi Data
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas antar
muka dalam memperlihatkan data kepada pengguna. Untuk itu, sistem tersebut
akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara.
Karena itu, seringkali data yang terlihat oleh pengguna sebelumnya berbeda
dengan yang disimpan secara fisik.
Gambar 2.2 Tiga level abstraksi data
Abstraksi data merupakan tingkatan/level tentang bagaimana melihat data
dalam sebuah sistem database, yang meliputi sbb :
1. Level Fisik
Universitas Sumatera Utara
Merupakan level terendah dalam abstraksi data, yang menunjukkan
bagaimana sesungguhnya suatu data disimpan. Pada level ini, pengguna melihat
data sebagai gabungan dari struktur dan datanya sendiri. Pengguna juga
berkompeten dalam mengetahui bagaimana representasi fisik dari penyimpanan
dan pengorganisasian data. Pada level ini kita berurusan dengan data sebagai teks,
sebagai angka atau bahkan melihatnya sebagai himpunan bit data.
2. Level Konseptual
Merupakan level berikutnya dalam abstraksi data yang menggambarkan
data apa yang sebenarnya disimpan dalam database dan hubungannya dengan data
yang lain. Pengguna pada level ini dapat mengetahui misalnya bahwa data
pegawai disimpan atau direpresentasikan dalam beberapa tabel, seperti tabel
biodata, tabel pendidikan, tabel pekerjaan, tabel keluarga dan lain sebagainya.
3. Level Penampakan
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan
sebagian dari database. Banyak pengguna dalam sistem database tidak akan
terlibat dengan semua data yang tersimpan. Para pengguna umumnya hanya
membutuhkan sebagian data atau informsi dalam database yang kemunculannya
di mata pengguna diatur oleh aplikasi pengelola database. Aplikasi ini juga yang
mengkonversi data secara fisik menjadi data yang bermakna kepada pengguna.
Misalnya: data hari yang disimpan dalam bentuk kode (1 untuk senin, 2 selasa dst)
yang kemudian ditampilkan bukan dalam bentuk kodenya, tapi sudah dalam
bentuk nama harinya (senin, selasa, rabu dan seterusnya).
Data yang dinikmati pengguna juga bahkan sama sekali berbeda dengan
representasi fisiknya, misalnya data yang dapat divisualkan sebagai gambar, data
Universitas Sumatera Utara
yang dapat diperdengarkan sebagai suara dan lain sebagainya. Data yang
diperlihatkan juga bisa saja tidak berasal dari hanya sebuah tabel, tapi mewakili
relasi antar tabel. Tapi bagi pengguna yang menggunakannya terasa sebagai suatu
kesatuan data yang kompak.
2.2
Database Relasional
2.2.1 Pengertian Database Relasional
Pada model relasional, database akan disebar atau dipilah-pilah ke dalam
berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang
disebut baris data (row/record) dan lajur vertikal yang biasa disebut dengan kolom
(column/field). Pertemuan antara baris dengan kolom disebut item data (data
value), tabel-tabel yang ada terhubung membentuk relasi sedemikian rupa
menggunakan kunci relasional sehingga dapat meminimalkan duplikasi data.
Database relasional diperkenalkan pertama kali oleh E.F. Codd. Model
database menunjukkan suatu mekanisme yang digunakan untuk mengelola data
secara fisik dalam memori sekunder yang akan berdampak pula pada bagaimana
kita mengelompokkan dan membentuk keseluruhan data yang terkait dalam sistem
yang sedang kita tinjau.
Database relasional adalah tipe database yang paling populer digunakan
saat ini. Banyak perkembangan yang telah dibuat dari model database
sebelumnya. Data menjadi lebih mudah dimanajemen terutama melalui
penggunaan batasan integritas. Pengambilan data merupakan proses penyaringan
yang memungkinkan pengguna memvisualisasikan database melalui struktur tabel
relasional dan meminta data tertentu tanpa perlu memahami struktur databasenya.
Universitas Sumatera Utara
2.2.2 Istilah-istilah dalam Database Relasional
•
Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan
beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas
yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu
yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
•
Entitas
Merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database,
bisa berupa objek, orang, tempat, kejadian atau konsep yang informasinya akan
disimpan di database. Misalnya pada sistem database akademik, yang menjadi
entitas adalah, mahasiswa, dosen, mata kuliah dan lain-lain.
Dalam aplikasi nantinya, penggunaan istilah entitas sering disamakan
dengan istilah tabel. Disebut tabel, karena dalam merepresentasikan datanya diatur
dalam bentuk baris dan kolom.
•
Atribut (Field)
Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki
atribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau
pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting
dalam pembentukan model data. Dalam tabel database, field ini disebut juga
kolom. Atribut/field merupakan bagian dari record yang menunjukkan suatu item
Universitas Sumatera Utara
data yang sejenis, misalnya : field nama, field NIM dan lain sebagainya. Setiap
field harus mempunyai nama dan tipe data tertentu.
•
Baris (Record)
Dalam tabel database, record disebut juga baris. Record merupakan baris
pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan
menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili
satu data atau informasi tentang seseorang/sesuatu, misalnya: NPM, nama
mahasiswa, alamat, kota perbarisnya.
•
Kunci Relasi (relational key)
Untuk secara unik mengenali suatu baris (record), setiap tabel harus
memiliki suatu primary key. Primary key merupakan satu atribut atau satu set
minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian
spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key
yang dipilih untuk mengidentifikasikan record secara unik dalam relasi. Setiap
kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih
satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
2.2.3 Bahasa query
Bahasa query adalah suatu bahasa yang menyediakan fasilitas bagi user
untuk mengakses informasi dari database. Pada umumnya level bahasa ini lebih
tinggi dari bahasa pemrograman standar. Bahasa query dapat dikategorikan
sebagai prosedural dan non-prosedural.
Universitas Sumatera Utara
Dalam bahasa prosedural, user menginstruksikan ke sistem agar
membentuk serangkaian operasi dalam database untuk mengeluarkan hasil yang
diinginkan. Dalam bahasa non-prosedural, user mendeskripsikan informasi yang
diinginkan tanpa memberikan prosedur detail untuk menghasilkan informasi
tersebut. Sebagian besar sistem database relasional yang beredar dipasaran
menawarkan bahasa query dengan pendekatan prosedural dan non-prosedural.
Beberapa bahasa query yang murni adalah: aljabar relasional (relational
algebra) merupakan bahasa query prosedural, sedangkan kalkulus relasional tupel
(tuple relational calculus) dan kalkulus relasional domain (domain relational
calculus) adalah non-prosedural.
Bahasa Komersial adalah bahasa query yang dirancang sendiri oleh
programmer menjadi suatu program aplikasi agar pemakai lebih mudah
menggunakannya. Contohnya antara lain: QUEL (Berbasis pada kalkulus
relasional), QBE (Berbasis pada kalkulus relasional) dan SQL (Berbasis pada
kalkulus dan aljabar relasional).
2.3
Keamanan Sistem Database
Seiring
dengan
database semakin
menantang.
lama
Pihak yang
perkembangan
menjadi
teknologi,
pekerjaan
bertanggung
jawab
yang
pengelolaan
semakin
terhadap
keamanan
sulit
dan
sistem keamanan
database harus dapat memastikan tiga hal utama dalam keamanan database yaitu
Universitas Sumatera Utara
kerahasiaan (confidentiality), integritas (Integrity) dan ketersediaan (availability).
2.3.1 Kerahasiaan (Confidentiality)
Kerahasiaan dapat diartikan sebagai perlindungan terhadap data dalam
sistem database sehingga tidak dapat diakses oleh pihak yang tidak berwenang.
Banyak yang beranggapan bahwa tipe perlindungan seperti ini hanya penting
untuk kalangan militer dan pemerintahan, dimana sangat perlu merahasiakan
rencana dan data rahasia negara. Akan tetapi kerahasian juga sangat penting bagi
kalangan bisnis yang perlu melindungi rahasia dagang mereka dari kompetitor,
atau untuk mencegah akses terhadap data-data yang dianggap sensitif oleh orangorang yang tidak berhak didalam perusahaan (contohnya data personalia,
medis, dan lainnya).
Isu
seputar
privasi yang
semakin
diperhatikan
akhir-akhir
ini,
telah memaksa badan pemerintahan dan perusahaan swasta sekalipun untuk
menjaga kerahasiaan informasi secara lebih baik lagi, demi melindungi datadata
pribadi
yang disimpan dalam sistem databasenya. Kerahasiaan
harus
terdefinisi dengan baik, dan prosedur untuk menjaga kerahasiaan informasi
harus diterapkan secara berhati-hati. Aspek penting dari kerahasiaan adalah
pengidentifikasian dan otentikasi terhadap pengguna. Identifikasi positif dari
setiap pengguna sangat penting untuk memastikan efektifitas dari kebijakan
yang menentukan siapa saja yang berhak untuk mengakses data tertentu.
Model
yang
sering
dipergunakan
untuk
menggambarkan
penerapan sistem kerahasiaan informasi adalah model
proses
Bell-LaPadula . Model
ini mendefinisikan hubungan antara objek (contohnya: field, data), dan subjek
Universitas Sumatera Utara
(contohnya : orang atau proses). Hubungan diantara keduanya dijelaskan dalam
istilah- istilah yang berhubungan dengan tingkat hak akses subjek dan
tingkat sensitifitas dari objek.
2.3.2 Integritas (Integrity)
Integritas adalah perlindungan terhadap sistem database dari perubahan
yang tidak terotorisasi, baik secara sengaja maupun secara tidak sengaja.
Tantangan
yang
dihadapi setiap sistem keamanan database adalah untuk
memastikan bahwa data terpelihara dalam keadaan yang sesuai dengan harapan
dari pengguna. Walau tidak dapat meningkatkan akurasi dari
dimasukkan
kedalam
sistem
oleh
pengguna,
inisiatif
data
keamanan
yang
data
memastikan bahwa setiap perubahan memang benar-benar dikehendaki dan
dilakukan secara benar. Ada tiga sasaran dari integritas yaitu :
1.
Mencegah pengguna yang tidak berhak melakukan perubahan data
2.
Mencegah pengguna yang berhak, melakukan perubahan yang tidak
benar atau tidak terotorisasi
3.
Menjaga konsistensi data dalam database secara internal dan eksternal.
Elemen tambahan dari integritas adalah kebutuhan untuk melindungi
proses atau program yang digunakan untuk memanipulasi data dari modifikasi
yang tidak terotorisasi. Saat paling penting dalam pemrosesan data adalah
memastikan integritas data untuk mencegah penipuan (fraud) dan kesalahan
(error). Dengan demikian, sangat penting diperhatikan bahwa tidak ada
pengguna
yang
data sensitif,
dapat mengubah
data
hingga
menyebabkan
hilangnya
atau menyebabkan informasi yang dipakai untuk mengambil
Universitas Sumatera Utara
keputusan yang reliabilitasnya diragukan.
Integritas bergantung kepada kontrol terhadap akses, dengan demikian
sangat penting untuk mengidentifikasi setiap orang yang berusaha mengakses
secara secara positif dan unik.
2.3.3 Ketersediaan (Availability)
Ketersediaan ini dapat diartikan sebagai kepastian bahwa sebuah sistem
informasi dapat diakses oleh pengguna yang berhak kapan saja sistem
informasi tersebut dibutuhkan.
Masalah-masalah
seputar
urusan
fisik,
teknis
dan
administratif
merupakan aspek penting dari inisiatif keamanan informasi untuk mengatasi isu
ketersediaan. Masalah seputar urusan fisik termasuk kontrol terhadap akses demi
mencegah orang yang tidak berhak
untuk
berhubungan
langsung
dengan
pusat data, berbagai mekanisme pengendalian ancaman api dan air, hot site dan
cold site yang akan digunakan sebagai tempat pemrosesan data alternatif, dan
fasilitas penyimpanan backup media yang berjauhan dari data center utama.
Masalah seputar urusan teknis termasuk mekanisme fault-tolerance
(contohnya redundansi hardware, disk mirroring, dan aplication checkpoint
restart), electronic vaulting (contohnya backup yang otomatis ke lokasi yang
aman dan berjauhan dari data center utama), dan yang tidak kalah penting adalah
kontrol akses dari sisi software untuk mencegah user yang tidak berhak
mencoba mengganggu jalannya layanan pusat data.
Masalah seputar urusan administratif termasuk kebijaksanaan kontrol
akses, prosedur operasional, contingency plan, dan pelatihan user. Walau
Universitas Sumatera Utara
terlihat
kurang
penting, pelatihan yang memadai untuk para operator,
programmer, dan petugas keamanan akan dapat membantu menghindari gangguan
terhadap databa s e
yang bisa menyebabkan hilangnya ketersediaan sistem
database. Sebagai tambahan, ketersediaan sistem database bisa terhalangi
apabila seorang petugas keamanan secara tidak sengaja mengunci database
kontrol akses saat melakukan pemeliharaan rutin, sehingga mencegah user yang
berhak untuk mengakses sistem dalam waktu yang cukup panjang.
2.3.4 Metode-metode Identifikasi dan Otentikasi
Elemen antarmuka pengguna yang pertama kali ditemui kebanyakan
subjek ketika mengakses sistem database adalah identifikasi dan otentikasi.
Tahap identifikasi memperkenankan subjek mengklaim sebagai entitas tertentu
dengan menunjukkan bukti-bukti identitas. Bukti-bukti tersebut dapat sesederhana
identtas pengguna atau nomor PIN, atau yang lebih kompleks seperti atribut
fisik. Setelah subjek mengklaim suatu identitas, sistem memvalidasi apakah
pengguna tersebut sudah terdaftar sebagai pengguna database dan membuktikan
bahwa subjek tesebut adalah benar-benar sebagai entitas yang diklaimnya.
Tahap otentikasi meminta subjek menunjukkan informasi tambahan
yang berkesesuaian dengan informasi tentang subjek tesebut yang telah disimpan.
Dua tahap ini sering disebut dengan otentikasi dua faktor, yang memberikan
proteksi terhadap subjek yang tidak memiliki otoritas untuk mengakses
sistem. Setelah subjek diotentikasi, sistem kontrol akses mengevaluasi hak dan
izin subjek untuk mengabulkan atau menolak permintaan akses terhadap
objek. Tahap ini disebut dengan tahap otorisasi.
Universitas Sumatera Utara
2.4
Akses Kontrol dalam Database
Aspek keamanan dari database menjadi pemikiran utama dari banyak
organisasi. Kebutuhan keamanan database menjadi penting karena nilai dari data
yang disimpan sangat berharga bagi organisasi tersebut. Tidak semua data
mempunyai nilai yang sama. Setiap bagian data mempunyai kepentingan dan nilai
yang berbeda pula.
Untuk itu diperlukan suatu metode pengaturan dari keamanan data. Hal ini
penting karena untuk data dengan jumlah dan jenis yang besar diperlukan
manajemen data yang baik. Untuk data dengan kapasitas volume data yang relatif
kecil mungkin cukup dengan cara administrasi tunggal, dengan kata lain semua
hak istimewa (privilege) dari data yang disimpan diatur oleh seorang adminstrator.
Masalah akan muncul jika volume data berkembang menjadi sangat besar,
maka manajemen dari data tersebut tidak cukup diatur oleh seorang administrator
saja, karena itu diperlukan suatu teknik yang dapat digunakan untuk mengatur
akses kontrol dari sebuah objek dalam sistem database.
2.4.1 Pengertian Akses Kontrol
Kontrol adalah sebuah mekanisme yang mengatur mana yang berhak
dan tidak berhak melakukan akses terhadap sebuah objek. Kontrol bisa
menjadi penjaga keamanan informasi dari serangan.
Akses kontrol merupakan
fitur-fitur
keamanan
yang
mengontrol
bagaimana pemakai sistem berkomunikasi dan berinteraksi dengan sistem dan
Universitas Sumatera Utara
sumber daya lainnya. Akses kontrol melindungi sistem dan sumber daya dari
akses yang tidak berhak dan umumnya menentukan tingkat otorisasi setelah
prosedur otentikasi berhasil dilengkapi.
Akses adalah aliran informasi antara subjek dan objek. Sebuah subjek
merupakan entitas aktif yang meminta akses ke suatu objek atau data dalam objek
tersebut. Sebuah subjek dapat berupa pemakai, program, atau proses yang
mengakses informasi untuk menyelesaikan suatu tugas tertentu. Ketika sebuah
program mengakses sebuah file, program menjadi subjek dan file menjadi objek.
Objek adalah entitas pasif yang mengandung informasi. Objek bisa sebuah entitas,
data atau field pada tabel yang berada di dalam database.
2.4.2
Subjek dan Objek
Kontrol
akses
adalah
semua
yang
mengatur tentang
proses
pengontrolan akses. Sebuah entitas yang meminta akses ke sebuah sumber daya
disebut sebagai akses dari subjek. Sebuah subjek merupakan entitas yang aktif
karena dia menginisiasi sebuah permintaan akses.
Sebuah sumber daya yang akan diakses oleh subjek disebut sebagai
objek dari akses. Objek dari akses merupakan bagian yang pasif dari akses
karena subjek melakukan akses terhadap objek tersebut. Jadi tujuan dari
kebijakan kontrol akses adalah mengijinkan hanya subjek yang mempunyai
otorisasi yang bisa mengakses objek yang sudah diijinkan untuk diakses.
Hal ini mungkin juga ada subjek yang sudah mempunyai otorisasi tapi tidak
mengizinkan akses terhadap spesifik objek tertentu.
Universitas Sumatera Utara
2.4.3 Least Privilege
Organisasi-organisasi
menggunakan
beberapa
kebijakan
dalam
menerapkan peraturan kontrol akses. Filosofi yang paling tidak aman (paling
berbahaya) adalah memberikan hak akses kepada setiap orang secara default.
Memang kelihatannya mudah akan tetapi hal ini mudah juga untuk dibobol. Jadi
pada metode ini, kita harus memastikan bahhwa semua akses harus dibatasi
karena administrasi yang buruk bisa menyebabkan lubang kemanan.
Filosofi dari least privilege adalah sebuah subjek hanya diberikan hak
sesuai dengan keperluannya tidak lebih. Least privilege membantu menghindari
authorization creep, yaitu sebuah kondisi dimana sebuah subjek memiliki hak
akses lebih dari yang sebenarnya dibutuhkan.
2.4.4 Model Akses Kontrol
Model akses kontrol sangat berfungsi dalam menentukan jenis kontrol
akses yang
akses
diperlukan
kontrol
dalam
mendukung
kebijakan
keamanan.
Model
ini menyediakan level konseptual dari kebijakan keamanan.
Hal ini akan mengijinkan kita untuk melakukan pemetaan antara tujuan dan
petunjuk dari kebijakan keamanan terhadap masalah yang spesifik.
Penerapan akses kontrol pada subjek sistem (sebuah entitas aktif seperti
individu atau proses) terhadap objek sistem (sebuah entitas pasif seperti sebuah
file) berdasarkan aturan (rules). Model kontrol akses merupakan sebuah
framework yang menjelaskan bagaimana subjek mengakses objek. Model ini
menggunakan
teknologi
kontrol
akses
dan
mekanisme
sekuriti
untuk
menerapkan aturan dan tujuan suatu model.
Universitas Sumatera Utara
Ada tiga tipe utama model kontrol akses yaitu mandatory, discretionary,
dan role-based. Tiap tipe model memakai metode berbeda untuk mengkontrol
bagaimana
subjek
mengakses
objek
dan
mempunyai
kelebihan
serta
keterbatasan masing- masing. Beberapa model dipakai secara eksklusif dan
kadang-kadang
model tersebut dikombinasikan sehingga mampu mencapai
tingkat keperluan keamanan yang dibutuhkan.
2.4.4.1 Mandatory Access Control
Otorisasi suatu akses subjek terhadap objek bergantung pada label
menunjukkan ijin otorisasi suatu subjek dan klasifikasi dari objek. Pada
mandatory access control, pengguna dan pemilik data tidak memiliki banyak
kebebasan untuk menentukan siapa yang dapat mengakses file-file yang
dibuatnya. Pemilik data dapat mengijinkan pihak lain untuk mengakses file
miliknya
namun
sistemlah yang
membuat keputusan final dan dapat
membatalkan kebijakan dari pemilik data.
Model ini lebih terstruktur dan ketat serta berdasarkan label keamanan
sistem. Pengguna diberikan ijin otorisasi dan data diklasifikasikan. Klasifikasi
disimpan di label sekuriti pada sumber daya. Klasifikasi
label
menentukan
tingkat kepercayaan pengguna yang harus dimiliki untuk dapat mengakses
suatu file.
Ketika sistem membuat keputusan mengenai pemenuhan permintaan
akses ke suatu objek, keputusan akan didasarkan pada ijin otorisasi subjek
dan klasifikasi objek. Aturan-aturan bagaimana subjek mengakses data dibuat
oleh manajemen, dikonfigurasikan oleh administrator, dijalankan oleh sistem dan
Universitas Sumatera Utara
didukung oleh teknologi sekuriti.
2.4.4.2 Discretionary Access Control
Subjek memiliki otoritas, dengan batasan tertentu, untuk menentukan
objek-objek apa yang dapat diakses. Contohnya adalah penggunaan daftar
kontrol akses (access control list). Daftar kontrol akses merupakan sebuah
daftar yang menunjuk pengguna-pengguna mana yang memiliki hak ke sumber
daya tertentu. Misalnya daftar tabular akan menunjukkan
subjek atau
pengguna mana yang memiliki akses ke objek dan hak apa yang mereka punya
berkaitan dengan objek tersebut.
Kontrol akses triple terdiri dari pengguna, program, dan file dengan
hubungan hak akses terkait dengan tiap pengguna. Tipe kontrol akses ini
digunakan secara lokal, dan mempunyai situasi dinamis dimana subjek-subjek
harus memiliki pemisahan untuk menentukan sumber daya tertentu yang
diijinkan untuk diakses oleh pengguna.
Ketika pengguna dengan batasan tertentu memiliki hak untuk merubah
kontrol akses ke objek-objek tertentu, hal ini disebut sebagai user-directed
discretionary access control. Sedangkan kontrol akses
(identity-based
access
control)
adalah
tipe
kontrol
berbasis
identitas
akses
terpisah
berdasarkan identitas suatu individu. Dalam beberapa kasus, pendekatan hybrid
juga digunakan, yaitu yang mengkombinasikan fitur-fitur user-based dan
identity-based discretionary access control.
Jika pengguna membuat suatu file, maka ia merupakan pemilik file
tersebut. Kepemilikan juga bisa diberikan kepada individu spesifik. Sistem yang
Universitas Sumatera Utara
menerapkan
model discretionary
access
control memungkinkan
pemilik
sumber daya untuk menentukan subjek-subjek apa yang dapat mengakses
sumber daya spesifik. Model ini dinamakan discretionary karena kontrol
akses didasarkan pada pemisahan pemilik.
Akses dibatasi berdasarkan otorisasi yang diberikan pada pengguna. Ini
berarti bahwa subjek-subjek diijinkan untuk menentukan tipe akses apa yang
dapat terjadi pada objek yang mereka miliki. Jika organisasi menggunakan
model discretionary access control, administrator jaringan dapat mengijinkan
pemilik sumber daya mengontrol siapa yang dapat mengakses file/sumber
daya tersebut.
Implemetasi umum dari discretionary access control adalah melalui
access control list yang dibuat oleh pemilik, diatur oleh administrator jaringan,
dan dijalankan oleh sistem. Dengan demikian kontrol ini tidak termasuk dalam
lingkungan terkontrol yang terpusat dan dapat memberi kemampuan pada
pengguna untuk mengakses informasi secara dinamis, kebalikan dari aturan
yang lebih statis pada mandatory access control.
2.4.4.3 Non Discretionary (Role-Based) Access Control
Otoritas sentral menentukan subjek-subjek apa yang mempunyai akses
ke objek-objek tertentu berdasarkan kebijakan keamanan organisasi. Kontrol
akses bisa berdasarkan peran individu dalam suatu organisasi (role-based) atau
tanggung jawab subjek dan tugasnya (task-based).
Dalam organisasi dimana sering terdapat adanya perubahan/pergantian
Universitas Sumatera Utara
personel, non-discretionary access control merupakan model yang tepat karena
kontrol akses didasarkan pada peran individu atau jabatan dalam suatu
organisasi. Kontrol akses ini tidak perlu diubah saat individu baru masuk
menggantikan individu lama.
Tipe lain dari non-discretionary access control adalah kontrol akses
lattice-based. Dalam model lattice
(lapis
tingkatan),
terdapat
pasangan-
pasangan elemen yang memiliki batas tertinggi terkecil dari nilai dan batas
terendah terbesar dari nilai. Untuk menerapkan konsep kontrol akses ini,
pasangan elemen adalah subjek dan objek, dan subjek memiliki batas terendah
terbesar serta batas tertinggi terkecil untuk hak akses pada suatu objek.
Selain itu terdapat model role-based access control yang juga sebagai
non-discretionary access control. Model ini menerapkan seperangkat aturan
terpusat
pada kontrol untuk
menentukan bagaimana subjek dan objek
berinteraksi. Tipe model ini mengijinkan akses ke sumber daya berdasarkan
peran
yang
pengguna
tangani
dalam
suatu
organisasi.
Administrator
menempatkan pengguna dalam peran dan kemudian memberikan hak akses pada
peran tersebut.
2.5
Mandatory Access Control (MAC)
Database berukuran besar berisi sejumlah besar informasi dan biasanya
mempunyai beberapa kelompok pengguna. Kebanyakan pengguna hanya perlu
untuk mengakses sebagian kecil database untuk menjalankan tugasnya.
Mengizinkan pengguna memiliki akses tidak terbatas pada semua data tidak
Universitas Sumatera Utara
direkomendasikan, dan DBMS sebaiknya menyediakan mekanisme untuk
mengontrol akses ke data.
DBMS menawarkan dua pendekatan utama untuk kontrol data.
Dicretionary acceess control didasarkan pada konsep hak akses, atau privilege
dan mekanisme untuk memberikan pengguna privilege. Privilege mengizinkan
pengguna untuk mengakses beberapa objek data dalam cara tertentu (misalnya,
untuk membaca atau memodifikasi). Pengguna yang membuat objek database
seperti tabel atau view secara otomatis mendapatkan privilege yang dapat
diterapkan pada objek tersebut. Selanjutnya DBMS terus menelusuri bagaimana
privilege ini diberikan ke pengguna lain dan mungkin dicabut, dan memastikan
bahwa pada setiap waktu hanya pengguna dengan privilege penting yang dapat
mengakses objek.
Akses kontrol dapat diartikan juga sebagai bentuk keamanan dengan jalan
membatasi akses subjek terhadap objek. Subjek harus diberikan hak akses secara
jelas tentang operasi apa saja yang mungkin dilakukan. Selain itu juga harus
ditentukan syarat (requirement) apa saja yang harus dipenuhi agar dapat
mengakses objek. Sistem yang mengimplementasikan Mandatory access control
(MAC) memerlukan label untuk setiap subjek dan objek, label ini berguna sebagai
identitas dari masing-masing subjek dan objek.
Mekanisme discretionary access control (DAC) secara umum efektif
namun mempunyai kelemahan tertentu. Secara khusus, pengguna tidak sah dapat
menipu pengguna sah untuk memperlihatkan data senstif. Mandatory access
control didasarkan pada kebijakan pengembangan sistem yang tidak dapat diubah
pengguna perseorangan.
Universitas Sumatera Utara
Dalam pendekatan ini, tiap objek database diberikan kelas keamanan, tiap
pengguna diberikan izin untuk kelas keamanan, dan aturan ditentukan pada
membaca dan menulis objek yang diberikan berdasar pada aturan tertentu yang
mencakup level keamanan objek dan izin pengguna. Aturan tersebut mencari
untuk memastikan bahwa data sensitif tidak pernah dapat dilewati oleh pengguna
tanpa izin yang diperlukan.
2.5.1 Pengelompokkan MAC
Kebijakan mandatory access dapat dikelompokkan kedalam dua bagian
yaitu berdasarkan kerahasiaan dan berdasarkan kesatuan/integritas
•
Berdasarkan kerahasiaan
Tujuan
utama
dari
kebijakan
keamanan
mandatory
berdasarkan
kerahasiaan adalah untuk melindungi kerahasiaan data. Sebagai konsekuensinya,
level keamanan dari kelas akses dihubungkan dengan sebuah objek dengan
melihat seberapa penting isinya sedangkan level keamanan dari kelas akses
dihubungkan dengan sebuah subjek disebut
clearance atau
ijin
yang
mencerminkan tingkat kepercayaan yang diberikan ke dalam subjek untuk tidak
menyingkap informasi rahasia.
Kumpulan kategori dihubungkan dengan subjek dan juga objek yang
mendefenisikan area kewenangan dari subjek dan data tersebut. Seorang
pengguna dapat berhubungan dengan sistem dengan menggunakan clearance
yang dimilikinya atau akses apapun yang didominasi oleh ijinnya. Sebuah proses
dibangkitkan oleh pengguna yang terhubung dengan sebuah kelas akses khusus
yang memiliki kelas akses yang sama dengan sebagai pengguna.
Universitas Sumatera Utara
Pendekatan ini mencegah aliran informasi dari subjek/objek level tinggi ke
subjek/objek level rendah sehingga menjamin kepastian (confidentiality) data.
Akan tetapi terlalu bersifat membatasi, sebagai contoh: data mungkin saja perlu di
downgrade. Untuk menyelesaikan masalah ini, maka pendekatan berdasarkan
kerahasiaan mengijinkan pengecualian kepada subjek terpercaya dan dapat
memastikan kevalidan data.
•
Berdasarkan integritas
Tujuan utama dari kebijakan ini adalah untuk mencegah subjek secara
tidak langsung memodifikasi informasi yang bukan haknya. Derajat kepercayaan
ditempatkan pada tiap subjek yang dapat menambah atau mengubah data sensitif.
Level integritas dihubungkan dengan sebuah objek yang menunjukkan derajat
kepercayaan yang terkandung dalam objek dan kerusakan yang mungkin terjadi
jika informasi tersebut berhasil terbongkar. Kumpulan kategori ini dihubungkan
dengan subjek dan objek yang merumuskan wilayah kewenangan pengguna dan
data.
Pendekatan berdasarkan integritas mencegah aliran informasi dari level
bawah objek ke level atas objek. Batasan dari model ini adalah hanya dapat
mendeteksi pelanggaran integritas dari aliran informasi yang tidak sesuai
(improper). Akan tetapi, integritas dapat memiliki cakupan yang luas dan aspekaspek tambahan dapat ditambahkan untuk menyempurnakan kebijakan.
Perlu dicatat bahwa kebijakan berdasarkan keamanan dan kebijakan
berdasarkan integritas tidak bersifat mutual eksklusif, jadi keduanya dapat
digunakan bersamaan untuk melindungi baik kerahasiaan data maupun integritas.
Universitas Sumatera Utara
Untuk kasus ini, jelas bahwa setiap subjek dan objek harus dihubungkan dengan
sebuah kelas keamanan dan sebuah kelas integritas.
2.5.2 Mandatory Model
Kebijakan keamanan Mandatory access control didasarkan pada regulasi
yang telah ditetapkan oleh sistem dan tidak dapat diubah. Bentuk paling umum
dari akses kontrol ini adalah multilvel security (MLS) yang didasarkan pada
pengelompokan subjek dan objek di dalam sistem. Tiap subjek dan objek dalam
sistem dihubungkan dengan sebuah kelas akses, biasanya tersusun oleh sebuah
level keamanan dan sekumpulan kategori pengelompokkan.
Level keamanan dalam sistem ditunjukkan oleh sebuah urutan relasi total,
sementara bentuk kategori adalah tidak terurut, karena itu, kumpulan kelas akses
ini ditunjukkan oleh sebuah urutan relasi parsial yang dibei tanda
dan disebut
dominan. Sebagai contoh: dua buah kelas akses c1 da c2, c1 dominan terhadap c2
atau c1
c2, artinya bahwa kelas keamanan c1 lebih besar atau sama dengan kelas
keamanan c2 dan kumpulan kategori c1 termasuk dalam kumpulan kategori c2.
Masalah utama dari kebijakan mandatory adalah hanya dapat mengontrol
aliran informasi yang terjadi lewat overts channels yaitu channel yang bekerja
secara sah dan telah dtetapkan. Sebagai akibatnya, kebijakan mandatory sangat
rentan terhadap covert channels yaitu channel yang tidak termasuk dalam
komunikasi formal tetapi masih dapat dieksploitasi untuk menebak informasi.
Sebagai contoh: jika sebuah subjek level rendah meminta untuk menggunakan
sumber daya yang sedang digunakan oleh subjek level tinggi, maka ia akan
Universitas Sumatera Utara
mendapat respon negatif sehingga ia akan dapat menebak bahwa sumber daya
tersebut sedang digunakan subjek lain yang berlevel tinggi.
Keuntungan utama dari implementasi Mandatory Access Control adalah
dapat menahan Trojan Horse, sebuah program tersembunyi yang berusaha
merusak/memanfaatkan objek tanpa harus mempunyai hak akses terhadap objek.
Ada beberapa definisi yang perlu kita ketahui untuk pemahaman MAC ini:
•
Objek: Entitas pasif, menyimpan informasi
•
Subjek: Entitas aktif, memanipulasi informasi
•
Label: Indentifikasi dari kerahasiaan objek
•
Clearance: Menentukan kelas/bagian yang paling rahasia untuk subjek
•
Permission: Menentukan operasi apa saja yang dapat dilakukan objek
terhadap subjek seperti: read, write, append, dan execute.
Untuk dapat mengimplementasikan MAC diperlukan keamanan yang baik
dari sistem operasi. Fakta yang ada adalah sistem operasi yang ada sekarang
belum cukup untuk implemtasi MAC. Konsekuensinya adalah masih ada
kerentanan (vulnerability) dari sistem ini. Sistem keamanan dari sistem operasi
yang ada sekarang masih berdasarkan pencocokan password (indentitas
pengguna) dan ownership dengan mengabaikan faktor keamanan lainnya. Konsep
inilah yang dipakai oleh DAC (Discretory Access Control).
DAC tidak memasukkan faktor fungsi dari program, sensitifitas dan
integritas dari objek. DAC tidak mempunyai fungsi untuk mengetahui integritas
dari program yang memakai objek tersebut. Setiap program yang digunakan oleh
subjek yang mempunyai privilege terhadap objek dapat digunakan untuk
mengubah objek.
Universitas Sumatera Utara
MAC dapat menutupi kelemahan yang terdapat dari metode DAC.
Keputusan MAC adalah berdasarkan dari label objek yang berisi berbagai
informasi kemanan yang relevan. Sistem kebijakan dari MAC ditentukan dari
system security policy administrator, dan kebijakan subjek dan objek (files,
socket, network interfaces).
Metode MAC ini tentu tidak bisa memuaskan semua pihak, maka MAC
dikembangkan oleh berbagai pihak untuk memenuhi kebutuhannya masingmasing. Salah satu pihak yang mengembangkan MAC adalah National Security
Agency (NSA) dan Secure Computing Coorporation (SCC). Kedua pihak ini
melakukan riset dengan tujuan untuk mendapatkan sistem keamanan yang
fleksibel.
2.6
Kriptografi
2.6.1 Teori Kriptografi
Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga
agar data atau pesan tetap aman. Tujuan dari kriptografi adalah memastikan
kerahasiaan data dari pihak yang tidak berwenang. Konsep kriptografi sendiri telah
lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau
masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni:
•
Kerahasiaan (Confidelity) yaitu layanan agar isi pesan tetap rahasia dan tidak
diketahui oleh pihak lain kecuali pihak yang memiliki ijin. Umumnya hal ini
Universitas Sumatera Utara
dilakukan dengan cara membuat suatu algoritma matematis yang mampu
mengubah data hingga menjadi sulit untuk dibaca dan dipahami.
•
Keutuhan
data
(Data
integrity)
yaitu
layanan
yang
mampu
mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau
penambahan) data yang tidak sah (oleh pihak lain).
•
Keotentikan (Authentication) yaitu layanan yang berhubungan dengan
identifikasi, baik otentikasi pihak-pihak yang terlibat dalam pengiriman data
maupun otentikasi keaslian data/informasi.
•
Anti-penyangkalan (Non-repudiation) yaitu layanan yang dapat mencegah suatu
pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa
data tersebut berasal dirinya).
Jaminan atas identitas dan keabsahan (authenticity) pihak-pihak yang
melakukan transaksi dilakukan dengan menggunakan password atau sertifikat
digital. Sedangkan keotentikan data transaksi dapat dilakukan dengan tanda
tangan digital. Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal
(non-repudiation) dengan memanfaatkan tanda tangan digital dan sertifikat
digital.
Untuk membuat data menjadi aman maka diperlukan kunci (key) supaya
mempermudah pemakaian dalam penyimpanan atau pengiriman data. Karena bila
menggunakan algoritma rahasia terdapat kesulitan yaitu harus selalu membuat
yang baru setiap kali akan menyimpan/mengirim data. Analoginya adalah dalam
penggunaan gembok yang menggunakan kode-kode angka untuk membuka atau
mengunci gemboknya putar saja kode-kode angkanya ke posisi yang tepat. Jadi
kuncinya hanya bisa diputar oleh orang yang tahu urutan kode yang benar.
Universitas Sumatera Utara
Enkripsi (encryption) adalah suatu proses yang melakukan perubahan
sebuah kode dari kode yang dapat dimengerti (plaintext) menjadi sebuah kode
yang tidak dimengerti atau maknanya “tersembunyi” (ciphertext). Dekripsi
(decryption) adalah proses yang melakukan pengembalian informasi teracak
menjadi bentuk orisinilnya (asli). Cipher adalah pengkodean yang menggunakan
suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari
sebuah pesan menjadi kriptogram (cryptogram) yang tidak dimengerti atau
dengan kata lain cipher adalah sebuah algortima kriptografik (cryptographic
algoritm).
Kriptografi digunakan untuk melindungi informasi agar tidak tersingkap
oleh pihak yang tidak berwenang. Kriptografi dibentuk dengan berdasarkan
suatu algoritma yang akan mengacak suatu informasi menjadi bentuk yang
tidak bisa dibaca atau dilihat.
Ganbar 2.3 Proses Kriptografi sederhana
Metode kriptografi biasanya menggunakan suatu algoritma dan suatu
Universitas Sumatera Utara
kunci. dimana kunci yang digunakan dan panjangnya kunci merupakan
pondasi kekuatan dari enkripsi. Ukuran panjang kunci biasanya dinotasikan
dalam bit. Ukuran panjang kunci yang lebih panjang biasanya lebih aman
dibandingkan kunci yang lebih pendek. Dengan semakin panjang kunci semakin
besar keyspace yang dijalani untuk mencari kunci dengan metode brute force
attack karena keyspace yang harus dilihat merupakan pangkat dari bilangan.
2.6.2 Jenis-jenis Kriptografi
2.6.2.1 Kriptografi Simetri (Private Key Encryption)
Enkripsi ini bekerja dengan kunci yang sama untuk mengenkripsi dan
mendekripsi data. Kategori kriptografi ini mempunyai kelebihan pada kecepatan
proses datanya, juga sangat baik digunakan untuk mengamankan enkripsi data
berkecepatan tinggi tetapi mempunyai kelemahan pada masalah keamanan
pertukaran kuncinya.
Terdapat beberapa model algoritma enkripsi dengan menggunakan kunci
rahasia antara lain subsitusion cipher, AES, DES, Triple DES, RC (Rivest Code)
2, RC 4, IDEA, Skipjack, Caesar cipher, Ghost Block Cipher, dan Transposition
Cipher.
Gambar 2.4 Enkripsi dengan kunci rahasia
Universitas Sumatera Utara
2.6.2.2 Kriptografi ASimetri (Public Key Encryption)
Enkripsi ini bekerja dengan kunci yang berbeda untuk enkripsi dan untuk
dekripsi. Cara kerjanya adalah pihak yang menggunakan enkripsi ini harus
mempunyai dua buah kunci yaitu satu kunci rahasia yang hanya boleh diketahui
oleh dirinya sendiri, yang kedua adalah kunci publik yang akan disebarkan kepada
orang lain. Kedua kunci ini dibuat secara acak dengan menggunakan rumus
matematika tertentu.
Kunci publik disimpan dan didistribusikan oleh pihak yang berwenang
yaitu CA (Certified Authorizied), dimana kumpulan dari CA adalah Public Key
Infrastruktur (PKI). Maka kategori ini sering disebut PKI cryptographic.
Sedangkan kunci rahasia disimpan dan tidak disebarkan.
Karena menggunakan algoritma dengan kunci enkripsi dan dekripsi yang
berbeda maka cara ini sering disebut kriptografi asimetris (asymmetric
cryptographic). Beberapa yang termasuk algoritma yang menggunakan cara
enkripsi ini adalah Sistem Diffie Hellman, RSA, dan PGP (Pretty Good Privacy).
Gambar 2.5 Enkripsi dengan kunci publik
Enkripsi dengan kunci publik mempunyai kelebihan yaitu setiap
Universitas Sumatera Utara
orang yang menggunakan enkripsi ini hanya memiliki satu set kunci, tanpa peduli
banyak orang yang akan diajak berkomunikasi, sehingga jumlah kuncinya lebih
sedikit dibanding kunci rahasia, dan tidak membutuhkan saluran khusus untuk
pengiriman kunci publiknya. Kekurangannya adalah membutuhkan komputasi
yang komplek
sehingga membutuhkan waktu yang cukup lama dalam
komputasinya.
2.6.3
Enkripsi Fungsi Satu arah (Hash)
Fungsi Hash (satu arah) menyingkat data dan merepresentasikan menjadi
bit-bit dengan menggunakan fungsi matematika untuk mengambil input panjang
variabel dan mengubahnya kedalam urutan biner dengan panjang yang tetap.
Fungsi Hash dirancang dengan kompleksitas yang tinggi, sehingga apabila terjadi
perubahan satu bit saja, maka dapat mengubah nilai dari Hash yang dihasilkan.
Untuk Hash yang modern menghasilkan panjang 128 bit atau lebih.
Fungsi Hash ini banyak digunakan pada proses tanda tangan digital untuk
integritas data. Salah satu kegunaan Fungsi Hash yaitu untuk Message
Authentication Code dan HMAC yaitu kode yang dihasilkan oleh fungsi Hash
untuk sebuah pesan atau data pada jaringan komputer.
Fungsi Hash digunakan juga untuk sidik jari (fingerprint), message
integrity check, atau manipulation detection code untuk integrity-check bila data
yang diubah 1 titik saja, sidik jarinya akan sangat berbeda. Contoh Algoritma
Hash adalah Message Digest series: MD MD-2, MD-4, MD-5. 128-bit, dan
Secure Hash Algorithm (SHA), termasuk SHA-1, 160-bit.
Universitas Sumatera Utara
2.7
Manajemen Kunci
Manajemen kunci berhubungan dengan keamanan, distribusi, dan
penyimpanan kunci. Metode keamanan dari manajemen kunci sangatlah penting.
Bahwa sekali kunci secara acak dibangkitkan, maka nilai dari kunci tersebut harus
menjadi rahasia untuk mencegah adanya kecelakaan yang tidak diinginkan. Dalam
prakteknya, kebanyakan serangan yang terjadi pada sistem kunci publik dapat
ditangani dalam level manajemen kunci, daripada oleh algoritma kriptografi itu
sendiri.
Kekuatan sistem kriptografi secara total bergantung pada keamanan kunci.
Kunci perlu dilindungi selama fase daur hidupnya. Daur hidup kunci dimulai dari
pembangkitan kunci (generation) sampai kunci tidak diperlukan lagi untuk
kemudian dihancurkan (destruction). Secara garis besar, daur hidup kunci
digambarkan pada gambar berikut:
Generation
Destruction
Distribution
Change
Storage
Usage
Gambar 2.6 Daur hidup kunci
Tujuan manajemen kunci adalah menjaga keamanan dan integritas kunci
pada semua fase di dalam daur hidupnya. Pada umumnya setiap kunci akhirnya
Universitas Sumatera Utara
diganti dengan kunci lain. Jadi keseluruhan fase membentuk siklus karena
penghancuran kunci biasanya diikuti dengan penggantiannya dengan kunci baru.
Manajemen kunci yang dibahas difokuskan pada algoritma kriptografi
simetris karena manajemen kunci untuk algoritma kunci publik sangat berbeda
dengan algoritma simetris.
2.7.1 Pembangkitan Kunci (Key Generation)
Pembangkitan kunci pada algoritma simetris jauh lebih mudah daripada
pembangkitan kunci pada algoritma kunci publik. Karena kunci simetris
umumnya rangkaian bit atau rangkaian karakter, maka setiap pengguna dapat
membangkitkan
kuncinya
sendiri.
Masalah
utama
yang
muncul
pada
pembangkitan kunci adalah bagaimana membuat kunci yang tidak dapat
diprediksi. Metode yang dapat digunakan untuk menjawab hal ini adalah dengan
teknik manual (misalnya pelemparan koin/dadu), pembangkitan dari data pribadi
(misalnya PIN), atau menggunakan pembangkit bilangan acak.
Pada algoritma kunci publik, pembangkitan kunci merupakan masalah
tersendiri, karena pembangkitan kunci membutuhkan perhitungan matematis yang
rumit. Selain itu, pembangkitan bilangan prima yang besar juga dibutuhkan untuk
membentuk kunci.
Oleh karena itu, pada algoritma kunci publik dibutuhkan program khusus
untuk membangkitkan kunci. Masalah yang timbul di sini adalah kepercayaan
pengguna terhadap program tersebut. Pada RSA misalnya, bila program hanya
dapat membangkitkan bilangan prima yang terbatas, maka pihak lawan dapat
Universitas Sumatera Utara
membangkitkan sendiri bilangan-bilangan prima yang terbatas itu dan
menggunakannya sebagai faktor dari salah satu parameter RSA.
2.7.2 Penyebaran Kunci (Key Distribution)
Jika pengguna menggunakan kunci untuk melindungi informasi yang
disimpan di dalam storage, maka tidak ada kebutuhan untuk menyebarkan kunci.
Tetapi, untuk kebutuhan komunikasi secara aman, maka diperlukan kebutuhan
untuk mengirimkan kunci. Protokol pertukaran kunci dengan menggunakan
algoritma kunci publik dapat digunakan untuk mendistribusikan kunci.
2.7.3 Penyimpanan Kunci (Key Storage)
Kunci disimpan di tempat yang aman yang tidak memungkinkan pihak
lawan mengaksesnya. Oleh karena itu, penyimpanan kunci mungkin memerlukan
perlindungan secara fisik (misalnya disimpan di dalam lemari besi). Alternatif
lain, kunci dapat disimpan di dalam smart card yang hanya dapat dibaca dengan
menggunakan kode rahasia. Kunci sebaiknya disimpan tidak dalam bentuk jelas.
Ada dua solusi alternatif untuk masalah ini.
•
Kunci disimpan dengan mengenkripsinya dengan menggunakan kunci
lain. Konsep ini mengarah pada konsep key hierarchy, yang dalam hal ini
setiap kunci di dalam hirarkhi digunakan untuk melindungi kunci di
bawahnya.
•
Kunci dipecah menjadi beberapa komponen, setiap komponen disimpan di
tempat terpisah. Jika kunci akan digunakan, maka setiap komponen
direkonstruksi kembali.
Universitas Sumatera Utara
Misalkan kunci K dibagi menjadi dua komponen, K1 dan K2. Membagi dua
langsung K sedemikian sehingga setengah bagian pertama menjadi K1 dan
setengah
bagian
sisanya
menjadi
K2
tidak
dianjurkan,
karena
dapat
memungkinkan pihak lawan menemukan K jika ia hanya mengetahui salah satu
dari K1 dan K2. Misalkan K panjangnya 64 bit, dan lawan mengetahui K1, maka K
dapat ditentukan dengan hanya 232 percobaaan untuk menemukan K2 secara
exhaustive search (lebih sedikit dibandingkan 264 percobaan).
Solusi pemecahan yang lebih baik adalah membentuk kunci K dari K1 dan
K2 sedemikian sehingga K = K1 ⊕ K2. Dalam hal ini, ukuran K1 dan K2 sama
dengan ukuran K, sehingga jika salah satu dari komponen K1 atau K2 diketahui,
maka K relatif lebih sukar ditentukan.
2.7.4 Penggunaan Kunci (Key Usage)
Setiap kunci digunakan sesuai tujuannya. Misalnya ada kunci yang
digunakan untuk mengenkripsi pesan, dan ada kunci yang
digunakan untuk
mengenkripsi kunci lainnya. Supaya setiap kunci mempunyai penggunaan yang
unik, maka perlu memberi label pada setiap kunci, yang dalam hal ini label
menspesifikasikan penggunaan kunci. Misalnya, label tersebut menspesifikasikan
‘kunci untuk mengenkripsi data’, ‘kunci untuk mengenkripsi kunci’, ‘kunci untuk
pembangkitan bilangan acak’ dan sebagainya.
Untuk algoritma kunci publik, pengguna perlu memberi label untuk dua
pasang kunci yang setiap pasang terdiri dari kunci publik dan kunci rahasia. Satu
pasang kunci untuk enkripsi dan satu pasang lagi untuk sidik digital.
Universitas Sumatera Utara
2.7.5 Perubahan Kunci (Key Change)
Kunci sebaiknya diubah secara periodik dan teratur. Sistem kriptografi
harus mempunyai kemampuan untuk mengubah kunci. Kunci diubah secara
teratur untuk membatasi lama keberadaanya dan mengurangi nilainya dimata
penyerang. Pada sistem EFTPOS (Electronic Funds Transfer at Point of Sale),
kunci diubah setiap kali setelah selesai satu transaksi. Tidak ada aturan seberapa
sering kunci seharusnya diubah. Tetapi cukup jelas dimengerti bahwa setiap kunci
seharusnya diubah jauh sebelum ia dapat ditemukan dengan cara exhaustive
search.
2.7.6 Penghancuran Kunci (Key Destruction)
Kunci yang tidak dibutuhkan lagi seharusnya dihancurkan dengan cara
yang aman. Jika kunci dicatat pada media kertas, maka cara penghancurannya
misalnya menggunakan alat pemotong kertas (crosscut), membakarnya, atau
menguburnya.
Jika kunci disimpan di dalam media elektronik (seperti CD), maka cara
penghancurannya bisa dengan menghapusnya atau menimpanya (overwritten)
sedemikian sehingga tidak meninggalkan jejak yang bisa dilacak oleh penyerang.
Kunci yang yang disimpan pada material lain dihancurkan sedemikian rupa
sehingga ia tidak mungkin ditemukan kembali secara fisik maupun secara
elektronik.
2.7.7 Otoritas Sertifikasi (Certification Authority)
Universitas Sumatera Utara
Kunci publik perlu diberi sertifikat kepemilikian untuk mencegah
pemakaian oleh orang yang tidak berhak. Serangan yang umum terjadi pada kunci
publik tanpa identitas adalah penyamaran (impersonation attack). Seseorang yang
memiliki kunci publik orang lain dapat menyamar seolah-olah dialah pemilik
kunci itu.
Pengguna harus mampu untuk menjaga keamanan dari pasangan kunci
yang dimilikinya untuk kebutuhan efisiensi dan keamanannya. Bagaimanapun,
akan selalu ada cara untuk melihat kunci publik orang lain atau bahkan
mempublikasikannya ke khalayak umum. Karena itu pengguna harus mampu
untuk melegitimasi kunci publik orang lain, atau seorang pengacau dapat saja
mengubah daftar kunci publik yang ada. Sertifikat dibutuhkan untuk menjaga
keamanan dari kunci tersebut. Sertifikat tersebut sendiri sebaiknya tidak dapat
ditiru atau dipalsukan.
Masalah dari sertifikat ini sendiri harus ditangani dengan keamanan yang
baik agar tidak dapat diserang. Pengguna harus mengotentikasikan identitas dan
kunci publik miliknya masing-masing sebelum memperoleh sertifikat individual
tersebut. Jika kunci rahasia seseorang hilang, maka orang lain harus waspada atas
hal ini, sehingga mereka tidak lagi mengenkripsi pesan di bawah kunci publik
yang tidak valid ataupun menerima pesan yang ditandatangani dengan kunci
rahasia yang tidak valid tadi.
Pengguna harus mampu untuk menyimpan kunci rahasianya secara aman
sehingga tidak ada pengacau yang dapat mengaksesnya, namun kunci tersebut
juga harus dapat diakses oleh pihak yang memang berwenang untuk
mengetahuinya. Kunci harus terus valid hingga tanggal kadaluarsanya tiba namun
Universitas Sumatera Utara
tanggal
kadaluarsa
tersebut
juga
harus
ditentukan
dengan
tepat
dan
atau
CA)
mempublikasikannya pada saluran yang dapat dijamin kebenarannya.
Pemegang
otoritas
sertifikasi
(Certification
Authority
memberikan sertifikat yang ditandatangani secara digital. Sertifikat ini berisi
identitas pemilik kunci publik, nilai kunci publik itu sendiri, dan informasi
tambahan seperti waktu kadaluarsa (expired time) sertifikasi. Sertifikat ini dapat
dianggap sebagai ‘surat pengantar’ dari CA. Misalnya CERTA adalah sertifikat
yang dikeluarkan oleh CA yang berisi kunci publik pengguna yang bernama A
dan identitas A. Jadi, CERTA mengikat identitas A dengan nilai kunci publiknya.
Supaya sertifikasi itu dapat dicek kebenarannya, maka kunci publik pemilik CA
harus diketahui secara luas.
Seseorang yang memiliki kunci publik CA dapat memverifikasi bahwa
tanda tangan di dalam sertifikat itu sah dan karena itu mendapat jaminan bahwa
kunci publik di dalam sertifikat itu benar milik A. Penting dicatat bahwa
sembarang orang (atau CA) dapat mengeluarkan sertifikat untuk kunci publik A.
Misalkan A dan B memiliki sertifikat yang dikeluarkan oleh CA yang berbeda.
Jika A memerlukan jaminan tentang sertifikat kunci publik B, maka A perlu
memiliki salinan kunci publik CA yang mengeluarkan sertifikat untuk B.
Universitas Sumatera Utara
Download