Zastrzeżenie: Serwis Top10VPN ma pełną niezależność redakcyjną. Możemy otrzymać prowizję, jeśli kupisz VPN za na naszej stronie.

Jak działa VPN? Czym jest szyfrowanie i tunelowanie VPN

JP Jones – CTO w Top10VPN

JP Jones jest naszym dyrektorem ds. technicznych (CTO). Ma ponad 25 lat doświadczenia w inżynierii oprogramowania i sieci. Nadzoruje wszystkie aspekty techniczne procesu testowania usług VPN.

Weryfikacja: Simon Migliano

Usługa VPN tworzy zaszyfrowany wirtualny tunel między Twoim urządzeniem a zdalnym serwerem VPN. Tego rodzaju bezpieczne połączenie pomiędzy Tobą a publicznym Internetem pozwala ukryć Twój adres IP i lokalizację, a także chroni Twoją aktywność w sieci przed monitorowaniem z zewnątrz.

Sposób działania wirtualnej sieci prywatnej (VPN)

Oprogramowanie VPN kieruje Twój ruch internetowy do zdalnego serwera przez zaszyfrowany tunel.

Wirtualna sieć prywatna (VPN) to cenne narzędzie chroniące Twoją prywatność, bezpieczeństwo i wolność w Internecie.

W tym przewodniku wyjaśniamy, jak oprogramowanie VPN ukrywa Twój publiczny adres IP i szyfruje połączenie internetowe.

Jeśli bardziej interesuje Cię, co możesz zrobić przy pomocy usługi VPN, przeczytaj nasz przewodnik wyjaśniający, do czego służy VPN.

Szybkie podsumowanie: jak działa VPN

VPN szyfruje Twoje połączenia z siecią i przekierowuje je przez zdalny serwer VPN.

Oto co dzieje się z Twoim ruchem internetowym, gdy korzystasz z VPN-u:

  1. Pobierasz, instalujesz i włączasz aplikację VPN na swoim komputerze, smartfonie lub telewizorze.
  2. W przeglądarce wpisujesz adres strony, którą chcesz otworzyć (np. strona.com).
  3. Oprogramowanie VPN na Twoim urządzeniu szyfruje żądanie połączenia. Dzięki temu lokalizacja i treść Twojego żądania są niezrozumiałe dla podglądających je osób.
  4. Dane dotyczące Twojego połączenia trafiają do wybranego przez Ciebie serwera VPN, gdzie są odszyfrowywane.
  5. Serwer VPN łączy się ze stroną internetową w Twoim imieniu, a strona wysyła żądane informacje z powrotem do serwera VPN.
  6. Dane te są szyfrowane przez serwer VPN i przekazywane do Twojego urządzenia.
  7. Twoja aplikacja VPN odszyfrowuje otrzymane informacje, a żądana strona internetowa pojawia się w Twojej przeglądarce.

W ten sposób VPN pozwala Ci zamaskować swój adres IP na odwiedzanych stronach internetowych.

Ponadto oprogramowanie VPN umożliwia ukrycie swojej aktywności w sieci przed dostawcą usług internetowych, administratorem sieci Wi-Fi, rządem lub innymi osobami monitorującymi Twoje połączenie.

Choć wszystkie programy VPN są w pewnym stopniu podobne, mamy tu na myśli przede wszystkim osobiste lub tzw. konsumenckie usługi VPN.

Aby dowiedzieć się, jak działają sieci VPN zdalnego dostępu oraz site-to-site, przejdź do naszego przewodnika po rodzajach usług VPN.

Czym jest tunel VPN?

Tunel VPN to popularne określenie tego, co dzieje się po skonfigurowaniu połączenia VPN. W uproszczeniu jest to zaszyfrowana komunikacja między Twoim urządzeniem a serwerem VPN.

Komunikacja ta jest nazywana tunelem, ponieważ oryginalny ruch jest szyfrowany i zawijany 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ę całkowicie ukryta przed światem zewnętrznym – tak jakby była w tunelu.

Proces ten nazywa się hermetyzacją i jest on wykonywany przez specjalne protokoły tunelowania.

