Protokoły VPN: PPTP, L2TP/IPSec, IKEv2, SSTP, OpenVPN – porównanie

Porównanie protokołów VPN

W dzisiejszym cyfrowym świecie, gdzie ochrona prywatności i bezpieczeństwo danych są na wagę złota, kluczowe staje się zrozumienie i wybór właściwego protokołu VPN. Podczas poszukiwania idealnej usługi VPN, często napotykamy na nazwy protokołów VPN takie jak PPTP, L2TP/IPSec, SSTP, IKEv2, OpenVPN czy WireGuard. Dla wielu osób, niezaznajomionych z technologiami sieciowymi, mogą one wydawać się zagadkowe i skomplikowane.

Jakie są różnice między tymi protokołami? Czy są one kompatybilne z Twoim systemem operacyjnym i urządzeniami mobilnymi? Jak wpływają na bezpieczeństwo i prywatność Twoich danych? Wybór odpowiedniego protokołu VPN ma kluczowe znaczenie dla jakości połączenia, bezpieczeństwa i prywatności, które zapewnia usługa VPN. W tym artykule dokładnie przyjrzymy się i wyjaśnimy najważniejsze aspekty każdego z tych protokołów VPN, aby pomóc Ci dokonać świadomego wyboru.

Czym jest protokół komunikacyjny?

Zanim przejdziemy do opisu i porównania protokołów VPN, należy wyjaśnić czym tak właściwie jest protokół komunikacyjny i za co odpowiada w przypadku Internetu. Można go zdefiniować jako grupę ściśle określonych reguł i zasad, których wykonanie w odpowiedniej kolejności umożliwia wymianę informacji pomiędzy dwoma urządzeniami. Dla każdego protokołu ustalony jest standard, który w pełni definiuje wszystkie operacje związane z jego przebiegiem.

Codzienne korzystanie z Internetu opiera się o pracę wielu różnych protokołów, które odpowiadają za wymianę informacji. Na pewno obiły Ci się o uszy takie nazwy jak HTTP, HTTPS, FTP, POP3, SMTP, IMAP, IP, TCP czy UDP – to tylko niektóre z protokołów, z których korzystasz na co dzień.

Co to jest protokół VPN i jak działa?

Działanie VPN wymaga określonych protokołów do poprawnej pracy. Protokoły VPN to zbiory określonych reguł i zasad, które pozwalają one uwierzytelnianie użytkownika, szyfrowanie danych, ich bezpieczny przesył oraz odbiór z miejsca docelowego. Pomiędzy protokołami, w oparciu o które funkcjonuje większość VPN-ów występują pewne różnice, które postaramy się przybliżyć. Niektóre cechy protokołów VPN, w zależności od potrzeb i oczekiwań co do usługi, mogą dla niektórych użytkowników okazać się wadą, a dla innych zaletą.

Na początek wyjaśnimy również dwa istotne pojęcia, które będą przewijać się w trakcie tekstu, a mianowicie długość klucza i algorytm szyfrujący.

Długość klucza

Długość klucza to ilość bitów używanych przez algorytm szyfrujący. W języku nietechnicznym jest to długość informacji (ciągu znaków), która jest używana przez algorytm szyfrujący do zaszyfrowania oraz odszyfrowania wiadomości. Długość klucza określa poziom bezpieczeństwa algorytmu. Im klucz jest dłuższy, tym algorytm lepiej chroni zaszyfrowaną wiadomość (dłuższy klucz wymaga więcej mocy obliczeniowej komputera do jego złamania). Należy również wspomnieć, że im klucz jest dłuższy, tym zaszyfrowanie i odszyfrowanie informacji zajmuje więcej czasu.

Najczęściej spotykane długości klucza to 128, 192 i 256-bitów. Co prawda klucze o długości 128 bitów są przy obecnie dostępnych zasobach mocy obliczeniowej uznawane za niemożliwe do złamania, to jednak coraz więcej osób związanych z tematyką bezpieczeństwa sugeruje korzystanie z kluczy 256-bitowych. Niewątpliwą zaletą krótszych kluczy jest szybsze szyfrowanie i deszyfrowanie danych, jednak odbywa się to kosztem bezpieczeństwa.

