問題 42★★☆

あるサービスが、パスワードの条件を「数字4桁」から「英字・数字・記号を混ぜた 12文字以上」に変更した。この変更が総当たり攻撃(ブルートフォース攻撃)への 対策になる理由として、最も適切なものはどれか。

正解:ア

各選択肢の解説

  1. ア試さなければならない組み合わせの数が増え、当たるまでにかかる時間が大幅に延びるから。

    正解。総当たり攻撃は全部の組み合わせを順に試すので、組み合わせの総数がそのまま 攻撃の手間になります。文字の種類と長さを増やすと、総数は掛け算で膨らみます。

  2. イ他のサービスから流出したIDとパスワードの組が、このサービスでは使えなくなるから。

    誤り。これはパスワードリスト攻撃への対策の話で、効くのは使い回しをやめることです。 12文字の複雑なパスワードでも、他のサービスと同じものなら流出した組で通ります。

  3. ウログインに続けて失敗した利用者のアカウントが、一定の時間は使えなくなるから。

    誤り。これはアカウントロックの説明です。総当たり攻撃に効く点は同じですが、 試行の回数を制限する別の仕組みであり、パスワードの条件を変えた効果ではありません。

  4. エ通信経路の途中でパスワードを盗み見られても、内容を読み取られなくなるから。

    誤り。これは通信の暗号化による盗聴への対策です。パスワードを長く複雑にしても、 暗号化されていない通信で送れば、そのままの文字列が読み取られてしまいます。

理解を深めるために

ダイヤル錠の桁を増やすのと同じ

総当たり攻撃(ブルートフォース攻撃)は、考えられる組み合わせを片端から試す攻撃です。 3桁のダイヤル錠を000から999まで順に回していくのと同じで、時間さえかければ必ず開きます。

だから防ぐ側にできるのは、「必ず開く」までの時間を現実的でない長さにすることです。 ダイヤルの桁を増やし、数字以外の記号も刻めば、回す回数は一気に増えます。

なぜ長さと文字種が効くのか

組み合わせの総数は「文字の種類の数」を「文字数」の回数だけ掛けた値になります。

  • 数字4桁:10 × 10 × 10 × 10 = 1万通り
  • 数字6桁:100万通り(2桁増やしただけで100倍)
  • 英字・数字・記号(約90種類)で12文字:10の23乗を超える通り

文字の種類を増やすと掛ける数が大きくなり、文字数を増やすと掛ける回数が増えます。 どちらも総数を押し上げるので、種類と長さの両方を増やす条件が使われます。

混同しやすい対策との違い

対策 何に効くか
パスワードを長く複雑にする 総当たり攻撃(試す総数を増やす)
サービスごとに別のパスワードにする パスワードリスト攻撃(流出した組を無効にする)
アカウントロック 総当たり攻撃(試せる回数を制限する)
通信の暗号化 盗聴(途中で読み取らせない)

試験では「対策」と「防げる攻撃」の組み合わせが問われます。パスワードを複雑にしても、 使い回していればパスワードリスト攻撃は防げない、という点が最もよく狙われます。

前の問題へ次の問題へ