Aller au contenu principal

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ées
  • cname - Nom du client (optionnel dans TGS-REQ)
  • realm - Domaine du service
  • sname - Nom du service (optionnel)
  • from - Heure de début demandée (optionnelle)
  • till - Heure de fin demandée
  • rtime - Heure limite de renouvellement demandée (optionnelle)
  • nonce - Valeur aléatoire pour la protection contre la relecture
  • etype - 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 client
  • cname - Nom du client
  • ticket - 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 session
  • last-req - Informations sur la dernière requête
  • nonce - Issu de la requête (pour la corrélation)
  • key-expiration - Expiration de la clé du client (optionnel)
  • flags - Drapeaux du ticket
  • authtime - Heure de l'authentification initiale
  • starttime - Début de validité du ticket (optionnel)
  • endtime - Heure d'expiration du ticket
  • renew-till - Expiration en mode renouvelable (optionnel)
  • srealm - Domaine du service
  • sname - Nom du service
  • caddr - 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