PODSUMOWANIE: Usługi VPN korzystają z szyfrów i protokołów, aby przekształcić Twój ruch internetowy w niezrozumiały kod. W ten sposób uniemożliwiają podmiotom trzecim monitorowanie Twojej aktywności podczas przeglądania. Bezpieczny VPN nie powinien stosować żadnego szyfru słabszego od AES-256, aby ukryć Twoje dane.
Tunel VPN to po prostu bezpieczny kanał ustanowiony między Twoim urządzeniem a serwerem VPN, który stanowi prywatną ścieżkę poprzez publiczny Internet.
Nazywany jest tak, ponieważ szyfruje oryginalny ruch i zawija go w warstwę ruchu nieszyfrowanego.
To tak, jakby wziąć kopertę z listem w środku i umieścić ją w drugiej kopercie z nowym adresem. Twoja wiadomość staje się niemożliwa do odczytania dla każdego, kto mógłby ją przechwycić.
Proces ten nazywa się hermetyzacją i jest on wykonywany przez specjalne protokoły tunelowania.
Szyfrowanie VPN
Szyfrowanie przekształca jawny tekst w tajny kod, który mogą odczytać wyłącznie posiadacze klucza umożliwiającego jego odszyfrowanie.
VPN stosuje szyfrowanie, aby ukryć aktywność między Twoim urządzeniem a serwerem VPN, co chroni Cię przed różnymi formami inwigilacji.
Usługi VPN stosują szyfry, aby przekształcić Twoją aktywność online w niemożliwy do odczytania kod. Szyfr to matematyczny algorytm (zbiór reguł), który szyfruje i odszyfrowuje informacje, zwykle w połączeniu z kluczem o określonej długości.
Klucz to ciąg znaków używany do zmiany szyfrowanych danych. Tylko osoba, która ma ten sam klucz, może je odszyfrować.
Zasadniczo, dłuższy klucz zapewnia większe bezpieczeństwo. Przykładowo, AES-256 jest uważany za bezpieczniejszy od AES-128.
Niektóre protokoły VPN korzystają z kluczy statycznych zaprojektowanych do długotrwałego użytku, podczas gdy inne stosują klucze efemeryczne, które wygasają po jednej sesji bądź transakcji.
Jak działają szyfry:
- Szyfr korzysta z klucza, aby zaszyfrować dane przed ich wysłaniem.
- Ten sam lub powiązany klucz zostaje użyty do odszyfrowania danych po stronie odbiorcy.
- Tylko posiadacze odpowiedniego klucza mogą odszyfrować i przeczytać informacje.
Szyfr używany przez usługę VPN zwykle zależy od tego, w jakim stopniu jej twórcy priorytetyzują bezpieczeństwo ponad wydajność. Silniejsze szyfry wymagają raczej większej mocy obliczeniowej.
Z czasem pojawiają się też nowe szyfry, które są wdrażane przez usługi wyższej jakości.
Najpopularniejsze szyfry stosowane przez usługi VPN to:
- Advanced Encryption Standard (AES)
- Złoty standard szyfrowania online
- Dostępny w wersjach o 128 i 256-bitowej długości klucza
- AES-256 jest preferowany ze względu na silniejszą ochronę
- Uważany za odporny na ataki kwantowe
- Blowfish
- Zaprojektowany w 1993 roku, w dużej mierze zastąpiony przez AES-256
- Długość klucza to 128 bitów (możliwe zastosowanie od 32 do 448 bitów)
- Ma znane luki
- Używany jako rozwiązanie awaryjne dla AES-256
- ChaCha20
- Nowszy szyfr zyskujący na popularności
- Długość klucza to 256 bitów
- Poziom bezpieczeństwa porównywalny do AES-256
- Lepsza wydajność, zwłaszcza na urządzeniach mobilnych
- Camellia
- Stworzony w 2000 roku
- Bezpieczeństwo i prędkość porównywalne do AES
- Nie jest certyfikowany przez NIST
- Ograniczona dostępność w usługach VPN
Tryby szyfrowania określają, w jaki sposób szyfry takie jak AES szyfrują dane. Są one kluczowe dla bezpieczeństwa usług VPN, ponieważ mają wpływ zarówno na prywatność, jak i wydajność. Oto najpopularniejsze tryby stosowane przez usługi VPN:
- CBC (Cipher Block Chaining)
- Tradycyjny tryb
- Tworzy łańcuch zależnych bloków
- Może być wolniejszy od nowych trybów
- Wymaga dodatkowych zabezpieczeń
- GCM (Galois/Counter Mode)
- Zapewnia szyfrowanie i uwierzytelnianie
- Szybszy od CBC
- Uważany za bardzo bezpieczny
- Powszechnie stosowany przez nowoczesne usługi VPN
- CTR (Counter)
- Zmienia szyfr blokowy w szyfr strumieniowy
- Jest szybki i umożliwia równoległe przetwarzanie
- Nie oferuje samego uwierzytelniania
- Używany przez ChaCha20
- OCB (Offset Codebook Mode)
- Zapewnia uwierzytelnione szyfrowanie w jednym kroku
- Bardzo wydajny
- Ograniczona adopcja przez obawy dotyczące patentów
Innych trybów lepiej unikać w kontekście usług VPN. Zwłaszcza ECB (Electronic Codebook) jest zbyt prosty, aby mógł być bezpieczny. Z kolei CFB (Cipher Feedback) i OFB są podatne na błędną konfigurację ze względu na ich złożoność. Co więcej, są po prostu przestarzałe. Należy również unikać wszelkich trybów, które nie weryfikują integralności, chyba że są połączone z osobnym mechanizmem uwierzytelniania.
Obecnie większość renomowanych usług VPN stosuje GCM z AES lub kombinacją ChaCha20-Poly1305, ponieważ zapewniają one równowagę między bezpieczeństwem a wydajnością. Recenzując usługi VPN, szukamy tych nowoczesnych trybów szyfrowania z uwierzytelnianiem.
Protokoły VPN
Protokoły VPN to zbiory reguł i procesów stosowanych, aby nawiązać bezpieczne połączenie między Twoim urządzeniem a serwerem VPN.
Określają one sposób tworzenia i zarządzania tunelem VPN, podczas gdy szyfry zabezpieczają dane w tym tunelu.
Każdy protokół oferuje unikatowy zakres prędkości, bezpieczeństwa oraz kompatybilności. Większość usług VPN ma domyślny protokół, ale pozwala na jego zmianę w ustawieniach aplikacji.
Popularne protokoły VPN:
- OpenVPN: otwarty kod źródłowy, bardzo bezpieczny, wysoce kompatybilny i konfigurowalny.
- WireGuard: bardzo szybki i wydajny. Choć jest stosunkowo nowy, cieszy się rosnącą popularnością.
- IKEv2/IPsec: dobry dla urządzeń mobilnych dzięki szybkiemu ponownemu łączeniu, ale ma zamknięty kod źródłowy i prawdopodobnie został złamany.
- SoftEther: szybki, bezpieczny, omija cenzurę, ale nie jest oferowany przez wiele usług.
- L2TP/IPsec: wolniejszy i prawdopodobnie został złamany.
- SSTP: dobrze radzi sobie z zaporami sieciowymi, ale ma zamknięty kod źródłowy i jest potencjalnie podatny na ataki.
- PPTP: przestarzały i niebezpieczny, lepiej go unikać.
Aby dowiedzieć się więcej na temat protokołów VPN, sprawdź nasz przewodnik po protokołach VPN.
Uzgadnianie VPN
Uzgadnianie VPN jest kluczowe dla inicjowania bezpiecznych połączeń. Dany proces obejmuje:
- Uwierzytelnianie: weryfikację tożsamości oprogramowania klienckiego VPN i serwera.
- Wymianę kluczy: bezpieczne udostępnienie kluczy szyfrowania dla sesji.
- Negocjację parametrów: uzgodnienie zasad komunikacji oraz szyfrów.
Podczas uzgadniania Twoje urządzenie i serwer VPN wymieniają się informacjami, aby ustanowić bezpieczny kanał. Wynikiem tej wymiany jest współdzielony tajny klucz używany do szyfrowania i odszyfrowywania danych przez całą sesję VPN.
W procedurze uzgadniania VPN zazwyczaj wykorzystywany jest algorytm RSA (Rivest-Shamir-Adleman). RSA stanowi podstawę bezpieczeństwa internetowego od dwóch dekad.
Aby zapewnić sobie adekwatny poziom bezpieczeństwa, wybierz usługę VPN z RSA-2048 lub RSA-4096. RSA-1024 nie jest już uważany za bezpieczny, biorąc pod uwagę dostępną obecnie moc obliczeniową.
Choć zasadniczo jest bezpieczny, proces uzgadniania generuje „klucz główny”, który potencjalnie może odszyfrować wszystkie sesje na danym serwerze, jeśli zostanie przejęty.
W takiej sytuacji haker może włamać się na serwer VPN i uzyskać dostęp do wszystkich danych przesyłanych przez tunel VPN.
Aby tego uniknąć, zalecamy korzystanie z usług VPN, które oferują funkcję doskonałego utajniania z wyprzedzeniem (ang. Perfect Forward Secrecy).
Doskonałe utajnianie z wyprzedzeniem
Diagram wyjaśniający, jak działa perfekcyjne utajnianie z wyprzedzeniem
Utajnianie z wyprzedzeniem to funkcja protokołu, która wykorzystuje algorytm wymiany kluczy Diffie-Hellman (DH) lub Elliptic Curve Diffie-Hellman (ECDH) do generowania tymczasowych kluczy sesji.
Utajnianie z wyprzedzeniem zapewnia, że w trakcie połączenia nigdy nie jest wymieniany klucz szyfrujący.
Kluczowe zalety perfekcyjnego utajniania z wyprzedzeniem:
- Niezależne generowanie kluczy: zarówno serwer VPN, jak i oprogramowanie klienckie niezależnie uzyskują ten sam klucz szyfrowania bez konieczności jego wymiany.
- Izolacja sesji: każde połączenie korzysta z unikatowego klucza, co minimalizuje potencjalne szkody w razie naruszenia jednej z sesji.
- Zabezpieczenie tymczasowe: klucze są tymczasowe i usuwane po użyciu, co uniemożliwia odszyfrowanie jakichkolwiek przechwyconych danych w przyszłości.
Choć RSA to ważny element uwierzytelniania, nie jest w stanie samodzielnie zapewnić perfekcyjnego utajniania z wyprzedzeniem. Wdrożenie perfekcyjnego utajniania z wyprzedzeniem wymaga dodania DH lub ECDH do pakietu szyfrów. ECDH oferuje solidne zabezpieczenie uzgadniania, podczas gdy DH powinien być używany tylko w połączeniu z innymi środkami ze względu na możliwe luki w zabezpieczeniach.
Dwa protokoły VPN, które zawsze polecamy naszym czytelnikom – OpenVPN i WireGuard – obsługują utajnianie z wyprzedzeniem.
Uwierzytelnianie z algorytmem haszującym SHA
Secure Hash Algorithms (SHA) to kluczowy element zabezpieczeń usług VPN, ponieważ:
- Weryfikuje integralność danych podczas transmisji
- Uwierzytelnia połączenia klient – serwer
- Zapobiega nieupoważnionemu modyfikowaniu danych
SHA używa funkcji haszującej, aby zmienić dane źródłowe w ciąg znaków o określonej długości znany jako wartość skrótu. Jest to proces jednokierunkowy, którego nie można cofnąć; zmiana nawet jednego znaku w danych wejściowych drastycznie zmienia dane wyjściowe.
Oto jak działa w komunikacji VPN:
- Nadawca zastosowuje na danych uzgodnioną wcześniej funkcję haszującą.
- Odbiorca generuje skrót z otrzymanych danych za pomocą tej samej funkcji.
- Jeśli wygenerowany skrót jest taki sam jak wysłany, integralność danych zostaje potwierdzona.
- Różne skróty wskazują na potencjalną ingerencję i dane zostają odrzucone.
Uwierzytelnianie z algorytmem haszującycm SHA zapobiega atakom man-in-the-middle, wykrywając ingerencję w certyfikat, co uniemożliwia hakerom podszycie się pod faktyczny serwer VPN.
Aby zapewnić sobie maksymalne bezpieczeństwo, zalecamy korzystanie z usług VPN, które używają szyfrowania SHA-2 lub lepszego. SHA-1 ma pewne słabości, które mogą zagrażać bezpieczeństwu.