|
"Mempercayai"
Password: Network Authentication
Oleh : Eueung Mulyana & Onno W. Purbo
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.
|