350 likes | 620 Views
Authentifizierung, insbesondere Kerberos. Seminar Internet-Technologie SS 2007. Patryk Jucha; Matrikelnummer : 23218112; Fachbereich 16. Inhaltsübersicht. Einleitung Sicherheitsstufen von Authentifizierungsverfahren Welche Kontrollstrategien gibt es? Authentifizerungsverfahren Kerberos.
E N D
Authentifizierung, insbesondere Kerberos Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16
Inhaltsübersicht • Einleitung • Sicherheitsstufen von Authentifizierungsverfahren • Welche Kontrollstrategien gibt es? • Authentifizerungsverfahren • Kerberos
Was ist Authentifizierung? • 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? • 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)
Sicherheitsstufen von Auth. • 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)
Welche Kontrollstrategien gibt es? • 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
LAN-Manager Authentifizierung • 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
NTLM 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.).
EAP - Authentifizierungen • 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
MS .NET Passport • Auth. von Webanbietern wird auf zentr. Dienst ausgelagert • Webanbieter erspart sich Implementierungsaufwand einer sicheren Single-Sign-On Authentifizierung • Authentifizierungsdienst in sicherer Umgebung • Realisation: • Bei Zugriff auf Webangebot wird die Anfrage per HTTP-redirect an den Passport-Dienst weitergereicht • Eingabe von Benutzername und Passwort • Cookies zur weiteren automatischen Authentifizierung bei Anfragen werden angelegt(Single-Sign-On) • Der Passport-Dienst stellt ein verschlüsseltes Ticket aus, welches dem Benutzer ermöglicht die angefragte Seite zu besuchen
Kerberos 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-Motivation • 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-Einleitung 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-Aufbau • 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-Schritte KDC DNS 2. Domänencontroller 3. Anfrage TGT 1. Anfrage 4. Antwort TGT Client 8. Antwort 5. Dienstticket-Anfrage 7. Dienst starten! 6. Dienstticket Dienst TGS
Kerberos – Authentifizierung (TGT) Client(Alice) User_key[Alice] ID[Alice] 3. Anfrage TGT KDC User_Master-key[Alice] Session_key • 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 4. Antwort TGT Key TGS-Skey TGS-ID TGT ID(Alice)
Das TGT Verschlüsselt mit dem TGS-Session-Key
Kerberos-Authentifizierung(TGS) TGT ID(Alice) TGS-SKey Time-Stamp ID[Alice] 5. Dienstticket-Anfrage • 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. Client(Alice) User_key[Alice] ID[Alice] TGS User_Master-key[Alice] Session_key TGS-Skey Session-Key Session-ID 6. Dienstticket Ticket Session-Key ID[Alice]
Das Dienstticket für Bob Verschlüsselt mit dem Master-Key von Bob
Kerberos-Authentifizierung (Dienst) Time-Stamp ID[Alice] Ticket Session-Key ID[Alice] • 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. 7. Dienst starten! Dienst Client 8. Antwort
Kerberos-Einstellungen 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-Pro-Contra • Wegen gegenseitiger Athentifizierung, werden „Man-In-The-Middle-Angriffe“ unterbunden • Der TimeStamp erfordert es bei Verfahren wie „DictionaryAttack“, 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 Vorteile Nachteile
Kerberos-Zusammenfassung • 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
Vielen Dank für Ihre Aufmerksamkeit!