Protokół VPN to zestaw instrukcji, których Twoja aplikacja VPN używa do skonfigurowania, zabezpieczenia i zarządzania Twoim połączeniem z serwerem VPN. OpenVPN to protokół VPN, który nie ma znanych słabych punktów i skutecznie omija niektóre metody cenzury online. OpenVPN ma również tę zaletę, że jest obsługiwany na ogromnej liczbie platform i urządzeń.
Istnieją zamkniętoźródłowe implementacje OpenVPN, ale dostępna jest również bezpłatna i otwartoźródłowa wersja Community Edition.
W tym artykule szczegółowo przyjrzymy się temu, jak działa OpenVPN, jak dba o bezpieczeństwo społeczności Proton VPN oraz jak wypada w porównaniu z innymi protokołami VPN. Ten artykuł będzie najbardziej pomocny, jeśli rozumiesz już, jak działa VPN.
- Jak OpenVPN dba o moje bezpieczeństwo?
- Kanały Open VPN
- Czy OpenVPN potrafi pokonać cenzurę VPN?
- Czy OpenVPN przeszedł audyt?
- OpenVPN vs WireGuard®
Dowiedz się więcej o tym, jak działa VPN
Wydany pierwotnie w 2001 roku OpenVPN zaczyna już się starzeć pod względem szybkości, wydajności i efektywności. Jednak nadal jest powszechnie uważany za bezpieczny, a pogląd ten umocniły dokumenty ujawnione w 2013 roku przez sygnalistę NSA, Edwarda Snowdena.
Mocno wskazywały one na to, że o ile nie używasz kluczy wstępnych(nowe okno), OpenVPN był wówczas jedynym powszechnie stosowanym protokołem VPN, którego NSA nie była w stanie złamać. WireGuard®, nowszy i bezpieczniejszy protokół VPN, w 2013 roku nie był jeszcze opracowany. Choć WireGuard jest szybszy, lżejszy i bardziej wydajny, nie może się równać ze sprawdzoną w bojach historią OpenVPN.
Zalety OpenVPN:
- Otwarty kod źródłowy
- Sprawdzone w bojach bezpieczeństwo
- Może działać przez UDP lub TCP
- Szeroko obsługiwany
Wady OpenVPN:
- Wydajność nie dorównuje obecnie protokołowi WireGuard (choć trwają prace nad jej poprawą)
- Stosunkowo duża i złożona baza kodu
Proton VPN obsługuje OpenVPN we wszystkich naszych aplikacjach:
- Windows
- macOS
- Android
- Android TV (poprzez Smart Protocol)
- iOS i iPadOS
- Aplikacja i CLI dla systemu Linux
- Chrome OS
Jak OpenVPN dba o moje bezpieczeństwo?
OpenVPN wykorzystuje kilka technologii kryptograficznych, aby zapewnić bezpieczeństwo Twoich danych, i nie ma znanych luk bezpieczeństwa. Technologie stosowane przez większość nowoczesnych implementacji OpenVPN (w tym Proton VPN) to:
AES
Advanced Encryption Standard (AES) to szyfr z kluczem symetrycznym służący do szyfrowania i deszyfrowania danych przesyłanych przez Twoje połączenie VPN.
Jest certyfikowany przez National Institute of Standards and Technology(nowe okno) (NIST) i używany przez rząd Stanów Zjednoczonych do zabezpieczania niejawnych danych. Maksymalny rozmiar klucza AES wynosi 256 bitów (AES-256), przy czym rząd USA uznaje AES-256 za wystarczający do zabezpieczenia informacji oznaczonych jako „ściśle tajne”(nowe okno).
Gdy AES jest używany jako część pakietu szyfrowania OpenVPN, może działać w trybach AES-CBC (Cipher Block Chaining) lub AES-GCM (Galois/Counter Mode). Na potrzeby zrozumienia, jak działa Proton VPN, musisz jedynie wiedzieć o AES-GCM
Choć równie bezpieczny, nowocześniejszy AES-GCM to szyfr typu szyfrowanie z uwierzytelnianiem i danymi dodatkowymi(nowe okno) (AEAD), który oprócz zabezpieczania danych może je również uwierzytelniać. HMAC SHA (patrz poniżej) jest nadal wymagany do uwierzytelnienia połączenia TLS, ale AES-GCM jest bardziej wydajny (a przez to szybszy) w uwierzytelnianiu danych niż SHA.
Dowiedz się więcej o szyfrowaniu AES
RSA
OpenVPN opiera się na standardzie AES w celu zabezpieczenia Twoich danych, ale aby wysłać je przez połączenie VPN, stosuje kryptografię klucza publicznego(nowe okno). Ten system kryptograficzny wykorzystuje asymetryczną wymianę kluczy, w której Twoje dane są szyfrowane za pomocą publicznie udostępnionego klucza publicznego docelowego odbiorcy. Dane te mogą być następnie odszyfrowane wyłącznie za pomocą tajnego klucza prywatnego odbiorcy, .
Szyfrowanie kluczem asymetrycznym jest skuteczne w bezpiecznym przesyłaniu danych przez internet, ale jest wolne w porównaniu z systemami szyfrowania symetrycznego, takimi jak AES. Dlatego jest ono stosowane w sieciach VPN głównie do uwierzytelniania połączeń między klientem VPN a serwerem VPN. OpenVPN używa do tego systemu kryptograficznego RSA(nowe okno).
Długość klucza RSA może być niemal dowolna, ale klucz 4096-bitowy jest wystarczająco bezpieczny i nie powoduje dużego obciążenia obliczeniowego, które byłoby marnotrawstwem i spowalniałoby Twoje połączenie.
DHE
Wymiana kluczy Diffiego-Hellmana(nowe okno) (DHE) może być używana do zabezpieczenia wymiany kluczy TLS w sposób podobny do RSA, z dodatkową korzyścią w postaci zapewniania utajniania przekazywania(nowe okno) (forward secrecy). Utajnianie przekazywania gwarantuje, że dla każdej sesji używane są nowe klucze, dzięki czemu nawet jeśli jedna sesja zostanie w jakiś sposób naruszona, nie wpłynie to na żadne inne sesje. Utajnianie przekazywania sprawia, że napastnicy nie mogą odszyfrować wcześniejszych sesji VPN za pomocą jednego przejętego klucza.
Ponieważ jednak DHE wielokrotnie wykorzystuje ograniczony zestaw liczb pierwszych, może być podatny na ataki typu Logjam(nowe okno). Problem ten jest znacznie mniejszym zmartwieniem, jeśli stosuje się odpowiednio duże rozmiary kluczy, jednak używanie go do zabezpieczania wymiany kluczy TLS pozostaje kontrowersyjne.
Z tego powodu Proton VPN wykorzystuje obsługę DHE w pakiecie szyfrowania OpenVPN, aby zapewnić utajnianie przekazywania, ale nie do zabezpieczenia samej wymiany kluczy.
HMAC SHA
OpenVPN używa HMAC SHA do sprawdzania poprawności certyfikatów TLS używanych w wymianie kluczy TLS. Chroni to przed atakami typu man-in-the-middle.
Rodzina SHA(nowe okno) kryptograficznych funkcji skrótu(nowe okno) służy do uwierzytelniania danych. Wykonanie tych skomplikowanych funkcji matematycznych na zestawie danych tworzy unikalny odcisk klucza. Jeśli zmieni się chociaż jeden bit tych danych, odcisk klucza SHA również ulegnie zmianie.
Wiadomo, że SHA-1 (160-bitowa funkcja skrótu) jest podatna na ataki kolizyjne(nowe okno), ale SHA-2 jest nadal uważana za bezpieczną. Co ważniejsze, OpenVPN i tak używa SHA wyłącznie do obliczania wartości kodu uwierzytelniania wiadomości za pomocą funkcji skrótu(nowe okno) (HMAC). Są one znacznie trudniejsze do zaatakowania niż sam algorytm SHA – do tego stopnia, że nawet SHA-1 jest wciąż uważany za wystarczająco bezpieczny dla HMAC(nowe okno).
Kanały Open VPN
OpenVPN wykorzystuje dwa oddzielne kanały do bezpiecznego przesyłania danych między Twoim urządzeniem a serwerem VPN.

