Anda di halaman 1dari 11

Kerberos dalam Pengamanan Informasi

Penggunaan berbagai macam aplikasi internet ataupun transaksi elektronik saat ini
sudah menjadi bagian dari masyarakat. Namun, dalam penggunaannya selalu dihadapkan
dengan berbagai masalah keamanan, salah satunya adalah masih banyaknya protokol di
internet yang belum menjamin autentikasi. Salah satu gambaran dari rawannya autentikasi
yaitu banyak tools yang bisa digunakan hacker untuk mencuri password dari client atau
server, sehingga hacker tersebut bisa menyamar seolah-olah dialah pemilik password tersebut
(seperti halnya man in the middle attack). Dengan demikian password bisa disalahgunakan
dengan mengatasnamakan pemilik password. Oleh karena itu, penting adanya jaminan
autentikasi karena autentikasi merupakan suatu cara untuk mengetahui keaslian dari
informasi, juga mengenai keaslian sumbernya.

Kerberos merupakan salah satu protokol dalam sistem jaringan komunikasi yang
menjamin autentikasi. Pada paper ini penulis akan menjelaskan mengenai protokol Kerberos
disertai dengan kelebihan dan kekurangannya supaya para pengguna aplikasi internet dan
jaringan komunikasi sehingga dapat mempertimbangkan protokol Kerberos sebagai salah
satu alternative dalam menjamin autentikasi data. Kerberos ini dirancang untuk memberikan
autentikasi yang kuat untuk aplikasi client atau server dengan menggunakan secret key
cryptography.

Metode yang kami gunakan untuk menulis paper ini adalah metode kepustakaan, juga
berdasarkan diskusi dan kajian khusus. Selanjutnya, kami berharap hasil dari kajian kami
dapat digunakan untuk pengembangan protokol Kerberos sehingga kekurangan-kekurangan
dari protokol Kerberos dapat dianalisis dan diminimalisir.
.
I. Pendahuluan
Pada zaman era computer ini, kebutuhan akan sharing information secara cepat
sangatlah dibutuhkan. Sekarang ini, sudah banyak komputer yang terhubung dengan jaringan
dan mengikuti jalannya mobilisasi informasi. Namun, tidak selamanya kenyamanan dalam
pertukaran informasi selalu terpenuhi. Biasanya yang terjadi adalah tingkat kenyamanan
berbanding terbalik dengan tingkat keamanan.

Protokol komunikasi yang sudah ada, yaitu protokol autentikasi konvensional
dianggap sudah tidak relevan lagi karena tingkat kenyamanan dan keamanannya sudah tidak
memenuhi kebutuhan user saat ini. Semakin banyak user yang terhubung ke dalam jaringan,
maka semakin banyak pula kemungkinan serangan keamanan yang muncul. Pada sistem
jaringan terbuka, biasanya serangan lebih mudah terjadi. Serangan bisa berupa tampering,
eavesdropping dan bahkan impersonation yang mampu mengancam berbagai aspek
keamanan. Di samping hal itu juga, sistem komputer modern menyediakan layanan untuk
multiple user dan membutuhkan kemampuan untuk mengidentifikasi permintaan user. Oleh
karena itu, sudah seharusnya kita memikirkan solusi terbaik untuk menangani masalah
kerahasiaan, otoritas dan integritas data, serta suatu sistem autentikasi yang aman, efisien dan
efektif untuk menciptakan kenyamanan dalam share information.

Sebenarnya, studi penelitian tentang protokol telah dilakukan sebelumnya yaitu oleh
MIT dalam proyek Athena dan menghasilkan suatu penyelesaian awal yaitu sebuah protokol
Kerberos. Protokol ini dirancang guna mempermudah distribusi kunci sekaligus membatasi
hubungan komunikasi antara user dengan server.

Protokol Kerberos terdiri dari beberapa versi yaitu versi 1,2,3 (yang digunakan untuk
kalangan MIT sendiri), versi 4 (yang digunakan secara umum) dan kini telah dikembangkan
kerberos versi 5. Namun dalam paper ini hanya akan dibahas kerberos secara umum. Protokol
Kerberos ini merupakan protokol yang melibatkan pihak ketiga terpercaya (Trusted third
party), yang nantinya akan memberikan autentikasi dua arah, baik terhadap client maupun
servernya. Ketika pemakai login, Kerberos mengautentikasi pemakai tersebut (menggunakan
password), dan memberikan pemakai suatu cara untuk membuktikan identitasnya ke server
dan host lain yang tersebar di jaringan. Autentikasi ini kemudian digunakan oleh program
seperti rlogin untuk membolehkan pemakai login ke host lain tanpa password.

