Impossible d'enregistrer Yubikey en tant que passkeys pour la connexion sans mot de passe

Je rencontre un problème étrange : je ne parviens pas à enregistrer mes Yubikeys (j’utilise la série 5, et j’en ai 4) en tant que passkeys sur n’importe quel forum Discourse. Je parviens à enregistrer la passkey de mon téléphone Android et celle de mon gestionnaire de mots de passe avec succès.

Lorsque j’essaie d’enregistrer une Yubikey, j’obtiens toujours l’erreur ci-dessous :

Cependant, une clé résidente est créée sur ma Yubikey. Je le confirme avec ykman fido credentials list.
image

Cette clé, évidemment, ne fonctionne pas lorsque j’essaie de me reconnecter.

Par la suite, j’ai essayé d’enregistrer la clé sur ma propre installation Discourse pour vérifier les logs et voici l’erreur que je vois :

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

Je souhaite savoir s’il s’agit d’un problème connu, car je n’ai rien trouvé sur le forum concernant l’impossibilité d’utiliser les Yubikeys. Sinon, je serais heureux de fournir tout détail supplémentaire nécessaire.

2 « J'aime »

Je ne suis pas sûr qu’une yubikey soit un bon candidat pour une clé d’accès, seulement la bio ?

Les erreurs ne devraient pas se produire et nous devrions avoir quelques yubikeys à tester. @pmusaraj aidera à trier cela.

EDIT La bio fonctionne comme une clé d’accès. Je ne pense pas que quoi que ce soit d’autre que la bio convienne comme clé d’accès ? Vous n’avez qu’un seul facteur à ce stade.

2 « J'aime »

Pouvez-vous enregistrer ces yubikeys dans une application de clés d’accès non-Discourse comme Github, Google ou une implémentation de test comme https://www.passkeys.io/ ?

2 « J'aime »

@pmusaraj Oui, je les ai enregistrés avec succès sur Google, GitHub, Vercel et quelques autres services et ils fonctionnent bien.

@sam La Yubikey Série 5 est un bon candidat pour une passkey car elle combine quelque chose que je sais (code PIN) et quelque chose que j’ai (le jeton lui-même) pour l’utiliser comme passkey. Elle n’affichera même pas les clés résidentes sans le code PIN. La série bio remplace le code PIN par une donnée biométrique.

4 « J'aime »

Merci d’avoir vérifié @rishabhlakhotia. Je vois les erreurs dans nos journaux sur meta et l’emplacement de cet échec est une fonction générale d’attestation de clé de sécurité qui n’a pas eu de changements depuis quatre ans. Elle est également utilisée par le processus de clé de sécurité 2FA.

Êtes-vous en mesure d’enregistrer la Yubikey comme clé de sécurité d’authentification à deux facteurs ici sur meta ?

2 « J'aime »

Quel est le résultat de ykman list ?

Mon YubiKey 5 NFC (5.1.2) fonctionne bien comme clé d’accès ici sur Meta.

Je me suis enregistré avec Chromium et je peux l’utiliser pour me connecter avec Chromium, Firefox et Edge.

3 « J'aime »

N’importe quelle Yubikey avec des clés résidentielles devrait convenir, car le navigateur peut imposer l’authentification multifacteur sur celle-ci : à la fois la vérification de présence (toucher la clé) et le code PIN de la Yubikey à définir.

6 « J'aime »

Oui, j’ai enregistré mes quatre Yubikeys en tant que clés de sécurité. Pour éviter d’éventuels cas particuliers, j’ai essayé à nouveau en supprimant deux d’entre elles en tant que clés de sécurité pour les réenregistrer en tant que passkeys, mais même cela n’a pas fonctionné.

J’ai une YubiKey 5C NFC (5.4.3) et j’utilise le navigateur Chrome.

Je sais que si une clé a une authentification de clé de sécurité pour un site, tenter de l’utiliser comme passkey échouera, j’ai déjà rencontré ce problème.

