Adını Yunan mitolojisindeki üç başlı bekçi köpeğinden alan Kerberos, MIT tarafından oluşturulan bir üçüncü taraf ağ kimlik doğrulama protokolüdür. Kerberos, güvenli olmayan ağlarda bile istemci/sunucu uygulamalarıyla güvenli kimlik doğrulaması sağlamak için gizli anahtar şifrelemesini kullanır. Bir kullanıcının özgünlüğünü belirlemek için, istemci ve sunucu, olağan kullanıcı kimliği ve parola kombinasyonu yerine ‘bilet’ adı verilen şifreli anahtarları ileri geri geçirir.
Kerberos, herhangi bir parolayı yerel olarak saklamaktan veya herhangi bir parolayı internet üzerinden göndermek zorunda kalmaktan tamamen kaçınmak için tasarlanmıştır ve karşılıklı kimlik doğrulaması sağlar, yani hem kullanıcının hem de sunucunun orijinalliğinin doğrulandığı anlamına gelir.
Kerberos Kimlik Doğrulaması Nasıl Çalışır?
Bir sistem içindeki her kullanıcı – “müdür” olarak anılır – benzersiz bir biletle başlar. Bu biletler, Kerberos Anahtar Dağıtım Merkezi olarak da bilinen ve genellikle KDC olarak adlandırılan kimlik doğrulama sunucusu tarafından verilir ve belirli ilkeleri tanımlamak için kullanılır. Bilet, gizli bir anahtarla şifrelenir ve bir müdürün kimlik bilgileriyle ilgili çeşitli bilgileri depolar.
Bu gizli anahtar, yalnızca kimlik doğrulama sunucusu ile istemcinin erişmeye çalıştığı sunucu arasında paylaşılan bir sırdır, bu nedenle bileti talep eden istemci verilen biletin içeriğini bilemez veya değiştiremez. Kerberos ayrıca simetrik anahtar şifrelemesi kullanır, yani şifreleme ve şifre çözme için aynı anahtar kullanılır.
Bilet, genel olarak, aşağıdakiler de dahil olmak üzere, müdür hakkında bilgiler içerir:
- oturum anahtarı
- İstekte bulunan kullanıcının kimliği – bu genellikle bir kullanıcı adıdır
- İsteğin gönderildiği sunucu/hizmet
- Belirli bileti kullanma yetkisi olan cihazın istemci tarafı IP adresi
- Biletin sona erme süresi (genellikle 10 saat)
- Biletin üretim zamanı
Kerberos bölgesinin (makineler ve ilkeler topluluğu) yöneticisi, belirli kullanıcılara biletlerin verilmesini engelleyebilir, ancak bir bilet düzenlendikten sonra iptal edemez. Bu nedenle, her biletin kendisiyle ilişkili bir sona erme süresi olması önemlidir.
Bir bilet almak için istemci, bağlanmak istediği sunucu hakkında bilgileri içeren kimlik doğrulama sunucusuna bir istek gönderir. Kimlik doğrulama sunucusu daha sonra istemcinin kullanıcı adının KDC veritabanında olup olmadığını kontrol eder. Kullanıcı adı geçerliyse, kimlik doğrulama sunucusu, oturum anahtarı eklenmiş bir bilet oluşturur ve yayınlar. Bu işlemle, kullanıcının parolasının, kimlik doğrulama sunucusunun veritabanında bile, hiçbir zaman şifrelenmemiş bir biçimde saklanması gerekmez.
Neden Önemlidir?
İnternet üzerinden herhangi bir bilgi gönderildiğinde, bu bilgiler potansiyel kötü niyetli saldırganlar da dahil olmak üzere dış kaynaklara maruz kalmayı artırdı. Bilgisayar korsanları, parolalar ileri geri gönderilirken parolaları ağlardan kaldırmaya çalışmak için genellikle araçlar kullanır. Bu güvenlik açığı nedeniyle, bir ağ üzerinden bir parola gönderildiğinde şifrelenmiş olduğunu garanti etmek her zaman çok daha güvenlidir. Kerberos parola doğrulaması bunun doğru olduğundan emin olur ve ayrıca isteği gönderen istemcinin kimliğini doğrular.
Güvenlik duvarları, dışarıdan izinsiz girişlere veya kötü niyetli bilgisayar korsanlarına karşı iyi bir savunma şeklidir, ancak genellikle saldırıların bir ağın dışından geldiği varsayımı altında çalışırlar. Bu, ağa zaten erişimi olan kişiler tarafından gerçekleştirilen saldırılar için kapıyı sonuna kadar açık bırakır. Kerberos kimlik doğrulama işlemi ise olası izinsiz girişin konumundan bağımsız olarak çalışır.