Was ist Kerberos?

Kerberos ist ein Computernetzwerk-Authentifizierungsprotokoll. Es wurde am MIT entwickelt, um Netzwerkressourcen auf sichere Weise zu ermöglichen. In diesem Artikel werden das Kerberos-Konzept und seine Funktionsweise anhand eines Beispiels erläutert.

Wie funktioniert Kerberos?

Kerberos arbeitet in drei Schritten. Lassen Sie uns nun diese drei Schritte einzeln besprechen.

Schritt 1:

Einloggen

Der Kunde gibt seinen Namen an einer beliebigen Arbeitsstation ein. Anschließend sendet die Workstation den Namen im Nur-Text-Format an den Authentifizierungsserver.
Als Antwort führt der Authentifizierungsserver eine Aktion aus. Zunächst wird das Paket mit dem Benutzernamen Client erstellt und der Sitzungsschlüssel generiert. Dieses Paket wird mit einem symmetrischen Schlüssel verschlüsselt, den der Authentifizierungsserver mit dem Ticket Granting Server (TGS) teilt. Die Ausgabe dieses Prozesses wird als Ticket Granting Ticket (TGT) bezeichnet. Der Authentifizierungsserver kombiniert dann sowohl TGT- als auch Sitzungsschlüssel und verschlüsselt sie zusammen mit dem symmetrischen Schlüssel, der aus dem Kennwort des Clients abgeleitet wird.

Hinweis: TGT kann nur mit TGS geöffnet werden und die endgültige Ausgabe kann nur vom Client geöffnet werden.

Nachdem diese Nachricht empfangen wurde, fragt die Arbeitsstation des Benutzers nach dem Kennwort. Wenn ein Benutzer oder Client sein Kennwort eingibt, generiert die Workstation den symmetrischen Schlüssel, der aus dem Kennwort eines Authentifizierungsservers abgeleitet wird. Dieser Schlüssel wird zum Extrahieren des Sitzungsschlüssels und des TGT verwendet. Danach löscht die Workstation das Kennwort des Clients aus dem Arbeitsspeicher, um den Angriff zu verhindern.
Hinweis: Benutzer können das Ticket Granting Ticket nicht öffnen.

Schritt 2:

Erhalt eines Service Granting Tickets.

Angenommen, der Benutzer möchte nach der erfolgreichen Anmeldung über den Mailserver mit anderen Benutzern kommunizieren. Zu diesem Zweck informiert der Client seine Workstation, dass er einen anderen Benutzer X kontaktieren möchte. Der Client benötigt daher ein Ticket, um mit dem X zu kommunizieren. Zu diesem Zeitpunkt erstellt die Client-Workstation eine Nachricht, die für einen Ticket-Granting-Server bestimmt ist und die unten genannten Elemente enthält -
• Ticketgewährungsticket
• die ID des X, an dessen Diensten Kunden interessiert sind.
• Der aktuelle Zeitstempel sollte mit demselben Sitzungsschlüssel verschlüsselt werden.

Bei der Ticketgewährung wird das Ticket nur mit dem geheimen Schlüssel des Ticket-Gewährungsservers verschlüsselt, sodass nur der Ticket-Gewährungsserver ein Ticket-Gewährungs-Ticket öffnen kann. Aufgrund dieser Ticketgewährung glaubt der Server, dass die Nachricht tatsächlich vom Client kommt. Ticketerteilungsticket und Sitzungsschlüssel wurden vom Sitzungsauthentifizierungsserver verschlüsselt.

Ein Authentifizierungsserver verschlüsselt es mit dem geheimen Schlüssel, der aus dem Kennwort des Clients abgeleitet wird. Daher kann der einzige Kunde das Paket öffnen und das Ticket Granting Ticket abrufen
Sobald der Ticket-Granting-Server mit den vom Client eingegebenen Details zufrieden ist, erstellt das Ticket-Granting-Ticket einen Sitzungsschlüssel KAB für den Client, um die sichere Kommunikation mit X durchzuführen. Der Ticket-Granting-Server sendet ihn zweimal an den Client - beim ersten Mal, wenn er kombiniert wird Mit der ID von X und verschlüsselt mit dem Sitzungsschlüssel wird das zweite Mal gesendet, wenn es mit der ID des Clients kombiniert und mit dem geheimen Schlüssel KB von X verschlüsselt wird.

