Was ist Kerberos?


Kerberos ist ein Authentifizierungsprotokoll für die Sicherheit in Computernetzwerken, für das kein Passwort erforderlich ist. Es wurde vom MIT (Massachusetts Institute of Technology) entwickelt, um Probleme der Netzwerksicherheit zu lösen. Es wird heute von vielen Unternehmen für das Single Sign-on (SSO) verwendet, um Daten der Benutzeridentität sicher an Anwendungen zu übertragen und erfüllt zwei wichtige Funktionen: Authentifizierung und Sicherheit.

 

Statt der gewohnten Passwörter arbeitet Kerberos mit einer starken, zeitlich begrenzten Kryptographie mit mehreren geheimen Schlüsseln und einem Drittanbieter-Dienst für die Authentifizierung von Client-Server-Anwendungen und Benutzeridentitäten. Mit der Konzipierung von Kerberos wollten MIT-Entwickler sowohl die Authentifizierung als auch die Autorisierung unterstützen, damit ein Benutzer nach seiner Authentifizierung gleichzeitig auch autorisiert wäre. 

 

Kerberos ist ein komplexer Prozess am Backend, bietet dem Benutzer aber eine fast reibungslose Erfahrung am Frontend. Dieser Artikel befasst sich damit, wie Kerberos für den Benutzer aussieht, erläutert seine Bedeutung und gibt einen ausführlichen Einblick in seine Funktionsweise.

 

So sieht es für den Nutzer aus

Die Mitarbeiter an verschiedenen Standorten von heute nutzen mehrere Geräte (Laptops, Smartphones, Tablets) und benötigen zu jeder Zeit und an jedem Ort Zugriff auf die Systeme ihres Unternehmen und die Apps von Drittanbietern. Es könnte einen beträchtlichen Zeitaufwand bedeuten, wenn sie sich bei jeder einzelnen Ressource separat anmelden und ihre Identität erneut nachweisen müssten. Durch die Verwendung von Kerberos werden die Mitarbeiter automatisch über SSO authentifiziert und erhalten Zugriff auf alle Ressourcen im Netzwerk und auf viele Systeme von Drittanbietern. Dies bedeutet, dass sie mit der Anmeldung an einem Gerät über dieses auch gleich mehrere Ressourcen zur Verfügung haben, ohne sich erneut authentifizieren zu müssen (es sei denn, sie haben den Ort gewechselt oder ein anderer Faktor hat sich verändert.)

BEISPIEL

  • Josh setzt sich pünktlich um 9 Uhr an seinen Schreibtisch. Er möchte sich nicht zu seinem 9-Uhr-Zoom-Termin verspäten, daher meldet er sich sofort bei seinem Computer an.

     

  • Da sein Unternehmen Kerberos verwendet, braucht er sich nicht extra bei Zoom einzuloggen. Er klickt einfach auf den Zoom-Link, wird automatisch authentifiziert und kann am Meeting teilnehmen.

     

  • Während des Meetings muss Josh seine Projekt-Management-Software aufrufen, um einige Daten zu präsentieren. Er klickt auf die Anwendung, und sie öffnet sich umgehend, ohne dass die anderen Teilnehmer warten müssen, bis er sich angemeldet hat.
  •  

  • Nach dem Meeting muss er auf sensible Informationen in einer gesicherten Datenbank zugreifen. Wenn er auf den zugehörigen Link für den Zugang klickt, wird er sofort über Kerberos authentifiziert und braucht keine separaten Anmeldedaten einzugeben.

 

Joshs Erfahrungen mit Kerberos lassen sich mit dem Umlegen eines Schalters vergleichen: Er weiß, er schaltet das Licht an, braucht aber nicht die genaue Funktionsweise zu kennen, um von der Helligkeit zu profitieren. Was bei Kerberos genau hinter den Kulissen geschieht, ist für Josh nicht von Bedeutung; für ihn zählt nur, dass seine Identität im Netzwerk sicher an verschiedene Systeme weitergegeben wird. Er freut sich über die Zeit, die er dadurch spart, dass er sich nicht bei jeder Anwendung separat anmelden muss.

 

 

Warum ist das wichtig?

