Condividi tramite


Ticket di sessione

Invece di inviare le chiavi di sessione crittografate a entrambe le entità, il KDC invia sia le copie del client che le copie della chiave della sessione al client. La copia del client della chiave di sessione viene crittografata con la chiave master del client e pertanto non può essere decrittografata da altre entità. La copia del server della chiave di sessione è incorporata, insieme ai dati di autorizzazione sul client, in una struttura di dati denominata ticket. Il ticket è completamente crittografato con la chiave master del server e pertanto non può essere letto o modificato dal client o da qualsiasi altra entità che non ha accesso alla chiave master del server. È responsabilità del client archiviare il ticket in modo sicuro fino al contatto con il server.

Nota

Il KDC fornisce solo un servizio di concessione ticket. Il client e il server sono responsabili della protezione delle rispettive chiavi master.

 

Quando il client riceve la risposta del KDC, estrae il ticket e la propria copia della chiave di sessione, mettendo entrambi da parte in una cache sicura. Per stabilire una sessione sicura con il server, invia al server un messaggio costituito dal ticket, ancora crittografato con la chiave master del server e un messaggio di autenticazione crittografato con la chiave di sessione. Insieme, il ticket e il messaggio di autenticazione sono le credenziali del client per il server.

Quando il server riceve le credenziali da un client, decrittografa il ticket con la chiave master, estrae la chiave di sessione e usa la chiave di sessione per decrittografare il messaggio di autenticazione del client. Se si verifica tutto, il server sa che le credenziali del client sono state rilasciate dal KDC, un'autorità attendibile. Per l'autenticazione reciproca, il server risponde crittografando il timestamp dal messaggio di autenticazione del client usando la chiave di sessione. Questo messaggio crittografato viene inviato al client. Il client decrittografa quindi il messaggio. Se il messaggio restituito corrisponde al timestamp nel messaggio di autenticazione originale, il server viene autenticato.

Come vantaggio aggiunto, il server non deve archiviare le chiavi di sessione usate con i client. È responsabilità di ogni client gestire il ticket per il server nella cache dei ticket e presentare tale ticket ogni volta che accede al server. Ogni volta che il server riceve un ticket da un client, usa la chiave master per decrittografare il ticket ed estrarre la chiave di sessione. Quando il server non necessita più della chiave di sessione, la chiave viene eliminata.

Il client non deve accedere al KDC ogni volta che vuole accedere a questo particolare server. I biglietti possono essere riutilizzati. Come precauzione contro la possibilità di furto di biglietti, i biglietti hanno una scadenza, specificata dal KDC nella struttura del ticket. Per quanto tempo un ticket è valido dipende dai criteri Kerberos per l'area di autenticazione. In genere, i biglietti sono validi per non più di otto ore, circa la durata di una normale sessione di accesso. Quando l'utente in una workstation client si disconnette, la cache dei ticket client viene scaricata e tutti i ticket e le chiavi di sessione client vengono eliminati definitivamente.