TL;DR
FIDO2/WebAuthn Hardware Security Keys wie YubiKey oder Nitrokey eliminieren Phishing-Angriffe auf die Multi-Faktor-Authentifizierung (MFA) durch ihr Origin-Binding-Prinzip vollständig. Im Gegensatz zu TOTP-Codes, die Angreifer mit Tools wie Evilginx2 in Echtzeit relayen können, verweigert ein FIDO2-Key die Signatur, wenn die Anmeldedomain nicht exakt mit dem registrierten Origin übereinstimmt. Der Private Key verlässt den Hardware-Key dabei niemals. Für Unternehmen bedeutet dies eine signifikante Erhöhung der Sicherheit, da Phishing-Versuche strukturell unmöglich werden. Für ein Enterprise-Deployment sind Aspekte wie Attestation, die Nutzung von Resident Keys (Passkeys) und die Bereitstellung von mindestens zwei Keys pro Benutzer essenziell, um Ausfallsicherheit zu gewährleisten.
Diese Zusammenfassung wurde KI-gestützt erstellt (EU AI Act Art. 52).
Inhaltsverzeichnis (7 Abschnitte)
TOTP-Codes (Google Authenticator) gelten als sicher - bis ein Angreifer eine Echtzeit-Phishing-Seite betreibt die den Code relay’t. FIDO2/WebAuthn Hardware Security Keys lösen dieses Problem fundamental: durch Origin-Binding ist ein Phishing-Angriff strukturell unmöglich, nicht nur schwieriger. Dieser Guide erklärt die Technik und das Enterprise-Deployment.
Warum TOTP nicht mehr ausreicht
Das Echtzeit-Phishing-Problem
Angreifer mit Evilginx2/Modlishka (Reverse Proxy) schalten sich als Proxy zwischen Opfer und echte Website:
Opfer Phishing-Seite Echte Microsoft-Seite
│ login.microsoft-secure.com login.microsoft.com
│ │ │
├──Username────────►│──Username────────────────►│
│◄─────────────────┤◄─────────────────────────┤
│ TOTP-Formular │ TOTP-Formular │
├──TOTP-Code───────►│──TOTP-Code (< 30s!)───────►│
│◄─────────────────┤◄─Cookie/Session────────────┤
│ "Login OK" │ Angreifer HAT SESSION! │
Warum TOTP versagt:
- Evilginx2 relayed TOTP in Echtzeit → 30-Sekunden-Fenster reicht!
- Opfer sieht legitime Seite (HTTPS, grünes Schloss durch Letsencrypt)
- Kein technisches Merkmal für Opfer erkennbar
FIDO2 verhindert das:
- Challenge-Response ist Domain-gebunden (origin)
- YubiKey antwortet NUR für
https://login.microsoftonline.com - Phishing-Domain ≠ Microsoft-Domain → Key antwortet nicht!
- Angreifer bekommt: keine Antwort, kein Relay möglich
FIDO2/WebAuthn Technik
Registrierung (einmalig)
- Server (Relying Party) generiert Challenge + seinen Origin
- Browser/Client sendet Challenge an Security Key
- Key generiert Schlüsselpaar: Private Key (im Key), Public Key (an Server)
- Key signiert Challenge mit Private Key
- Server speichert Public Key → Registrierung abgeschlossen
Authentication
- Server generiert neue Challenge
- Browser sendet Challenge + Origin an Key
- Key prüft: darf ich für diesen Origin signieren?
- Yes: Private Key signiert Challenge
- No (Phishing-Origin!): Fehlermeldung
- Browser sendet Signatur an Server
- Server prüft Signatur mit gespeichertem Public Key → Login OK
Warum Phishing unmöglich ist
- Private Key verlässt den Hardware-Key niemals
- Origin ist Teil der signierten Challenge
- Phishing-Site ≠ Echter Origin → Key verweigert Signatur
Credential-Typen
Resident Key (Discoverable Credential):
- Schlüssel + Username im Key gespeichert
- Kein Username eingeben nötig → “Passkey”
- Limit: YubiKey 5 speichert max. 25 Resident Keys
Non-Resident Key:
- Key-Handle vom Server gespeichert, Key selbst nur PIN/Touch
- Unbegrenzt viele Credentials möglich
- Username muss bekannt sein
Attestation:
- Key beweist: “Ich bin ein YubiKey 5 von Yubico (echt)”
- Enterprise: nur attestierte Keys erlaubt (kein Software-Authenticator)
- FIDO MDS (Metadata Service): Attestation-Zertifikate öffentlich
Hardware Security Keys im Vergleich
YubiKey 5 Series (Yubico)
- Preis: ~50-80 EUR
- Protokolle: FIDO2, FIDO U2F, WebAuthn, OTP, TOTP, PIV, OpenPGP
- Formfaktoren: USB-A, USB-C, NFC, Nano
- Resident Keys: 25 (FIDO2)
- PIN-Schutz: erforderlich (Enterprise-Mode)
- Empfehlung: YubiKey 5 NFC (USB-A + NFC) für die meisten Fälle
| Modell | Interface |
|---|---|
| YubiKey 5C NFC | USB-C + NFC (Macbooks, iPhone) |
| YubiKey 5Ci | USB-C + Lightning (iPhone ohne NFC) |
| Security Key NFC | nur FIDO (günstiger, kein OTP/PIV) |
Google Titan Key
- Preis: ~35 EUR
- Protokolle: FIDO2, FIDO U2F (nur FIDO - kein OTP, kein PIV)
- NFC-Variante für Android/iPhone
Nitrokey (deutsch)
- Preis: ~40-70 EUR
- Open Source Hardware + Firmware
- FIDO2 + OpenPGP + TOTP + PIV
- Datenschutz: kein US-Unternehmen
OnlyKey
- 12 Passwort-Slots per Hardware-Button
- FIDO2 + SSH + OTP
- Self-Destruct nach X falschen PINs
Enterprise-Anforderungen
- FIPS 140-2 Level 2+: YubiKey 5 FIPS (für US-Gov, Behörden)
- Attestation-Support: alle FIDO2-Keys
- Remote-Provisioning: Yubico YubiEnterprise Delivery
- Key-Backup: immer 2 Keys pro User (Primary + Backup)
- Formfaktor: USB-C für moderne Laptops, NFC für Smartphones
Deployment in Active Directory
Voraussetzungen
- Azure AD Hybrid Join (oder vollständig Azure AD)
- Windows Server 2019 / 2022 als Key Distribution Service (KDC)
- PKI: Enterprise CA für Windows Hello-Zertifikate
FIDO2 Security Key in Azure AD aktivieren
// Azure AD Portal → Security → Authentication Methods
// → FIDO2 Security Key → Aktivieren
// → Allow self-service registration: Ja
// → Enforce key restriction: Ja (nur spezifische Hersteller)
// AAGUIDs für erlaubte Keys (nur YubiKey 5 NFC):
{
"allowedKeys": [
{
"aaguid": "fa2b99dc-9e39-4257-8f92-4a30d23c4118",
"enforcementType": "allow",
"name": "YubiKey 5 NFC"
}
]
}
Benutzer-Registrierung
- User geht zu: https://mysignins.microsoft.com/security-info
- ”+ Anmeldemethode hinzufügen” → Sicherheitsschlüssel
- YubiKey einstecken → PIN setzen → Touch
- Fertig: Passkey in Azure AD registriert
Passwortloses Login (Windows 10/11)
Lock-Screen: Taste drücken → “Sicherheitsschlüssel” wählen → PIN eingeben → YubiKey berühren → Login ohne Passwort!
Conditional Access für FIDO2-Key-Pflicht
# Azure AD → Conditional Access → New Policy
# Users: Alle Benutzer
# Apps: Office 365, Azure Portal
# Grant: Require multi-factor authentication
# + Authentication strength: FIDO2 Security Key
LDAP/On-Premises Integration (YubiKey PIV)
YubiKey als Smart Card für Windows-Login ohne Azure AD:
# Zertifikat in YubiKey importieren (PIV Slot 9a):
yubico-piv-tool -a import-certificate -s 9a -i user.crt
yubico-piv-tool -a import-key -s 9a -i user.key
SSH mit Hardware Security Keys
# ECDSA-SK (Security Key) Key-Pair generieren:
ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
# → YubiKey einstecken → Touch required!
# → Erzeugt: id_ecdsa_sk (handle) + id_ecdsa_sk.pub
# Mit Resident Key (im YubiKey gespeichert):
ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk
# Public Key auf Server deployen:
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub user@server
# SSH-Login mit YubiKey:
ssh -i ~/.ssh/id_ecdsa_sk user@server
# → Blinkt: Touch YubiKey!
# → Login ohne Passwort, phishing-sicher
# Resident Keys nach Diebstahl/Verlust wiederherstellen:
ssh-keygen -K # Importiert alle Resident Keys vom YubiKey
# → id_ecdsa_sk_rk + id_ecdsa_sk_rk.pub im aktuellen Verzeichnis
# Nur Touch (Presence):
ssh-keygen -t ecdsa-sk # Standard: touch required
# PIN + Touch (höhere Sicherheit):
ssh-keygen -t ecdsa-sk -O verify-required
# → Erfordert: PIN eingeben + Touch bei jedem Login
# No-Touch-Required (für Automation, weniger sicher):
ssh-keygen -t ecdsa-sk -O no-touch-required
PAM-Integration für Linux-Login
# Installation:
sudo apt install libpam-u2f pamu2fcfg
# YubiKey für User registrieren:
mkdir -p ~/.config/Yubico
pamu2fcfg > ~/.config/Yubico/u2f_keys
# → YubiKey einstecken → Touch!
# PAM-Konfiguration (/etc/pam.d/sudo):
auth required pam_u2f.so authfile=/etc/security/u2f_keys cue
# Systemweit (alle User):
# /etc/security/u2f_keys:
# username:keyhandle1,public_key1:keyhandle2,public_key2
# Test:
sudo ls /root # → YubiKey Touch required!
# System-Login (GDM, SDDM) - /etc/pam.d/gdm-password:
auth required pam_u2f.so authfile=/etc/security/u2f_keys
# → GUI-Login: Passwort + YubiKey-Touch
# Backup-Mechanismus (WICHTIG!):
pamu2fcfg >> ~/.config/Yubico/u2f_keys # Zweiter Key!
# → Immer 2 Keys registrieren: Primary + Backup!
# Oder: SSH-Key als Fallback - /etc/pam.d/sshd:
auth required pam_u2f.so authfile=... nouserok
# nouserok: User ohne registrierten Key kann weiter mit Passwort
Enterprise-Rollout
Phase 1 - Pilot (2 Wochen)
- 10-20 IT-affine Mitarbeiter auswählen
- Training: 30-Min-Session “Wie benutze ich den YubiKey?”
- Feedback sammeln: Probleme, UX-Fragen
- Support-Dokumentation erstellen
Phase 2 - Rollout (6-8 Wochen)
- Abteilungsweise (zunächst kritische Zugänge: IT, Finance, HR)
- Yubico YubiEnterprise Delivery:
- Vorkonfigurierte Keys direkt an Mitarbeiter-Adresse
- PINs separat versendet (Zero-Touch-Provisioning)
- Helpdesk-Training: häufige Probleme
Phase 3 - Enforcement
- Conditional Access: FIDO2 Required für alle Admins
- TOTP als Fallback für spezifische Use-Cases noch erlaubt
- TOTP-Abschaltung nach 6 Monaten (wenn alle registriert)
Kosten
| Posten | Kosten |
|---|---|
| YubiKey 5 NFC | ~50 EUR/Key |
| 2 Keys pro User (Primary + Backup) | ~100 EUR/User |
| YubiEnterprise (ab 500 Keys) | günstiger Staffelpreis |
Verlust/Diebstahl-Prozess
- Mitarbeiter meldet: Key verloren
- IT sperrt: Azure AD → Security Info → Key entfernen
- Backup-Key: sofort einsatzbereit (vorher registriert!)
- Neuer Key: YubiKey Enterprise-Lieferung → 1-2 Werktage
Häufige Fragen
- “Vergesse ich den Key im Büro?” → NFC-Key immer in Geldbörse
- “Was bei iOS?” → YubiKey 5C NFC oder Lightning (5Ci)
- “VPN-Kompatibilität?” → OpenVPN FIDO2: funktioniert
- “SAP?” → SAP Logon FIDO2: kein nativer Support → MFA via Azure AD
Nächster Schritt
Unsere zertifizierten Sicherheitsexperten beraten Sie zu den Themen aus diesem Artikel — unverbindlich und kostenlos.
Kostenlos · 30 Minuten · Unverbindlich
