奇妙な問題に直面しています。どのDiscourseフォーラムでもYubiKey(シリーズ5を使用しており、4つ持っています)をパスキーとして登録できません。Androidフォンのパスキーとパスワードマネージャーのパスキーは正常に登録できます。
YubiKeyを登録しようとすると、常に以下のエラーが発生します。
しかし、YubiKey上にレジデントキーが作成されます。ykman fido credentials listで確認できます。

このキーは、当然ながら、再度ログインしようとしても機能しません。
その後、自分のDiscourseインストールでキーを登録してログを確認したところ、以下のエラーが表示されました。
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
YubiKeyが機能しないことに関してフォーラムで何も見つけられなかったので、これは既知の問題なのか理解したいです。もしそうでない場合は、必要に応じてさらに詳細を提供させていただきます。
「いいね!」 2
sam
(Sam Saffron)
2
YubiKey がパスキーの候補として適しているかどうかわかりません。生体認証のみですか?
エラーは発生しないはずですが、テスト用に YubiKey をいくつか用意する必要があります。@pmusaraj がこの問題を解決するのを手伝ってくれます。
編集 生体認証 はパスキーとして機能します。生体認証以外のものがパスキーとして適しているかどうかはわかりません。その場合、要因は 1 つだけになります。
「いいね!」 2
pmusaraj
(Penar Musaraj)
3
これらのYubiKeyを、Github、GoogleなどのDiscourse以外のパスキーアプリケーションや、https://www.passkeys.io/のようなテスト実装に登録できますか?
「いいね!」 2
@pmusaraj はい、Google、GitHub、Vercel、その他いくつかのサービスに正常に登録でき、正常に動作しています。
@sam Yubikey Series 5 は、パスキーとして使用するために、私が知っているもの(PIN)と私が持っているもの(トークン自体)を組み合わせるため、パスキーの良い候補です。PIN がないと、レジデントキーを一覧表示することさえできません。バイオシリーズは、PIN を生体認証に置き換えます。
「いいね!」 4
pmusaraj
(Penar Musaraj)
5
@rishabhlakhotia さん、確認ありがとうございます。meta のログでエラーを確認しました。この障害は、4年前から変更されていない一般的なセキュリティキー証明機能で発生しています。これは 2FA セキュリティキープロセスでも使用されています。
meta で Yubikey を 2 要素認証セキュリティキーとして登録できますか?
「いいね!」 2
ykman list の出力は何ですか?
私の YubiKey 5 NFC (5.1.2) は、ここで Meta のパスキーとして正常に機能します。
Chromium で登録し、Chromium、Firefox、Edge でログインするために使用できます。
「いいね!」 3
Falco
(Falco)
7
レジデントキーを備えた Yubikey であれば、ブラウザが多要素認証を強制できるため、適しているはずです。存在チェック(キーに触れる)と Yubikey PIN の設定の両方が可能です。
「いいね!」 6
はい、4つのYubikeyすべてをセキュリティキーとして登録しています。エッジケースを回避するために、2つをセキュリティキーとして削除し、パスキーとして再登録しようとしましたが、それでも機能しませんでした。
YubiKey 5C NFC (5.4.3) を使用しており、Chromeブラウザを使用しています。
キーにサイトのセキュリティ キー クレデンシャルがある場合、それをパスキーとして使用しようとすると失敗することは知っています。私も同様の問題に遭遇しました。
しかし、セキュリティ キーを削除してパスキーとして再登録すれば機能するはずです。
「いいね!」 2
UPDATE: @supermathieさんの返信のおかげで、FirefoxをダウンロードしてYubikeyの登録を試したところ、うまくいきました。Chromeでエラーが出ていたのと同じキーを登録できました。
興味深いことに、Firefoxで登録した後、同じYubikeyを使ってChromeでログインすることができました。その後、Chromeで同じプロセスをもう一度繰り返しましたが、また同じエラーが発生しました。
これで問題がある程度絞り込めると思います。
「いいね!」 3
Chrome と FF のバージョンを教えていただけますか?
「いいね!」 3
Chrome バージョン 120.0.6099.234 (Official Build) (arm64) および Firefox バージョン 122.0.1 (64-bit)
「いいね!」 1
macOS上のArc Browser、つまりChromium(122.0.6261.57)で、YubiKey 5C NFC(5.4.3)とYubiKey Security Key(青いもの)で同様の問題が発生しました。
Safariでも同様に試したところ、問題なく動作しました。そして、あなたのケースと同様に、これらのPasskeysをChromiumブラウザで使用しても問題は発生しませんでした。
「いいね!」 3
こんにちは、このスレッドを見つけられてとても嬉しいです! DiscourseインスタンスにYubiKeyを追加しようと必死に試していましたが、うまくいきませんでした。それで、彼らはセルフホスティングしていて、何らかの設定エラーがあるのではないかと思いました。それからGoogleで検索してみようと思いました。meta.discourse.orgが以前にこれに言及していたように見えました。
残念ながら、Brave(Chromium)でセットアップを試みましたが、OPが報告したように、以前と同様に完全に失敗しました。
私の設定は以下の通りです。
- macOS Big Sur 11.7.9 (20G1426) を古いApple MacBook Proで実行しています。
- YubiKey 5 NFC ファームウェア: 5.4.3
ブラウザ:
- Brave [Chromium] バージョン 1.73.91 Chromium: 131.0.6778.85 (公式ビルド) (x86_64)
- Safari: [WebKit] 16.6.1 (16615.3.12.11.5, 16615)
- Firefox: [Gecko] 133.0
- Microsoft Edge: [Chromium] バージョン 131.0.2903.70 (公式ビルド) (x86_64)
それで、Safariを起動し、パスキーの追加に進み、ソフトウェアベースのパスキーから始めました。これはSafariが気に入り、Discourseも受け入れました。その後、さらにYubiKey 5 NFCをパスキーとしておよび追加の2FA確認として追加しようとしました。Discourseはすべてを受け入れるのに問題はありませんでした!
それが設定されたら、Firefoxでテストしたところ、すぐに機能しました。Microsoft Edgeでも同様でした。そして、Braveに戻ると、YubiKeyで今は何も問題なく機能しました。
Discourseが抱えている唯一の問題は、キーとの初期通信(または、キーをブラウザから「見える」ようにする機能)がChromiumベースのブラウザにあるようです。そのキーがDiscourseに割り当てられると、他のどのブラウザでも簡単に受け入れられるようになります。iOSのSafari(YubiKey 5 NFCは間違いなくそれとも連携します)では試しませんでしたが、そこでも問題はないだろうと強く疑っています。
今、成功しなかった多くのDiscourseセットアップに戻って、今機能するかどうかを確認する必要があります! 
「いいね!」 2