W3C 標準の Web 認証 API。ブラウザを介して認証器(生体センサ・セキュリティキー)と通信し、パスワードに頼らない強固な認証を実現する。 FIDO2 仕様の中核を成し、 パスキー の基盤技術となっている。
概要
WebAuthn は 2019 年に W3C で勧告された Web 認証の標準仕様。ブラウザに navigator.credentials.create() / navigator.credentials.get() という API として実装されており、サーバー側との チャレンジ・レスポンス方式 で認証を成立させる。
秘密鍵は認証器の中(OS のセキュアエンクレーブ、ハードウェアキー)に保管され、ブラウザにもサーバーにも露出しない。
認証フローの 3 要素
| 要素 | 役割 |
|---|---|
| リライング・パーティ(RP) | ログインを受け付けるサーバー(例:SaaS のバックエンド) |
| クライアント(ブラウザ) | RP と認証器の橋渡し。ドメイン情報を WebAuthn API に渡す |
| 認証器(Authenticator) | 秘密鍵を保管する装置。生体センサ付きスマホ・USB キー等 |
ドメイン情報がブラウザから渡されるため、 偽サイトでは署名できない 。これがフィッシング耐性の本質。
関連用語
- パスキー — WebAuthn を消費者向けに使いやすくしたブランド名
- AWS Cognito — WebAuthn をネイティブサポートする認証基盤