FIDO Sicherheitsschlüssel – Endbenutzer praxistauglich?

Ich habe mir mal einen Yubico USB Sicherheitsschlüssel geholt um zu prüfen, ob der FIDO Standard mittlerweile praxistauglich ist. Spoiler: Naja, zählt ein Jain? Aber eins nachdem anderen. Wie komme ich zu der Einschätzung und was macht den Hardwaresicherheitsschlüssel theoretisch so sicher?

Warum einen FIDO Sicherheitsschlüssel verwenden?

Yubico USB Sicherheitsstick
Yubico USB Sicherheitsstick

Der FIDO Standard sieht vor, dass bei der Einrichtung ein Schlüsselpaar mit privatem Schlüssel und öffentlichen Schlüssel erstellt wird. Der private Schlüssel verbleibt auf dem FIDO Gerät, hier der Yubikey USB Sicherheitsschlüssel, welcher mit PIN abgesichert ist, und der öffentliche Schlüssel wird dem Dienst übermittelt.

Findet eine Anmeldung am Dienst statt, wird dieser eine Authentifizierungsanfrage an das eingetragene Gerät senden. Der Benutzer entsperrt die Hardware mit zum Beispiel einer PIN-Eingabe, woraufhin mit dem privaten Schlüssel ein Authentifizierungsschlüssel generiert und dem Dienst zurückgesendet wird. Dieser prüft mit dem öffentlichen Schlüssel die Authentifizierung und meldet den Benutzer an den Dienst an.

Klingt sehr technisch. Aber heißt nichts weiter als, ohne richtigen Ausweis mit eingestanzter einmaliger ID kommst du nicht an dem Türsteher vorbei und damit nicht an deine virtuellen Sachen. Und wenn du deinen “Privileged Elite” Ausweis verlierst, kommst du gar nicht mehr an deine Sachen ran.

Auf Grund der Public Key Infrastructure von FIDO und des Speicherns des privaten Schlüssels auf dem Hardwareschlüssel zählt es als so gut wie nicht hackbar. Der Hacker würde schon den physischen USB Schlüssel benötigen um sich mit einem Account verifizieren zu können.

Einstiegshürde

Um den USB Sicherheitsschlüssel verwenden zu können benötigt man natürlich einen. Beziehungsweise empfohlen werden zwei Sticks, einer als Backup. Denn wie bereits geschrieben, ist der Sicherheitsschlüssel weg oder auch defekt, kommt man erstmal nicht mehr an seine Accounts.

Man kann normalerweise dann mit Rücksetzungen und mit dem Support den Account wieder reaktivieren, aber der Aufwand ist normalerweise sehr hoch.

Das heißt wir benötigen zweimal ca. 50€ teure USB Sicherheitsschlüssel um das mehr an Sicherheit zu bekommen.

Windows 10/11 unterstützen von Haus aus FIDO Sicherheitsschlüssel und die gängigen Webbrowser Chrome, Firefox, Edge und Safari arbeiten mit dem benötigten WebAuthn Protokoll. Somit benötigt man erstmal keine weitere Software.

Anschließend müssen in den Sicherheitseinstellungen der jeweiligen Dienste der USB Sicherheitsschlüssel aktiviert werden.

Und dann kann man ihn auch bereits verwenden. Man muss nur jedes Mal den Sicherheitsschlüssel antatschen oder den PIN eingeben, wenn danach gefragt wird.

Butter bei den Fischen – Welche Dienste verwenden das denn jetzt?

Multi-Faktor-Authentifizierung

Man muss da unterscheiden. Den USB Sicherheitsschlüssel als zweiten Authentifizierungsfaktor zu verwenden, kann man mittlerweile “sehr häufig”. Somit würde man sich ein Timebased One-Time-Password aus dem Authenticator sparen. Dafür muss man den USB Schlüssel immer dabei haben.

Folgende Dienste habe ich beispielsweise als MFA mit dem USB Sicherheitsschlüssel einrichten können:

  • Google
  • GitHub
  • Facebook
  • Twitter
  • Paypal
  • Hetzner (Yubico OTP)
  • Infomaniak (Yubico OTP)
  • Nitrado
  • Apple (nur über Mac oder iPhone/iPad, selbst nicht ausprobiert, keine AppleID)
USB Sicherheitsschlüssel bei Google hinzufügen
USB Sicherheitsschlüssel bei Google hinzufügen

Passwortlose Anmeldung

Mit dem FIDO2 Standard ist es ebenfalls über das WebAuthn Protokoll möglich passwortlose Anmeldungen bereitzustellen. Tatsächlich einer der Gründe, warum ich prüfen wollte, wie weit wir in dem Themenbereich nun schon gekommen sind. Die Ernüchterung hat mich gerade zu erschrocken mit offenem Mund dastehen lassen. Folgende Dienste, welche ich verwende, lassen passwortlose Anmeldungen über den Hardwareschlüssel zu:

  • Microsoft
  • eBay

