WebAuthn: Passwortlose Authentifizierung fürs Web
Von nativen Apps sind wir es uns schon länger gewohnt: Um sich anzumelden kann einfach der Finger auf den Fingerabdruckscanner gelegt oder das Smartphone vors Gesicht gehalten werden. Das Eintippen eines Passwortes entfällt. Die am 4. März 2019 vom W3C veröffentlichte Empfehlung «Web Authentication: An API for accessing Public Key Credentials» ermöglicht es nun auch Web Apps, bei der Anmeldung auf Passwörter zu verzichten.
- Autor:in
- Alexander Moser
- Veröffentlicht
Warum Passwörter unsicher sind
Passwörter sind sogenannte symmetrische Schlüssel. Wenn ich mein Passwort auf einer gefälschten Webseite eingebe, mein Passwort aus der Datenbank eines Dienstes gestohlen wird oder jemand mein Passwort errät, kann sich dieser jemand als mich ausgeben. Die Praxis zeigt ausserdem, dass viele Leute unsichere Passwörter haben und/oder bei mehreren Diensten das gleiche Passwort verwenden. Knackt ein Betrüger ein Passwort einer Person hat er oft Zugriff auf gleich mehrere Dienste.
Was WebAuthn besser macht
WebAuthn definiert standardisierte Schnittstellen zur Handhabung von asymmetrischen Anmeldeinformationen, welche von Web Apps genutzt werden können. Das bedeutet, dass die Anmeldeinformationen aus einem öffentlichen und einem privaten Schlüssel bestehen. Man spricht hierbei auch von einem «Schlüsselpaar». Durch bestimmte kryptografische Operationen kann jemand belegen den privaten Schlüssel zum dazugehörigen öffentlichen Schlüssel zu besitzen, ohne dabei den privaten Schlüssel bekanntgeben zu müssen. Ein Dienst speichert nur den öffentlichen Schlüssel, der private Schlüssel wird niemals irgendjemandem bekanntgegeben.
Anders als bei Passwörtern ist es bei WebAuthn der Browser (also Chrome und Co.) der entscheidet, welche Anmeldeinformationen für eine Webseite verwendet werden. Dieser erkennt zuverlässig, dass es sich bei intersim.ch nicht um die gleiche Webseite wie intersirn.ch handelt. Ist Ihnen der Unterschied aufgefallen?
Des Weiteren sieht WebAuthn vor, dass der Browser die Anmeldeinformationen nicht selbst verwaltet, sondern an ein speziell dafür zuständiges Sicherheitselement («Authenticator» genannt) weitergibt. Ein solches Sicherheitselement ist in vielen Geräten in Form von Windows Hello oder Touch ID bereits eingebaut. Alternativ kann ein portabler Authenticator verwendet werden, beispielsweise ein YubiKey, Google Titan oder Solo Key. Diese können – je nach Modell – per USB, Bluetooth oder NFC verbunden werden.
Wie viele Faktoren hätten S’ denn gern?
Auch dem Thema Multi-Faktor-Authentifizierung wird Rechnung getragen.
Wenn eine App Anmeldeinformationen anfordert kann sie dabei angeben, ob der Authenticator durch die Verifikation des Benutzers (etwa durch eine PIN oder einen Fingerabdruck) weitere Faktoren hinzufügen soll.
Zukunftsmusik? Nein, Realität.
Das Beste an WebAuthn? Es ist keine Zukunftsmusik, sondern hier und heute verfügbar!
Sie können damit Ihr Microsoft-, Google- und Dropbox-Konto absichern. Und da der Standard bereits auf einer grossen Auswahl an Geräten unterstützt wird, werden hoffentlich noch viele weitere Dienste dazu kommen.
Wir haben mit der Demo auf WebAuthn.io folgende Kombinationen an Geräten erfolgreich getestet:
- Edge auf Windows + Windows Hello (Fingerabdruck)
- Firefox auf Windows + YubiKey
- Chrome auf Windows + YubiKey
- Firefox auf macOS + YubiKey
- Chrome auf macOS + Touch ID
- Chrome auf Android + Fingerabdruck
- Chrome auf Android + YubiKey
- Chrome auf Android + YubiKey via NFC
Verwandte Themen
Weiterführende Projekte und Inhalte zum Thema
Weiterführende Links
Secure password-less sign-in for your Microsoft account using a security key or Windows Hello
Use a security key for 2-Step Verification (Google)
Introducing WebAuthn support for secure Dropbox sign in
W3C + FIDO Alliance WebAuthn Press Release
Specification «Web Authentication: An API for accessing Public Key Credentials»