3.7. User-to-User Authentication Exchanges (Scambi di Autenticazione User-to-User)
3.7. User-to-User Authentication Exchanges (Scambi di Autenticazione User-to-User)
L'autenticazione user-to-user fornisce un metodo per eseguire l'autenticazione quando il verificatore non ha accesso alla chiave di servizio a lungo termine. Questo potrebbe essere il caso quando si esegue un server (ad esempio, un server di finestre) come utente su una workstation. In tali casi, il server può avere accesso al TGT ottenuto quando l'utente ha effettuato il login alla workstation, ma poiché il server è in esecuzione come utente non privilegiato, potrebbe non avere accesso alle chiavi di sistema. Situazioni simili possono sorgere quando si eseguono applicazioni peer-to-peer.
Riepilogo
| Direzione del messaggio | Tipo di messaggio | Sezioni |
|---|---|---|
| 0. Messaggio dal server applicativo | Non specificato | - |
| 1. Client a Kerberos | KRB_TGS_REQ | 3.3 & 5.4.1 |
| 2. Kerberos a client | KRB_TGS_REP o KRB_ERROR | 3.3 & 5.4.2 / 5.9.1 |
| 3. Client a server applicativo | KRB_AP_REQ | 3.2 & 5.5.1 |
Per affrontare questo problema, il protocollo Kerberos consente al client di richiedere che il ticket emesso dal KDC sia crittografato utilizzando una chiave di sessione da un TGT emesso alla parte che verificherà l'autenticazione. Questo TGT deve essere ottenuto dal verificatore tramite uno scambio esterno al protocollo Kerberos, solitamente come parte del protocollo applicativo. Questo messaggio è mostrato nel riepilogo sopra come messaggio 0. Si noti che poiché il TGT è crittografato nella chiave segreta del KDC, non può essere utilizzato per l'autenticazione senza il possesso della corrispondente chiave segreta. Inoltre, poiché il verificatore non rivela la corrispondente chiave segreta, fornire una copia del TGT del verificatore non consente l'impersonificazione del verificatore.
Il messaggio 0 nella tabella sopra rappresenta una negoziazione specifica dell'applicazione tra il client e il server, alla fine della quale entrambi hanno determinato che utilizzeranno l'autenticazione user-to-user, e il client ha ottenuto il TGT del server.
Successivamente, il client include il TGT del server come ticket aggiuntivo nella sua richiesta KRB_TGS_REQ al KDC (messaggio 1 nella tabella sopra) e specifica l'opzione ENC-TKT-IN-SKEY nella sua richiesta.
Se validato secondo le istruzioni nella Sezione 3.3.3, il ticket applicativo restituito al client (messaggio 2 nella tabella sopra) sarà crittografato utilizzando la chiave di sessione dal ticket aggiuntivo e il client noterà questo quando utilizza o memorizza il ticket applicativo.
Quando contatta il server utilizzando un ticket ottenuto per l'autenticazione user-to-user (messaggio 3 nella tabella sopra), il client DEVE specificare il flag USE-SESSION-KEY nel campo ap-options. Questo indica al server applicativo di utilizzare la chiave di sessione associata al suo TGT per decifrare il ticket del server fornito nella richiesta applicativa.