SC Workbook
科目 A-2 · セキュリティ

WebAuthn のフィッシング耐性

利用者は example.com に FIDO2(WebAuthn)の認証器を登録し,パスワードレスでログインしている。攻撃者は,example.com のログイン画面を模した偽サイト https://examp1e.net に利用者を誘導し,偽サイトでの利用者の操作によって得た情報を中継して,example.com にログインしようとした。この攻撃の結果として,適切なものはどれか。

  1. ア利用者が偽サイトで指紋認証を行うと,指紋の情報が偽サイトに送信され,攻撃者はそれを使って example.com にログインできる。
  2. イ鍵は RP ID ごとに分けられ,ブラウザは examp1e.net のページで example.com 用の鍵による署名を行わせないので,中継しても example.com にはログインできない。
  3. ウ攻撃者が偽サイトで得た署名をそのまま example.com に転送すれば,チャレンジの値が一致する限りログインできる。
  4. エ攻撃者は偽サイトで登録済みの公開鍵を入手し,その公開鍵から秘密鍵を計算して,以後は認証器なしで example.com にログインできる。
正解と解説を見る

正解 イ

この問題の基礎知識

  • FIDO2(WebAuthn)は公開鍵暗号による認証であり,登録時に認証器がサイト(RP)ごとに鍵ペアを生成して公開鍵だけをサーバに登録する。秘密鍵は認証器の外に出ない。
  • 認証時は,サーバが送ったチャレンジなどを含むデータに認証器が秘密鍵で署名し,サーバが公開鍵で検証する。生体認証は認証器の内部での本人確認に使われ,生体情報はサーバに送られない。
  • 鍵は RP ID(サイトのドメイン)に結び付けられ,ブラウザは呼出し元のオリジンに合わない RP ID の鍵を使わせない。署名対象のデータにはオリジンも含まれるので,偽サイトを経由した中継に耐性がある。
  • ワンタイムパスワードは利用者が入力した値を偽サイトがそのまま中継すれば突破され得る点で,FIDO2 とはフィッシングへの耐性が異なる。
ア利用者が偽サイトで指紋認証を行うと,指紋の情報が偽サイトに送信され,攻撃者はそれを使って example.com にログインできる。

FIDO2 の生体認証は,認証器の内部で本人確認(ユーザ検証)を行うために使われるだけで,生体情報はサイトに送られない。サイトに渡るのは秘密鍵による署名と,ユーザ検証を行ったことを示すフラグである。

イ鍵は RP ID ごとに分けられ,ブラウザは examp1e.net のページで example.com 用の鍵による署名を行わせないので,中継しても example.com にはログインできない。正解

公開鍵クレデンシャルは登録した RP ID のサイトでだけ使え,RP ID は呼出し元のオリジンのドメインと等しいか,その登録可能なドメインサフィックスでなければならない。偽サイトは example.com 用の署名を得られないので,中継は成功しない。

ウ攻撃者が偽サイトで得た署名をそのまま example.com に転送すれば,チャレンジの値が一致する限りログインできる。

ワンタイムパスワードなら中継によって突破され得るが,WebAuthn では,サーバが署名対象のクライアントデータに含まれるオリジンを自サイトのものと照合する。偽サイトを経由した要求はオリジンが一致しないので受け入れられない。

エ攻撃者は偽サイトで登録済みの公開鍵を入手し,その公開鍵から秘密鍵を計算して,以後は認証器なしで example.com にログインできる。

公開鍵暗号では,公開鍵から秘密鍵を現実的な計算量で求めることはできない。秘密鍵は認証器の中に保持され,サーバや第三者に渡ることはない。

検証用の出典出典照合済み
W3C Web Authentication: An API for accessing Public Key Credentials Level 2 / NIST SP 800-56B Rev. 2 Recommendation for Pair-Wise Key-Establishment Using Integer Factorization Cryptography
照合の根拠(5 件)
問題 ID A2-SEC-0013 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-08

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。