c't 14/2023
S. 164
FAQ
Passkeys

FAQ

Passkeys: Einloggen ohne Passwort

Passkeys sind derzeit in aller Munde. Die neue Anmeldetechnik macht Passwörter überflüssig, wirft jedoch viele Fragen auf, die wir hier beantworten.

Von Ronald Eikenberg

Passkeys?

In letzter Zeit höre ich immer wieder von Passkeys. Aber was ist das überhaupt und wie funktioniert das?

Passkeys sind ein sicherer Ersatz für Passwörter. Sie können sich damit einfach, schnell und sicher bei Websites und Apps anmelden, die das neue Verfahren bereits unterstützen. Um sich bei einer Website zu registrieren, müssen Sie im einfachsten Fall nur einen Benutzernamen wählen, anschließend bietet Ihnen Ihr Browser an, einen Passkey für den Account zu erstellen, der auf Ihrem System gespeichert wird. Ein Passwort und ein zweiter Faktor sind dann nicht mehr notwendig. Wenn Sie bereits einen Account besitzen, können Sie für diesen auch nachträglich einen Passkey erstellen.

Wenn Sie Ihren Google-Account auf Passkeys umgestellt haben, ersparen Sie sich beim Login die Eingabe des Passworts. Sie müssen die Nutzung des Passkeys nur noch bestätigen, etwa auf dem Smartphone.
Wenn Sie Ihren Google-Account auf Passkeys umgestellt haben, ersparen Sie sich beim Login die Eingabe des Passworts. Sie müssen die Nutzung des Passkeys nur noch bestätigen, etwa auf dem Smartphone.

Mit dem Passkey können Sie sich fortan einfach bei der Website einloggen: Sie müssen ihn nur per PIN, Fingerabdruck oder Face ID freigeben. Die biometrischen Merkmale werden dabei lediglich lokal überprüft und nicht an die Website übertragen. Falls Sie eine PIN nutzen, ist diese für alle Passkeys identisch – Sie müssen sich nur eine merken.

Technisch betrachtet handelt es sich um eine sogenannte Public-Key-Authentifizierung. Ein Passkey ist ein Paar aus einem öffentlichen und einem privaten Kryptoschlüssel. Beide werden geschützt auf Ihrem System gespeichert, wenn Sie einen Passkey erstellen – ähnlich einem Passwort in einem Passwortmanager, daher spricht man auch von einem Passkey-Manager. Die Website erfährt nur den öffentlichen Schlüssel.

Sicherer als Passwörter?

Es heißt, Passkeys seien sicherer als Passwörter. Stimmt das?

Passwörter sind nicht vor Cyberkriminellen geschützt. Erwischt Sie eine Phishing-Mail auf dem falschen Fuß und Sie tippen Ihr Passwort in eine Phishing-Seite ein, kann sich auch der Angreifer damit einloggen. Mit Passkeys passiert Ihnen das nicht, da das Verfahren vor Phishing geschützt ist.

In die Passkey-Authentifizierung fließt automatisch die Domain der Website ein. Deshalb ist es nicht möglich, einen Passkey, der für die Google-Domain google.com erstellt wurde, auf der Phishingseite google.phishing einzusetzen. Der Google-Passkey wird Ihnen auf der Phishingseite erst gar nicht zur Auswahl angeboten, stattdessen würde Ihr System einen neuen Passkey für google.phishing erstellen, der für den Angreifer wertlos ist.

Zuätzlich ist der Passkey kryptografisch gegen Phishing geschützt. Bei der Authentifizierung kommt eine kryptografische Signatur zum Einsatz, die sich auf die Domain der Website bezieht. Selbst wenn es einem Angreifer gelingen sollte, dass Sie Ihren Google-Passkey auf seiner Phishingseite einsetzen, kann er die dabei signierten Daten nicht zur Anmeldung bei google.com verwenden.

Da Passkeys für jeden Account automatisch individuell erstellt werden, entfällt die lästige Pflicht, sich für jeden Zweck ein anderes Passwort zu überlegen. Außerdem kann auf eine Zwei-Faktor-Authentifizierung verzichtet werden, da es sich bei Passkeys bereits um zwei Faktoren handelt: Sie beweisen den Besitz des Passkeys und außerdem, dass Sie die korrekte PIN kennen (Wissen) oder sich per Biometrie authentifizieren können (Fingerabdruck oder PIN).