Penulisan ini bertujuan untuk menawarkan solusi keamanan jaringan, dimana protokol
Kerberos ini dapat dijadikan sebagai salah satu alternatif.




II. Model, Analisa, Desain dan Implementasi
1. Enkripsi
Kerberos merupakan protokol autentikasi yang menggunakan sistem kriptografi
simetrik. Biasanya menggunakan DES ataupun triple DES dan bahkan telah dirancang
menggunakan AES. Namun dalam perkembangannya telah menggunakan sistem public
key. Kunci simetri mengizinkan autentikasi secara real time karena karakteristiknya yang
cepat. Algoritma kriptografi kunci simetrik menggunakan kunci yang sama untuk melakukan
enkripsi maupun dekripsi.

2. Istilah dan komponen dalam Kerberos
Berikut ini kami perkenalkan terlebih dahulu tentang istilah-istilah di dalam Kerberos :
Protokol
Serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk
menyelesaikan suatu tugas, memiliki urutan dari awal hingga akhir, harus
dilaksanakan secara bergiliran, protokol harus mencapai suatu hasil.
Realm
Sebutan untuk jaringan yang menggunakan Kerberos.
Kerberos Server
Merupakan server khusus bereupa KDC yang di dalamnya terdapat Kerberos
Authentication Server (AS) dan Ticket Granting Server (TGS).
Ticket
Merupakan sarana autentikasi antara user dengan server sekaligus penunjuk identitas
sementara yang dapat digunakan berkali-kali sampai expired time, dienkripsi dengan
server key.
Principal
Anggota yang identitasnya telah diverifikasi.
Verifier
Anggota jaringan Kerberos yang meminta jaminan identitas dari principal .
Credential
Kumpulan dari ticket dan authenticator yang dimiliki oleh user.



Komponen-komponen dalam Kerberos :
Aplication library.
Library yang menjadi penghubung antara client dengan server.
Encryption library.
Libarary untuk melakukan fungsi crypto.
Database library.
Library yang mengatur database untuk Kerberos
Database administration program.
Program yang mengatur operasi database Kerberos.
Administration server.
Melayani perubahan database Kerberos.
Authentication server.
Melakukan autentikasi dan membuat session key.
Database propagation software.
Program untuk mengatur replikasi dari database, seperti mengatur peng-update-an
database.
User program.
Program di tempat user yang mengatur login dan pemasukan password. Juga
berfungsi untuk pengaturan ticket.

3. Trusted Third Party
Untuk meminta suatu layanan kepada beberapa server, kita harus melog-in username
dan password sebanyak layanan yang kita minta dan tentunya di setiap layanan kita harus
memasukkan username dan password yang berbeda-beda, tentu hal ini kurang efisien. Namun
apabila memasukkan username dan pasword yang sama dalam setiap log-in ke dalam suatu
layanan, hal ini juga menyebabkan sistem menjadi tidak aman. Jika suatu saat password
mampu diketahui oleh pihak yang tidak berhak, maka semua account yang dimiliki oleh user
akan bocor. Seorang attacker yang telah berhasil mendapatkan password dari user akan dapat
masuk ke dalam account user (dalam istilahnya yaitu man in the middle attack), hal ini
dikarenakan tak ada jaminan autentikasi. Berbeda dengan jika kita menggunakan protokol
kerberos, kita hanya cukup sekali memasukkan password. Dan untuk masuk ke dalam suatu
layanan, maka kita cukup meminta ticket kepada pihak ketiga terpercaya (Trusted Third
Party).

Dalam hal ini, Kerberos menggunakan KDC sebagai pihak ketiga terpercaya. KDC ini
didalamnya terdapat Authentication Server dan Ticket Granting Service. KDC ini bertugas
mengatur pendistribusian session key kepada user/client dan server sekaligus untuk
mengautentikasi server dan client tersebut.

