PPTP を理解する

トピック

イントロダクション イントロダクション

PPTP と仮想プライベート ネットワーク PPTP と仮想プライベート ネットワーク

PPTP のアーキテクチャ PPTP のアーキテクチャ

PPTP のセキュリティを理解する PPTP のセキュリティを理解する

イントロダクション

PPTP (Point-to-Point Tunneling Protocol) は、TCP/IP ベースのデータ ネットワーク上に仮想プライベート ネットワーク (VPN:Virtual Private Network) を作り出すことにより、リモート ユーザーから企業のサーバーへの安全なデータ転送を可能にするためのネットワーク プロトコルです。PPTP は、インターネットのような公共のネットワークを経由して、オンデマンドで接続可能で、マルチプロトコルがサポートされる仮想的なプライベート ネットワークを構築可能にします。

PPTP のネットワーク テクノロジは、リモート アクセス用に設計された Point-to-Point プロトコル (PPP:Point-to-Point Protocol) を拡張したものです。Point-to-Point プロトコルは、「The Point-to-Point Protocol (PPP)」と題されたIETF (Internet Engineering Task Force) によるドキュメント (RFC 1548 として公開されている) で定義されています。PPTP は、インターネットや他の TCP/IP ベースの公衆ネットワーク上において、PPP パケットを IP データグラムでカプセル化し、転送可能にするネットワーク プロトコルです。また、PPTP はプライベートな LAN 同士のネットワークにおいても使用することができます。

PPP に対する PPTP への拡張は、「Point-to-Point Tunneling Protocol (PPTP)」(draft-ietf-pppext-pptp-10.txt) というドキュメントで解説されています。このドキュメントのドラフト (草案) はマイクロソフトや Ascend Communications、3Com / Primary Access、ECI Telematics、US Robotics が参加する PPTP フォーラムによって、1996 年 6 月に IETF に提出されました。

メモ: インターネット ドラフト ドキュメントは、「作業中」のものとして扱うべきものです。本ドキュメントで言及している RFC とインターネット ドラフトは、http://www.ietf.org/ で参照することができます。

本ドキュメントは、ネットワーク管理者やサポート担当者、そして低コストなリモート アクセス ソリューションを提供するために、PPTP がどのように使われているかを知る必要のある開発者向けに作成されたものであり、以下のトピックを含んでいます。

  • PPTP と安全な仮想プライベート ネットワーク (VPN)
  • PPTP のアーキテクチャ
  • PPTP のセキュリティ上の特徴

PPTP と仮想プライベート ネットワーク

PPTP プロトコルは、Windows NT Server Ver.4.0 と Windows NT Workstation Ver.4.0 オペレーティング システムに含まれています。したがってこれらの OS が稼働しているコンピュータでは、PPTP プロトコルを使用することにより、インターネットのような公衆データネット ワークを使用しながら、リモート アクセス クライアントのようにして、プライベートなネットワークに安全に接続することができます。言い換えれば、PPTP を使えば、インターネットや他の TCP/IP ベースの公衆データ ネットワークの上で、必要に応じてオンデマンドで接続可能な仮想プライベート ネットワークを構築することができます。また LAN に接続されているコンピュータに PPTP を組み込んで、LAN から他の LAN にわたる仮想プライベート ネットワークを形成することも可能です。

PPTP を使用するうえでの重要な特徴の 1 つは、PSTN (Public-Switched Telephone Networks。公衆電話交換回線網。一般の電話回線網のこと) を使用した仮想プライベート ネットワークがサポートされていることです。PPTP は、リモート/モバイル ユーザーに対する全社規模のリモート アクセス ソリューションを、簡単かつ低コストで導入可能にします。なぜなら PPTP では、公衆回線やインターネットを介して、暗号化された安全な通信環境が提供されるからです。PSTN を経由して PPTP を利用できるため、従来のように高価な専用線や、クローズな専用通信サーバーなどはもう必要ありません。

一般的に、PPTP を利用するには、以下の 3 つの働きをするコンピュータが必要になります。

  • PPTP クライアント
  • ネットワーク アクセスサーバー
  • PPTP サーバー

メモ: ある LAN に接続された PPTP クライアントを、同一の LAN に接続されている PPTP サーバーに接続する場合には、PPTP トンネルを生成するためのネットワーク アクセス サーバーは必要ありません。

