Home » Software » Apa itu Kerberos ?

Apa itu Kerberos ?

by Wahyu Saputra S.Kom
by Wahyu Saputra S.Kom

Dala artikel ini akan membahas tentang protokol otentikasi yaitu Kerberos, tepatnya. Mari kita lihat dan berkenalan dengan salah satu protokol jaringan yang efektif ini, dengan pembahasan apa itu protokol Kerberos, pengaplikasian Kerberos, serta bagaimana flow protokol Kerberos.

Mari kita mulai dengan pembahasan apa itu Kerberos dan bagaimana cara kerjanya.

Apa itu Kerberos ? Bagaimana Cara Kerjanya ?

Kerberos adalah protokol keamanan jaringan komputer yang mengautentikasi permintaan layanan antara dua host tepercaya atau lebih di jaringan yang tidak tepercaya, seperti internet. Protokol ini menggunakan kriptografi kunci rahasia dan pihak ketiga tepercaya untuk mengautentikasi aplikasi server klien dan memverifikasi identitas pengguna.

Awalnya dikembangkan oleh Massachusetts Institute of Technology (MIT) untuk Project Athena pada akhir 80-an, Kerberos sekarang menjadi teknologi otorisasi default yang digunakan oleh Microsoft Windows. Implementasi Kerberos juga ada untuk sistem operasi lain seperti Os Apple, FreeBSD, UNIX, dan Linux.

Microsoft meluncurkan versi Kerberos-nya di Windows 2000, dan itu menjadi protokol standar untuk situs web dan diimplementasikan single sign on di berbagai platform. Konsorsium Kerberos mempertahankan Kerberos sebagai proyek yang bersifat open-source.

Lambing Kerberos berbentuk tiga kepala anjing dengan ketiga kepala Kerberos tersebut mewakili klien, server, dan Pusat Distribusi Kunci (KDC). Simbol yang terakhir berfungsi sebagai layanan otentikasi pihak ketiga tepercaya.

Pengguna, mesin, dan layanan yang menggunakan Kerberos bergantung pada KDC saja, yang berfungsi sebagai satu proses yang menyediakan dua fungsi: otentikasi dan pemberian tiket. KDC ‘tiket’ menawarkan otentikasi kepada semua pihak, memungkinkan node untuk memverifikasi identitas mereka dengan aman. Proses otentikasi Kerberos menggunakan kriptografi rahasia bersama konvensional untuk mencegah paket yang berjalan di seluruh jaringan dibaca atau diubah, serta melindungi pesan agar tidak didengarkan dan mencegah reply serangan.

Pengaplikasian Kerberos

Meskipun Kerberos ditemukan di mana-mana di dunia digital, tetapi protokol tersebut digunakan untuk keamanan sistem yang tergantung pada fitur audit dan otentikasi yang andal. Kerberos digunakan dalam otentikasi Posix, Active Directory, NFS, dan Samba. Protocol ini juga merupakan sistem otentikasi alternatif untuk SSH, POP, dan SMTP.

Flow Protokol Kerberos

Mari kita lihat lebih rinci apa otentikasi Kerberos dan bagaimana cara kerjanya dengan menjabarkannya menjadi komponen intinya.

Berikut adalah entitas utama yang terlibat dalam alur kerja Kerberos yaitu :

  • Client : Klien bertindak atas nama pengguna dan memulai komunikasi untuk permintaan layanan
  • Server : Server meng-host layanan yang ingin diakses pengguna
  • Authentication Server (AS) : AS melakukan otentikasi klien yang diinginkan. Jika otentikasi berhasil terjadi, AS mengeluarkan tiket kepada klien yang disebut TGT (Ticket Granting Ticket). Tiket ini menjamin server lain bahwa klien diautentikasi
  • Key Distribution Center (KDC) : Di environmen Kerberos, server autentikasi secara logis dipisahkan menjadi tiga bagian: Database (db), Authentication Server (AS), dan Ticket Granting Server (TGS). Ketiga bagian ini, pada akhirnya berada dalam satu server yang disebut Key Distribution Center
  • Ticket Granting Server (TGS) : TGS adalah server aplikasi yang mengeluarkan tiket layanan sebagai layanan

Sekarang mari kita pecah flow protokol Kerberos.

