Kerberos: Tách AS và TGS


9

Trong Kerberos, Máy chủ xác thực (AS) và Máy chủ cấp vé (TGS) thường được triển khai trên cùng một máy chủ. Máy này được gọi là Trung tâm phân phối khóa (KDC).

Chắc chắn, sẽ hợp lý khi triển khai các dịch vụ này trên cùng một máy vật lý, vì trong các mạng nhỏ và vừa sẽ là quá mức cần thiết để tách hai dịch vụ này. Ngoài ra, tôi có một nguồn tương đối đáng tin cậy, nói (dịch):

TGS và AS phải truy cập cùng một DB => không có ý nghĩa gì khi triển khai TGS và AS trên các máy khác nhau

Tuy nhiên tôi không thấy cơ sở dữ liệu nào phải được chia sẻ giữa hai.

Đây là ý tưởng của tôi, làm thế nào tôi tách AS và TGS, không có cơ sở dữ liệu được chia sẻ:

  • Khi AS và TGS được tách ra, chúng có một Bí mật tổng thể khác
  • AS có cơ sở dữ liệu với tất cả người dùng với bí mật chính tương ứng của họ (được sử dụng khi Người dùng đăng nhập, để mã hóa khóa phiên), cũng như bí mật chính của TGS (để mã hóa TGT được yêu cầu).
  • TGS có cơ sở dữ liệu, cho phép xác định người dùng nào được phép sử dụng dịch vụ nào (ACL, danh sách hủy bỏ, ...), cũng như cơ sở dữ liệu với tất cả các dịch vụ có bí mật chính tương ứng (để mã hóa Vé).

Khi người dùng muốn sử dụng một dịch vụ (đơn giản hóa):

  • Xác thực tại AS
  • Nhận một vé cấp vé (TGT), được mã hóa bằng TGS Master Secret, cũng như khóa phiên, được mã hóa với bí mật chính của người dùng.
  • Liên lạc với TGS với TGT
  • Nhận một vé, được mã hóa với Master Secret của dịch vụ
  • Liên hệ với Dịch vụ với Vé

Tôi có đang thiếu thứ gì đó không, hay thực sự không có vấn đề gì cả khi tách AS và TGS?


1
Có vẻ như bạn đang đi quá sâu vào bên trong Kerberos. Cách mở rộng quy mô thông thường là chỉ cần thêm nhiều KDC hơn, vì vậy tôi không thực sự chắc chắn những gì bạn đang cố gắng thực hiện.
Michael Hampton

1
Phải - bạn thực sự đang phải đối mặt với vấn đề gì, mà bạn đang cố gắng giải quyết?
mfinni

1
Tôi không cố gắng giải quyết bất kỳ vấn đề cụ thể nào. Tôi chỉ đang cố gắng để hiểu nội bộ của Kerberos (cho một kỳ thi) mà không thực sự muốn sử dụng nó vào lúc này. Câu hỏi hoàn toàn là một lý thuyết, tôi chỉ muốn biết liệu tôi đã hiểu điều gì sai hay nếu trích dẫn trong câu hỏi của tôi không hoàn toàn đúng.
Misch

Câu trả lời:


4

Câu hỏi của bạn là tất cả lý thuyết. Vì vậy, tôi sẽ trả lời bằng hiện vật. AS và TGS là các máy chủ logic và về mặt lý thuyết chúng có thể được tách ra. Nhưng trong thực tế, không có lý do chính đáng để thực hiện chúng trên các máy riêng biệt, và vì vậy không ai làm điều đó trong cuộc sống thực. Ngay cả các mạng lớn nhất, bận rộn nhất trên thế giới về xác thực Kerberos cũng không cần phải tách ra các thành phần logic của KDC. Trong các triển khai thực tế của Kerberos, tất cả dữ liệu mà AS cần và tất cả dữ liệu mà TGS cần đều được lưu trữ trong cùng một cơ sở dữ liệu. Về mặt lý thuyết nó có thể được tách ra nhưng không có lý do chính đáng nào để làm như vậy và sẽ không làm gì ngoài việc làm phức tạp hóa việc thực hiện.


1
Tôi chỉ tìm thấy một vấn đề khác khi tách AS và TGS: Không chỉ có thể nhận TGT từ AS, mà bạn còn có thể yêu cầu một vé cho bất kỳ dịch vụ nào khác (ví dụ: nếu bạn biết rằng bạn sẽ chỉ cần một vé này, vì vậy không cần đường vòng qua TGT). Điều này có nghĩa là AS cũng cần tất cả dữ liệu mà tôi giả sử chỉ có nhu cầu TGS.
Misch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.