以下のセクションでは、これらのコンピュータを使用している典型的な PPTP のシナリオについて示し、それらが互いにどのように関連しているかについて説明した後、これら各コンポーネントの厳密な定義を行います。

典型的な PPTP のシナリオ

典型的な PPTP の適用例として、遠隔地から、インターネット サービス プロバイダ (Internet Service Provider : 以下 ISP と略) を使用して、企業の LAN にアクセスする必要のあるリモート/モバイル PPTP クライアントから話を始めましょう。 Windows NT Server 4.0、または、Windows NT Workstation 4.0 が動作するコンピュータを使用するクライアントは、ISP に接続するために、ダイアルアップネットワーキングと PPP プロトコルリモートアクセスを使用します。

この際クライアントは、ISP の設備であるネットワーク アクセス サーバー (Network Access Server : NAS) に接続します (ネットワーク アクセス サーバーは、フロントエンド プロセッサー <FEP> やダイヤルイン サーバー、あるいは POP <point-of-presence。接続点のこと> サーバーと呼ばれることもあります)。いったん接続すれば、そのクライアントはインターネットとのパケットの送受信が可能になります。このときネットワーク アクセス サーバーは、インターネットに対するすべてのトラフィックに対して、TCP/IP プロトコルを使用します

クライアントが ISP に対して最初の PPP コネクションを確立後、この確立された PPP コネクション上で、第 2 のダイヤルアップ ネットワーク呼び出しが行われます。この 2 番目のコネクションを用いて送られるデータは、PPP パケットを含む IP データグラムの形式となっており、カプセル化された PPP パケットと呼ばれます。

この第 2 の通信は、企業の LAN 上にある PPTP サーバーとの間で、仮想プライベート ネットワーク (VPN) コネクションを生成します。これが「トンネル」と呼ばれるものです。以上の構成を図1に示します。

図  1: PPTP トンネル

図 1: PPTP トンネル

「トンネリング」とは、インターネットのような他のネットワークを越えてルーティングを行い、プライベート ネットワーク上のコンピュータに対してパケットを送る処理を指します。通常、他のネットワークにあるルータは、プライベート ネットワーク上にあるコンピュータにはアクセスできません。しかし、トンネリングを使うことにより、ルーティング可能なネットワークを経由して、PPTP サーバーのような中継サーバーへのパケットの転送が可能になります (中継サーバーは、ルーティング可能なネットワークとプライベート ネットワークの双方に接続されています)。PPTP クライアントと PPTP サーバーの双方でトンネルを使用することにより、プライベート ネットワークの中継サーバーのアドレスだけを知っているルータを用いて、プライベート ネットワーク上のコンピュータに安全にパケットをルーティングできるようになります。

ルーティング可能なネットワークからパケットを受けとると、PPTP サーバーがそれをプライベート ネットワークを越えて目的のコンピュータに送ります。PPTP サーバーは、カプセル化された PPP パケットの中からプライベート ネットワークコンピュータ名もしくはアドレス情報を取り出す処理を行っています。カプセル化された PPP パケットには、TCP/IP や IPX、NetBEUI などのマルチプロトコル データを含められる点に注意してください。PPTP サーバーは、プライベート ネットワーク プロトコルを使用し、プライベート ネットワークで通信できるように設定されているため、マルチ プロトコル パケットを解読することが可能なのです。

次の図は、PPTP のマルチプロトコル サポートについて示したものです。ここで PPTP クライアントから PPTP サーバーへ送られるパケットは、PPTP トンネルを通ってプライベート ネットワー上の目的のコンピュータに送信されます。

図   2: ダイヤルアップネットワークによる PPTP クライアントから、プライベートネットワークへの接続

図 2: ダイヤルアップ ネットワークによる PPTP クライアントから、プライベート ネットワークへの接続

PPTP は、暗号化や圧縮化された PPP パケットを IP データグラムにカプセル化して、インターネット上でパケットを転送します。これらの IP データグラムは、インターネットとプライベート ネットワークの双方に接続されている PPTP サーバーに届くまで、インターネット上でルーティングして送られます。その後 PPTP サーバーは、IP データグラムを PPP パケットに分解し、次にプライベート ネットワークのネットワーク プロトコルを使用して、PPP パケットの復号化を行います。先に述べたように、PPTP によってサポートされているプライベート ネットワーク上でのプロトコルは、IPX もしくは NetBEUI、TCP/IP です。