4. Software Kerberos
Biasanya software yang digunakan autentikasi Kerberos adalah AFS, Apache 1
(dengan mod_auth_kerb module), Apache 2 (menggunakan libapache-mod-auth-kerb), Cisco
routers dan switches running IOS, Code File System, Eudora, Mac OS X, Microsoft
Windows (2000 dan seterusnya) protocol autentikasi asli dari Mulberry, sebuah client e-mail
yang dikembangkan oleh Cyrusoft., NFS (sejak NFSv3), OpenSSH (with Kerberos v5 or
higher), PAM (dengan pam_krb5 module), Samba v3.x, SOCKS (since SOCKS5), Netatalk,
GSS, API, The X Window System implementations dan beberapa software yang mengijinkan
penggunanaan SASL untuk autentikasi, seperti Dovecot IMAP4 dan server POP3, Postfix
mail server. The Kerberos software juga cocok dengan kerberos-enabled clients and servers
pada rsh, FTP, dan Telnet. Beberapa software berbasis Java yang menggunakan JAAS/JGSS
dapat memakai Kerberos untuk keamanan.

5. Hardware Kerberos
Kerberos memerlukan sedikit alokasi memori pada aplikasi hardware. Berdasarkan
penelitian sebelumnya, Versi 5 saja dapat diimplementasikan pada mikroprosesor intel
Pentium dan 2 hardware RAID 1 drive. Mesin tersebut dapat mengakomodir seratus ribu
autentikasi per hari namun perlu menghindari penggunaan Kerberos yang bergabung-gabung.
Perlu dicatat bahwa aplikasi Kerberos ini harus diaplikasikan ke mesin yang telah
dikhususkan penggunaannya artinya bahwa mesin tersebut hanya bisa di log in atau
dijalankan oleh admin Kerberos dan juga tidak ada aplikasi lain yang dijalankan di mesin
tersebut. Password dari user juga terdapat di mesin tersebut sehingga akses ke mesin tersebut
sebisa mungkin harus dibatasi . Secara teknis hal itu dapat dilakukan dengan mengadakan
pengamanan fisik yang sudah kita ketahui misalnya menyimpan server dalam suatu cabinet
kemudian mengkuncinya ataupun penerapan system kripto misalnya double enkripsi dalam
membuka cabinet tersebut Pada penerapan hardware terdapat 2 mesin yaitu Master dan Slave
KDC yang akan dijelaskan aplikasinya saja pada jaringan.


6. Operasi Kerberos secara umum.
Secara detailnya maka protokol Kerberos ini secara umum dapat dijelaskan sebagai
berikut :
User memasukkan username dan password client. Client membangkitkankan fungsi
one-way hash dalam setiap enter password, menjadi secret key client. Client mengirim plain
message kepada AS untuk meminta pelayanan. Contoh Message: User AAA akan meminta
request services. Secret key dan password dikirim ke AS.
AS_request=( Principal
client
, Principal
service
, I P_list, Lifetime )

AS memeriksa apakah nama client berada pada database. Jika ada maka AS mengirim
balasan ke klien tersebut..Balasan tersebut berupa;
Message A: session key client/TGS yang dienkripsi dengan secret key user.
Message B: Ticket-Granting Ticket (termasuk client ID, client network address, ticket
validity period, dan session key client/TGS) yang dienkripsi menggunakan secret key TGS.
TGT =( Principal
client
, krbtgt/REALM@REALM , I P_list , Timestamp , Lifetime , SK
TGS
)
AS_reply={Principal
Service
,Timestamp, Lifetime, SK
TGS
}K
User
{TGT}K
TGS

Client menerima messages A dan B, dan mendecrypt message A untuk mendapatkan
session key client/TGS. Session key digunakan untuk berkomunikasi dengan TGS. (Client
tidak dapat mendecrypt Message B yang diencrypt menggunakan secret key. TGS). Client
mempunyai cukup informasi untuk mengautentikasi dirinya sendiri ke TGS. Kmeudian user
mengirim dua message ke TGS;
Message C: terdiri dari Ticket-Granting Ticket dari message B dan ID pada saat requesting
service.
Message D: Authenticator (terdiri dari client ID dan timestamp), diencrypt menggunakan
session key client/TGS.
TGS_request=(Principal
service
, Lifetime, Authenticator) {TGT}K
TGS

Setelah menerima messages C and D, TGS mendecrypt message D (Authenticator)
menggunakan session key client/TGS dan mengirim dua message kepada client:
Message E: Client-to-server ticket (termasuk client ID, client network address, validity period
dan session key client/server) yang diencrypt menggunakan secret key server.
T
Service
=( Principal
Client
, Principal
service
,I P_list ,Timestamp , Lifetime , SK )
Service

Message E: session key client/server yang dienkripsi menggunakan session key TGS.
TGS_reply={Principal
Service
,Timestamp,Lifetime,SK
Service
}SK
TGS
{T
Service
}K
Service