Anstatt ein langes und kompliziertes Passwort eintippen zu müssen, wählen Sie einfach einen Passkey und geben die Nutzung per Fingerabdruck frei. Alternativ klappt die Freigabe auch mit einem Gesichtsscan oder einer PIN.
Anstatt ein langes und kompliziertes Passwort eintippen zu müssen, wählen Sie einfach einen Passkey und geben die Nutzung per Fingerabdruck frei. Alternativ klappt die Freigabe auch mit einem Gesichtsscan oder einer PIN.

Was brauche ich dafür?

Wie kann ich Passkeys nutzen? Muss ich ein spezielles Gerät kaufen?

Wahrscheinlich besitzen Sie schon alles, was nötig ist. Passkeys können Sie bereits mit vielen Smartphones und Rechnern erstellen, konkret mit den folgenden Betriebssystemen: Windows 10 und 11, macOS ab Ventura, iOS ab Version 16 und Android ab Version 9. Außerdem muss eine Bildschirmsperre gesetzt sein, um Missbrauch der Passkeys zu verhindern.

Unter Windows muss der Authentifizierungsdienst Windows Hello aktiv sein. Dazu öffnen Sie über eine Startmenüsuche die „Anmeldeoptionen“ und aktivieren mit wenigen Klicks die Gesichtserkennung, die Fingerabdruckerkennung oder einfach die PIN. Zudem ist ein kompatibler Browser in einer aktuellen Version notwendig, derzeit etwa Google Chrome, Microsoft Edge oder Apple Safari. Firefox unterstützt aktuell keine Passkeys, damit ist nicht vor Ende 2023 (Firefox 120) zu rechnen.

Falls Ihr Betriebssystem und/oder Browser noch keine Passkeys unterstützt, können Sie zu einem Passwortmanager mit Passkey-Funktion greifen. Ein solcher klinkt sich als Erweiterung in den Browser und springt automatisch an, wenn Sie Passkeys auf einer Website nutzen möchten. Aktuell unterstützen etwa die Passwortmanager Dashlane und NordPass Passkeys, weitere wie 1Password oder Keeper sollen im Laufe des Jahres folgen. Alternativ können Sie ein Smartphone als zentralen Passkey-Manager nutzen und mit dem Rechner verknüpfen (siehe „QR-Codes“).

Auch manche Passwortmanager wie Dashlane können bereits Passkeys speichern.
Auch manche Passwortmanager wie Dashlane können bereits Passkeys speichern.

Ist mein FIDO2-Stick jetzt überflüssig?

Mich erinnern Passkeys an das FIDO2-Verfahren, für das ich mir extra einen USB-Sicherheitsschlüssel gekauft habe. Kann ich den jetzt einmotten?

Nein, Sie können ihn weiterhin wie gewohnt nutzen. Außerdem funktioniert er jetzt auch auf Websites, die die Authentifizierung per Passkey anbieten, da im Hintergrund dieselbe Technik läuft. FIDO2 kennt unterschiedliche Möglichkeiten der Authentifizierung, mit und ohne Passwort. Wenn eine Website „Passkey“ erwähnt, meint sie FIDO2 ohne Passwort.

Für Passkeys müssen Kryptoschlüssel auf Ihrem FIDO2-Stick gespeichert werden, sogenannte Resident Keys. Der Speicherplatz für diese Keys ist auf den Sticks begrenzt, ein YubiKey 5 etwa kann 25 davon speichern. Für die Authentifizierung ohne Passwort müssen Sie den FIDO2-Stick bei der ersten Nutzung nach Aufforderung mit einer PIN schützen, ein paar wenige Sticks bieten auch einen Fingerabdruckscanner.

QR-Codes

In Artikeln über Passkeys tauchen immer wieder QR-Codes auf. Wofür werden die genutzt und ist das nicht ziemlich unsicher?

Per QR-Code können Sie Ihre Passkeys auf dem Smartphone für ein anderes Gerät freigeben, zum Beispiel für einen PC, auf dem keine Passkeys eingerichtet sind. Hierzu öffnen Sie die Website, bei der Sie sich einloggen möchten, auf dem Rechner und wählen aus, dass Sie ein anderes Gerät für die Passkey-Authentifizierung nutzen möchten. Anschließend erscheint ein QR-Code auf dem Bildschirm, den Sie mit dem Smartphone einscannen. Danach bestätigen Sie auf dem Smartphone, dass sich der Rechner mit dem Passkey einloggen darf, und sind authentifiziert.

