← メディア一覧

間違い探しシリーズ:安全なパスワードが1秒で解読される理由

5分31秒 | セキュリティパスワード攻撃手法FE

基本情報技術者試験の頻出テーマを解説した動画コンテンツです。

トランスクリプト(字幕テキスト)

もしあなたが絶対安全だって信じてるパスワードが、それがたったの1秒でバレてしまうとしたらどうしますか? 実はですね、多くの人がやってるセキュリティ対策には意外な落とし穴があるんです。 でも、大丈夫。それを解決する驚くほどシンプルなトリックがあるんですよ。さあ、一緒にその謎を解き明かしていきましょう。 はい、ではまず、「誤った安心感」というテーマからですね。これが結構多くの人がはまっちゃう罠なんです。 ここに、新米開発者のカイ君がいます。見てくださいこの自信満々な顔。彼はこういうわけです。 「ユーザーのパスワードは、ちゃんとSHA-256でハッシュ化しましたから。これで元のデータは誰にも読めませんよ」って。 うんうん。よく聞く話ですよね。パスワードをハッシュ化、つまりぐちゃぐちゃに変換すればもう安全だっていう、まあ一般的な考え方です。 で、カイ君が言ってるこのハッシュ化って何かというと、データをね、もう元には戻せない形にぐちゃぐちゃーって変換しちゃうことなんです。 いわば、一方通行の暗号化みたいなもんですね。ほら、画面を見てください。「p@ssword123」のようなパスワードが、 こんなに長くて何がなんだかさっぱりわからない文字列、これハッシュ値ですけど、これに変わってるわけです。いや、これ見たら確かに安心しちゃいますよね。 ところがです。その安心感、実は一瞬で崩れ去ってしまうんです。 なんとですね、先輩開発者のアキさん、カイ君が安全です!って言ってたあのパスワードをたったの、そう、たった1秒で見破っちゃったんですよ。 いやいや。どうしてそんなことが可能なのでしょう。だってハッシュ値ってあんなに複雑で、読めそうになかったじゃないですか。 さあ、ここからが本題です。その驚きのトリック、その謎を一緒に見ていきましょう。 はい、その謎を解く鍵はですね、攻撃者が使うあるずるい方法。そう、まるでカンニングペーパーみたいなものにあったんです。 じゃあ、そのカンニングペーパーの正体は一体何なのか。それが、この「レインボーテーブル」と呼ばれるものです。 これ何かというと、もうめちゃくちゃシンプルで、よく使われるパスワードと、それをハッシュ化した値を全部事前に計算してリストにしちゃった、いわば超巨大な答えの早見表なんですよ。 これがレインボーテーブルの、まあ簡単なイメージです。攻撃者は何をするかっていうと、盗んだハッシュ値を持ってきて、 この巨大な辞書をパラパラってめくって、同じハッシュ値を探すだけ。そう、難しい計算なんて一切してないんです。ただ辞書を引いてるだけ。 ほら見てください。カイ君のパスワードから作られたハッシュ、ありましたね。で、その横には、はい、元のパスワードがちゃんと書いてあるわけです。 まさに先輩のアキさんが言った通りなんですよね。計算して解いたんじゃなく、表を見て答え合わせしただけだったって。 これ、もはや高度なハッキングとかじゃなくて、ただのカンニングなんですよね。 じゃあ、こんなずるいカンニング、どうやったら防げるんでしょうか。ご安心ください。 ここで登場するのが、とっても強力でしかもスマートな解決策。その名も「ソルティング」です。 ソルト。そう、文字通りお塩のことです。これ一体何かというと、パスワードをハッシュ化する前に付け加える、ランダムなデータの事なんです。 料理に塩をパラパラって振ると、味がガラッと変わりますよね。あれと全く同じで、パスワードに一人一人違うユニークな味付けをしてあげる、そんなイメージです。 やり方はめちゃくちゃシンプルですよ。まずステップ1。ユーザーのパスワードがありますね。 で、ステップ2。そこにユーザーごとに違うランダムなソルトを付け加えます。 そして最後のステップ3。その合体したものを丸ごとハッシュ化する。本当にたったこれだけなんです。 この比較を見てもらえれば違いは一目瞭然です。左側、ソルトがない場合。パスワードのハッシュは、誰が使ったって、いつだって同じ値になっちゃいます。 これじゃあさっきの答えの早見表に載っちゃいますよね。でも、右側を見てください。 ソルトで味付けしてあげると、同じパスワードなのに出来上がるハッシュは全然違う。完全にユニークなものになるんです。 こうなればもうあのレインボーテーブルっていう辞書には載ってない、探しようがないんです。 そう、まさにカイ君のこの気づきが全てです。「なるほど。塩を混ぜて味を変えちゃえば、辞書に載ってないデータになるんだ」ってこと。 この味付けっていう比喩、すごくわかりやすいですよね。これで仕組みがすっきりしたんじゃないでしょうか。 さあ、それでは最後に、この話から学べる絶対覚えておいてほしいセキュリティのポイントをまとめていきましょう。 覚えておいてほしいことはこの4つです。まず、パスワードをただハッシュ化するだけじゃダメってこと。 そして、ハッシュ化の前には必ずユーザーごとに違うユニークなソルトを加えること。 この一手間で、レインボーテーブルみたいなカンニングペーパーは全く役に立たなくなります。 結論、パスワードをハッシュ化するなら、ソルトは絶対に欠かせない調味料なんです。 さて、ここまで聞いて、ちょっと考えてみてほしいんです。あなたのアカウントは、正しく「ソルト」で守られていますか。 この問いかけが、あなた自身のデジタルセキュリティをもう一歩深く考えるきっかけになったら嬉しいです。

このコンテンツは Web society で視聴・学習できます。