Kerberos (ausgesprochen /ˈkɜrbərəs/ "kur-ber-uhs") ist ein ticket‑basiertes Authentifizierungsprotokoll, das ursprünglich am Massachusetts Institute of Technology entwickelt wurde und in Computernetzwerken für sichere Anmelde- und Identitätsnachweise eingesetzt wird. Kerberos ermöglicht es Benutzerinnen und Benutzern, ihre Identität gegenüber Diensten oder anderen Benutzern (zum Beispiel Mohammed Hasan oder einem auf Gmail basierenden Dienst) auf eine sichere Weise nachzuweisen. Implementierungen wie die Suite von freien Softwarepaketen aus dem MIT-Bereich sind weit verbreitet.

Grundprinzip

Kerberos arbeitet nach dem Prinzip des Ticket-basierten Authentifizierens. Anstatt Passwörter bei jedem Dienst zu übermitteln, erhält der Benutzer zunächst vom zentralen Vertrauensdienst ein kryptografisch geschütztes Ticket, das er dann beim Zielservice vorlegt. Das System ist so ausgelegt, dass Nachrichten gegen Abhören und Replay-Angriffe geschützt sind und sowohl Client als auch Server gegenseitig ihre Identität überprüfen können (gegenseitige Authentifizierung).

Wesentliche Komponenten

  • Client: das Programm oder die Person, die Zugriff auf einen Service anfordert.
  • Service-Server: der Dienst, zu dem der Zugriff gewährt werden soll (z. B. Datei‑ oder Mailserver).
  • Key Distribution Center (KDC): das zentrale Element, das Schlüssel und Tickets ausstellt; es besteht typischerweise aus zwei logischen Teilen:
    • Authentication Server (AS)
    • Ticket Granting Server (TGS)
  • Realm und Principals: administrative Domänen (Realms) und eindeutige Identitäten (Principals) für Clients und Services.

Wie Kerberos funktioniert (vereinfacht)

  • 1. Der Client authentifiziert sich beim Authentifizierungsdienst des KDC (AS) und erhält ein Ticket Granting Ticket (TGT), verschlüsselt mit einem Schlüssel, den nur der KDC kennt.
  • 2. Mit dem TGT fordert der Client beim TGS ein Service‑Ticket für den gewünschten Dienst an.
  • 3. Der TGS stellt ein Service‑Ticket aus, das der Client an den Ziel‑Service sendet.
  • 4. Der Service prüft das Ticket und gewährt bei erfolgreicher Prüfung Zugriff; auf Wunsch werden auch gegenseitige Authentifizierung und Session‑Schlüssel verwendet, damit Client und Server sichere Nachrichten austauschen können.

Kryptografie und Schutzmechanismen

Kerberos benutzt vorwiegend Kryptographie mit symmetrischen Schlüsseln: Sitzungsschlüssel werden zwischen Client und Service vergeben, und Tickets sowie Authentifizierungsnachrichten werden verschlüsselt. Das Protokoll geht davon aus, dass Pakete im [sicheres oder sichere Netzwerk gelesen, verändert oder eingefügt werden können, und schützt entsprechend gegen Abhören und Replay-Angriffe (z. B. durch Zeitstempel und Ablaufzeiten).

Kerberos verwendet ein geteiltes Geheimnis und ein Schlüsselverteilungszentrum. Erweiterungen wie PKINIT erlauben die Einbindung von Kryptographie mit öffentlichem Schlüssel in bestimmten Phasen der Authentifizierung, um z. B. die Erstauthentisierung abzusichern.

Sicherheitsmerkmale und Einschränkungen

  • Gegenseitige Authentifizierung: Kerberos kann Client und Server gegenseitig prüfen, so dass beide Parteien sicher sein können, mit dem richtigen Gegenüber zu kommunizieren.
  • Schutz vor Replay: Zeitstempel und Ablaufzeiten helfen, wiederholte Angriffe zu verhindern; deshalb sind synchronisierte Uhren in Client, Server und KDC wichtig.
  • Zentraler Vertrauensanker: Das KDC ist ein Single Point of Trust/Failure — seine Kompromittierung gefährdet das gesamte Realm.
  • Schlüsselmanagement: Sichere Speicherung von Langzeitschlüsseln (z. B. Passwort‑basierte Schlüssel) ist kritisch; längere Ticket‑Lebenszeiten erhöhen das Risiko bei Schlüsselkompromittierung.
  • Forward Secrecy: Klassisches Kerberos bietet keine vollständige perfekte Forward Secrecy; spezielle Erweiterungen und Protokollerweiterungen sind nötig, um dies zu verbessern.

Funktionen und Erweiterungen

Kerberos unterstützt typische Funktionen wie Single Sign‑On, erneuerbare Tickets, Delegation (Delegation of credentials) und Cross‑Realm‑Authentifizierung zwischen vertrauenswürdigen Domains. Bekannte Erweiterungen und Standards im Umfeld von Kerberos sind GSS‑API, SPNEGO und Integration in Suite-Kontexte für verschiedene Anwendungen.

Implementierungen und Einsatzgebiete

Es gibt mehrere Kerberos‑Implementierungen, unter anderem die Referenzimplementierung des MIT, Heimdal und proprietäre Varianten in kommerziellen Produkten. Microsofts Active Directory verwendet Kerberos als zentrales Authentifizierungsprotokoll in Windows‑Domänen. Kerberos ist weit verbreitet in Unternehmensnetzwerken, Campus‑Infrastrukturen und überall dort, wo sichere, skalierbare Authentifizierung und Single Sign‑On gewünscht sind.

Standards

Die heute gebräuchliche Spezifikation ist Kerberos V5 (publiziert als RFC 4120). Ältere Versionen (z. B. V4) gelten als veraltet. Kerberos kann in Kombination mit anderen Sicherheitsmechanismen und Protokollen eingesetzt werden, um moderne Anforderungen an Authentifizierung und Autorisierung zu erfüllen.

Zusammenfassend ist Kerberos ein bewährtes, weitverbreitetes Authentifizierungsprotokoll, das auf einem zentralen vertrauenswürdigen Dritten basiert und mit Hilfe von kryptografischen Mechanismen sichere Authentifizierung in unsicheren Netzwerken ermöglicht.