今回は、VPNで利用するプロトコルのうち、PPTP(Point-to-Point Tunneling Protocol)の概要について取り上げよう。次回に取り上げるIPsec(IP security)との出自や仕様上の違いが、得意とする利用場面の違いにつながっている点を理解して欲しい。

PPTPとは

PPTPはもともと、PPP(Point-to-Point Protocol)をベースとしており、インターネットでやり取りするIPパケットの中に、PPPフレームをカプセル化する形でトンネリングを行っている。ただし、データリンク層プロトコルのPPPフレームを直接IPパケット内にカプセル化できないため、間にGRE(Generic Routing Encapsulation)を介在させて二重にカプセル化した構造になっている点に特徴がある。

IP網を通じてPPTPを利用する際のIPパケットの構成

この、レイヤー2でやりとりするフレームをカプセル化の対象にしている点から、PPTPではレイヤー3プロトコルを限定しない特徴がある。つまり、TCP/IPだけでなく、NetBEUIでもIPX/SPXでもXNSでもトンネリングの対象にできるのだが、現実問題としてはLANで使用するレイヤー3のプロトコルがIPに収斂してきているため、このことがPPTPのメリットといえるかどうかは怪しい。

なお、GREはトンネリング行うだけなので、暗号化については別途、マイクロソフトが開発したMPPE(Microsoft Point to Point Encryption)を用意している。これはRC4共通鍵暗号を用いて暗号化を行うものだ。

また、接続時のユーザー認証については、ユーザーIDとパスワードを指定しておいて、CHAP(Challenge Handshake Authentication Protocol)、それをマイクロソフトが改良したMS-CHAP、あるいはMS-CHAPを改良したMS-CHAPv2を使用する方法で実現する。安全性を考慮すると、MS-VHAPv2を使用するべきだ。

また、ヤマハルータでPPTPを使用する場合、「pp接続」と「anonymous接続」という2種類の設定があり、前者では通信相手のIPアドレスを決め打ちで指定する。必然的に固定グローバルIPアドレスを必要とすることになるが、その分だけ安全性は向上する。

そのユーザー認証の際に使用した「チャレンジ」の値を基にして、双方で同一の鍵情報を生成することで、MPPEが暗号化に使用する鍵情報を双方で共有している。鍵長は40ビットと128ビットがあるが、安全性を考慮すると128ビットを使用するべきだ。

これは、PPTPがIPsecと異なり、鍵情報を定期的に自動生成・更新するメカニズムを持たない事情が影響している。同じ鍵のままでやりとりする通信の量が多くなるほど、解読を試みる相手に多くの情報を与える結果になるので、対抗策として鍵長を長くとる必要がある。

PPTPによるLAN間接続

ヤマハルータでPPTPを用いる場合、LAN間接続もリモートアクセス接続も可能だ。ただし、LAN間接続では前述したpp接続しか使用できないので、以下の制約が生じる。

・ルータの仕様上、利用可能なppインタフェースの数が限られる。つまり、設定可能なPPTPトンネルの数はppインタフェースの数に制約される
・pp接続では通信相手のIPアドレスを決め打ちで指定するため、双方の拠点で固定IPアドレスを確保する必要がある
・(IPsecを使用する場合でも同じことだが)双方のLANで、異なるネットワーク・アドレスを割り当てておく必要がある

これらの点に注意すれば、設定はそれほど難しくない。特にNetVolanteシリーズではWeb画面による設定が可能なので、必要なパラメータを指定するだけで済む。

LAN間接続VPNの例

PPTPによるリモートアクセス接続

PPTPによるリモートアクセス接続では、pp接続に加えて、通信相手のIPアドレスを指定しないanonymous接続も利用できる。PPTPクライアントの方は、WindowsやMacOS Xが標準装備しているものをそのまま利用できる。Windows VistaやWindows 7ではウィザード形式で接続設定の登録を行うが、その中にちゃんと「職場のネットワークにVPN経由で接続する」という選択肢があるので、それを選択すればよい。

anonymous接続を使用する場合、接続してきたユーザーが本物かどうかの確認はユーザーIDとパスワードに頼ることになるので、これらの情報を安全な形で保つことが肝要だ。もっとも、パスワードの漏洩防止に気を使わなければならないのは、なにもリモートアクセスVPNに限った話ではなく一般的な課題なので、ここで殊更に強調するまでもないだろう。

なお、リモートアクセスではどこから接続するか分からないので、クライアントのIPアドレスを固定できない可能性が高い。そのため、pp接続よりもanonymous接続の方が現実的な選択肢だろう。ユーザーIDとパスワードを登録する点や、MPPE暗号化の鍵長と認証プロトコルの選択に注意すれば、あとはWeb画面で簡単に設定できる。

リモートアクセスVPNの例

L2TPとは

その他のVPNプロトコルとしてL2TP(Layer 2 Tunneling Protocol)がある。もともと、シスコシステムズ社が開発したVPNプロトコル・L2F(Layer 2 Forwarding)がルーツで、それとPPTPを一本化する形で登場した。こうした出自の関係で、PPTPと同様にレイヤー2で動作する。

ただし、L2TPは暗号化機能を持たないので、次回に取り上げるIPsecを併用しなければならない。その際、トンネリングはL2TPによって実現できるので、IPsecはトランスポートモードで動作させて、ペイロード部の暗号化だけを行う形をとる。

ヤマハルータでつくるインターネットVPN [第3版]

著者:井上孝司 協力:ヤマハ 価格:4,515円

本書は、ヤマハのVPNルータ NetVolante/RT/RTXシリーズを対象に、セキュリティの高いVPN環境を構築する手法を解説。VPN、IPsec利用環境の基礎知識から実構築・有効活用まで、「ヤマハルータ」の機能を活用した、さまざまなVPNの有効活用がこの1冊でできるようになる。また、QoS、バックアップ機能からルータの管理・メンテナンスもわかりやすく解説する。