FIDOアライアンスが仕様を策定した「パスキー」は、パスワードではなく生体情報を用いて認証する「FIDO 2.0」を「Webauthn」標準に基いて利用して得た資格認証情報をデバイス単位で管理運用する技術です。このパスキーが抱える問題点について、Webauthn標準に関わったエンジニアのFirstyearことウィリアム・ブラウン氏が自身のブログで解説しています。

Firstyear's blog-a-log

https://fy.blackhats.net.au/blog/2024-04-26-passkeys-a-shattered-dream/

Webauthnがパスワードに代わる認証技術として大きな可能性を秘めていると考えていたブラウン氏は、2019年にオーストラリアからアメリカに渡り、友人と共にWebauthnのRust実装であるwebauthn-rsの開発を始めました。その過程で、ブラウン氏はWebauthn標準の問題点を発見し、改善案をWebauthnのワーキンググループに提案しました。

当時、Webauthnはパスワードに代わる認証技術として大きな期待を集めており、2要素認証・パスワードレス・ユーザーネームレスという3つのユースケースが想定されていました。

パスワード不要のログイン方法「WebAuthn」がウェブ標準になる - GIGAZINE



しかし、その後の仕様策定プロセスで問題点が浮上したとのこと。その一例が、ウェブブラウザ市場の大部分をChromeが支配しており、仕様策定に大きな影響力を持っていた点です。具体的には、Chromeが仕様内で気に入らない部分があれば拒否権を発動できてしまった点などで、実際にAuthenticator Selection Extensionというウェブ認証APIは、ChromeがサポートしなかったためにWebauthn仕様から削除されています。

また、仕様策定に関する重要な議論がアメリカで開催されるオフライン会議で行われるため、アメリカ国外の参加者の意見が反映されにくいという問題もありました。特に開発が行われた2019年末からは新型コロナウイルス感染症の世界的な流行があり、数年にわたって国外のエンジニアはアメリカに向かうことがほぼ不可能となりました。

そんな中、2022年にAppleが「パスキー」を発表しました。

パスワードを過去のものにするAppleの「Passkeys」とは? - GIGAZINE



当初、パスキーはWebauthnのパスワードレス認証を指す用語として使われており、Appleの実装ではAppleアカウントと紐づけることでユーザーネームレス認証も可能でした。「Appleの発表は洗練されていて、パスキーは多くの人々に好意的に受け止められました」とブラウン氏は述べています。しかし、Appleは「パスキー」の明確な定義を示していませんでした。

そんな中、FIDO会議の場である有力な開発者が「PasskeysはWebauthnのResident Key(Discoverable Credential)である」という解釈を示したとのこと。Resident Keyは、認証情報をセキュリティキー内に保存してユーザーネームレス認証を可能にする方式です。しかし、多くのセキュリティキーはストレージ容量が非常に小さく、最大でも25個程度のResident Keyしか保存できず、25個以上のアカウント数を持つユーザーには十分ではありません。



また、ChromeとSafariでは、ユーザーがセキュリティキーを使用しようとすると、QRコードをスキャンしてスマートフォンで認証を行い、複雑なメニュー操作が必要となります。そのため、認証に60秒以上かかり、ユーザーエクスペリエンスは良好とはいえないとブラウン氏は指摘しています。

さらに、Androidではウェブサイトがパスキーに必要なオプションを送信すると、セキュリティキーが無効化されてしまうとのこと。つまり、IDプロバイダーがユーザーの意向に関係なく、登録するデバイスを選択できるようになっています。開発者向けのサンプルコードでは、「Google Password Managerにパスワードをパスキーとして保存する」オプションしか示されていないそうです。

GitHubのスレッドでは、ユーザーが「Resident Keyスロットがいっぱいになってセキュリティキーが登録できない」「Androidのバグでパスキーが作成できない」「ファームウェアのリセットが必要になる」「クライアントでキーが保存されてもサーバーで保存されずに重複アカウントが発生する」などの問題を報告しており、ブラウン氏は「ユーザーの無力感が明らかになっています。こうした問題は、技術に詳しいアーリーアダプターであっても発生しているのです。一般ユーザーがパスワードからパスキーに移行する際に、こうした問題が障壁となる可能性があります」と述べています。



また、ブラウン氏は、AppleのiCloudキーチェーンに保存されたパスキーが3度も消失した経験があると報告しており、他のユーザーからも同様の報告が寄せられていると指摘しました。こうした問題を解決するために、開発側はより複雑なJavaScript APIを策定しようとしていますが、根本的な問題の解決にはつながっていません。

ブラウン氏は、企業の利益を優先するあまり、ユーザーエクスペリエンスが犠牲になっており、一般消費者の手に渡った時点でパスキーは失敗すると予測しています。ブラウン氏自身も、パスワードマネージャーの方がパスキーよりも優れたエクスペリエンスを提供できると語っており、パスキーに期待していた者としては、この結論を導き出すことは非常に辛いことだったと述べました。