FIDO2-Logon mit Yubico YubiKey 5 NFC
In drei Artikel habe ich dargelegt, wie man die Smart Card-Authentifizierung im On-Premises AD realisiert.
- SmartCard-Logon – Teil 1 – just smart card logon
- SmartCard-Logon – Teil 2 – AMA
- SmartCard-Logon – Teil 3 – Bastion Forest
Daraus, resümierend, kann festgestellt werden, dass eine passwortlose, tokenbasierte Authentifizierung gewaltige Vorteile dem typischen „Benutzername + Kennwort“-Konstrukt hat.
Das ist aber alles was aus der alten Welt. Da ist ja nix mit Cloud und so, richtig? Das ist aber nicht mehr so ganz „state of the art“, oder?
Ja, das ist richtig, aber haben wir in der realen Welt da draußen kaum noch eine reine On-Premises-Welt und genausowenig eine reine Cloud-Only-Welt.
Wir haben es in der Regel mit hybriden Strukturen zu tun.
On-Premises Active Directory ist per EntraID-Connect mit der EntraID-Welt verbunden*. Dieser Verbund bedeutet, dass bestimme Identitäten aus dem On-Premises Active Directory in das EntraID bei Microsoft in den entsprechenden Tenant synchronisiert werden.
*Das war mal AzureAD
Bei der Synchronisierung werden ja nicht nur die nackten Identitäten synchronisiert, sondern es werden auch Einstellungen vorgenommen, welche sich mit der Authentifizierung auseinandersetzen.
Sign On Methods
Das EntraID Connect unterstützt verschiedene Sign On methods:
- Password Hash Synchronization
- Pass-through authentication
- Federation with AD FS (spare ich hier aus)
- Federation with PingFederate (spare ich hier aus)
Im Workshop Secure Hybrid Authentication wird der FIDO2-Logon praktiziert.
Password Hash Synchronization
Die Kennworthashsynchronisierung ist eine der Anmeldemethoden, die zur Implementierung von Hybrididentitäten verwendet wird. Microsoft Entra Connect synchronisiert einen Hash des Kennworts eines Benutzers aus einer lokalen Active Directory-Instanz mit einer cloudbasierten Microsoft Entra-Instanz.
Die Kennworthashsynchronisierung ist eine Erweiterung des durch die Microsoft Entra Connect-Synchronisierung implementierten Verzeichnissynchronisierungsfeatures. Dieses Feature kann für die Anmeldung bei Microsoft Entra-Diensten wie Microsoft 365 verwendet werden. Sie melden sich bei dem Dienst mit dem gleichen Kennwort an, das Sie zur Anmeldung bei Ihrer lokalen Active Directory-Instanz verwenden.
Der ganze Artikel ist hier nachzulesen.
pass-through authentication
Mit der Microsoft Entra-Passthrough-Authentifizierung können sich Benutzer mit denselben Kennwörtern sowohl an lokalen als auch an cloudbasierten Anwendungen anmelden. Diese Funktion stellt eine benutzerfreundlichere Oberfläche für Ihre Benutzer bereit, weil ein Kennwort wegfällt, und reduziert die Kosten des IT-Helpdesks, da Benutzer seltener vergessen, wie sie sich anmelden. Wenn Benutzer sich mithilfe von Microsoft Entra ID anmelden, überprüft diese Funktion die Benutzerkennwörter direkt anhand Ihres lokalen Active Directory.
Diese Funktion ist eine Alternative zur Kennwort-Hashsynchronisierung von Microsoft Entra, die Organisationen den gleichen Nutzen der Cloudauthentifizierung bietet. Allerdings können bestimmte Organisationen, die ihre lokale Active Directory-Sicherheits- und -Kennwortrichtlinien erzwingen möchten, stattdessen die Passthrough-Authentifizierung verwenden.
Der vollständige Artikel ist hier zu finden.
Pass-through authentication ermöglicht es mir also mit dem gleichen Kennwort in der Azure-Cloud zu arbeiten wie On-Premises, aber ich bekomme noch ein gefühltes Single Sign-On* obendrauf.
Sweet…
*ein echtes SSO ist das nicht, nur wenn Microsoft Entra seamless single sign-on (Microsoft Entra seamless SSO) verwendet wird.
Das Setup
Es gibt also eine On-Premises Active Directory, welches über ein EntraID-Connect mit einem Tenant bei Microsoft verbunden ist. Mitglieder der Gruppe „EntraIDSync“ werden inkl. Kennwort-Hashes in das EntraID des Tenants CLOUDHYBRID synchronisiert. Neben der EntraID-Connect-Stellung wurde noch eine URL in den Browsern so hinterlegt, dass diese per Single Sign-On aufgerufen wird.
https://autologon.microsoftazuread-sso.com
Anmeldung im EntraID aus dem Unternehmensnetzwerk heraus
Greift die werte Rita Ratlos über ihren Domain Joined-Rechner aus dem Unternehmensnetzwerk (dazu zähle ich auch einen VPN-Verbindung) heraus auf https://mysignins.microsoft.com zu, sollte dieses ohne Kennworteingabe per Single Sign-On erfolgen.
So what?
Erst mal nix „so what?“.
Jetzt hat sich aber eine wurmstichige Matschbirne ausgedacht, dass man sich On-Premises mit einer Smart Card Anmeldet.
Wegen:
- NIS-2,
- DORA oder, total verrückt,
- der allgemeinen IT-Sicherheit (wer investiert denn bitte in sowas?)
Again: So what?
Jetzt doch „so what?“, weil bei den Smart Card-Usern ein kleiner aber feiner Haken gesetzt wird: „Smart card is required for interactive logon“
Dieser kleine Haken macht nämlich folgendes:
- Das aktuelle Kennwort des Users wird auf ein unbekanntes 120 Zeichen langes komplexes Zufallskennwort geändert*.
- Die Kennworthistorie wird geleert
- Das Kennwort wird zyklisch gehändert; *das macht der PDC-Emulator (in der Regel alle 30 Tage).
Mal eben schnell überlegen, wer sich ab diesem Zeitpunkt von unterwegs aus nicht mehr am EntraID anmelden kann!
Die Lösung: FIDO2-Authentication!
Hinter dem Akronym „FIDO“ steckt „Fast Identity Online“. Das ist eine nichtkommerzielle IT-Sicherheitsorganisation, die im Juli 2012 ins Leben gerufen wurde und im Februar 2013 offiziell gegründet. Das Ziel von FIDO ist es, zusammen mit vielen verschiedenen Unternehmen, offene und lizenzfreie Industriestandards für die weltweite Authentifizierung im Internet zu entwickeln.
FIDO2 wurde im Jahr 2015 gestartet und hat das Ziel eine Multi-Faktor-Authentisierung für Webanwendungen standardisiert bereitzustellen. Der ganz wichtige Punkt hier: dabei werden Passwörter bei der Anmeldung an Onlinediensten durch eine Kombination von verschiedenen kryptographischen Methoden ersetzt oder ergänzt. Verwendet wird hierzu eine API mit dem Namen WebAuthn.
Wie kann ich denn FIDO2 einsetzen? – Physische Schnittstellen für CTAP (Client to Authenticator Protocol)
FIDO2 kann mit verschiedenen externen Security Tokens eingesetzt werden. Die möglichen physischen Schnittstellen können sein:
- USB (Universal Serial Bus)
- NFC (Near Field Communication, basiert auf den RFID-Protokollen – beide nutzen die gleiche Frequenz mit 13,56 MHz)
- BLE (Blue-tooth low energie, beispielsweise Apple AirTags)
- TPM (trusted plattform module)
Die Sicherung der Tokens / Authentifikatoren kann hier unterschiedlich erfolgen:
- PIN
- Biometrie
Aber wie?
Im Vergleich zur PIV (Personal Identity Verification) ist der Prozess zur Bereitstellung bei FIDO2 etwas schlanker aufgebaut.
Die Identität im EntraID wird „einfach“ mit einem FIDO2-Key konnotiert. Dieses Verbinden von FIDO2-Key zu der EntraID-Identität kann der User selber durchführen oder durch Dritte per Enrollment.
Aber womit?
Gemäßt der Schnittstellen ist das Tool-Set der Gerätschaften mannigfaltig.
Es entsteht aber ein ganz simpler Mehrwert, wenn man bei Yubico mit YubiKey 5(C) NFC bleibt.
Der YubiKey 5(C) arbeitet ja schon als Smart Card / PIV, warum nicht das gleiche physikalische Gerät für eine moderne Authentifizierung nutzen?
Und wie ist die Durchführung?
Die Durchführung ist im Vergleich zu PIV / Smart Card deutlich einfacher.
Der User verfügt über:
- eine YubiKey 5(C) NFC
- eine Identität im EntraID
- die Legitimierung FIDO2-Authentifizierung für ein Konto zu aktivieren
FIDO2-Authentifizierung konfigurieren
Zu allerest muss geprüft werden ob im entsprechenden Tenant diese Art der Authentifizierung gestattet ist.
FIDO2-Key Registrieren
Sofern der Tenant Passkey (FIDO2) als Authentifizierungsmethode gestattet, kann der User über https://mysignins.microsoft.com bei seinem Konto mit seinem YubiKey 5(C) NFC registieren.
Damit das erfolgreich passiert, benötigt der User in der Regel bereits eine weitere MFA an seiner Identität, viele verwenden hier den Microsoft Authenticator.
Bei der Registrierung wird ein PIN für das FIDO2-Modul vom YubiKey 5(C) NFC definiert, sofern noch keine definiert ist.
FIDO2 – Logon
Ist der FIDO2-Key ausgestellt und gespeichert worden, kann dieser zur Anmeldung an https://mysignin.microsoft.com herangezogen werden.
Wichtig ist hier die Tatsache, dass Renate Ratlos die Anmeldung von Unterwegs, ohne Verbindung zu Domain Controllern (On-Premises) durchführt.
Résumé
Unter der Präsmisse man verwendet eine hybride Struktur bei der Authentifzierung: On-Premises Active Directory und EntraID über EntraID-Connect synchronisiert:
Die lokale Authentifzierung im Unternehmensnetzwerk sollte dringend über Smart Card / PIV abgesichert werden. Die Schritte hierzu, siehe ganz oben, sind am Anfang etwas ätzend, aber leider notwendig.
NIS-2 und DORA werden die Unternehmen in diese Richtung treiben, da bin ich mir ganz sicher.
Jetzt kommt aber das Problem mit der Authentifzierung in der Azure-Cloud.
Aus dem On-Premises-Umfeld ist das dann pass-through Auhtentication kein Problem, ist hat SSO und gut. Unterwegs wird es aber eine Herausforderung: Benutzername + Kennwort geht nicht mehr.
Daher ist es nur konsequent und logisch den nächsten Schritt zu gehen: mit dem gleichen physischen YubiKey die Authentifzierung um FIDO2 zu erweitern.
Bei weitem nicht so komplex wie Smart Card, aber notwendig um mobil arbeiten zu können.
Am Ende des Tages habe ich das Bild vor Augen: muss man halt tun!
Nachtrag zum Thema FIDO2-Login:
Wer Interesse an einer ganzheitlich sicheren Authentifizierung hat, On-Premises und Cloud, kann sich hierzu im „Secure Hybrid Authentication“-Workshop berieseln lassen.