Kann Yubikey nicht als Passkeys für passwortloses Login registrieren

Ich habe ein seltsames Problem – ich kann Yubikeys (ich benutze Serie 5 und habe 4 davon) nicht als Passkeys auf irgendeinem Discourse-Forum registrieren. Ich kann den Passkey meines Android-Telefons und den Passkey meines Passwort-Managers erfolgreich registrieren.

Wenn ich versuche, einen Yubikey zu registrieren, erhalte ich immer die folgende Fehlermeldung:

Es wird jedoch ein Resident Key auf meinem Yubikey erstellt. Das bestätige ich mit ykman fido credentials list.

image

Dieser Schlüssel funktioniert offensichtlich nicht, wenn ich versuche, mich erneut anzumelden.

Anschließend habe ich versucht, den Schlüssel auf meiner eigenen Discourse-Installation zu registrieren, um die Protokolle zu überprüfen, und dies ist der Fehler, den ich sehe:

COSE::MalformedKeyError (Malformed CBOR key input) lib/discourse_webauthn/registration_service.rb:161:in `extract_public_key_and_credential_from_attestation' lib/discourse_webauthn/registration_servic

Ich möchte verstehen, ob dies ein bekanntes Problem ist, da ich im Forum nichts darüber finden konnte, dass Yubikey nicht funktioniert. Wenn nicht, teile ich gerne weitere Details mit, die möglicherweise benötigt werden.

2 „Gefällt mir“

Ich bin mir nicht sicher, ob ein YubiKey ein guter Kandidat für einen Passkey wäre, nur der Bio-Sensor?

Fehler sollten jedoch nicht auftreten und wir sollten ein paar YubiKeys zum Testen haben. @pmusaraj wird bei der Triage helfen.

EDIT Der Bio-Sensor funktioniert als Passkey. Ich bin mir nicht sicher, ob etwas anderes als der Bio-Sensor als Passkey geeignet ist? Sie haben dann nur 1 Faktor.

2 „Gefällt mir“

Können Sie diese YubiKeys in einer Nicht-Discourse-Passkeys-Anwendung wie Github, Google oder einer Testimplementierung wie https://www.passkeys.io/ registrieren?

2 „Gefällt mir“

@pmusaraj Ja, ich habe sie erfolgreich bei Google, GitHub, Vercel und einigen anderen Diensten registriert und sie funktionieren einwandfrei.

@sam Die Yubikey Series 5 ist ein guter Kandidat für Passkeys, da sie etwas, das ich weiß (PIN), und etwas, das ich habe (den Token selbst), kombiniert, um als Passkey verwendet zu werden. Ohne die PIN werden nicht einmal die residenten Schlüssel angezeigt. Die Bio-Serie ersetzt die PIN durch biometrische Daten.

4 „Gefällt mir“

Danke für die Überprüfung, @rishabhlakhotia. Ich sehe die Fehler in unseren Protokollen auf Meta und der Ort dieses Fehlers ist eine allgemeine Sicherheitsschlüssel-Attestierungsfunktion, die seit vier Jahren keine Änderungen erfahren hat. Sie wird auch vom 2FA-Sicherheitsschlüsselprozess verwendet.

Können Sie den Yubikey hier auf Meta als Zwei-Faktor-Authentifizierungs-Sicherheitsschlüssel registrieren?

2 „Gefällt mir“

Was ist die Ausgabe von ykman list?

Mein YubiKey 5 NFC (5.1.2) funktioniert hier auf Meta gut als Passkey.

Ich habe mich mit Chromium registriert und kann ihn verwenden, um mich mit Chromium, Firefox und Edge anzumelden.

3 „Gefällt mir“

Jeder Yubikey mit residenten Schlüsseln sollte geeignet sein, da der Browser Multi-Faktor-Authentifizierung darauf erzwingen kann: sowohl die Anwesenheitsprüfung (Berühren des Schlüssels) als auch die Eingabe der Yubikey-PIN.

6 „Gefällt mir“

Ja, ich habe alle vier Yubikeys als Sicherheitsschlüssel registriert. Um mögliche Ausnahmefälle zu vermeiden, habe ich versucht, zwei davon als Sicherheitsschlüssel zu entfernen und sie als Passkeys neu zu registrieren, aber selbst das hat nicht funktioniert.

Ich habe YubiKey 5C NFC (5.4.3) und verwende den Chrome-Browser.

Ich weiß, dass wenn ein Schlüssel eine Sicherheitsschlüssel-Anmeldeinformation für eine Website hat, der Versuch, ihn als Passkey zu verwenden, fehlschlägt. Das ist mir schon passiert.

Aber das Entfernen des Sicherheitsschlüssels und die erneute Registrierung als Passkey sollte funktionieren.

2 „Gefällt mir“

UPDATE: Dank @supermathie’s Antwort habe ich gerade Firefox heruntergeladen und versucht, den Yubikey zu registrieren, und es hat funktioniert. Ich konnte denselben Schlüssel registrieren, der in Chrome einen Fehler verursacht hat.

Interessanterweise konnte ich mich, sobald er auf Firefox registriert war, mit demselben Yubikey bei Chrome anmelden. Ich habe dann denselben Vorgang noch einmal auf Chrome wiederholt, aber wieder denselben Fehler erhalten.

Ich denke, wir können das Problem etwas eingrenzen.

3 „Gefällt mir“

Können Sie uns die Chrome- und FF-Version mitteilen, die Sie ausprobiert haben?

3 „Gefällt mir“

Chrome Version 120.0.6099.234 (Offizieller Build) (arm64) und Firefox Version 122.0.1 (64-Bit)

1 „Gefällt mir“

Habe gerade dasselbe Problem mit einem YubiKey 5C NFC (5.4.3) und einem YubiKey Security Key (den blauen) mit dem Arc Browser, d.h. Chromium (122.0.6261.57) unter macOS festgestellt.

Ich habe dasselbe mit Safari gemacht und es hat einwandfrei funktioniert. Und genau wie in Ihrem Fall gab es mit diesen Passkeys keine Probleme mit dem Chromium-Browser.

3 „Gefällt mir“

Hallo, ich bin so froh, diesen Thread gefunden zu haben! Ich habe verzweifelt versucht, meinen YubiKey zu einer Discourse-Instanz hinzuzufügen, was nicht richtig funktionierte – also dachte ich, na ja, vielleicht hosten diese Leute selbst und haben irgendeinen Konfigurationsfehler. Dann dachte ich, ich könnte danach googeln – und sah, dass meta.discourse.org dies anscheinend irgendwann erwähnt hat.

Leider schlug mein Versuch, die Dinge in Brave (Chromium) einzurichten, wie zuvor und wie vom OP berichtet, völlig fehl.

Hier ist mein Setup:

  • macOS Big Sur 11.7.9 (20G1426) auf einem alten Apple MacBook Pro.
  • YubiKey 5 NFC Firmware: 5.4.3

Browser:

  • Brave [Chromium] Version 1.73.91 Chromium: 131.0.6778.85 (Offizieller Build) (x86_64)
  • Safari: [WebKit] 16.6.1 (16615.3.12.11.5, 16615)
  • Firefox: [Gecko] 133.0
  • Microsoft Edge: [Chromium] Version 131.0.2903.70 (Offizieller Build) (x86_64)

Also startete ich Safari, fuhr fort, einen Passkey hinzuzufügen, begann mit einem softwarebasierten Passkey, den Safari mochte und Discourse akzeptierte; dann versuchte ich zusätzlich, den YubiKey 5 NFC als Passkey und als zusätzliche 2FA-Bestätigung hinzuzufügen – und Discourse hatte keine Probleme, alles zu akzeptieren!

Sobald das konfiguriert war, testete ich es mit Firefox, und es funktionierte sofort; dasselbe geschah auch mit Microsoft Edge. Und als ich zu Brave zurückkehrte, funktionierte es jetzt ohne jegliche Probleme mit dem YubiKey.

Es scheint, dass das einzige Problem, das Discourse mit der anfänglichen Kommunikation mit dem Schlüssel hat (oder vielmehr damit, was den Schlüssel für den Browser ‘sichtbar’ macht) in Chromium-basierten Browsern. Sobald dieser Schlüssel Discourse zugewiesen ist, wird er von jedem anderen Browser problemlos akzeptiert. Ich habe es nicht auf Safari für iOS ausprobiert (YubiKey 5 NFC funktioniert definitiv auch damit), aber ich vermute stark, dass es auch dort keine Probleme geben wird.

Jetzt muss ich zu den vielen Discourse-Setups zurückkehren, denen ich mich ohne Erfolg angeschlossen hatte, und sehen, ob sie jetzt funktionieren! :smile_cat:

2 „Gefällt mir“