PassKeysは明らかに私にとってのSingle Point Of Failureなので、なぜこんなものが流行しているのか、いまいち分からない。 技術的にはパスワードを入力してやりとりするより安全なのは間違いなさそうだが、もっと良い方法はないのだろうか。 いずれにしてもPassKeysを設定しないといけないサービスにFirefox for NetBSDからログインしたいので、選択肢はない。
Firefox for NetBSDを常用していてPassKeysを使おうとすると、ハードウェアセキュリティーキーを使う以外に方法はない。 私はYubiKey 5 NFCを買って使っている。 古いもの(ファームウェアバージョン5.4.3)はFIDO2の保管上限数が25であり、すぐにいっぱいになってしまう。しかも、脆弱性がある。 新しいもの(ファームウェアバージョン5.7.4)は100まで保存できる。しかし100しかないとも言える。 software FIDO2 authenticatorとでも呼ぶべきプログラムは存在するのだが、それをNetBSDで動くようにするのは、面倒な気がする。 やってみたらそうでもない可能性もあるので、勝手な印象ではあるが。 では、スマートフォンでQRコードを読み取る方式はどうかと言うと、これはBluetoothサポートが必要なので、到底実現できるとは思えない。
同じようなことを考える人はいるもので、Passkey DictatorというFirefox addonを作っている人がいる。 Mozilla Firefoxのaddon storeでも公開されている。 こういうソフトウェアを無条件に信頼してインストールするのは危険であるのは確かなので、良く吟味してから使わないといけない。
これを使うと、READMEに書いてあるようにPixivには問題なくPassKeysの登録もログインもできるようになる。Firefox for NetBSDでもWindowsでも同様に問題ない。user agent stringも変更する必要はない。
私の問題としているもう1つはdアカウントなのだが、これはFirefox for NetBSDでid.smt.docomo.ne.jpへ送るuser agent stringをGoogle Chromeにすると、PassKeysの登録もログインも両方が問題なくできる。 しかしFirefox for Windowsでは、PassKeysの登録はできるのだが、ログインの際にはQRコードのパターンにしかならない。 幸運なことにdアカウントには複数のPassKeysを登録できるので、YubiKeyとAndroidのGoogle Password Managerの2つのPassKeysを登録しておくことにすれば、最終的には問題にはならなかった。 dアカウントでのログインは、PassKeysが必要なサービスとそうでないサービスがあるので、面倒である。
もう少し勉強すれば、Firefox for Windowsでdアカウントにログインできるようにできるのかもしれない。