Co specifikace VPN protokolu dokazuje a co ne
Specifikace stanoví formáty zpráv, algoritmy a předpoklady o hrozbách. Nemůže ručit za build, který jste nainstalovali, ani za to, jak operátor nakládá s vaším účtem.
Dokument protokolu je smlouva mezi implementacemi a jeho pečlivé čtení vám řekne, co si dva shodní protějšky vymění a jaké vlastnosti měli návrháři v úmyslu zajistit. Neříká vám, který binární soubor běží na serveru, ke kterému se připojujete, jak je tento server nakonfigurován ani co se potom stane se záznamem vašeho účtu. To jsou tři různé druhy důkazů a zacházet se specifikací jako se všemi třemi je způsob, jak jméno protokolu začne dělat práci, kterou udělat nemůže. Držet ty tři oddělené je celé cvičení.
Dokument je začátek argumentu, ne jeho závěr.
Co dokument skutečně specifikuje
Pro WireGuard definuje popis protokolu handshake Noise IK, pevnou sadu primitiv, rozvržení zpráv a transportní rámování, které poté nese pakety. Pro IKEv2 je srovnatelným artefaktem RFC 7296, který specifikuje výměny, užitečná zatížení a vyjednávání návrhů. V obou případech je rozsah přesný: zprávy, stavový automat a předpoklady, za nichž platí bezpečnostní cíle.
Volitelné režimy čtení komplikují. Vlastnost, která platí pro jeden handshake, se nemusí vztahovat na nasazení s jiným uspořádáním autentizace nebo záložní konfigurací.
Kde záruky končí
Formální analýza odpovídá na otázku o modelu. Ověřovací práce na WireGuardu používá symbolický model v dokazovači Tamarin, který může ukázat, že návrh za svých předpokladů odolává určitým útokům; neukazuje, že dodaná implementace v uživatelském prostoru nemá chybu bezpečnosti paměti. Právě v této mezeře mezi modelem a strojem žijí skutečné incidenty. Číst důkaz jako certifikát implementace je kategorická chyba.
Dopředná utajení ilustruje stejnou hranici. Vlastnost závisí na tom, že se klíče ničí tak, jak protokol zamýšlí, a to je vlastnost implementace a jejího prostředí, ne formátu zprávy. Návrh, který předepisuje vymazání, ho nemůže vynutit na platformě, která odkládá paměť na disk.
Vrstvené závislosti mezeru dále rozšiřují: knihovna TLS za tunelem založeným na TLS, rozhraní jádra, které používá tunel v uživatelském prostoru, a generátor náhodných čísel stojí všechny mimo text protokolu.
Sledujte bajty až do buildu
Přejděte od dokumentu k artefaktům tak, že identifikujete verze a pak je porovnáte s tím, co skutečně obsluhuje provoz. Produkt, který jmenuje protokol, může přidat komponenty pro zřizování, telemetrii a správu, které specifikace nikdy nepopisuje.
openvpn --version | head -3 wg --version dpkg -l | grep -E 'openvpn|wireguard|libssl' ss -lunp | grep -E '1194|51820' sha256sum ./wireguard-tools_1.0.20210914_amd64.deb
Reprodukovatelné buildy a zveřejněné kontrolní součty umožňují propojit zdrojový strom s distribuovaným binárním souborem. Bez tohoto propojení zveřejněný zdroj dokazuje jen to, že kontrola je možná, ne že běžící soubor mu odpovídá.
Konfigurace patří do stejného kroku. Šifrové sady, povolené protějšky a nastavení směrování jsou volby nasazení a shodný build nakonfigurovaný nedbale stále vytváří slabý tunel.
Držte provozní postupy odděleně
Záznamy účtů, platební údaje a žádosti o podporu jsou rozhodnutí operátora, která žádný text protokolu neomezuje. Auditní zpráva pokrývá jmenované komponenty v rámci uvedeného rozsahu a zásady ochrany soukromí popisují záměry a postupy; ani jedno nenahrazuje druhé a ani jedno není kryptografické tvrzení.
Přesný závěr je kumulativní: specifikace vysvětluje návrh, build a konfigurace vysvětlují tunel a dokumentované postupy operátora vysvětlují vše, co tunel nikdy nevidí. Řekněte, co z toho jste ověřili, a tvrzení zůstane pravdivé.