見出し画像

実装がラクでもセキュリティに難あり!?IPsecとの比較で理解するVPNプロトコル「PPTP」

前回記事で、VPNプロトコル「IPsec」をまとめ終わりました。IKEフェーズ1に2種類のモードがあるし、鍵交換が2段階で行われるし、セキュリティ規格も2種類ありました。覚えること満載で、学び応えがあるテーマでしたね~。

さて、今回は、別のVPNプロトコル「PPTP」(Point to Point Tunneling Protocol)をご紹介しましょう!

古いプロトコルではありますが、IPsecと何が違うのかをクリアにできれば、きっとVPNプロトコルへの理解が深まるはず。廃れたプロトコルであっても、やはり概要はつかんでおきたい!

ということで、さっそくいきましょう!

PPPを「トンネル化」したプロトコル

PPTP(Point-to-Point Tunneling Protocol)は、その名称から予測できるとおり、データリンク層(第2層)のプロトコルPPP(Point-to-Point Protocol)をベースにしています。

PPPをトンネル化(カプセル化)したのが、PPTPです。

IPsecは、ネットワーク層(第3層)のプロトコルでしたね。その一つ下の第2層で、

  • 暗号化

  • 改ざん検知

  • 認証

を行います。IPsecもPPTPも実現したいことや、その手順もだいたい同じです。

まずは、IPsecとは、レイヤーが異なっていることを抑えておきましょう。

PPTPの通信手順

続いて、通信の手順について見ていきます。

大きな流れは次の通りです。

1)機器を相互に認証する

まずは、MS-CHAPv2で通信相手を認証します。IPsecでも、IKEフェーズ1で認証を行いますね。

ただ、PPTPでは、暗号化されていない環境下でユーザ認証を行います(ハッシュ値を送ることを「暗号化」とみなすなら、「暗号化されている」といえますが)。

他方、IPsecでは、暗号化して(ISAKMP SAで)で安全に認証を行います。ここが違いの一つです。

なお、MS-CHAPv2は、深刻な脆弱性が見つかっているプロトコルです。セキュリティ上注意が必要です。

2)暗号鍵を共有する

暗号通信ができるようにカギを共有します。暗号化方式は、MPPE(Microsoft Point-to-Point Encryption)であり、その暗号化アルゴリズムは、RC4一択です。このため、暗号方式を選ぶための交渉(ネゴシエーション)はありません。

他方、IPsecでは、(交渉によってDES/3DESも可能ですが、)AESを使用します。RC4よりも、こちらの方が安全性を確保できます。

ただ、RC4も深刻な脆弱性があり、セキュリティ上の懸念が大きいです。

3)実際に通信する

交換された鍵を使ってデータを暗号化してカプセル化します。使われるトンネルは、一つだけで双方向です。他方、IPsecでは、トンネルが上り用と下り用の2つが作られて、片方向でしたね。

このように見ていきますと、PPTPは、実装が簡単な反面、セキュリティ的に難があるといえましょう。


はい、本日はここまで。今回は、VPNプロトコルの一つPPTPの概要についてお話ししました。特に、PPTPの通信手順に力を入れて解説しました。

次回は、さらに深堀して、PPTPのフレーム構造を見ていくことにしましょう!

では!

いいなと思ったら応援しよう!