セキュリティ
レインボーテーブル攻撃への対策としてソルト(salt)を使用する目的として、最も適切なものはどれか。
ア.パスワードをより長くすることで、ハッシュ計算にかかる時間を増やし攻撃を困難にする。
イ.同じパスワードでも利用者ごとに異なるランダム値を付加してハッシュ化することで、事前計算済みハッシュテーブルを使った攻撃を無効にする。正解
ウ.パスワードを暗号化するための共通鍵として機能し、復号時に使用する。
エ.ソルトを秘密にすることでハッシュ値自体が漏洩しても元のパスワードが推測できなくなる。
解説
レインボーテーブルは「ハッシュ→パスワード」の逆引き辞書。ソルトは「同じ材料でも毎回違う料理を作る隠し調味料」で、辞書を丸ごと無意味にします。
なぜ イ が正解か
イが正解。レインボーテーブルは「パスワード→ハッシュ値」を大量に事前計算したテーブルで、ハッシュ値から逆引きしてパスワードを特定する。ソルトはユーザーごとに異なるランダム文字列をパスワードに付加してハッシュ化するため、同じパスワード「password」でも生成されるハッシュが全員異なる。事前計算テーブルが役に立たなくなる。
出典: AI生成問題(学習用)