Suchen

Definition Kerberos Was ist Kerberos?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Kerberos ist ein verteilter, mit Tickets arbeitender Authentifizierungsdienst. Er lässt sich zur sicheren Authentifizierung in TCP/IP-Netzwerken einsetzen und stellt Usern Tickets zur Nutzung von Services zur Verfügung. Passwörter müssen nicht mehr über das Netzwerk übertragen werden. Microsoft setzt Kerberos als Standard­authentifizierungs­methode in Windows-basierten Netzwerken ein. Entwickelt wurde Kerberos am Massachusetts Institute of Technology.

Kerberos ermöglicht die sichere Authentifizierung in TCP/IP-Netzwerken mithilfe einer Trusted Third Party.
Kerberos ermöglicht die sichere Authentifizierung in TCP/IP-Netzwerken mithilfe einer Trusted Third Party.
(Bild: gemeinfrei / Pixabay )

Kerberos ist ein Authentifizierungsdienst für TCP/IP-basierte Netzwerke. Der Name "Kerberos" leitet sich aus der griechischen Mythologie ab und benennt den dreiköpfigen Höllenhund „Zerberus“, den Wächter am Eingang zur Unterwelt. Entwickelt wurde der Authentifizierungsdienst am Massachusetts Institute of Technology (MIT) im Rahmen des Projekts Athena Ende der 1980er Jahre.

Die eigentliche Authentifizierung übernimmt eine vertrauenswürdige dritte Partei (Trusted Third Party). Clients erhalten verschlüsselte Tickets, mit denen sie sich gegenüber den verschiedenen Diensten authentifizieren. Passwörter müssen nicht mehr über das Netzwerk übertragen werden. Dank Single-Sign-on-Unterstützung reicht es aus, wenn sich ein User nur einmal bei einem zentralen Key Distribution Center (KDC) anmeldet. Weitere Authentifizierungen gegenüber einzelnen Services erfolgen ohne eine Interaktion des Users. Die technischen Details des Authentifizierungsservices und der Ablauf der Authentifizierung sind im RFC 4120 spezifiziert.

Kerberos ist beim MIT als Client- und Serverversion verfügbar. Darüber hinaus existieren zahlreiche weitere freie oder kommerzielle Implementierungen. In Windows- und Unix-Netzwerken ist Kerberos eines der meist genutzten Protokolle für den Single Sign-on. Microsoft nutzt den Authentifizierungsdienst als Standardprotokoll in Windows-basierten Netzwerken seit der Windows-Server-Version 2000/2003 und der Client-Version Windows 2000/XP. Die Speicherung der Kerberos-Schlüssel erfolgt in Active Directory. Auch für weitere Betriebssysteme wie macOS, Linux und FreeBSD existieren Implementierungen.

Ablauf der Authentifizierung und beteiligte Komponenten

Um Kerberos zu nutzen, müssen sowohl der Client als auch der angesprochene Service in der Lage sein, mit den ausgestellten Tickets umzugehen. Es sind Softwarekomponenten auf dem Client-Rechner und beim Serviceanbieter notwendig. Darüber hinaus muss die vertrauenswürdige dritte Partei, der Kerberos-Server, existieren. Eine zentrale Komponente ist das Key Distribution Center (KDC) zur Generierung und Verwaltung von Schlüsseln der Kerberos-Sessions. Es besteht aus dem Authentication Server (AS) und dem Ticket Granting Server (TGS). Der Authentication Server übernimmt die Authentifizierung der Benutzer und stellt ihm die Ticket Granting Tickets (TGT) aus. Die Aufgabe des Ticket Granting Servers ist es, Tickets für den Zugriff auf die einzelnen Services auszustellen. Er erhält vom Benutzer ein TGT als Nachweis seiner Authentifizierung beim AS. Prinzipiell können AS und TGS auf verschiedenen Systemen installiert sein. Oft befinden sie sich jedoch auf dem gleichen Server.

Vereinfacht dargestellt ist der Ablauf einer Authentifizierung und Servicenutzung folgender:

  • der Client authentifiziert sich zunächst gegenüber dem AS mit seinen Benutzerdaten
  • der AS stellt dem Client ein TGT aus
  • um sich gegenüber einem Service zu authentifizieren, schickt der Client das TGT mit dem Servicenamen (Service Principal Name - SPN) an den Ticket Granting Server
  • das KDC bestätigt dem TGS die Zugriffserlaubnis auf den Service für den anfragenden Client
  • der TGS stellt das eigentliche Ticket für den zu nutzenden Service aus und sendet es an den Client
  • der Client sendet das Ticket an den Service, um seine Zugriffsberechtigung nachzuweisen
  • der Service nimmt das Ticket an und gewährt den Zugriff

Sowohl das TGT als auch das eigentliche Service-Ticket sind mit einem Zeitstempel versehen. Ist die Nutzungszeit eines Tickets überschritten, müssen neue Authentifizierungen am AS oder TGS erfolgen. In der Regel sind Service-Tickets über mehrere Stunden gültig. Alle Anfragen an den Service stellt der Client in dieser Zeit mit dem gleichen Service-Ticket. Die beteiligten Parteien gleichen ihre Systemzeiten über Dienste wie NTP (Network Time Protocol) ab.

(ID:46268680)

Über den Autor