Przeglądając testy, recenzje oraz oferty usług VPN trafiamy często na listę protokołów, z jakich będziemy mogli korzystać. Bardzo często osobom niezorientowanym w kwestiach technicznych nazwy takie jak PPTP, L2TP/IPSec, SSTP, IKEv2 czy OpenVPN zbyt wiele nie mówią. Czy są wspierane przez mój system lub urządzenie mobilne? Jak zachowują się przy zmianie sieci? Jaki poziom bezpieczeństwa mogą mi zapewnić? Jest to kwestia o tyle istotna, gdyż to właśnie od wyboru odpowiedniego protokołu VPN w dużej mierze zależy jakość połączenia, bezpieczeństwo i prywatność jaką zapewni nam VPN. W tym tekście postaramy się przybliżyć i wyjaśnić, najważniejsze cechy poszczególnych protokołów używanych do konfiguracji serwerów VPN.
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 i jak działa protokół VPN?
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 najnowszy, 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ą
Podsumowanie
Jeżeli zależy Ci na maksymalnej ochronie i zabezpieczeniu prywatności to oczywistym wyborem protokołu będzie OpenVPN. 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.