Konzepte von Betriebssystem-Komponenten Schwerpunkt
Transcrição
Konzepte von Betriebssystem-Komponenten Schwerpunkt
Konzepte von Betriebssystem-Komponenten Schwerpunkt Authentifizierung Benutzerverwaltung mit Kerberos Jochen Merhof [email protected] 1. 2. 3. 4. 5. Einleitung Was ist Kerberos Wichtige Begriffe des Kerberos-Protokolls Funktionsweise von Kerberos Vor- und Nachteile von Kerberos 1 1. Einleitung Das Kerberos-Protokoll wurde in den 80er Jahren am Massachusetts Institute of Technology (MIT) entwickelt. Das wichtigste Ziel war, verteilte Systeme zu administrieren. Als Authentifizierungsmethode wurden geteilte geheime Schlüssel gewählt. Das Projekt wurde als Projekt Athena bezeichnet. Die Namensgebung lehnt sich an die griechische Mythologie an, in der Kerberos der dreiköpfige Wachhund der Unterwelt ist. 2. Was ist Kerberos? Kerberos ist ein System, das der Authentifizierung von Benutzern in einem unsicheren Netzwerk dient und dem User nach erfolgreicher Authentifikation am zentralen Authentication Server (AS) die Nutzung aller Ressourcen im verteilten System ermöglicht, soweit entsprechende Rechte existieren. Ein wesentliches Ziel von Kerberos ist es, dass möglichst wenige Passwörter über das Netzwerk verschickt werden. Die Funktionsweise von Kerberos basiert auf dem Needham - Schroeder Protokoll. 3. Wichtige Begriffe des Kerberos-Protokolls Um später die Abläufe der Kommunikation unter Kerberos darstellen zu können, müssen noch einige Begriffe geklärt werden. Prinzipal: Client / Applikation Netzwerkressource: Ziel, auf das der Prinzipal zugreifen will. Private Key: Schlüssel, der nur dem Authentication Server und dem Besitzer/Prinzipal bekannt ist. Session Key: Schlüssel, der für die Kommunikation zwischen Prinzipal und Netzwerkressource verwendet wird. Der Session Key wird nur verschlüsselt versendet. Authentication Server: Stellt Ticket-Granting Ticket aus, wenn sich der Prinzipal erfolgreich authentifiziert. Ticket-Granting Server: Stellt Sitzungstickets auf Basis der für den Prinzipal geltenden Rechte aus, die den Zugriff auf Netzwerkressourcen ermöglichen. Key Distribution Center (KDC): Das KDC setzt sich aus dem Authentication Server (AS) und dem Ticket-Granting Server (TGS) zusammen. 2 4. Funktionsweise von Kerberos Wie schon eingangs erwähnt, basiert Kerberos auf dem Needham-Schroeder-KeyDistribution Protokoll. Die Funktions weise wird im folgenden Abschnitt erläutert. aus [3] Zu 1.: Prinzipal A will mit B kommunizieren. Deshalb braucht A vom Authentication Server S sozusagen eine Eintrittskarte für B. Also schickt A unserem Authentication Server eine unverschlüsselte Nachricht (unverschlüsselt, da keine Sicherheitsrelevanten Informationen geschickt werden), dass A mit B in Verbindung treten möchte. Außerdem enthält die Nachricht ein Nonce Na (Einmalwert), der bei Kerberos keine Zufallszahl sondern ein Zeitstempel ist. Zu 2.: S antwortet mit einer durch den Public Key von A verschlüsselten Nachricht, die den Session-Key für die Ko mmunikation zwischen A und B, noch mal die Zielressource und die Nonce Na, die eine Zuordnung zur Anfrage ermöglicht, enthält. Außerdem ist ein mit dem Private Key von B verschlüsseltes Ticket enthalten, das A nicht entschlüsseln kann. Zu 3.: A sendet B dieses Ticket. B entschlüsselt das Ticket, vergleicht den Absender mit dem von S ins Ticket eingetragen Absender. Zu 4.: B sendet A eine mit dem Session-Key Kab verschlüsselte Aufforderung (hier ein Zeitstempel), damit A nachweist, dass A im Besitz des Schlüssels Ka b ist. Zu 5.: Hat A den Session-Key Ka b, kann A die Nachricht entschlüsseln, sinnvoll antworten und erlangt somit den gewünschten Zugriff auf B. 3 Dies entspricht im Groben der Kommunikationsweise unter Kerberos. Genauer betrachten müssen wir noch mal den Server S. Dieser entspricht bei Kerberos dem KDC und setzt sich somit aus dem Authentication Server und dem Ticket-Granting Server zusammen. Dadurch müssen wir bei den Kommunikationsschritten 1 und 2 noch etwas weiter differenzieren. Es ergibt sich wie folgt: Zu 1.a: Prinzipal A schickt dem Authentication Server eine Nachricht, dass A mit dem TGS in Kontakt treten möchte, die den eigenen Namen sowie den Namen des zuständigen Ticket-Granting Servers enthält. Diese ist unverschlüsselt, da sie keine sicherheitsrelevanten Daten beinhaltet. Zu 1.b: Der Authentication Server schickt eine mit dem Public Key von A (K a) verschlüsselte Nachricht zurück, die den Session Key Ka,TGS und ein TicketGranting Ticket verschlüsselt mit dem Public Key vom TGS (KTGS) enthält. Prinzipal A entschlüsselt die Nachricht(entweder der Key wird aus dem Passwort des User generiert oder der Key ist bekannt), bekommt den Session Key Ka, TGS und das verschlüsselte Ticket-Granting Ticket, das von A nicht weiter entschlüsselt werden kann. Zu 2.a: Prinzipal A schickt nun das TGT, seine mit dem Session Key Ka, TGS verschlüsselte Identität und den Servernamen, auf dessen Ressource Prinzipal A zugreifen möchte an den TGS, der zuerst das TGT mit seinem Private Key öffnet, den Session Key Ka, TGS und die Identität vom Prinzipal A erhält, den zweiten Teil der Nachricht mit dem Session Key entschlüsseln und dann beide übermittelten Identitäten vergleichen kann. Zu 2.b: Stimmen diese überein und sind entsprechende Rechte vorhanden, stellt der TGS dem Prinzipal ein Ticket aus. D.h. der TGS schickt unserem Prinzipal A eine mit dem Session Key Ka, TGS verschlüsselte Nachricht, die ein mit dem 4 Private Key von B verschlüsseltes Ticket und einen mit Ka, TGS verschlüsselten Session Key Ka, b enthält. Somit erhält A das Ticket für B und den für die Kommunikation mit B benötigten Session Key Ka, b. Die Kommunikationsschritte 3, 4 und 5 bleiben wie oben bestehen. 5. Vor- und Nachteile von Kerberos Nachteile: - nicht ohne weiteres in ein bestehendes System integrierbar - wurde das Passwort eines User gehackt, sind sämtliche, für den User zugängliche Ressourcen kompromittiert Vorteile: - Sigle-Sign-On - Hauptpasswort des Users wird nur selten übermittelt - Zentrale Schlüsselverwaltung für die einzelnen Ressourcen/Clients - Zentrale Zugriffsverwaltung möglich [1] Secure Computing: THREADS AND SAFEGUARDS; Rita C. Summers McGraw-Hill, 1997 [2] Windows 2000 Security: Kryptographie, Kerberos, Authentifizierung; Jeff Schmidt, Markt+Technik, 2001 [3] Hackerabwehr und Datenschutz: Angriff, Diagnose, Abwehr; Aviel Rubin Addison-Wesley, 2002 [4] Kerberos Autentifikatio n; Bindrich http://wwwbs.informatik.htw-dresden.de/svortrag/ai95/Bindrich/kerberos.html [5] Red Hat Linux 7.3: Das Offizielle Red Hat Linux Referenzhandbuch http://www.europe.redhat.com/documentation/rhl7.3/rhl-rg-de-7.3/ch-kerberos.php3 [6] Red Hat Linux 7.3: Das Offizielle Red Hat Linux Referenzhandbuch http://www.europe.redhat.com/documentation/rhl7.3/rhl-rg-de-7.3/s1-kerberos-whynot.php3 [7] Red Hat Linux 7.3: Das Offizielle Red Hat Linux Referenzhandbuch: Kerberos-Terminologie http://www.europe.redhat.com/documentation/rhl7.3/rhl-rg-de-7.3/s1-kerberos-terminology.php3 5