Algorytm szyfrujący

Algorytm szyfrujący to mechanizm matematyczny, dzięki któremu informacja zostaje zaszyfrowana przy pomocy klucza szyfrującego. W większości VPN-ów najczęściej spotykanym algorytmem do szyfrowania informacji jest AES (Advanced Encryption Standard), do uwierzytelniania używa się funkcji skrótu SHA–1 lub SHA–2 (pozwala na wygenerowanie krótkiego ciągu znaków, który pozwala na weryfikację czy przesyłana zawartość nie została zmodyfikowana), a szyfrowanie kluczy odbywa się przy pomocy algorytmu RSA. Algorytm AES jest obecnie uznawany za najbardziej bezpieczny i jest swego rodzaju standardem.

W opisie oferty VPN-a lub konfiguracji aplikacji często można znaleźć następujące parametry

  • Data encryption: AES–256
  • Data authentication: SHA–1
  • Handshake: RSA–4096

Oznacza to, że VPN do szyfrowania danych używa algorytmu AES o długości klucza klucza 256 bitów, funkcji skrótu SHA–1, a szyfrowanie i odszyfrowanie kluczy odbywa się przy pomocy algorytmu RSA–4096.

Protokół PPTP

PPTP to rozwinięcie Point-to-Point Tunneling Protocol. Jest to podstawowy protokół umożliwiający połączenie za pośrednictwem VPN. Korzystanie z PPTP nie jest obecnie zalecane. Jest uznany za protokół złamany i nie gwarantuje bezpieczeństwa.

Standard protokołu PPTP został opracowany w 1999 roku przez grupę firm technologicznych pod przewodnictwem Microsoftu, a co za tym idzie system Windows obsługuje go począwszy od wersji Windows 98 oraz NT. Dzięki swojej prostocie działania oraz implementacji, był to protokół, który przez pewien czas był obsługiwany przez praktycznie wszystkie systemy i urządzenia. Jego domyślna dostępność na systemach i urządzeniach zostaje jednak powoli wycofywana (najnowsze wersje systemów Apple – macOS Sierra i iOS 10 nie obsługują już PPTP).

Niestety prostota i powszechność nie idzie w parze z bezpieczeństwem. Sam Microsoft odradza stosowanie tego protokołu. Jeżeli na poważnie myślimy o bezpieczeństwie w sieci, to zdecydowanie lepiej wybrać bezpieczniejsze protokoły jak OpenVPN, L2TP/IPsec, IKEv2 czy SSTP do łączenia się z VPN.

W przypadku PPTP szyfrowanie odbywa się przy pomocy MPPE (Microsoft Point-to-Point Encryption), w oparciu o 128-bitowy algorytm RC4, za uwierzytelnianie natomiast odpowiadać może MS-CHAP v2 lub EAP-TLS.

Zalety:

  • najszybszy protokół, prostota mało wpływa na prędkość połączenia
  • prosty w działaniu, konfiguracji i uruchomieniu
  • domyślnie dostępny na większości systemów i urządzeń

Wady:

  • brak mocnego, bezpiecznego szyfrowania
  • złamany

Protokół L2TP/IPSec

L2TP/IPSec to połączenie dwóch odrębnych protokołów, które razem umożliwiają nawiązanie bezpiecznego i szyfrowanego połączenia VPN. L2TP (Layer 2 Tunneling Protocol) samodzielnie nie zapewnia szyfrowania oraz bezpieczeństwa transmisji danych, służy jedynie do nawiązania połączenia i transmisji danych. Do szyfrowania i uwierzytelniania potrzebny jest dodatkowy zestaw protokołów. W związku z tym L2TP najczęściej występuje w parze z IPSec, zbiorem protokołów odpowiedzialnych za uwierzytelnianie i szyfrowanie pakietów przesyłanych przy pomocy L2TP. Rola L2TP to stworzenie tunelu między dwoma punktami, natomiast IPSec zapewnia bezpieczeństwo, szyfrując przesyłane dane.

