VPNで実現するリモートアクセス
社員が外出先からノートPCで社内LANにアクセスし、イントラネットの情報を入手したり社内メールサーバにアクセスする。このような状況が広がってきたのは、ここ数年のことだ。
ちょっと前までは、社外でインターネットを利用するのは大変に厳しかった。だが今は、街中のカフェや駅、ファーストフード店など、至る所に公衆無線LANサービスが提供されているし、ウィルコムのPHSデータ通信サービス「AIR-EDGE」や、下り最大7.2Mbps(理論値)と高速なイー・モバイルの「EMモバイルブロードバンド」もある。
ようやく、時代はユビキタスに近づいてきた、という感がある。外出先からインターネットを使って社内LANにアクセスしたい、というニーズが高まってくるのも、当然の成り行きと言える。このようなリモートアクセスのニーズに応えるのも、VPNの重要な役割である。この技術として古くから使われているのが「PPTP(Point to Point Tunnering Protocol)」と「L2TP」だ。
手軽に利用できるPPTP
PPTPは96年にMicrosoftが中心となり、ルーセントテクノロジー、3Comと共同開発されたレイヤ2のトンネリングプロトコルだ。このプロトコルは、当初はWindows NT SeverとWindowsクライアントとを、「仮想トンネル」を使って安全に接続するために開発され、「RFC 2647」として標準化された。
PPTPで通信するには、PPTPサーバ(PPTP Network Server:PNSと呼ばれる)とPPTPクライアント(PPTP Access Concentrator:PACと呼ばれる)機能が必要だ。PNSはWindows NT Server 4.0以降、PACはWindows 98以降に標準搭載され、実質的にWindows標準のVPN方式と言える。また、安価なブロードバンドルータにもPNSが実装されているものが多い。
PPTPの基本は、ダイアルアップ接続で使われる「PPP(Point to Point Protocol)」をGRE(Generic Routing Encapsulation)というプロトコルを用いてカプセル化することにある。その仕組みは、前回解説した「IPsec」と比べて遙かにシンプルだ。
|
図1 Windowsから手軽に接続
|

PPTPは証明書のインストールなどを必要とせず、
Windows Vista/XPから簡単に接続できるのが特徴だ
|
まず、PPTPサーバに対してクライアントが通信を行おうとすると、PNSに対して制御用コネクションが張られ、そのコネクションの中でPPPフレームをやりとりするためのPPTPトンネルを作成する。
|
図2 PPTPのトンネル生成のしくみ
|

最初に制御用のコネクションを貼り、そのプロセスの中で
PPTPトンネルを作成する。認証とデータの暗号化は、
トンネルが作成されてからPPPで行われる
|
トンネルが生成されると、それを使ってPPPセッションが開始される。ここから先は、通常のPPP、あるいはPPPoE接続と同じだ。PPPによるユーザ認証を行い、認証後にクライアントに対してIPアドレスの割り当てやデータ圧縮、暗号化の手順を経てIP通信が可能になる。暗号化については、MS-CHAP/MS-CHAPv2とMPPE(Microsoft Point-To-Point Encryption)が使われるのが通例だ。
このように、共有鍵や暗号鍵で厳密に相互認証を行い、データ改ざんなどのチェックも行うIPsecに比べると、極めてシンプルで、実装も簡単だ。だが、トンネリングに対する認証の仕組みがないのでDoS攻撃などの対象になる可能性がある上、PPP認証のプロセス以前のプロセスは暗号化されておらず、少なくとも、ミッションクリティカルな用途には向いていない。