Setelah menerima messages E dan F dari TGS, client menghubungi service server dan
mengirim dua messages:
Message F dari step sebelumnya (ticket client ke server, yang dienkripsi menggunakan secret
key layanan).
Message G: Authenticator, termasuk client ID, timestamp dan yang dienkripsi menggunakan
session key client/server.
Authenticator ={Principal
Client
, Timestamp }SK
Servic

Service server mendecrypt ticket menggunakan secret key layanan dan mengirim
pesan ke client untuk mengkonfirmasikan kebenaran identitas client:
Message H: timestamp menemukan Authenticator client yang sebelumya telah didapat plus 1,
dienkripsi menggunakan session key client/server.
AP_REQ =Authenticator {T
Service
}K
Service

Client mendecrypt konfirmasi tersebut menggunakan session key client/server dan
mengecek apakah timestamp masih update. Jika benar maka client dapat memulai
menggunakan layanan yang diinginkan ke server. Akhirnya server menyediakan layanan
yang diminta oleh client.

7. Aplikasi
Aplikasi kerberos :
Salah satu metode pengamanan TCP/IP. Kerberos ini merupakan metode pengamanan
TCP/IP berbasis server-based password authentication. Pada sistem kerberos server,
service yang disediakan oleh server dibatasi oleh suatu daftar host serta daftar user
yang boleh dan tidah boleh menggunakan layanan .
Kerberos ini dapat diaplikasikan pada autentikasi Apache web server.
Sebagai protokol otentikasi jaringan. Kerberos sering digunakan untuk
mengautentikasi beberapa layanan jaringan. Berikut ini merupakan beberapa contoh
implementasi service jaringan yang umumnya memerlukan autentikasi, antara lain
penggunaan printer pada sebuah jaringan yang hanya diperbolehkan bagi anggota
kelompok saja,remote file access, remote login (rlogin), window system, mail dimana
pemilik e-mail address saja yang dapat mengambil e-mail di POP3, danservice
management.
III. HASIL
Maka setelah kita mengerti bagaimana pengoperasian pada kerberos, kitapun dapat
mengetahui kelebihan maupun kekurangan protokol Kerberos.

a. Kelebihan Kerberos :
Salah satu ketidaknyamanan yang dialami oleh user adalah password yang harus kita
masukkan setiap kita mengakses layanan. Hal tersebut tersebut lumayan menyulitkan karena
jika kita mempunyai banyak akun, maka kita harus memasukkan password satu per satu
untuk setiap akun yang berbeda. Namun seringkali karena malas untuk menghafal password
atau takut lupa, maka satu-satunya jalan pintas adalah membuat password yang sama untuk
semua akun. Tentu saja hal itu semakin membuat akun kita semakin rawan, jika password
kita telah diketahui pihak yang tak berhak maka terbongkarlah semua akun yang kita miliki.
Untuk itu Kerberos menawarkan satu kenyamanan pada user, hanya dengan memasukkan
password sekali dan meminta ticket (TGT) pada TGS, maka kita bisa meminta layanan pada
banyak akun yang kita inginkan. Selain itu, ticket tersebut berlaku dalam periode waktu yang
pendek sampai masa expirednya.
Untuk masingmasing aplikasi yang membutuhkan pelayanan Kerberos maka
Kerberos sangat reliable, simple dan mudah digunakan.
Tingkat keamanannya tinggi. Password tidak dikirimkan melintasi jaringan.
Kerberos bersifat transparent. User tidak perlu mengetahui tahap-tahap otentikasi
yang dilakukan di dalam jaringan. User hanya tinggallogin ke jaringan melalui
program inisialisasi kinit, memasukkanusername dan password, lalu user memperoleh
otentikasi ke server yang dituju.
Penggunaan sesssion key yang dapat meningkatkan keamanan komunikasi.
Implementasi di software maupun hardwarenya sederhana, artinya untuk aplikasi
Kerberos kita tidak perlu mesin/komputer/microprocessor yang spesifikasinya tinggi
dan biayanya mahal. Telah diuji coba sebelumnya menggunakan uniprocessor intel
Pentium3 dengan dua buah raid dan satu drive.
Cukup mudah dalam proses penginstalasian, artinya tidak perlu memiliki kemampuan
programming untuk menginstal karena sudah ada softwarenya.
Kerberos menyediakan layanan SSH yang dapat mengelola server jarak jauh.



