Impossibile registrare Yubikey come passkeys per l'accesso senza password

Ho riscontrato un problema strano: non riesco a registrare le Yubikey (sto usando la serie 5 e ne ho 4) come passkey su nessun forum Discourse. Riesco a registrare con successo la passkey del mio telefono Android e la passkey del mio gestore di password.

Quando provo a registrare la Yubikey ottengo sempre il seguente errore:

Tuttavia, viene creata una chiave residente sulla mia Yubikey. Lo confermo con ykman fido credentials list.
image

Questa chiave, ovviamente, non funziona quando provo ad accedere di nuovo.

Successivamente, ho provato a registrare la chiave sulla mia installazione Discourse per controllare i log e questo è l’errore che vedo:

COSE::MalformedKeyError (Input chiave CBOR malformato) lib/discourse_webauthn/registration_service.rb:161:in `extract_public_key_and_credential_from_attestation' lib/discourse_webauthn/registration_servic

Vorrei capire se si tratta di un problema noto perché non ho trovato nulla sul forum riguardo all’impossibilità di utilizzare le Yubikey. In caso contrario, sarei felice di fornire qualsiasi dettaglio aggiuntivo possa essere necessario.

2 Mi Piace

Non sono sicuro che una yubikey sarebbe un buon candidato per una passkey, solo il bio?

Gli errori non dovrebbero verificarsi e dovremmo avere alcune yubikey da testare. @pmusaraj aiuterà a risolvere questo problema.

MODIFICA Il bio funziona come passkey. Non sono sicuro che qualcos’altro oltre al bio sia adatto come passkey? A quel punto hai solo 1 fattore.

2 Mi Piace

È possibile registrare queste YubiKey in un’applicazione di passkey non-Discourse come Github, Google o un’implementazione di test come https://www.passkeys.io/?

2 Mi Piace

@pmusaraj Sì, li ho registrati con successo su Google, GitHub, Vercel e un paio di altri servizi e funzionano bene.

@sam Yubikey Series 5 è un buon candidato per le passkey perché combina qualcosa che conosco (PIN) e qualcosa che ho (il token stesso) da usare come passkey. Non elencherà nemmeno le chiavi residenti senza il PIN. La serie bio sostituisce il PIN con i dati biometrici.

4 Mi Piace

Grazie per aver controllato @rishabhlakhotia. Vedo gli errori nei nostri log su meta e la posizione di questo errore è una funzione generale di attestazione della chiave di sicurezza che non ha subito modifiche da quattro anni. Viene utilizzata anche dal processo della chiave di sicurezza 2FA.

Sei in grado di registrare la Yubikey come chiave di sicurezza per l’autenticazione a due fattori qui su meta?

2 Mi Piace

Qual è l’output di ykman list?

La mia YubiKey 5 NFC (5.1.2) funziona bene come passkey qui su Meta.

Mi sono registrato con Chromium e posso usarla per accedere con Chromium, Firefox e Edge.

3 Mi Piace

Qualsiasi Yubikey con chiavi residenti dovrebbe essere adatta, poiché il browser può applicare il multi-fattore su di essa: sia il controllo di presenza (toccare la chiave) sia il PIN Yubikey da impostare.

6 Mi Piace

Sì, ho registrato tutte e quattro le Yubikey come Chiavi di Sicurezza. Per evitare potenziali casi limite, ho riprovato rimuovendo due di esse come chiavi di sicurezza per registrarle nuovamente come passkey, ma anche questo non ha funzionato.

Ho una YubiKey 5C NFC (5.4.3) e uso il browser Chrome.

So che se una chiave ha una credenziale di Chiave di Sicurezza per un sito, tentare di usarla come Passkey fallirà, mi è successo.

Ma rimuovere la Chiave di Sicurezza e registrarla nuovamente come Passkey dovrebbe funzionare.

2 Mi Piace

AGGIORNAMENTO: Grazie alla risposta di @supermathie, ho appena scaricato Firefox e ho provato a registrare la Yubikey e ha funzionato. Sono stato in grado di registrare la stessa chiave che stava dando un errore su Chrome.

È interessante notare che, una volta registrata su Firefox, sono stato in grado di accedere utilizzando la stessa Yubikey su Chrome. Ho quindi ripetuto lo stesso processo ancora una volta su Chrome ma ho ottenuto di nuovo lo stesso errore.

Penso che possiamo restringere un po’ il problema.

3 Mi Piace

Puoi comunicarci la versione di Chrome e FF che hai provato?

3 Mi Piace

Chrome Versione 120.0.6099.234 (Build ufficiale) (arm64) e Firefox Versione 122.0.1 (64 bit)

1 Mi Piace

Ho riscontrato lo stesso problema proprio ora con una YubiKey 5C NFC (5.4.3) e una YubiKey Security Key (quelle blu) con Arc Browser, ovvero Chromium (122.0.6261.57) su macOS.

Ho fatto lo stesso con Safari e ha funzionato benissimo. E proprio come nel tuo caso, l’utilizzo di quelle Passkey non ha sollevato problemi nemmeno con il browser Chromium.

3 Mi Piace

Ciao, sono così felice di aver trovato questa discussione! Stavo disperatamente cercando di aggiungere la mia YubiKey su un’istanza Discourse, che non funzionava correttamente, quindi ho pensato, beh, forse questi ragazzi si auto-ospitano e hanno qualche errore di configurazione. Poi ho pensato di cercarlo su Google e ho visto che meta.discourse.org sembrava averne parlato a un certo punto.

Sfortunatamente, il mio tentativo di configurare le cose in Brave (Chromium) è fallito completamente, come prima, e proprio come riportato dall’OP.

Ecco la mia configurazione:

  • macOS Big Sur 11.7.9 (20G1426) in esecuzione su un vecchio MacBook Pro Apple.
  • YubiKey 5 NFC Firmware: 5.4.3

Browser:

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

Quindi, ho avviato Safari, ho proceduto ad aggiungere una passkey, ho iniziato con una passkey basata su software, che Safari ha gradito e Discourse ha accettato; poi, in aggiunta, ho provato ad aggiungere la YubiKey 5 NFC come passkey e come conferma 2FA aggiuntiva — e Discourse non ha avuto problemi ad accettare tutto!

Una volta configurato, ho testato con Firefox e ha funzionato immediatamente; lo stesso è accaduto con Microsoft Edge. E, tornando a Brave, ora funzionava con la YubiKey senza alcun problema.

Sembra che l’unico problema che Discourse abbia sia con la comunicazione iniziale con la chiave (o, piuttosto, qualunque cosa renda la chiave ‘visibile’ al browser) nei browser basati su Chromium. Una volta che quella chiave è assegnata a Discourse, sarà facilmente accettata da qualsiasi altro browser. Non l’ho provato su Safari per iOS (YubiKey 5 NFC funziona sicuramente anche con esso), ma sospetto seriamente che non ci saranno problemi nemmeno lì.

Ora dovrò tornare a quelle molte configurazioni Discourse a cui mi ero unito senza successo e vedere se ora funzionano! :smile_cat:

2 Mi Piace