Funktionsweise von Kerberos

Nachdem Sie sich mit einigen in Kerberos verwendeten Begriffen vertraut gemacht haben, hier nun eine vereinfachte Erläuterung der Funktionsweise des Kerberos-Authentifizierungssystems:

Wenn ein Benutzer in einem "normalen" Netzwerk, das Passwörter zur Benutzerauthentifizierung verwendet, einen Netzwerkdienst anfordert, für den eine Authentifizierung erforderlich ist, dann wird der Benutzer aufgefordert, sein Passwort einzugeben. Dieses Passwort wird dann im Klartext im Netzwerk gesendet, und der Benutzer erhält Zugriff auf den gewünschten Netzwerkdienst.

Wie bereits an anderer Stelle erwähnt, besteht das Hauptproblem darin, wie Passwörter verwendet werden können, ohne dass sie zur Authentifizierung im Netzwerk versendet werden müssen. Für dieses Problem bietet Kerberos die Lösung. In einem kerberisierten Netzwerk sind die Principals und ihre Keys in der Kerberos-Datenbank enthalten (bei Benutzern werden diese Keys von den Benutzer-Passwörtern abgeleitet). Außerdem enthält die Kerberos-Datenbank die Keys für alle Netzwerkdienste.

Wenn sich ein Benutzer in einem kerberisierten Netzwerk an seiner Workstation anmeldet, wird sein Principal für die Anforderung eines TGT an den KDC gesendet. Diese Anforderung kann entweder vom Anmeldeprogramm (also für den Benutzer transparent) oder - nachdem sich der Benutzer angemeldet hat - vom Programm kinit gesendet werden.

Der KDC sucht dann in seiner Datenbank nach diesem Principal. Sobald der Principal gefunden wurde, erstellt der KDC ein TGT, verschlüsselt es unter Verwendung des zu diesem Benutzer gehörenden Key und sendet es an den Benutzer zurück.

Das Anmeldeprogramm oder kinit entschlüsselt das TGT mit Hilfe des Benutzer-Key (den es aus dem Passwort des Benutzers errechnet). Das TGT, das nur für eine bestimmte Zeitspanne gültig ist, wird in Ihrem Credential Cache gespeichert. Die Gültigkeitsdauer ist so eingerichtet, dass ein TGT immer nur während einer bestimmten Zeitspanne (in der Regel acht Stunden) verwendet werden kann - im Gegensatz zu einem Passwort, das so lange verwendet werden kann, bis es geändert wird. Der Benutzer braucht sein Passwort erst wieder einzugeben, wenn das TGT abgelaufen ist oder er sich ab- und dann wieder neu anmeldet.

Wenn der Benutzer auf einen Netzwerkdienst zugreifen möchte, fordert das TGT beim Ticket Granting Service (TGS), der auf dem KDC ausgeführt wird, ein Ticket für den betreffenden Dienst an. Der TGS stellt ein Ticket für den gewünschten Dienst aus, das zur Authentifizierung des Benutzers verwendet wird.

Wie Sie sicherlich bereits vermutet haben, handelt es sich bei dieser Erläuterung natürlich nur um eine sehr vereinfachte Darstellung. Eine detaillierte Beschreibung der Funktionsweise von Kerberos, siehe Abschnitt namens Weitere Informationen zu Kerberos.

AnmerkungBitte beachten:
 

Kerberos benötigt verschiedene Netzwerkdienste, um korrekt zu arbeiten. Zunächst ist für Kerberos eine Zeitsynchronisierung zwischen den Rechnern in Ihrem Netzwerk erforderlich. Falls Sie für Ihr Netzwerk bisher kein Programm zur Zeitsynchronisierung eingerichtet haben, müssen Sie ein solches Programm einrichten. Da Kerberos zum Teil auch auf den Domain Name Service (DNS) angewiesen ist, müssen Sie sich außerdem vergewissern, dass die DNS-Einträge und -Hosts in Ihrem Netzwerk korrekt eingerichtet sind. Weitere Informationen hierzu finden Sie im Kerberos V5 System Administrator's Guide, der unter /usr/share/doc/krb5-server-Versionsnummer/ im PostScript- und im HTML-Format zur Verfügung steht.