L2TP/IPSec operuje na porcie UDP 500, przez co łatwiej może zostać zablokowany przez firewall, niż ma to miejsce w przypadku protokołów dających możliwość wyboru, na jakim porcie mają operować lub łączących się przez port 443 (odpowiadający za SSL). Może to być poważną wadą tego protokołu, jeżeli nasz dostawca internetu blokuje VPN lub gdy chcemy zamaskować korzystanie z tego rodzaju usługi. L2TP/IPSec jest czasami jedyną opcją na korzystanie z VPN w przypadku starych systemów i urządzeń, na których nie mamy możliwości uruchomienia połączenia w oparciu o nowsze i lepsze rozwiązania jak IKEv2 czy OpenVPN.

W kwestii szyfrowania, L2TP/IPSec umożliwia zabezpieczenie transmisji danych przy pomocy algorytmów AES–256, AES–192, AES–128 lub 3DES, więc zapewnia wysoki standard zabezpieczeń.

L2TP/IPSec jest uznawany za protokół bezpieczny. Jednak wraz z informacjami ujawnionymi przez Edwarda Snowdena i ostatnimi wyciekami danych z CIA, istnieją pewne podejrzenia, że IPSec mógł zostać złamany lub wywierano naciski aby, go celowo osłabić. Do dzisiaj nie zostało to potwierdzone i wciąż jest w sferze spekulacji, ale warto mieć to na uwadze.

Zalety

  • bezpieczny
  • szybki
  • łatwy w konfiguracji
  • powszechnie dostępny na większości systemów, przez co nie wymaga instalacji dodatkowych aplikacji do obsługi

Wady:

  • istnieją podejrzenia, że odpowiadający za bezpieczeństwo IPSec mógł zostać złamany przez NSA
  • działa na porcie UDP 500, przez co trudniej ukryć korzystanie z niego i może zostać łatwo zablokowany przez firewalle

Protokół IKEv2

IKEv2 (Internet Key Exchange version 2) został opracowany wspólnie przez Microsoft oraz Cisco. Podobnie jak L2TP/IPSec, IKEv2 opiera się o IPSec w celu zapewnienia szyfrowania i bezpieczeństwa przesyłanym danym. Jest drugą wersją protokołu IKE, ze znacznymi ulepszeniami i usprawnieniami w stosunku do swojego poprzednika. Istnieją wiele implementacji IKEv2 opartych o open-source jak np. OpenIKEv2. Podobnie jak L2TP/IPSec, IKEv2 operuje na porcie UDP 500 więc może zostać łatwo zablokowany przez firewalle.

Zapewniane przez IPSec szyfrowanie pozwala na zabezpieczenie przesyłanych danych przy pomocy algorytmów AES–256, AES–192, AES–128 lub 3DES. Poziom szyfrowania jest mocny, ale jak zostało wspomniane wcześniej, istnieją wątpliwości co do bezpieczeństwa IPSec.

IKEv2 umożliwia stałe podtrzymywanie połączenia z VPN dzięki MOBIKE. Jest to szczególnie przydatne w przypadku urządzeń mobilnych, które mogą chwilowo tracić połączenie lub zmieniać sieć (np. z Wi-Fi na 3G).

IKEv2 jest dostępny na systemach Windows począwszy od wersji Windows 7, a w przypadku produktów Apple, na systemie macOS oraz iOS. Jeżeli korzystamy z Androida, musimy zainstalować odpowiednią aplikację, która umożliwi łączenie się za pomocą tego protokołu.

Zalety:

  • bezpieczny
  • stabilny
  • szybki
  • prosty w konfiguracji po stronie użytkownika

Wady:

  • działa na porcie UDP 500, przez co trudniej ukryć korzystanie z niego i może zostać zablokowany przez firewalle
  • istnieją wątpliwości co do bezpieczeństwa IPSec

