ポイントツーポイント トンネリング プロトコル( PPTP ) は、仮想プライベート ネットワークを実装するための時代遅れの方法です。PPTP には、よく知られているセキュリティ上の問題が数多くあります。
PPTP は、 TCP制御チャネルとGeneric Routing Encapsulationトンネルを使用してPPPパケットをカプセル化します。多くの最新の VPN は、これと同じ機能のためにさまざまな形式のUDP を使用します。
PPTP 仕様では暗号化や認証機能は説明されておらず、あらゆるセキュリティ機能を実装するためにトンネリングされるポイントツーポイント プロトコルに依存しています。
Microsoft Windows製品ファミリに付属する PPTP 実装では、 Windows PPTP スタックの標準機能として、さまざまなレベルの認証と暗号化がネイティブに実装されています。このプロトコルの目的は、一般的なVPN製品 と同等のセキュリティ レベルとリモート アクセス レベルを提供することです。
歴史
PPTPの仕様は1999年7月にRFC 2637 [1]として公開され、 Microsoft、Ascend Communications(現在はNokiaの一部門)、3Comなど によって結成されたベンダーコンソーシアムによって開発されました。
PPTP は、インターネット技術タスクフォースによって標準として提案も承認もされていません。
説明
PPTP トンネルは、 TCPポート 1723上のピアとの通信によってインスタンス化されます。次に、この TCP 接続を使用して、同じピアへのGREトンネルを開始および管理します。PPTP GRE パケット形式は非標準であり、GRE ヘッダーの一般的なルーティングフィールドを置き換える新しい確認番号フィールドが含まれます。ただし、通常の GRE 接続と同様に、これらの変更された GRE パケットは IP パケットに直接カプセル化され、IP プロトコル番号 47 として認識されます。GRE トンネルは、カプセル化された PPP パケットを伝送するために使用され、IP、NetBEUI、IPXなど、PPP 内で伝送できるすべてのプロトコルのトンネリングを可能にします。
Microsoft の実装では、トンネル化された PPP トラフィックはPAP、CHAP、MS-CHAP v1/v2で認証できます。
安全
PPTPは多くのセキュリティ分析の対象となっており、プロトコルには重大なセキュリティ上の脆弱性が発見されています。既知の脆弱性は、使用されている基礎となるPPP認証プロトコル、MPPEプロトコルの設計、およびセッションキー確立のためのMPPEとPPP認証の統合に関連しています。[2] [3] [4] [5]
これらの脆弱性の概要は次のとおりです。
- MS-CHAP -v1は根本的に安全ではありません。キャプチャされたMSCHAP-v1交換からNTパスワードハッシュを簡単に抽出するツールが存在します。[6]
- MS-CHAP-v1を使用する場合、MPPEは通信フローの両方向の暗号化に同じRC4セッションキーを使用します。これは、各方向からのストリームをXORすることで標準的な方法で暗号解読できます。[7]
- MS-CHAP-v2はキャプチャされたチャレンジレスポンスパケットに対する辞書攻撃に対して脆弱です。このプロセスを迅速に実行するためのツールが存在します。[8]
- 2012年には、MS-CHAP-v2キーに対するブルートフォース攻撃の複雑さは、単一のDESキーに対するブルートフォース攻撃と同等であることが実証されました。また、MS-CHAP-v2 MD4パスフレーズを23時間で解読できるオンラインサービスも実証されました。[9] [10]
- MPPE は暗号化にRC4ストリーム暗号を使用します。暗号文ストリームの認証方法がないため、暗号文はビット反転攻撃に対して脆弱です。攻撃者は送信中のストリームを変更し、単一ビットを調整して出力ストリームを変更しても検出されることはありません。これらのビット反転は、プロトコル自体がチェックサムやその他の手段で検出できます。[6]
EAP-TLSはPPTPの優れた認証方法と考えられているが[11]、クライアント証明書とサーバー証明書の両方に公開鍵インフラストラクチャを実装する必要がある。そのため、一部のリモートアクセス環境では実行可能な認証方法ではない可能性がある。PPTPを使用するほとんどのネットワークでは、追加のセキュリティ対策を適用するか、現代のインターネット環境に完全に不適切とみなされる必要がある。同時に、そうすることは、プロトコルの前述の利点をある程度否定することを意味する。[12]
参照
- IPsec
- レイヤー 2 トンネリング プロトコル (L2TP)
- セキュア ソケット トンネリング プロトコル (SSTP)
- OpenVPN、VPN を実装するオープンソース ソフトウェア アプリケーション
- WireGuard、シンプルで効果的なVPN実装
参考文献
- ^ RFC 2637
- ^ 「マルウェアに関する FAQ: Microsoft PPTP VPN」 。2017年 6 月 29 日閲覧。
- ^ 「Microsoft は PPTP と MS-CHAP を使用しないよう推奨」。2012年 11 月 3 日閲覧。
- ^ 「PPTPにとって致命的な打撃」。2012年11月3日閲覧。
- ^ 「PPTPとL2TPの違い」。bestvpnrating 。 2016年9月14日時点のオリジナルよりアーカイブ。 2016年8月7日閲覧。
- ^ ab Bruce Schneier、「Microsoft の Point to Point Tunneling Protocol (PPTP) の暗号解析」、Wayback Machineに 2011-06-04 にアーカイブ。
- ^ Bruce Schneier、「Microsoft の PPTP 認証拡張機能 (MS-CHAPv2) の暗号解析」、1999 年 10 月 19 日。
- ^ ライト、ジョシュア。「Asleap」。2017年11月1日閲覧。
- ^ 「分割統治: 100% の成功率で MS-CHAPv2 をクラッキング」。Cloudcracker.com。2012 年 7 月 29 日。2016 年 3 月 16 日時点のオリジナルよりアーカイブ。2012年 9 月 7 日閲覧。
- ^ 「Marlinspike が MS-CHAPv2 クラックをデモ」The Register 2012-07-31 2012-09-07閲覧。
- ^ ユーザーレベル認証に EAP-TLS または MS-CHAP v2 を選択する、Microsoft TechNet、2003 年 3 月 28 日
- ^ 「VPN プロトコル比較: IKEv2 vs IKEv1 vs OpenVPN vs L2TP vs PPTP」。VPN Unlimited ブログ。2018 年 5 月 14 日。2018年 6 月 19 日閲覧。
外部リンク
- Windows NT: Microsoft の PPTP を理解する
- Microsoft の実装におけるセキュリティ上の欠陥に関する FAQ、Bruce Schneier、1998 年
- Microsoft の PPTP 認証拡張 (MS-CHAPv2) の暗号解析、Bruce Schneier、1999 年
