Begriff
2FA (Zwei-Faktor-Authentifizierung)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Stell dir vor, deine Haustür hat nicht nur ein normales Schloss, sondern zusätzlich einen Wachmann, der dich nur reinlässt, wenn du ihm deinen Ausweis zeigst. Selbst wenn jemand deinen Hausschlüssel klaut, kommt er nicht rein, weil er deinen Ausweis nicht hat.
Genau das ist 2FA: Ein zusätzliches Sicherheitsnetz für deine Online-Konten.
Normalerweise schützt du dich nur mit einem Passwort (Faktor 1: Wissen). Wenn das jemand errät oder klaut, ist dein Konto weg. Mit 2FA brauchst du einen zweiten Beweis, dass du wirklich du bist.
Die drei Arten von Faktoren
Um als "echte" 2FA zu gelten, müssen zwei unterschiedliche Kategorien kombiniert werden:
- 🧠 Wissen (Etwas, das du weißt)
- Beispiel: Passwort, PIN, Muster.
- 📱 Besitz (Etwas, das du hast)
- Beispiel: Dein Smartphone, eine Bankkarte, ein USB-Sicherheitsschlüssel (YubiKey).
- 👁️ Inhärenz (Etwas, das du bist)
- Beispiel: Fingerabdruck, Gesichtsscan (FaceID), Iris-Scan.
Beispiel: Geld am Automaten abheben ist klassische 2FA. Du brauchst die Karte (Besitz) UND die PIN (Wissen). Nur eines davon reicht nicht.
Es gibt verschiedene Methoden für den "zweiten Faktor". Nicht alle sind gleich sicher.
1. SMS-Code (mTAN) 📉
Du bekommst eine SMS mit einem Code ("123456"), den du eingeben musst.
- Vorteil: Funktioniert auf jedem Handy, einfach.
- Nachteil: Unsicher! Hacker können SMS abfangen (SIM-Swapping) oder dich durch Phishing-Seiten dazu bringen, den Code einzutippen.
- Fazit: Besser als nichts, aber vermeide es, wenn es Alternativen gibt.
2. Authenticator Apps (TOTP) ⭐ Empfohlen
Apps wie Google Authenticator, Microsoft Authenticator, Authy oder 2FAS. Die App zeigt dir einen 6-stelligen Code an, der sich alle 30 Sekunden ändert.
- Vorteil: Funktioniert offline (auch im Flugzeug), Codes werden lokal auf deinem Handy generiert, kein Mobilfunknetz nötig.
- Nachteil: Du brauchst dein Handy. Wenn es weg ist, brauchst du Backup-Codes.
3. Push-Benachrichtigung ("Ad-hoc")
Dein Handy vibriert: "Versuchst du dich gerade anzumelden? Ja/Nein"
- Vorteil: Extrem bequem. Nur ein Fingertipp.
- Nachteil: MFA Fatigue. Hacker spammen dich nachts mit Anfragen voll, bis du genervt oder aus Versehen auf "Ja" drückst. Moderne Systeme verlangen deshalb oft zusätzlich, dass du eine Zahl vom Bildschirm in die App tippst ("Number Matching").
4. Hardware-Sicherheitsschlüssel (FIDO2 / U2F) 🏆 Gold Standard
Ein kleiner USB-Stick (z.B. YubiKey), den du am Schlüsselbund hast. Zum Einloggen steckst du ihn an den PC oder hältst ihn ans Handy (NFC) und tippst drauf.
- Vorteil: Unknackbar durch Phishing. Selbst wenn du auf einer Fake-Seite bist, gibt der Stick den Code nicht heraus.
- Nachteil: Kostet Geld (ca. 50€), man muss ihn dabei haben.
Hier schauen wir unter die Haube. Wie funktioniert die Magie mathematisch?
TOTP (Time-based One-Time Password) - RFC 6238
Das ist der Standard hinter Google Authenticator. Er basiert auf Symmetrischer Kryptographie.
- Shared Secret: Beim Einrichten (QR-Code scannen) tauschen Server und Handy ein geheimes "Secret" aus (z.B. ein Base32-String
JBSWY3DPEHPK3PXP). - Der Algorithmus: Beide Seiten (Server & Handy) berechnen unabhängig voneinander den Code:
Code = HMAC-SHA1(Secret, Zeitintervall)- Zeitintervall: Die aktuelle Unix-Zeit geteilt durch 30 (abgerundet).
- Ergebnis: Ein Hash-Wert, der auf 6 Ziffern gekürzt wird.
- Verifizierung: Da beide Uhren synchron laufen, kommen beide zum gleichen Ergebnis. Der Server toleriert meist ±1 Zeitfenster (30 Sekunden), falls die Uhren leicht asynchron sind (Clock Drift).
FIDO2 / WebAuthn (Der Phishing-Killer)
Warum ist ein YubiKey sicherer als eine App? Weil er Asymmetrische Kryptographie nutzt und die Domain prüft.
Das Problem bei TOTP/SMS: Wenn du auf g00gle.com (Fake) bist, tippst du deinen Code ein. Der Hacker nimmt den Code und tippt ihn zeitgleich bei google.com (Echt) ein. Er ist drin. Das nennt man Man-in-the-Middle oder Real-Time Phishing.
FIDO2 löst das:
- Der Browser sagt dem Stick: "Hey, signiere diesen Login für die Domain
g00gle.com". - Der Stick schaut in seinen sicheren Speicher: "Habe ich einen Schlüssel für
g00gle.com?" -> NEIN. - Der Stick hat nur einen Schlüssel für
google.com. Er verweigert die Antwort. - Der Angriff schlägt fehl. Der Nutzer kann sich gar nicht versehentlich falsch authentifizieren.
Recovery Codes (Notfallschlüssel)
Was, wenn ich mein Handy verliere? Dienste geben dir beim Einrichten Recovery Codes (meist 10 Stück).
- Diese Codes umgehen 2FA.
- WICHTIG: Speichere diese Codes NICHT im selben Passwort-Manager wie dein Passwort (Single Point of Failure). Drucke sie aus und lege sie in einen Safe oder speichere sie auf einem verschlüsselten USB-Stick.
Enterprise-Umgebungen benötigen eine skalierbare Architektur für MFA (Multi-Faktor-Authentifizierung), die weit über Consumer-TOTP-Apps hinausgeht.
1. Identity Provider (IdP) & SSO
Anstatt 2FA für jeden einzelnen Dienst (Jira, GitLab, Slack) zu implementieren, koppelt man die Dienste per SAML 2.0 oder OIDC (OpenID Connect) an einen zentralen Identity Provider (IdP) (z.B. Okta, Azure AD, Keycloak).
- Vorteil: Die MFA-Logik (z.B. FIDO2-Auswertung, TOTP-Secrets) liegt ausschließlich beim IdP. Der jeweilige Service (z.B. GitLab) erhält nach erfolgreichem Login nur ein signiertes Token, das aussagt: "Benutzer X hat sich erfolgreich mit MFA authentifiziert."
2. Conditional Access & Risk-Based Authentication
Level 3 ist nicht nur "Hast du einen Code?", sondern Kontext-basiert. Identity-Systeme werten parallel zum Login Metadaten aus:
- Impossible Travel: Wenn sich ein Benutzer um 10:00 Uhr aus Frankfurt einloggt und um 10:05 Uhr aus Tokio, wird der Login blockiert, selbst wenn das Passwort und der 2FA-Code korrekt sind (Sessions-Hijacking Verdacht).
Device Trust: Ist das Gerät (z.B. der Laptop), von dem der Login kommt, über MDM (Mobile Device Management) als vertrauenswürdig ("compliant") markiert?
Musterantwort: Beginne mit dem konkreten Fall, prüfe die Fakten und erkläre den Begriff daran. Für diesen Abschnitt gilt: Es gibt verschiedene Methoden für den "zweiten Faktor". Nicht alle sind gleich sicher.
3. FIDO2 Server-Architektur (WebAuthn)
WebAuthn ist Bestandteil der FIDO2-Spezifikation. Auf Server-Seite erfordert dies einen Relying Party (RP) Server.
- Registration: Der RP-Server erzeugt eine
challenge(Zufallswert). Der Authenticator (YubiKey) signiert die Challenge und den RP-ID (Domain-Namen) und sendet den öffentlichen Schlüssel (Public Key) an den Server. Der Server speichert diesen Key in der Datenbank für diesen User. - Authentication: Der RP-Server sendet eine neue
challenge. Der Authenticator nutzt seinen sicheren Speicher, um mit dem privaten Schlüssel die Challenge zu signieren. Der Server prüft die Signatur mit dem in der DB hinterlegten öffentlichen Schlüssel. Da der Private Key den Stick nie verlässt, ist das System gegen Server-Breaches immun.
Quick-Check
Warum ist SMS-2FA unsicher?
SMS ist unverschlüsselt und kann abgefangen werden (SIM-Swapping). Zudem tippen Nutzer den Code oft bereitwillig auf Phishing-Seiten ein.Was schützt vor "MFA Fatigue" (Push-Spam)?
"Number Matching". Der Nutzer muss eine Zahl, die auf dem PC-Anmeldebildschirm steht, in die App eintippen. Das beweist, dass er wirklich vor dem Bildschirm sitzt.Was ist der Unterschied zwischen 2FA und 2-Schritt-Verifizierung (2SV)?
Oft synonym verwendet. Streng genommen verlangt 2FA zwei verschiedene Faktortypen (Wissen + Besitz). Wenn du zwei Passwörter eingeben musst (Wissen + Wissen), ist das 2SV, aber keine echte 2FA.