Zum Inhalt springen

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Hardware Security Keys und FIDO2: Phishing-resistente MFA im Unternehmen - Phishing-E-Mail mit Warnsignalen
Netzwerk- & Endpoint Security

Hardware Security Keys und FIDO2: Phishing-resistente MFA im Unternehmen

FIDO2/WebAuthn erklärt: wie Hardware Security Keys (YubiKey, Nitrokey, Google Titan) Phishing-Angriffe vollständig verhindern. Public-Key-Kryptographie, Attestation, Enterprise-Deployment mit Active Directory und Azure AD, Backup-Keys, PIN-Enforcement, und FIDO2-Kompatibilität für Office 365, SSH, VPN und Linux-Login.

Jan Hörnemann Jan Hörnemann Chief Operating Officer · Prokurist
10 Min. Lesezeit
ISO 27001 Lead Auditor (PECB/TÜV) T.I.S.P. (TeleTrusT) ITIL 4 (PeopleCert) BSI IT-Grundschutz-Praktiker (DGI) Ext. ISB (TÜV) BSI CyberRisikoCheck CEH (EC-Council)

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)

  1. Server (Relying Party) generiert Challenge + seinen Origin
  2. Browser/Client sendet Challenge an Security Key
  3. Key generiert Schlüsselpaar: Private Key (im Key), Public Key (an Server)
  4. Key signiert Challenge mit Private Key
  5. Server speichert Public Key → Registrierung abgeschlossen

Authentication

  1. Server generiert neue Challenge
  2. Browser sendet Challenge + Origin an Key
  3. Key prüft: darf ich für diesen Origin signieren?
    • Yes: Private Key signiert Challenge
    • No (Phishing-Origin!): Fehlermeldung
  4. Browser sendet Signatur an Server
  5. 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
ModellInterface
YubiKey 5C NFCUSB-C + NFC (Macbooks, iPhone)
YubiKey 5CiUSB-C + Lightning (iPhone ohne NFC)
Security Key NFCnur 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

  1. User geht zu: https://mysignins.microsoft.com/security-info
  2. ”+ Anmeldemethode hinzufügen” → Sicherheitsschlüssel
  3. YubiKey einstecken → PIN setzen → Touch
  4. 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

PostenKosten
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

  1. Mitarbeiter meldet: Key verloren
  2. IT sperrt: Azure AD → Security Info → Key entfernen
  3. Backup-Key: sofort einsatzbereit (vorher registriert!)
  4. 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

Artikel teilen

Zertifiziert ISO 27001ISO 9001AZAVBSI

Cookielose Analyse via Matomo (selbst gehostet, kein Tracking-Cookie). Datenschutzerklärung