Kerberos: AS ve TGS'yi Ayırma


9

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?


1
Görünüşe göre Kerberos'un içinin çok derinindesiniz. Ölçeklendirmenin genel yolu sadece daha fazla KDC eklemektir, bu yüzden ne yapmaya çalıştığınızdan emin değilim.
Michael Hampton

1
Doğru - çözmeye çalıştığınız gerçekte hangi sorunla karşı karşıyasınız?
mfinni

1
Somut bir sorunu çözmeye çalışmıyorum. Sadece şu anda kullanmak istemeden Kerberos'un içini (sınav için) anlamaya çalışıyorum. Soru tamamen teorik bir sorudur, sadece yanlış bir şey anladığımı veya sorumdaki teklifin tamamen doğru olup olmadığını bilmek istiyorum.
Misch

Yanıtlar:


4

Sorunuz tamamen teori. Bu yüzden ayni cevap vereceğim. AS ve TGS, mantıksal sunucular, ve bu şekilde de olabilir teorik ayrılabilir. Ancak pratikte, bunları ayrı makinelerde uygulamak için iyi bir neden yoktu ve bu yüzden kimse bunu gerçek hayatta yapmıyor. Kerberos kimlik doğrulaması açısından dünyanın en büyük, en yoğun ağlarının bile KDC'lerin mantıksal bileşenlerini ayırmasına gerek yoktur. Kerberos'un gerçek hayattaki uygulamalarında AS'nin ihtiyaç duyduğu tüm veriler ve TGS'nin ihtiyaç duyduğu tüm veriler aynı veritabanında saklanır. Bu olabilir teorik olarak ayrılabilir ama bunu yapmak için ve hiçbir şey ama gereksiz uygulanmasını karmaşık hale getireceği sadece iyi bir neden yoktur.


1
AS ve TGS'yi ayırırken başka bir sorun buldum: Sadece TGT'leri AS'den almak mümkün değil, aynı zamanda başka bir hizmet için bir bilet de isteyebilirsiniz (örneğin, sadece bu tek bir bilete ihtiyacınız olacağını biliyorsanız, TGT üzerinden sapmaya gerek yoktur). Bu AS'nin sadece TGS'nin ihtiyaç duyduğum tüm verilere ihtiyacı olduğu anlamına gelir.
Misch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.