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 la sessione (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 dalla sessione.

  3. Il client Kerberos verifica se il Kerberos dispone già di un ticket di concessione ticket (TGT) valido per il nome principale. Se il ticket non è disponibile, il client 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 Kerberos.

  5. Il client 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 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 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 Kerberos.

  8. Il client 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 alla sessione.

  9. Il client Kerberos utilizza il ticket di servizio per il daemon Telnet. Il daemon Telnet verifica le credenziali e a sua volta esegue la propria autenticazione con la sessione 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. La sessione esegue l'accesso all'host (telnserv.com).