Dowiedz się więcej o protokołach tunelowania w sekcji na temat szyfrowania VPN poniżej lub w naszym specjalnym przewodniku omawiającym protokoły VPN.

Jak VPN ukrywa Twój adres IP?

Kiedy przeglądasz Internet bez VPN-u, Twoje połączenie przechodzi bezpośrednio z Twojego urządzenia do serwera, na którym znajduje się wybrana przez Ciebie strona lub usługa.

Aby wysłać do Ciebie odpowiednie treści, serwer musi znać Twój adres IP.

Zasadniczo Twój adres IP to Twój paszport w Internecie. Jest to unikatowy identyfikator, który mówi innym komputerom, gdzie mają wysyłać informacje, aby mogły do Ciebie dotrzeć.

Użyj naszego narzędzia do sprawdzania adresu IP, aby znaleźć swój publiczny adres IP.

Z adresem IP wiąże się wiele informacji osobistych. Ujawnia on Twoją lokalizację geograficzną i może być wykorzystany do stworzenia ogólnego obrazu Twojej aktywności w sieci.

Z tego powodu wiele osób decyduje się na ukrywanie adresu IP za pomocą usługi VPN.

Kiedy przeglądasz strony internetowe z włączoną siecią VPN, Twoje połączenie zawsze wędruje do zdalnego serwera VPN, zanim trafi na serwer, na którym znajduje się wybrana przez Ciebie strona lub usługa.

Kiedy serwer internetowy wysyła informacje z powrotem do Ciebie, przesyła je do serwera VPN, który następnie przekazuje je dalej. Oznacza to, że odwiedzane przez Ciebie witryny nigdy nie mają kontaktu z Twoim prawdziwym adresem IP.

schemat pokazujący, jak VPN ukrywa Twój adres IP przed stroną internetową, którą odwiedzasz

Strony internetowe, które odwiedzasz, widzą jedynie żądanie połączenia pochodzące z serwera VPN i to do niego wysyłają informacje.

PODSUMOWANIE: VPN działa jako pośrednik między Twoim urządzeniem a Internetem. Kiedy przeglądasz sieć za pomocą VPN-u, odwiedzane przez Ciebie strony widzą adres IP serwera VPN, z którym się łączysz, a nie Twój pierwotny adres IP.

WSKAZÓWKA EKSPERTA: Dobre usługi VPN mają serwery w wielu krajach. Korzystając z nich, możesz przekonać odwiedzane witryny, że znajdujesz się w innym kraju, niż w rzeczywistości. W ten sposób będziesz w stanie odblokować „ukryte” treści na platformach streamingowych, takich jak Netflix.

Jak VPN szyfruje i zabezpiecza Twoje dane?

Szyfrowanie to proces zmiany jawnego tekstu w tajny kod zrozumiały tylko dla kogoś, kto wie, jak go odczytać.

Celem szyfrowania jest uniemożliwienie osobom niepowołanym dostępu do Twoich wiadomości.

Sieci VPN używają szyfrowania, aby ukryć szczegóły dotyczące Twojej aktywności w Internecie przesyłane między Twoim urządzeniem a serwerem VPN.

Korzystanie z VPN zapobiega szpiegowaniu Twojego połączenia przez dostawców usług internetowych, rządy, administratorów sieci Wi-Fi, hakerów i inne wścibskie osoby trzecie.

Jak to właściwie działa? Jak VPN szyfruje i zabezpiecza Twoje dane?

W dalszej części tej sekcji przyjrzymy się bliżej różnym komponentom i procesom składającym się na szyfrowanie VPN, zaczynając od szyfrów.

Szyfry

Aplikacja Private Internet Access pokazuje, jak można dostosować ustawienia szyfrowania VPN.

Aby przekształcić Twoją aktywność w sieci w niezrozumiały kod, VPN musi zastosować szyfr.

Szyfr to po prostu algorytm (czyli zbiór reguł), który szyfruje i odszyfrowuje dane.

