Kerberos'ta, Kimlik Doğrulama Sunucusu (AS) ve Bilet Verme Sunucusu (TGS) genellikle aynı sunucuda uygulanır. Bu makineye Anahtar Dağıtım Merkezi (KDC) adı verilir.
Elbette, bu hizmetleri aynı fiziksel makinede uygulamak mantıklıdır, küçük ve orta ölçekli ağlarda olduğu gibi, bu iki hizmeti ayırmak aşırıya kaçacaktır. Ayrıca, nispeten güvenilir bir kaynağım var.
TGS ve AS aynı DB'ye erişmek zorundadır => TGS ve AS'yi farklı makinelere uygulamak pek mantıklı değildir
Ancak hangi veritabanı ikisi arasında paylaşılması gerektiğini görmüyorum.
Benim fikrim bu, AS ve TGS'yi nasıl ayıracağım, paylaşılan veritabanları yok:
- AS ve TGS birbirinden ayrıldıkça, farklı bir Master Sırrı var
- AS, tüm kullanıcılara kendi ana sırlarını (Kullanıcı oturum açtığında, oturum anahtarını şifrelemek için kullanılır) ve TGS'nin ana sırrını (istenen TGT'leri şifrelemek için) içeren bir veritabanına sahiptir.
- TGS, hangi kullanıcının hangi hizmeti (ACL, iptal listesi, ...) kullanmasına izin verildiğini belirlemesine izin veren bir veritabanının yanı sıra kendi ana sırlarıyla (Biletleri şifrelemek için) tüm hizmetleri içeren bir veritabanına sahiptir.
Bir kullanıcı bir hizmeti kullanmak istediğinde (basitleştirilmiş):
- AS'de kimlik doğrulaması
- TGS Master Secret ile şifrelenmiş bir Bilet Veren Bilet (TGT) ve kullanıcının ana sırrı ile şifrelenmiş oturum anahtarı alın.
- TGS ile TGT ile iletişim kurun
- Hizmetin Ana Sırrı ile şifrelenmiş bir Bilet Alın
- Bilet ile Servise Başvurun
Bir şey mi kaçırıyorum, yoksa AS ile TGS'yi ayırmada hiçbir sorun yok mu?