Freigeben über


Ticket-Granting-Dienstaustausch

Nachdem ein Ticket-Granting-Ticket (TGT) und ein Sitzungsschlüssel für den Client eingerichtet wurden, kann der Client einen separaten Sitzungsschlüssel und ein separates Ticket für den Dienst anfordern.

So fordern Sie ein Ticket für einen anderen Dienst an

  1. Der Kerberos-Client auf der Arbeitsstation des Benutzers fordert Anmeldeinformationen für den Dienst an, indem er eine Nachricht vom Typ KRB_TGS_REQ (Kerberos Ticket-Granting Service Request) an das Key Distribution Center (KDC) sendet. Diese Nachricht besteht aus der Identität des Diensts, für den der Client Anmeldeinformationen anfordert, einer Authentifikatornachricht, die mit dem neuen Anmeldesitzungsschlüssel des Benutzers verschlüsselt ist, und der TGT, die vom Authentifizierungsdienst exchange abgerufen wurde.
  2. Wenn das KDC eine KRB_TGS_REQ empfängt, entschlüsselt das KDC das TGT mit seinem geheimen Schlüssel und extrahiert den Anmeldesitzungsschlüssel des Benutzers.
  3. Das KDC verwendet den Anmeldesitzungsschlüssel , um die Authentifikatormeldung des Benutzers zu entschlüsseln und auszuwerten. Wenn der Authentifikator den Test besteht, extrahiert das KDC die Autorisierungsdaten des Benutzers aus dem TGT und erfindet einen Sitzungsschlüssel für den Benutzer, der für den angeforderten Server freigegeben werden soll.
  4. Das KDC verschlüsselt eine Kopie des Dienstsitzungsschlüssels mit dem Anmeldesitzungsschlüssel des Benutzers.
  5. Das KDC bettet eine weitere Kopie des Dienstsitzungsschlüssels zusammen mit den Autorisierungsdaten des Benutzers in ein Ticket ein und verschlüsselt das Ticket mit dem master Schlüssel des Servers.
  6. Das KDC sendet diese Anmeldeinformationen zurück an den Client, indem es mit einer Nachricht vom Typ KRB_TGS_REP (Kerberos Ticket-Granting Service Reply) antwortet.
  7. Wenn der Client die Antwort empfängt, entschlüsselt er den Dienstsitzungsschlüssel mit dem Anmeldesitzungsschlüssel des Benutzers und speichert den Dienstsitzungsschlüssel im Ticketcache.
  8. Der Client extrahiert das Ticket für den Server und speichert es in seinem Ticketcache.