セキュリティ
パスワードをハッシュ値として保存するシステムにおいて、レインボーテーブル攻撃を無効化する効果が最も高い対策はどれか。
ア.ハッシュ化の繰り返し回数を増やすストレッチングを行う
イ.パスワードごとにランダムなソルトを付加してからハッシュ化する正解
ウ.ハッシュアルゴリズムをMD5からSHA-256に変更する
エ.パスワードの最小文字数を8文字以上に設定するポリシーを導入する
解説
レインボーテーブルは「よく使うパスワード→そのハッシュ値」が載った電話帳のようなものです。ソルトはその電話帳を根本から無意味にする「砂かけ」の一手です。
なぜ イ が正解か
ソルトとは、各ユーザーに対して生成するランダムな値です。パスワードにソルトを付加してからハッシュ化すると、同じ「password123」というパスワードでもユーザーごとに全く異なるハッシュ値が生成されます。レインボーテーブルは「ソルトなし」の世界を前提として事前計算されているため、ソルトが加わった瞬間に使い物にならなくなります。
出典: AI生成問題(学習用)