Passkeys と WebAuthn - パスワードレス認証を支える公開鍵の仕組み

初級 | 6 分 で読める | 2026.06.14

WebAuthn Level 3
公式ドキュメント

Passkeys とは

Passkeys は、パスワードの代わりに公開鍵暗号を使ってログインする仕組みです。MDN では、Web Authentication API、つまり WebAuthn は Credential Management API の拡張であり、公開鍵暗号による強力な認証を可能にすると説明されています。

WebAuthn では、サーバーにパスワードそのものを保存しません。ユーザー側の認証器に秘密鍵を保持し、サーバーは公開鍵で署名を検証します。フィッシング耐性やパスワード漏えい時の被害軽減が大きな利点です。

なぜパスワードより強いのか

パスワードは、使い回し、推測、漏えい、フィッシングの問題を抱えます。WebAuthn では、ログイン時に origin が関係するため、偽サイトに誘導されても同じ署名を使い回せません。

また、サーバーに保存されるのは公開鍵なので、データベース漏えい時にそのままログインに使われる危険が小さくなります。

実装時の注意

観点注意
challenge十分にランダムな値を使う
origin想定したドメインか検証する
user verification生体認証や PIN の扱いを決める
recovery端末紛失時の復旧設計を用意する

学習時の見方

認証は Web アプリで最も重要な分野の一つです。最初は session、cookie、JWT、OAuth を学び、その後に WebAuthn と Passkeys を見ると理解しやすくなります。

ポートフォリオで認証機能を作る場合は、独自実装で無理をするより、まず安全なライブラリや認証サービスを使い、仕組みを説明できるようにするのが現実的です。

まとめ

このニュースは、今すぐ全員が対応すべき話か、学習や新規開発で前提を更新しておく話かを分けて読むことが重要です。まずは公式情報で対象バージョンと影響範囲を確認し、自分の環境に関係する部分から見直してください。

参考リソース

← 一覧に戻る
PR
PR
PR
PR