Wie bereits erwähnt, hat das MIT Kerberos entwickelt, um das geschäftliche Problem zu lösen, rund um die Uhr sicheren Zugang zu Unternehmensressourcen von jedem zugelassenen Gerät aus zu ermöglichen. Kerberos ist sicher, weil Kennwörter niemals über das Netz übermittelt werden. Stattdessen kommen verschlüsselte private Codes zum Einsatz. Im Hintergrund authentifizieren sich alle Geräte und Systeme auf Anfrage automatisch gegenseitig, indem sie mehrere verschlüsselte private Codes mit dem Kerberos-Protokoll austauschen. Da während alldem niemals Verschlüsselungs-Codes zwischen dem Kunden und dem Dienst ausgetauscht werden, ist dieser Prozess sehr sicher. Nachfolgende Abfragen können schnell bearbeitet werden, da Kerberos den vorherigen Anmeldevorgang einfach mit dem im Cache des Browsers oder im Speicher des Geräts abgelegten Token wiederholt.

 

Wie funktioniert das?

Das in Kerberos verwendete, befristete Token ist vergleichbar mit einer Kinokarte. Wenn jemand eine Kinokarte kauft, kauft er sie für einen bestimmten Film, der zu einer bestimmten Uhrzeit und an einem bestimmten Tag läuft. Dasselbe gilt für ein Authentifizierungstoken: Es kann nur für eine bestimmte Ressource, innerhalb eines festgelegten Zeitfensters an einem bestimmten Tag verwendet werden. Wenn das ursprüngliche Token abläuft, wird an seiner Stelle ein Refresh-Token gesendet, um das SSO weiterhin zu ermöglichen.

 

Die drei zentralen Entitäten von Kerberos

  • Benutzer/Client             
  • Key Distribution Center (KDC) (dt.: Schlüssel-Verteilungs-Zentrale, hier Kerberos-Server)
    • Authentifizierungs-Server (AS)
    • Ticket Granting Server (TGS) (dt.: Ticket-Vergabeserver) 
  • Dienst/Anwendung 

 

So kommunizieren Entitäten innerhalb von Kerberos 

Die nachstehende Abbildung zeigt den Kommunikationsfluss zwischen den folgenden Entitäten: Benutzer/Client und AS (grüne Pfeile); Benutzer/Client und TGS (gelbe Pfeile); und Benutzer/Client und Anwendung/Server (orange Pfeile). Manche Nachrichten werden als Klartext gesendet, andere sind mit einem symmetrischen Schlüssel verschlüsselt, und wieder andere enthalten beides. 

 

Client/Benutzer und Authentifizierungs-Server (AS)

  1. Antwort: Vom Benutzer wird über einen geheimen Schlüssel eine Zugriffs-Anfrage an den Authentifizierungs-Server (AS) im Key Distribution Center (KDC) gesendet.
  2. Response: Der AS verwendet den geheimen Schlüssel, um den Benutzer zu authentifizieren (durch Abgleich seiner Anmeldedaten in der Datenbank). Nach der Authentifizierung sendet der AS seinen eigenen geheimen Schlüssel gemeinsam mit einem zeitlich begrenzten Token zurück an den Benutzer. Der Benutzer nimmt den Schlüssel und das zeitlich begrenzte Token vom AS entgegen.
  3.  

Client/Benutzer und Ticket-Granting Service (TGS)

  1. Abfrage: Der Benutzer nimmt den Schlüssel und das zeitlich begrenzte Token, die er vom AS erhalten hat, und sendet sie gemeinsam mit einer Zugriff-Anfrage für die Anwendung an den TGS.
  2. Antwort: Sobald der TGS die Anfrage erhält, entschlüsselt er sie mit dem geheimen Schlüssel, der mit dem AS geteilt wurde, und stellt dem Kunden ein Token aus, das mit einem weiteren geheimen Code verschlüsselt ist.
  3.  

Client/Benutzer und Anwendung/Server

  1. Abfrage: Der Client nimmt das Token, das er vom TGS erhalten hat, und sendet es gemeinsam mit einem geheimen Schlüssel an die Anwendung, auf die zugegriffen werden soll. (Hinweis: Sobald der Client im Besitz des Tokens des TGS ist, haben die anderen Dienste die Sicherheit, dass der Client authentifiziert ist)
  2. Antwort: Sobald die Anwendung die Anfrage erhält, verschlüsselt sie das Token mit einem geheimen Code und gibt es an den Client und den TGS weiter.
    • Der Zugriff wird gewährt: Die Anwendung gewährt dem Nutzer den Zugriff für einen festgelegten Zeitraum, entsprechend den Beschränkungen des Tokens.

Verwandte Ressourcen

Starten Sie jetzt

Kontaktieren Sie uns

sales@pingidentity.com

Erfahren Sie, wie Ping Ihnen helfen kann, sichere Erlebnisse für Mitarbeiter, Partner und Kunden in einer sich schnell wandelnden digitalen Welt zu bieten.