Kerberos istemcilerin kimlik kanıtlamaları için, paylaşılan bir sırrı ve güvenilen üçüncü taraf bir hakemi kullanan bir kimlik denetim protokolüdür. Kerberos'da istemci kullanıcılar, sunucular veya yazılımlar olabilir. Güvenilen üçüncü taraf hakem ise Anahtar Dağıtım Merkezi (KDC) olarak bilinen Kerberos artalan sürecinin çalıştığı bir sunucudur. Paylaşılan sır kullanıcının kriptografik anahtara dönüştürülmüş parolasıdır. Sunucular ve yazılım sistemleri için rasgele anahtarlar üretilir.
Kerberos'da kullanıcılar yetkililerdir. KDC kullanıcılardan ve onların kimlik kanıtlamasında kullandıkları parolalarından oluşan bir veritabına sahiptir. Kerberos'da gizli anahtar bilgisinin kimlik kanıtlamada yeterli olduğu kabul edildiğinden Kerberos sunucusu bir istemcinin diğer bir istemciye kimliğini kanıtlamasında güvenilir taraf olarak kabul edilebilir. Kerberos'da kimlik kanıtlaması ağda hiç düz metin iletilmeden gerçekleştirilir. Aşağıda Kerberos protokolünün GNU/Linux'da Kerberos yazılımıyla nasıl gerçekleştirildiğini açıklayacağım.
KDC iki önemli Kerberos artalan süreci çalıştırır. Bunlar kadmind ve krb5kdc'dir. GNU/Linux artalan süreci adlandırmasında "k" ile başlayan süreçlerin Çekirdekle ilgili veya Çekirdek bölgesi süreçleri olması önerilmesine rağmen krb5kdc ve kadmind böyle süreçler değildirler. Bu iki artalan süreci root haklarıyla kullanıcı alanında çalışırlar.
kadmind Kerberos sunucusunun yönetimle ilgili sürecidir. kadmind yetkili kullanıcıların ve kural yapılandırma veritabanının muhafaza edilmesi için kadmin isimli program tarafından kullanılır. Eğer Kerberos donanımınıza ssh ile uzak bağlantı yapılmamasını seçmişseniz kadmin sunucunuzun bileşenlerini uzaktan yönetme imkanı sunar.
krb5kdc Kerberos sunucusunun yükünü taşıyan süreçtir. Kerberos kimlik denetiminde güvenilen üçüncü taraf hakem rolünü yerine getirmekle yükümlüdür. Bir kullanıcı kimliğini bir sistem veya bir servise kanıtlamak isterse KDC'den bir bilet talebinde bulunur. Bilet; istemcinin kimliği, oturum anahtarı, zaman bilgisi ve bazı diğer bilgilerden oluşan bir datagramdır. Datagram sunucunun gizli anahtarıyla şifrelenir.
Bu süreç ayrıntılı olarak şöyle çalışır; ilk olarak kimlik denetim talebi krb5kdc artalan sürecine gönderilir. Artalan süreci bu isteği aldığında istemciyi esas veritabanından kimlik denetimi yaparak kontrol eder. İstemcinin gizli anahtarını bu veritabanından okur ve ona geri göndermek için Bilet Veren Bilet (TGT) adında özel bilet olarak şifreler. İstemci oturum anahtarını içeren bu şifrelenmiş TGT'yi alır. Eğer istemci parolayı bilir (gizli anahtar esas veritabanında tutulur) ve başarıyla TGT'nin şifresini çözebilirse bileti oturum anahtarını da ekleyip şifreleyerek Bilet Verme Servisine (TGS) sunabilir. TGS daha sonra istemcinin özel bir sistem veya servisi kullanmasını sağlayacak yeni bir bilet yayınlar.
Sadece gizli anahtarı bilen istemcilerin şifresini çözebileceği şifrelenmiş biletlerin kullanımı sayesinde güvenli kimlik denetimi gerçekleştirilmiş olur. Tekrarlama ataklarından korunabilmek için bilete zaman bilgisi de dahil edilir. Tekrarlama atağı; yetkisiz erişim hakkı kazanmak için daha önceden kullanılmış bir biletin sahte gösterimidir.