Pertama, ada tiga kunci rahasia penting yang terlibat dalam flow Kerberos. Ada kunci rahasia unik untuk klien / pengguna, TGS, dan server yang dibagikan dengan AS.

  • Client/user. Hash berasal dari kata sandi pengguna
  • TGS secret key. Hash kata sandi yang digunakan dalam menentukan TGS
  • Server secret key. Hash kata sandi yang digunakan untuk menentukan server yang menyediakan layanan.

Flow protokol Kerberos terdiri dari langkah-langkah berikut:

  • Step 1 : Permintaan awal otentikasi klien. Pengguna meminta Ticket Granting Ticket (TGT) dari Authentication Server (AS). Permintaan ini mencakup ID klien.
  • Step 2 : KDC memverifikasi kredensial klien. AS memeriksa database untuk ketersediaan klien dan TGS. Jika AS menemukan kedua nilai tersebut, maka akan menghasilkan kunci rahasia klien / pengguna, menggunakan hash kata sandi pengguna.

AS kemudian menghitung kunci rahasia TGS dan membuat session key (SK1) yang dienkripsi oleh kunci rahasia klien / pengguna. AS kemudian menghasilkan TGT yang berisi ID klien, alamat jaringan klien, timestamp, lifetime, dan SK1. Kunci rahasia TGS kemudian mengenkripsi tiket.

  • Step 3 : Klien mendekripsi pesan. Klien menggunakan kunci rahasia klien / pengguna untuk mendekripsi pesan dan mengekstrak SK1 dan TGT serta menghasilkan otentikator yang memvalidasi TGS klien.
  • Step 4 : Klien menggunakan TGT untuk meminta akses. Klien meminta tiket dari server yang menawarkan layanan dengan mengirim TGT yang telah diekstrak dan authenticator yang telah dibuat ke TGS.
  • Step 5 : KDC membuat tiket untuk server file. TGS kemudian menggunakan kunci rahasia TGS untuk mendekripsi TGT yang diterima dari klien dan mengekstrak SK1. TGS mendekripsi otentikator dan memeriksa untuk melihat apakah itu cocok dengan ID klien dan alamat jaringan klien. TGS juga menggunakan timestamp yang diekstrak untuk memastikan waktu TGT belum kadaluwarsa.

Jika proses berhasil melakukan semua pemeriksaan, maka KDC menghasilkan layanan session key (SK2) yang dibagikan antara klien dan server target.

Terakhir, KDC membuat tiket layanan yang mencakup id klien, alamat jaringan klien, timestamp, dan SK2. Tiket ini kemudian dienkripsi dengan kunci rahasia server yang diperoleh dari db. Klien menerima pesan yang berisi tiket layanan dan SK2, semuanya dienkripsi dengan SK1.

  • Step 6 : Klien menggunakan tiket file untuk mengautentikasi. Klien mendekripsi pesan menggunakan SK1 dan mengekstrak SK2. Proses ini menghasilkan otentikator baru yang berisi alamat jaringan klien, ID klien, dan timestamp, kemudian dienkripsi dengan SK2, dan mengirimkannya dan tiket layanan ke server target.
  • Step 7 : Server target menerima dekripsi dan otentikasi.  Server target menggunakan kunci rahasia server untuk mendekripsi tiket layanan dan mengekstrak SK2. Server menggunakan SK2 untuk mendekripsi otentikator, melakukan pemeriksaan untuk memastikan ID klien dan alamat jaringan klien dari otentikator dan pencocokan tiket layanan. Server juga memeriksa tiket layanan untuk melihat apakah waktunya sudah kadaluwarsa.

Setelah pemeriksaan terpenuhi, server target mengirim pesan kepada klien yang memverifikasi bahwa klien dan server telah mengautentikasi satu sama lain. Sehingga pengguna sekarang berada dalam sesi aman.

Apakah Kerberos Aman ?

Tidak ada langkah keamanan yang 100% tidak dapat ditembus, dan tidak terkecuali dengan Kerberos. Karena protocol Kerberos sudah ada begitu lama, peretas telah memiliki kesempatan selama beberapa waktu untuk menemukan cara menembus keamanan sistem, biasanya dengan memalsukan tiket, melakukan upaya berulang untuk menebak kata sandi (berisi brute force / kredensial), dan menggunakan malware untuk menurunkan enkripsi.

Meskipun demikian, Keberos masih menjadi protokol akses keamanan terbaik yang tersedia saat ini. Protokol ini cukup fleksibel dengan menggunakan algoritma enkripsi yang lebih kuat untuk membantu mencegah ancaman yang baru.

You may also like