Passa al contenuto principale

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

  1. l'utente A ottiene un TGT dall'AS (Authentication Server)
  2. 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
  3. il TGS emette un ticket cifrato nella session key del TGT dell'utente A
  4. l'utente B presenta il ticket all'utente A
  5. l'utente A può decifrare il ticket usando la session key del TGT
  6. 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.