PRZYKŁAD: bardzo prosty szyfr może zaszyfrować Twoje dane, stosując zasadę „zamiany każdej litery we wiadomości na literę poprzedzającą ją w alfabecie”. W ten sposób słowo prywatny zmieni się w oqxuzsmx.

Szyfry są zwykle łączone z kluczem o określonej długości. Zasadniczo, im dłuższy klucz, tym bezpieczniejsze szyfrowanie. Na przykład AES-256 jest uważany za bardziej bezpieczny niż AES-128.

Najczęściej stosowane przez usługi VPN szyfry to:

1. Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) to jeden z najbezpieczniejszych szyfrów. Stanowi złoty standard protokołów szyfrowania w Internecie i jest szeroko stosowany w branży VPN.

AES został opracowany przez amerykański Narodowy Instytut Standardów i Technologii (NIST) w 2001 roku i jest czasem znany jako algorytm Rijndael. Został zaprojektowany do obsługi większych plików niż inne szyfry, takie jak Blowfish, ze względu na zwiększony rozmiar bloku.

AES jest zwykle dostępny w wersjach o 128 i 256-bitowej długości klucza. Chociaż AES-128 jest nadal uważany za bezpieczny, wiemy, że organizacje takie jak NSA zawsze testują możliwości aktualnych standardów szyfrowania. W związku z tym preferowany jest AES-256, ponieważ prawdopodobnie zapewnia znacznie lepszą ochronę.

Gdy na stronie internetowej usługi VPN czytasz o szyfrowaniu „klasy wojskowej” lub „klasy bankowej”, zazwyczaj odnosi się to do zastosowania AES-256. Rząd Stanów Zjednoczonych używa szyfrowania AES-256 do zabezpieczenia swoich poufnych danych. Zdecydowanie zwracamy na to uwagę podczas testowania i recenzowania usług VPN.

2. Blowfish

Blowfish to szyfr zaprojektowany przez amerykańskiego kryptografa Bruce’a Schneiera w 1993 r. Był to domyślny szyfr używanym w większości połączeń VPN. Obecnie został jednak w dużej mierze zastąpiony przez AES-256.

Zazwyczaj spotyka się klucze Blowfish o długości 128 bitów, ale mogą mieć od 32 do 448 bitów.

Blowfish ma pewne słabości. Najbardziej znaną jest podatność na atak kryptograficzny znany jako „atak urodzinowy”. Z tego powodu Blowfish powinien być używany tylko jako rozwiązanie awaryjne dla AES-256.

3. ChaCha20

ChaCha20, opublikowany w 2008 roku przez Daniela Bernsteina, jest stosunkowo nowym algorytmem szyfrowania VPN. Mimo to staje się coraz bardziej popularny, ponieważ jako jedyny jest kompatybilny z nowym protokołem WireGuard.

Podobnie jak AES, ChaCha20 używa klucza o długości 256 bitów, który jest uważany za bardzo bezpieczny. Raporty sugerują również, że ChaCha20 jest do trzech razy szybszy niż AES.

Obecnie nie są znane żadne luki w ChaCha20. Mając na uwadze, że w niedalekiej przyszłości technologie szyfrowania będą musiały stawić czoła komputerom kwantowym, algorytm stanowi wyczekiwaną alternatywę dla AES.

4. Camellia

Camellia jest algorytmem szyfrującym bardzo podobnym do AES zarówno pod względem bezpieczeństwa, jak i szybkości działania. Uważa się, że przy obecnej technologii, nawet z krótszym kluczem (128-bitowym) złamanie go za pomocą ataku brute-force jest niemożliwe. Nie są znane żadne udane ataki, które skutecznie osłabiłyby szyfr Camellia.

Główna różnica między szyfrem Camellia a AES polega na tym, że nie jest on certyfikowany przez NIST – amerykańską organizację, która stworzyła AES.

Choć z pewnością istnieją argumenty za używaniem szyfru, który nie jest kojarzony z rządem Stanów Zjednoczonych, Camellia jest rzadko dostępny w oprogramowaniu VPN i nie został jeszcze tak dokładnie przetestowana, jak AES.

