当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー
概要
FIDO2(Fast Identity Online 2)は、パスワードを使用しない「パスワードレス認証」や、認証強度を大幅に底上げする多要素認証を実現するための国際標準規格である。 FIDOアライアンスとW3Cによって策定された。
従来のパスワード認証には、その名の通り「パスワード」という人間が管理する秘密の文字列に依存するという構造的な限界がある。FIDO2はこの構造的限界に対抗するために設計された技術である。
FIDO2とパスキーとの関係性
FIDO2は、「共通の技術ルール」であり、パスキーは「FIDO2を一般利用者向けに扱いやすくした実装形態」である。
つまりパスキー以外でFIDO2を使うこともできる。
しかし、現在ではパスキーが主要な利用形態となりつつある。
FIDO2とMFA(多要素認証)との関係性
FIDO2は、パスワードと組み合わせて利用される場合もあれば、FIDO2のみでパスワードレス認証を実現する場合もある。
FIDO2の利用例(強い)
- パスワード+FIDO2
- FIDO2のみ(パスワードレス)
従来型MFAの例(中程度)
- パスワード+SMS認証
- パスワード+認証アプリ
FIDO2はフィッシング耐性が高いため、現在は最も強力な認証方式の一つとされる。
FIDO2と他の認証方法のフィッシング耐性比較
| 方式 | フィッシング耐性 |
|---|---|
| SMS認証 | 弱い |
| 認証アプリ(GoogleAuthenticatorなど) | 中 |
| FIDO2(パスキーなど) | 非常に強い |
FIDO2は認証時にアクセス先のドメインを確認するため、偽サイトでは認証が成立しにくい。
技術的背景と仕組み
なぜパスワード認証だけでは危険なのか
パスワード(およびユーザーID)での認証には、主として人間の記憶力・認知能力に依存した根本的な弱点がある。
- 複数のサイトで同じパスワードを使い回しがち → 漏洩すると連鎖被害が起こる
- どこに入力するか自分が判断する必要がある → フィッシング詐欺サイトに入力してしまう
また、コントロールの及ばないところから被害を受ける可能性もある
- サービス事業者側がサイバー攻撃などを受け、パスワード情報やハッシュ化された認証情報が外部流出する
- 辞書攻撃や総当たり攻撃によってパスワードが漏洩していなくても悪用される
FIDO2の基本的な考え方
公開鍵暗号方式を使い、下記のような認証を行なう。
- サービス側には公開鍵のみ保存する
- 秘密鍵は端末外へ出さない
- 認証時は秘密鍵そのものではなく署名結果だけを送る
このため、認証情報そのものが盗まれにくい。
FIDO2を構成する要素
WebAuthn(Web Authentication)
WebサイトやブラウザがFIDO2認証を利用するためのルールである。
CTAP2(Client To Authenticator Protocol 2)
PCやスマホと認証器を接続するためのルールである。
認証器(Authenticator)
秘密鍵を安全に保管し、認証処理を実行するためのデバイスや機能である。
認証器の代表的な実装例
- パスキー スマートフォンやPCのOS、またはクラウドのアカウント(iCloudキーチェーン、Googleパスワードマネージャーなど)に秘密鍵を保存し、デバイス間で同期・利用できるようにした認証情報、およびその仕組み。現在最も利便性が高く普及が進んでいる。
- OS内蔵認証器(プラットフォーム認証器): PCやスマートフォンに最初から組み込まれている生体認証ユニットと連動する仕組み。Windows Hello(Windows)、Touch ID / Face ID(Mac、iPhone、iPad)、Androidの生体認証機能などがこれに該当する。
- 外付けセキュリティキー(クロスプラットフォーム認証器): USBポートに差し込んだり、NFCでタッチしたりして利用する独立した物理専用デバイス。代表例としてYubiKeyやTitan Security Keyなどがある。端末側に生体認証が搭載されていない環境や、極めて高いガバナンスが求められるエンタープライズ、あるいは特権管理者のアカウント保護用途などで採用されるケースが多い。
FIDO2で実現できること
- 強固なパスワードレス認証の確立: 文字列を入力するステップそのものを排除し、生体認証やデバイスの所持確認のみでログインを完結させ、パスワードをそもそも使わない。
- フィッシング詐欺や認証情報の盗み取りに対する強固な耐性: ユーザーが騙されて偽サイトにアクセスしても、暗号処理の段階で不正を検知しログインを防ぐ。
- 多要素認証(MFA)運用の強化と合理化: 端末の「所持」と指紋や顔の「生体」の2要素を、1回のスマートフォンへのタッチ等で同時にクリアできる。
- エンドユーザーの利便性と業務効率の向上: 複雑なパスワードの定期的変更や、ログインミスによるアカウントロックに伴うヘルプデスクへの問い合わせを低減させる。
- システム管理者側におけるパスワード管理・運用の負荷軽減: サーバー側で大量のパスワードハッシュを暗号化・管理し続ける運用リスクから解放される。
FIDO2で防げること
FIDO2は、主に以下の認証フェーズにおける一般的なサイバー攻撃の成立を、構造的・暗号学的に抑え込むことに有効であるとされる。
- データベースからの資格情報漏洩被害: サーバー側には公開鍵しか存在しないため、万が一事業者のデータベースが完全に窃取されても、他サイトへの不正ログインのパーツとして悪用されることがない。
- フィッシング詐欺によるアカウント強奪: FIDO2認証時、ブラウザはアクセスしている「現在のWebサイトのドメイン」を厳密にチェックし、鍵ペアの適用可否を判断する。そのため、偽サイトにユーザーが誘導されても、端末側が署名の生成を拒否する。
- パスワードリスト攻撃および自動ブルートフォース攻撃: そもそも認証に固定のパスワード文字列を使用しないため、攻撃者が外部で入手したリストを用いて機械的にアタックを試みてもログインは成立しない。
- リプレイ攻撃(通信の盗聴と再利用): 認証ごとにサーバーから毎回異なるランダムな「チャレンジ(使い捨ての数値)」が発行され、それに対して都度固有の署名を行うため、過去の通信パケットを傍受・記録して再送信しても、サーバー側で拒否される。
FIDO2で防げないこと
FIDO2は極めて強固な認証規格だが、認証が成功した「後」、あるいは端末自体がなんらかの攻撃を受け侵害された場合に以下のような状況から守ることはできない。
- 端末自体が既存のマルウェアや情報窃取型ツールに感染する
- リモートデスクトップツール等によって、端末画面およびセッション自体が乗っ取られる
- ログインが完了した後にブラウザに払い出される「セッションクッキー」を丸ごと窃取され、別環境で再現されるセッションハイジャック攻撃を受ける
- 電話や騙しの手口により、ユーザー自身を心理的に誘導して不正なデバイスを登録させるなどのソーシャルエンジニアリングに合う
- 正規の手順でログインに成功した直後に、画面上で行われるデータの不正な閲覧やダウンロード操作をされる
限界と注意点
認証器(デバイス)の紛失とロックアウトのリスクがある
FIDO2では「物理的な特定の端末(認証器)が秘密鍵を持っていること」が認証の必須条件となる。そのため、鍵が格納されたスマートフォンが水没・紛失したり、外付けセキュリティキーを紛失したりした場合、正規の所有者であってもアカウントから完全に締め出されるリスクがある。
ロックアウトリスクへの準備が必須
上記のような紛失インシデントへの対策として、運用開始時に以下の代替・救済手段をセットで登録・配布しておく設計が実務上不可欠である。
- 1つのアカウントに対して、メインとは別に「予備のセキュリティキー」や「別のバックアップ端末」をあらかじめ複数登録しておく。
- 紛失時に管理者が一時的にアクセスをレスキューするための、使い捨ての「リカバリーコード(一回限りの復旧用文字列)」を安全な場所(台帳等)に保管しておく。
サービス・システム側の実装に依存する
FIDO2を利用するためには、Webサービスや社内アプリケーションの側が実装していなければならない。すべての業務ツールやレガシーなシステムがFIDO2に対応しているわけではなく、非対応の環境においては従来のパスワード運用や他のMFA(多要素認証)を併用せざるを得ない。
エンドポイント保護(多層防御)の継続的な必要性
FIDO2によって「入口(認証)」のセキュリティをどれほど強固に要塞化しても、ログインした後の端末自体が脆弱であれば、脅威を完全に防ぐことはできない。
そのため、OSの定期的なセキュリティパッチ更新、EPP/EDRによるデバイス内の常時挙動監視、 BitLocker等によるストレージ暗号化、そして万が一の破損に備えた3-2-1バックアップなど、他の基本的なセキュリティレイヤーを適切に維持することが、組織の防衛水準を保つ前提条件となる。
まとめ
FIDO2は、パスワード文字列の入力に依存しない認証を実現する国際標準規格である。 従来の認証システムが抱えているフィッシング詐欺やサーバーからの認証情報漏洩といったリスクに対し、強力な耐性を持つ。
近年ではパスキーという利便性の高い実装方式の普及が進み、一般組織や個人ユーザーにとっても身近な認証方法となってきた。 パスキーの多くはOSやパスワードマネージャーで管理されるため、まずはそれらの仕組みを利用しながらGoogleアカウント・Microsoftアカウント・Apple IDなど重要アカウントに対してパスキーを有効化することが現実的な第一歩となる。
一方で、FIDO2はあくまで認証フェーズの安全性を高める技術であるため、端末自体へのウイルス感染やセッションの乗っ取りといった他の脅威を防ぐことはできない。 ゼロトラストの思想に基づいて、エンドポイント全体の保護や適切なデータのバックアップ設計と組み合わせ、多層防御の一部として正しく配置することで、はじめて真価を発揮する。
