Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Authentifizierungsmethode für geheime Schlüssel erklärt nicht, wie der Client und der Server den geheimen Sitzungsschlüssel, die in Sitzungen miteinander verwendet werden sollen. Wenn sie Menschen sind, könnten sie sich im Geheimen treffen und sich auf den Schlüssel einigen. Wenn der Client jedoch ein Programm ist, das auf einer Arbeitsstation ausgeführt wird und der Server ein Dienst ist, der auf einem Netzwerkserver ausgeführt wird, funktioniert diese Methode nicht.
Ein Client möchte mit vielen Servern kommunizieren und benötigt für jeden von ihnen unterschiedliche Schlüssel. Ein Server kommuniziert mit vielen Clients und benötigt auch unterschiedliche Schlüssel für jeden dieser Clients. Wenn jeder Client für jeden Server einen anderen Schlüssel benötigt und jeder Server für jeden Client einen anderen Schlüssel benötigt, wird die Schlüsselverteilung zu einem Problem. Darüber hinaus schafft die Notwendigkeit, viele Schlüssel auf vielen Computern zu speichern und zu schützen, ein enormes Sicherheitsrisiko.
Der Name des Kerberos-Protokolls schlägt seine Lösung für das Problem der Schlüsselverteilung vor. Kerberos (oder Cerberus) war eine Figur in der klassischen griechischen Mythologie – ein heftiger, dreiköpfiger Hund, der lebende Eindringlinge vor der Unterwelt hielt. Wie der mythische Schutz verfügt das Kerberos-Protokoll über drei Leiter: einen Client, einen Server und einen vertrauenswürdigen Drittanbieter, um dazwischen zu vermitteln. Der vertrauenswürdige Vermittler in diesem Protokoll ist das Key Distribution Center (KDC).
Der KDC ist ein Dienst, der auf einem physisch sicheren Server ausgeführt wird. Es verwaltet eine Datenbank mit Kontoinformationen für alle Sicherheitsprinzipale, die in ihrem Bereich. Ein Bereich ist die Kerberos-Entsprechung einer Domäne in Windows.
Zusammen mit anderen Informationen zu jedem Sicherheitsprinzipal speichert der KDC einen kryptografischen Schlüssel, der nur für den Prinzipal und den KDC bekannt ist. Dies ist der Hauptschlüssel, der für den Austausch zwischen jedem Sicherheitsprinzipal und dem KDC verwendet wird. In den meisten Implementierungen des Kerberos-Protokolls wird dieser Hauptschlüssel mithilfe eines Hash- Funktion aus dem Kennwort eines Sicherheitsprinzipals abgeleitet.
Wenn ein Client eine sichere Verbindung mit einem Server herstellen möchte, sendet der Client zunächst eine Anforderung an den KDC, nicht an den Server, den er erreichen möchte. Der KDC erstellt und sendet an den Client einen eindeutigen Sitzungsschlüssel für den Client und einen Server, der zur Authentifizierung verwendet werden soll. Der KDC hat Zugriff auf den Hauptschlüssel des Clients und den Hauptschlüssel des Servers. Der KDC verschlüsselt die Kopie des Server des Sitzungsschlüssels mithilfe des Hauptschlüssels des Servers und die Kopie des Clients mithilfe des Hauptschlüssels des Clients.
Das KDC könnte seine Rolle als vertrauenswürdige Vermittler erfüllen, indem er den Sitzungsschlüssel direkt an jeden der beteiligten Sicherheitsprinzipale sendet, aber in der Praxis funktioniert dieses Verfahren aus verschiedenen Gründen nicht. Stattdessen sendet der KDC beide verschlüsselten Sitzungsschlüssel an den Client. Der Sitzungsschlüssel für den Server ist in einem Sitzungsticketenthalten.