Eine Besonderheit dieses Verfahrens ist, dass Sie mit dem QR-Code nicht den Passkey übertragen, sondern stattdessen eine Bluetooth-Verbindung zwischen Rechner und Smartphone herstellen, über die der Rechner das Smartphone als Passkey-Authenticator nutzen kann. Der Rechner schleust die Authentifizierungsdaten der Website ans Smartphone durch und das Smartphone verwendet den gewünschten Passkey, um die Authentifizierung durchzuführen. So können Sie sich auch auf Rechnern einloggen, denen Sie nicht vertrauen, zum Beispiel, wenn Sie irgendwo zu Besuch sind.

Aus Sicherheitsgründen gilt die Freigabe nur für einen Vorgang. Beim nächsten Login muss der QR-Code also erneut gescannt werden. Da Bluetooth zum Einsatz kommt, ist zudem sichergestellt, dass Sie tatsächlich mit Ihrem Smartphone vor Ort sind. Wer dieses Verfahren regelmäßig nutzen möchte, etwa weil die Passkeys nur auf dem Smartphone gespeichert sind, kann bei Android nach dem Scannen des QR-Codes festlegen, dass die Verknüpfung zum Rechner dauerhaft bestehen soll. Dann entfällt beim nächsten Mal das Scannen des Codes, es erscheint nur eine Benachrichtigung auf dem Smartphone, die Sie bestätigen müssen. Mit diesem Verfahren können Sie Passkeys übrigens auch unter Linux nutzen, das aktuell keine Passkeys erstellen kann.

Im- und Export

Gibt es eine Exportfunktion für Passkeys oder mache ich mich abhängig, wenn ich etwa alle Keys bei Apple speichere?

Aktuell können Sie Passkeys noch nicht exportieren. Wenn Sie zum Beispiel mit Ihrem iPhone einige Passkeys erstellen, werden diese zwar über die iCloud mit anderen Apple-Geräten synchronisiert, eine Exportmöglichkeit in ein freies Format wie CSV gibt es derzeit jedoch nicht. Sie können also mit Ihren Apple-Passkeys nicht einfach ins Google-Universum umziehen oder die Daten in einen herstellerunabhängigen Passkey-Manager importieren.

Die Nutzung über Herstellergrenzen hinweg ist hingegen möglich, wenn Sie die Passkeys auf Ihrem Smartphone per QR-Code für den Rechner freigeben, wie in der Antwort zu „QR-Codes“ beschrieben. So könnten Sie die iPhone-Passkeys etwa auch mit Chrome unter Windows oder Linux zur Authentifizierung nutzen.

Die Situation dürfte sich demnächst verbessern: Der Apple-Entwickler Ricky Mondello, zuständig für Authentifizierung und Passwörter, hat über Mastodon verkündet, dass mehrere Hersteller aktuell daran arbeiten, ein Austauschverfahren zu entwickeln: „Passkeys werden importiert und exportiert werden können, geräteübergreifend und zwischen verschiedenen Passkey-Managern.“

Wo kann ich es nutzen?

Das klingt ja alles super, aber bei welchen Diensten kann ich mich schon per Passkey einloggen?

Unter anderem bei Google und Microsoft können Sie sich bereits bequem und schnell ohne Passwort einloggen. Eine Zwei-Faktor-Authentifizierung ist dann nicht mehr nötig. Darüber hinaus klappt das etwa bei Nvidia und auf der Website der Hotelkette Hyatt. Eine Übersicht finden Sie zum Beispiel auf passkeys.directory. Viele wichtige Namen wie Amazon, Facebook, GitHub, Instagram und Twitter fehlen aktuell noch auf der Liste, aber es dürfte nur eine Frage der Zeit sein, bis sich das ändert.

Wenn eine Website das Einloggen ohne Passwort noch nicht unterstützt, aber den Einsatz von FIDO2 als zweiten Faktor, können Sie Ihr Passkey-System dort für die Zwei-Faktor-Authentifizierung nutzen. Erkundigen Sie sich am besten beim Betreiber der Website, ob und wann er Passkeys integrieren möchte – auch, damit er den Bedarf erkennt.

Kryptoschlüssel

