Kerberos ist ein Protokoll für die Authentifizierung, also die Überprüfung, ob ein Benutzer oder ein System dem entspricht, was er oder es zu sein vorgibt. Als solcher wird, wie schon im ersten Artikel des Schwerpunkts kurz angerissen, mit mehreren Komponenten gearbeitet, wobei die wichtigsten als KDC(Key Distribution Center) zusammengefasst sind. Genau genommen sind es allerdings drei Dienste:
-
Der AS Exchange ist der Authentication Service, also die Komponente, die die Authentifizierung übernimmt und so genannte Ticket Granting Tickets (TGT) ausstellt. Diese Tickets bezeugen, dass sich ein Benutzer erfolgreich authentifiziert hat.
-
Der TGS Exchange ist der Ticket Granting Service, der Tickets für den Zugriff auf Dienste ausstellt. Dazu benötigt ein Benutzer zunächst ein TGT als Nachweis der erfolgreichen Authentifizierung.
-
Der Client/Server Exchange ist die Komponente bei einem Netzwerkdienst mit Kerberos-Unterstützung, über die ein Service Ticket verarbeitet wird.
Die Arbeitsweise ist in Bild 1 dargestellt. Hier werden die verschiedenen aufeinander folgenden Schritte deutlich. Wichtig sind dabei mehrere Punkte:
-
Der Authentication Service und der Ticket Granting Service können prinzipiell auf verschiedenen Systemen liegen, werden aber in der Praxis zusammengefasst.
-
Ein TGT, das vom Authentication Service ausgestellt wird, ist standardmäßig mehrere Stunden gültig und kann damit ohne erneute Authentifizierung für die Anforderung verschiedener Service Tickets verwendet werden. Dabei erfolgt auch keine Authentifizierung im Hintergrund mit gespeicherten Credentials.
-
Ein Service Ticket ist ebenfalls mehrere Stunden gültig, so dass nicht für jeden Zugriff auf einen Dienst im Netzwerk eine erneute Authentifizierung erfolgen muss.
Dieses Modell ist im Grundsatz sehr einfach. Wenn man es sich genauer betrachtet, werden einige interessante Details sichtbar. So fließt beispielsweise grundsätzlich kein Kennwort über das Netzwerk. Vielmehr werden immer Informationen ausgetauscht, die mit dem Kennwort und zusätzlichen bekannten oder mit über das Netzwerk gesendeten Informationen verschlüsselt sind, so dass sie auch nur bei Kenntnis des Kennworts bei einem Client oder bei einem Netzwerkdienst entschlüsselt werden können. Das ist ein Grund für die Sicherheit von Kerberos – um Kerberos aus administrativer Sicht oder für die Anwendungsentwicklung zu verstehen, muss man sich damit allerdings nicht weiter beschäftigen.
Delegation
Diese Fähigkeiten alleine reichen nun aber nur für den Zugriff auf einen Netzwerkdienst und die einmalige Authentifizierung gegenüber verschiedenen Anwendungen mit Kerberos-Unterstützung, aber nicht für das im ersten Artikel des Hefts beschriebene Ziel der End-to-End-Security. Hier sind noch weitere Funktionen der Delegation erforderlich. Die Herausforderung dabei ist die korrekte Administration, da Systemen explizit das Vertrauen für die Delegation gegeben werden muss.
Weitere Informationen
Darstellungen zu Kerberos mit unterschiedlichem technischen Detaillierungsgrad finden sich unter anderem hier:
-
www.microsoft.com&msj/0899/kerberos/ kerberos.aspx:
Ein Artikel im Microsoft Journal, der Kerberos schon etwas technischer erläutert.
-
http://support.microsoft.com/default.aspx?scid=kb;en -us;Q217098:
Dieser Knowledge-Base-Artikel gibt einen grundlegenden Überblick über die Arbeitsweise von Kerberos und ist auch relativ technisch. -
www.microsoft.com/technet/prodtechnol/ windowsserver2003/library:
Der Bereich Technologies Collection/Windows Security Collection/Logon and Authentication erläutert die Kerberos-Authentifizierung.
-
http://support.microsoft.com/kb/266080/en-us
enthält einen FAQ, in dem viele Fragen rund um Kerberos behandelt werden, und Verweise auf ergänzende Dokumente zu finden sind.
Daneben gibt es noch unzählige weitere Darstellungen im Internet, bis hin zum RFC 1510 mit der Definition des Standards.
Änderungen beim Windows Server 2003
Beim Windows Server 2003 ist die Funktionalität von Kerberos deutlich erweitert worden. Einige dieser Änderungen sind sehr technisch. Ein umfassender Überblick findet sich unter www.microsoft.com/windowsserver2003/evaluation/overview/technologies/kerberos.mspx. Von den Änderungen ist aber eine im Zusammenhang mit der diskutierten Funktionalität von besonderem Interesse: Die so genannte Constrained Delegation, also die Einschränkung der Delegation. Außerdem gibt es in diesem Zusammenhang auch noch eine Protokollumsetzung, die einige Nutzungssituationen erleichtert.
Die erste der beiden neuen Funktionen, die Constrained Delegation oder eingeschränkte Delegation, ist ein Verfahren, bei dem in Service Tickets vom TGS (Ticket Granting Service) Informationen über die zulässigen Dienste eingebunden werden. Der Dienst, der ein Service Ticket für den Zugriff auf einen anderen Dienst im Kontext eines Benutzers verwendet, darf dadurch nur noch auf die vorgegebenen Dienste zugreifen. Bisher hat ein solcher Dienst das Ticket für Zugriffe auf jeden beliebigen Dienst nutzen können.
Durch die Einschränkung kann der Einsatzbereich von Service Tickets bei der Delegation besser gesteuert werden. Die Risiken durch Manin-the-Middle-Attacken auf Basis des Systems, das die Delegation durchführt, werden reduziert. Die zweite wesentliche Neuerung ist die Protokollumsetzung oder Protocol Transition. In den im ersten Artikel des Hefts beschriebenen Szenarien wird mit einem Browser gearbeitet. Der Internet Explorer unterstützt zwar Kerberos, andere Browser aber nicht unbedingt. Außerdem gibt es Einschränkungen bei Zugriffen von außerhalb des internen Netzwerks. Daher kann nun eine Umsetzung von Zugriffen mit SSL/TLS-Authentifizierung über das Web in Kerberos-Tickets beim Webserver – also den IIS – erfolgen. Der Einsatzbereich von Kerberos wird dadurch deutlich vergrößert.
Im Ergebnis sind dadurch alle wichtige Funktionen vorhanden, um Anwendungen mit Endto-End-Security zu realisieren – auf Basis eines Verfahrens, das zumindest in seinen Grundzügen durchaus einfach zu verstehen ist.
Kerberos-Whitepaper
Eine sehr umfassende Darstellung von Kerberos findet sich im Whitepaper „Windows 2000 Kerberos Authentication“. Dieses Whitepaper stellt zwar den Stand zum Releasezeitpunkt von Windows 2000 dar, ist als vertiefter Einstieg aber gut geeignet. Es wird mit der aktuellen CD-ROM von Expert’s inside Windows NT/2000 geliefert.