PPTP クライアント

PPTP ネットワーク プロトコルをサポートするコンピュータ (たとえば Microsoft クライアント) は、次の 2 つの方法で PPTP サーバーに接続することができます。

  • PPP での接続をサポートしている ISP のネットワーク アクセス サーバーを使用する方法
  • TCP/IP を使用可能な物理的なLAN接続を用いて PPTP サーバーに接続する方法

ISP のネットワーク アクセス サーバーを使用する PPTP クライアントでは、ISP と PPTP サーバーの両方へ接続できるように、モデムと VPN デバイスをそれぞれ設定しておく必要があります。このとき最初に行う接続では、PPP プロトコルを使用して、モデム経由でインターネット サービス プロバイダにダイヤルアップ接続します。そして 2 番目の接続では、PPTP を使用して VPN 接続します。この場合には、モデムと ISP 接続を通じて、インターネットを越えて PPTP サーバー上の VPN デバイスとの間でトンネルを作成します。この 2 番目の接続には、最初の接続が必要です。なぜなら、VPN デバイス間のトンネルは、モデムとインターネットへの PPP 接続を使用することによって確立されるからです。

ただし、企業ネットワークの LAN に物理的に接続されたコンピュータ間で、仮想プライベート ネットワークを構成するために PPTP を使用する場合は、このような 2 段構えの接続は必要ありません。このケースでは、PPTP クライアントはすでにネットワークに接続されており、LAN 上の PPTP サーバーに対する接続を確立するために、VPN デバイスでダイヤルアップ ネットワーキングを使用するだけですみます。

リモート アクセス PPTP クライアントからの PPTP パケットと、ローカル LAN の PPTP クライアントからの PPTP パケットの処理は異なります。前者のリモート アクセス PPTP クライアントからの PPTP パケットは、テレコミュニケーション デバイスの物理メディア上に送られます。これに対し後者である LAN の PPTP クライアントからの PPTP パケットは、ネットワーク アダプタの物理メディア上に送られます。

図   3: ネットワークメディアにおける PPTP パケットの処理

図 3: ネットワークメディアにおける PPTP パケットの処理

上の図は、PPTP がどのように PPP パケットをカプセル化し、どのように出力パケットをモデムや ISDN、LAN などのネットワーク メディア上に送出するのかを示したものです。

ISP のネットワーク アクセス サーバー

ISP では、ネットワーク アクセス サーバーを用意して、ダイヤルインしてくるクライアントが SLIP や PPP のようなプロトコルを使ってインターネットにアクセスできるようにしています。しかし、PPTP を使用するクライアントをサポートするためには、ネットワーク アクセス サーバーは必ず PPP サービスを提供しなければなりません。

ISP のネットワーク アクセス サーバーは、多数のダイヤルイン クライアントを収容できるように設計、構築されています。このネットワーク アクセス サーバーは、PPTP フォーラムのメンバーである 3Com や Ascen、ECI Telematics、U.S.Robotics などの企業によって構築されています。

メモ: PPTP を利用可能なネットワーク アクセス サーバーを使用して PPTP サービスを提供している ISP は、Windows 95 や Windows NT Ver.3.5 と 3.51 だけではなく、Apple Macintosh や UNIX などのサードパーティの PPP クライアントもサポートすることができます。この場合には、これらのクライアントも、ISP サーバーに PPP で接続することができます。このとき ISP サーバーは、PPTP クライアントとして振る舞い、ISP サーバーから PPTP サーバーへの PPTP トンネルを作成することにより、プライベート ネットワーク上の PPTP サーバーに接続します。

このシナリオでも、本ドキュメントでこれまで記述してきた PPTP アーキテクチャは根本的に同じです。しかしこの場合は、すべての PPTP 通信はネットワーク アクセス サーバーと PPTP サーバーとの間で発生することになります。利用しているプロバイダが PPTPサービスを提供しているかどうか、また PPTP をサポートしている場合には、ISP のサーバーにアクセスするために必要な PPP 設定とダイヤルアップ ネットワーク設定について、プロバイダにお問い合わせください。