Mais supprimer la clé de sécurité et la réenregistrer en tant que passkey devrait fonctionner.

2 « J'aime »

MISE À JOUR : Grâce à la réponse de @supermathie, je viens de télécharger Firefox et j’ai essayé d’enregistrer la Yubikey et cela a fonctionné. J’ai pu enregistrer la même clé qui donnait une erreur dans Chrome.

Fait intéressant, une fois enregistrée sur Firefox, j’ai pu me connecter en utilisant la même Yubikey sur Chrome. J’ai ensuite répété le même processus une fois de plus sur Chrome mais j’ai obtenu à nouveau la même erreur.

Je pense que nous pouvons cerner un peu le problème.

3 « J'aime »

Pouvez-vous nous indiquer la version de Chrome et FF que vous avez essayée ?

3 « J'aime »

Version Chrome 120.0.6099.234 (Build officiel) (arm64) et Version Firefox 122.0.1 (64 bits)

1 « J'aime »

J’ai rencontré le même problème tout à l’heure avec une YubiKey 5C NFC (5.4.3) et une YubiKey Security Key (les bleues) avec le navigateur Arc, c’est-à-dire Chromium (122.0.6261.57) sur macOS.

J’ai fait de même avec Safari et cela a très bien fonctionné. Et tout comme dans votre cas, l’utilisation de ces Passkeys n’a soulevé aucun problème avec le navigateur Chromium non plus.

3 « J'aime »

Salut, je suis tellement content d’avoir trouvé ce fil de discussion ! J’essayais désespérément d’ajouter ma YubiKey sur une instance Discourse, ce qui ne fonctionnait pas correctement — alors je me suis dit, eh bien, peut-être que ces gars s’auto-hébergent et ont une erreur de configuration d’une sorte. Puis j’ai pensé que je pourrais chercher sur Google — et j’ai vu que meta.discourse.org semblait en avoir parlé à un moment donné.

Malheureusement, ma tentative de configuration dans Brave (Chromium) a complètement échoué, comme avant, et tout comme l’OP l’a signalé.

Voici ma configuration :

  • macOS Big Sur 11.7.9 (20G1426) fonctionnant sur un ancien MacBook Pro Apple.
  • YubiKey 5 NFC Firmware : 5.4.3

Navigateurs :

  • Brave [Chromium] Version 1.73.91 Chromium : 131.0.6778.85 (Build officiel) (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 (Build officiel) (x86_64)

J’ai donc lancé Safari, j’ai procédé à l’ajout d’une clé d’accès, j’ai commencé avec une clé d’accès logicielle, que Safari a aimée et que Discourse a acceptée ; puis, en plus, j’ai essayé d’ajouter la YubiKey 5 NFC comme clé d’accès et comme confirmation 2FA supplémentaire — et Discourse n’a eu aucun problème à tout accepter !

Une fois que cela a été configuré, j’ai testé avec Firefox, et cela a fonctionné immédiatement ; il en a été de même avec Microsoft Edge. Et, en revenant à Brave, cela a maintenant fonctionné avec la YubiKey sans aucun problème.

Il semble que le seul problème que Discourse ait est avec la communication initiale avec la clé (ou, plutôt, tout ce qui permet à la clé d’être « visible » par le navigateur) dans les navigateurs basés sur Chromium. Une fois que cette clé est attribuée à Discourse, elle sera facilement acceptée par tout autre navigateur. Je n’ai pas essayé sur Safari pour iOS (la YubiKey 5 NFC fonctionne certainement aussi avec), mais je soupçonne sérieusement qu’il n’y aura pas de problème là non plus.

Maintenant, je vais devoir retourner à ces nombreuses configurations Discourse auxquelles je m’étais jointe sans succès et voir si elles fonctionnent maintenant ! :smile_cat:

2 « J'aime »