FIDO2
FIDO2 とは何ですか?
FIDO2FIDO アライアンスによるオープンな認証標準。WebAuthn(ブラウザ API)と CTAP(認証器プロトコル)を組み合わせ、フィッシング耐性のあるパスワードレス・サインインを実現する。
FIDO2 は相補的な 2 つの仕様の総称である。WebAuthn は W3C の JavaScript API(レベル 1 は 2019 年 3 月、レベル 2 は 2021 年 4 月に勧告となった)で、リライング・パーティが公開鍵クレデンシャルを作成・検証できるようにする。Client to Authenticator Protocol(CTAP) は、ブラウザが USB・NFC・Bluetooth を介して外部認証器と通信できるようにする。CTAP2 が FIDO2 のプロトコルであり、旧来の CTAP1 は U2F そのもので、既存のセキュリティキーとの後方互換性を確保する。
登録時、認証器はリライング・パーティのオリジンに紐づく ECDSA(ES256/P-256)または EdDSA の鍵ペアを生成し、公開鍵とアテステーション文を返す。認証時、サーバーはランダムなチャレンジを送り、ユーザーの存在確認と検証(タッチ・生体認証・PIN)を経てはじめて解放された秘密鍵が、チャレンジをオリジンとともに署名する。署名は本物のオリジンに束縛され、秘密鍵は決してデバイスを離れないため、FIDO2 は設計上フィッシング・リプレイ・クレデンシャルスタッフィングを無効化する。単調増加する署名カウンターは複製された認証器も検知する。第 2 要素と完全なパスワードレスの双方に対応し、Apple・Google・Microsoft が 2022 年から展開するパスキーの技術的基盤でもある。
flowchart LR A[ユーザーがサイトを訪問] --> B[サーバーがランダムなチャレンジと RP ID を送信] B --> C[ブラウザが WebAuthn 経由で認証器を呼び出す] C --> D[ユーザーが検証:タッチ・生体認証・PIN] D --> E[秘密鍵がチャレンジとオリジンに署名] E --> F[サーバーが保存済み公開鍵で署名を検証] F --> G[アクセス許可]
● 例
- 01
GitHub アカウントの第 2 要素として YubiKey 5 を登録する。
- 02
Windows Hello のプラットフォーム認証器で Microsoft Entra ID にパスワードレスでサインインする。
● よくある質問
FIDO2 とは何ですか?
FIDO アライアンスによるオープンな認証標準。WebAuthn(ブラウザ API)と CTAP(認証器プロトコル)を組み合わせ、フィッシング耐性のあるパスワードレス・サインインを実現する。 サイバーセキュリティの ID とアクセス カテゴリに属します。
FIDO2 とはどういう意味ですか?
FIDO アライアンスによるオープンな認証標準。WebAuthn(ブラウザ API)と CTAP(認証器プロトコル)を組み合わせ、フィッシング耐性のあるパスワードレス・サインインを実現する。
FIDO2 からどのように防御しますか?
FIDO2 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
FIDO2 の別名は何ですか?
一般的な別名: FIDO 2.0。