Passkey
パスワード不要の認証技術で、FIDO2/WebAuthn 標準に基づく
Passkey とは
Passkey は、FIDO Alliance と W3C が策定した FIDO2/WebAuthn 標準に基づくパスワードレス認証技術である。生体認証 (指紋、顔) や PIN でデバイスのロックを解除するだけでログインでき、パスワードの記憶、漏洩、フィッシングのリスクを根本的に排除する。
Apple、Google、Microsoft が 2022 年に Passkey のサポートを表明し、2024〜2025 年にかけて主要サービスで導入が進んでいる。
パスワード vs Passkey
パスワードと Passkey の違いを以下にまとめる。
| 観点 | パスワード | Passkey |
|---|---|---|
| フィッシング | 偽サイトに入力するリスク | オリジン検証で不可能 |
| 漏洩 | DB 侵害で大量流出 | 秘密鍵はデバイス内 |
| 使い回し | ユーザーが同じパスワードを流用 | サイトごとに固有の鍵ペア |
| UX | 記憶・入力の負担 | 生体認証でワンタッチ |
| ブルートフォース | 試行可能 | 公開鍵暗号で不可能 |
認証の仕組み
認証の仕組みを図で示す。
[登録]
1. サーバーがチャレンジを送信
2. デバイスが鍵ペア (公開鍵 + 秘密鍵) を生成
3. 秘密鍵はデバイスのセキュアエンクレーブに保存
4. 公開鍵をサーバーに送信・登録
[認証]
1. サーバーがチャレンジを送信
2. ユーザーが生体認証でデバイスをロック解除
3. デバイスが秘密鍵でチャレンジに署名
4. サーバーが公開鍵で署名を検証
秘密鍵がネットワークを流れないため、中間者攻撃やサーバー侵害で認証情報が漏洩しない。
FIDO2 の構成要素
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 を提供し、ユーザーに移行を促す
関連書籍も参考になる。
この記事は役に立ちましたか?
関連用語
Amazon Cognito
Web・モバイルアプリに認証・認可機能を追加する AWS マネージドサービス
多要素認証
パスワードに加えて追加の認証要素を要求し、アカウントの不正アクセスを防ぐセキュリティ手法
シングルサインオン
1 回の認証で複数のアプリケーションやサービスにアクセスできる仕組み
OAuth 2.0
ユーザーのパスワードを渡さずに、リソースへの限定的なアクセスを許可する認可フレームワーク
パスワードポリシー
安全なパスワードの要件と管理ルールを定義し、NIST ガイドラインに基づくセキュリティ方針
シークレットローテーション
API キーやデータベースパスワードなどの秘密情報を定期的に自動更新するセキュリティプラクティス
関連する記事
技術書を Kindle で読むコツ - 電子書籍ならではの活用術
技術書を Kindle で効率的に読むための具体的なテクニックを紹介します。ハイライト、検索、フォントサイズの調整など、紙にはない電子書籍の強みを活かす方法。
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。