Authentifizierungsdienstaustausch

Der Benutzer beginnt mit der Anmeldung beim Netzwerk, indem er einen Anmeldenamen und ein Kennwort eingibt. Der Kerberos-Client auf der Arbeitsstation des Benutzers konvertiert das Kennwort in einen Verschlüsselungsschlüssel und speichert das Ergebnis in einer Programmvariablen.

Der Client fordert dann Anmeldeinformationen für den Ticketgewährungsdienst (Ticket-Granting Service, TGS) des Schlüsselverteilungscenters (Key Distribution Center , KDC) an, indem er dem KDC-Authentifizierungsdienst eine Nachricht vom Typ KRB_AS_REQ (Kerberos-Authentifizierungsdienstanforderung) sendet. Der erste Teil dieser Nachricht identifiziert den benutzer und den TGS-Dienst, der angefordert wird. Der zweite Teil dieser Nachricht enthält Vorauthentifizierungsdaten, die beweisen sollen, dass der Benutzer das Kennwort kennt. Dies ist einfach eine Authentifikatornachricht, die mit dem vom Anmeldekennwort des Benutzers abgeleiteten master Schlüssel verschlüsselt wird.

Wenn das KDC KRB_AS_REQ empfängt, sucht es den Benutzer in seiner Datenbank, ruft den master Schlüssel des zugeordneten Benutzers ab, entschlüsselt die Vorauthentifizierungsdaten und wertet den Zeitstempel aus. Wenn der Zeitstempel gültig ist, kann das KDC sicher sein, dass die Vorauthentifizierungsdaten mit dem master Schlüssel des Benutzers verschlüsselt wurden und somit der Client original ist.

Nachdem das KDC die Identität des Benutzers überprüft hat, erstellt es Anmeldeinformationen, die der Client dem TGS wie folgt präsentieren kann:

  1. Das KDC erfindet einen Anmeldesitzungsschlüssel und verschlüsselt eine Kopie mit dem master Schlüssel des Benutzers.
  2. Das KDC bettet eine weitere Kopie des Anmeldesitzungsschlüssels und der Autorisierungsdaten des Benutzers in ein Ticket-Granting-Ticket (TGT) ein und verschlüsselt das TGT mit dem eigenen master Schlüssel des KDC.
  3. Das KDC sendet diese Anmeldeinformationen zurück an den Client, indem es mit einer Nachricht vom Typ KRB_AS_REP (Kerberos-Authentifizierungsdienstantwort) antwortet.
  4. Wenn der Client die Antwort empfängt, verwendet er den schlüssel, der vom Kennwort des Benutzers abgeleitet wurde, um den neuen Anmeldesitzungsschlüssel zu entschlüsseln.
  5. Der Client speichert den neuen Schlüssel in seinem Ticketcache.
  6. Der Client extrahiert das TGT aus der Nachricht und speichert diese ebenfalls in seinem Ticketcache.