Aller au contenu principal

3.7. Les échanges d'authentification utilisateur à utilisateur

Vue d'ensemble

L'authentification utilisateur à utilisateur est une variante du protocole Kerberos qui permet à deux clients de s'authentifier mutuellement sans qu'aucun des deux ait besoin de conserver une clé à long terme. C'est particulièrement utile dans les scénarios pair à pair.

Le problème

Dans le modèle Kerberos classique :

  • les serveurs conservent des clés à long terme
  • les clients s'authentifient auprès des serveurs avec des tickets chiffrés dans la clé à long terme du serveur
  • cela convient mal à l'authentification pair à pair lorsqu'aucun pair ne souhaite maintenir une clé à long terme

La solution

L'authentification utilisateur à utilisateur :

  • un utilisateur obtient un TGT
  • le second utilisateur demande un ticket pour le premier
  • le ticket est chiffré dans la clé de session du TGT du premier utilisateur (pas dans une clé à long terme)
  • le second utilisateur présente ce ticket au premier pour l'authentification

Déroulement du protocole

  1. L'utilisateur A obtient un TGT auprès de l'AS
  2. L'utilisateur B envoie un TGS_REQ au TGS :
    • demande un ticket pour l'utilisateur A
    • inclut l'option ENC-TKT-IN-SKEY
    • inclut le TGT de l'utilisateur A
  3. Le TGS émet un ticket chiffré dans la clé de session du TGT de l'utilisateur A
  4. L'utilisateur B présente le ticket à l'utilisateur A
  5. L'utilisateur A peut déchiffrer le ticket avec la clé de session du TGT
  6. Les deux utilisateurs partagent la clé de session du nouveau ticket

Exigences

  • l'option ENC-TKT-IN-SKEY doit être positionnée dans la demande TGS
  • le TGT du premier utilisateur doit être fourni au TGS
  • le premier utilisateur doit disposer du TGT pour déchiffrer le ticket entrant

Cas d'usage

  • applications pair à pair
  • communications poste à poste
  • situations où aucune partie ne maintient de clés à long terme
  • services mobiles ou temporaires

Considérations de sécurité

  • les deux utilisateurs doivent avoir des TGT valides
  • la clé de session du TGT du premier utilisateur sert de clé de chiffrement
  • assure l'authentification mutuelle entre pairs
  • pas d'exposition de clé à long terme pour les services pairs

Référence

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