Kanał danych
Przed wysłaniem Twoich danych przez tunel VPN OpenVPN szyfruje je za pomocą szyfru z kluczem symetrycznym.
Proton VPN używa szyfrowania do AES-256 w trybie GCM do weryfikacji danych.
Kanał kontrolny
Po zaszyfrowaniu danych mogą one zostać przesłane przez tunel VPN. Kanał kontrolny ustanawia połączenie TLS między klientem VPN a serwerem VPN. Jest ono zabezpieczone za pomocą szyfru z kluczem symetrycznym, ale z asymetryczną wymianą kluczy.
Proton VPN do szyfrowania symetrycznego używa algorytmu o sile do AES-256-GCM, z uwierzytelnianiem RSA-4096 oraz skrótem kryptograficznym HMAC SHA-384 w celu weryfikacji certyfikatów TLS. Pakiet szyfrowania, którego używamy, obejmuje również protokół uzgadniania kluczy Diffiego-Hellmana (DHE) zapewniający utajnienie z wyprzedzeniem.
Czy OpenVPN może pokonać cenzurę VPN?
Jedną z wielkich zalet OpenVPN jest to, że może działać zarówno w protokole transmisji UDP, jak i TCP, czyli dwóch głównych protokołach, które obsługują sposób wysyłania danych w internecie. UDP jest szybszy, podczas gdy TCP jest bardziej niezawodny, ale główną zaletą tej elastyczności jest to, że TCP przydaje się do pokonywania cenzury nakładanej przez rządy i inne organizacje.
Dowiedz się więcej o różnicach między UDP a TCP
Port TCP 443 jest używany przez HTTPS(nowe okno), czyli standard szyfrowania, który zabezpiecza sieć. Utrudnia to blokowanie OpenVPN, gdy działa on na porcie TCP 443, bez jednoczesnego blokowania całego ruchu sieciowego HTTPS, dzięki czemu OpenVPN jest przydatny do obchodzenia blokad VPN niskiego poziomu.
Jednak bardziej zaawansowane formy głębokiej inspekcji pakietów mogą łatwo wykryć różnicę między pakietami HTTPS i VPN.
Dowiedz się więcej o głębokiej inspekcji pakietów
Czy OpenVPN został poddany audytowi?
W następstwie kampanii finansowania społecznościowego w 2016 roku OpenVPN 2.4 został niezależnie poddany audytowi(nowe okno) przez OSTIF i QuarksLab. Wyniki były bardzo pozytywne, a jedyna wykryta krytyczna/poważna podatność dotyczyła podatności na odmowę usługi i nie miała wpływu na bezpieczeństwo użytkowników. Ten problem również został szybko rozwiązany.
Jednak rok 2016 to już dość odległa przeszłość, a w momencie pisania tego tekstu najnowszą wersją jest OpenVPN 2.6.1.
OpenVPN kontra WireGuard
Nowszy protokół WireGuard jest bezpieczny, szybki i wydajny, dlatego Proton VPN używa go teraz jako naszego domyślnego protokołu VPN. Możliwość działania OpenVPN przez TCP pozostaje zaletą w porównaniu ze standardowym WireGuard, ale Proton VPN opracował już implementację WireGuard, która również działa przez TCP.
Dowiedz się więcej o WireGuard
WireGuard stanowi również podstawę naszego protokołu maskowania Stealth, który jest znacznie skuteczniejszy w omijaniu blokad cenzury niż uruchamianie OpenVPN przez TCP.
Fakt, że zabezpieczenia OpenVPN są lepiej sprawdzone w bojach niż te w WireGuard, może wciąż przemawiać do niektórych, ale istnieje niewiele powodów, by wybrać go zamiast WireGuard, chyba że Twoje obecne urządzenie nie obsługuje WireGuard.
Końcowe przemyślenia
Przez wiele lat OpenVPN był praktycznie domyślnym protokołem VPN i z tego powodu nadal cieszy się doskonałym wsparciem na routerach i innych urządzeniach z dostępem do internetu. Wciąż jest wysoce bezpieczny, ale oferuje niewiele zalet w porównaniu z bardziej nowoczesnym WireGuard (zwłaszcza niestandardowych implementacji tego nowszego protokołu od Proton VPN).







