ここでは、盗聴と改竄に関する一般的な話について紹介します。
以下、2人の会話をご覧ください。
![]() |
せんぱ~い (^ー^;) |
![]() |
じゃ、さっきの続きね。 さっきは雑談ばっかりだったから、今度はマジメにやるぞ。 |
![]() |
はうっ、私が変なこと聞いちゃったんですよね。 すんまそん。 |
![]() |
いや、何事にも関心を持つのは良いことだし。 まったく問題ないぞぅ! |
![]() |
そう言ってもらえると助かります。 これからも、興味津々でがんばります。 |
![]() |
うむ。 で、どこまで進んだっけ? |
![]() |
インターネットなどの信頼できない経路を使うには、認証のほかに盗聴と改竄に対する考慮が必要、っていう話ですね。 で、この話がフェーズ2のトンネルを掘る処理とどんな関係にあるんでしょうか? |
![]() |
まず、盗聴と改竄を防ぐ手立てを考えないといけない。 まず盗聴を防ぐために、一般的にはどんな方法があるだろう? |
![]() |
当然、暗号化ですね? |
![]() |
そうだね。 じゃ、改竄は? |
![]() |
う~ん、、、 中身が分からなければ書き換えられないでしょうから、こっちも暗号化でいいんじゃないんですか? |
![]() |
ブッブー、不正解。 結果的にそうなることもあるかもしれないけど、それじゃあ改竄を防いでいることにはならないよ。 |
![]() |
え~っ、どういうことですか? |
![]() |
あえて言葉に直すと、「改竄して効果があるかどうかを推測できない」と「改竄できない」の違いかな。 盗聴に対して暗号化で「読めないようにする」のと同じように、改竄に対しては「いじれないようにする」でないといけない。 |
![]() |
う~ん、、、 分かったような、分からないような、、、 |
![]() |
説明が難しいな、、、 今の話では、改竄するためには内容が分からなければならないという前提で考えられているよね? |
![]() |
はい、そうです。 |
![]() |
つまり、改竄というものを、盗聴されてしまった場合に引き起こされる問題のひとつ、として捉えているわけだ。 |
![]() |
ふぅむ。 そこまで意識してなかったけど、そう言われると確かにそうですね。 |
![]() |
でも、改竄というのは必ずしも盗聴の後に引き起こされる問題とは限らないだろう? |
![]() |
と、言いますと? |
![]() |
例えば公的機関の一般向けの公表のように、内容を隠す必要はないが改竄されていないことは保証したい、という場合もあるだろう。 |
![]() |
!? |
![]() |
極端な話では、暗号データを意味不明のまま当てずっぽうで改竄しても構わないわけ。 |
![]() |
!! |
![]() |
つまり、改竄を防ぐ方法を考えるなら、内容が見えるかどうかといった間接的な要因に関係なく改竄を防ぐ手段でなければならない。 |
![]() |
む、むずかしいですね~、、、 でも、言いたいことは分かります。 |
![]() |
「いじれないようにする」の意味は分かってもらえたかな? |
![]() |
はい、分かりました。 暗号化で改竄を防ぐのもひとつの案ではあるけれど、改竄をストレートに防ぐ方法とは言えないわけですね! |
![]() |
それに、経路の途中で暗号が解読されたことを受信者が知る術はないので、そもそも受け取った暗号データは既に誰かの手によって解読されて改竄されているかもしれない。 つまり、改竄されていない、という保証がないわけだ。 |
![]() |
あ~、その時点で既に無理だったんですね、、、 私の考えが甘かったです~。 |
![]() |
まぁ、ここまでは「読めない」と「いじれない」が別物で、対処方法も違うはずだということが理解できれば問題ない。 |
![]() |
じゃ、改竄されたことを検出できるようにする方法もあるんですね? |
![]() |
そうだね。 最も使われている方法として、「ハッシュ」というのがあるよ。 |
![]() |
あ、それ本で読みましたよ。 でも、イマイチ何をするための処理なのかピンと来ませんでした。 |
![]() |
どんなことが書いてあったか覚えてる? |
![]() |
えっと、任意のデータをハッシュに通すと、必ず固定長の文字列が出てくるんですよね? 元のデータに1ビットでも違いがあると、似ても似つかない文字列が出てくるらしいです。 |
![]() |
おぉ、正解だ! そこまで分かっているなら、あとは簡単だ。 |
![]() |
え、そうなんですか? |
![]() |
元のデータを1ビットでも変えると出力結果が全く異なるということは、ハッシュ値を計算して見比べれば改竄を検出できるだろう? |
![]() |
はぁ~、そういうことですか! まさに、このために生まれてきたようなものですね! |
![]() |
チェックする負荷も元データより少なくなるし、改竄をチェックする方法としては優秀だと思うよ。 |
![]() |
この仕組みを考えた人に感謝ですね! |
![]() |
ところで、少し喉が渇いたんだけど、、、 ジュース買って来ていいかな? |
![]() |
あ、じゃあ私も行ってきます。 おやつも一緒に買おうかな? |
以下、「盗聴と改竄について-その2-」につづく。。。
ネットワークセキュリティ関係者の部屋 > ネットワークセキュリティ実践劇場 > 盗聴と改竄について-その1-