唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

「Webアプリでパスワード保護はどこまでやればいいか」を聴いてきた

YAPC::Asia Tokyo 2011に初めて参加してきました.
学生は参加費がかかりませんでした.
必ずしもPerlに限らない色々な講演が聞けますし,私は参加していませんが懇親会では無料で食事が食べれるので色々と得です.


以下聴いてきた講演のメモ.間違いがあるかもしれません.

「Webアプリでパスワード保護はどこまでやればいいか」のメモ


Webアプリでパスワード保護はどこまでやればいいか」の詳細 - YAPC::Asia Tokyo 2011 [Oct 13, 14, 15]

「そんなハッシュで大丈夫か」

パスワードがハッシュ化されていれば本当に安全?

オンラインとオフライン

オンライン攻撃とオフライン攻撃は全然別の話

攻撃の種類 - あるアカウントに対する攻撃
総当たり攻撃
全文字列を総当り
辞書攻撃
辞書に乗っている単語を利用して攻撃
攻撃の種類 - アカウントを変えながら攻撃
ジョーアカウント探索
アカウント名とパスワードが同じユーザー(ジョーアカウント)をアカウントを変えながら探索
逆総当たり攻撃
総当りとは逆にパスワードは固定でユーザー名を変えていく
対策
アカウントロック
アカウントを変える攻撃には効果がない
単純なパスワードをはじく
パスワード自体の強度を高める
ログインIDを隠す
ログインIDとパスワードが両方ともわからない場合攻撃は困難.
パスワードのハッシュ化や暗号化は必ずしも絶対安全ではない

ハッシュの逆引き表が売っている

特殊なデータ構造
レインボーテーブル - Wikipedia

ハッシュの逆引きはパスワードに数十文字のソルトを加えてハッシュ化することで対策できる.ハッシュとソルトを保存.ソルトは乱数で生成すると良い
ハッシュの計算を複数回繰り返して、計算を遅くすることで攻撃に対抗する「ストレッチング」という対策もある.

追記

スライドが公開されています.