Beim Kerberos-Protokoll handelt es sich um ein Netzwerkauthentisierungs- und Autorisierungsprotokoll. Es wurde in den 1980er-Jahren als sicherere Alternative zur herkömmlichen Authentisierung durch die Benutzer-/ Passworteingabe an Maschinen und Diensten in unsicheren Netzwerken vom Massachusetts Institute of Technology (MIT) entwickelt.
Kerberos wird heute vor allem mit seiner abgeleiteten Windows-Implementierung in Verbindung gebracht. Aber auch zahlreiche Unix- und Unix-ähnliche Geräte unterstützen das Protokoll, darunter zum Beispiel FreeBSD, MacOS, Red Hat Enterprise Linux oder HP’s HP-UX. Zunehmend Verbreitung findet Kerberos zudem in Embedded Systems (z. B. Cisco IOS bzw. IoT-Geräten). Insgesamt gibt es 5 große Implementierungen, von denen die ersten drei unter freien Lizenzen stehen:
Die Authentifizierung mittels Passwortes leidet besonders unter zwei Problemen. Das erste besteht darin, dass sich Angreifer allein durch Kenntnis des richtigen Passworts als legitime Nutzer ausgeben können. Wenn also jemand das Passwort zu deinem Nutzerkonto kennt, kann diese Person deine Identität stehlen und so dir und deinem Unternehmen Schaden zufügen. Konkret tun Angreifer dies auf folgende Arten:
Das zweite Problem hängt mit dem Faktor Mensch zusammen: Wir haben die Tendenz, bei einer steigenden Anzahl von Authentifizierungen durch Passwörter (ohne Zuhilfenahme eines Passwortmanagers) zunehmend gleichförmige Passwörter zu verwenden. Gelangt jemand Drittes also an eines dieser Passwörter, zum Beispiel durch einen Man in the Middle Angriff, besteht potenziell die Möglichkeit, sich mit diesem Passwort oder einer Variation davon (Stichwort Passwordspraying) an mehreren Stellen erfolgreich authentifizieren zu können.
Um die Authentifizierung im Netzwerk sicherer zu gestalten, muss dafür Sorge getragen werden, dass das Passwort oder die Passwörter nicht ständig im Netzwerk übertragen werden und somit einfach mitgeschnitten werden könnten. Gleichzeitig muss gewährleistet sein, dass sich ein Benutzer an jedem Dienst und jeder Maschine authentisieren kann, zu welcher er berechtigt ist.
Das Kerberos-Protokoll löst beide genannten Probleme und hilft somit dabei, Authentifizierungs-Prozesse sicherer zu gestalten. Im folgenden Abschnitt gehen wir näher darauf ein, wie das Protokoll dabei vorgeht.
Das Problem der unsicheren Passwortübertragung löst Kerberos durch die Einführung einer dritten autoritativen Instanz innerhalb des Netzwerkes, die verschlüsselte Tickets ausstellt. Diese dritte Instanz trägt die Bezeichnung Key Distribution Center (KDC).
Das KDC besteht effektiv aus zwei Diensten, die auf einem oder mehreren Servern betrieben werden. Dazu gehören der Authentication Server (AS) und der Service Server (SS) – auch Ticket Granting Server genannt. Der Authentication Server (AS) prüft, ob es sich um einen legitimen Nutzer des Netzwerkes handelt. Der Service Server (SS) stellt die Tickets für die Erlaubnis zur Benutzung des angefragten Dienstes aus.
Zum Abschluss dieses Grundlagen-Artikels zum Kerberos-Protokoll betrachten wir ein konkretes Szenario, in dem ein Nutzer auf einen Fileserver zugreifen möchte. In diesem Szenario interagieren folgende Instanzen:
Folgende Schritte werden hierbei unter Verwendung des Kerberos-Protokolls durchlaufen:
Durch diesen Ablauf stellt Kerberos zum einen sicher, dass das Passwort nicht übertragen wird. Zum anderen müssen sich Nutzer an Geräten und Diensten, die Kerberos unterstützen, bis zum Ablauf des TGT kein weiteres Mal anmelden. Kurzum: Kerberos ermöglicht die Benutzung von Single Sign-On (SSO), da über das gültige TGT keine weitere Kommunikation mit dem Authentication Server nötig ist, um am Service Server (SS) weitere Token generieren zu können.
Wir verwenden Cookies, und Google reCAPTCHA, das Google Fonts lädt und mit Google-Servern kommuniziert. Durch die weitere Nutzung unserer Website stimmen Sie der Verwendung von Cookies und unserer Datenschutzerklärung zu.