VPN protokol je sada instrukcí, které Vaše VPN aplikace používá k nastavení, zabezpečení a řízení Vašeho připojení k VPN serveru. OpenVPN je VPN protokol, který nemá žádné známé slabiny a efektivně obchází určité metody online cenzury. OpenVPN má také výhodu v tom, že je podporován na široké škále platforem a zařízení.

Existují i implementace OpenVPN s uzavřeným zdrojovým kódem, ale k dispozici je také bezplatná verze Community Edition s otevřeným zdrojovým kódem.

V tomto článku se podrobně podíváme na to, jak OpenVPN funguje, jak udržuje komunitu Proton VPN v bezpečí a jak si stojí v porovnání s jinými VPN protokoly. Tento článek pro Vás bude nejužitečnější, pokud již rozumíte tomu, jak VPN funguje.

Zjistěte více o tom, jak VPN funguje

OpenVPN, který byl původně vydán v roce 2001, začíná vykazovat známky stárnutí, pokud jde o rychlost, výkon a efektivitu. Stále je však obecně považován za bezpečný, což je představa posílená dokumenty, které v roce 2013 zveřejnil whistleblower z NSA Edward Snowden.

Získat Proton VPN

Tyto dokumenty jasně naznačovaly, že pokud nepoužíváte předem sdílené klíče(nové okno), byl OpenVPN v té době jediným běžně používaným VPN protokolem, který NSA nedokázala prolomit. WireGuard®, novější a bezpečnější VPN protokol, v roce 2013 ještě nebyl vyvinut. Ačkoli je WireGuard rychlejší, lehčí a efektivnější, nemůže se rovnat lety prověřeným výsledkům OpenVPN.

Klady OpenVPN:

  • Otevřený zdrojový kód
  • Lety prověřené zabezpečení
  • Může běžet přes UDP nebo TCP
  • Široce podporovaný

Zápory OpenVPN:

  • Výkon se v současnosti nemůže rovnat WireGuardu (ačkoli se pracuje na jeho zlepšení)
  • Relativně velká a složitá kódová báze

Proton VPN podporuje OpenVPN ve všech našich aplikacích:

  • Windows 
  • macOS
  • Android
  • Android TV (prostřednictvím protokolu Smart Protocol)
  • iOS a iPadOS
  • Aplikace pro Linux a CLI
  • Chrome OS

Jak mě OpenVPN udržuje v bezpečí?

OpenVPN používá několik kryptografických technologií k tomu, aby udržel Vaše data v bezpečí, a nemá žádné známé zranitelnosti. Technologie používané většinou moderních implementací OpenVPN (včetně Proton VPN) jsou:

AES

Advanced Encryption Standard (AES) je šifra se symetrickým klíčem používaná k šifrování a dešifrování dat přenášených přes Vaše VPN připojení.

Je certifikován organizací National Institute of Standards and Technology(nové okno) (NIST) a vláda Spojených států ho používá k zabezpečení klasifikovaných dat. AES má maximální velikost klíče 256 bitů (AES-256), přičemž vláda USA považuje AES-256 za dostatečný pro zabezpečení informací podléhajících stupni utajení „přísně tajné“(nové okno).

Při použití jako součást šifrovací sady OpenVPN lze AES použít v režimech AES-CBC (Cipher Block Chaining) nebo AES-GCM (Galois/Counter Mode). Pro účely pochopení toho, jak Proton VPN funguje, stačí znát AES-GCM

Ačkoli je stejně bezpečný, modernější AES-GCM je šifra s ověřeným šifrováním s přidruženými daty(nové okno) (AEAD), která dokáže data kromě jejich zabezpečení také autentizovat. K autentizaci připojení TLS je stále vyžadován HMAC SHA (viz níže), ale AES-GCM je při autentizaci dat efektivnější (a proto rychlejší) než SHA.

Více informací o šifrování AES

RSA

OpenVPN spoléhá na AES při zabezpečení Vašich dat, ale pro jejich odeslání přes VPN připojení používá OpenVPN kryptografii s veřejným klíčem(nové okno). Tento kryptografický systém využívá asymetrickou výměnu klíčů, kdy jsou Vaše data šifrována pomocí otevřeně sdíleného veřejného klíče zamýšleného příjemce. Tato data pak může dešifrovat pouze tajný soukromý klíč Vašeho příjemce, .

Asymetrické šifrování je efektivní pro tajné odesílání dat přes internet, ale je pomalé ve srovnání se symetrickými šifrovacími systémy, jako je AES. Proto se ve VPN používá primárně k ověřování připojení mezi VPN klientem a VPN serverem. OpenVPN k tomu využívá kryptosystém RSA(nové okno).

Délka klíče RSA může být téměř jakákoli, ale 4096bitový klíč je dostatečně bezpečný, aniž by způsoboval vysokou výpočetní režii, která je neefektivní a zpomaluje Vaše připojení.

DHE

K zabezpečení výměny klíčů TLS lze použít výměnu klíčů Diffie-Hellman(nové okno) (DHE) podobně jako RSA, s tím rozdílem, že poskytuje také dopředné utajení(nové okno). Dopředné utajení zajišťuje, že se pro každou relaci používají nové klíče, takže i když je jedna relace nějakým způsobem kompromitována, žádné další relace to neovlivní. Dopředné utajení zajišťuje, že útočníci nemohou dešifrovat minulé relace VPN pomocí jediného kompromitovaného klíče.

