SISTEM
TERDISTRIBUSI
M11 Keamanan pada Sistem Terdistribusi
SISTEM INFORMASI
Pendahuluan
Bagaimana pengguna dapat melindungi transaksi
dalam suatu sistem terdistribusi?
Dapatkah user melindungi pengiriman data?
Dapatkah user men-setup saluran yang aman untuk
komunikasi?
Dapatkah user menentukan pengirim data?
Kebutuhan untuk melindungi kesatuan dan rahasia
informasi dan sesumber lain yang dimiliki oleh individu ataupun organisasi dapat meliputi keamanan fsik maupun data digital.
Kebutuhan ini muncul karena sesumber tersebut
Ancaman dan Serangan
Tujuan utama dengana danya keamanan adalah
untuk membatasi akses informasi dan sesumber hanya untuk pemakai yang memiliki hak akses.
Ancaman keamanan:
Leakage (kebocoran): pengambilan informasi oleh
penerima yang tidak berhak.
Tempering: Pengubahan informasi yang tidak legal Vandalism (perusakan): gangguan operasi sistem
Ancaman dan Serangan
Serangan pada sistem terdistribusi tergantung
pada pengaksesan ke saluran komunikasi yang ada atau membuat saluran abru yang menyamarkan (masquerade) sebagai koneksi legal.
Penyerangan Pasive: Hanya mengamati
komunikasi atau data.
Penyerangan Aktif: Secara aktif memodifkasi
komunikasi atau data:
Metode Penyerangan
Klasifkasi metode penyerangan:
Eavesdropping:
Mendapatkan duplikasi pesan tanpa ijin.
Masquerading:
Mengirim atau menerima pesan
Metode Penyerangan
Klasifkasi metode penyerangan:
Message tampering:
Mencegat atau menangkap pesan dan
Metode Penyerangan
Klasifkasi metode penyerangan:
Replaying
Menyimpan pesan yang ditangkap untuk
pemakaian berikutnya.
Denial of Service
Membanjiri saluran atau sesumber lain
Ancaman dari Mobile Code
Mobile Code
Kode yang diload ke sebuah proses dari
remote server dan dijalankan secara lokal.
Ancaman dari Mobile Code
JVM Security :
Setiap lingkungan eksekusi java mobile
code diatur oleh Security Manager. Contoh: Applet tidak diijinkan untuk menulis atau membaca fle lokal.
Mobile code yang diunduh, disimpan secara
terpisah dari kelas-kelas lokal, untuk mecegah penimpaan.
Bytecode dicek untuk validasi. Instruksi
Mengamankan transaksi
elektronis
Kemanan
sangat
dibutuhkan
pada
kebanyakan transaksi:
E-Commerce Banking
E-Mali
Bagaimana mengamankan isi email dan
Mengamankan transaksi
elektronis
Transaksi elektronik dapat aman jika dilindungi
dengan kebijakan dan mekanisme keamanan.
Contoh: Pemberli harus dilindungi terhadap
Perancangan Sistem yang
Aman
Merupakan tugas yang sulit!
Tujuannya adalah mencegah semua
serangan yang saat ini diketahui ataupun yang akan datang.
Rancangan mengikuti standard yang ada
Mendemokan validasi melawan ancaman yang
diketahui
Audit terhadap kegagalan yang terdeteksi.
Ada keseimbangan antara biaya terhadap
Perancangan Sistem yang
Aman
Beberapa rancangan yang buruk:
Antarmuka dibuka Jaringan tidak aman
Membatasi waktu dan ruang lingkup setiap
kunci rahasia
Algoritma dan kode program tersedia bagi
penyerang
Penyerang memiliki akses ke sesumber
Meminimalkan komputer yang menjadi inti
Kebijakan dan Mekanisme
Pada kemanan fsik, akan menggunakan:
Kebijakan/Layanan Keamanan
Aturan yang mengatur pengaksesan ataupun berbagi
sesumber yang tersedia.
Menyangkut apa saja yang diterapkan
Contoh: Kebijakan keamanan untuk suatu dokumen: hanya
diperbolehkan sekelompok pegawai untuk mengakses
Mekanisme Keamanan
Kebijakan dapat dijalankan dengan bantuan mekanisme
keamanan
Menyangkut bagaimana menerapkannya
Contoh: mengakses dokumen dikontrol dengan distribusi
Kebijakan dan Mekanisme
Pemisahan
antara
kebijakan
dan
mekanisme keamanan akan membantu
memisahkan
kebutuhan
implementasinya
Kebijakan menspesifkasikan kebutuhan
Mekanisme menerapkan spesifkasi
Kebijakan dan Mekanisme
Security Service, menurut defnisi OSI:
Access Control, Perlindungan terhadap pemakaian
tak legak.
Authentication, Menyediakan jamninan identitas
sesorang
Confdentiality (kerahasiaan), Perlindungan
terhadap pengungkapan identitas tak legak.
Integrity, Melindungi dari pengubahan data yang
tak legak
Non-repudiation (penyangkalan), Melindungi
Kebijakan dan Mekanisme
Tiga dasar Mekanisme Kemanan yang dibangun:
Enkripsi
Digunakan untuk menyediakan kerahasiaan, dapat
menyediakan authentication dan perlindungan integritas
Digital Signature
Digunakan untuk menyediakan authentication, perlindungan
integritas, dan non-repudiation.
Algoritma Checksum/Hash
Digunakan untuk menyediakan perlindungan integritas, dan
dapat menyediakan authentication
Satu atau lebih mekasime dikombanisasikan
Service, Mekanisme dan
Algoritma
Sebuah protokol keamanan
menyediakan satu atau lebih layanan
(service)
Service dibangun dari satu atau lebih
mekanisme
Teknik Keamanan
Ekripsi adalah proses pengkodean pesan
untuk menyembunyikan isi.
Algoritma
enkripsi
modern
menggunakan kunci (
key
).
Teknik Keamanan
Ada dua tipe algoritma enkripsi:
Shared Secret Key
Pengirim dan penerima harus berbagi kunci
dan tidak diberikan kepada orang lain.
Public/Private Key Pair
Pengirim pesan menggunakan public key (kunci
yang dipublikasikan ke penerima) untuk mengenkrip pesan.
Penerima menggunakan private key yang
Manajemen Kunci
Dua kelas kunci
Short term session keys
Disebut juga dengan ephemeral keys
Secara umum dibuat secara otomatis dan tidak
tampak
Digunakan untuk satu pesan atau session dan
dibuang
Long term keys
Manajemen Kunci
Long term keys digunakan untuk dua
tujuan
Authentication
Termasuk kontrol akses, integritas, dan
non-repudiation
Confdentiality (enkripsi)
Membuat session key
Notasi Kriptograf
K
AA secret key
K
BB secret key
K
AB
Secret key shared between A and
B
K
Apriv
A’s private key (known only to A)
K
Apub
A’s public key (published by A for all
to read)
{M}
K
Message M encrypted with key K
[M]
Peran Pokok Kriptograf
Kerahasiaan dan integritas
Komunikasi rahasia dengan shared secret key
A menginginkan mengirim informasi ke B menggunakan
shared secret key KAB
B membaca pesan terenkrip menggunakan fungsi
dekrip yang sesuai D(KAB , M)
Masalah yang dapat muncul :
Bagaimana A dapat mengirim shared key KAB ke B dengan
aman?
Bagaimana B mengetahui bahwa sembarang {Mi} bukanlah
Peran Pokok Kriptograf
Authentication
Kriptograf digunakan untuk mendukung
mekanisme authentication antar sepasang node
Seseorang pelaku jika berhasil mendekrip
pesan menggunakan suatu kunci yang cocok, berarti pesan tersebut asli (authentic) dari pengirim yang sebenarnya.
Dikembangkan pertama kali oleh Roger
Peran Pokok Kriptograf
Skenario 1 : Authentication dengan server
A ingin mengakses fle yang disimpan oleh B
pada fle server. S adalah authentication server
yang memebrikan A dan B password dan menyimpan secret key untuk semua pemakai dalam sistem.
Sebagai contoh S mengetahui kunci A (KA )dan
B(KB) Kunci ini dikenal dengan nama tiket.
Skenario 1 : Authentication dengan server
1.
A mengirim sebuah pesan (tidak
terenkrip) ke S untuk meminta tiket
untuk mengakses B (
A -> S: A, B, N
A)
2.
S mengirim ke A yang terenkrip dengan
K
Ayang berisi tiket yang dienkrip
dengan
K
Bdan kunci baru
K
ABuntuk
digunakan
ketika
berkomunikasi
dengan B. {{Tiket}
K
B,
K
AB}
K
ASkenario 1 : Authentication dengan server
3.
A
mendekrip
response
tersebut
menggunakan
K
A(yang dihasilkan dari
password-nya, password tidak dikirimkan
pada jaringan). Jika A memiliki kunci yang
benar, dia mendapat tiket yang valid
untuk mengakses B dan kunci enkripsi
baru untuk berkomunikasi dengan B.
4.
A mengirim tiket ke B bersamaan dengan
Skenario 1 : Authentication dengan server
5.
B dekrip tiket menggunakan kuncinya
K
B. B mendapat identifkasi A yang sah
dan
shared key
baru
K
AB(
session key
)
untuk berinteraksi dengan A. B akan
mengenkrip pesan saat itu (
N
B) dengan
kunci
K
AB. {
N
B}
K
AB.
6.
A mengirim balasan ke B dengan
Skenario 2 : Authentication dengan public
key
Diasumsikan B menghasilkan
public key
dan
private key
.
A mengakses layanan distribusi kunci untuk
mendapatkan public key certifcate yang mengandung public key B. Disebut
Skenario 2 : Authentication dengan public
key
Diasumsikan B menghasilkan public key dan private
key.
A membuat shared key baru (KAB ) dan mengenkripnya
menggunakan KBpub dengan algoritma public key. A
mengirim hasilnya ke B, dengan suatu nama unik yang menunjukkan apsangan public/private key, sehingga A mengirim keyname {KAB } KBpub ke B.
B menggunakan private key KBpriv untuk mendekrip KAB
Ilustrasi di atas menggambarkan kriptograf public
Peran Pokok Kriptograf
Digital Signature
Didasarkan pada suatu ikatan tanda (yang
tak dapat dirubah) ke suatu pesan atau dokumen yang hanya diketahui oleh si penandatangan.
Hal ini dapat dicapai dengan car
amengenkrip sebuah pesan terkompresi (digest)dengan menggunakan private key.
Digest memiliki ukuran yang tetap yang
Peran Pokok Kriptograf
Digital Signature
A ingin mendatangani dokumen M,
sehingga penerima dapat yakin bahwa M adalah berasal dari A.
A menghitung digest dokumen dengan fungsi
Digest(M).
A mengenkrip digest dengan private key-nya,
dan ditambahkan ke M, sehingga menghasilkan {Digest(M)KApriv}
B menerima dokumen tersebut dan mengambil
M dan menghitung digest(M).
B mendekrip dengan {Digest(M)} KApriv
Digest Function
Sebuah digest function yang aman harus
(sering disebut dengan
one-way hash
function
):
Diberikan M, mudah untuk menghitung h
Diberikan h, sangat sulit untuk menghitung
M
Diberikan M, sangat sulit untuk
Digest Function
MD5 (Message Digest 5) oleh Rivest
(1991)
Dapat ditemukan di RFCs 1319-1321 Panjang digest : 128 bit
SHA (Secure Hash Algorithm)
Panjang digest : 160 bit
Solusi
Sebuah Certifcation Authority (CA) dapat
memecahkan masalah tersebut.
CA menandatangani kunci Alice untuk
Certifcate
Sertifkat digital adalah dokumen yang berisi
pernyataan ditandatangani oleh pemegangnya. Contoh:
1. B adalah Bank. Nasabah ingin meyakinkan ketika
menghubungi bahwa B adalah bank yang dimaksud. B eprlu untuk mengesahkan (authenticate) pelanggannya sebelum memberikan nasabah akses ke account mereka.
2. A dapat menggunakan sertifkat tersebut ketika
Certifcate
3. Sebuah toko C dapat menerima sertifkat
untuk mendebet rekening A. untuk itu C perlu KBpub untuk meyakinkan bahwa
sertifkat tersebut sah, yaitu well-known
dan terpercaya.
4. Misal, F adalah Bank Indonesia, sebagai
pemberi otoritas (certifying authority), yang akan memberikan public-key certifcate
Certifcate
5.
Sehingga C dapat yakin akan sertifkat
Format Sertifkat Standard
Untuk membuat sertifkat bermanfaat,
diperlukan:
Format standard dan representasi sehingga
pembuat sertifkat dan pemakai dapat menyusun dan menterjemahkannya.
Persetujuan terhadap cara urutan pembuatan sertifkat
Contoh dengan JSEE
Algoritma Kriptograf
Pesan M (
plaintext
) di enkodekan dengan
fungsi E dan sebuah kunci K untuk
menjadi
ciphertext
.
E(K,M) = {M}
K
Pesan didekripsi dengan menggunakan
fungsi D dan kunci L
Algoritma Kriptograf
Algoritma kriptograf:
Symmetric (secret-key)
Kunci yang sama digunakan di kedua algoritma
Menggunakan secret key ketika algoritma dipublikasikan
One-way function
Asymmetric (public-key)
Menggunakan pan public/private key
Pola public key dimunculkan pertama oleh Dife Hellman
(1976)
Dasar public key: trap-door function adalah one-way
Chiper Block Chanining
Untuk ukuran block data yang tetap,
yang populer adalah 64 bit
Pesan dibagi ke dalam block, dan block
terakhir di
padding
ke ukuran standard
yang digunakan, dan setiap block
dienkrip secara independent.
Chiper Block Chanining
Chiper Block Chaining
Mengirim block terenkrip XOR block
terenkrip sebelumnya
Mengkodekan ulang menggunakan operasi
XOR dengan blok sebelumnya.
Jika ada kegagalan akan dihentikan
Stream Chiper
Menggunakan
fasilitas
incremental
encryption
Keystream generator
Menghasilkans tream bit yang digunakan
untuk memodifkasi isi data
XOR diterapkan sebelum dikirimkan
XOR diterapkan untuk mendekode ulang Keystream harus aman
Chper block chaining mungkin digunakan