実装がラクでもセキュリティに難あり!?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のフレーム構造を見ていくことにしましょう!
では!