Kerberos: การแยก AS และ TGS


9

ใน 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


1
ดูเหมือนว่าคุณอยู่ลึกเข้าไปใน Kerberos internals วิธีการปรับขนาดปกติคือเพียงแค่เพิ่ม KDC เพิ่มเติมดังนั้นฉันไม่แน่ใจว่าคุณกำลังทำอะไร
Michael Hampton

1
ถูกต้อง - คุณประสบปัญหาอะไรจริง ๆ แล้วคุณกำลังพยายามแก้ปัญหา?
mfinni

1
ฉันไม่ได้พยายามที่จะแก้ปัญหาที่เป็นรูปธรรม ฉันแค่พยายามทำความเข้าใจกับ Kerberos internals (สำหรับการสอบ) โดยไม่ต้องการใช้มันในตอนนี้ คำถามเป็นคำถามทางทฤษฎีล้วนๆฉันแค่อยากจะรู้ว่าฉันเข้าใจอะไรผิดหรือถ้าข้อความในคำถามของฉันไม่ถูกต้องทั้งหมด
Misch

คำตอบ:


4

คำถามของคุณคือทฤษฎีทั้งหมด ดังนั้นฉันจะตอบในรูปแบบ AS และ TGS เป็นเซิร์ฟเวอร์แบบลอจิคัลและอาจแยกออกจากกันในทางทฤษฎี แต่ในทางปฏิบัติไม่มีเหตุผลที่ดีที่จะนำไปใช้กับเครื่องจักรแยกต่างหากดังนั้นจึงไม่มีใครทำเช่นนั้นในชีวิตจริง แม้แต่เครือข่ายที่ใหญ่ที่สุดและคึกคักที่สุดในโลกในแง่ของการรับรองความถูกต้องของ Kerberos ก็ไม่จำเป็นต้องแยกองค์ประกอบทางตรรกะของ KDCs ออก ในการใช้งานจริงของ Kerberos ข้อมูลทั้งหมดที่ AS ต้องการและข้อมูลทั้งหมดที่ TGS ต้องการนั้นจะถูกเก็บไว้ในฐานข้อมูลเดียวกัน มันสามารถแยกทางทฤษฎีได้ แต่ไม่มีเหตุผลที่ดีที่จะทำเช่นนั้นและจะไม่ทำอะไรเลย


1
ฉันเพิ่งพบปัญหาอื่นเมื่อแยก AS และ TGS: ไม่เพียง แต่จะได้รับ TGT จาก AS เท่านั้น แต่คุณยังสามารถขอตั๋วสำหรับบริการอื่น ๆ ได้ (เช่นหากคุณรู้ว่าคุณจะต้องใช้ตั๋วนี้เพียงตั๋วเดียวดังนั้น ไม่ต้องการอ้อมผ่าน TGT) ซึ่งหมายความว่า AS ต้องการข้อมูลทั้งหมดที่ฉันคาดการณ์ไว้เฉพาะความต้องการ TGS เท่านั้น
Misch
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.