サイバー攻撃と防御の実務
FIDO2(WebAuthn)のパスキーによる認証が、ワンタイムパスワード(OTP)と比べて、フィッシングに強いとされる理由として、正しいものはどれか。
- A秘密鍵による署名が接続先のドメインに結び付くので、偽のサイトでは本物のサイト用の署名が作られず、中継しても使えない
- Bパスキーは6桁の数字なので、OTPより桁数が少なく、利用者が偽のサイトに入力してしまうまでの時間も短くなるから
- Cパスキーでは、サーバに利用者のパスワードを保存しておくので、偽のサイトに入力されても、サーバでの照合で見破れるから
答えと解説を見る
正解:A. 秘密鍵による署名が接続先のドメインに結び付くので、偽のサイトでは本物のサイト用の署名が作られず、中継しても使えない
OTPは利用者が画面を見て入力する値なので、偽のサイトに入力させ、その値をすぐに本物のサイトへ中継する攻撃(中間者型のフィッシング)を防げません。FIDO2では、サイトごとに公開鍵と秘密鍵の組を作って公開鍵だけをサイトに登録し、ログインのときは、サイトから送られた値(チャレンジ)に秘密鍵で署名します。どのサイト用の鍵を使うかは、ブラウザが確かめた実際の接続先のドメインで決まり、署名される情報にもその接続先が含まれるので、偽のサイトでは本物のサイト用の署名を得られません。また、サーバには公開鍵しか保存されないので、サーバから漏えいしても、なりすましには使えません。
- A. 正しい。接続先のドメインに結び付いた署名なので、偽のサイトでは使える署名を得られません。
- B. パスキーは数字を入力する方式ではなく、端末の中の秘密鍵で署名する方式です。
- C. パスキーでは、サーバにパスワードではなく公開鍵を登録します。