Do kódu FreeBSD byla přidána nová implementace VPN WireGuard.

Do stromu zdrojových textů FreeBSD byly přijaty změny s novou implementací VPN WireGuard, založené na kódu jádrového modulu, který společně připravily hlavní týmy vývojářů FreeBSD a WireGuard za účasti Jasona Donenfelda, autora VPN WireGuard, a Johna Baldwina, známého vývojáře GDB a FreeBSD, který na začátku 2000. let implementoval podporu SMP a NUMA v jádře FreeBSD. Po přijetí ovladače do FreeBSD (sys/dev/wg) bude jeho vývoj a údržba nyní probíhat v repozitáři FreeBSD.

Před přijetím kódu pod dohledem organizace FreeBSD Foundation bylo provedeno úplné posouzení změn, během kterého byl také analyzován interakce ovladače s ostatními subsystémy jádra a posouzena možnost využití kryptografických primitivů, které jádro poskytuje.

Pro použití potřebných kryptografických algoritmů ovladače došlo k rozšíření API kryptosystému jádra FreeBSD, do kterého byla přidána vrstva, umožňující využívat prostřednictvím standardního kryptografického API algoritmy, které ve FreeBSD nejsou podporovány, s využitím implementace potřebných algoritmů z knihovny libsodium. Z algoritmů, které jsou součástí ovladače, byl ponechán pouze kód pro výpočet hashů Blake2, protože poskytovaná implementace tohoto algoritmu ve FreeBSD je navázaná na pevnou velikost hashe.

Kromě toho byla během posuzování provedena optimalizace kódu, která výrazně zvýšila účinnost rozdělení zátěže na vícejádrových CPU (bylo zajištěno rovnoměrné rozložení úloh šifrování a dešifrování paketů na jádra CPU). V důsledku toho byly režijní náklady při zpracování paketů přiblíženy k implementaci ovladače pro Linux. V kódu byla také zajištěna možnost použití ovladače ossl pro zrychlení šifrovacích operací.

Na rozdíl od předchozí pokusu o integraci WireGuard do FreeBSD, nová implementace využívá standardní utilitu wg, nikoliv modifikovanou verzi ifconfig, což umožnilo unifikaci konfigurace v Linuxu a FreeBSD. Utilita wg a ovladač jsou součástí zdrojových kódů FreeBSD, což bylo umožněno změnou licencí na kód wg (kód je nyní dostupný pod licencemi MIT a GPL). Předchozí pokus o začlenění WireGuard do FreeBSD byl učiněn v roce 2020, ale skončil skandálem, během kterého byl již přidaný kód odstraněn kvůli nízké kvalitě, nezodpovědnému zacházení s buffery, používání zástupných symbolů místo kontrol, neúplné implementaci protokolu a porušení licence GPL.

Připomínáme, že VPN WireGuard je implementován na základě moderních šifrovacích metod, zajišťuje velmi vysoký výkon, je snadno použitelný, bez zbytečných komplikací a osvědčil se v řadě velkých nasazení, které zpracovávají velké objemy provozu. Projekt se vyvíjí od roku 2015, prošel auditem a formální verifikací použitých šifrovacích metod. V WireGuard je použita koncepce směrování na základě šifrovacích klíčů, která zahrnuje přidělení soukromého klíče každému síťovému rozhraní a použití pro propojení veřejných klíčů.

Výměna veřejných klíčů pro navázání spojení probíhá podobně jako při SSH. Pro dohodu o klíčích a spojení bez spuštění samostatného démona v uživatelském prostoru se používá mechanismus Noise_IK z Noise Protocol Framework, který je podobný zachování authorized_keys v SSH. Přenos dat se provádí prostřednictvím kapsulace do UDP paketů. Podporována je změna IP adres VPN servery (roaming) bez přerušení spojení s automatickým přeprogramováním klienta.

K šifrování se používá proudová šifra ChaCha20 a algoritmus autentizace zpráv (MAC) Poly1305, které vytvořili Daniel Bernstein, Tanja Lange a Peter Schwabe. ChaCha20 a Poly1305 jsou považovány za rychlejší a bezpečnější alternativy k AES-256-CTR a HMAC, jejichž softwarová implementace umožňuje dosáhnout konstantní doby provádění bez zapojení speciální hardwarové podpory. K generování sdíleného tajného klíče se používá protokol Diffie-Hellman na eliptických křivkách v implementaci Curve25519, rovněž navržené Danielem Bernsteinem. K hashování se používá algoritmus BLAKE2s (RFC7693).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster