Aller au contenu principal

3.2. L'échange d'authentification client/serveur

Vue d'ensemble

L'échange d'authentification client/serveur (Client/Server, CS) est utilisé lorsqu'un client souhaite s'authentifier auprès d'un serveur d'application au moyen d'un ticket de service obtenu auprès du TGS.

Flux des messages

  1. KRB_AP_REQ : le client envoie une demande d'authentification au serveur d'application
    • contient le ticket de service
    • contient l'authentificateur (chiffré avec la clé de session)
  2. KRB_AP_REP : réponse optionnelle d'authentification mutuelle du serveur

Le message KRB_AP_REQ

Composants

  • Ticket : chiffré dans la clé à long terme du serveur, contient :
    • l'identité du client
    • la clé de session
    • la période de validité
  • Authenticator : chiffré dans la clé de session, contient :
    • le nom du principal client
    • l'horodatage
    • la sous-clé de session optionnelle

Processus de génération

Le client construit l'authentificateur et l'associe au ticket pour l'envoi au serveur d'application.

Réception et vérification

Le serveur d'application :

  1. déchiffre le ticket avec sa clé à long terme
  2. extrait la clé de session
  3. déchiffre et valide l'authentificateur
  4. contrôle l'horodatage pour la protection contre la relecture

Le message KRB_AP_REP

Rôle

Assure l'authentification mutuelle en prouvant au client que le serveur possède la clé de session.

Génération

Le serveur crée une réponse chiffrée avec la clé de session, contenant l'horodatage issu de l'authentificateur du client.

Réception

Le client vérifie l'horodatage pour confirmer que le serveur détient la clé de session.

Utilisation de la clé de chiffrement

Après authentification réussie, la clé de session (ou la sous-clé de session optionnelle) peut servir à :

  • chiffrer les messages suivants
  • assurer l'intégrité
  • établir un canal sécurisé

Référence

Pour les détails techniques complets, voir RFC 4120, section 3.2.