Passa al contenuto principale

3.6. The KRB_CRED Exchange (Lo scambio KRB_CRED)

3.6. The KRB_CRED Exchange (Lo scambio KRB_CRED)

Panoramica

Il messaggio KRB_CRED serve a inoltrare credenziali Kerberos (ticket e session key) da un principal a un altro. Abilita scenari di delega in cui un servizio deve agire per conto di un client.

Scopo

KRB_CRED si usa per:

  • inoltro delle credenziali (credential forwarding)
  • delega dei diritti di autenticazione
  • passaggio di ticket tra sistemi
  • supporto alla memorizzazione in cache delle credenziali (credential caching)

Struttura del messaggio

KRB_CRED contiene:

  • uno o più ticket
  • le session key corrispondenti e i metadati (cifrati)
  • timestamp opzionale
  • indirizzi del mittente e del destinatario opzionali

Generazione del messaggio KRB_CRED

Mittente:

  1. seleziona i ticket e le credenziali da inoltrare
  2. cifra le informazioni sensibili (session key, ecc.)
  3. impacchetta i ticket con le informazioni sulle credenziali cifrate
  4. trasmette il messaggio KRB_CRED

Ricezione del messaggio KRB_CRED

Destinatario:

  1. decifra le informazioni sulle credenziali
  2. verifica il timestamp se presente
  3. memorizza ticket e session key per uso successivo
  4. può usare le credenziali inoltrate per autenticarsi ai servizi

Considerazioni di sicurezza

  • le credenziali dovrebbero essere inoltrate solo su canali sicuri
  • il destinatario deve essere attendibile nell'uso appropriato delle credenziali
  • le credenziali inoltrate possono avere capacità limitate (vedere i ticket flags)
  • il timestamp offre una certa protezione da replay

Casi d'uso

  • Inoltro dell'autenticazione (authentication forwarding): l'utente accede a un sistema remoto, le credenziali sono inoltrate per uso locale
  • Delega di servizio (service delegation): un server web riceve credenziali per accedere al database di backend per conto dell'utente
  • Memorizzazione in cache delle credenziali (credential caching): conservazione delle credenziali per uso successivo

Riferimento

Per i dettagli tecnici completi, vedere RFC 4120 Section 3.6.