26
Authentifizierung, insbesondere Kerberos Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Embed Size (px)

Citation preview

Page 1: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Authentifizierung, insbesondere Kerberos

SeminarInternet-Technologie

SS 2007

Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Page 2: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Einleitung Sicherheitsstufen von Authentifizierungsverfahren Welche Kontrollstrategien gibt es? Authentifizerungsverfahren Kerberos

Inhaltsübersicht

Page 3: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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?

Page 4: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Was ist Authentifizierung?

Page 5: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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?

Page 6: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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.

Page 7: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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?

Page 8: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 9: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 10: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 11: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 12: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 13: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 14: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 15: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 16: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 17: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

• 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

Page 18: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Das TGT

Verschlüsselt mit dem TGS-Session-Key

Page 19: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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]

Page 20: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Das Dienstticket für Bob

Verschlüsselt mit dem Master-Key von Bob

Page 21: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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]

Page 22: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 23: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 24: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

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

Page 25: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Fragen?

Page 26: Seminar Internet-Technologie SS 2007 Patryk Jucha; Matrikelnummer: 23218112; Fachbereich 16

Vielen Dank für Ihre Aufmerksamkeit!