単純な非ソルトハッシュ関数、単なる古いものを想定しましょう$hash = md5($pass)
。
敷地内:
- パスワードハッシュはすべてサーバー側で行われ、ハッシュはデータベースに保存されます。クライアントはこれらを見る方法がありません。
- レインボーテーブル攻撃は、パスワードを取得するためにハッシュの知識を持っている必要があります。
前提2を考えると、それはハッカーがすでにデータベースを制御していることを意味します。その時点で、あなたははるかに大きな問題を抱えています。
つまり、すでに侵害されたデータベース/システムからのパスワードの取得を保護するためだけに、レインボーテーブル攻撃を阻止しようとするポイントです。それはそれほど単純なことですか、それとも私が見逃している何か他のものがありますか。
私はすでにパスワードハッシュ手法に精通していますが、なぜレインボーテーブルについてこれほど多くの誇大宣伝があるのか疑問に思っています。ありがとう!