Procedura di autenticazione di Kerberos
La comprensione della sequenza di eventi che si verifica durante l'autenticazione di Kerberos può essere utile per determinare le cause dei problemi di autenticazione.
- Un nome principale richiede un servizio che necessita dell'autenticazione di Kerberos. Ad esempio, un utente avvia Reflection (client Telnet) e richiede una connessione Telnet a un host denominato telnserv.com.
- Il server di applicazioni (in questo esempio il daemon Telnet dell'host) richiede l'autenticazione da parte di Reflection.
- Reflection verifica se Kerberos dispone già di un ticket di concessione ticket (TGT) valido per il nome principale. Se il ticket non è disponibile, il client Reflection Kerberos invia la richiesta di TGT al centro distribuzione chiave (KDC).
- Il KDC verifica la validità del nome principale e dell'area di autenticazione, quindi invia un TGT e una chiave della sessione al client Reflection Kerberos.
- Il client Reflection Kerberos richiede una password all'utente. Se questa corrisponde alla password utilizzata dal KDC per crittografare il TGT e la chiave della sessione, il client Reflection Kerberos può decrittografare il messaggio e ottenere la chiave della sessione (se la password non è corretta, l'utente riceve un messaggio di errore e l'autenticazione non viene completata).
- Il client Reflection Kerberos genera la richiesta per il servizio richiesto originariamente dall'utente (connessione Telnet a telnserv.com) e la invia al KDC. Questa richiesta contiene il TGT, un autenticatore che verifica l'identità del nome principale e il nome del servizio da utilizzare per il nome principale, tutte informazioni crittografate nella chiave della sessione.
- Il KDC esegue la decrittografia del TGT, quindi genera una nuova chiave per la sessione tra la workstation e il servizio (in questo esempio tra il client Telnet e il daemon Telnet su telnserv.com) e un ticket di servizio per la connessione Telnet a telnserv.com, crittografato con la chiave della sessione del server. Il KDC esegue la crittografia del messaggio con la chiave della sessione originale e lo restituisce al client Reflection Kerberos.
- Il client Reflection Kerberos utilizza la chiave della sessione originale per estrarre il ticket di servizio e decrittografare la nuova chiave della sessione e quindi restituisce il controllo a Reflection.
- Reflection presenta il ticket di servizio al daemon Telnet, che verifica le credenziali e a sua volta esegue la propria autenticazione con Reflection utilizzando le informazioni estratte dal ticket di servizio. Poiché il ticket di servizio è stato crittografato con la chiave segreta del servizio, soltanto il servizio per cui il ticket è stato generato può eseguire la decrittografia del ticket.
- Reflection esegue l'accesso all'host (telnserv.com).
|