Ich hörte, dass bei Passkeys irgendwelche Kryptoschlüssel im Spiel sind. Wie funktioniert das genau?

Passkeys bestehen aus einem öffentlichen und einem dazu passenden privaten Kryptoschlüssel. Wenn Sie einen Passkey für eine Website erstellen, generiert Ihr System beide Schlüssel und speichert sie lokal. Den öffentlichen schickt es an die Website, die ihn mit Ihrem Account verknüpft.

Wenn Sie sich dann zu einem späteren Zeitpunkt einloggen möchten, sendet die Website eine kryptografische Aufgabe (Challenge) an Ihr System. Dabei handelt es sich lediglich um eine vom Server ausgewürfelte Zeichenfolge wie 5B-9penmDgV5oz2eOs86ix-aRSFOYIX-5_Vubdnwqq54aOxWzUE6otV_oJyDnDgOni5Tv0L2BEHVVzzMKDi6vA. Ihr System löst diese Aufgabe, indem es sie mit Ihrem privaten Schlüssel digital signiert, ähnlich einer PGP-signierten E-Mail. Anschließend schickt es die signierte Aufgabe zurück an die Website. Die Website kann zweifelsfrei feststellen, dass die Aufgabe mit Ihrem privaten Schlüssel signiert wurde und lässt Sie rein. All das wird über die bewährte FIDO2-Technik umgesetzt: Die Website nutzt die sogenannte WebAuthn-API des Browsers.

Das System, auf dem die Passkeys gespeichert sind – meist Smartphone oder Rechner – verwaltet die Kryptoschlüssel ähnlich wie ein Passwortmanager die Passwörter. Sie werden verschlüsselt gespeichert und Sie können sie sich auflisten lassen und löschen. Je nach Implementierung können die Passwörter zwischen mehreren Geräten synchronisiert werden. Das klappt derzeit zum Beispiel mit Google Chrome und innerhalb des Apple-Universums.

Per Passkey ins eigene WordPress einloggen? Mit einem Plug-in ist das kein Problem.
Per Passkey ins eigene WordPress einloggen? Mit einem Plug-in ist das kein Problem.

Passkeys für die eigene Webanwendung

Ich betreibe selbst eine Webanwendung, wie kann ich den Zugang per Passkey schützen?

Passkeys nutzen das Authentifizierungsverfahren FIDO2, das Webanwendungen und Apps über die WebAuthn-API einsetzen können. Die Technik ist seit Jahren etabliert, daher müssen Sie nicht bei null anfangen, sondern können auf viele bereits vorhandene WebAuthn-Implementierungen zurückgreifen. Wenn Sie eine fertige Webanwendung installiert haben, unterstützt diese im besten Fall bereits WebAuthn oder es lässt sich nachrüsten.

Für WordPress zum Beispiel gibt es dafür diverse Plug-ins wie das kostenlose „WP-WebAuthn“. Sie können es mit wenigen Klicks aus dem Plug-in-Verzeichnis installieren. Für den vollen Passkey-Komfort schalten Sie in den Einstellungen des Plug-ins die Option „Ohne Benutzername anmelden“ ein. Dann kommen die sogenannten „Resident Keys“ zum Einsatz, durch die das Plug-in die Nutzer auch ohne Loginnamen erkennen kann. Anschließend können Sie in den Benutzereinstellungen unter „Registrierte WebAuthn-Authentifikatoren“ einen „Neuen Authentifikator registrieren“. Beim Einloggen zeigt WordPress künftig zwar weiterhin ein Feld „Benutzername“ an, es kann aber leer bleiben.

NextCloud unterstützt WebAuthn ab Werk, allerdings ohne die Resident Keys. Die Eingabe eines Benutzernamens ist also weiterhin nötig, die Passworteingabe aber nicht. In aktuellen NextCloud-Versionen können Sie WebAuthn einrichten, indem Sie in den persönlichen Sicherheitseinstellungen des Nutzers unter „Authentifizierung ohne Passwort“ auf „WebAuthn-Gerät hinzufügen“ klicken. Wenn Sie selbst Webanwendungen oder Apps entwickeln, können Sie sich nach einer WebAuthn-Bibliothek umsehen. Solche gibt es etwa für Node.js, PHP, Java und viele weitere Umgebungen. (rei@ct.de)

Kommentare lesen (3 Beiträge)