Aspek
security jaringan berkaitan erat dengan servis yang disediakan: inbound
atau outbound. Security pada servis outbound dapat diupayakan sebaik
mungkin dengan konfigurasi firewall. Demikian pula dengan akses anonymous
servis inbound, seperti anonymous FTP, HTTP, Gopher dll. Dalam hal ini,
informasi sengaja disediakan bagi semua orang. Lain halnya bila kita ingin
menyediakan akses non-anonymous (atau authenticated services), dimana
selain melalui firewall, seseorang yang meminta akses juga harus mendapat ‘ijin’
server setelah terlebih dahulu membuktikan identitasnya. Inilah authentication.
Untuk selanjutnya, penulis menggunakan istilah autentisasi sebagai
sinonim kata tersebut.
Resiko-Security Servis Inbound
Mengapa
perlu autentisasi…..? Internet adalah jaringan publik, dan terbuka bagi setiap
orang diseluruh penjuru dunia untuk menggabungkan diri. Begitu besarnya
jaringan ini, telah menimbulkan keuntungan serta kerugian. Sering kita dengar
dan baca tentang bobolnya sistem komputer keuangan bank, informasi rahasia
Pentagon atau basis data transkrip akademik mahasiswa. Kalimat tersebut cukup
untuk mewakili pernyataan bahwa kita harus ‘waspada’ terhadap orang-orang
‘jahat’ dan senantiasa berusaha memperkecil kemungkinan bagi mereka untuk dapat
melakukan niat jahatnya. Memang mudah untuk meniadakan kemungkinan penyusupan
(akses ilegal) dari luar dengan menutup semua kanal trafik servis inbound ke
jaringan internal. Namun ini berarti telah mereduksi keuntungan utama adanya
jaringan: komunikasi dan pemakaian sumber daya bersama (sharing
resources). Jadi, konsekuensi alami dengan jaringan cukup besar, adalah
menerima dan berusaha untuk memperkecil resiko ini, bukan meniadakannya.
Kita akan
mulai dari seorang network-administrator (NA) yang telah melakukan
tugasnya dengan baik, dalam menyiapkan ‘pertahanan’ bagi semua servis outbound
dan anonymous-inbound. Perlu beberapa hal tambahan lagi yang sebaiknya diingat.
Apakah pertahanan tersebut sudah cukup kuat bagi terjadinya pencurian hubungan
(hijacking attack)? Apakah didalamnya sudah dipertimbangkan kemungkinan
pemonitoran ilegal paket-paket informasi yang dikirimkan (packet sniffing -
playback attack)? Atau apakah sudah termasuk kesiapan bagi benar-benar
adanya akses ilegal didalam sistem (false authentication)?
Hijacking biasanya
terjadi pada komputer yang menghubungi jaringan kita, walaupun untuk beberapa
kasus langka, bisa terjadi pada sembarang jalur yang dilaluinya. Sehingga akan
bijaksana bila seorang NA mempertimbangkan pemberian kepercayaan akses, hanya
dari komputer yang paling tidak mempunyai sistem security sama atau mungkin
lebih ‘kuat’, dibandingkan dengan jaringan dibawah tanggung-jawabnya. Usaha
memperkecil peluang musibah ini, juga dapat dilakukan dengan mengatur packet-filter
dengan baik atau menggunakan server modifikasi. Misalnya, kita dapat
menyediakan fasilitas anonymous-FTP bagi sembarang komputer dimanapun, tapi
authenticated-FTP hanya diberikan pada host-host yang tercantum pada daftar
‘kepercayaan’. Hijacking ditengah jalur dapat dihindari dengan
penggunaan enkripsi antar jaringan (end to end encryption).
Kerahasiaan
data dan password juga merupakan topik disain security. Program yang
didedikasikan untuk packet-sniffing dapat secara otomatis menampilkan
isi setiap paket data antara client dengan servernya. Proteksi password dari
kejahatan demikian dapat dilakukan dengan implementasi password sekali pakai (non-reusable
password), sehingga walaupun dapat termonitor oleh sniffer, password
tersebut tidak dapat digunakan lagi.
Resiko hijacking
dan sniffing data (bukan password) tidak dapat dihindari sama sekali.
Artinya NA harus mempertimbangkan kemungkinan ini dan melakukan optimasi bagi
semakin kecil-nya kesempatan tersebut. Pembatasan jumlah account dengan
akses penuh serta waktu akses jarak jauh, merupakan salah satu bentuk optimasi.
Mekanisme Autentisasi
Subyek
autentisasi adalah pembuktian. Yang dibuktikan meliputi tiga kategori, yaitu:
sesuatu pada diri kita (something you are SYA), sesuatu yang kita
ketahui (something you know SYK), dan sesuatu yang kita punyai (something
you have SYH). SYA berkaitan erat dengan bidang biometrik, seperti
pemeriksaan sidik-jari, pemeriksaan retina mata, analisis suara dll. SYK
identik dengan password. Sedangkan bagi SYH umumnya digunakan kartu identitas
seperti smartcard. \
Barangkali,
yang sekarang masih banyak digunakan adalah sistem ber-password. Untuk
menghindari pencurian password dan pemakaian sistem secara ilegal, akan
bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Bagaimana
caranya penerapan metoda ini?
Pertama,
menggunakan sistem perangko-waktu ter-enkripsi. Dengan cara ini, password baru
dikirimkan setelah terlebih dulu dimodifikasi berdasarkan waktu saat itu. Kedua,
menggunakan sistem challenge-response (CR), dimana password yang kita
berikan tergantung challenge dari server. Kasarnya kita menyiapkan suatu
daftar jawaban (response) berbeda bagi ‘pertanyaan’ (challenge)
yang berbeda oleh server. Karena tentu sulit sekali untuk menghafal sekian
puluh atau sekian ratus password, akan lebih mudah jika yang dihafal adalah
aturan untuk mengubah challenge yang diberikan menjadi response (jadi tidak
random). Misalnya aturan kita adalah: “kapitalkan huruf kelima dan hapus huruf
keempat”, maka password yang kita berikan adalah MxyPtlk1W2 untuk
challenge sistem Mxyzptlk1W2.
Kalau pada
sistem CR, harus diketahui ‘aturan‘-nya, maka pada sistem
perangko-waktu, kita mesti mengingat password bagi pemberian perangko-waktu
ini. Apakah cara seperti ini tidak mempersulit? Beruntung sekali mekanisme
tersebut umumnya ditangani oleh suatu perangkat, baik perangkat lunak ataupun
dengan perangkat keras. Kerberos, perangkat lunak autentisasi yang dibuat di
MIT dan mengadopsi sistem perangko-waktu, mewajibkan modifikasi client bagi
sinkronisasi waktu dengan server serta pemberian password perangko-waktu.
Modifikasi program client mengingatkan kita pada proxy dan memang, kurang lebih
seperti itu. Sistem CR biasanya diterapkan sekaligus dengan dukungan perangkat
keras. Contoh sistem CR operasional adalah perangkat SNK-004 card (Digital
Pathways) yang dapat diterapkan bersama-sama dengan paket TIS-FWTK (Trusted
Information System - internet FireWall ToolKit).
TIS-FWTK
menawarkan solusi password sekali pakai (sistem CR) yang ‘menyenangkan’: S/Key.
S/Key menerapkan prosedur algoritma hash iteratif terhadap suatu seed,
sedemikian sistem dapat memvalidasi response-client instant tapi tidak
mempunyai kemampuan untuk memprediksi response-client berikutnya. Sehingga bila
terjadi penyusupan pada sistem, tidak ada ‘sesuatu’ yang bisa dicuri (biasanya daftar password).
Algoritma hash mempunyai dua sifat utama. Pertama, masukan tidak bisa
diregenerasikan dari keluaran (non-reversibel). Kedua, terdapat dua kemungkinan
masukan bagi sebuah keluaran yang sama.
Enkripsi dan Cryptography
Cryptography
telah berkembang sejak lama, ketika orang menginginkan informasi yang ia
kirimkan tidak dapat ‘dibaca’ oleh pihak tak berkepentingan. Secara tradisional
cryptography dikenal dengan dua mekanisme, kunci privat atau kunci publik. DES
(data encryption standard) yang digunakan oleh Kerberos menggunakan
sistem kunci-privat. RSA (Rivest Shamir Addleman) mengimplementasikan
sistem kunci-publik. Salah satu dari kontributor RSA, Ron Rivest kemudian
membuat MD4 (message digest function # 4) yang digunakan oleh S/Key-nya
TIS-FWTK. Optimasi dan blasteran antara kedua metoda tradisional ini melahirkan
PGP (Pretty Good Privacy). Pembahasan dari DES, RSA, atau PGP merupakan
buku tersendiri dan tidak pada tempatnya diungkapkan disini. Tapi yang jelas,
sistem kunci-privat dicirikan dengan proses encrypt-decrypt melalui
kunci identik, sedangkan pada sistem kunci-publik, proses ini dilakukan dengan
dua buah kunci: kunci publik untuk encrypt dan kunci rahasia untuk decrypt
dimana kedua kunci ini digenerasikan dan mempunyai relasi dekat melalui sebuah
algoritma matematis. Karena diperlukan proses matematis terlebih dulu,
kecepatan sistem kunci-publik bisa ribuan kali lebih lambat dari algoritma
kunci-privat ekivalen walaupun disisi lain menawarkan proteksi lebih baik.
Eksploitasi terhadap kelebihan dan kekurangan sistem kunci privat dan publik
dilakukan PGP, dimana untuk transmisi data dilakukan secara sistem kunci-privat
dengan session-key sehingga berjalan cepat, sedangkan transmisi session-key-
nya sendiri menggunakan kunci-publik.
Dengan
enkripsi, informasi yang kita kirimkan ke suatu jaringan melalui jaringan lain
yang keamanannya meragukan (internet), relatif lebih terjamin. Enkripsi antar
jaringan menyebabkan seorang ‘pencuri’ harus berusaha sedikit lebih keras untuk
mendapatkan informasi ilegal yang ia harapkan. Ada beberapa kesempatan bagi
implementasi enkripsi, yaitu: pada level aplikasi, level data-link, dan
level jaringan.
Enkripsi
pada level aplikasi mensyaratkan penggunaan perangkat lunak client-server
khusus. Sesuai dengan model referensi OSI, enkripsi data-link hanya berlaku
untuk hubungan titik ke titik, seperti sistem enkripsi pada modem telepon.
Sedangkan enkripsi level jaringan (network layer) diterapkan pada router
atau peralatan lain yang bersebelahan dengan jaringan dikedua sisi. Optimasi
kepentingan dan kebijakan security dilakukan dengan mengatur jenis/bagian paket
IP yang akan dienkrip, penyesuaian terhadap arsitektur firewall dan
konsekuensinya, efektifitas distribusi kunci-enkripsi dll. Di masa depan,
dimana teknologi VLAN (Virtual LAN) diperkirakan menjadi pilihan utama
untuk Intranet (enterprisewide),
penggunaan enkripsi level jaringan ini menjadi begitu penting. Barangkali sama
pentingnya dengan keadaan sebuah perusahaan yang sementara ini ‘terpaksa’
menggunakan internet sebagai jalur bagi pengiriman informasi sensitif antara
kantor pusat dengan cabangnya dibelahan bumi yang lain.
Kerberos dan TIS-FWTK Authentication Server
Kerberos
adalah salah satu karya proyek Athena, kolaborasi antara MIT, IBM dan DEC.
Kerberos didisain untuk medukung autentisasi dan enkripsi data pada lingkungan
terdistribusi melalui modifikasi client atau server standard. Beberapa vendor
sistem operasi telah memasukan Kerberos kedalam produknya. MIT sendiri
menyediakan secara free banyak versi Unix yang telah di-Kerberizing.
Bahkan bagi kepentingan porting ke sistem operasi atau perangkat lunak
client-server yang belum mendukung Kerberos, MIT menyediakan source-code nya,
juga secara free. Proyek Athena sendiri mengimplementasikan Kerberos
pada banyak aplikasi seperti NFS, rlogin, email, dan sistem password. Secure
RPC (Sun Microsystems) juga mengimplementasikan hal yang sama.
Ada
beberapa hal yang perlu dipertimbangkan dalam implementasi Kerberos. Modifikasi
perangkat lunak client dan server akan menyebabkan pembatasan pilihan aplikasi.
Sayangnya juga tidak ada metoda alternatif sebagai pengganti modifikasi source-code
(seperti dalam proxy yang membolehkan custom user procedure atau custom
client software). Kemudian, umumnya orang juga sepakat untuk menyebut: “Kerberos
relatif sulit diterapkan/ dikelola”.
Paket
sistem autentisasi lain ditawarkan oleh TIS-FWTK: authentication-server.
Server ini didisain secara modular, fleksibel sehingga mendukung banyak
mekanisme autentisasi populer seperti sistem password reusable standard,
S/Key, card SecurdID dari Security Dynamics (sistem dengan perangko-waktu),
card SNK-004 Digital Pathways (sistem CR) serta kemudahan untuk pengintegrasian
mekanisme baru. Kembali kepada perbincangan diawal tulisan ini, kalau
kepentingan utama kita adalah bagaimana menyiapkan ‘pertahanan’ bagi servis
inbound non-anonymous, barangkali authentication-server adalah solusi yang
patut dipertimbangkan. Mengapa? Bagaimana sistem ini bekerja? Tidak banyak
ruang dalam tulisan ini untuk memuat semua diskusi kita tentang autentisasi,
tapi ilustrasi penutup berikut akan memberikan sedikit gambaran bagi anda,
peminat security jaringan, menyangkut authentication-server. Selamat menyimak!
No comments :
Post a Comment