WebAuthn / FIDO2 (2019)(ウェブオースン)
W3C 2019年3月勧告のパスワードレス認証API。FIDO Alliance + W3C 共同策定、生体認証 (Face ID / Touch ID) / セキュリティキー (YubiKey) で完全パスワードレス。
概要
WebAuthn (Web Authentication API) はW3C が2019年3月4日に勧告 (Recommendation) として標準化、FIDO Alliance (Fast Identity Online・Apple / Google / Microsoft / Amazon 主導) と W3C 共同策定したパスワードレス認証API。「FIDO2」= WebAuthn + CTAP (Client to Authenticator Protocol) のセット、認証器 (Face ID / Touch ID / Windows Hello / YubiKey 等) で公開鍵暗号ベースの完全パスワードレス認証を実現、フィッシング耐性・サーバ漏洩耐性・大幅UX改善で「パスワードの終焉」を象徴する技術。
FIDO Alliance / FIDO2
| 年 | 出来事 |
|---|---|
| 2012-07 | FIDO Alliance 設立 (PayPal / Lenovo / Nok Nok Labs) |
| 2014-12 | FIDO UAF 1.0 (Universal Authentication Framework) |
| 2014-12 | FIDO U2F 1.0 (Universal Second Factor) |
| 2018-04 | FIDO2 仕様策定 |
| 2019-03 | WebAuthn (W3C勧告) + CTAP 2.0 |
| 2021-02 | WebAuthn Level 2 |
| 2022-05 | Passkey (Apple / Google / Microsoft 統合発表) |
| 2024 | WebAuthn Level 3 ドラフト |
WebAuthn / FIDO2 主要仕様
| 項目 | 内容 |
|---|---|
| 暗号 | 公開鍵暗号 (ECDSA P-256 / EdDSA Ed25519 / RSA) |
| ローカル認証 | Face ID / Touch ID / Windows Hello / PIN |
| 物理鍵 | YubiKey / Google Titan / SoloKey |
| プラットフォーム認証器 | Built-in (iPhone / Mac / Android / Windows) |
| ローミング認証器 | USB / NFC / BLE (持ち運び) |
| 認証方法 | Resident Key (Discoverable) / Server-side Key |
| プロトコル | CTAP 2.0 / CTAP 2.1 / CTAP 2.2 |
| W3C 標準化 | 2019-03 (Level 1) / 2021-02 (Level 2) |
WebAuthn Flow (簡略)
[登録 (Registration)]
1. ユーザ: 「セキュリティキー登録」ボタン
2. Browser → サーバ: 登録要求
3. サーバ → Browser: Challenge + UserHandle
4. Browser → 認証器: 「公開鍵生成」要求
5. 認証器: ユーザ確認 (生体認証 / PIN)
6. 認証器: Key Pair 生成 → 公開鍵 + 認証応答
7. Browser → サーバ: 公開鍵保存
[認証 (Login)]
1. ユーザ: 「Login」ボタン
2. Browser → サーバ: ログイン要求
3. サーバ → Browser: Challenge
4. Browser → 認証器: 「署名」要求
5. 認証器: ユーザ確認 → Private Key で Challenge 署名
6. Browser → サーバ: 署名応答
7. サーバ: 公開鍵で署名検証 → ログイン成功
パスワード入力不要・サーバには公開鍵のみ (秘密鍵はデバイスから出ない)・フィッシング耐性 (URL検証付き)。
WebAuthn 主要利点
| 項目 | パスワード | WebAuthn / FIDO2 |
|---|---|---|
| フィッシング耐性 | × | ◎ (URL検証) |
| サーバ漏洩 | × | ◎ (公開鍵のみ) |
| 鍵盗難 | × | ◎ (秘密鍵がデバイスから出ない) |
| Reuse攻撃 | × | ◎ (Challenge 毎回ランダム) |
| Brute Force | × | ◎ (公開鍵暗号) |
| UX | 中 | ◎ (Face ID / Touch ID) |
| パスワード忘れ | あり | なし |
主要認証器
| 種別 | 製品 | 価格 |
|---|---|---|
| Platform (内蔵) | Face ID (iPhone X+) | 無料 |
| Platform | Touch ID (Mac / iPhone) | 無料 |
| Platform | Windows Hello (PIN / 生体) | 無料 |
| Platform | Android 7+ Fingerprint / Face | 無料 |
| Roaming (USB) | YubiKey 5 / Security Key | $50-70 |
| Roaming (NFC) | YubiKey 5C NFC / Titan Key | $50-70 |
| Roaming (BLE) | Google Titan Security Key | $30-50 |
| Roaming (OSS) | SoloKey / Trezor | $30-100 |
主要採用サイト (Passkey 含む)
| サイト | WebAuthn / Passkey |
|---|---|
| Apple ID | Passkey (2022-) |
| Google アカウント | Passkey (2023-) |
| Microsoft アカウント | Passkey (2023-) |
| GitHub | WebAuthn + 2FA |
| Twitter / X | YubiKey + 2FA |
| Amazon AWS Console | WebAuthn |
| eBay | Passkey |
| Best Buy | Passkey |
| PayPal | YubiKey |
| Coinbase | YubiKey |
| Dropbox | YubiKey + 2FA |
関連用語との違い
- vs パスワード: 公開鍵暗号 / 共有秘密
- vs SMS OTP: フィッシング耐性 / 中間者攻撃
- vs TOTP (Google Authenticator): 公開鍵 / 共有秘密
- vs Passkey: 仕様基盤 / 同期可能Credential
FAQ
Q1: パスワード不要? A: 「真のパスワードレス」目指す・Passkey 普及で2025-2030年に一般化見込み。当面は2FA / Recovery Code 併用。
Q2: 物理キー必須? A: 不要。Platform Authenticator (Face ID / Touch ID / Windows Hello) で十分。物理キーは「複数デバイス間共有」「最高セキュリティ」用途。
Q3: 復旧? A: Recovery Code / Backup Email + 2FA・Apple iCloud Keychain / Google Password Manager によるPasskey 同期で複数デバイスから復旧可。