Kerberos Nedir, Kerberos Sistem Mimarisi ve Kerberos Uygulaması

0
105

Kerberos Nedir, Kerberos Sistem Mimarisi ve Kerberos Uygulaması

Kerberos Nedir, Kerberos Sistem Mimarisi ve Kerberos Uygulaması

Kerberos, bir iç ağdaki istemci ve sunucuların asıllanmasını sağlamak için tasarlanmış bir güvenlik sistemidir. Needham-Schroder asıllama protokolüne dayanır.

1980’lerde, MIT’de kullanıcıların yerleşke ağındaki kaynaklara güvenli erişimini sağlamak üzere geliştirilmiştir. Deneyimler ve kullanıcı organizasyonlarından alınan geri dönüşler ışığında birçok düzeltme ve geliştirme aşamasından geçerek, bugün yaygın olarak kullanılmakta olan halini almıştır.

Bu kısımda, Kerberos v5 anlatılacaktır. Birçok üniversite ve şirketin iç ağında kullanılmakta olan bu sürüm, “Internet Standarts Track”te (RFC 1510) bulunmaktadır. OSF Distributed Computing Environment (DCE)’a ve varsayılan asıllama servisi olarak Microsoft Windows 2000 işletim sistemine de dahil edilmiştir.

Sistem Mimarisi

kerberos
kerberos

Temel kavramlar

 

Bilet: Bilet sağlama servisi tarafından, ağdaki belli bir sunucuya sunulmak üzere istemcilere verilen ve istemcinin Kerberos tarafından asıllanmış olduğunu belirten mesaj.

 

Asıl: İstemcinin, kendi kimliğini ve iletişimin yeniliğini sunucuya kanıtlamak için gönderdiği mesaj.  Sunucunun adını ve zaman damgasını içeren, oturum anahtarıyla şifrelenmiş mesaj.

Oturum anahtarı: Kerberos tarafından rasgele üretilen ve belli bir sunucuyla haberleşmek üzere istemciye verilen anahtar.

İstemciler, haberleştikleri tüm sunucular için birer bilet ve oturum anahtarına sahiptirler. Bir sunucuyla kuracağı her etkileşim için, istemcinin yeni bir anahtar ve bilet alması, pratik bir yol değildir. Bu yüzden biletler istemcilere, belli bir süre kullanılmak üzere sağlanırlar. Yani biletlerin geçerlilik süreleri vardır.

Kerberos sunucusu, anahtar dağıtım merkezi olarak bilinir. Bu merkezde, bir asıllama sunucusu (AS) ve bir bilet dağıtım merkezi (TGS) bulunur. AS, oturum açma işlemi sırasında kullanıcının asıllanması ve TGS ile haberleşmede kullanacağı bilet ile oturum anahtarının sağlanmasından sorumludur. Bu işlemlerden sonra, orijinal istemci süreç ve bunun alt süreçleri (descendants), belli sunucularla haberleşmek için ihtiyaç duyacakları anahtar ve biletleri, TGS’den alırlar.
Needham-Schroder asıllama protokolünü takip eden Kerberos’ta, farklı olarak “nonce” yerine zaman damgası kullanılır. Zaman damgası kullanımının iki amacı vardır:

  1. Tekrarı önlemek,
  2. Biletlere bir yaşama süresi vererek, sistemin süresi dolan kullanıcı haklarını iptal etmesini sağlamak.

Protokol

Bu bölümde, Kerberos protokolünde istemci, AS, TGS ve sunucu arasında gidip gelen mesajların içerikleri ve işlevleri anlatılacaktır. Öncelikle notasyonla ilgili bir kaç açıklama verilmiştir.

C:        istemci,           S:        sunucu

A:        AS,                 T: TGS

n:                    nonce

t :                    zaman damgası

t1:                    Biletin geçerlilik süresi başlangıcı

t2:                    Biletin geçerlilik süresi sonu

bilet(C,S):      C, S, t1, t2, KCS

asıl(C):           C,t

Şekil 1.1’de gösterilen adım ve mesaj etiketleri burada kullanılanlara karşılık gelmektedir.

 

A.  Kerberos oturum anahtarı ve TGS bileti alma (Her login oturumu için bir kez)

Başlık:                                        Mesaj:                                         Açıklama:

1. C -> A:

TGS bileti isteği

C, T, n İstemci C, T ile iletişime geçmek için A’dan anahtar ister. Bu sırada, alacağı yanıtın geçerliliğini sınamak için mesaja bir “nonce” ekler.
2. A -> C:

TGS oturum anahtarı ve bileti

{KCT, n}Kc ,

{bilet(C,T)}Kt

A, bileti ve oturum anahtarını gönderir. Bu arada, n’nin Kc ile şifrelenmesi sayesinde, C yanıtın A’dan geldiğinden emin olmuş olur.

 

