Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinde, veri güvenliği konusunda kullanılan bir protokolün ( teşrifat ) ismidir. Basitçe güvenli olmayan ortamlarda iki tarafın güvenli bir şekilde veri iletişimi yapmasını hedefler.

Yapısında her iki tarafında karşılıklı olarak yetkilendirilmesine (authentication) dayanan simetrik bir şifreleme yöntemi kullanmaktadır. Kerberos ayrıca yetkilendirme için üçüncü bir güvenilir kişye ihtiyaç duymaktadır. Günümüzde açık şifreleme (public key cryptography) kullanan ve ismine uzatılmış kerberos (extended kerberos) ismi verilen bir şekli daha bulunmaktadır.

Protokolün alt tarafında needham-schroeder protokolü kullanılmaktadır. Kerberos protokolünün çalışmasında 2 ayrı aşamadan bahsedebiliriz. Birinci aşamada kerberos’un kullanılacağı ortamın hazırlanması gerekir. Ortam hazırlandıktan sonra kullanıcılar sisteme giriş yapabilir (login) ve karşılıklı olarak servislerden faydalanabilir.

Kerberos’un çalışması

Protokolün çalışması sırasında hizmet almak isteyen müşteri (client), bilet sunucusundan bir bilet (ticket) alır. Bu bilet ile hizmeti veren sunucu üzerinden hizmet talebinde bulunur ve güvenliği onaylanması durumunda hizmetini alır.

Sistem 4 aşamada çalışır. Birinci aşamada bilgisayarını kullanan kullanıcı, müşteri bilgisayarı (client computer) üzerinde giriş yapar (login).


Giriş işlemi sırasında kullanıcı adı ve şifresini bilgisayara giren kullanıcı için tek yönlü bir özetleme fonksiyonu (hashing function) ile giriş bilgilerini ifade eden gizli anahtar (secret key) üretilir. Bu gizli anahtar ile müşteri (client), bilet sunucusu (server) üzerinde giriş yapar (login).


Yukarıdaki şekilde de gösterilen giriş talebi bilet sunucusu tarafından onaylanırsa, müşteriye bir bilet yollanır. Bu bilet sadece müşteriye has olan özel bir bilgiden ibarettir. Bu bilgi ile müşteri hizmet alacağı sunucu üzerinde tanınır.


Bilet sunucusunun müşteriyi onaylaması durumunda yukarıdaki şekilde de gösterildiği üzere 2 bilgi müşteriye ulaştırılır:

  • Oturum anahtarı (session key): Bu bilginin içinde , kullanıcıyı tanımlamak için kullanılan bir gizli anahtar bulunur. Bu oturum anahtarı şifrelidir ve şifrenin anahtarı da müşteridedir.
  • Bilet onay bileti (ticket granting ticket): İngilizcede TGT olarak da kısaltılan bu bilginin içinde müşterinin tanımı ( ID ) , müşterinin ağdaki adresi, biletin geçerlilik süresi, ve oturum anahtarı bilgileri şifreli olarak bulunur. Şifrenin anahtarı sunucudadır.

Müşteri yukarıdaki bilgileri aldıktan sonra anahtarı açarak (anahtar şifreli gelmiştir) bundan sonraki iletişimde kullanacağı oturum anahtarını elde eder. Burada müşterinin, TGT bilgisine ulaşmayacağını söyleyebiliriz çünkü sunucuda duran anahtar müşteride bulunmamaktadır.

Üçüncü adımda müşterinin servis yetkilendirilmesi yapılır.


Yukarıdaki şekilde gösterildiği üzere, müşteri herhangi bir hizmet sunucusundan bir hizmet talebinde bulunurken iki bilgiyi sunucuya yollar. Birincisi hizmetin tanımıdır (service ID) ikincisi ise müşteriyi sunucuya tanıtan oturum anahtarıdır. Bu anahtarın içinde müşterinin tanımı ve talepte bulunulan an bilgisi (timestamp) bulunur.

Sunucu bu talebe aşağıdaki şekilde cevap verir:


Sunucudan müşteriye iki bilgi gelir.

Bunlardan ilki hizmet biletidir. Bu biletin içerisinde müşteri tanımı (client ID), müşterinin ağ bilgisi, biletin geçerlilik süresi ve oturum anahtarı bilgilerinin şifreli hali bulunur. Buradaki şifre hizmet anahtarı ile şifrelenmiştir.

Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmıştır. Bu içeriğin kopyalanması veya farklı bir sitede yayınlanması hırsızlıktır ve telif hakları yasası gereği suçtur.

İkinci bilgi ise oturum anahtarıdır ve müşterinin daha önceden bilet sunucusundan temin ettiği oturum anahtarı ile şifrelenmiştir.

Yukarıdaki bu bilgileri aldıktan sonra artık müşteri kendisini hizmet sunucusunda yetkilendirebilir (authenticate). Bu durumda dördüncü adım olan müşteri hizmet talebi başlayabilir. Yani müşteri ihtiyaç duyduğu bir anda sunucudan hizmet talebinde aşağıdaki şekilde bulunur.


Servis alma işlemi sırasında müşteri, hizmet almak istediği sunucuya hizmet talebinde bulunur. Hizmet talebi için kendisini tanıtan ve bir önceki adımda hizmet sunucusundan elde ettiği yetkilendirme bilgisini ve ilave olarak oturum anahtarını (ki bu anahtarda müşterinin tanımı (client ID) ve zaman bilgisi müşteri ve sunucu arasındaki oturum anahtarı ile şifrelenmiştir) yollar. Cevap olarak hizmet sunucusu zaman bilgisini güncelleyerek yeni zaman bilgisini içeren yeni bir oturum anahtarı yollar.

Müşteri oturum anahtarını açtıktan sonra bulduğu zaman bilgisinde her şey beklendiği üzereyse sunucuya güvenir ve mesajı kabul eder. Benzer şekilde sunucu da müşteriden aldığı bilgiyi kontrol ederek beklentisi ile karşılaştırır. (Buradaki iki beklenti durumu da zaman bilgileri ile ilgili, şayet ortamda bir saldırgan varsa zaman bilgilerini doğru yollaması mümkün olmayacaktır (tahminen)).

Müşteri bundan sonraki her hizmet talebinde doğrudan hizmet sunucusu ile görüşür. Daha önceki adımlarda bulunan zaman bilgisi geçen kadar yani anahtarlar geçerliliğini koruduğu sürece bilet sunucusu ile iletişim gerekmez.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir