アカウント名:
パスワード:
いくらハッシュ化されてても元の文字列よっては簡単に解読できるんだよねぇ。
昔、『自分の名前や利用サービス名をハッシュ化して、それをパスワードとして使えば、忘れても簡単に再作成出来るし、文字列としてはランダムでセキュアじゃん!』って思ったけど、案外そうもいかないのよね……
やっぱり、塩気は大事だよ、うん。
手前味噌ですが、塩の効果を書いた事があります。
塩加減は重要? [hatena.ne.jp]
「お前じゃ、話にならねぇんだよ」という方には、徳丸さんの記事を。
ソルトとはなんですか? [atmarkit.co.jp]
ポイントは、ソルトの効果があるのは、レインボーテーブルによる解析に対してのみ。ブルートフォース攻撃に対する効果はありません。辞書攻撃で解けちゃうようなパスワードは論外。
もっとも、ブルートフォースなら GPGPU を駆使し一ヶ月かかるものが、レインボーテーブルが使えると、分単位で解ける訳だから、時間かせぎとしては、とっても重要です。
ソルトは個々のパスワード・アカウントごとに違う値を使う、って明示しておいたほうがいいかと。
#ハードコードした似非ソルトを使う誤った用法をよく見かけるので
> ソルトは個々のパスワード・アカウントごとに違う値を使う、って明示しておいたほうがいいかと。
そんな必要、ありますか?(理由は?)
個々のアカウント毎にレインボーテーブルを作るコストが発生するからですなお、パスデータが漏れる状況ではハードコードした似非ソルトも漏れるものと考えるべきですし、アカウントを自作すればソルトを容易に探索できてしまいます。固定ソルトが分かった時点でレインボーテーブル作成コストは変わらなくなります
salt が同一だと、同じパスワードは同じハッシュになってしまいます。個別のパスワードの解析に対しては同じですが、パスワードが大量に流出し、そこに自分の情報が含まれていたとしたら、同じパスワードを使っている人を特定できますね。
>手前味噌ですが、塩の効果を書いた事があります。「自分で作った味噌でも、塩はとても重要なんだよ」と言いたいんですね、分かります。
素人考えですが、「パスワードのハッシュ値とソルトを保存しておく」って記述を見る度にパスワードが漏洩してる状況では、ソルトもセットで漏洩してるから意味無いなと。
# 実際の実装だと、IDとかメアドとかをこねくり回してソルトを生成してたりするんでしょうか。# それでも、プログラムソース流出したら終わるけど
せっかく2つもリンクつけてくれてるんだから読んでやれよ。どんな攻撃にメリットがあってどんな攻撃にまったくメリットがないかわかりやすくかいているんだからさ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
5f4dcc3b5aa765d61d8327deb882cf99 (スコア:1)
いくらハッシュ化されてても元の文字列よっては簡単に解読できるんだよねぇ。
昔、『自分の名前や利用サービス名をハッシュ化して、それをパスワードとして使えば、忘れても簡単に再作成出来るし、文字列としてはランダムでセキュアじゃん!』って思ったけど、案外そうもいかないのよね……
やっぱり、塩気は大事だよ、うん。
ソルトの効用 (スコア:5, 参考になる)
手前味噌ですが、塩の効果を書いた事があります。
塩加減は重要? [hatena.ne.jp]
「お前じゃ、話にならねぇんだよ」という方には、徳丸さんの記事を。
ソルトとはなんですか? [atmarkit.co.jp]
ポイントは、ソルトの効果があるのは、レインボーテーブルによる解析に対してのみ。ブルートフォース攻撃に対する効果はありません。辞書攻撃で解けちゃうようなパスワードは論外。
もっとも、ブルートフォースなら GPGPU を駆使し一ヶ月かかるものが、レインボーテーブルが使えると、分単位で解ける訳だから、時間かせぎとしては、とっても重要です。
Re:ソルトの効用 (スコア:2)
ソルトは個々のパスワード・アカウントごとに違う値を使う、って明示しておいたほうがいいかと。
#ハードコードした似非ソルトを使う誤った用法をよく見かけるので
Re: (スコア:0)
> ソルトは個々のパスワード・アカウントごとに違う値を使う、って明示しておいたほうがいいかと。
そんな必要、ありますか?(理由は?)
Re:ソルトの効用 (スコア:2)
個々のアカウント毎にレインボーテーブルを作るコストが発生するからです
なお、パスデータが漏れる状況ではハードコードした似非ソルトも漏れるものと考えるべきですし、アカウントを自作すればソルトを容易に探索できてしまいます。固定ソルトが分かった時点でレインボーテーブル作成コストは変わらなくなります
Re:ソルトの効用 (スコア:1)
salt が同一だと、同じパスワードは同じハッシュになってしまいます。
個別のパスワードの解析に対しては同じですが、パスワードが大量に流出し、
そこに自分の情報が含まれていたとしたら、同じパスワードを使っている人を特定できますね。
Re:ソルトの効用 (スコア:1)
>手前味噌ですが、塩の効果を書いた事があります。
「自分で作った味噌でも、塩はとても重要なんだよ」
と言いたいんですね、分かります。
Re: (スコア:0)
素人考えですが、「パスワードのハッシュ値とソルトを保存しておく」って記述を見る度に
パスワードが漏洩してる状況では、ソルトもセットで漏洩してるから意味無いなと。
# 実際の実装だと、IDとかメアドとかをこねくり回してソルトを生成してたりするんでしょうか。
# それでも、プログラムソース流出したら終わるけど
Re:ソルトの効用 (スコア:1)
せっかく2つもリンクつけてくれてるんだから読んでやれよ。
どんな攻撃にメリットがあってどんな攻撃にまったくメリットが
ないかわかりやすくかいているんだからさ。