おなじ パスワードの わな、ひとつまみの しお
まえの かいで、パスワードを そのまま ほぞんせず ハッシュに かえて ほぞんすると まなびました。でも ふたりが ぐうぜん おなじ パスワードを つかうと どうなる? おなじ パスワードは おなじ ハッシュに なります。ほぞんされた ハッシュの ならびに おなじ あたいが ならんで みえると、ふたりが おなじ パスワードだと いう ことが そのまま みえてしまう。だから ひとごとに ちがう ひとつまみを まぜる やりかたが ひつようです。
おなじ パスワードは おなじ ハッシュ
ハッシュは おなじ にゅうりょくには いつも おなじ けっかを だします。
だからこそ つぎに おなじ パスワードを いれたとき
ほぞんされた ハッシュと くらべられました。
でも この せいしつには かげが あります。
ふたりが おなじ パスワードを つかうと
ふたりの ハッシュも おなじに でます。
ほぞんされた ハッシュの ならびを みるだけで
おなじ あたいが ならんで いれば
おなじ パスワードだと わかります。
パスワード じたいは わからなくても、おなじだと いう ことが もれるのです。
ふたりの パスワードを おなじにも、ちがうにも かえてみて。おなじなら ハッシュも おなじに ならんで みえます。
おなじ パスワードを えらぶと
ふたつの ハッシュが おなじに みえましたね。
ハッシュだけで おなじだと すぐ わかります。
これが なぜ もんだいに なる?
ハッシュは ぎゃくに もどしにくいと まなびましたが、
おなじ あたいが おなじ ハッシュを だす てんは かわりません。
なら だれかが ありがちな パスワードを
まえもって ハッシュして かいておくと どうなる?
まえもって つくった ひょうの あぶなさ
よく つかわれる パスワードは おもったより しゅるいが すくない。
だから そういう パスワードと
それぞれの ハッシュを まえもって 1ぎょうずつ かけます。
こう やって つくった たいおうひょうが あると
ほぞんされた ハッシュを ひょうから さがして
ぎゃくに パスワードを すいそくできるように なります。
ハッシュ じたいを とくのでなく
まえもって かいた こたえと くらべるのです。
だから ありがちな パスワードほど あぶない。
ひょうに すでに はいって いる かのうせいが たかいから。
ほぞんされた ハッシュを おしてみて。まえもって かいた ひょうに おなじ ハッシュが あると パスワードが すいそくされうると きづいて。
ひょうの ハッシュと ほぞんされた ハッシュが おなじだと
その となりの ますの パスワードが そのまま みえましたね。
ひょうに ない ハッシュは すいそくが ふせがれました。
ここで かなめを つかめます。
きけんの ねもとは おなじ パスワードが
いつも おなじ ハッシュに なる てんです。
なら ふせぐ みちも みえます。
おなじ パスワードでも ひとごとに ハッシュが ちがうように すれば
まえもって つくった ひょう ひとつでは もう あたりません。
その やりかたが まさに しおです。
パスワードに しおを たす
しおは ひとごとに ちがう ように きめた ちいさな あたいです。
パスワードを そのまま ハッシュせず
パスワードに その ひとの しおを さきに つけます。
それから ふたつを あわせた ものを ハッシュします。
たいせつなのは しおが ひとごとに ちがう てん。
しおは かくす ひみつでは ありません。
ハッシュの となりに いっしょに ほぞんしても だいじょうぶ。
なぜなら しおだけ わかっても
パスワードは わからないから。
しおの しごとは ただ ひとつ、ひとごとに ハッシュを ちがうように する こと。
それぞれの ひとの しおを パスワードに たす ボタンを おして。ぱすわーどに しおを つけてから その けっかを ハッシュします。
しおを たすと ハッシュに いれる にゅうりょく じたいが かわりましたね。
おなじ パスワードでも
まえに ついた しおが ちがえば
ハッシュに はいる ざいりょうが たがいに ちがいます。
ハッシュは にゅうりょくが すこし ちがうだけで
けっかが まったく かわると まなびました。
だから しおが ちがえば ハッシュも ちがう しか ない。
では ふたりが おなじ パスワードを つかっても
ほぞんされた ハッシュが どう みえるか じかに くらべましょう。
おなじ パスワードも ちがう ハッシュに
しおが ない ときを おもいだして。
おなじ パスワード ふたつの ハッシュが おなじでしたね。
しおを つけると はなしが かわります。
ふたりの パスワードが おなじでも
しおが ちがうので ほぞんされた ハッシュが たがいに ちがう。
もう ほぞんされた ハッシュの ならびを みても
おなじ パスワードを つかった ひとを えらべません。
さらに まえもって つくった ひょうも むりょくに なります。
その ひょうは しおの ない パスワードの ハッシュで つくったので
しおの まざった ハッシュとは あわないから。
ひとごとに しおが ちがうので、すべての ひとの ための ひょうを べつべつに つくる ことに なります。
しおを けしたり つけたり して くらべて。けすと おなじ パスワードが おなじ ハッシュ、つけると おなじ パスワードも ハッシュが ちがい ひょうが むりょくに。
しおを つけた しゅんかん
おなじだった ふたつの ハッシュが ちがう あたいに わかれましたね。
まえもって つくった ひょうも もう あたりませんでした。
ちいさな ひとつまみが ふたつを いちどに かいけつしました。
ほぞんされた ハッシュだけで おなじ パスワードを みつける ことも、
ありがちな パスワードを ひょうで ぎゃくに たどる ことも ふせぎます。
しかも あたらしい ひみつを かくす ひつようなく
ひとごとに ちがう あたいを たすだけで。
では ぜんたいを いちど まとめましょう。
まとめて みましょう
ひとことに まとめると こうです。
おなじ パスワードは おなじ ハッシュに なります。
だから ほぞんされた ハッシュで おなじ パスワードが わかり、
まえもって つくった ひょうで ありがちな パスワードを ぎゃくに たどられる おそれが あります。
ふせぐ やりかたは ひとごとに ちがう しおを
パスワードに たしてから ハッシュする こと。
しおは ひみつでなく ひとごとに ちがいさえ すれば いい。
しおを たすと おなじ パスワードも ハッシュが ぜんぶ ちがい、
ひょうが むりょくに なり おなじ ハッシュが みえる ことも きえます。
わなを しおで ほどき おなじ パスワードも ちがう ハッシュに。それが しおです。
かなめを じゅんに おして ふりかえって。(おなじ パスワード = おなじ ハッシュ -> まえもって つくった ひょうの あぶなさ -> しおを たす -> おなじ パスワードも ちがう ハッシュ)
これで おなじ パスワードが なぜ わなに なるか、
そして ひとつまみの しおが
その わなを どう ほどくか しりました。
ひみつを これ いじょう かくさなくても
ひとごとに ちがうように するだけで
ぼうぎょが ずっと かたく なる てんが すてきですね。
ちいさな ちがいを わざと つくる この はっそうは
セキュリティで なんども また であいます。
つぎは こういう ほごの しくみが
どう もっと びっしり かさなるか
いっしょに つづけて みていきましょう。