プライベート LAN 上の PPTP サーバー

PPTP サーバーは、プライベート ネットワークとインターネットの双方に接続されたルーティング能力を持つサーバーです。本ドキュメントでは、PPTP サーバーを Windows NT Server Ver.4.0 と RAS が稼働しているコンピュータとして定義しています。この場合、PPTP は、ネットワーク プロトコルの 1 つとしてインストールされます。PPTP を設定するには、インストール途中で、RAS とダイヤルアップ ネットワーキングに対して、仮想プライベート ネットワーク (VPN) として参照される仮想デバイスを追加します。PPTP サーバーのインストール条件に関する詳細な情報については、日本語版 TechNet CD を参照してください。

PPTP のアーキテクチャ

このセクションでは、Windows NT Server Ver.4.0 または Windows NT Workstation Ver.4.0 における PPTP のアーキテクチャについて解説します。PPTP は、インターネットを介して、プライベート ネットワークに到達するための安全な手段を提供するように設計されています。PPTP を吟味することによって、PPTP プロトコルの安全な設計の特徴を明らかにしましょう。

このセクションでは、以下の点について述べます。

  • PPP プロトコル
  • PPTP 制御 コネクション
  • PPTP データ トンネリング

PPTP アーキテクチャの概要

PPTP プロトコルによる安全な通信は、一般的に次の 3 つの段階を順番に処理することによって実現されています。以下では、これら 3 つの各段階とその働きについて解説します。

PPP 接続と通信PPTP クライアントは、標準的な電話回線や ISDN 回線により、PPP を使用して ISP に接続します。この接続では PPP プロトコルを使用して接続を確立し、データ パケットの暗号化を行います。

PPTP制御コネクション PPP プロトコルによって確立したインターネットへの接続を使用して、PPTP プロトコルでは、インターネット上で PPTP クライアントから PPTP サーバーへの制御コネクションを生成します。このコネクションは、TCP を使用して確立されています。こうして作成されたコネクションは、PPTP トンネルと呼ばれます。

PPTPデータトンネリング最後に PPTP プロトコルは、暗号化されたパケットを含む IP データグラムを生成して、それを PPTP トンネルを通して PPTP サーバーへ送ります。すると PPTP サーバー側では、IP データ グラムを分解して、PPP パケットを復号化します。そして、プライベート ネットワークに向けて、この復号化されたパケットをルーティングします。

PPP プロトコル

PPTP では、PPP をリモート アクセス プロトコルとして使用して、TCP/IP ベースのネットワーク上でマルチプロトコル データを送信しています。PPP では、IP や IPX、NetBEUI のパケットを PPP フレーム間でカプセル化し、送信先コンピュータと送信元コンピュータの間でポイント ツー ポイントでリンクを生成することにより、そのカプセル化されたパケットを送信します。

ほとんどの PPTP セッションは、クライアントが ISP のネットワーク アクセス サーバーにダイヤルアップすることによって開始されます。このとき、PPP プロトコルは、クライアントとネットワーク アクセス サーバーの間のダイヤルアップ接続を生成するために使用され、その後以下の 3 つの処理が行われます。

  • 物理的な接続の確立と終了 PPP プロトコルでは、RFC 1661 で定義されたシーケンスを使って、リモート コンピュータ間でコネクションの確立と保持を行います。
  • ユーザー認証 PPTP クライアントは、PPP プロトコルを使って認証されます。PPP プロトコルでは、クリア テキスト (暗号化されていないテキスト文字列) での認証、暗号化された認証、またはマイクロソフト暗号化認証を使用できます。
  • 暗号化された IPX、NetBEUI、TCP/IP パケットを含む PPP データグラムの作成 PPP は、暗号化された 1 つ以上の IPX や NetBEUI、TCP/IP データ パケットを含むデータ グラムを作成します。ネットワーク パケットは暗号化されているため、PPP クライアントとネットワーク アクセス サーバーとの間のすべてのトラフィックは安全です。

この全体の処理を以下の図に示します。

図   4: ダイヤルアップネットワーキングによる ISP への PPP 接続

図 4: ダイヤルアップネットワーキングによるISPへのPPP接続

