数学を知って得をする!ITを使って楽になる!

増井技術士事務所 〜 技術士(情報工学部門)

Man in the middle attack(中間者攻撃)とは

通信の暗号化が必要な場面

インターネット上で買い物をするとき、クレジットカードの番号などの個人情報を入力する場面があります。他人には知られたくない情報ですが、入力しないと買い物はできません。そこで、入力した内容が他人には見られないように「暗号化」して送信する、という方法が用いられます。それが「SSL(Secure Socket Layer)」という仕組みです。

Webサイトの場合には「https」が用いられ、利用者は何か操作をすることもなく、SSLを使用することができます。このとき、画面のURL欄は「https」で始まるアドレスが表示され、鍵マークを確認することができます。

HTTPSのイメージ

公開鍵暗号とは

SSLで使われる暗号化方法は「公開鍵暗号」のひとつです。名前の通り、「鍵」が「公開」されていることがポイントです。実際には、南京錠のようなものをイメージすると良いでしょう。つまり、鍵がなくてもロックすることはできますが、鍵がないと開けることはできません。鍵穴は見えていますが、それに合う鍵を作ることは素人には困難ですよね。

AさんがBという会社に情報を送信する場合、会社BはAさんに南京錠を渡します。会社Bは南京錠の鍵を持っていますので、いったんロックすると会社B以外は開けることができません。Aさんは送信する情報を南京錠をかけた箱に入れて、会社Bに送ります。会社BはAさんから送られてきた箱を、鍵を使って開けるわけです。

鍵を持っていない他人が箱の中身を見ようと思っても、鍵がなければ開けることができないため、安全だということができます。これが「公開鍵暗号」の仕組みです。

公開鍵暗号の動作

悪意のある第三者の登場

ここで、どうしても箱の中身を見たい悪者が現れます。会社Bの鍵が無くてもなんとかして箱を開けようとします。ひとつの方法は、手当たり次第に鍵を作って鍵穴に差し込んでみる、という方法です。

大量に鍵を作っていると、いつかは会社Bの持っている鍵と同じ形の鍵を作ることができるかもしれません。ここで重要になるのが「鍵長」と言われるものです。現在、SSLで用いられているRSA暗号では1024bitや2048bitといった長さが用いられています。現実的な時間では同じ形の鍵は作れない、というのが現在の状態で、安心できるレベルにあると言えます。

中間者攻撃の概要

もうひとつの方法は、「Man in the middle attack(中間者攻撃)」と呼ばれています。名前の通り、第三者が通信の「中間」に入るという方法です。Aさんが会社Bに情報を送信する際に、Cという犯罪者が間に入ります。つまり、Aさんは会社Bと通信しているつもりですが、実際には犯罪者Cと通信しています。会社BはAさんと通信しているつもりですが、実際には犯罪者Cと通信しています。

Aさんが会社Bに情報を送信するため、会社Bに南京錠を送るように依頼します。犯罪者Cはこの依頼をそのまま会社Bに転送しますが、会社Bが送り返してきた南京錠を受け取ると、別の南京錠をAさんに送ります。Aさんは犯罪者Cからの南京錠を会社Bのものと勘違いし、情報を入れて南京錠をロックして送信します。犯罪者CはAさんからロックされた箱を受け取りますが、この南京錠の鍵は犯罪者Cが持っています。つまり、犯罪者Cは箱を開けることができます。

中間者攻撃の動き

やすやすと箱を開けた犯罪者Cは中身を確認した後で、その中身を入れた箱を会社Bからの南京錠でロックして会社Bに送信します。会社Bは持っている鍵で箱を開けるとAさんからの情報を得ることができます。このとき、Aさんも会社Bも問題なく情報をやり取りできたように見えますが、実際には犯罪者Cによって情報を傍受されていたことになります。

さらに、犯罪者CはAさんから受け取った内容を改ざんして会社Bに送ることも可能です。こうなると、Aさんが送信した内容と会社Bが受け取った内容が変わっていますが、どちらも気づくことができないことになります。

お問い合わせ

「もっと詳しく知りたい」「個別に質問してみたい」など、このページに関するお問い合わせは下記よりご連絡いただければと思います。

様々なご要望に柔軟に対応可能ですので、お気軽にお問い合わせください。

お問い合わせはこちら