Kerberos (protokol)

**Kerberos**, dalam keamanan komputer, merujuk kepada sebuah protokol autentikasi yang dikembangkan oleh Massachusetts Institute of Technology (MIT).

## Sejarah dan perkembangan

Kerberos pertama kali dikembangkan pada dekade 1980-an sebagai sebuah metode untuk melakukan autentikasi terhadap pengguna dalam sebuah jaringan yang besar dan terdistribusi. Kerberos menggunakan enkripsi kunci rahasia/kunci simetris dengan algoritma kunci yang kuat sehingga klien dapat membuktikan identitas mereka kepada server dan juga menjamin privasi dan integritas komunikasi mereka dengan server. Protokol ini dinamai Kerberos, karena memang Kerberos (atau Cerberus) merupakan seekor anjing berkepala tiga (protokol Kerberos memiliki tiga subprotokol) dalam mitologi Yunani yang menjadi penjaga Tartarus, gerbang menuju Hades (atau Pluto dalam mitologi Romawi).

## Operasi

Protokol Kerberos memiliki tiga subprotokol agar dapat melakukan aksinya:
* ***Authentication Service (AS) Exchange***: yang digunakan oleh *Key Distribution Center* (KDC) untuk menyediakan *Ticket-Granting Ticket* (TGT) kepada klien dan membuat kunci sesi logon.
* ***Ticket-Granting Service (TGS) Exchange***: yang digunakan oleh KDC untuk mendistribusikan kunci sesi layanan dan tiket yang diasosiasikan dengannya.
* ***Client/Server (CS) Exchange***: yang digunakan oleh klien untuk mengirimkan sebuah tiket sebagai pendaftaran kepada sebuah layanan.

Sesi autentikasi Kerberos yang dilakukan antara klien dan server adalah sebagai berikut:

# Informasi pribadi pengguna dimasukkan ke dalam komputer klien Kerberos, yang kemudian akan mengirimkan sebuah request terhadap KDC untuk mengakses TGS dengan menggunakan protokol AS Exchange. Dalam request tersebut terdapat bukti identitas pengguna dalam bentuk terenkripsi.
# KDC kemudian menerima request dari klien Kerberos, lalu mencari kunci utama (disebut sebagai Master Key) yang dimiliki oleh pengguna dalam layanan direktori Active Directory (dalam Windows 2000/Windows Server 2003) untuk selanjutnya melakukan dekripsi terhadap informasi identitas yang terdapat dalam request yang dikirimkan. Jika identitas pengguna berhasil diverifikasi, KDC akan meresponsnya dengan memberikan TGT dan sebuah kunci sesi dengan menggunakan protokol AS Exchange.
# Klien selanjutnya mengirimkan request TGS kepada KDC yang mengandung TGT yang sebelumnya diterima dari KDC dan meminta akses tehradap beberapa layanan dalam server dengan menggunakan protokol TGS Exchange.
# KDC selanjutnya menerima request, malakukan autentikasi terhadap pengguna, dan meresponsnya dengan memberikan sebuah tiket dan kunci sesi kepada pengguna untuk mengakses server target dengan menggunakan protokol TGS Exchange.
# Klien selanjutnya mengirimkan request terhadap server target yang mengandung tiket yang didapatkan sebelumnya dengan menggunakan protokol CS Exchange. Server target kemudian melakukan autentikasi terhadap tiket yang bersangkutan, membalasnya dengan sebuah kunci sesi, dan klien pun akhirnya dapat mengakses layanan yang tersedia dalam server.

Meski terlihat rumit, pekerjaan ini dilakukan di balik layar, sehingga tidak terlihat oleh pengguna.

## Bacaan lanjutan

* B. Clifford Neuman and Theodore Ts'o, *Kerberos: An Authentication Service for Computer Networks*, IEEE Communications, 32(9) pp33–38. September 1994. http://gost.isi.edu/publications/kerberos-neuman-tso.html
* John T. Kohl, B. Clifford Neuman, and Theodore Y. T'so, *The Evolution of the Kerberos Authentication System*. Distributed Open Systems, pp78–94. IEEE Computer Society Press, 1994. [ftp://athena-dist.mit.edu/pub/kerberos/doc/krb_evol.PS] (Postscript format)
* Cisco Systems Security Configuration Guide <cite>Configuring Kerberos</cite>