テック技報最新号へ →
セキュリティ

パスキーは「パスワードの後に使う 2 要素目」ではなく、パスワードの代わりとして実装する

パスキーを追加できても、ログイン時に先にパスワードを入れないとパスキーを使えない実装では、パスワードが漏れる・推測される・フィッシングされるリスクが残ったままになる。パスキー単体でログインできるようにしてよい。

@agektmr · 2026-10-27
#passkey#webauthn#authentication#web-auth

どんな実装が問題か

note が 2 段階認証を全クリエイターに開放した際、画面上は「パスキーを追加」になっていたが、ログインするときはパスワードを入力しないとパスキーを使えなかった。@agektmr(Eiji Kitamura さん)は「パスキーはパスワードの代わりなので、パスキーだけでログインできて問題ない」と指摘している。

パスワードの後ろにパスキーを置くと:

  • 利用者は毎回パスワードを入力するので、偽サイトにパスワードを入れてしまう機会が減らない。
  • パスキーのフィッシング耐性(正規のドメインでしか署名しない性質)の利点を、ログインの入口で生かせない。
  • 「パスワードがないと危険」という感覚から設計されがちだが、パスキー自体が端末の所持と生体認証・PIN による本人確認を含んでいる(崎村夏彦さんも、金融機関で WebAuthn を勧めた際に「パスワードがないのは危険」と言われた経験を挙げている)。

実装の方針

  1. ログイン画面でパスキーを最初から選べるようにする。ユーザー名欄に autocomplete="username webauthn" を付け、条件付き UI(オートフィルからパスキーを選ぶ)を使う。
  2. WebAuthn の認証では userVerification: "required"(または preferred で結果の UV フラグを確認)にし、パスキー単体で「所持+本人確認」の 2 要素を満たす扱いにする。
  3. パスワードは移行期間の代替手段として残してもよいが、パスキーでのログインに前置きしない。パスキーを登録した利用者には、パスワードの削除やパスワードログインの停止を選べるようにすると攻撃面がさらに減る。
  4. 端末紛失時の回復手段(別端末のパスキー、回復コードなど)は別に用意する。

関連

出典

X の元の投稿を開く