Aller au contenu principal

3.7. User-to-User Authentication Exchanges (Échanges d'Authentification Utilisateur-à-Utilisateur)

3.7. Échanges d'Authentification Utilisateur-à-Utilisateur

L'authentification utilisateur-à-utilisateur fournit une méthode pour effectuer l'authentification lorsque le vérificateur n'a pas accès à une clé de service à long terme. Cela pourrait être le cas lors de l'exécution d'un serveur (par exemple, un serveur de fenêtres) en tant qu'utilisateur sur une station de travail. Dans de tels cas, le serveur peut avoir accès au TGT obtenu lorsque l'utilisateur s'est connecté à la station de travail, mais parce que le serveur fonctionne comme un utilisateur non privilégié, il pourrait ne pas avoir accès aux clés système. Des situations similaires peuvent survenir lors de l'exécution d'applications pair-à-pair.

Résumé

Direction du messageType de messageSections
0. Message du serveur d'applicationNon spécifié
1. Client vers KerberosKRB_TGS_REQ3.3 & 5.4.1
2. Kerberos vers clientKRB_TGS_REP ou KRB_ERROR3.3 & 5.4.2, 5.9.1
3. Client vers serveur d'applicationKRB_AP_REQ3.2 & 5.5.1

Pour résoudre ce problème, le protocole Kerberos permet au client de demander que le ticket émis par le KDC soit chiffré en utilisant une clé de session d'un TGT émis à la partie qui vérifiera l'authentification. Ce TGT doit être obtenu du vérificateur par un échange externe au protocole Kerberos, généralement dans le cadre du protocole d'application. Ce message est montré dans le résumé ci-dessus comme message 0. Notez que parce que le TGT est chiffré dans la clé secrète du KDC, il ne peut pas être utilisé pour l'authentification sans possession de la clé secrète correspondante. De plus, parce que le vérificateur ne révèle pas la clé secrète correspondante, fournir une copie du TGT du vérificateur ne permet pas l'usurpation d'identité du vérificateur.

Le message 0 dans le tableau ci-dessus représente une négociation spécifique à l'application entre le client et le serveur, à la fin de laquelle les deux ont déterminé qu'ils utiliseront l'authentification utilisateur-à-utilisateur, et le client a obtenu le TGT du serveur.

Ensuite, le client inclut le TGT du serveur comme ticket supplémentaire dans sa demande KRB_TGS_REQ au KDC (message 1 dans le tableau ci-dessus) et spécifie l'option ENC-TKT-IN-SKEY dans sa demande.

Si validé selon les instructions de la Section 3.3.3, le ticket d'application retourné au client (message 2 dans le tableau ci-dessus) sera chiffré en utilisant la clé de session du ticket supplémentaire et le client notera cela lorsqu'il utilise ou stocke le ticket d'application.

Lors du contact avec le serveur en utilisant un ticket obtenu pour l'authentification utilisateur-à-utilisateur (message 3 dans le tableau ci-dessus), le client DOIT spécifier l'indicateur USE-SESSION-KEY dans le champ ap-options. Cela indique au serveur d'application d'utiliser la clé de session associée à son TGT pour déchiffrer le ticket de serveur fourni dans la demande d'application.