Möchte sich ein Benutzer mittels Kerberos an einem System anmelden, ist hierfür eine Kommunikation mit einem Key-Distribution-Center (KDC) über den UDP/TCP-Port 88 notwendig. Der Zugriff auf diesen Port aus fremden Netzwerken wird jedoch in den meisten Fällen durch die Firmenfirewall unterbunden. Somit können Benutzer also nur innerhalb des Firmennetzwerkes mit dem KDC kommunizieren, um die notwendigen Kerberos-Tickets anzufordern, die für eine erfolgreiche Authentifizierung notwendig sind.
Üblicherweise benötigt der Benutzer zuerst ein sogenanntes Ticket Granting Ticket (TGT), um seine eigene Identität gegenüber dem KDC zu bestätigen, und zusätzlich ein Service-Ticket (ST), sobald der Benutzer auf einen Kerberos-Service zugreifen möchte. Die Authentifizierung gegenüber diesem Service läuft für den Benutzer vollkommen transparent ab, ohne dass hierfür die erneute Eingabe des Benutzerpassworts notwendig ist. Wer sich näher in das Kerberos-Protokoll einlesen möchte, dem sei an dieser Stelle RFC 4120 [1] als Lektüre empfohlen.
Es wäre jedoch wünschenswert, dass auch Benutzer aus externen Netzwerken sich über Kerberos authentisieren dürfen, ohne dass hierfür ein direkter Zugang zum Firmen-Netzwerk notwendig ist. Tatsächlich existiert schon seit einigen Jahren eine Lösung für dieses Problem. So hat Microsoft bereits im Jahre 2011 eine Spezifikation für das Kerberos-Key-Distribution-Center-Proxy-Protocol (MS-KKDCP) veröffentlicht [2]. Sie sieht vor, dass in dem Kommunikationspfad zwischen Benutzer und Kerberos-Server ein Proxy eingebaut wird. Der Benutzer tauscht hierbei Nachrichten über das HTTPS-Protokoll mit dem Proxy aus, der sie an einen entsprechenden Kerberos-Server im Backend weiterleitet.
Das Bild auf der rechten Seite zeigt den beispielhaften Ablauf einer Sitzung, bei der ein Benutzer über einen TLS-Kanal mit
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.