5.4. Specifications for the AS and TGS Exchanges (Specifiche per gli Scambi AS e TGS)
5.4. Specifications for the AS and TGS Exchanges (Specifiche per gli Scambi AS e TGS)
Panoramica
Questa sezione definisce le strutture dei messaggi per gli scambi Authentication Service (AS, servizio di autenticazione) e Ticket-Granting Service (TGS, servizio di rilascio ticket). Questi scambi condividono una struttura di messaggio comune con lievi variazioni.
5.4.1. Definizione di KRB_KDC_REQ
La struttura del messaggio di richiesta è condivisa tra AS e TGS:
Struttura comune
Sia KRB_AS_REQ che KRB_TGS_REQ utilizzano la struttura KDC-REQ contenente:
pvno- Numero di versione del protocollo (5)msg-type- Tipo di messaggio (AS-REQ o TGS-REQ)padata- Dati di pre-autenticazione (sequenza)req-body- Corpo della richiesta con parametri dettagliati
Corpo della richiesta (KDC-REQ-BODY)
Contiene:
kdc-options- Flag che indicano le opzioni richiestecname- Nome del client (opzionale in TGS-REQ)realm- Realm del serviziosname- Nome del servizio (opzionale)from- Ora di inizio richiesta (opzionale)till- Ora di fine richiestartime- Ora renew-till richiesta (opzionale)nonce- Valore casuale per protezione da replayetype- Tipi di crittografia richiesti (sequenza)addresses- Indirizzi del client (opzionale)enc-authorization-data- Dati di autorizzazione crittografati (opzionale)additional-tickets- Ticket aggiuntivi (opzionale, per TGS-REQ)
Flag delle opzioni KDC
Le opzioni disponibili includono:
- FORWARDABLE, FORWARDED
- PROXIABLE, PROXY
- ALLOW-POSTDATE, POSTDATED
- RENEWABLE, RENEWABLE-OK
- ENC-TKT-IN-SKEY
- RENEW, VALIDATE
- altre opzioni
5.4.2. Definizione di KRB_KDC_REP
La struttura del messaggio di risposta è condivisa tra AS e TGS:
Struttura comune
Sia KRB_AS_REP che KRB_TGS_REP utilizzano la struttura KDC-REP:
pvno- Numero di versione del protocollo (5)msg-type- Tipo di messaggio (AS-REP o TGS-REP)padata- Dati di pre-autenticazione (opzionale)crealm- Realm del clientcname- Nome del clientticket- Il ticket emessoenc-part- Parte crittografata della risposta
Parte crittografata (EncKDCRepPart)
Contiene (crittografata per il client):
key- Chiave di sessionelast-req- Informazioni sull'ultima richiestanonce- Dalla richiesta (per l'abbinamento)key-expiration- Scadenza della chiave del client (opzionale)flags- Flag del ticketauthtime- Momento dell'autenticazione inizialestarttime- Quando il ticket diventa valido (opzionale)endtime- Ora di scadenza del ticketrenew-till- Scadenza rinnovabile (opzionale)srealm- Realm del serviziosname- Nome del serviziocaddr- Indirizzi del client (opzionale)encrypted-pa-data- Dati di pre-auth crittografati (opzionale)
Requisiti di elaborazione
Elaborazione della richiesta
- Validare la struttura della richiesta
- Verificare la pre-autenticazione
- Controllare policy e vincoli
- Generare la chiave di sessione
- Emettere il ticket con i flag appropriati
- Crittografare la risposta per il client
Elaborazione della risposta
- Decifrare la risposta con la chiave appropriata
- Verificare che il nonce corrisponda
- Estrarre chiave di sessione e ticket
- Validare le proprietà del ticket
- Memorizzare per uso successivo
Differenze tra scambio AS e TGS
Scambio AS
- Il client si autentica con la chiave a lungo termine
- La pre-autenticazione è spesso richiesta
- Emette il TGT iniziale
Scambio TGS
- Il client si autentica con il TGT
- Utilizza la chiave di sessione dal TGT
- Emette ticket di servizio
- Supporta rinnovo e convalida dei ticket
Riferimento
Per le specifiche complete dei messaggi, fare riferimento alla Sezione 5.4 di RFC 4120.