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.

  1. 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.

  2. Il server di applicazioni (in questo esempio il daemon Telnet dell'host) richiede l'autenticazione da parte di Reflection.

  3. 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).

  4. 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.

  5. 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).

  6. 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.

  7. 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.

  8. 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.

  9. Reflection presenta il ticket di servizio al daemon Telnet. Il daemon Telnet 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.

  10. Reflection esegue l'accesso all'host (telnserv.com).