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