パスキーの PRF でユーザーデータを暗号化しない(消すと復旧不能)
WebAuthn の PRF 拡張でパスキーから鍵を導き E2EE やバックアップを守ると、そのパスキーを消した瞬間にデータが永久に読めなくなる。パスキーは認証用に留め、データ暗号には別の回復可能な鍵管理を使う。
いつ使うか
- メッセージ/ファイルの E2EE、バックアップ、書類保管、ウォレット解除などにパスキー+PRF を検討しているとき
- 自サービスが PRF を使っているか、利用者向けに削除時の警告を出せているか点検するとき
何が問題か
- 認証用クレデンシャルに「データのマスター鍵」まで載せるため、パスキー削除の被害半径が認証不能を超えてデータ喪失になる。
- パスワードマネージャの削除 UI は「このサイトのパスキーを消す」としか出ず、暗号化バックアップが消えることは通常伝わらない。
- 機種変更後にパスキーが無く、電話番号などでアカウントだけ復旧できた場合、「バックアップ復元」でパスキーを求められて詰む。
防御・設計の指針
- ユーザーデータの暗号化鍵にパスキー PRF を使わない(Tim Cappalli の要請。認証用途に留める)。
- どうしても PRF を使う場合:
- サポートサイトに「認証以外にどう使っているか」を明記する
- Relying Party Passkey Endpoints の Well-Known で
prfUsageDetailsにその URL を載せる - 有効化時に、削除=データ喪失であることを強く警告する
- パスワードマネージャ側は、PRF 付きパスキー削除時の警告と RP 情報ページの表示を優先する。
- 利用者向け: パスキーを整理する前に、そのサービスが「暗号化・バックアップ」にパスキーを使っていないか確認する。複数デバイス/回復キーがある設計かを見る(パスキーで「詰まない」ための運用のコツ)。
注意
- クレデンシャルマネージャや OS の「保管庫の解除」など、回復手段が別途ある用途は比較的妥当、と記事は区別している。問題なのは「思い出の写真」など回復不能なユーザーコンテンツへの転用。
- PRF 自体は WebAuthn に既にある。禁止ではなく、用途の切り分けが本題。
出典
- @agektmr · 2026-11-06
- Tim Cappalli: blog.timcappalli.me