15 Ağustos 2010 Pazar

Kerberos

Kerberos Nedir?
Athena Projesinin bir parçası olarak MIT'de geliştirilen kimlik denetim sistemidir.Adını Yunan mitolojisindeki Yeraltı’nı koruyan üç başlı köpekten alır. Bu üç başlı köpeği şunlar temsil eder; istemci, servis sağlayıcılar ve kimlik doğrulama merkezi.
 

Kerberos güvensiz bir ağda güvenli hostlar için kullanılan bir kimlik doğrulama protokolüdür.Simetrik şifrelemeyi kullanılır.




Peki Kerberos'un Amacı Nedir?

Kerberos genel olarak şu amaçları gerçekleştirmeyi hedefler.
  • Kullanıcının şifresi ağ üzerinde asla iletilmemeli

  • Kullanıcının şifresi kullanıcı tarafında asla kaydedilmemelidir, kullandıktan sonra atılmadır.

  • Kullanıcının şifresi, şifrelenmeden asla veritabanında tutulmamalıdır

  • Kullanıcı her oturum için yalnız bir kere şifre girişi yapar. Yani şifre bir kere onaylandıktan sonra oturum sonuna kadar geçerli olacaktır (Single Sign-On)

  • Kimlik doğrulama bilgileri kimlik doğrulama sunucusu üzerinde bulunur. Uygulama sunucusu kimlik doğrulama bilgileri içermez.Bu yöntem aşağıda verilen sonuçlar için gereklidir:

  1. Sistem yöneticisi bir hesabı tek noktadan tüm servisler için etkisiz hale getirebilir
  2. Kullanıcı şifresini değiştirdiğinde aynı zamanda tüm servisler için de değişecektir
  3. Bilginin tek yerde tutularak korunması,birçok yerde korunması ihtiyacını ortadan kaldırır.
  • Sadece istemci kim olduğunu ispat etmek zorunda değildir,aynı şekilde uygulama sunucuları da kim olduğu ispat etmek zorundadır(istemci tarafından istenirse).Bu ilke de karşılıklı kimlik doğrulama olarak bilinir.
  • Kimlik doğrulama ve yetkilendirmenin ardından kullanıcı ve servis sunucusu şifreli bir bağlantı kurabilmelidir. Bu nedenle Kerberos şifreleme anahtarının üretilmesini ve dağıtılmasını sağlar.

Son olarak Kerberos'un bazı bileşenlerinden ve bazı terimlerinden bahsedeyim...

Key Distribution Center (KDC)

Kimlik doğrulamayı sağlayan sunucudur. Mantıksal olarak 3 bölüme ayrılır.
1.Veritabanı

Kullanıcılar ve servislerin kayıtlarının tutulduğu birimdir. Bilgiler Master Key denilen anahtarla şifrelenmiştir Her kayıtta şu bilgiler bulunur :

  • Kayıtla ilgili principal
  • Şifreleme anahtarı ve kvno
  • Biletlerin yaşam süresi bilgileri
  • Şifrenin son geçerlilik tarihi
  • Principal’ın son geçerlilik tarihi
2.Authentication Server (AS)
Kimlik doğrulama isteklerine cevap veren birimdir Oturum boyunca tüm servislere istekte bulunabilmeyi sağlayan Ticket Granting Ticket(TGT)’ı ve TGS ile haberleşmeyi sağlayan Session Key’i üretir.
3.Ticket Granting Server(TGS)

Kullanıcının servislerle haberleşmesini sağlayan biletleri üretir. Bu biletler servislerin gizli anahtarlarıyla şifrelendiği için kimliği doğrulanmamış kimse servislere erişemez.

Session Key
  • Kullanıcılar ve sunucu servisleri gizli anahtarlarını KDC ile paylaşırlar ve bu anahtarlar uzun sürelidir.
  • Sunucu ve kullanıcıların kendi aralarında şifreli olarak haberleşmeleri için ortak bir anahtara ihtiyaçları vardır.
  • Bu anahtarlar KDC tarafından rastgele üretilir ve özel anahtarla şifrelenerek istemci ve servis sunucularına yollanır.