ใน Kerberos เซิร์ฟเวอร์การรับรองความถูกต้อง (AS) และเซิร์ฟเวอร์การให้สิทธิ์ตั๋ว (TGS) มักจะใช้งานบนเซิร์ฟเวอร์เดียวกัน เครื่องนี้เรียกว่า Key Distribution Center (KDC)
แน่นอนมันเหมาะสมที่จะใช้บริการเหล่านี้บนเครื่องทางกายภาพเดียวกันในเครือข่ายขนาดเล็กและขนาดกลางมันจะ overkill เกินกว่าที่จะแยกบริการทั้งสองนี้ นอกจากนี้ฉันมีแหล่งข้อมูลที่เชื่อถือได้ซึ่งพูดว่า (แปล):
TGS และ AS ต้องเข้าถึง DB => เหมือนกันมันไม่สมเหตุสมผลเลยที่จะใช้ TGS และ AS บนเครื่องที่แตกต่างกัน
อย่างไรก็ตามฉันไม่เห็นว่าจะต้องแชร์ฐานข้อมูลใดระหว่างสอง
นี่คือความคิดของฉันฉันจะแยก AS และ TGS ได้อย่างไรไม่มีฐานข้อมูลที่แชร์:
- เนื่องจาก AS และ TGS แยกจากกันพวกเขาจึงมีข้อมูลลับหลัก
- AS มีฐานข้อมูลพร้อมผู้ใช้ทั้งหมดที่มีข้อมูลลับหลักของตน (ใช้เมื่อผู้ใช้ลงชื่อเข้าใช้เพื่อเข้ารหัสคีย์เซสชัน) รวมถึงข้อมูลลับหลักของ TGS (เพื่อเข้ารหัส TGT ที่ร้องขอ)
- TGS มีฐานข้อมูลซึ่งช่วยให้สามารถกำหนดผู้ใช้ที่ได้รับอนุญาตให้ใช้บริการใด (ACL, รายการเพิกถอน, ... ) รวมถึงฐานข้อมูลที่มีบริการทั้งหมดที่มีความลับหลักของตน (เพื่อเข้ารหัสตั๋ว)
เมื่อผู้ใช้ต้องการใช้บริการ (ลดความซับซ้อน):
- รับรองความถูกต้องที่ AS
- รับ Ticket Granting Ticket (TGT) ซึ่งเข้ารหัสด้วย TGS Master Secret รวมถึงเซสชันคีย์ที่เข้ารหัสด้วยข้อมูลลับหลักของผู้ใช้
- ติดต่อ TGS ด้วย TGT
- รับตั๋วเข้ารหัสด้วย Master Secret ของบริการ
- ติดต่อบริการด้วยตั๋ว
ฉันขาดอะไรบางอย่างหรือไม่มีปัญหาเลยในการแยก AS และ TGS