問題
Webアプリケーションのログイン画面で、ユーザIDとパスワードを入力してログインを試みた際、「ユーザIDまたはパスワードが誤っています」というメッセージが表示される設計の目的として、最も適切なものはどれか。
選択肢
- 1ア ユーザにとって分かりやすい表示にするため
- 2イ システムの処理を簡略化するため
- 3ウ 攻撃者に存在するユーザIDを教えないため
- 4エ ログの容量を節約するため
解答と解説を見る
正解
3. ウ 攻撃者に存在するユーザIDを教えないため
解説
「ユーザIDが存在しない」「パスワードが違う」と個別に表示すると、攻撃者にユーザIDの存在有無を教えることになります(ユーザ列挙攻撃)。「ユーザIDまたはパスワード」とまとめて表示することで、存在するユーザIDを推測されにくくします。セキュリティ上重要な設計パターンです。