Ich wiederhole nochmal – für 50€ bzw. 100€ mit Backup USB Sicherheitsschlüssel.

Google und Apple haben sich, wie Microsoft, letztes Jahr dazu bereit erklärt die FIDO2 Standards deutlich besser umzusetzen, aber Microsoft scheint der Einzige zu sein, der auch wirklich in die Richtung hingearbeitet hat und die entsprechenden Funktionen bietet.

TOTP

TOTP Codes auf dem USB Sicherheitsstick gespeichert
TOTP Codes auf dem USB Sicherheitsstick gespeichert

Über den Yubico Authenticator (https://www.yubico.com/products/yubico-authenticator/) kann man dann noch auf dem Yubikey 32 TOTP Challenges speichern. Somit hat man dann mit dem Hardwareschlüssel immer die entsprechenden TOTP Codes für die ausgewählten Webdienste dabei.

Da wird eine normale Authenticator App aber wahrscheinlich einfacher zu handhaben sein und die ist normalerweise kostenlos.

Sonstige Möglichkeiten

Für den Normalbenutzer eher uninteressant, kann man allerdings über den Yubikey Manager (https://www.yubico.com/support/download/yubikey-manager/) noch Yubico OTP einrichten.

Yubico OTP verwendet einen Serverdienst direkt von Yubico. Man drückt, wenn der Webdienst danach fragt, einfach nur auf dem USB Hardwarekey und dem Dienst wird nach Authentizitätsprüfung direkt der TOTP Code mitgeteilt und der Account wird angemeldet.

Außerdem kann man eine Challenge-Response hinterlegen. Interessant, wenn man den Securitykey mit Keepass verwenden möchte.

Zudem ist es möglich Zugriffszertifikate für SSH, PGP Zertifikate zur Signierung und sogar Zertifikate für die Türschließanlage zu hinterlegen. Eindeutig eher Bereiche für Unternehmen und Admins.

Fazit

Es ist ein Unternehmensprodukt. Für den normalen Benutzer ist das was man für 50€ bekommt ein Witz. Sorry, für 100€. Und daran ist nicht Yubico schuld.

Yubico scheint das allerdings auch mittlerweile mitbekommen zu haben und stellt eine 25€ Variante in Aussicht, die vor allem die unternehmensrelevanten Sicherheitseigenschaften entfernt und somit mehr auf den Endbenutzer abzielt.
https://www.yubico.com/de/product/security-key-nfc-by-yubico-black/

Für 50€ Gesamtkosten immer noch ein Happen, aber deutlich sinnvoller.

Dennoch ist der Mehraufwand für den Endbenutzer kaum zu rechtfertigen. Man kann sich den zweiten USB Schlüssel auch sparen und verwendet als Backup-MFA den Authenticator. Aber dann kann ich als Multi-Faktor-Authentifizierung auch gleich mit einem Authenticator arbeiten und der ist kostenlos.

Dazu kommt, dass von meinen ungefähr 90 Diensten nur acht den Sicherheitstick als MFA anbieten und nur zwei passwortlose Anmeldungen zulassen. ZWEI! Ich werde jetzt hier einfach mal ein Meme verlinken:

https://www.youtube.com/watch?v=t2Fp32UlpuI

Ich kann es momentan nicht empfehlen. Es macht keinen Sinn für einen normalen Benutzer. Der Nutzwert steigt, wenn mehr Webdienste in Zukunft die passwortlose Anmeldung erlauben würden.

Wenn ihr schauen wollt, ob euer Dienst möglicherweise den Sicherheitsschlüssel unterstützt könnt ihr entweder in eine veraltete Liste (https://buybitcoinworldwide.com/dongle-auth/#) oder bei Yubico in die Kompatibilitätsliste rein schauen (https://www.yubico.com/works-with-yubikey/catalog/?sort=a-z).

Außerdem habe ich noch zwei kleine Testseiten für euch, womit man das Webauthn-Protokoll mit dem USB Hardwareschlüssel testen kann.

https://webauthn.me/ zeigt einem recht anschaulich was beim Registrieren und Anmelden bei einem Webdienst passiert.
https://webauthn.io/ zeigt einem wie schnell und unkompliziert passwortlose Anmeldung sein könnte, wenn es mehr Dienste verwenden würden. Die Zukunft?

Nicht bei der Implementierungsgeschwindigkeit.

Quellen:
https://www.yubico.com/
https://developers.yubico.com/
https://docs.yubico.com/
https://www.yubico.com/solutions/passwordless/
https://webauthn.guide/
https://github.com/herrjemand/awesome-webauthn
https://learn.microsoft.com/de-de/azure/active-directory/authentication/howto-authentication-passwordless-security-key

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert