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)
Panoramica
L'autenticazione user-to-user è una variante del protocollo Kerberos che consente a due client di autenticarsi reciprocamente senza che ciascuno debba mantenere una long-term key. È particolarmente utile negli scenari peer-to-peer.
Il problema
Nel modello Kerberos standard:
- i server mantengono long-term key
- i client si autenticano presso i server usando ticket cifrati con la long-term key del server
- ciò non si adatta bene all'autenticazione peer-to-peer in cui nessun peer vuole mantenere una long-term key
La soluzione
L'autenticazione user-to-user:
- un utente ottiene un TGT (Ticket-Granting Ticket)
- il secondo utente richiede un ticket per il primo utente
- il ticket è cifrato nella session key del TGT del primo utente (non in una long-term key)
- il secondo utente presenta questo ticket al primo utente per l'autenticazione
Flusso del protocollo
- l'utente A ottiene un TGT dall'AS (Authentication Server)
- l'utente B invia TGS_REQ al TGS:
- richiede un ticket per l'utente A
- include l'opzione ENC-TKT-IN-SKEY
- include il TGT dell'utente A
- il TGS emette un ticket cifrato nella session key del TGT dell'utente A
- l'utente B presenta il ticket all'utente A
- l'utente A può decifrare il ticket usando la session key del TGT
- entrambi gli utenti condividono la session key del nuovo ticket
Requisiti
- l'opzione ENC-TKT-IN-SKEY deve essere impostata nella richiesta TGS
- il TGT del primo utente deve essere fornito al TGS
- il primo utente deve avere il TGT disponibile per decifrare il ticket in arrivo
Casi d'uso
- applicazioni peer-to-peer
- comunicazione tra workstation
- scenari in cui nessuna delle parti mantiene long-term key per servizi peer
- servizi mobili o temporanei
Considerazioni di sicurezza
- entrambi gli utenti devono avere TGT validi
- la session key del TGT del primo utente è usata come chiave di cifratura
- fornisce autenticazione reciproca tra peer
- nessuna esposizione di long-term key per servizi peer
Riferimento
Per i dettagli tecnici completi, vedere RFC 4120 Section 3.7.