Di Kerberos, Server Otentikasi (AS) dan Server Pemberian Tiket (TGS) umumnya diterapkan pada server yang sama. Mesin ini disebut Key Distribution Center (KDC).
Tentunya, masuk akal untuk mengimplementasikan layanan ini pada mesin fisik yang sama, karena pada jaringan kecil dan menengah akan sulit untuk memisahkan kedua layanan ini. Selain itu, saya memiliki sumber yang relatif dapat diandalkan, yang mengatakan (diterjemahkan):
TGS dan AS harus mengakses DB yang sama => tidak masuk akal untuk mengimplementasikan TGS dan AS pada mesin yang berbeda
Namun saya tidak melihat database mana yang harus dibagikan di antara keduanya.
Ini adalah ide saya, bagaimana saya akan memisahkan AS dan TGS, tidak ada database bersama:
- Karena AS dan TGS terpisah, mereka memiliki Rahasia Master yang berbeda
- AS memiliki database dengan semua pengguna dengan rahasia utama masing-masing (digunakan saat Pengguna masuk, untuk mengenkripsi kunci sesi), serta rahasia utama TGS (untuk mengenkripsi TGT yang diminta).
- TGS memiliki basis data, yang memungkinkannya menentukan pengguna mana yang diizinkan untuk menggunakan layanan mana (ACL, daftar pencabutan, ...), serta basis data dengan semua layanan dengan rahasia utama masing-masing (untuk mengenkripsi Tiket).
Saat pengguna ingin menggunakan layanan (disederhanakan):
- Otentikasi di AS
- Dapatkan Tiket Pemberian Tiket (TGT), dienkripsi dengan Rahasia Utama TGS, serta kunci sesi, dienkripsi dengan rahasia utama pengguna.
- Hubungi TGS dengan TGT
- Dapatkan Tiket, dienkripsi dengan Rahasia Utama Layanan
- Hubungi Layanan dengan Tiket
Apakah saya kehilangan sesuatu, atau benar-benar tidak ada masalah sama sekali memisahkan AS dan TGS?