In diesem Fall kann der Angreifer versuchen, die erste vom Client gesendete Nachricht abzurufen und einen Antwortangriff zu versuchen. Dies würde jedoch fehlschlagen, da die Client-Nachricht einen verschlüsselten Zeitstempel enthält und der Angreifer den Zeitstempel nicht ersetzen kann, da er nicht über den Sitzungsschlüssel verfügt.

Schritt 3:

Der Benutzer kontaktiert X, um auf den Server zuzugreifen.

Ein Client sendet KAB an X, um eine Sitzung mit X zu erstellen. Für eine sichere Kommunikation leitet der Client KAB weiter, der mit dem geheimen Schlüssel von X an X verschlüsselt ist. X kann auf KAB zugreifen. Zum Schutz vor einem Antwortangriff sendet der Client einen Zeitstempel an X, der mit KAB verschlüsselt ist.

X verwendet seinen geheimen Schlüssel, um die Informationen zu erhalten. Aus diesen Informationen entschlüsselt er den Stempelwert mit KAB. Dann addiert X 1 zum Zeitstempelwert, verschlüsselt ihn mit KAB und sendet ihn an den Client. Der Client öffnet dann das Paket und überprüft den von X inkrementierten Stempel. Bei diesem Vorgang stellt der Client sicher, dass das X dieselbe KAB empfangen hat, die vom Client gesendet wurde.

Jetzt können Client und X sicher miteinander kommunizieren. Beide verwenden den gemeinsamen geheimen Schlüssel KAB, um die Daten zum Zeitpunkt des Sendens zu verschlüsseln und die Nachricht mit demselben Schlüssel zu entschlüsseln. In diesem Fall möchte der Client möglicherweise mit einem anderen Server kommunizieren. In diesem Fall benötigt der Client nur n3d, um einen weiteren geheimen Schlüssel zu erhalten vom Ticket Granting Server. Nachdem er den geheimen Schlüssel erhalten hat, kann er auf ähnliche Weise wie im Fall von X mit Y kommunizieren. Wenn der Client erneut mit X kommunizieren kann, kann er denselben vorherigen Schlüssel verwenden, sodass nicht jedes Mal ein Ticket erstellt werden muss. Nur zum ersten Mal muss er das Ticket erhalten.

Vor- und Nachteile von Kerberos

Nachfolgend sind die Vor- und Nachteile aufgeführt:

Vorteile von Kerberos

  1. In Kerberos werden Clients und Dienste gegenseitig authentifiziert.
  2. Es wird von verschiedenen Betriebssystemen unterstützt.
  3. Tickets in Kerberos sind zeitlich begrenzt. Auch wenn das Ticket gestohlen wird, ist es aufgrund der hohen Authentifizierungsanforderungen schwierig, das Ticket wiederzuverwenden.
  4. Passwörter werden niemals unverschlüsselt über das Netzwerk gesendet.
  5. In Kerberos werden geheime Schlüssel freigegeben, die effizienter sind als die Freigabe öffentlicher Schlüssel.

Nachteile von Kerberos

  1. Es ist anfällig für schwache oder wiederholte Passwörter.
  2. Es wird nur die Authentifizierung für Dienste und Clients bereitgestellt.

Fazit

In diesem Artikel haben wir gesehen, was Kerberos ist, wie es zusammen mit seinen Vor- und Nachteilen funktioniert. Ich hoffe, Sie finden diesen Artikel hilfreich.

Empfohlene Artikel

Dies ist eine Anleitung zu Kerberos. Hier diskutieren wir, was Kerberos ist, wie Kerberos funktioniert und welche Vor- und Nachteile es hat. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Arten von Web-Hosting
  2. Was ist eine Webanwendung?
  3. Was ist ein Sternschema?
  4. Arrays in der Java-Programmierung