In diesem Artikel wird auf die Schwächen von Passwörtern eingegangen und wie Passkeys die Sicherheitsprobleme von Passwörtern auf Dauer lösen, um eine sichere Anmeldung auf Online-Diensten zu ermöglichen. Die technischen Hintergründe von Passkeys werden in einem eigenen Kapitel beschrieben. Im praktischen Teil werden die Anmeldevarianten in drei Szenarien demonstriert. Aus den Erkenntnissen werden die Vor- und Nachteile mit Passkeys zusammengefasst.
Tipp: Ein Podcast zum Thema Passkeys findet ihr auf der Seite des BSI, sowie auf bekannten Streaming-Plattformen.
Das Problem mit Passwörtern
Das Problem mit Passwörtern besteht aus mehreren Aspekten, die die Sicherheit von Online-Konten und Informationen beeinträchtigen können:
- Schwache Passwörter: Viele Benutzer neigen dazu, schwache Passwörter zu wählen, die leicht zu erraten oder zu knacken sind. Dies können einfache Wörter, häufige Phrasen oder leicht zugängliche Informationen wie Geburtsdaten sein.
- Mehrfachverwendung von Passwörtern: Benutzer verwenden oft dasselbe Passwort für mehrere Konten, was bedeutet, dass ein Kompromittieren eines einzigen Passworts den Zugang zu mehreren Diensten ermöglichen kann.
- Phishing-Angriffe: Betrüger setzen auf Phishing, um Benutzer dazu zu bringen, ihre Passwörter preiszugeben. Durch gefälschte E-Mails oder Websites versuchen sie, legitime Anmeldeinformationen zu stehlen.
- Brute-Force-Angriffe: Hacker können automatisierte Angriffe durchführen, bei denen sie systematisch verschiedene Passwortkombinationen ausprobieren, um das richtige Passwort zu erraten.
- Mangelnde Aktualisierung: Viele Benutzer vernachlässigen es, ihre Passwörter regelmäßig zu aktualisieren. Das bedeutet, dass im Falle eines Datenlecks oder einer Kompromittierung die alten Passwörter weiterhin gültig sein können.
- Komplexe Passwortanforderungen: Zu strenge Passwortrichtlinien können dazu führen, dass Benutzer zu unsicheren Praktiken greifen, wie das Notieren von Passwörtern oder das Verwenden von leicht zu merkenden, aber schwachen Passwörtern.
- Zentrale Datenspeicherung: Unternehmen, die Passwörter zentral speichern, sind anfällig für Datenlecks, bei denen große Mengen von Passwörtern auf einmal kompromittiert werden können.
Aufgrund dieser Probleme werden bevorzugt alternative Authentifizierungsmethoden eingesetzt, die sicherer sind, um die Schwächen von herkömmlichen Passwörtern zu überwinden. Dies schließt Passwort-Manager, biometrische Authentifizierung, Mehr-Faktor-Authentifizierung (MFA) und andere innovative Ansätze mit ein. Allerdings bleibt dabei häufig die Benutzerfreundlichkeit auf der Strecke, etwa durch die Eingaben eines Passwortes und eines One-Time-Passwords (OTP) über SMS oder einer Authenticator-App. Des Weiteren sind diese Methoden auch nicht phishingresistent, da dem Angreifer mittlerweile ausgereifte Frameworks zur Verfügung stehen Einmalcodes abzufangen und sogar MFA-Prozesse vollständig zu umgehen.
Wie können Passkeys die Sicherheitsprobleme von Passwörtern lösen und auf Dauer sogar ersetzen?
Passkeys tragen dazu bei, die Schwächen von herkömmlichen Authentifizierungsmethoden entgegenzuwirken. Angriffe etwa auf Passwörter werden unmöglich gemacht, indem der Nachweis der Identität nicht mehr in Login-Feldern eingegeben und auf verschiedenen Servern gespeichert werden muss. Stattdessen wird das Geheimnis des Benutzers, sein Passkey (abhängig ob gerätegebunden oder cloud-synchronisiert), niemals den geschützten Bereich seines Gerätes verlassen. Zudem wird der geheime Passkey mit dem Domänen-Namen des Online-Dienstes kryptografisch verknüpft und ist einmalig. Das verwendete Schlüsselpaar für Google ist demnach ein anderer als für Amazon oder Microsoft. Folglich können keine relevanten Geheimnisse bei den Dienstbetreiber gestohlen werden, da hier nur die öffentlichen Schlüssel verbleiben.
Technische Hintergründe von Passkeys
Mit FIDO (Fast Identity Online) wird ein Login-Verfahren definiert, dass resistent gegenüber Phishing-Attacken ist und eine passwortlose Anmeldung ermöglicht. Es beschreibt einen Standard, dass durch die FIDO Alliance entwickelt wurde. Die aktuelle Version FIDO2 enthält zwei Spezifikationen: W3C’s Web Authentication (WebAuthn) und FIDO Alliance’s Client to Authenticator Protocol (CTAP). Das „Fast“ bedeutet, dass der Benutzer überhaupt kein Passwort mehr eingeben muss, sich also sicher, schnell und benutzerfreundlich einloggen kann. Statt der Übermittlung eines Passworts und der damit einhergehenden Problematik, setzt FIDO2 auf ein Public-Private-Key-Verfahren. Dabei wird auf einem s. g. Authenticator des Benutzers, z. B. ein Smartphone oder ein USB-Sicherheitsschlüssel, ein einzigartiges Schlüsselpaar für einen Login erzeugt. Das kryptografische Schlüsselpaar mit einem privaten und einem öffentlichen Schlüssel wird Passkeys im FIDO-Standard genannt. Der private Schlüssel verbleibt im sicheren Speicher des Authenticators, wohingegen der öffentliche Schlüssel auf dem Server eines Online-Dienstes gespeichert wird. Somit müssen auf dem Server keine Benutzernamen oder Passwörter hinterlegt werden, die bei einem Sicherheitsvorfall missbraucht werden könnten.
Möchte der Benutzer sich bei einem Online-Dienst anmelden schickt der Server eine sogenannte Challenge, eine sich bei jedem Log-in ändernde Zeichenfolge, die der Authenticator mit dem privaten Schlüssel signiert und zurückschickt. Das Übersenden der signierten Challenge muss vom Benutzer bestätigt werden, durch einen PIN oder einen biometrischen Abgleich. Der Server überprüft nun mit dem hinterlegten öffentlichen Schlüssel des Benutzers die Gültigkeit der Signatur und gestattet im positiven Fall den Login. Hierbei ist es wichtig zu verstehen, dass niemals Geheimnisse wir PINs oder biometrische Daten an den Server geschickt werden, sondern lediglich eine verschlüsselte Zeichenkette ohne sensiblen Inhalt.
Die Registrierung erfolgt für jeden Online-Dienst neu und somit fließt die Serveradresse in Schlüsselerzeugung mit ein, um Phishingversuche zu unterbinden. Sollte ein Angreifer durch eine Sicherheitslücke auf dem Server Zugriff auf die öffentlichen Schlüssel haben, so sind diese für ihn nutzlos.
Die FIDO2 Spezifikation der FIDO-Alliance und W3C-Organisation definiert zwei Schnittstellen. WebAuthn auf Client- und Serverseite sowie CTAP, das Client-to-Authenticator Protocol zur Verbindung des Authenticators mit einem Web-Browser oder einem anderen Client. Die offenen Standards lassen sich in verschiedenen Programmiersprachen implementieren und sind bereits in gängigen Web-Browsern und Betriebssystemen vorhanden. Die Standards werden von einer breiten Allianz von Behörden und Firmen unterstützt, u. a. das BSI, NIST, Microsoft, Apple, Google, Amazon, etc.
In der ursprünglichen Spezifikation des FIDO-Standards war es nicht vorgesehen, dass der private Schlüssel den sicheren Speicherbereich (z. B. TPM) des Authenticators verlässt („device-bound passkeys“). Im März 2022 wurden die Standards überarbeitet und der Begriff Passkey eingeführt. Somit wurde das Konzept aufgeweicht und die Möglichkeit geboten die privaten Schlüssel über die Cloud auf verschiedene Endgeräte zu synchronisieren („synced passkeys“). Die FIDO-Alliance möchte mit diesem Schritt eine höhere Benutzerakzeptanz erzielen, indem der Anwender sich nicht mehr Gedanken um notwendige Schlüssel-Backups machen muss und eine Anschaffung von zusätzlicher Hardware (FIDO-Sticks, Yubikey, etc.) entfällt. Da bereits ein großer Anteil der Bevölkerung über ausreichend aktuelle Smartphones verfügt, werden auch hier weitere Vorteile von Passkeys ermöglicht, wie sich im weiteren Verlauf des Artikels herausstellen wird.
Passkeys in der Praxis
Exemplarisch lassen sich die Vorgänge der Registrierung und Authentisierung gut auf der Seite WebAuthn.io demonstrieren. Die Prozesse sind standardisiert und verhalten sich auf allen Seiten mit Passkey-Unterstützung gleich.
Zunächst erfolgt eine Registrierung, die über „Advanced Settings“ optional noch angepasst werden kann. Beispielsweise kann unter „Attachment“ die Auswahl getroffen werden, ob der Passkey auf einem externen Authenticator (z. B. Yubikey) „Cross-Plattform“ oder auf dem lokalen Authenticator „Plattform“ z. B. auf Windows oder auf Apple abgespeichert werden soll. Die Registrierung kann aber ohne weitere Einstellungen nach Eingabe einer Kennung für die spätere Auswahl des registrierten Passkeys fortgesetzt werden.
Die Registrierung und Sicherung von Passkeys
Im nächsten Schritt wird das Schlüsselpaar erzeugt. Der folgende Dialog hängt nun davon ab mit welchem Gerät bzw. Betriebssystem und Web-Browser der Benutzer interagiert. Mit dem Web-Browser Firefox auf Windows oder MacOS können Passkeys aktuell nur auf externen Sicherheitsschlüsseln gespeichert werden. Wohingegen die Web-Browser Chrome und Edge die Sicherung von Passkeys auf mehreren Geräten anbietet:
Vorrausetzung ist hierfür, dass auf Windows die Anmeldeoption Windows Hello mit PIN oder biometrischer Authentifizierung aktiviert ist. Auf MacOS dient hierfür die Aktivierung des iCloud-Schlüsselbunds bzw. iCloud-Keychain.
Die Sicherung der Passkeys auf den mobilen Betriebssystemen iOS und Android gelingt durchgängig auf alle Web-Browsern und nativen Apps auf Anhieb:
Die Speicherung des Passkeys erfolgt sowohl gerätegebunden (Plattform) bzw. synchronisierte Passkeys in der iCloud-Keychain oder im Google Password Manager als auch geräteübergreifend (Cross-Plattform) auf FIDO2 USB/NFC-Sticks. Eine dritte Variante bietet die Sicherung des Passkeys auf einem weiteren iOS oder Android Gerät mit FIDO-Unterstützung.
Eine Übersicht auf welchem Betriebssystem und Anwendung Passkeys unterstützt werden zeigt die Seite passkeys.io.
Die Anmeldung mit Passkeys
Die Anmeldeprozess ist sehr einfach, verhält sich aber, wie bereits bei der Registrierung festgestellt, in Kombination von Endgerät, Betriebssystem und Anwendung unterschiedlich. Dazu drei Szenarien:
Im ersten Szenario (Cross-Plattform) lässt sich die Anmeldung über Firefox und anderen gängigen Web-Browsern etwa mittels FIDO2-USB-Stick auf Windows, MacOS und Linux ohne Einschränkung durchführen:
Hierfür wird der Stick mit eine USB-Schnittstelle verbunden und mit Klick auf „Authenticate“ auf der Seite WebAuth.io die Authentifizierung gestartet. Dafür wird eine Kombination aus Wissen oder Biometrie und Besitz abgefragt. In diesem Szenario eine PIN (Wissen) und die Betätigung eines Tasters auf dem Stick (Besitz).
Ein Login über ein mobiles Gerät mit FIDO-Unterstützung ist über diesen Weg nicht möglich, solange der Sicherheitsschlüssel nicht NFC unterstützt. Momentan unterstützt aber nur iOS die Anmeldung mit einem FIDO2-Sicherheitsschlüssel.
Das ruft die Authentifizierung mit lokalen bzw. cloud-synchronisierten Passkeys auf den Plan. Dabei spielen Smartphones / Tablets mit iOS oder Android eine große Rolle. Sie dienen als Authenticator über verschiedene Plattformen hinweg, wenn alle Voraussetzungen erfüllt sind.
Im zweiten Szenario (Plattform) verbleibt der Benutzer im Software-Ökosystem von Apple mit MacOS/iOS, die Passkeys bereits seit längerem unterstützen. Der private Schlüssel lässt sich bei der Registrierung standardmäßig im iCloud-Schlüsselbund speichern. Die Synchronisierung der Passkeys klappt einwandfrei und sie stehen sofort auf allen Apple-Geräten, die mit derselben Apple-ID verknüpft sind zur Verfügung.
Die Authentifizierung mit Chrome oder Safari gelingt auf Anhieb, indem der richtige Passkey direkt zur Auswahl steht. Hier genügt wieder eine Freigabe entweder mittels eines Fingerabdrucks, Face-ID oder zusätzlichem Passwort. Lediglich mit dem Web-Browser Firefox auf MacOS ist die Integration des iCloud-Schlüsselbunds (noch) nicht implementiert.
Im dritten Szenario soll ein zweites mobiles Gerät auf dem der Passkey gesichert ist, als Authenticator herhalten. Hierbei gilt allerdings dir Voraussetzung, dass das Gerät, z. B. Windows-PC oder MacOS auf dem sich der Benutzer authentifizieren möchte, eine Bluetooth Schnittstelle vorweisen kann. Wählt der Anwender nun die Option „Passkey von Gerät in der Nähe…“ wird in den Web-Browsern Safari, Chrome und Edge ein QR-Code angezeigt.
Das Smartphone oder Tablet muss dabei die Bluetooth-Funktion aktiviert haben und sich in physikalischer Nähe zum Gerät befinden, dass sich authentifizieren möchte. Auf dem mobilen Gerät wird nun in einem Pop-Up Fenster nach der Freigabe des Passkeys für die Webseite gefragt. Anschließend muss der Benutzer das Smartphone bzw. Tablet entsperren, um die Anmeldung durchzuführen.
Die vorgestellten Szenarien haben gezeigt, dass es an einer durchgängigen Benutzererfahrung (User Experience) noch fehlt:
Im ersten Szenario ist eine plattformübergreifende Anmeldung auf allen gängigen und aktuellen Betriebssystemen Windows, Mac und Linux mit einem externen FIDO-Security-Sicherheitsschlüssel via USB oder NFC problemlos möglich. Hierbei muss auf die erwähnte drahtlose Schnittstelle NFC für die Verwendung von Passkeys auf mobilen Geräten mit iOS geachtet werden, um den Sicherheitsschlüssel für die Anmeldung zu verwenden. Mit dieser Methode wird die maximale Sicherheit mittels passwortloser Authentifizierung erzielt, da der private Schlüssel auf dem Sicherheitsschlüssel verbleibt. Im Unternehmensumfeld mit gewissen Compliance Anforderungen könnte dies ein wichtiges Kriterium sein. Zudem müssen die Passkeys zusätzlich gesichert werden, sonst droht im Falle des Verlustes eines Sicherheitsschlüssels auch der Verlust des Zugriffs auf Daten und Informationen. Diese Methode eignet sich also für IT-geschultes Personal und nicht für die breite Masse. Insbesondere in Organisationen sollte die Umsetzung mit Passkeys bzw. FIDO2 in einem Konzept geplant und sukzessive umgesetzt werden.
Das zweite Szenario hat gezeigt, wie einfach die Verwendung von Passkeys innerhalb eines Software-Ökosystems wie Apple ist. Die Synchronisierung mit dem iCloud-Schlüsselbund ermöglicht die Verfügbarkeit der Schlüssel auf allen Apple-Geräten. Im Google Umfeld werden die Passkeys mit dem Google Password Manager auf allen vom Benutzer registrierten Android Geräten synchronisiert. Lediglich in Windows werden Passkeys nur lokal auf dem jeweiligem Windows-Gerät gespeichert. Einschränkungen sind dann bemerkbar, wenn das Software-Ökosystem verlassen wird. So ist der Einsatz von synchronisierten Passkeys in Firefox nicht möglich. Hier kommen die Dritthersteller, s. g. Passkey Provider wie Anbieter von Passwort-Manager ins Spiel, die es mit einer API ermöglichen Passkeys des Nutzers zu speichern und zu verwalten.
Im letzten Szenario wird der flexible Einsatz des Smartphones als Authenticator deutlich. Die geräteübergreifende Authentifizierung mittels QR-Codes wird auf Windows und Mac mit Chrome, Edge oder Safari Web-Browsern unterstützt. Die Unterstützung der Bluetooth-Schnittstellen ist auf allen Geräten zwingend erforderlich. Einen tiefen Einblick über technische Umsetzung von Passkeys und eine Matrix mit Geräteunterstützung auf den jeweiligen OS-Plattfomen bietet die Webseite passkeys.dev, die sich an Entwickler richtet.
Im folgenden Teil, sollen nun die Vor- und Nachteile von Passkeys zusammengefasst werden.
Vor- und Nachteile von Passkeys
Vorteile:
- Einfachheit und Benutzerfreundlichkeit: Im Vergleich im Umgang mit komplexen Passwörtern, sowie Passwörtern mit Einmalcodes als zweiten Faktor (2FA) sind Passkeys in der Regel einfacher zu schneller zu verwenden. Dies verbessert die Benutzerfreundlichkeit und trägt dazu bei, dass Benutzer sicherere Authentifizierungsmethoden wählen.
- Hohe Sicherheit gegenüber Passwörtern und 2FA: Im Vergleich zu Passwörtern, die leicht zu erraten, zu knacken oder zu stehlen sind und abgreifbare 2FA-Methoden, bieten Passkeys einen deutlich höheren Schutz durch kryptografische Schlüsselpaare. Passkeys können auch in Verbindung mit physischen Sicherheitsschlüsseln (FIDO2-Security-Keys) verwendet werden, um eine zusätzliche Sicherheitsebene zu bieten.
- Keine Anfälligkeit für Phishing: Im Vergleich zu Passwörtern sind Passkeys gegenüber Phishing-Angriffen resistent, da Benutzer ihren geheimen Schlüssel nicht preisgeben und das Abgreifen von Anmeldeinformationen auf einer gefälschten Webseite nicht funktioniert.
- Offener Standard: der FIDO-Standard basiert auf kryptografische Public-Key-Verfahren mit Algorithmen nach dem Stand der Technik. Das Verfahren kann öffentlich eingesehen und validiert werden und wird durch internationale Behörden und große Konzerne ständig weiterentwickelt.
- Skalierbarkeit und Integration: Passkeys können mit den FIDO-Protokollen und WebAuthn unkompliziert auf jeder Webseite integriert werden. Dafür stehen zahlreiche Programmier-Bibliotheken für Entwickler zur Verfügung.
- Hohe Verfügbarkeit und Flexibilität: Durch die Möglichkeit der gesicherten Synchronisierung zwischen den Endgeräten des Benutzers und der Anbieter-Cloud sind Passkeys sofort verfügbar und zusätzlich in der Cloud gespeichert. Sollte auf einem Gerät ein Passkey nicht zur Verfügung stehen, bietet das Smartphone als Authenticator dem Anwender die Möglichkeit, sich unkompliziert bei einem Online-Dienst via Bluetooth anzumelden.
Nachteile:
- Kontrollverlust durch Passkeys in der Cloud: Das ursprüngliche Konzept, dass der private Schlüssel nicht den sicheren Speicher des Geräts verlassen soll, wurde durch die Erweiterung der cloud-synchronisierten Passkeys geändert. Die Vertraulichkeit, Integrität und Verfügbarkeit hängen von den Sicherheitsvorkehrungen des Cloud-Anbieters ab.
- Abhängigkeit durch Anbieter: Verknüpfte Benutzer-Konten eines Endgerätes mit der Cloud des Anbieters ermöglichen die Speicherung und Synchronisierung von Passkeys. Ein Wechsel des Anbieters erfordert die neue Registrierung der bisher verknüpften Passkeys. FIDO2-Sicherheitsschlüssel bieten hierfür einen unabhängigen Speicherort als Backup.
- Eingeschränkte Unterstützung von Passkeys: Software-Hersteller wie Microsoft und Mozilla Firefox bieten bisher ausschließlich die lokale Unterstützung von Passkeys an. Die Anmeldung mit Passkeys auf einem weiteren Gerät mit Bluetooth ist im Web-Browser Firefox und Windows, Mac oder Linux nicht möglich. Insbesondere bei fehlender Bluetooth-Unterstützung kann eine Passkey-Anmeldung über ein mobiles Gerät auf einem Desktop-Gerät nicht durchgeführt werden.
Fazit
Die Untersuchung hat gezeigt, dass der Einsatz mit Passkeys technisch ausgereift ist. Die FIDO Alliance, die bereits den ersten Entwurf für U2F und UAF im Jahr 2014 vorgelegt hatte, nähert sich dem Ziel an den Einsatz von Passwörtern im Internet durch Passkeys zu ersetzen. Einige Hürden sind noch zu meistern, so müssen die Software-Hersteller in allen Umgebungen es den Benutzern ermöglichen sich mit lokalen oder externen Authenticator anzumelden. Beispielsweise unterstützt der viel verwendete Web-Browser Firefox nicht alle Passkey-Verfahren. Und auch Windows bietet nicht alle Verfahren an oder hat diese noch nicht fehlerfrei implementiert. So konnte in einem weiteren Versuch, die Anmeldeoption mit einem FIDO2-Sicherheitsschlüssel in Azure/Microsoft 365 nicht verwendet werden, da die Registrierung des Passkeys mit einer undefinierten Fehlermeldung abgebrochen ist. Letztendlich fehlt es an Implementierungen bei den Online-Diensten, die noch auf bewährte Anmeldemethoden setzen. Die Seite Passkeys.directory, listet derzeit 105 Dienstanbieter, die Passkeys integriert haben. Das ist schon ein guter Anfang, zumal viele großen Konzerne mit an Bord sind, aber es ist noch viel Luft nach oben.
Neben der Usability steht und fällt die Akzeptanz mit der Implementierung von Passkeys bei möglichst vielen Online-Diensten. Die Etablierung neuer Technologien erfordert Zeit und Vertrauen der Benutzer. Zumal der noch vorherrschende Login-Standard mit Benutzername und Passwort lange trainiert wurde und dem Anwender erprobte Recover-Methoden für verlorene Zugangsdaten zur Verfügung stehen. Mit diesem Wissen sollten die Anwender durch den Dienstbetreiber dazu ermutigt werden Passkeys zu nutzen, statt sie gar nicht anzubieten oder sie etwa obligatorisch aufzuzwingen. So könnte die Online-Plattform beispielsweise eine Anmeldung mit sicherem Passwort und ggf. zweiten Faktor dennoch ermöglichen und im weiteren Schritt die Passkey-Anmeldung für zukünftige Logins empfehlen. Wünschenswert wäre es allemal, denn so viel steht fest: mit der Verwendung von Passkeys würde die Zahl der kompromittieren Online-Konten deutlich zurückgehen und die Online-Welt wäre für eine Vielzahl von Anwendern sicherer.