Share via


Sitzungstickets

Anstatt die verschlüsselten Sitzungsschlüssel an beide Prinzipale zu senden, sendet das KDC die Kopien des Sitzungsschlüssels des Clients und des Servers an den Client. Die Kopie des Sitzungsschlüssels des Clients wird mit dem master Schlüssel des Clients verschlüsselt und kann daher nicht von einer anderen Entität entschlüsselt werden. Die Kopie des Sitzungsschlüssels des Servers wird zusammen mit Autorisierungsdaten über den Client in eine Datenstruktur eingebettet, die als Ticket bezeichnet wird. Das Ticket ist vollständig mit dem master Schlüssel des Servers verschlüsselt und kann daher nicht vom Client oder einer anderen Entität gelesen oder geändert werden, die keinen Zugriff auf den master Schlüssel des Servers hat. Es liegt in der Verantwortung des Kunden, das Ticket bis zur Kontaktaufnahme mit dem Server sicher zu speichern.

Hinweis

Das KDC stellt nur einen Ticketgewährungsdienst bereit. Der Client und der Server sind dafür verantwortlich, ihre jeweiligen master Schlüssel zu schützen.

 

Wenn der Client die Antwort des KDC empfängt, extrahiert er das Ticket und seine eigene Kopie des Sitzungsschlüssels und legt beide in einem sicheren Cache zurück. Um eine sichere Sitzung mit dem Server einzurichten, sendet er dem Server eine Nachricht, die aus dem Ticket besteht, das noch mit dem master Schlüssel des Servers verschlüsselt ist, und einer mit dem Sitzungsschlüssel verschlüsselten Authentifikatornachricht. Das Ticket und die Authentifikatornachricht sind die Anmeldeinformationen des Clients für den Server.

Wenn der Server Anmeldeinformationen von einem Client empfängt, entschlüsselt er das Ticket mit seinem master Schlüssel, extrahiert den Sitzungsschlüssel und verwendet den Sitzungsschlüssel, um die Authentifikatornachricht des Clients zu entschlüsseln. Wenn alles ausgecheckt ist, weiß der Server, dass die Anmeldeinformationen des Clients von der KDC, einer vertrauenswürdigen Autorität, ausgestellt wurden. Für die gegenseitige Authentifizierung antwortet der Server, indem er den Zeitstempel aus der Authentifikatornachricht des Clients mit dem Sitzungsschlüssel verschlüsselt. Diese verschlüsselte Nachricht wird an den Client gesendet. Der Client entschlüsselt dann die Nachricht. Wenn die zurückgegebene Nachricht mit dem Zeitstempel in der ursprünglichen Authentifikatornachricht übereinstimmt, wird der Server authentifiziert.

Ein zusätzlicher Vorteil ist, dass der Server die Sitzungsschlüssel, die er mit seinen Clients verwendet, nicht speichern muss. Es liegt in der Verantwortung jedes Clients, das Ticket für den Server in seinem Ticketcache zu verwalten und dieses Ticket bei jedem Zugriff auf den Server vorzulegen. Wenn der Server ein Ticket von einem Client empfängt, verwendet er seinen master Schlüssel, um das Ticket zu entschlüsseln und den Sitzungsschlüssel zu extrahieren. Wenn der Server den Sitzungsschlüssel nicht mehr benötigt, wird der Schlüssel gelöscht.

Der Client muss nicht bei jedem Zugriff auf diesen bestimmten Server auf das KDC zugreifen. Tickets können wiederverwendet werden. Als Vorsichtsmaßnahme gegen die Möglichkeit eines Ticketdiebstahls haben Tickets eine Ablaufzeit, die vom KDC in der Ticketstruktur angegeben wird. Wie lange ein Ticket gültig ist, hängt von der Kerberos-Richtlinie für den Bereich ab. In der Regel sind Tickets nicht länger als acht Stunden geeignet, etwa die Dauer einer normalen Anmeldesitzung. Wenn sich der Benutzer auf einer Clientarbeitsstation abmeldet, wird der Clientticketcache geleert, und alle Tickets und Clientsitzungsschlüssel werden zerstört.