PODSUMOWANIE: usługa VPN powinna używać do szyfrowania Twoich danych przynajmniej szyfru AES-256. ChaCha20 i Camellia to bezpieczne alternatywy, ale Twoja usługa VPN zawsze powinna oferować AES.

Protokoły VPN

Protokoły VPN to zasady i procesy, które stosuje Twoje urządzenie, aby nawiązać bezpieczne połączenie z serwerem VPN.

Innymi słowy, protokół VPN określa sposób tworzenia tunelu VPN, a szyfr służy do szyfrowania danych, które są przez niego przesyłane.

W zależności od używanego protokołu VPN będzie miał różne prędkości, możliwości i słabe punkty. Większość usług pozwoli Ci wybrać protokół w ustawieniach aplikacji.

Istnieje kilka protokołów VPN, ale nie wszystkie są bezpieczne w użyciu. Oto krótki przegląd najpopularniejszych z nich:

  • OpenVPN: otwarty kod źródłowy, bardzo bezpieczny i kompatybilny z prawie wszystkimi urządzeniami obsługującymi VPN.
  • WireGuard: niesamowicie szybki i bardzo wydajny, ale nie zdobył jeszcze zaufania w branży VPN ze względu na jego stosunkowo niedawną premierę.
  • IKEv2/IPsec: protokół o zamkniętym kodzie źródłowym, doskonały dla użytkowników VPN na urządzeniach mobilnych. Podejrzewa się, że został złamany przez NSA.
  • SoftEther: nieobsługiwany przez wiele usług VPN, ale za to szybki, bezpieczny i świetny do omijania cenzury.
  • L2TP/IPsec: wolniejszy protokół; podejrzewa się, że został złamany przez NSA.
  • SSTP: dobrze radzi sobie z zaporami sieciowymi, ale ma zamknięty kod źródłowy i jest potencjalnie podatny na ataki man-in-the-middle.
  • PPTP: przestarzały i niezabezpieczony – należy go unikać za wszelką cenę.

DOWIEDZ SIĘ WIĘCEJ: Aby dowiedzieć się więcej o różnych protokołach VPN i wybrać najlepszy z nich, przeczytaj nasz przewodnik opisujący protokoły VPN.

Uzgadnianie VPN

Oprócz protokołów i szyfrów VPN wykorzystuje również procedury znane jako uzgadnianie i uwierzytelnianie z algorytmem haszującym SHA, aby jeszcze lepiej zabezpieczyć i uwierzytelnić Twoje połączenie.

Procedura uzgadniania to początkowe połączenie między dwoma komputerami. Stanowi powitanie, podczas którego obie strony uwierzytelniają się nawzajem i ustalają zasady komunikacji.

Podczas uzgadniania klient VPN (czyli Twoje urządzenie) nawiązuje pierwsze połączenie z serwerem VPN.

Połączenie to jest następnie wykorzystywane do bezpiecznego udostępniania klucza szyfrowania między klientem a serwerem. Klucz ten zaszyfrowuje i odszyfrowuje dane po obu stronach tunelu VPN podczas całej sesji przeglądania.

schemat przedstawiający procedurę uzgadniania pomiędzy klientem VPN a serwerem VPN krok po kroku

W procedurze uzgadniania VPN zazwyczaj wykorzystywany jest algorytm RSA (Rivest-Shamir-Adleman). RSA stanowi podstawę bezpieczeństwa internetowego od dwóch dekad.

Chociaż nie ma jeszcze twardych dowodów na to, że RSA-1024 został złamany, uważa się, iż może stanowić zagrożenie, biorąc pod uwagę dostępną obecnie moc obliczeniową.

RSA-2048 to o wiele bezpieczniejsza alternatywa i wiąże się ze stosunkowo niewielkim spowolnieniem mocy obliczeniowej. W związku z tym większość usług VPN odeszła od stosowania RSA-1024.

Należy ufać wyłącznie usługom VPN, które wykorzystują algorytm RSA-2048 lub RSA-4096.

