Post on 05-Apr-2015
Authentifizierung, insbesondere Kerberos
SeminarInternet-Technologie
SS 2007
Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16
Einleitung Sicherheitsstufen von Authentifizierungsverfahren Welche Kontrollstrategien gibt es? Authentifizerungsverfahren Kerberos
Inhaltsübersicht
Die Authentifizierung (auch Authentifikation, engl. authentication) bezeichnet den Vorgang, die Identität einer Person oder eines Programms an Hand eines bestimmten Merkmals zu überprüfen. Dies kann z.B. mit einem Fingerabdruck, einem Passwort oder einem beliebigen anderen Berechtigungsnachweis geschehen.
Authentifizierung vs. Authentisierung- Die Authentisierung ist das Nachweisen einer Identität, die
Authentifizierung deren Überprüfung. - Bei einer Identitätsüberprüfung gibt es daher immer einen Teilnehmer,
der sich authentisiert und einen, der diesen authentifiziert.
Was ist Authentifizierung?
Was ist Authentifizierung?
Der Benutzer muss sich identifizieren, also mitteilen, welches Benutzerkonto er beansprucht.
Aus dieser Identität (Name oderID) ermittelt das System seine Berechtigungen.
Es muss nachgewiesen, dass der User auchwirklich derjenige ist, der dieses Konto beanspruchen darf.
Üblicherweise durch Passwörter
Vorsicht! Authentifizierung != Autorisation- Welcher Benutzer bist du? Welches Benutzerkonto ist deins?(Authentifizierung)- Welche Rechte habe ich? Darf ich die Datei löschen? (Autorisation)
Was ist Authentifizierung?
One-Factor/Simple Authentication- Passworteingabe -> Unsicher- Zwei unterschiedliche Ausprägungen: Unverschlüsselt(Basic Access
Auth.) und Verschlüsselt(Digest Access Auth. über Hashes)
Two-Factor- zusätzlich zum verschlüsselten Passwort eine Besitzabfrage von bspw.
Smartcard oder „digitalen“ Besitzmerkmalen wie Tickets oder E-Mail-Adressen
Three-Factor- Verlangt etwas, das nur dieser eine Benutzer weiß, etwas das nur
dieser eine Benutzer besitzt, und etwas, das nur dieser eine Benutzer ist.
- Dritten Faktor durch bspw. biometrische Verfahren (Fingerabdruck)
Sicherheitsstufen von Auth.
Geheimhaltung von URLs Einfach und Unsicher
Beschränkung auf bestimmte Rechner IP lässt sich ermitteln (DNS- oder IP-Spoofing)
Abfragen der Identität(Benutzern./Passwort) Auch bei Verschlüsselung über Brute-Force-Attacken ermittelbar
Transparente Authentifizierung Benutzer muss entweder gar nicht oder nur einmal ein Passwort
eingeben um mehrere Dienste zu nutzen Server dient als Authentifizierungsinstanz
Auth. durch Client-Zertifikate Es werden Zertifikate beidseitig ausgetauscht um Dienste zu nutzen
Welche Kontrollstrategien gibt es?
Das Kennwort eines Benutzers wird durch den Computer in einem „LMHash“ umgerechnet
Bei der späteren Kennworteingabe macht das System dann nur noch einen Mustervergleich des Hashes
Durch Brute-Force-Attacken leicht zu entschlüsseln
LAN-Manager Authentifizierung
Ein von Microsoft entwickeltes Authentifizierungsverfahren für WinNT (daher der Name: NT LAN Manager)
Ist eine transparente Auth.(Single-Sign-On)- Nur eine Anmeldung des Benutzers an einem zentralen Server um eine
Vielzahl von Diensten zu nutzen
Challenge-Response-Verfahren- Benutzeridentifikation, ohne Übermittlung des Passworts im Klartext- Teilnehmer stellt Aufgabe(Challenge), die der andere lösen muss (engl.
response), um zu beweisen dass er eine bestimmte Information kennt.
Einholen der Identität des Benutz. von anderen Servern Unterstützt werden alle Microsoft-Dienste und -Protokolle (Verbindung
zum SQL Datenbank-Server, Pop3, Http, uvm.).
NTLM Authentifizierung
Extensible Authentication Protocol, ist wie der Name schon sagt mit Auth.methoden erweiterbar
Wurde entwickelt, um zu verhindern, dass viele verschiedene Auth.verf. separat für PPP entwickelt werden
Dabei kann Auth.verf. während des Auth.vorganges gewechselt werden
Verfahren: Identität, MD5-Challenge, One-Time-Password, TLS
Mehrstufige Authentifizierung mit verschiedene Verfahren
EAP - Authentifizierungen
Auth. von Webanbietern wird auf zentr. Dienst ausgelagert- Webanbieter erspart sich Implementierungsaufwand einer
sicheren Single-Sign-On Authentifizierung- Authentifizierungsdienst in sicherer Umgebung
- Realisation:1. Bei Zugriff auf Webangebot wird die Anfrage per HTTP-redirect
an den Passport-Dienst weitergereicht2. Eingabe von Benutzername und Passwort3. Cookies zur weiteren automatischen Authentifizierung bei
Anfragen werden angelegt(Single-Sign-On)4. Der Passport-Dienst stellt ein verschlüsseltes Ticket aus, welches
dem Benutzer ermöglicht die angefragte Seite zu besuchen
MS .NET Passport
Ein Höllenhund und Torhüter in der griechischen Mythologie, der den Eingang zur Unterwelt bewacht
3 Köpfe, weil Kerberos 3 Aufgaben übernimmt
3 Köpfe aber auch deswegen, weil am Authentifizierungsvorgang
3 Parteien beteiligt sind
Kerberos
Jedes System authentifiziert, jedes System führt Benutzerprofile
Zentrales Authentifizierungssystem
Anwender schlägt sich mit Massen von Passwörtern herum oder er erfindet sein "Generalpasswort„
Single-Sign-On
Zentrales System=Angriffsziel Sicherheitskonzept
Benutzerprofile „netzwerkweit“ verfügbar Verteiltes Authentifizierungssystem
Kerberos-Motivation
Sicherer, einheitlicher und verteilter Authentifizierungsdienst in einem ungesicherten TCP/IP-Netzwerk(z.B. Internet) Drei Parteien: Client, Server & Kerberos-Server Authentifizierung übernimmt eine vertrauenswürdige dritte
Partei Verwendung von Tickets zur Authentifizierung Jeder Benutzer und Service hat ein eigenes Passwort Gegenseitige Authentifizierung- Client zu Server, Server zu Client und sogar Kerberos-Server zu Server
und Client
Accounting – Protokollierung von Ressourcen-Nutzung
Kerberos-Einleitung
Key Distribution Center (KDC)- Dient der Verteilung der Schlüssel bzw. Tickets an die Benutzer- Wird auf jedem Domänencontroller als Teil von Active Directory ausgeführt, in
dem sämtliche Clientkennwörter sowie weitere Kontoinformationen gespeichert sind
Ticket Granting Ticket (TGT)- Damit ist es dem Client möglich, ohne eine erneute Authentifizierung, die
eigentlichen Sitzungstickets vom Ticket Granting Service (TGS) für das Ausführen diverser Dienste (z.B. Fileserver etc.) anzufordern.
- TGT hat begrenzte Lebensdauer(standartmäßig 10 Stunden) Ticket Granting Service (TGS)- Stellt die Tickets zur Verfügung, die Erlauben einen Dienst auszuführen Installation eines Kerberos-Clients auf jeder Arbeitsstation und
jedem Server
Kerberos-Aufbau
Kerberos-Schritte
Client
DNS
1. Anfrage
2. DomänencontrollerKDC
3. Anfrage TGT
4. Antwort TGT
TGS
6. Dienstticket
5. Dienstticket-Anfrage
Dienst
7. Dienst starten!
8. Antwort
• Alice sitzt an einem Clientsystem und authentifiziert sich gegenüber einem KDC mit seinem Benutzernamen.
• Das KDC lädt, aus einer gemeinsam genutzten Sicherheitsdatenbank (KDC und TGS), den User-Master-Key(UMK), der auf dem Benutzerkennwort von Alice basiert und einen TGS-Session-Key(TGS-Skey). Danach wird ein Schlüssel (Key) und ein Ticket-Granting-Ticket(TGT) generiert, beide werden verschlüsselt[ ETGS-SKey(TGT), EUMK(Key) ]
• Erst jetzt gibt Alice ihr Kennwort ein. Ist das Kennwort identisch mit dem UMK, so ist die Anmeldung erfolgreich
• Der Benutzer kann das TGT nicht entschlüsseln
Session Key: Temporärer Codierungsschlüssel, der zwischen zwei Principals benutzt wird. Er ist nur diesen bekannt und wird immer verschlüsselt versendet.
Principal: Eindeutig benannter Benutzer, Client oder Server, der an einer Netzwerkkommunikation teilnimmt
Kerberos – Authentifizierung (TGT)Client(Alice)
User_key[Alice]ID[Alice]
KDCUser_Master-key[Alice]
Session_key
3. Anfrage TGT
4. Antwort TGTTGT
ID(Alice)
KeyTGS-Skey
TGS-ID
Das TGT
Verschlüsselt mit dem TGS-Session-Key
Nachdem Alice sich angemeldet hat, kann sie eine Dienstanfrage stellen. Das TGT, dient dem Beweis das der Sender der ursprüngliche
Client(Alice) ist. Weiterhin wird ein Timestamp verschickt, beide Pakete verschlüsselt. [ETGS-SKey(TGT), ETGS-SKey(TimeStamp)]
Es werden zwei Pakete verschickt, das Session-Key ist mit dem TGS-Skey verschlüsselt und kann vom Client gelesen werden. Das Ticket ist mit einem Bobs Master-Key verschlüsselt und kann nur vom Dienstserver(Bob) gelesen werden. [ETGS-SKey(Session-Key), EMaster-Key(Bob)(Ticket)]
TimeStamp: Deutsch Zeitstempel, ist ein Wert der einem Ereignis, in dem Falle der Anfrage, einen Zeitpunkt zuordnet.
Kerberos-Authentifizierung(TGS)
Client(Alice)User_key[Alice]
ID[Alice]
TGSUser_Master-key[Alice]
Session_keyTGS-Skey6. Dienstticket
5. Dienstticket-AnfrageTGT
ID(Alice)TGS-SKey
TicketSession-Key
ID[Alice]
Session-Key
Session-ID
Time-Stamp
ID[Alice]
Das Dienstticket für Bob
Verschlüsselt mit dem Master-Key von Bob
Anfrage an den Server(Bob) um den Dienst zu starten. Dabei wird das vom TGS erhaltene Ticket weitergegeben und ein Timestamp - beide verschlüsselt. [EMaster-
Key(Bob)(Ticket), ETGS-SKey(TimeStamp)] Client und Server haben sich gegenseitig authentifiziert,
der geforderte Dienst wird ausgeführt. Sie tauschen jetzt weitere Informationen, verschlüsselt durch den Session-Key aus.
Kerberos-Authentifizierung (Dienst)
Client Dienst
7. Dienst starten!
8. Antwort
TicketSession-Key
ID[Alice]
Time-Stamp
ID[Alice]
Der KDC-Dienst wird auf jedem Domänencontroller als Teil von Active-Directory (bei Windows) ausgeführt, in dem sämtliche Clientkennwörter sowie weitere Kontoinformationen gespeichert sind.
Kerberos-Einstellungen
Kerberos-Pro-Contra
Vorteile Nachteile
Wegen gegenseitiger Athentifizierung, werden „Man-In-The-Middle-Angriffe“ unterbunden
Der TimeStamp erfordert es bei Verfahren wie „Dictionary Attack“, das Dienstticket innerhalb von 5 min. zu hacken
IP- und DNS-Spoofing Angriffe werden durch nachweisen beider Identitäten(Server und Client) erschwert.
Erheblicher Aufwand, um die Uhren der beteiligten Systeme vor Manipulationen zu schützen, denn Kerberos verlässt sich auf die implizite Sicherheit der verwendeten Synchronisationsmethodik. Dies ist auch die größte Schwachstelle von Kerberos
Verschlüsselungstechniken teilweise veraltet und bereits „knackbar“
Brute-Force-Angriffe bei Anfrage nach TGT möglich
Kerberos ist in seiner aktuellen Version 5 ein guter Kompromiss zwischen Komplexität und erreichter Sicherheit
Gute Lösung eines Single-Sign-On-Verfahrens durch ein ausgelagerten Authentifizierungsserver
Sicherheit abhängig von Verschlüsselungsverfahren Durch leistungsstarke Verschlüsselung durchaus auf
drahtlose Netzwerke übertragbar
Kerberos-Zusammenfassung
Fragen?
Vielen Dank für Ihre Aufmerksamkeit!