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)
- Benutzer A erhält ein TGT vom AS
- Benutzer B sendet
KRB_TGS_REQan 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
- Der TGS stellt ein Ticket aus, verschlüsselt mit dem Session Key des TGT von Benutzer A
- Benutzer B legt das Ticket Benutzer A vor
- Benutzer A kann das Ticket mit dem TGT-Session-Key entschlüsseln
- Beide Benutzer teilen den Session Key des neuen Tickets
Requirements (Anforderungen)
- In der TGS-Anfrage muss die Option
ENC-TKT-IN-SKEYgesetzt 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.