İkinci mesaja “meydan okuma” (challange) da denir. Çünkü mesajı alanın KCT’yi öğrenebilmesi için tek yol KC’yi bilmesidir. Böylece, 1. mesajı göndererek C’yi taklit etmek isteyen biri, 2. mesajdan ileri gidemez.

Otoritenin bir kullanıcı olması durumunda, Kc kullanıcı şifresidir.

İstemci, 2. adım sonunda elde ettiği bileti –geçerlilik süresi dolana kadar- TGS ile haberleşmede kullanır.

 

B.  S sunucusu için bilet alma (Her istemci-sunucu oturumu için bir kez)
3. C -> T:

S servisi için bilet isteği

{asıl(C)}Kct,

{bilet(C,T)}Kt,

S,

N

C, S servisiyle haberleşebilmek için TGS’den bilet ister.
4. T -> C:

S servisi içi bilet

{KCS, n}Kct,

{bilet(C,S)}Ks,

T bileti kontrol eder. Geçerliyse, rasgele bir oturum anahtarı oluşturur ve bir biletle beraber C’ye verir.

 

C, biletini kullanarak S’ye mesaj yollayabilir.

 

C.  Bileti kullanarak sunucu isteği yayınlama
5. C à S:

Servis isteği

{asıl(C)}Kcs,

{bilet(C,S)}Ks,

istek,

n

C, sunucuya kendini asıllar ve servis isteği gönderir. Gizlilik gerekliyse, istek Kcs ile şifrelenir.

İstemcinin de sunucunun kimliğinden emin olabilmesi için, istek mesajındaki nonce oturum anahtarıyla şifrelenerek gönderilebilir.

D.  Sunucuyu asıllama (İsteğe bağlı)
6. S à C:

Sunucu aslı

{n}Kcs  

 

Kerberos’un Uygulanması

MIT iç ağında, kullanıcıların ve diğer otoritelerin asıllanması Kerberos’la yapılır. Her sunucu, her istemci-sunucu etkileşiminin başında bilet ister. Bunlar arasında dosya sunucuları (NFS ve Andrew File System), elektronik posta, uzaktan bağlanma ve baskı sunucuları bulunur.

 

Kerberos’ta oturum açma

Yukarıda A adımında belirtilen mesajlaşma, kullanıcının bulunduğu makinada çalışan oturum açma programıyla Kerberos sunucusundaki AS arasında gerçekleşir. Login programı, kullanıcı adını sunucuya göndererek bilet ve oturum anahtarını içeren mesajı alır. Aldığı mesajı, kullanıcı şifresini kullanarak deşifre etmeye çalışır. Şifre doğruysa, “nonce” ve diğer bilgiler elde edilir. TGS bileti, diğer sunuculara erişimde kullanılmak üzere kaydedilir.

Dikkat edilirse bu sistemde kullanıcı şifresi her yeni servis isteği sırasında değil, sadece Kerberos sunucusuyla oturum açma işlemi sırasında kullanılmaktadır. Böylece kullanıcı şifresinin ele geçirilmesi olasılığı büyük ölçüde azaltılmış olur. 

Kerberos’un gerçeklenmesi

Şifrelemede DES algoritması kullanılır, ancak ayrı bir modülde yapıldığı için algoritma kolayca değiştirilebilir.

Kerberos, ölçeklenebilir yapıya sahiptir. Tüm uygulama alanı, ayrı asıllama otoritesi alanlarına bölünebilir. Bu alanlara “ülke” (realm) denmektedir. Her bir ülkenin kendi Kerberos sunucusu vardır. Çoğu istemci sadece bir ülkede kayıtlıdır ancak TGS’lar tüm ülkelerde kayıtlıdır. İstemciler, kendilerini diğer ülkelerdeki sunuculara, yerel TGS’leri sayesinde asıllarlar.

Bir ülkede -aynı asıllama veri tabanına sahip olacak şekilde- birkaç AS bulunabilir. Veritabanı, basit bir efendi-köle tekniğiyle çoğaltılır. Veri tabanı güncellemeleri sadece ana kopya üzerinde, yine ana makinede çalışan Kerberos Database Management System (KDBM) tarafından yapılır. KDBM, otorite ekleme/çıkarma ve şifre değişimi gibi işlemlerden sorumludur.

TGS biletlerinin ömrü, alt yapı kullanıcılara saydam olacak şekilde ayarlanmalıdır. Yani, TGS biletlerinin ömrü, mümkün en uzun oturum açma oturumu kadar olmalıdır. Çünkü süre dolduğunda servis istekleri reddedilecek ve kullanıcı tekrar oturum açmak zorunda kalacaktır. Bilet ömrü genelde 12 saat civarındadır. 

CEVAP VER

Time limit is exhausted. Please reload CAPTCHA.