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

Documentos relacionados