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?