Protokół SSTP

Protokół SSTP (Secure Socket Tunneling Protocol) został stworzony w całości przez Microsoft i po raz pierwszy umieszczony w systemie operacyjnym Windows Vista. Pomimo tego, że jest to technologia firmy Microsoft (co można uznać i za zaletę i wadę), to są dostępne aplikacje obsługujące SSTP zarówno na Linuxa jak i system Apple. Na komputerach obsługiwanych przez systemy produkcji Microsoftu, z SSTP skorzystamy posiadając system Windows Vista SP1 lub nowszy, bez konieczności instalacji dodatkowych programów.

Domyślnie, połączenie oparte o protokół SSTP używa do komunikacji SSL/TLS na porcie TCP 443, dzięki czemu może przejść przez większość firewalli, które blokują działanie VPN. Za szyfrowanie odpowiada SSL, a do uwierzytelniania używany jest mechanizm EAP-TLS lub MS-CHAP. Niestety, w odróżnieniu od OpenVPN, SSTP nie posiada otwartego źródła i nie ma pewności czy nie zostały umieszczone w nim tylne furtki.

Zalety:

  • bezpieczny
  • dostępny na systemach Windows począwszy od Windows Vista SP1 bez konieczności instalacji dodatkowego oprogramowania
  • wspierany przez Microsoft
  • może ominąć większość firewalli

Wady:

  • stworzony i rozwijany przez Microsoft, brak otwartego źródła i możliwości zewnętrznego audytu
  • działa głównie w środowisku Windows (konieczna instalacja zewnętrznych aplikacji na innych systemach)

Protokół OpenVPN

OpenVPN to oparty w pełni o rozwiązania open-source protokół umożliwiający łączenie się z VPN. Jego podstawowa funkcjonalność opiera się o bibliotekę OpenSSL i protokoły SSLv3 oraz TLSv1. W odróżnieniu od IKEv2 i L2TP/IPSec, do szyfrowania nie jest wykorzystywany IPSec, tylko wspomniany wcześniej SSL i TLS. OpenVPN może zostać skonfigurowany do pracy na dowolnym porcie, w tym również TCP 443, a więc porcie na którym działa SSL. Pozwala to na maskowanie tego, że łączymy się poprzez VPN i ominięcie firewalli, które mogą blokować połączenie VPN.

Dzięki temu, że OpenVPN opiera się o bibliotekę OpenSSL, może wykorzystywać do szyfrowania wszystkich dostępnych w niej algorytmów jak np. AES, 3DES, RC5 czy Blowfish, co daje duże możliwości konfiguracji. Najczęściej spotykanym rozwiązaniem jest zastosowanie algorytmu AES, który jest obecnie uznawany za najbezpieczniejszy. Uwierzytelnianie może odbywać się przy pomocy kluczy, certyfikatów lub nazwy użytkownika i hasła.

Podczas korzystania z OpenVPN najczęściej do wyboru będziemy mieli szyfrowanie przy pomocy algorytmu AES–256 bit lub AES–128 bit. Pierwsza opcja jest bezpieczniejsza, ale nieco wolniejsza od szyfrowania z kluczem długości 128 bitów.

OpenVPN nie jest dostępny domyślnie na żadnym system, ale obsługujące go aplikacje istnieją na praktycznie wszystkie systemy: Windowsa począwszy od XP, macOS, Solaris, Linux, OpenBSD, FreeBSD, NetBSD i QNX. W przypadku urządzeń mobilnych, możemy zainstalować aplikacje klienckie na iOS i Androida. OpenVPN może zostać również skonfigurowany do pracy na wybranych routerach, dzięki czemu cała sieć będzie łączyła się za pośrednictwem VPN-a i nie będzie konieczna konfiguracja na poszczególnych urządzeniach.

