正解:ア
各選択肢の解説
ア試さなければならない組み合わせの数が増え、当たるまでにかかる時間が大幅に延びるから。
正解。総当たり攻撃は全部の組み合わせを順に試すので、組み合わせの総数がそのまま 攻撃の手間になります。文字の種類と長さを増やすと、総数は掛け算で膨らみます。
イ他のサービスから流出したIDとパスワードの組が、このサービスでは使えなくなるから。
誤り。これはパスワードリスト攻撃への対策の話で、効くのは使い回しをやめることです。 12文字の複雑なパスワードでも、他のサービスと同じものなら流出した組で通ります。
ウログインに続けて失敗した利用者のアカウントが、一定の時間は使えなくなるから。
誤り。これはアカウントロックの説明です。総当たり攻撃に効く点は同じですが、 試行の回数を制限する別の仕組みであり、パスワードの条件を変えた効果ではありません。
エ通信経路の途中でパスワードを盗み見られても、内容を読み取られなくなるから。
誤り。これは通信の暗号化による盗聴への対策です。パスワードを長く複雑にしても、 暗号化されていない通信で送れば、そのままの文字列が読み取られてしまいます。
理解を深めるために
ダイヤル錠の桁を増やすのと同じ
総当たり攻撃(ブルートフォース攻撃)は、考えられる組み合わせを片端から試す攻撃です。 3桁のダイヤル錠を000から999まで順に回していくのと同じで、時間さえかければ必ず開きます。
だから防ぐ側にできるのは、「必ず開く」までの時間を現実的でない長さにすることです。 ダイヤルの桁を増やし、数字以外の記号も刻めば、回す回数は一気に増えます。
なぜ長さと文字種が効くのか
組み合わせの総数は「文字の種類の数」を「文字数」の回数だけ掛けた値になります。
- 数字4桁:10 × 10 × 10 × 10 = 1万通り
- 数字6桁:100万通り(2桁増やしただけで100倍)
- 英字・数字・記号(約90種類)で12文字:10の23乗を超える通り
文字の種類を増やすと掛ける数が大きくなり、文字数を増やすと掛ける回数が増えます。 どちらも総数を押し上げるので、種類と長さの両方を増やす条件が使われます。
混同しやすい対策との違い
| 対策 | 何に効くか |
|---|---|
| パスワードを長く複雑にする | 総当たり攻撃(試す総数を増やす) |
| サービスごとに別のパスワードにする | パスワードリスト攻撃(流出した組を無効にする) |
| アカウントロック | 総当たり攻撃(試せる回数を制限する) |
| 通信の暗号化 | 盗聴(途中で読み取らせない) |
試験では「対策」と「防げる攻撃」の組み合わせが問われます。パスワードを複雑にしても、 使い回していればパスワードリスト攻撃は防げない、という点が最もよく狙われます。