Protože však DHE znovu používá omezenou sadu prvočísel, může být zranitelný vůči útokům Logjam(nové okno). Tento problém představuje mnohem menší obavu, pokud se použijí dostatečně velké velikosti klíčů, ale jeho použití k zabezpečení výměny klíčů TLS zůstává kontroverzní.

Z tohoto důvodu Proton VPN využívá podporu DHE v šifrovací sadě OpenVPN k zajištění dopředného utajení, nikoli však k zabezpečení samotné výměny klíčů.

HMAC SHA

OpenVPN používá HMAC SHA k ověření certifikátů TLS používaných při výměně klíčů TLS. To chrání před útoky typu man-in-the-middle.

K autentizaci dat se používá rodina SHA(nové okno) kryptografických hashovacích funkcí(nové okno). Když jsou tyto složité matematické funkce provedeny na sadě dat, vytvoří se jedinečný otisk prstu. Pokud se změní byť jen jediný bit těchto dat, změní se také otisk SHA.

O SHA-1 (160bitové hashovací funkci) je známo, že je zranitelná vůči kolizním útokům(nové okno), ale SHA-2 je stále považována za bezpečnou. Co je však ještě důležitější, OpenVPN stejně používá SHA pouze k výpočtu hodnot autentizačního kódu zpráv hash(nové okno) (HMAC). Ty je mnohem obtížnější napadnout než samotný algoritmus SHA, a to až do té míry, že i SHA-1 je stále považován za dostatečně bezpečný pro HMAC(nové okno).

Kanály Open VPN

OpenVPN používá dva samostatné kanály pro bezpečný přenos dat mezi Vaším zařízením a VPN serverem.

Přehled toho, jak OpenVPN funguje

Datový kanál

Před odesláním Vašich dat přes VPN tunel je OpenVPN zašifruje pomocí šifry se symetrickým klíčem.

Proton VPN používá k ověření dat až AES-256 v režimu GCM.

Řídicí kanál

Jakmile jsou data zašifrována, mohou být odeslána přes VPN tunel. Řídicí kanál naváže TLS připojení mezi VPN klientem a VPN serverem. To je zabezpečeno pomocí šifry se symetrickým klíčem, ale s asymetrickou výměnou klíčů.

Proton VPN používá pro svou symetrickou šifru algoritmus až AES-256-GCM s ověřením hashů RSA-4096 a HMAC SHA-384 pro ověření certifikátů TLS. Šifrovací sada, kterou používáme, zahrnuje také dohodu o klíči Diffie-Hellman (DHE) pro zajištění dopředného utajení.

Dokáže OpenVPN překonat cenzuru VPN?

Jednou z velkých výhod OpenVPN je, že může běžet jak přes přenosový protokol UDP, tak přes TCP, což jsou dva hlavní protokoly, které zajišťují odesílání dat po internetu. UDP je rychlejší, zatímco TCP je spolehlivější. Hlavní výhodou této flexibility však je, že TCP je užitečný pro obcházení cenzury ze strany vlád a jiných organizací.

Zjistěte více o rozdílu mezi UDP a TCP

Port TCP 443 využívá protokol HTTPS(nové okno), což je šifrovací standard, který zabezpečuje web. Díky tomu je obtížné zablokovat OpenVPN, pokud běží přes port TCP 443, aniž by byl zablokován veškerý síťový provoz HTTPS. OpenVPN je tak užitečný pro obcházení nízkoúrovňových blokování VPN.

Pokročilejší formy hloubkové inspekce paketů (deep packet inspection) však dokážou snadno rozpoznat rozdíl mezi pakety HTTPS a VPN.

Více informací o hloubkové inspekci paketů

Prošel protokol OpenVPN auditem?

Na základě crowdfundingové sbírky byl OpenVPN 2.4 v roce 2016 nezávisle auditován(nové okno) organizacemi OSTIF a QuarksLab. Výsledky byly velmi pozitivní a jediná objevená kritická/závažná zranitelnost se týkala náchylnosti k odmítnutí služby (denial of service) a neměla vliv na bezpečnost uživatelů. Tento problém byl navíc rychle vyřešen.

Od roku 2016 však uplynula již delší doba a v době psaní tohoto článku je nejnovější verzí OpenVPN 2.6.1.

OpenVPN vs. WireGuard

Novější protokol WireGuard je bezpečný, rychlý a efektivní, a proto jej nyní Proton VPN používá jako náš výchozí protokol VPN. Schopnost OpenVPN běžet přes TCP zůstává výhodou oproti čistému (vanilla) WireGuardu, ale Proton VPN nyní vyvinul implementaci WireGuardu, která také běží přes TCP.

Více informací o WireGuardu

WireGuard také tvoří základ našeho obfuskčního protokolu Stealth, který je při obcházení cenzurních blokád mnohem účinnější než provozování OpenVPN přes TCP.

Zjistěte více o Stealth

Skutečnost, že bezpečnost OpenVPN zůstává lépe prověřená praxí než u WireGuardu, může být pro někoho stále lákavá, ale existuje jen málo důvodů, proč mu dát přednost před WireGuardem, pokud vaše současné zařízení WireGuard nepodporuje.

Závěrečné myšlenky

Po mnoho let byl OpenVPN de facto výchozím protokolem VPN, a proto je i nadále velmi dobře podporován na routerech a dalších zařízeních s přístupem k internetu. Stále je vysoce bezpečný, ale nabízí jen málo výhod oproti modernějšímu protokolu WireGuard (zejména vlastním implementacím tohoto novějšího protokolu od Proton VPN).