- 1 Abschnitt
- 17 Lektionen
- 1 Hour
- Authentifizierung17
- 1.0Einführung in die Authentifizierung
- 1.1Methoden der Authentifizierung
- 1.2Multi-Factor Authentication (MFA)
- 1.3Moderne Authentifizierungsprotokolle
- 1.4OAuth 2.0
- 1.5OpenID Connect
- 1.6SAML (Security Assertion Markup Language)
- 1.7Kerberos
- 1.8Passwortmanagement
- 1.9Biometrische Authentifizierung
- 1.10Token-basierte Authentifizierung
- 1.11Zertifikatsbasierte Authentifizierung
- 1.12Knowledge-based Authentication (KBA)
- 1.13Authentifizierung in speziellen Umgebungen
- 1.14Sicherheitsaspekte der Authentifizierung
- 1.15Aufgaben
- 1.16Lösungen
Kerberos
Kerberos ist ein Netzwerk-Authentifizierungsprotokoll, das sichere Identifikation und Verifikation von Benutzern und Diensten in einem ungesicherten Netzwerk ermöglicht. Es basiert auf symmetrischer Kryptografie und einem vertrauenswürdigen Drittanbieter, dem Key Distribution Center (KDC). Kerberos wird häufig in Unternehmensnetzwerken eingesetzt, um die Sicherheit der Benutzeranmeldung und des Zugriffs auf Ressourcen zu gewährleisten.
Hauptkomponenten
- Key Distribution Center (KDC): Eine vertrauenswürdige dritte Partei, die Authentifizierungsdienste bereitstellt. Das KDC besteht aus zwei Teilen:
- Authentication Server (AS): Authentifiziert Benutzer und gibt Ticket Granting Tickets (TGT) aus.
- Ticket Granting Server (TGS): Gibt Service Tickets basierend auf TGTs aus.
- Client: Die Entität (z.B. Benutzer oder Anwendung), die auf einen Dienst zugreifen möchte.
- Server: Der Dienst, auf den der Client zugreifen möchte.
- Ticket: Ein verschlüsselter Datensatz, der die Identität des Benutzers und andere Informationen enthält und vom KDC ausgestellt wird.
Grundprinzip
Kerberos basiert auf dem Konzept von Tickets, die von einem zentralen KDC ausgestellt werden. Benutzer authentifizieren sich einmal bei der KDC und erhalten ein TGT. Dieses TGT kann dann verwendet werden, um Service Tickets für den Zugriff auf verschiedene Dienste innerhalb des Netzwerks zu erhalten, ohne dass der Benutzer seine Anmeldeinformationen erneut eingeben muss.
Kerberos Authentifizierungs-Flow
Der Authentifizierungsprozess in Kerberos besteht aus drei Hauptphasen:
Authentication Service (AS) Exchange:
- Der Client sendet eine Authentifizierungsanforderung an den AS.
- Der AS überprüft die Anmeldeinformationen des Clients und sendet ein verschlüsseltes TGT zurück.
Ticket Granting Service (TGS) Exchange:
- Der Client verwendet das TGT, um ein Service Ticket vom TGS anzufordern.
- Der TGS überprüft das TGT und gibt ein Service Ticket aus.
Client/Server (CS) Exchange:
- Der Client verwendet das Service Ticket, um auf den gewünschten Dienst zuzugreifen.
- Der Server überprüft das Service Ticket und gewährt Zugriff.
Detaillierter Ablauf
1. Authentication Service (AS) Exchange:
Client KDC (AS)
|------------------------->|
| 1. Authentifizierungsanforderung |
| 2. TGT und Session Key |
|<-------------------------|
Schritte:
- Der Client sendet eine Authentifizierungsanforderung, die die Benutzer-ID enthält.
- Der AS überprüft die Anmeldeinformationen und sendet ein TGT und einen Session Key zurück. Der TGT ist verschlüsselt und nur vom TGS lesbar.
2. Ticket Granting Service (TGS) Exchange:
Client KDC (TGS)
|------------------------->|
| 1. TGT und Service Request|
| 2. Service Ticket und Session Key |
|<-------------------------|
Schritte:
- Der Client sendet das TGT und eine Serviceanforderung an den TGS.
- Der TGS überprüft das TGT und sendet ein Service Ticket und einen neuen Session Key zurück.
3. Client/Server (CS) Exchange:
Client Server
|------------------------->|
| 1. Service Ticket und Authenticator|
| 2. Bestätigung und Zugriff |
|<-------------------------|
Schritte:
- Der Client sendet das Service Ticket und einen Authenticator an den Server.
- Der Server überprüft das Ticket und den Authenticator und gewährt Zugriff auf den Dienst.
Vorteile und Herausforderungen
Vorteile:
- Hohe Sicherheit: Kerberos verwendet starke Verschlüsselung und einen zentralen Authentifizierungsmechanismus.
- Einmalanmeldung (SSO): Benutzer müssen sich nur einmal anmelden, um auf mehrere Dienste zuzugreifen.
- Schutz vor Replay-Angriffen: Verwendet Zeitstempel und Authenticator, um Replay-Angriffe zu verhindern.
Herausforderungen:
- Komplexe Implementierung: Erfordert sorgfältige Konfiguration und Verwaltung.
- Single Point of Failure: Der KDC ist ein zentraler Bestandteil und muss hochverfügbar sein.
- Uhrensynchronisation: Erfordert präzise Zeitsynchronisation zwischen Client, KDC und Servern.
Beispiel eines Kerberos Tickets
Ein Kerberos Ticket enthält verschiedene Informationen, die verschlüsselt und signiert sind, um die Sicherheit zu gewährleisten.
Ticket:
{
"sname": "HTTP/server.example.com",
"cname": "user@example.com",
"flags": ["forwardable", "renewable"],
"authtime": "2023-01-01T12:00:00Z",
"endtime": "2023-01-01T14:00:00Z",
"session_key": "randomly-generated-key"
}
