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?
Jawaban:
Semua pertanyaan Anda adalah teori. Jadi saya akan menjawab dengan baik. AS dan TGS adalah server logis, dan karena itu mereka bisa secara teoritis dipisahkan. Tetapi dalam praktiknya belum ada alasan yang baik untuk menerapkannya pada mesin yang berbeda, sehingga tidak ada yang melakukannya dalam kehidupan nyata. Bahkan jaringan terbesar, tersibuk di dunia dalam hal otentikasi Kerberos tidak perlu memisahkan komponen logis dari KDC. Dalam implementasi Kerberos di kehidupan nyata, semua data yang dibutuhkan AS dan semua data yang dibutuhkan TGS disimpan dalam database yang sama. Ini bisa secara teoritis dipisahkan tetapi ada alasan hanya tidak baik untuk melakukannya dan akan melakukan apa pun kecuali sia-sia menyulitkan pelaksanaannya.
sumber