Zum Hauptinhalt springen

3.1. The Authentication Service Exchange (Der Authentication Service-Austausch)

3.1. The Authentication Service Exchange (Der Authentication Service-Austausch)

Zusammenfassung

NachrichtenrichtungNachrichtentypAbschnitt
1. Client zu KerberosKRB_AS_REQ5.4.1
2. Kerberos zu ClientKRB_AS_REP oder KRB_ERROR5.4.2, 5.9.1

Der Authentication Service (AS)-Austausch zwischen dem Client und dem Kerberos Authentication Server wird von einem Client initiiert, wenn er Authentifizierungs-Credentials für einen bestimmten Server erhalten möchte, aber derzeit keine Credentials besitzt. In seiner Grundform wird der geheime Schlüssel des Clients für Verschlüsselung und Entschlüsselung verwendet. Dieser Austausch wird typischerweise bei der Initiierung einer Login-Sitzung verwendet, um Credentials für einen Ticket-Granting Server zu erhalten, die anschließend verwendet werden, um Credentials für andere Server zu erhalten (siehe Abschnitt 3.3), ohne dass der geheime Schlüssel des Clients weiter verwendet werden muss. Dieser Austausch wird auch verwendet, um Credentials für Dienste anzufordern, die nicht durch den Ticket-Granting Service vermittelt werden dürfen, sondern vielmehr Kenntnis des geheimen Schlüssels eines Principals erfordern, wie z.B. der Passwort-Änderungsdienst (der Passwort-Änderungsdienst lehnt Anfragen ab, es sei denn, der Anfragende kann nachweisen, dass er das alte Passwort des Benutzers kennt; diese Kenntnisanforderung verhindert unbefugte Passwortänderungen durch jemanden, der zu einer unbeaufsichtigten Sitzung geht).

Dieser Austausch bietet für sich allein keine Gewähr für die Identität des Benutzers. Um einen Benutzer zu authentifizieren, der sich bei einem lokalen System anmeldet, können die im AS-Austausch erhaltenen Credentials zunächst in einem TGS-Austausch verwendet werden, um Credentials für einen lokalen Server zu erhalten; diese Credentials müssen dann von einem lokalen Server durch erfolgreichen Abschluss des Client/Server-Austauschs verifiziert werden.

Der AS-Austausch besteht aus zwei Nachrichten: KRB_AS_REQ vom Client zu Kerberos und KRB_AS_REP oder KRB_ERROR als Antwort. Die Formate für diese Nachrichten sind in den Abschnitten 5.4.1, 5.4.2 und 5.9.1 beschrieben.

In der KRB_AS_REQ-Nachricht identifiziert der Client den Server, für den er Credentials wünscht. Die Antwort enthält ein Ticket für den Server (verschlüsselt mit dem Langzeitschlüssel des Servers, so dass der Client es nicht lesen oder ändern kann) und Credentials, die mit dem Langzeitschlüssel des Clients verschlüsselt sind, so dass nur der Client in der Lage ist, die Credentials zu entschlüsseln. Die Credentials enthalten den vom KDC generierten Session Key, der von Client und Server geteilt werden soll, zusammen mit anderen Informationen. Um den Session Key zu erhalten, muss der Client seinen geheimen Schlüssel verwenden, um die Credentials zu entschlüsseln.