b. Kelemahan Kerberos
Berikut ini adalah beberapa kekurangan Kerberos yaitu :
Pada protokol kerberos ini belum ditemukan adanya key management yang baik
sedangkan pada protokol ini menggunakan banyak sekali kunci yang hirarkinya serta
perlakuannya harus dibedakan. Padahal letak keamanan suatu algoritma ataupun
protokol terletak pada management kuncinya.
Walaupun mekanisme enkripsinya tergolong kuat, namun masih terdapat
kemungkinan terjadi serangan berupa password guessing.
Kerberos bukanlah model pengamanan yang sempurna sehingga perlu diintegrasikan
dengan model pengamanan lain yang dapat mengatasi beberapa kelemahan yang
terutama disebabkan karena kelalaian user.Hal ini juga dikarenakan authorisasi
bukanlah spesifikasi dari Kerberos.
Untuk menjamin bahwa sistem Kerberos aman, maka penggunaan password untuk
Kerberos tidak digunakan pada sistem yang lain.
Kerberos menggunakan time-stamp untuk pengecekan bahwa suatuauthenticator yang
dikirimkan masih baru sehingga memerlukan sinkronisasi waktu seluruh jaringan.
Program sinkronisasi waktu yang digunakan (ntpd) yang memerlukan otentikasi untuk
menghindari terjadinya lubang keamanan yang biasanya berbentuk replay attack.
Aplikasi yang menggunakan Kerberos harus menambahkan suatu modul atau plugin
agar dapat menggunakan Kerberos.
Apabila seorang attacker mencuri seluruh tiket yang disimpan dalam credential, maka
ia dapat menyalahgunakan tiket tersebut hingga batas kadaluarsanya.
Password yang jatuh ke pihak yang tidak berwenang dapat disalahgunakan dan
berbahaya jika penyusup dapat meyakinkan rloginbahwa dia adalah pemakai yang
berhak.
Pengaturan password yang terlalu rumit karena mengharuskan untuk selalu
memasukan password pada saat ingin memperoleh layanan baru.
Setiap principal dalam jumlah yang besar harus melakukan autentikasi langsung
ke KDC, sehingga menyebabkan efek bottleneck. Oleh karena itu dilakukan
pengaturan flag supaya autentikasi tertentu dapat dilakukan hanya sampai realm tanpa
harus ke KDC.



IV. Kesimpulan
Kebutuhan akan sharing informasi saat ini sangatlah penting, hanya saja banyak hal
yang masih harus kita perhatikan mengenai aspek-aspek kriptografinya, diantaranya yaitu
autentikasi. Autentikasi merupakan suatu hal yang sangat penting dalam pengamanan sistem
informasi untuk mengetahui identitas user yang menginginkan layanan. Padahal autentikasi
konvensional sudah tidak relevan lagi karena jaringan selalu diawasi oleh pihak penyadap
password. Kita memerlukan protokol yang mampu memberikan solusi terhadap masalah ini.
Dalam hal ini, sistem autentikasi Kerberos mampu mengatasi serangan-serangan keamanan
jaringan. Protokol ini telah mampu memenuhi aspek-aspek keamanan serta implementasi di
hardware dan softwarenya mudah. Kerberos melakukan autentikasi dengan
melakukan share kunci privat antara client / server, dimana privat key dibuat oleh TTP.

Dengan demikian, para pengguna aplikasi internet dan jaringan komunikasi bisa
mempertimbangkan protokol Kerberos sebagai salah satu alternative untuk menjamin
autentikasi data berdasarkan kelebihan-kelebihan yang telah ada ataupun bahkan mampu
memperbaiki segala kekurangan-kekurangannya. Diantaranya solusi yang harus dicapai yaitu
perlunya kajian ulang tentang sistem kripto yang digunakan pada kerberos. Kajian ulang
tersebut adalah tentang performancenya serta efisiensi hardware, dalam hal ini jumlah server
yang kita butuhkan karena hal tersebut erat kaitanya dengan pengamanan fisiknya.















Daftar Pustaka

Schneier, Bruce, Aplied Cryptography 2
nd
, John Willey & Sons, 1996.
Menezes, Alfred J, Handbook of Applied Cryptography, CRC Press, 1996.
Stalling, William, Internet and Network Security,1996
Munir, Rinaldi,, Kriptografi, Informatika, 2006.
B.C Neuman, T.Tso. Kerberos: An Authentication Service for Computer Networks.
IEEE Communications, 1994.

Anda mungkin juga menyukai