Kerberos-Authentifizierungsvorgang
Es ist hilfreich, die verschiedenen Schritte der Kerberos-Authentifizierung zu kennen, um die Ursache für mögliche Probleme bei der Authentifizierung zu ermitteln.
- Ein Teilnehmer fordert einen Dienst an, der eine Kerberos-Authentifizierung erfordert. Beispielsweise startet ein Benutzer Reflection (einen Telnet-Client) und fordert eine Telnet-Verbindung zu einem Host mit dem Namen telnserv.com an.
- Der Anwendungsserver (in diesem Fall der Telnet-Daemon auf dem Host) fordert die Authentifizierung von Reflection an.
- Reflection überprüft, ob Kerberos bereits über ein gültiges Teilnehmerticket (TGT) für diesen Teilnehmer verfügt. Ist dies nicht der Fall, sendet der Reflection Kerberos-Client eine Anforderung für ein Teilnehmerticket an das KDC (Key Distribution Center).
- Das KDC prüft, ob der Teilnehmer und der Gültigkeitsbereich gültig sind, und sendet ein Teilnehmerticket und einen Sitzungsschlüssel an den Reflection Kerberos-Client.
- Der Benutzer wird vom Reflection Kerberos-Client aufgefordert, ein Kennwort einzugeben. Wenn es mit dem Kennwort übereinstimmt, das das KDC zur Verschlüsselung von Teilnehmerticket und Sitzungsschlüssel verwendet hat, kann der Reflection Kerberos-Client die Nachricht entschlüsseln und erhält den Sitzungsschlüssel. (Ist das Kennwort falsch, wird eine Fehlermeldung ausgegeben, und die Authentifizierung schlägt fehl.)
- Der Reflection Kerberos-Client erzeugt eine Anforderung für den ursprünglich gewünschten Dienst (eine Telnet-Verbindung zu telnserv.com) und sendet sie an das KDC. Diese Anforderung enthält im Sitzungsschlüssel des Teilnehmertickets (TGT) verschlüsselt neben einem Authentifikator zum Bestätigen der Identität des Teilnehmers auch den Namen des Dienstes, den der Teilnehmer nutzen möchte.
- Das KDC entschlüsselt das Teilnehmerticket und erzeugt einen neuen Schlüssel für die Workstation-Sitzung mit dem Dienst (in diesem Fall für die Verbindung zwischen dem Telnet-Client und dem Telnet-Daemon auf telnserv.com) sowie ein Dienstnutzungsticket für die Telnet-Verbindung zu telnserv.com. Das Dienstnutzungsticket ist mit dem sicheren Schlüssel des Dienstes verschlüsselt. Das KDC verschlüsselt die Nachricht mit dem ursprünglichen Sitzungsschlüssel und gibt sie an den Reflection Kerberos-Client zurück.
- Der Reflection Kerberos-Client verwendet den ursprünglichen Sitzungsschlüssel, um das Dienstnutzungsticket herauszulösen und den neuen Sitzungsschlüssel zu entschlüsseln. Die Steuerung wird anschließend wieder an Reflection übergeben.
- Reflection übermittelt dem Telnet-Daemon das Dienstnutzungsticket. Der Telnet-Daemon überprüft die Berechtigungsnachweise und authentifiziert sich gegenüber Reflection anhand der Daten, die dem Dienstnutzungsticket entnommen sind. Da das Dienstnutzungsticket mit dem sicheren (symmetrischen) Schlüssel des Dienstes verschlüsselt wurde, kann es nur von dem Dienst entschlüsselt werden, für den es ausgestellt wurde.
- Reflection meldet sich beim Host (telnserv.com) an.
|