Hinter der Abkürzung WebAuthn verbirgt sich der Begriff Web Authentication. Hierbei handelt es sich um einen veröffentlichten Webstandard für eine Programmierschnittstelle -auch bekannt unter dem Begriff Application-Programming-Interface, kurz API – die zur Authentifizierung von Usern im Web dient und anstelle von Passwörtern auf dem Public-Key-Verfahren und der Nutzung von Faktoren wie biometrischen Merkmalen, Hardware-Token oder Smartphones basiert. Darüber hinaus soll die WebAuthn-API die Kommunikation zwischen einer Webseite und einem Sicherheitsgerät einem sogenannten Token erleichtern und die Anmeldeverfahren im Internet sicherer und komfortabler machen.
Die WebAuthn ist eine Kernkomponente des FIDO2-Projektes. Im März 2019 wurde sie vom World-Wide-Web-Consortium (W3C), dem Standardisierungsgremium für das Internet, und der Fast IDentity Online-Allianz, kurz FIDO-Allianz, zu einem offiziellen Webstandard erklärt.
Die WebAuthn-API kann sowohl im Browser als auch auf Webplattform-Infrastrukturen integriert werden. Durch den Einsatz der WebAuthn-API können Webseitenbetreiber ihren Benutzern alternativ zum klassischen Passwort-Login, die Registrierung und Authentifizierung mittels „Authenticator“ anbieten. Bei einem “Authenticator” kann es sich dabei
oder
Bei WebAuthn haben User zudem die Möglichkeit, verschiedene Authenticatoren gleichzeitig für ihr Online-Konto zu registrieren. Dadurch wird für sie die Kontoverwaltung und -wiederherstellung wesentlich komfortabler. Beispielsweise kann sich ein User mit einem Fingerabdruckscanner bei mobilen Anwendungen auf seinem Mobilgerät anmelden und parallel dazu einen Hardware-Security-Token registrieren. Falls das ursprüngliche Gerät aktualisiert, verloren, gestohlen oder kompromittiert wurde, lässt sich so der Zugriff auf das Online-Konto schnell wiederherstellen
Aber lassen Sie mich die Funktionsweise der Web Authentication noch etwas näher erklären.
Zunächst einmal müssen Sie wissen, dass bei einer WebAuthn-Kommunikation grundsätzlich drei “Parteien” beteiligt sind: Der Authenticator, der Server und der JavaScript-Client -auch bekannt als Web App.
Mal angenommen, ein User möchte sich auf einer Webseite die eine WebAuthn-API benutzt registrieren:
Zu aller Erst bietet ihm die API mehrere Authentifizierungsmethoden an. Der User kann zwischen externen Hardware-Security-Token oder biometrische Authentifizierungsmethoden, wie dem Iris-Scan, der Gesichtserkennung oder dem Fingerabdruck wählen.
Sobald er die gewünschte Authentifizierungsmethode ausgesucht hat, muss er seinen “Authenticator” einmalig registrieren.
Bei diesem Prozess erzeugt der Server zunächst eine Challenge (Herausforderung) und sendet sie samt Login-Daten zum JavaScript-Client im Browser des Nutzers. Diese weist das Endgerät an, den neuen Authenticator zu registrieren. Anschließend generiert der “Authenticator” ein individuelles Schlüsselpaar. Der Privat Key wird auf dem Endgerät gespeichert und der Public Key wird gemeinsam mit der Credential-ID und der Signatur der Challenge an den Server übermittelt. Der Server verifiziert die Informationen und hinterlegt sie in einer Datenbank.
Beim erneuten Login übermittelt der Server erneut eine Challenge. Diese wird vom Browser zusammen mit der Domain an den Authenticator weitergereicht. Nach der Bestätigung durch den Benutzer, beispielsweise durch einen Fingerabdruck-Scan wird die digitale Signatur zurück an den Server gesendet und der erfolgreiche Login erfolgt.
Sie sehen, mit WebAuthn profitieren sowohl die Webentwickler als auch die User.
Denn:
Bevor wir zum Ende unseres Podcasts kommen, lassen Sie mich noch einmal kurz die wichtigsten Merkmale der Web Authentication zusammenfassen:
Fazit:
Die Web Authentication ist ein Meilenstein in der Geschichte der Internetsicherheit. Sie ist der erste globale Standard für eine sichere Web-Authentifizierung und ebnet somit den Weg in eine Welt der benutzerfreundlichen, hochsicheren und passwortfreien Authentifizierung.
Kontakt: Ingo Lücker, ingo.luecker@itleague.de