Single Sign-On mit Kerberos

Kerberos hat bisher ein Schattendasein als Authentifizierungsprotokoll geführt. Bei Windows wird es seit der Version 2000 unterstützt, ohne dass man dieser Tatsache eine große Aufmerksamkeit geschenkt hat. Seit kurzem genießt Kerberos aber im Rahmen von Single Sign-On-Konzepten für heterogene Umgebungen deutlich mehr Beachtung.

Kerberos ist ein im RFC 1510 der IEEE definierter Standard für die Authentifizierung. Im Gegensatz beispielsweise zum NTLM-Verfahren wird das Protokoll bei vielen Plattformen unterstützt. Besonders interessant dabei ist, dass Novell unlängst zwei neue Komponenten für die Unterstützung von Kerberos vorgestellt hat. Außerdem gibt es zunehmend mehr Unternehmen, die sich Gedanken machen über die Rolle, die Kerberos in ihrer IT-Strategie für Single Sign-On und für End-To-End-Security spielen soll.

Verschiedene Aspekte rund um Kerberos werden im Schwerpunkt dieses Hefts diskutiert. Dazu zählen eine grundsätzliche Betrachtung der Hintergründe für die vermehrte Aufmerksamkeit, die Kerberos nun erhält, ein Überblick über die Funktionsweise, ein Artikel zur Nutzbarkeit von Kerberos für die Authentifizierung in Anwendungen sowie Ausführungen zur Interoperabilität, zur Konfiguration, zu Tools für Kerberos und zum Troubleshooting.

Kerberos und Single Sign-On

Einer der Bereiche, in denen Kerberos zunehmend wichtig wird, ist das Single Sign-On. Kerberos ist ein standardisierter Authentifizierungsmechanismus, mit dem einerseits die Authentifizierung am System und andererseits an Diensten durchgeführt werden kann. Dazu wird mit so genannten Tickets gearbeitet, die Zugriffe erlauben. Es wird zwischen dem TGT (Ticket Granting Ticket), das bei der ersten Authentifizierung gegenüber Kerberos ausgestellt wird, und den Service Tickets für den Zugriff auf Dienste wie beispielsweise Datenbanken und andere Anwendungen unterschieden.

Da die Protokolle für die Anforderung von Tickets und die Struktur der Tickets standardisiert sind, können die Tickets auch bei Kerberos-Servern angefordert werden, die auf anderen Plattformen laufen – soweit es dabei keine Detailprobleme gibt, die so etwas verhindern. Auf das Thema der Interoperabilität wird noch in einem gesonderten Artikel eingegangen.

Als Voraussetzung dafür, dass ein Benutzer Tickets bei einem so genannten KDC – dem Kerberos Key Distribution Center, das Tickets ausstellt – anfordern kann, muss diese Komponente den Benutzer kennen. Dazu arbeitet ein KDC mit einem Verzeichnisdienst zusammen, im Fall von Windows 2000 Server und Windows Server 2003 mit dem Active Directory. In Novells neuer Implementierung wird dagegen, wenig überraschend, mit dem eDirectory gearbeitet. Eine Single Sign-On-Lösung auf Basis von Kerberos setzt damit mehrere Komponenten voraus:

  • Einen zentralen Verzeichnisdienst, gegen den das KDC arbeitet.

  • Ein KDC als Komponente, die Ticketanforderungen bearbeitet und Tickets ausstellt und damit auch die Authentifizierung übernimmt.

  • Clients, die Kerberos-Anforderungen an einen KDC senden können.

  • Dienste, die Kerberos-Tickets verarbeiten können.

Allerdings sind für die Umsetzung etliche Detailprobleme zu lösen. Abgesehen von unterschiedlichen Umsetzungen der Standards stellt sich beispielsweise die Herausforderung der Lokalisierung von KDCs für die Authentifizierung. In Windows-Umgebungen werden spezifische Informationen in den Tickets benötigt. Oft geht es aber auch darum, mehrere bestehende Kerberos-Infrastrukturen zu integrieren. In diesem Fall müssen Vertrauensstellungen zwischen den so genannten Kerberos-Realms aufgebaut werden.

Trotz der technischen Herausforderungen ist Kerberos ein interessanter Ansatz zur Realisierung eines Single Sign-Ons innerhalb von Unternehmen – allerdings bei weitem nicht der einzige Ansatz. Die direkte Alternative ist X.509, also die Nutzung digitaler Zertifikate. Der Vorteil ist die Einsetzbarkeit auch über Unternehmensgrenzen hinaus und für verschiedene zusätzliche Funktionen wie die E-Mail-Verschlüsselung mit S/MIME.

Außerdem gibt es mit spezialisierten Single Sign-On-Lösungen, bei denen Credentials (Authentifizierungsnachweise) für verschiedene Systeme gespeichert und im Hintergrund an die Anwendungen übergeben werden, ausgereifte Optionen, die allerdings nicht zu einer technischen Integration führen, wie das bei Kerberos der Fall ist, sondern nur einen Workaround bieten.

Single Sign-On-Herausforderungen werden zudem von Unternehmen immer mehr auch über Portale adressiert, wobei die Portal-Anwendungen mit dem Portal integriert werden. Die Authentifizierung erfolgt am Portal, dem die einzelnen Anwendungen vertrauen und von dem sie auch Informationen über die Benutzer erhalten.

Bild 1: Sicherheit ohne End-to-End-Security mit nicht durchgängigem Sicherheitsmodell.
Bild 1: Sicherheit ohne End-to-End-Security mit nicht durchgängigem Sicherheitsmodell.