問題 10★★★

社員が偽のログイン画面にIDとパスワード、SMSで届いたワンタイムコードを入力し、 その直後に攻撃者に正規のサービスへログインされた。同じ手口の再発を防ぐ対策として 最も適切なものはどれか。

正解:エ

各選択肢の解説

  1. アワンタイムコードの有効期限を、5分から1分に短くする。

    誤り。この手口では、攻撃者は入力されたコードをその場で正規サービスに転送して使います。 有効期限を短くすると古いコードの悪用は防げるので効きそうに見えますが、 数秒で中継される攻撃には間に合ってしまいます。

  2. イワンタイムコードの送付先を、SMSから電子メールに切り替える。

    誤り。送付の経路を変えても、届いたコードを利用者が偽の画面に入力してしまえば 同じように中継されます。SMSの乗っ取りへの対策と混同しやすいのですが、 今回の弱点は届く経路ではなく、利用者が相手のサイトを見分けられない点にあります。

  3. ウパスワードの文字数を増やし、定期的に変更させる。

    誤り。パスワードを長くするのは推測や総当たりへの対策です。利用者が自分で 偽の画面に入力してしまう場面では、どれだけ複雑なパスワードでもそのまま盗まれます。 攻撃の種類(推測される/だまし取られる)が違います。

  4. エログインの方式を、パスキーによる認証に切り替える。

    正解。パスキーは登録した正規サイトのドメインに結び付いており、偽のサイトでは 認証が成り立ちません。利用者がだまされても渡せる秘密がないので、中継されません。

理解を深めるために

だまされても「渡すものがない」のがパスキー

今回の手口は、偽のログイン画面が利用者の入力を受け取り、その場で正規のサービスに 転送してログインするものです。ワンタイムコードは一度しか使えませんが、 その一度を攻撃者に先に使われると防げません。

合言葉を言えば通れる門なら、偽の門番に合言葉を聞き出されて終わりです。 パスキーは、合言葉を口にする代わりに、本物の門でしか開かない鍵を差し込む仕組みにたとえられます。

なぜパスキーなら防げるのか

パスキーは、FIDO Alliance が推進する公開鍵暗号を使った認証方式です。

  • 登録時に端末内で鍵のペアを作り、サービスには公開鍵だけを預ける
  • ログインでは、端末内の秘密鍵でサービスからのチャレンジに署名して返す
  • 鍵はサービスのドメインごとに作られ、ブラウザなどが接続先のドメインを確かめてから使う

偽のサイトはドメインが違うので、そもそも正規サイト用の鍵が使われません。 利用者が見分けられなくても、仕組みの側で相手を確かめる点が、 パスワードやワンタイムコードとの決定的な違いです。

混同しやすいものとの違い

対策 防げる攻撃 偽画面の中継に対して
パスキー フィッシング・パスワードの漏えい 偽サイトでは認証が成り立たない
ワンタイムコードの短い有効期限 古いコードの使い回し 即座に中継されれば通る
ワンタイムコードの送付経路の変更 SMSの乗っ取りなど経路の弱点 利用者が入力すれば通る
パスワードの長さ・定期変更 推測・総当たり 入力すればそのまま盗まれる

試験では「利用者がだまされて入力した」場面か「推測・漏えい」の場面かを見分け、 前者には利用者の判断に頼らないパスキーを選ぶ、と判断します。

前の問題へ次の問題へ