Proč může šifrovaný paket VPN stát méně, než si myslíte
Další kryptografická značka není další jednotka práce. Porovnejte celou cestu: konstrukce AEAD, podpora procesoru, bufferování a vyjednaný datový režim.
Dva profily se testují na stejné bráně, jeden se šifrováním a jeden bez, a šifrovaný není pomalejší. Někdy je rychlejší, což obvykle vyvolá dlouhou hádku o tom, zda byl test proveden správně. Výsledek je uvěřitelný, protože cena paketu není počet kryptografických slov v konfiguraci. Je to soubor operací, které implementace provádí, na hardwaru, který má, a nad rozložením bufferu, které si zvolila.
Příznak: pomalý není šifrovaný profil
Předpokládejme, že historický test porovnává šifru AEAD s režimem „bez šifrování“, který přesto počítá samostatný autentizační kód pro každý paket. Druhý profil skrývá obsah užitečného zatížení, ale zachovává hash na paket, a na procesoru bez zrychlení pro tento hash může stát více než integrovaná konstrukce, kterou měl překonat.
Štítek v konfiguraci říká „šifrování“ a na štítek se dívá většina srovnání. Cesta paketu říká něco jiného: jeden profil provádí kombinovanou operaci, pro kterou má procesor instrukce, a druhý provádí samostatnou, pro kterou je nemá. Čtení samotného konfiguračního souboru ten rozdíl nikdy neodhalí, protože oba záznamy vypadají jako jeden řádek. Výsledek vysvětluje jen vyjednaný režim a kódová cesta za ním.
To je celé vysvětlení a nevyžaduje žádné tvrzení o tom, která primitiva je univerzálně rychlejší. Obě mohou být rychlé, obě mohou být pomalé a pořadí závisí na stroji a kódu.
Počítejte operace, ne štítky
Konstrukce AEAD, jak ji popisuje RFC 5116, dává implementaci jediné rozhraní, které vrací šifrovaný text a značku společně. AES-GCM je jeden případ: šifrování v režimu čítače kombinované s autentizátorem Galois. Rozhraní nedělá integritu zdarma; dělá kombinaci dobře definovanou, a právě to umožňuje implementaci optimalizovat dvojici jako celek.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
To jsou náčrty zpracování, nikoli rady ke konfiguraci. První nemá důvěrnost, ale stejně spotřebovává procesor na autentizaci, a právě proto „vypni šifrování“ není synonymem pro „vypni kryptografickou práci“.
Druhý může být levnější, protože procesory poskytují instrukce pro obě poloviny: rundy AES a násobení bez přenosu, které používá pole Galois. Knihovny také zpracovávají nezávislé buffery paralelně, což udržuje tyto instrukce zaměstnané místo čekání na paměť.
Co vyjednaný režim skutečně umožňuje
U Community OpenVPN znamená datová šifra AEAD, že volba auth už nepřispívá vlastním samostatným HMAC datového kanálu. Reference k volbě šifrování popisuje tento rozsah, a to je důvod, proč se dvě konfigurace, které v textovém souboru vypadají podobně, mohou lišit v práci na paket.
Čtěte vyjednaný režim, ne seznam přání. Povolený seznam šifer a název sady TLS vám neřeknou, které operace běží na užitečném zatížení, a starý řádek cipher nemusí popisovat, co si současné spojení vybralo.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
První příkaz vypisuje šifry, které binárka podporuje, což je seznam schopností, ne vyjednaný výsledek. Druhý ukazuje, co server skutečně žádá. Protokol spojení je místo, kde se potvrzuje konečná volba, protože klient může spadnout na něco, co server povoluje, ale nikdo nezamýšlel.
Měřte zátěž, kterou skutečně provozujete
Kryptografický mikrobenchmark měří primitivu za jejích vlastních podmínek. Přenos VPN také kopíruje buffery, plánuje vlákna nebo přerušení, kontroluje politiku a prochází sítí. Tyto části často dominují, a proto rychlejší primitiva ne vždy dává rychlejší tunel.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Tyto dva příkazy vám dají hrubé místní srovnání primitiv na stroji před vámi a jsou poctivé v tom, že jde o mikrobenchmarky. Neříkají nic o propustnosti vašeho tunelu a nikdy by se jako takové neměly citovat.
Pak měřte zátěž, na které záleží, se vším ostatním konstantním: stejný koncový bod, stejné velikosti paketů, stejný transport, stejná politika komprese. Pokud změna profilu změnila i transport nebo místo zpracování, výsledek popisuje tento svazek, ne kryptografii.
Mějte na očích i cíl. Datová cesta s volnou kryptografickou kapacitou může být stále limitovaná latencí, protože aplikace čeká na zpáteční cesty, a zisky v hromadné kapacitě neopraví upovídaný protokol. Měřte podporovanou a politikou schválenou konfiguraci jako celek a berte „méně krabic musí být rychleji“ jako hypotézu, kterou to je. Užitečná otázka není, zda šifrování něco stojí, ale zda se ta cena objeví v měření, na kterém vám skutečně záleží.