5.4. Spécifications des échanges AS et TGS
5.4. Spécifications des échanges AS et TGS
Vue d'ensemble
Cette section définit les structures de messages pour les échanges Authentication Service (AS) et Ticket-Granting Service (TGS). Ces échanges partagent une structure de message commune avec de légères variations.
5.4.1. Définition de KRB_KDC_REQ
La structure du message de requête est commune à l'AS et au TGS :
Structure commune
KRB_AS_REQ et KRB_TGS_REQ utilisent tous deux la structure KDC-REQ, qui contient :
pvno- Numéro de version du protocole (5)msg-type- Type de message (AS-REQ ou TGS-REQ)padata- Données de pré-authentification (séquence)req-body- Corps de la requête avec les paramètres détaillés
Corps de la requête (KDC-REQ-BODY)
Contient :
kdc-options- Drapeaux indiquant les options demandéescname- Nom du client (optionnel dans TGS-REQ)realm- Domaine du servicesname- Nom du service (optionnel)from- Heure de début demandée (optionnelle)till- Heure de fin demandéertime- Heure limite de renouvellement demandée (optionnelle)nonce- Valeur aléatoire pour la protection contre la relectureetype- Types de chiffrement demandés (séquence)addresses- Adresses du client (optionnel)enc-authorization-data- Données d'autorisation chiffrées (optionnel)additional-tickets- Tickets supplémentaires (optionnel, pour TGS-REQ)
Drapeaux d'options KDC
Les options disponibles incluent notamment :
- FORWARDABLE, FORWARDED
- PROXIABLE, PROXY
- ALLOW-POSTDATE, POSTDATED
- RENEWABLE, RENEWABLE-OK
- ENC-TKT-IN-SKEY
- RENEW, VALIDATE
- Et d'autres
5.4.2. Définition de KRB_KDC_REP
La structure du message de réponse est commune à l'AS et au TGS :
Structure commune
KRB_AS_REP et KRB_TGS_REP utilisent tous deux la structure KDC-REP :
pvno- Numéro de version du protocole (5)msg-type- Type de message (AS-REP ou TGS-REP)padata- Données de pré-authentification (optionnel)crealm- Domaine du clientcname- Nom du clientticket- Le ticket délivréenc-part- Partie chiffrée de la réponse
Partie chiffrée (EncKDCRepPart)
Contient (chiffrée pour le client) :
key- Clé de sessionlast-req- Informations sur la dernière requêtenonce- Issu de la requête (pour la corrélation)key-expiration- Expiration de la clé du client (optionnel)flags- Drapeaux du ticketauthtime- Heure de l'authentification initialestarttime- Début de validité du ticket (optionnel)endtime- Heure d'expiration du ticketrenew-till- Expiration en mode renouvelable (optionnel)srealm- Domaine du servicesname- Nom du servicecaddr- Adresses du client (optionnel)encrypted-pa-data- Données de pré-auth chiffrées (optionnel)
Exigences de traitement
Traitement des requêtes
- Valider la structure de la requête
- Vérifier la pré-authentification
- Contrôler la politique et les contraintes
- Générer la clé de session
- Délivrer le ticket avec les drapeaux appropriés
- Chiffrer la réponse pour le client
Traitement des réponses
- Déchiffrer la réponse avec la clé appropriée
- Vérifier que le nonce correspond
- Extraire la clé de session et le ticket
- Valider les propriétés du ticket
- Conserver pour une utilisation ultérieure
Différences entre AS et TGS
Échange AS
- Le client s'authentifie avec une clé à long terme
- La pré-authentification est souvent requise
- Délivre le TGT initial
Échange TGS
- Le client s'authentifie avec le TGT
- Utilise la clé de session du TGT
- Délivre les tickets de service
- Prend en charge le renouvellement et la validation des tickets
Référence
Pour les spécifications complètes des messages, se reporter à RFC 4120, section 5.4.
修正 5-4-as-tgs-specifications.md:将误译为法语的字段名 drapeaux 改回 flags。
<|tool▁calls▁begin|><|tool▁call▁begin|> StrReplace