- 1 Abschnitt
- 17 Lektionen
- 1 Hour
alles ausklappenalles einklappen
- 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
Knowledge-based Authentication (KBA)
Knowledge-based Authentication (KBA) ist eine Authentifizierungsmethode, bei der Benutzer aufgefordert werden, Fragen zu beantworten, die nur sie wissen sollten. Diese Methode basiert auf dem Wissen des Benutzers und wird häufig als zusätzliche Sicherheitsebene verwendet, insbesondere bei der Wiederherstellung von Konten oder zur Verifizierung von Identitäten.
10.1 Typen von KBA
1. Statische KBA
- Beschreibung: Verwendet vorab festgelegte Fragen und Antworten, die der Benutzer bei der Kontoerstellung auswählt.
- Beispiele: „Wie lautet der Mädchenname Ihrer Mutter?“, „In welcher Stadt wurden Sie geboren?“
2. Dynamische KBA
- Beschreibung: Verwendet Fragen, die aus öffentlichen oder privaten Datenquellen generiert werden und sich auf aktuelle oder historische Informationen des Benutzers beziehen.
- Beispiele: „Welche Adresse hatten Sie vor fünf Jahren?“, „Welche Transaktion haben Sie zuletzt auf Ihrem Bankkonto durchgeführt?“
| Typ | Beschreibung | Beispiele |
|---|---|---|
| Statische KBA | Vorab festgelegte Fragen und Antworten | „Wie lautet der Mädchenname Ihrer Mutter?“ |
| Dynamische KBA | Fragen basierend auf aktuellen oder historischen Daten des Benutzers | „Welche Adresse hatten Sie vor fünf Jahren?“ |
10.2 Vor- und Nachteile der KBA
Vorteile:
- Einfachheit: Leicht zu implementieren und zu verstehen.
- Benutzerfreundlichkeit: Benutzer müssen keine neuen Anmeldeinformationen erstellen oder sich merken.
- Zusätzliche Sicherheitsebene: Kann in Kombination mit anderen Authentifizierungsmethoden verwendet werden.
Nachteile:
- Anfälligkeit für Social Engineering: Antworten können durch Phishing oder soziale Netzwerke herausgefunden werden.
- Datenlecks: Informationen, die zur Beantwortung von Fragen verwendet werden, können kompromittiert werden.
- Änderungen im Leben: Antworten können sich im Laufe der Zeit ändern, was zu Schwierigkeiten bei der Authentifizierung führen kann.
| Vorteile | Nachteile |
|---|---|
| Einfachheit | Anfälligkeit für Social Engineering |
| Benutzerfreundlichkeit | Anfälligkeit für Datenlecks |
| Zusätzliche Sicherheitsebene | Veränderungen im Leben können Probleme verursachen |
10.3 Sicherheitsaspekte und Herausforderungen
1. Schutz der Antworten:
- Verschlüsselung: Antworten auf Sicherheitsfragen sollten verschlüsselt gespeichert werden.
- Zugangsbeschränkungen: Nur autorisierte Personen oder Systeme sollten Zugriff auf die Antworten haben.
2. Auswahl geeigneter Fragen:
- Einzigartigkeit: Fragen sollten so gestaltet sein, dass nur der Benutzer die Antworten kennt.
- Schwierigkeit: Fragen sollten nicht leicht zu erraten oder zu recherchieren sein.
3. Aktualisierung und Verwaltung:
- Regelmäßige Überprüfung: Benutzer sollten regelmäßig aufgefordert werden, ihre Sicherheitsfragen und Antworten zu überprüfen und zu aktualisieren.
- Vielfalt der Fragen: Es sollte eine breite Auswahl an Fragen geben, um Wiederholungen zu vermeiden.
10.4 Implementierungsbeispiele
Beispiel 1: Konto-Wiederherstellung
Schritte:
- Identitätsprüfung: Der Benutzer wird aufgefordert, seine Identität durch die Beantwortung von Sicherheitsfragen zu bestätigen.
- Überprüfung: Das System überprüft die Antworten mit den gespeicherten Antworten.
- Zugriff: Bei korrekten Antworten wird der Benutzer authentifiziert und erhält Zugriff auf sein Konto.
Beispiel 2: Zusätzliche Sicherheitsebene
Schritte:
- Primäre Authentifizierung: Der Benutzer meldet sich mit Benutzername und Passwort an.
- Sekundäre Authentifizierung: Der Benutzer wird aufgefordert, eine oder mehrere Sicherheitsfragen zu beantworten.
- Überprüfung: Das System überprüft die Antworten und gewährt Zugriff bei Übereinstimmung.
Beispielcode zur Implementierung von KBA
1. Speichern von Sicherheitsfragen und Antworten:
# Beispiel-Datenbank mit Sicherheitsfragen und Antworten
user_data = {
"username": "johndoe",
"questions": [
{
"question": "Wie lautet der Mädchenname Ihrer Mutter?",
"answer": "Smith"
},
{
"question": "In welcher Stadt wurden Sie geboren?",
"answer": "Berlin"
}
]
}
2. Überprüfen von Sicherheitsfragen und Antworten:
def check_answers(username, answers):
user = get_user_by_username(username)
if not user:
return False
for stored_question, given_answer in zip(user['questions'], answers):
if stored_question['answer'].lower() != given_answer.lower():
return False
return True
# Beispiel-Aufruf
username = "johndoe"
answers = ["Smith", "Berlin"]
if check_answers(username, answers):
print("Authentifizierung erfolgreich!")
else:
print("Authentifizierung fehlgeschlagen!")
