Passkey
パスワード不要の認証技術で、FIDO2/WebAuthn 標準に基づく
セキュリティ認証
Passkey とは
Passkey は、FIDO Alliance と W3C が策定した FIDO2/WebAuthn 標準に基づくパスワードレス認証技術である。生体認証 (指紋、顔) や PIN でデバイスのロックを解除するだけでログインでき、パスワードの記憶、漏洩、フィッシングのリスクを根本的に排除する。
Apple、Google、Microsoft が 2022 年に Passkey のサポートを表明し、2024〜2025 年にかけて主要サービスで導入が進んでいる。
パスワード vs Passkey
| 観点 | パスワード | Passkey |
|---|---|---|
| フィッシング | 偽サイトに入力するリスク | オリジン検証で不可能 |
| 漏洩 | DB 侵害で大量流出 | 秘密鍵はデバイス内 |
| 使い回し | ユーザーが同じパスワードを流用 | サイトごとに固有の鍵ペア |
| UX | 記憶・入力の負担 | 生体認証でワンタッチ |
| ブルートフォース | 試行可能 | 公開鍵暗号で不可能 |
認証の仕組み
[登録]
1. サーバーがチャレンジを送信
2. デバイスが鍵ペア (公開鍵 + 秘密鍵) を生成
3. 秘密鍵はデバイスのセキュアエンクレーブに保存
4. 公開鍵をサーバーに送信・登録
[認証]
1. サーバーがチャレンジを送信
2. ユーザーが生体認証でデバイスをロック解除
3. デバイスが秘密鍵でチャレンジに署名
4. サーバーが公開鍵で署名を検証
秘密鍵がネットワークを流れないため、中間者攻撃やサーバー侵害で認証情報が漏洩しない。
FIDO2 の構成要素
| 要素 | 役割 |
|---|---|
| WebAuthn | ブラウザ API。Web アプリから認証器にアクセス |
| CTAP2 | デバイスと外部認証器 (セキュリティキー) の通信プロトコル |
| 認証器 | プラットフォーム認証器 (Touch ID, Windows Hello) / ローミング認証器 (YubiKey) |
Cognito での Passkey
Amazon Cognito は WebAuthn をサポートしており、Passkey をユーザープールの認証方法として設定できる。パスワード + MFA の構成から、Passkey への段階的な移行が可能。
導入の注意点
- デバイス紛失時のリカバリ: iCloud Keychain や Google Password Manager で Passkey をクラウド同期し、デバイス紛失に備える
- レガシーブラウザ: WebAuthn 非対応のブラウザにはパスワード認証をフォールバックとして残す
- 段階的導入: 既存のパスワード認証と並行して Passkey を提供し、ユーザーに移行を促す
関連書籍も参考になる。