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)

User-zu-User-Authentifizierung (User-to-User authentication) bietet ein Verfahren zur Authentifizierung, wenn der Verifizierer keinen Zugriff auf den Langzeitschlüssel des Dienstes hat. Das kann der Fall sein, wenn ein Server (z. B. ein Fensterserver) auf einer Workstation als Benutzer läuft. In solchen Fällen hat der Server möglicherweise Zugriff auf das TGT, das beim Anmelden des Benutzers an der Workstation bezogen wurde, aber weil der Server mit eingeschränkten Benutzerrechten läuft, hat er möglicherweise keinen Zugriff auf Systemschlüssel. Ähnliche Situationen können bei Peer-to-Peer-Anwendungen auftreten.

Zusammenfassung

NachrichtenrichtungNachrichtentypAbschnitte
0. Nachricht vom AnwendungsserverNicht spezifiziert
1. Client zu KerberosKRB_TGS_REQ3.3 & 5.4.1
2. Kerberos zu ClientKRB_TGS_REP oder KRB_ERROR3.3 & 5.4.2, 5.9.1
3. Client zu AnwendungsserverKRB_AP_REQ3.2 & 5.5.1

Um dieses Problem zu adressieren, erlaubt das Kerberos-Protokoll dem Client, anzufordern, dass das vom KDC ausgestellte Ticket mit einem Session Key aus einem TGT verschlüsselt wird, das der Partei ausgestellt wurde, die die Authentifizierung verifizieren wird. Dieses TGT muss vom Verifizierer durch einen außerhalb des Kerberos-Protokolls liegenden Austausch bezogen werden, üblicherweise als Teil des Anwendungsprotokolls. Diese Nachricht ist in der obigen Zusammenfassung als Nachricht 0 dargestellt. Da das TGT im Geheimnis des KDC verschlüsselt ist, kann es ohne Besitz des zugehörigen Geheimnisses nicht zur Authentifizierung verwendet werden. Weil der Verifizierer das zugehörige Geheimnis nicht preisgibt, erlaubt die Bereitstellung einer Kopie des TGT des Verifizierers keine Identitätsannahme (Impersonation) des Verifizierers.

Nachricht 0 in der obigen Tabelle steht für eine anwendungsspezifische Aushandlung zwischen Client und Server, an deren Ende beide festgelegt haben, dass sie User-zu-User-Authentifizierung verwenden, und der Client das TGT des Servers bezogen hat.

Als Nächstes fügt der Client das TGT des Servers als zusätzliches Ticket in seine KRB_TGS_REQ-Anfrage an den KDC ein (Nachricht 1 in der obigen Tabelle) und setzt die Option ENC-TKT-IN-SKEY in seiner Anfrage.

Wird sie gemäß den Anweisungen in Abschnitt 3.3.3 validiert, wird das an den Client zurückgegebene Anwendungsticket (Nachricht 2 in der obigen Tabelle) mit dem Session Key aus dem zusätzlichen Ticket verschlüsselt, und der Client wird dies bei Verwendung oder Speicherung des Anwendungstickets berücksichtigen.

Bei der Kontaktaufnahme mit dem Server unter Verwendung eines für User-zu-User-Authentifizierung bezogenen Tickets (Nachricht 3 in der obigen Tabelle) MUSS der Client das Flag USE-SESSION-KEY im Feld ap-options setzen. Damit wird dem Anwendungsserver mitgeteilt, er solle den mit seinem TGT verknüpften Session Key verwenden, um das in der Anwendungsanfrage bereitgestellte Server-Ticket zu entschlüsseln.