【セキュリティ】 パスワード について

セキュリティ攻撃

 [1] ブルートフォース攻撃(総当たり攻撃) 
 [2] レインボー攻撃

[1] ブルートフォース攻撃(総当たり攻撃)

 * 総当たり的にハッシュ値を計算することでパスワードを推察する

[2] レインボー攻撃

 * 予め任意の文字列をハッシュ値に変換しておき、
   標的のパスワードのハッシュ値と比較することでパスワードを推察する

攻撃に対する対策

 [1] ソルト(Salt)
 [2] ストレッチング

 => 結局、「ソルト+ハッシュ+ストレッチング」で対策をするのがいいらしい

対策[1] ソルト(Salt)

 * ハッシュ値を計算する前にパスワードの前後に付け加える短い文字列

【効果】
 * 同じパスワードを付けていても、ハッシュ値は異なるようにできる
 * ハッシュ値の元となる文字列を長くすることにより、レインボー攻撃を防止

【条件】
 * ユーザーごとに異なるソルトを使う
 * ある程度の長さ(20文字程度以上)を確保する

対策[2] ストレッチング

 * ハッシュ値の計算を何回も繰り返すこと


関連記事

SQL アンチパターン ~ 目次 ~

http://blogs.yahoo.co.jp/dk521123/36194309.html

Java】 セキュアなランダム文字列生成を考える

http://blogs.yahoo.co.jp/dk521123/36415526.html