メールアドレスのハッシュ化にメールアドレスを用いれば、メールアドレスをキーとして扱えるかもしれない
ソルトにユーザーIDを利用やハッシュ値を作る際にユーザ名を混ぜ込むを読んでいて思ったのだが、メールアドレスをハッシュ化する際のSALTとしてメールアドレス自身を用いれば、メールアドレスをキーとして扱うことができる気がしてきた。
素人考えなのでセキュリティ的に安全なのかはわからない。レインボーテーブルは作れてしまいそうだ。
逆の発想で、パスワードをSALTにしてメールアドレスをハッシュ化すればいいかもしれない。パスワード変更時にはメールアドレスも一緒に入力してもらう必要がある。
あれ
レインボーテーブルってもんがあるので単にハッシュ関数通しただけじゃだめですよ!
saltを入れないといけないということを言っている?
『よくある誤用 - ソルトの再利用 - Wikipedia』
プログラマがパスワードをハッシュ化する際に毎回同じソルトを使用するケース。 この場合でも、既存のレインボーテーブルを無効化することはできる(ソルトの値が適切であれば)。ただし、広く使われている製品にソルトがハードコーディングされると、そこから抽出したソルトを使って新しいレインボーテーブルを生成できてしまう。 また、ソルトが固定だと、パスワードが同じユーザーはハッシュ値も同じになってしまう(ハッシュ値を作る際にユーザ名を混ぜ込んでいる場合を除く)。これにより、一つのハッシュ値で複数のユーザーを攻撃するのが容易になってしまう。
虹表
rainbow table
語源が知りたい。
→
When colors are used to represent the reduction functions, a rainbow appears in the rainbow table.
塩との関係性
この対策〔暗証語長を長くし,語彙を複雑にする〕は容易に行えるため総当たり攻撃,辞書攻撃は計算量,記憶容量的観点からパスワード認証の現実的な脅威にはなりにくい[...]
空間的,計算量的な問題を解決するパスワード解析手法にレインボークラックがある。
レインボークラックはレインボーテーブルを用いることによって,現実的な記憶容量や計算量でのパスワード解析を可能とする. レインボーテーブルは大量のパスワードとそのハッシュ値のペアを圧縮して保存することによって,必要な記憶容量を削減したデータテーブルである.
接触元: あれ