Memahami Authentication dan Authorization
Memahami Authentication dan Authorization
Pemahaman akan authentication dan authorization sangat penting karena semua proses security berpusat pada dua hal itu.
Banyak orang yang masih bingung dengan
kedua istilah penting itu. Banyak yang mengira bahwa authentication dan
authorization itu sama, padahal keduanya sangat berbeda.
Salah satu tujuan dari security adalah
menjamin agar resource hanya boleh diakses oleh orang yang berhak dan
orang yang berhak itu bisa mengakses resource tanpa halangan.
Bayangkan dalam satu pesawat umum
terdapat dua kelas penumpang, yaitu kelas VIP dan kelas ekonomi.
Prosedur dan proses security harus menjamin agar penumpang menempati
tempat duduk sesuai haknya. Untuk itu penumpang harus menunjukkan bukti
berupa tiket yang di situ tertera namanya. Kemudian dari daftar
penumpang pramugari akan tahu bahwa anda berhak duduk di kelas VIP atau
ekonomi. Bila anda memegang tiket ekonomi mencoba duduk di kelas VIP
maka pramugari akan menolak anda. Apalagi bila anda tidak memegang
tiket, mencoba naik pesawat itu, sudah pasti anda akan ditendang.
Authentication: Proof That You are Who You Claim to Be
Sebelum bisa memberikan layanan kepada
pengguna, penyedia layanan perlu tahu siapa anda. Jika anda menyatakan
bahwa anda adalah Tukul Arwana, maka buktikanlah bahwa anda memang
Tukul. Proses membuktikan siapa anda (identitas) inilah yang disebut
authentication. Bila authentication berhasil, maka akan terjalin
hubungan trust antara pemberi layanan dan pengguna layanan.
Salah satu bukti identitas yang bisa
diterima adalah informasi rahasia. Logikanya adalah bila ada orang yang
bisa menyebutkan suatu rahasia yang tidak mungkin orang lain tahu
kecuali Tukul, maka saya akan yakin bahwa orang itu adalah benar-benar
Tukul.
Bukti identitas lain yang bisa diterima
adalah sesuatu yang unik, hanya dimiliki oleh satu orang saja di seluruh
dunia. Logikanya adalah bila ada orang yang membawa barang yang hanya
mungkin dimiliki Tukul, maka saya akan yakin bahwa dia adalah
benar-benar Tukul. Dalam film kungfu cina biasanya pejabat utusan Kaisar
akan membawa stempel kerajaan. Stempel ini adalah metode authentication
yang sangat ampuh. Siapa saja yang memegang stempel itu otomatis
identitasnya dijamin sebagai utusan kaisar.
Metode authentication yang berbasis pada kerahasiaan informasi adalah:
- Password/PIN: Hanya pemiliknya yang tahu password/pin.
- Digital Certificate: Berbasis pada asymmetric cryptography yang mengandung informasi rahasia yaitu private key.
- Private Key: Hanya pemiliknya yang tahu private key, orang lain hanya tahu public key.
- Retina: Tidak mungkin ada 2 orang yang pola retinanya sama.
- Fingerprint: Tidak mungkin ada 2 orang yang sidik jarinya sama.
- Paspor: Hanya pemiliknya yang bisa menunjukkan foto di paspor sesuai dengan wajahnya.
- Tandatangan: Hanya pemiliknya yang bisa menuliskan tandatangan dengan sempurna.
Authorization: What are You Allowed to Do
Authorization adalah proses menentukan
apa sajakah layanan yang bisa dinikmati pengguna yang telah jelas
identitasnya (authenticated user). Jadi sebelum ada authorization, harus
melalui proses authentication. Identitas yang telah dibuktikan di
proses authentication menjadi dasar untuk menentukan layanan yang berhak
dinikmati seorang pengguna.
Logikanya adalah tanpa mengetahui siapa
anda, saya tidak tahu apa saja yang boleh dan tidak boleh untuk anda.
Jadi tanpa authentication tidak ada authorization. Contohnya setelah
saya tahu anda adalah Tukul Arwana, maka saya tahu anda boleh memandu
acara empat mata, dan tidak boleh memandu di acara Dorce Show. Biasanya
pengguna yang tidak ter-otentikasi (anonymous guest) tetap bisa
menikmati layanan, namun dengan akses yang sangat terbatas.
Hubungan antara client,server,authentication dan
authorization system bisa dilihat pada gambar di atas. Client sebelum
bisa menikmati layanan server harus melalui proses authentication.
Setelah authentication berhasil akan terjalin hubungan trust antara
client dan server sehingga cukup sekali saja authentication sampai
client logout/keluar. Selanjutnya setiap ada permintaan layanan, server
akan menghubungi system authorization untuk menentukan apakah client
tersebut berhak atas layanan yang dimintanya.
yyyy