Échange de service d'authentification
L’utilisateur commence à se connecter au réseau en tapant un nom d’ouverture de session et un mot de passe. Le client Kerberos sur la station de travail de l’utilisateur convertit le mot de passe en clé de chiffrement et enregistre le résultat dans une variable de programme.
Le client demande ensuite des informations d’identification pour le service d’octroi de tickets (TGS) du centre de distribution de clés (KDC) en envoyant au service d’authentification du KDC un message de type KRB_AS_REQ (demande de service d’authentification Kerberos). La première partie de ce message identifie l’utilisateur et le service TGS demandés. La deuxième partie de ce message contient des données de pré-authentification destinées à prouver que l’utilisateur connaît le mot de passe. Il s’agit simplement d’un message d’authentificateur chiffré avec la clé master dérivée du mot de passe de connexion de l’utilisateur.
Lorsque le KDC reçoit KRB_AS_REQ, il recherche l’utilisateur dans sa base de données, obtient la clé master de l’utilisateur associé, déchiffre les données de pré-authentification et évalue l’horodatage à l’intérieur. Si l’horodatage est valide, le KDC peut être assuré que les données de pré-authentification ont été chiffrées avec la clé master de l’utilisateur et que le client est donc authentique.
Une fois que le KDC a vérifié l’identité de l’utilisateur, il crée les informations d’identification que le client peut présenter au TGS, comme suit :
- Le KDC invente une clé de session d’ouverture de session et chiffre une copie avec la clé master de l’utilisateur.
- Le KDC incorpore une autre copie de la clé de session d’ouverture de session et des données d’autorisation de l’utilisateur dans un ticket d’octroi de ticket (TGT) et chiffre le TGT avec la propre clé de master du KDC.
- Le KDC renvoie ces informations d’identification au client en répondant avec un message de type KRB_AS_REP (Réponse du service d’authentification Kerberos).
- Lorsque le client reçoit la réponse, il utilise la clé dérivée du mot de passe de l’utilisateur pour déchiffrer la nouvelle clé de session de connexion.
- Le client stocke la nouvelle clé dans son cache de tickets.
- Le client extrait le TGT du message et le stocke également dans son cache de tickets.