Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Grundlagen der entfernten Authentifizierung und Autorisierung:
KerberosProseminar Konzepte von Betriebssystem-Komponenten
Sommersemster 2010
Florian [email protected]
23. Juni 2010
KvBK – 23. Juni 2010 Florian Lukas
Motivation
Ausgangspunkt:
Typisches Firmen oder Universitäts-Szenario:
• Verschiedene Dienste(Login, NFS, HTTP, SSH, Drucker, ...)
• Verteilte Rechner(Desktops, Server, VPN-Clients, ...)
• Mehrere Benutzer(Mitarbeiter, Studenten, Admins, Programme, ...)
2
KvBK – 23. Juni 2010 Florian Lukas
Motivation
Ziel:
• Zugriffskontrolle (wer darf was)
• einheitliches, zentrales User-Management
• Single-Sign-On (nur ein Login für alle Dienste)
3
KvBK – 23. Juni 2010 Florian Lukas
Inhalt
1. Grundlagen
1.1. Authentisierung & Autorisation
1.2. Sichere Kommunikation mit symmetrischen Schlüsseln
1.3. Needham-Schroeder
2. Kerberos
3. Zusammenfassung
4
KvBK – 23. Juni 2010 Florian Lukas
Grundlagen
Grundlegende Unterscheidung zwischen
• Authentifizierung
• Autorisierung
5
KvBK – 23. Juni 2010 Florian Lukas
Authentifizierung
Feststellen und Überprüfen der Identität eines Benutzers
Nachweis der Identität durch
• Passwort
• Zertifikate
• Smart-Card
• Biometrische Merkmale (Fingerabdruck, ...)
6
KvBK – 23. Juni 2010 Florian Lukas
Autorisierung
Überprüfung und Vergabe von Zugriffrechten eines (authentifizierten) Benutzers
Meist dienstspezifisch, z.B.
• Dateizugriffsrechte (UNIX mode bits, ACLs)
• Erlaubte Operationen (GRANT Befehl in SQL)
• ...
7
KvBK – 23. Juni 2010 Florian Lukas
Sichere Kommunikation
Ziel:
Sichere Kommunikation zwischen A (Benutzer) und B (Dienst)
Ansatz:
• Verteilung symmetrischer Schlüssel
• Verschlüsselung aller Kommunikation mit diesem Schlüssel
8
KvBK – 23. Juni 2010 Florian Lukas
Probleme
• Vorverteilung von symmetrischen Schlüsseln skaliert sehr schlecht:N Teilnehmer brauchen N(N-1)/2 Schlüssel
• Replay-Angriff: Nachrichten werden abgefangen und später wiederholt
• Suppress-Replay-Angriff: Nachrichten werden verzögert
9
KvBK – 23. Juni 2010 Florian Lukas
Entfernte Authentifizierung
Lösung: Verwendung eines Authentifizierungsprotokolls mit
• Authentifizierung von A und B
• Einrichtung eines gemeinsamen (symmetrischen) Sitzungsschlüssels
• Benutzung dieses Schlüssels für eigentliche Kommunikation
➡ Needham-Schroeder-Protokoll
10
KvBK – 23. Juni 2010 Florian Lukas
Key Distribution Center
• Vertrauenswürdige Einheit
• hat mit jeder anderen Einheit einen geheimen Schlüssel
• nur noch N-1 statt N(N-1)/2 Schlüssel zu verteilen bei N Einheiten
11
KDC BA BBAA
KvBK – 23. Juni 2010 Florian Lukas
Needham-Schroeder
12
KDC BA
A, B, N1
A, K
B ↔ KDC
N2 + 1
K
N2
K
A, B, N1, K,
A ↔ KDC
A, KB ↔ KDC
KvBK – 23. Juni 2010 Florian Lukas
Inhalt1. Grundlagen
2. Kerberos
2.1. Komponenten
2.2. Protokollablauf
2.3. Besonderheiten
2.4. Verwendung
2.5. Nachteile
3. Zusammenfassung
13
KvBK – 23. Juni 2010 Florian Lukas
Kerberos
• Authentifizierungssystem auf Basis des Needham-Schroeder-Protokolls(nicht zuständig für Autorisierung!)
• Entwickelt am MIT
• Inzwischen IETF-Standard
• Als Open Source und kommerziell verfügbar
• Aktuell Version 5
14
KvBK – 23. Juni 2010 Florian Lukas
Komponenten
15
AS
TGS B
A
BB
AA
Clients Dienste
Authentifizierungs-Server
Ticket-Granting-Server
KvBK – 23. Juni 2010 Florian Lukas
Protokollablauf
16
TGSA
A
K[A↔TGS],
A ↔ AS
A, K[A↔TGS]
AS ↔ TGS
AS
A, K[A↔TGS]
AS ↔ TGS
, B, T1
K[A↔TGS]
B, K[A↔B]K[A↔TGS]
A, K[A↔B]TGS↔B
(1)
KvBK – 23. Juni 2010 Florian Lukas
Protokollablauf
17
TGSA
A, K[A↔TGS]
AS ↔ TGS
, B, T1
K[A↔TGS]
B, K[A↔B]K[A↔TGS]
A, K[A↔B]TGS↔B
(2)
B
T2 + 1K[A↔B]
T2
K[A↔B]A, K[A↔B]
TGS↔B
KvBK – 23. Juni 2010 Florian Lukas
Cross-Realm-Trust
• Eine eigenständige Kerberos-Installation wird als Realm bezeichnet
• Sich vertrauende Realms können gegenseitig auf Dienste zugreifen ohne neue Authentifizierung beim anderen Realm
• Dazu muss nur ein gemeinsamer Schlüssel zwischen den TGS ausgetauscht werden
• Der entfernte TGS wird dann wie ein normaler Dienst behandelt
18
KvBK – 23. Juni 2010 Florian Lukas
Cross-Realm-Trust
19
AS
TGS
A
TGS B
AS
Realm 1
Realm 21
2 3 4
KvBK – 23. Juni 2010 Florian Lukas
Authentifizierung
• Authentifizierung des Benutzers erfolgt nur einmalig beim AS
• Pre-Authentication erfordert das Senden eines mit dem Passwort verschlüsselten Zeitstempels von A zum AS vor dem ersten Ticket vom AS(wegen Offline-Passwort-Attacken)
• Neben Passwort auch andere Authentifizierungsmöglichkeiten, z.B. durch eine Smart-Card
20
KvBK – 23. Juni 2010 Florian Lukas
Spezielle Tickets
• Erneuerbare Tickets (z.B. lange Prozesse)
• Vordatierte Tickets (z.B. Batch/Cron Jobs)
• Weiterleitbare Tickets (z.B. geschachtelte SSH Verbindungen)
21
KvBK – 23. Juni 2010 Florian Lukas
Verwendung
Kerberos ist u. a. verfügbar als Bestandteil von
• Microsoft Active Directory
• Apple Open Directory
Außerdem wird Kerberos benutzt für
• Apple Back to My Mac
• Xbox Live
22
KvBK – 23. Juni 2010 Florian Lukas
Nachteile
• Fällt der AS oder TGS aus ist überhaupt keine Nutzung der Dienste mehr möglichLösung: Redundanz
• Zeitsynchronisation erforderlichLösung: NTP
• Wird der AS oder TGS kompromittiert, sind alle Dienste und Benutzer kompromittiertLösung: ?
23
KvBK – 23. Juni 2010 Florian Lukas
Zusammenfassung
• Grundlagen:Authentifizierung (Nachweis der Identität) Autorisierung (Prüfung der Berechtigungen)Sichere Kommunikation durch symmetrische Schlüssel
• Needham-Schroeder Protokoll:Protokoll zur Authentifizierung mittels symmetrischer Schlüssel und eines KDC
• Kerberos:System zur entfernten Authentifizierung
24
KvBK – 23. Juni 2010 Florian Lukas
Quellen
• Computernetze,Larry L. Peterson, Bruce S. Davie,dpunkt.verlag, 2007
• Netzsicherheit,Günter Schäfer,dpunkt.verlag, 2003
• The Kerberos Network Authentication Service (V5)RFC 4120http://tools.ietf.org/html/rfc4120
25
KvBK – 23. Juni 2010 Florian Lukas26
Vielen Dank für die Aufmerksamkeit!Noch Fragen?