メモ: 場合によっては、リモート クライアントがインターネットなどの TCP/IP ネットワークにダイレクトにアクセスすることもあります。たとえば、ネットワーク カードを備えたラップトップ コンピュータなら、会議室に用意されたインターネットへの接続用タップを使用できるでしょう。このようなダイレクトな IP 接続では、最初の ISP への接続は不要です。この場合クライアントは、ISP への最初の PPP コネクションなしに、PPTP サーバーへの接続を開始できます。

PPTP 制御コネクション

PPTP プロトコルでは、PPTP を利用可能なクライアントと、PPTP サーバーとの間で送信される一連の制御メッセージを定義しています。この制御メッセージによって、PPTP トンネルを確立し、保持し、終了します。以下のリストは、PPTP トンネルを確立、保持するために使用される主な制御メッセージです。

メッセージ タイプ 目的
PPTP_START_SESSION_REQUEST セッションの開始
PPTP_START_SESSION_REPLY セッション開始要求への応答
PPTP_ECHO_REQUEST セッションの保持
PPTP_ECHO_REPLY セッション保持要求への応答
PPTP_WAN_ERROR_NOTIFY PPP 接続におけるエラー報告
PPTP_SET_LINK_INFO クライアント - PPTP サーバー間での接続設定
PPTP_STOP_SESSION_REQUEST セッションの終了
PPTP_STOP_SESSION_REPLY セッション終了要求への応答

 

表 1: PPTP 制御メッセージタイプ

制御メッセージは、TCP データグラム中の制御パケットとして送信されます。1 つの TCP コネクションが PPTP クライアントと PPTP サーバーの間で作成され、制御メッセージを交換するために使用されます。制御メッセージは、TCP データグラム中に格納されて送信されます。このデータグラムには、おおよそ以下のように、PPP ヘッダー、TCP ヘッダー、PPTP 制御メッセージとそれに付随するデータが含まれています。

図 ; 5: PPTP の制御メッセージを含む TCP データグラム

図 5: PPTP の制御メッセージを含む TCP データグラム

TCP コネクション上における、PPTP クライアントと PPTP サーバーとの間のメッセージ交換を通して、PPTP トンネルの生成、保持が行われています。この全体のプロセスを以下に図示します。

図; 6: ISP への PPP 接続における、PPTP サーバーへの PPTP 制御コネクション

図 6: ISP への PPP 接続における、PPTP サーバーへの PPTP 制御コネクション

メモ: この図は、リモート アクセス クライアントが PPTP クライアントである場合の制御コネクションを表しています。リモート アクセス クライアントが PPTP を利用せず、PPTP が利用可能な ISP ネットワーク アクセス サーバーを使用する場合、PPTP 制御コネクションは ISP サーバーから開始されることになります。PPTP プロトコルとその制御コネクション メッセージと、TCP データグラムの組み立てに関するさらに詳しい情報については、PPTP のインターネット ドラフトのドキュメントを参照してください。

PPTP によるデータ送信

PPTP トンネルの確立が完了すると、ユーザー データがクライアントと PPTP サーバー間で送信されます。このときデータは、PPP パケットを含んだ IP データグラムとして送信されます。この IP データグラムは、Internet Generic Routing Encapsulation (GRE) プロトコルの修正バージョンを使用して作成されます (GRE は RFC 1701 と 1702 で定義されています)。PPTP によって作成される IP データグラムは、以下のよう形式になっています。

図 7: PPTP サーバーによって生成される、暗号化された PPP パケットを含む IP データグラム

図 7: PPTP サーバーによって生成される、暗号化された PPP パケットを含む IP データグラム

IP デリバリー ヘッダーは、データグラムがインターネット上をルーティングするのに必要な情報を提供します。これに対し GRE ヘッダーは、PPP パケットを IP データグラムにカプセル化するために使用されます。この PPP パケットは、RAS によって作成されたものです。PPP パケットは暗号化されているので、一見、無意味なデータのかたまりのようになっています。たとえ IP データグラムが誰かに傍受されたとしても、そのデータを復号化することは不可能に近いでしょう。

PPTP のセキュリティを理解する

