Kerberos ile Kimlik Doğrulama

Kerberos Nedir ?
Kerberos 80 li yılların sonlarına doğru kimlik doğrulama hizmeti için MIT tarafından çıkarılmış bir kimlik doğrulama projesidir. Microsoft Windows NT ve sonrası işletim sistemlerinde kimlik doğrulama hizmeti için Kerberos’un bir çeşidini kullanır. Aynı şekilde Mac OS X de kimlik doğrulama için kerberos’u kullanır.

Kerberos Kimlik Doğrulamasının Çalışma Mantığı
Kerberos istemci ve sunucu arasında güvenli bir iletişim kurmak için KDC(Key Distribution Center) hizmetinden yardım alır. KDC iki bölümden oluşur bunlar, Authentication server (AS) ve Ticket Granting Server (TGS)dir. Bu yapıda kerberos kimlik doğrulama için bilet yöntemini kullanır. Kısaca çalışma mantığı aşağıdaki gibidir;

  • İstemci sunucuya (AS) kullanıcı adını açık mesaj olarak gönderir ve kullanıcı adına servisleri talep eder. (Not: Ne gizli şifre ne de parola sunucuya gönderilmez.) Kimlik doğrulama sunucusu gizli şifreyi,veri tabanında(örn., Active Directory in Windows Server) bulunan kullanıcıya ait parolayı özetlemek sureti ile oluşturur.
  • Kimlik doğrulama sunucusu(AS) istemcinin veri tabanında olup olmadığını kontrol eder. Eğer veri tabanında varsa, AS istemciye şu iki mesajı yollar:
    • Mesaj A: İstemci/kullanıcı gizli anahtarı kullanılarak üretilen şifrelenmiş İstemci/TGS Oturum Anahtarı.
    • Mesaj B: TGS’nin gizli anahtarı kullanılarak üretilmiş şifrelenmiş istemci adı, istemci ağ adresi, geçerlilik süresi ve istemci/TGS oturum anahtarını içeren bir TGT.
  • İstemci, A ve B mesajlarını alır almaz, kullanıcı tarafından girilen parolayı kullanarak A mesajını açmaya çalışır. Eğer kullanıcının girmiş olduğu parola ile veri tabanında bulunan parola aynı değilse, istemcinin gizli anahtarı farklı olacak ve bunun sonucunda A mesajını açmayı başaramayacaktır. Geçerli bir parola ve gizli anahtar ile istemci A mesajını çözecek ve İstemci/TGS Oturum Anahtarını alabilecektir. Bu oturum anahtarı daha sonra TGS ile yapılacak iletişimlerde kullanılacaktır. (Not: B mesajı, TGS’nin gizli anahtarı kullanılarak şifrelendiğinden istemci tarafından çözülemez.) Bu noktada, istemci kendi kimliğini TGS’ye tanıtma konusunda yeterli bilgiye sahiptir.