Protokół tunelowania punkt-punkt
Zestaw protokołów internetowych |
---|
Warstwa aplikacji |
Warstwa transportowa |
Warstwa internetowa |
Warstwa łącza |
Protokół tunelowania punkt-punkt ( PPTP ) to przestarzała metoda wdrażania wirtualnych sieci prywatnych . PPTP ma wiele dobrze znanych problemów związanych z bezpieczeństwem.
PPTP wykorzystuje kanał kontrolny TCP i tunel Generic Routing Encapsulation do enkapsulacji pakietów PPP . Wiele nowoczesnych sieci VPN korzysta z różnych form UDP dla tej samej funkcjonalności.
Specyfikacja PPTP nie opisuje funkcji szyfrowania ani uwierzytelniania i opiera się na tunelowaniu protokołu Point-to-Point w celu wdrożenia wszelkich funkcji bezpieczeństwa.
Implementacja PPTP dostarczana z rodzinami produktów Microsoft Windows implementuje natywnie różne poziomy uwierzytelniania i szyfrowania jako standardowe funkcje stosu Windows PPTP. Zamierzonym zastosowaniem tego protokołu jest zapewnienie poziomów bezpieczeństwa i zdalnego dostępu porównywalnych z typowymi produktami VPN .
Historia
Specyfikacja protokołu PPTP została opublikowana w lipcu 1999 r. jako RFC 2637 i została opracowana przez konsorcjum dostawców utworzone przez Microsoft , Ascend Communications (dziś część Nokii ), 3Com i innych.
PPTP nie został zaproponowany ani ratyfikowany jako standard przez Internet Engineering Task Force .
Opis
Tunel PPTP jest tworzony poprzez komunikację z peerem na porcie TCP 1723. To połączenie TCP jest następnie wykorzystywane do inicjowania tunelu GRE i zarządzania nim do tego samego partnera. Format pakietu PPTP GRE jest niestandardowy i obejmuje nowe numeru potwierdzenia zastępujące typowe routing pole w nagłówku GRE. Jednakże, podobnie jak w przypadku normalnego połączenia GRE, zmodyfikowane pakiety GRE są bezpośrednio kapsułkowane w pakiety IP i postrzegane jako protokół IP o numerze 47. Tunel GRE służy do przenoszenia kapsułkowanych pakietów PPP, umożliwiając tunelowanie dowolnych protokołów, które mogą być przesyłane w obrębie PPP, w tym IP , NetBEUI i IPX .
W implementacji firmy Microsoft tunelowany ruch PPP może być uwierzytelniany za pomocą protokołów PAP , CHAP , MS-CHAP v1/v2 .
Bezpieczeństwo
PPTP był przedmiotem wielu analiz bezpieczeństwa i w protokole wykryto poważne luki w zabezpieczeniach. Znane luki dotyczą używanych protokołów uwierzytelniania PPP, konstrukcji protokołu MPPE , a także integracji uwierzytelniania MPPE i PPP w celu ustanowienia klucza sesji.
Podsumowanie tych luk znajduje się poniżej:
- MS-CHAP -v1 jest zasadniczo niepewny. Istnieją narzędzia do prostego wyodrębniania skrótów haseł NT z przechwyconej wymiany MSCHAP-v1.
- Podczas korzystania z protokołu MS-CHAP-v1 MPPE używa tego samego klucza sesji RC4 do szyfrowania w obu kierunkach przepływu komunikacji. Można to kryptoanalizować standardowymi metodami, łącząc XOR strumieni z każdego kierunku.
- MS-CHAP-v2 jest podatny na ataki słownikowe na przechwycone pakiety odpowiedzi na wyzwanie. Istnieją narzędzia umożliwiające szybkie przeprowadzenie tego procesu.
- W 2012 roku wykazano, że złożoność ataku brute-force na klucz MS-CHAP-v2 jest równoważna atakowi brute-force na pojedynczy klucz DES . Zademonstrowano również usługę online, która jest w stanie odszyfrować hasło MD4 MS-CHAP-v2 w ciągu 23 godzin.
- do szyfrowania używa szyfru strumieniowego RC4 . Nie ma metody uwierzytelniania strumienia zaszyfrowanego tekstu, dlatego też zaszyfrowany tekst jest podatny na atak polegający na odwracaniu bitów. Osoba atakująca może zmodyfikować przesyłany strumień i dostosować pojedyncze bity, aby zmienić strumień wyjściowy bez możliwości wykrycia. Te przesunięcia bitów mogą zostać wykryte przez same protokoły za pomocą sum kontrolnych lub w inny sposób.
EAP-TLS jest postrzegany jako najlepszy wybór uwierzytelniania dla PPTP; wymaga jednak wdrożenia infrastruktury klucza publicznego zarówno dla certyfikatów klienta, jak i serwera. W związku z tym może nie być realną opcją uwierzytelniania w przypadku niektórych instalacji dostępu zdalnego. Większość sieci korzystających z protokołu PPTP musi zastosować dodatkowe środki bezpieczeństwa lub zostać uznana za całkowicie nieodpowiednią dla współczesnego środowiska internetowego. Jednocześnie oznacza to w pewnym stopniu zanegowanie wspomnianych zalet protokołu.
Zobacz też
- IPsec
- Protokół tunelowania warstwy 2 (L2TP)
- Protokół bezpiecznego tunelowania gniazd (SSTP)
- OpenVPN , aplikacja typu open source implementująca VPN
- WireGuard , prosta i skuteczna implementacja VPN