PPTP は、RAS が稼働する Windows NT Server Ver.4.0 や Windows NT Workstation Ver.4.0 コンピュータ上で有効な、認証と暗号化による厳密なセキュリティ機能を、インターネット上の PPTP クライアントにまで広げます。また PPTP は、PPTP 以外のすべてトラフィックを無視することで、PPTP サーバーとプライベート ネットワークを守ります。しかしこのように厳密なセキュリティ機能があるにもかかわらず、既存のファイア ウォールで PPTP を使用するのは非常に容易です。このセクションでは、計画の立案を手助けするために、以下の項目について解説します。

  • 認証とアクセス制御
  • データ暗号化
  • PPTP パケット フィルタリング
  • サードパーティのファイア ウォールの利用

認証

ISP のネットワーク アクセス サーバーに接続する場合、最初にダイヤルイン認証が要求されるのが普通です。ただし認証が要求されるといっても、それ自体はあくまで ISP のネットワーク アクセス サーバーにログオンするためのものであって、Windows NT ベースの認証とは無関係です。ISP で要求される認証について考えてみるとわかるように、ISP に対するダイヤルアップ ネットワークのエントリごとに認証の設定 (ユーザー名やパスワードなど) が必要となります。

これに対し、Windows NT Server Ver. 4.0 を PPTP サーバーとして使用している場合には、これによってプライベート ネットワークへのすべてのアクセスが制御されます。すなわち、PPTP サーバーがプライベート ネットワークへの橋渡し役となるのです。PPTP サーバーでは、標準的な Windows NT ベースのログオンが必要とされます。すべての PPTP クライアントでは、ユーザー名とパスワードを指定する必要があります。したがって、Windows NT Server Ver. 4.0 または Windows NT Workstation Ver.4.0 が稼働しているコンピュータを使用してリモート アクセスでログオンしても、ローカル LAN に接続されている Windows NT ベースのコンピュータからログオンするのと同等のセキュリティが保たれます。

リモート PPTP クライアントの認証は、RAS クライアントが直接 RAS サーバーにダイヤルする場合に使用するのと同じ PPP 認証方式を用いて行われます。マイクロソフトが実装したリモート アクセス サービス (RAS) では、認証方式として CHAP (Challenge Handshake Authentication Protocol)、MS-CHAP (Microsoft Challenge Handshake Authentication Protocol)、PAP (Password Authentication Protocol) をサポートしています。

メモ: MS-CHAP 認証では、Microsoft LAN Manager でも使用されていた、以前の認証機構である MD4 ハッシュ形式がサポートされています。

すべてのユーザー アカウントと同様に、リモート ユーザーのユーザー アカウントもWindows NT Server Ver.4.0 のディレクトリ サービスに含まれており、ドメイン ユーザー マネージャを通じて管理されます。このため、プライベート ネットワークの既存のユーザー アカウントと統合して、ユーザー アカウントを集中的に管理することができます。信頼されるドメインを通して、ネットワーク経由でアクセスすることが認められたアカウントのみが許可されます。ユーザー アカウントの管理に注意して、セキュリティ上のリスクを減らすことが必要です。

インターネットなどのパブリックなネットワークを利用する PPTP 接続では、安全なパスワードモデルを確立しておくことが極めて重要です。たとえばインターネットには、数千ものユーザー名とパスワードの組み合わせを立て続けに送り込む「デーモン ダイヤラ (demon dialer)」と呼ばれる攻撃プログラムなどがあります。

このような攻撃からネットワークを守る唯一の方法は、安全なパスワード ポリシーを決めておくことです。パスワードは推測しにくいものでなければなりません。たとえば、パスワードとして大文字と小文字や数字、特殊な文字などを含めるようにします。推測しにくいパスワードにするには、少なくともこれら3種類のタイプの文字を含むようにするとよいでしょう。

アクセス制御

認証に続いて、プライベート LAN に対するすべてのアクセスでも、Windows NT ベースのセキュリティ モデルが適用されます。NTFS ドライブ上のリソースや、他のネットワーク リソースへのアクセスには、適切なアクセス権が要求されます。このため PPTP クライアントによってアクセスされるファイル資源に対しては、よりセキュリティ能力の高い NTFS ファイル システムを使用することを推奨します。

NTFS ドライブや、他のネットワーク リソースに関するセキュリティ機能を使用するうえでの詳しい情報については、製品に付属するドキュメントや、Windows NT Workstation Ver.4.0 および Windows NT Server Ver.4.0 リソース キットを参照してください。

データ暗号化