Chociaż procedura uzgadniania działa dobrze i generuje bezpieczne szyfrowanie, każdą sesję można odszyfrować za pomocą klucza prywatnego użytego podczas uzgadniania RSA. W tym sensie jest to rodzaj „klucza głównego”.

Jeśli nasz klucz główny zostałby kiedykolwiek odkryty, mógłby być użyty do odszyfrowania każdej bezpiecznej sesji na tym serwerze VPN – przeszłej lub obecnej. Osoba atakująca mogłaby włamać się do serwera VPN i uzyskać dostęp do wszystkich danych przepływających 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

ilustracja klienta VPN i serwera VPN w oddzielnych pomieszczeniach, gdzie oba generują ten sam klucz tymczasowy, aby zaszyfrować swoją sesję

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.

Zamiast tego zarówno serwer VPN, jak i klient VPN generują klucz niezależnie, przy użyciu algorytmu DH lub ECDH.

Jest to skomplikowany matematycznie proces, ale w uproszczeniu utajnianie z wyprzedzeniem niweluje zagrożenie wynikające z używania pojedynczego klucza prywatnego, który w przypadku przejęcia naraża na szwank każdą bezpieczną sesję kiedykolwiek prowadzoną na serwerze.

Zamiast tego klucze są tymczasowe, co oznacza, że mogą ujawnić tylko jedną, konkretną sesję i nic więcej.

Należy zauważyć, że sam algorytm RSA nie zapewnia utajnienia z wyprzedzeniem. Aby można było skorzystać z tej funkcji, w zestawie szyfrów RSA musi być zawarty algorytm DH lub ECDH.

ECDH można używać samodzielnie – zamiast RSA – do generowania bezpiecznego uzgadniania VPN z funkcją doskonałego utajniania z wyprzedzeniem. Należy jednak uważać na usługi VPN używające samego algorytmu DH, ponieważ jest on podatny na złamanie. Nie stanowi to jednak problemu, gdy używa się go z RSA.

Trzy najbardziej polecane przez nas protokoły VPN – OpenVPN, WireGuard i IKEv2 – obsługują utajnianie z wyprzedzeniem.

Uwierzytelnianie z algorytmem haszującym SHA

Bezpieczny Algorytm Haszujący (SHA) jest używany do uwierzytelniania integralności przesyłanych danych i połączeń klient-serwer. Zapewnia, że informacje nie zostały zmienione w drodze między źródłem a miejscem przeznaczenia.

SHA edytuje dane źródłowe za pomocą tzw. funkcji haszującej. Oryginalna wiadomość źródłowa jest przepuszczana przez algorytm, w wyniku czego powstaje ciąg znaków o stałej długości, który wygląda zupełnie inaczej niż oryginał. Jest to tzw. wartość skrótu.

Funkcja haszująca jest jednokierunkowa – nie można cofnąć haszowania (mieszania), aby odkryć oryginalną wiadomość na podstawie wartości skrótu.

Haszowanie jest przydatne, ponieważ zmiana już jednego znaku w źródłowych danych wejściowych całkowicie zmienia wartość skrótu, który generuje funkcja.

Klient VPN przepuszcza dane otrzymane od serwera, wraz z tajnym kluczem, przez funkcję haszującą ustaloną podczas procedury uzgadniania VPN.

Jeśli wartość skrótu wygenerowana przez klienta różni się od wartości skrótu we wiadomości, dane zostaną odrzucone, a wiadomość uznana za sfałszowaną.

Uwierzytelnianie z algorytmem haszującym SHA zapobiega atakom man-in-the-middle, ponieważ jest w stanie wykryć wszelką ingerencję w ważny certyfikat.

Bez niego haker mógłby podszyć się pod prawdziwy serwer VPN i zmusić Cię do połączenia z niebezpiecznym serwerem, gdzie Twoja aktywność może być monitorowana.

Aby zapewnić sobie maksymalne bezpieczeństwo, zalecamy korzystanie z usług VPN, które używają szyfrowania SHA-2 lub lepszego. Algorytmowi SHA-1 udowodniono słabe punkty, które mogą zagrażać bezpieczeństwu.