Większość dostawców VPN opiera swoje własne aplikacje klienckie właśnie o OpenVPN. Domyślna aplikacja OpenVPN jest mało przyjazna w konfiguracji, gdyż oprócz samego programu należy jeszcze od dostawcy usługi pobrać odpowiednie pliki konfiguracyjne, co mniej zaawansowanym użytkownikom może sprawić trudność. Dlatego też większość dostawców VPN daje możliwość pobrania przyjaznej użytkownikowi i prostej w obsłudze własnej aplikacji oraz opcjonalnie odpowiednich danych i plików konfiguracyjnych do oryginalnej aplikacji OpenVPN.

Nic nie wskazuje na to, żeby jakiekolwiek rozwiązania wykorzystywane w OpenVPN do zabezpieczenia połączenia zostały na chwilę obecną złamane i póki co pozostaje on najbezpieczniejszym ze wszystkich dostępnych protokołów VPN.

Zalety

  • otwarty kod źródłowy
  • bardzo bezpieczny
  • pozwala na szeroki wybór algorytmów szyfrujących
  • daje duże możliwości konfiguracji

Wady:

  • konfiguracja (jeżeli nie użyjemy aplikacji dostarczonej przez dostawcę VPN) jest o wiele bardziej wymagająca niż w przypadku innych protokołów
  • aby z niego korzystać trzeba zainstalować dodatkową aplikację kliencką

Protokół WireGuard

WireGuard, będący najnowszym dodatkiem do powiększającego się zbioru protokołów sieci VPN, stanowi znaczący przełom w dziedzinie bezpieczeństwa cyfrowego. Działa jako oprogramowanie typu open-source. Zaprojektowany z myślą o usprawnieniu dotychczasowych rozwiązań zapewnianych przez IPSec oraz OpenVPN, WireGuard ma za zadanie oferować szybszą, bardziej intuicyjną i efektywną obsługę.

Jego debiut na rynku zrewolucjonizował działanie sieci VPN i zdobył szybko uznanie w międzynarodowym środowisku specjalistów ds. cyberbezpieczeństwa. To z kolei spowodowało, że większość dostawców usług VPN niemalże natychmiast włączyło WireGuard do swojej oferty, czyniąc go fundamentem ich aplikacji i infrastruktury serwerowej. W wielu przypadkach WireGuard zastąpił OpenVPN jako preferowany protokół.

Innowacje wprowadzone w WireGuard obejmują najnowsze technologie kryptograficzne i zaawansowane metody szyfrowania. Zapewniają wyjątkowo wysoki poziom bezpieczeństwa i stabilności połączeń VPN, zarówno po stronie klienta jak i serwera. Te rozwiązania nie tylko zwiększają wydajność, ale również minimalizują potencjalne ryzyka, czyniąc WireGuard jednym z najbardziej obiecujących i zaawansowanych protokołów VPN.

Zalety

  • otwarty kod źródłowy
  • bardzo szybki i wydajny
  • duże bezpieczeństwo
  • prostota w implementacji

Wady

Protokoły VPN – podsumowanie

Jeżeli zależy Ci na maksymalnej ochronie i zabezpieczeniu prywatności to oczywistym wyborem protokołu będzie OpenVPN oraz WireGuard. Z pozostałych protokołów, po OpenVPN w naszej ocenie najlepiej wypada IKEv2, którego prostota użycia dla użytkownika, brak konieczności instalacji dodatkowych aplikacji i duży stopień bezpieczeństwa zapewniają również skuteczną ochronę w Internecie. L2TP/IPSec i SSTP nie są złe, ale dwa wymienione wcześniej protokoły robią to znacznie lepiej.

Nie korzystaj z PPTP jeżeli chcesz chronić swoją prywatność w sieci i bezpiecznie z niej korzystać – jest to protokół, który nie jest uznawany za bezpieczny. No chyba, że VPN jest Ci potrzebny jedynie do zmiany IP żeby obejrzeć np. film zablokowany w kraju w którym przebywasz, wtedy stopień bezpieczeństwa protokołu VPN nie ma większego znaczenia.

Zajrzyj również do naszego porównania VPN – bez problemu znajdziesz w nim dostawcę VPN spełniającego wszystkie Twoje kryteria.