データ暗号化については、PPTP は RAS の「共有シークレット (shared-secret)」暗号化プロセスを使用します。これが「共有シークレット」と呼ばれているのは、コネクションの両側で暗号化のための鍵を共有するためです。マイクロソフトが実装した RAS 機能では、この共有シークレットがユーザー パスワードになります (他の暗号化方式として、公開された鍵に基づいて暗号化を行うものがあります。このような暗号化方式は、公開鍵暗号と呼ばれます)。

PPTP は、PPP 暗号化と PPP 圧縮機構を使用しています。PPP で使用される CCP (Compression Control Protocol : 圧縮制御プロトコル) は、暗号化方法をネゴシエーションするために用いられます。

PPTP クライアントのユーザー名とパスワードは、PPTP クライアントから提供され、PPTP サーバーに渡されます。この際に使用される暗号化の鍵は、クライアントとサーバーの双方に格納された、ハッシュされたパスワードから生成されます。クライアント パスワードに基づくこの 40 ビットのセッション鍵は、RSA の RC4 標準を使用して生成されます。こうして生成された鍵は、この後、インターネット上に送信されるすべてのデータの暗号化で使用され、リモート接続をあたかもプライベートLANであるかのように、安全なものにします。

PPP パケット内のデータは暗号化されています。暗号化されたデータ ブロックを含む PPP パケットは、より大きな IP データグラムでカプセル化され、インターネット上で PPTP サーバーに向けてルーティングされます。このとき、万一インターネット ハッカーがあなたのデータグラムを傍受したとしても、ハッカーが目にするのは、メディア ヘッダーと IP ヘッダー、そして暗号化された 1 つのブロックを含んだ PPP パケットにすぎません。データの内容を解読するのは不可能です。

PPP パケット フィルタリング

PPTP サーバー上で PPTP フィルタリング機能を使えば、悪意を持った種々の活動に対するネットワーク セキュリティを強化することができます。PPTP フィルタリングを有効にすると、プライベート ネットワーク上の PPTP サーバーは、認証されたユーザーからの PPTP パケットのみを受け入れてルーティングするようになります。これにより、これ以外のあらゆるパケットが PPTP サーバーやプライベート ネットワークに入り込むことを防ぎます。PPP 暗号化とこの機能によって、許可され、暗号化されたデータのみがプライベート LAN に出入りできるようになるのです。

PPTP フィルタリングは、コントロール パネルの [ネットワーク] オプション内にある [プロトコル] タブの [PPTP サーバー] で有効化できます。

ファイア ウォールやルータと PPTP を組み合わせて使用する

PPTP による通信では、TCP の 1723 番のポートを使用し、IP プロトコルの 47 番の ID を使用します。これらは、IANA (Internet Assigned Numbers Authority) によって割り当てられています。このため PPTP は、ほとんどのファイア ウォールやルータと組み合わせ使用することが可能であり、1723 番のポートに向けられた通信をファイア ウォールやルータを通じてルーティングできるようにします。

ファイア ウォールは、インターネットからプライベート ネットワークにやってくるデータを厳しく規制することによって、ネットワーク セキュリティを確保します。しかしこのファイア ウォールと Windows NT Server Ver.4.0 を利用した PPTP サーバーを組み合わせて導入することもできます。この場合 PPTP サーバーは、ファイア ウォールからプライベート ネットワークに渡された PPTP パケットを受け取り、IP データグラムから PPP パケットを取り出し、パケットの復号化を行って、最終的にパケットをプライベート ネットワーク上のコンピュータに転送します。

この文書に含まれている情報は、出版時点でのこの論題に対するマイクロソフトコーポレーションの見解です。マイクロソフトは変化するマーケット状況に対応しなければならないので、これはマイクロソフトの公約と解釈されるものではありません。また、マイクロソフトは出版日以降に提示された情報の正確さも保証しないものとします。

この文書は、情報提示のみを目的とするものです。マイクロソフトは、明示または暗示を問わず、この文書でいかなる保証もしないものとします。

0197 Part no. 098-68564

本ドキュメントは、米国マイクロソフトが作成したホワイトペーパーをベースに翻訳したものであり、ドキュメント内で利用されているアプリケーションの画像などは、日本語版とは機能やメニュー表記などが異なる場合があります。