Zum Hauptinhalt springen

3.7. User-to-User Authentication Exchanges (User-zu-User-Authentifizierungsaustausche)

3.7. User-to-User Authentication Exchanges (User-zu-User-Authentifizierungsaustausche)

Overview (Überblick)

Die User-to-User-Authentifizierung ist eine Variante des Kerberos-Protokolls, mit der sich zwei Clients gegenseitig authentifizieren können, ohne dass einer von beiden einen Langzeitschlüssel pflegen muss. Das ist besonders in Peer-to-Peer-Szenarien nützlich.

The Problem (Das Problem)

Im Standard-Kerberos-Modell:

  • Server besitzen Langzeitschlüssel
  • Clients authentifizieren sich gegenüber Servern mit Tickets, die mit dem Langzeitschlüssel des Servers verschlüsselt sind
  • Das passt schlecht zur Peer-to-Peer-Authentifizierung, wenn keiner der Peers einen Langzeitschlüssel pflegen will

The Solution (Die Lösung)

User-to-User-Authentifizierung:

  • Ein Benutzer erhält ein TGT
  • Der zweite Benutzer fordert ein Ticket für den ersten Benutzer an
  • Das Ticket wird mit dem Session Key aus dem TGT des ersten Benutzers verschlüsselt (nicht mit einem Langzeitschlüssel)
  • Der zweite Benutzer legt dieses Ticket dem ersten Benutzer zur Authentifizierung vor

Protocol Flow (Ablauf des Protokolls)

  1. Benutzer A erhält ein TGT vom AS
  2. Benutzer B sendet KRB_TGS_REQ an den TGS:
    • Fordert ein Ticket für Benutzer A an
    • setzt die Option ENC-TKT-IN-SKEY
    • fügt das TGT von Benutzer A bei
  3. Der TGS stellt ein Ticket aus, verschlüsselt mit dem Session Key des TGT von Benutzer A
  4. Benutzer B legt das Ticket Benutzer A vor
  5. Benutzer A kann das Ticket mit dem TGT-Session-Key entschlüsseln
  6. Beide Benutzer teilen den Session Key des neuen Tickets

Requirements (Anforderungen)

  • In der TGS-Anfrage muss die Option ENC-TKT-IN-SKEY gesetzt sein
  • Das TGT des ersten Benutzers muss dem TGS vorgelegt werden
  • Der erste Benutzer muss das TGT zur Entschlüsselung des eingehenden Tickets bereithalten

Use Cases (Anwendungsfälle)

  • Peer-to-Peer-Anwendungen
  • Kommunikation Workstation zu Workstation
  • Szenarien, in denen keine Partei Langzeitschlüssel für Peer-Dienste pflegt
  • Mobile oder temporäre Dienste

Security Considerations (Sicherheitsaspekte)

  • Beide Benutzer müssen gültige TGTs besitzen
  • Der Session Key aus dem TGT des ersten Benutzers dient als Verschlüsselungsschlüssel
  • Ermöglicht gegenseitige Authentifizierung zwischen Peers
  • Keine Offenlegung von Langzeitschlüsseln für Peer-Dienste

Reference (Referenz)

Vollständige technische Details finden sich in RFC 4120 Abschnitt 3.7.