FIDO2・WebAuthn パスワードレス認証
概要
FIDO2・WebAuthnは、パスワードに依存しないパスワードレス認証を実現するWeb標準技術です。公開鍵 暗号方式を基盤とし、ユーザーの認証器(スマートフォンの生体認証、セキュリティキーなど)を使って、安全性と利便性を両立した認証を可能にします。
なぜパスワードレス認証が必要か?
パスワード認証の課題
- セキュリティリスク: パスワードの使い回し、推測しやすいパスワード
- フィッシング攻撃: 偽サイトでのパスワード窃取
- 管理負荷: 複数サービスでの複雑なパスワード管理
- ユーザビリティ: パスワード忘れによるログイン失敗
パスワードレス認証のメリット
- フィッシング耐性: 公開鍵暗号による認証でフィッシング攻撃が無効
- 強固なセキュリティ: 認証器に格納された秘密鍵は取り出し不可
- 優れたUX: 生体認証やワンタップでの簡単ログイン
- 管理コスト削減: パスワードリセットなどの運用負荷軽減
FIDO2とWebAuthnの関係
FIDO2
- FIDO Allianceが策定したパスワードレス認証の標準仕様
- 2つの主要コンポーネントで構成:
- WebAuthn: Web APIの標準仕様
- CTAP: 認証器とクライアント間の通信プロトコル
WebAuthn(Web Authentication)
- W3Cが標準化したWebブラウザ向けAPI仕様
- JavaScriptから認証器にアクセスする標準インターフェース
- FIDO2の一部として、Web環境でのパスワードレス認証を実現
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Webアプリ │ │ ブラウザ │ │ 認証器 │
│ │ │ (WebAuthn) │ │ (スマホ・キー等) │
│ ├─ 登録要求 │───▶│ navigator. │───▶│ 秘密鍵生成 │
│ └─ 認証要求 │ │ credentials │ │ 署名・検証 │
└─────────────────┘ └──────────────┘ └─────────────────┘
FIDO2とPasskeyの関係
Passkeyとは
Passkey(パスキー)は、FIDO2/WebAuthnを使用したパスワードレス認証のユーザーフレンドリーな呼称です。
- 技術的には: FIDO2/WebAuthn準拠のクレデンシャル
- ユーザーから見ると: 生体認証やPINで使える、パスワードの代替手段
- 業界標準用語: Apple、Google、Microsoftが共同で推進
FIDO2とPasskeyの関係図
┌─────────────────────────────────────────────────┐
│ FIDO2(技術標準) │
│ ┌───────────────────┬───────────────────────┐ │
│ │ WebAuthn API │ CTAP 2.x │ │
│ │ (ブラウザAPI仕様) │ (認証器通信プロトコル) │ │
│ └───────────────────┴───────────────────────┘ │
└─────────────────────────────────────────────────┘
↓ 実装
┌─────────────────────────────────────────────────┐
│ Passkey(実装・ブランド名) │
│ ┌──────────────┬──────────────┬────────────┐ │
│ │ Apple Passkey│ Google Passkey│ Microsoft │ │
│ │ (iCloud同期) │ (Google同期) │ (MS同期) │ │
│ └──────────────┴──────────────┴────────────┘ │
└─────────── ──────────────────────────────────────┘
重要: Passkeyは新しい標準ではなく、既存のFIDO2/WebAuthn標準を活用した実装です。
Passkeyの種類
1. 同期されるPasskey(Multi-device Credentials)
特徴:
- 複数デバイスで使用可能
- クラウド経由で同期される
- 一般的に「Passkey」と呼ばれるのはこのタイプ
実装例:
| プロバイダー | 同期方法 | 対応デバイス |
|---|---|---|
| Apple | iCloud Keychain | iPhone/iPad/Mac |
| Google アカウント | Android/Chrome | |
| Microsoft | Microsoft アカウント | Windows デバイス |
| 1Password/Bitwarden等 | サードパーティクラウド | クロスプラットフォーム |
2. 端末固有のPasskey(Device-bound Credentials)
特徴:
- 特定のデバイスにのみ存在
- 同期されない
- セキュリティキーが典型例
実装例:
| デバイス | 特徴 | ユースケース |
|---|---|---|
| YubiKey | ハードウェアセキュリティキー | 企業セキュリティ、高セキュリティ環境 |
| Titan Key | Google製セキュリティキー | 2要素認証、企業環境 |
| TPMローカル保存 | Windows Hello(非同期) | 企業管理デバイス |
Passkeyまとめ
| 項目 | 内容 |
|---|---|
| 定義 | FIDO2/WebAuthn標準を活用した、パスワードの代替手段 |
| 新しい標準? | ❌ いいえ。既存のFIDO2標準の実装/ブランド名 |
| 種類 | 同期型: 複数デバイスで使用可能 端末固有: 特定デバイスのみ |
| 主な提供者 | Apple (iCloud)、Google、Microsoft、1Password等 |
| ユーザー体験 | 生体認証やPINで、パスワード入力なしでログイン |
| サービス提供者の対応 | 端末固有のみのユーザーには追加認証器の登録を推奨 |
ポイント: Passkeyは「FIDO2をより身近にする名称」であり、技術的には従来のFIDO2/WebAuthnと同じものです。