Die Funktionsweise von Kerberos

11.02.2007 von Martin Kuppinger
Kerberos ist nicht ganz leicht zu verstehen, weil es in einigen Bereichen anders arbeitet als die vertrauten Verfahren. Insbesondere das Konzept der Tickets ist zunächst gewöhnungsbedürftig, aber durchaus logisch und in der Nutzung gleichermaßen effizient wie sicher. Der Artikel stellt die grundlegende Funktionsweise des Protokolls dar.

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:

Die Arbeitsweise ist in Bild 1 dargestellt. Hier werden die verschiedenen aufeinander folgenden Schritte deutlich. Wichtig sind dabei mehrere Punkte:

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.

Bild 1: Die Funktionsweise von Kerberos.

Weitere Informationen

Darstellungen zu Kerberos mit unterschiedlichem technischen Detaillierungsgrad finden sich unter anderem hier:

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.