Kerberos
Transcrição
Kerberos
Technische Universität München Kerberos Proseminar Grundlagen kryptographischer Protokolle 09. Juni 2009 Korbinian Riepl Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Technische Universität München Gliederung • • • • • • • Was ist Kerberos? Ziele von Kerberos Entstehung Kerberos 4 Probleme in Kerberos 4 und deren Lösung in Kerberos 5 Schwachstellen von Kerberos Vorteile von Kerberos Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 2 Technische Universität München Was ist Kerberos? • Lat. „Cerberus“: In griechischer Mythologie mehrköpfiger Hund, der Eingang zur Unterwelt bewacht • Kerberos ist ein – – – – sicherer und beiderseitiger Authentifizierungsprotokoll und -service, bei dem nur eine Anmeldung benötigt wird und der über einen vertrauenswürdigen Dritten abgewickelt wird. • Achtung: nur Authentifizierung, keine Autorisierung! Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 3 Technische Universität München Ziele von Kerberos • Sicherheit und Schutz vor Angriffen – Authentifizierung und Austausch von Sitzungsschlüsseln – Schutz vor z.B. Man-in-the-Middle-Attacks • Single-Sign-On: Nur eine Anmeldung nötig Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 4 Technische Universität München Entstehung: Früher Quelle: [Q2], Seite 3 Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 5 Technische Universität München Entstehung: Später Quelle: [Q2], Seite 4 Gründung des ATHENA-Projektes 1983 am MIT Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 6 Technische Universität München Kerberos 4: Beteiligte • Client C mit Benutzer Joe • Server S mit Dienst, z.B. NFS • Ticket Granting Server (TGS): Ausstellung von Tickets • Authentification Server (AS): Ausstellung des Ticket Granting Tickets (TGT) • AS und TGS bilden das Key Distribution Center (KDC), welches über eine Benutzerdatenbank verfügt, in der u.a. alle Benutzerschlüssel (KBenutzer) gespeichert sind. Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Joe AS TGS C KDC Benutzerdatenbank S C: AS: TGS: KDC: S: NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 7 Technische Universität München Kerberos 4: Schritt (1) Client AS: AS_REQ Joe, TGS, Nonce1 Joe AS (1) TGS C Identität des Clients KDC Identität des TGS, der für die Ausstellung der Tickets zuständig ist Authentifizierungsserver: - Verifikation der Existenz des Clients - Generierung des Sitzungsschlüssels KJoe,TGS Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos S C: AS: TGS: KDC: S: NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 8 Technische Universität München Kerberos 4: Schritt (2) AS Client: AS_REP {KJoe,TGS , Nonce1}KJoe, {TJoe,TGS}KTGS Sitzungsschlüssel für die Kommunikation des Clients mit dem TGS Erkennung von Replays TGT Joe (2) TGS C KDC (Ticket Granting Ticket) S Identität des TGS {TGS, Joe, IP-AdresseJoe, Zeitstempel, aaaaaaLaufzeit, KJoe,TGS}KTGS Identität des Clients AS (1) Gültigkeitsdauer des TGT Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos C: AS: TGS: KDC: S: NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 9 Technische Universität München Kerberos 4: Schritt (3) Client TGS: TGS_REQ {AJoe}KJoe,TGS, {TJoe,TGS}KTGS, NFS, Nonce2 Joe (2) (3) C Authentikator AS (1) TGS KDC TGT Dienst, der genutzt werden soll S {Joe, IP-AdresseJoe, Zeitstempel} KJoe,TGS Ticket Granting Server: - Verifizierung des Authentikators - Generierung des Sitzungsschlüssels KJoe,NFS Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos C: AS: TGS: KDC: S: NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 10 Technische Universität München Kerberos 4: Schritt (4) TGS Client: TGS_REP {KJoe,NFS , Nonce2}KJoe,TGS, {TJoe,NFS}KNFS Joe (2) (3) C Sitzungsschlüssel AS (1) TGS (4) KDC Ticket für den Server, enthält u.a. Sitzungsschlüssel S C: AS: TGS: KDC: S: Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 11 Technische Universität München Kerberos 4: Schritt (5) Client NFS: NFS_REQ {AJoe}KJoe,NFS, {TJoe,NFS}KNFS Joe AS (1) (2) (3) C TGS (4) KDC Authentikator (5) S C: AS: TGS: KDC: S: Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 12 Technische Universität München Kerberos 4: optionaler Schritt (5‘) NFS Client: NFS_REP {AJoe*}KJoe,NFS Joe (2) (3) C Authentikator mit um 1 erhöhten Zeitstempel (5) C: AS: TGS: KDC: S: TGS (4) KDC (5‘) S Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos AS (1) NFS Client Authentification Server Ticket Granting Server Key Distribution Center Server, z.B. NFS Korbinian Riepl 09.06.2009 Folie 13 Technische Universität München Probleme in Kerberos 4 und Lösung in Kerberos 5 • • • • Offline-Attacke auf TGT nach Schritt (1) möglich Client muss im Schritt (1) gehaschtes Passwort korrekt übermitteln, um TGT zu bekommen. Kein Forwarding möglich: Für Tickets, die nicht im Zuständigkeitsbereich des eigenen TGS liegen, muss das Passwort im Klartext übertragen werden. Es gibt eine Hierarchie von KDCs, die untereinander das Forwarding ermöglichen. DES als Verschlüsselungsmethode vorgeschrieben Es können verschiedene (sicherere) Verschlüsselungsmethoden zwischen Server und Clients verwendet werden. Keine Möglichkeit, im Auftrag Dritter tätig zu sein Unterstützung des Delegationsprinzips Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 14 Technische Universität München Schwachstellen von Kerberos • Standardmäßig: Ablegung der Tickets im /tmp-Verzeichnis • Passwörter als Basis • KDC verschlüsselt alle Benutzerpasswörter mit gleichem Serverpasswort • Problem der Synchronisierung der Zeit • Sitzungsschlüssel können während der Laufzeit für jede Verbindung mit dem Server verwendet werden • In Kerberos 5: Maximale Laufzeit der Tickets bis zum Jahr 9999 Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 15 Technische Universität München Vorteile von Kerberos Trotzdem: hoher Sicherheitsgewinn durch: • Authentifizierter Zugriff • Keine Übertragung des Passworts im Klartext • Single Sign-On Benutzer wählen sichereres Passwort Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 16 Technische Universität München Literatur [Q1] „IT-Sicherheit“ von Claudia Eckert, Oldenburg-Verlag, Seiten 498 bis 508 [Q2] „Kerberos – The Definitive Guide“ von Jason Garman, Verlag O‘Reilly, Seiten 1 bis 36 [Q3] http://de.wikipedia.org/wiki/Kerberos_(Informatik), aufgerufen am 14.04.2009 Proseminar Grundlagen kryptographischer Protokolle SS 2009: Kerberos Korbinian Riepl 09.06.2009 Folie 17