Sitzungstickets

Anstatt die verschlüsselten Sitzungsschlüssel an beide Prinzipale zu senden, sendet das KDC sowohl die Kopien des Client- als auch des Servers des Sitzungsschlüssels an den Client. Die Kopie des Sitzungsschlüssels des Clients wird mit dem Hauptschlü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 Hauptschlü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 Hauptschlüssel des Servers hat. Es liegt in der Verantwortung des Clients, das Ticket bis zum Kontakt mit dem Server sicher zu speichern.

Hinweis

Das KDC stellt nur einen Ticketerteilungsdienst bereit. Client und Server sind dafür verantwortlich, die jeweiligen Hauptschlüssel zu schützen.

Wenn der Client die Antwort des KDC empfängt, extrahiert er das Ticket und seine eigene Kopie des Sitzungsschlüssels, wobei beide in einem sicheren Cache abgelegt werden. Um eine sichere Sitzung mit dem Server einzurichten, sendet er dem Server eine Nachricht aus dem Ticket, die noch mit dem Hauptschlüssel des Servers verschlüsselt ist, und eine Authentifikatornachricht, die mit dem Sitzungsschlüssel verschlüsselt ist. Zusammen sind die Ticket- und Authentifikatornachricht die Anmeldeinformationen des Clients für den Server.

Wenn der Server Anmeldeinformationen von einem Client empfängt, entschlüsselt er das Ticket mit seinem Hauptschlüssel,extrahiert den Sitzungsschlüsselund verwendet den Sitzungsschlüssel, um die Authentifikatornachricht des Clients zu entschlüsseln. Wenn alles überprüft wird, weiß der Server, dass die Anmeldeinformationen des Clients vom KDC , einer vertrauenswürdigen Autorität, ausgestellt wurden. Bei gegenseitiger Authentifizierung antwortet der Server, indem er den Zeitstempel aus der Authentifikatornachricht des Clients mithilfe des Sitzungsschlüssels 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 identisch ist, wird der Server authentifiziert.

Als zusätzlichen Vorteil muss der Server die Sitzungsschlüssel, die er mit seinen Clients verwendet, nicht speichern. Jeder Client ist dafür verantwortlich, das Ticket für den Server in seinem Ticketcache zu verwalten und dieses Ticket bei jedem Zugriff auf den Server zu präsentieren. Wenn der Server ein Ticket von einem Client empfängt, verwendet er seinen Hauptschlü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 jedes Mal auf das KDC zugreifen, wenn er Zugriff auf diesen bestimmten Server haben möchte. Tickets können wiederverwendet werden. Als Vorsichtsmaßnahme gegen den möglichen Diebstahl von Tickets 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 gut, etwa die Länge einer normalen Anmeldesitzung. Wenn sich der Benutzer auf einer Clientarbeitsstation abmeldet, wird der Clientticketcache geleert, und alle Tickets und Clientsitzungsschlüssel werden zerstört.