Jądro NetBSD dodaje obsługę VPN WireGuard

Twórcy projektu NetBSD сообщили o włączeniu sterownika wg przy implementacji protokołu WireGuard w głównym jądrze NetBSD. NetBSD stał się trzecim systemem operacyjnym po Linuksie i OpenBSD ze zintegrowaną obsługą WireGuard. Dostępne są również powiązane polecenia do konfiguracji VPN - wg-keygen i wgconfig. W domyślnej konfiguracji jądra (GENERIC) sterownik nie jest jeszcze aktywowany i wymaga wyraźnego wskazania w ustawieniach „pseudo-device wg”.

Dodatkowo można to zauważyć publikacja aktualizacja naprawcza pakietu wireguard-tools 1.0.20200820, która zawiera narzędzia przestrzeni użytkownika, takie jak wg i wg-quick. Nowa wersja przygotowuje IPC na nadchodzącą obsługę WireGuard w systemie operacyjnym FreeBSD. Kod specyficzny dla różnych platform został podzielony na różne pliki. Do pliku jednostki systemowej dodano obsługę polecenia „reload”, co umożliwia uruchamianie konstrukcji takich jak „systemctl reload wg-quick at wgnet0”.

Przypomnijmy, że VPN WireGuard realizowany jest w oparciu o nowoczesne metody szyfrowania, zapewnia bardzo wysoką wydajność, jest łatwy w obsłudze, pozbawiony komplikacji i sprawdził się w wielu dużych wdrożeniach przetwarzających duże wolumeny ruchu. Projekt rozwija się od 2015 roku, przeszedł audyty i weryfikacja formalna stosowane metody szyfrowania. Obsługa WireGuard jest już zintegrowana z NetworkManagerem i systemd, a poprawki jądra są zawarte w podstawowych dystrybucjach Debian niestabilny, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

WireGuard wykorzystuje koncepcję routingu klucza szyfrowania, która polega na dołączeniu klucza prywatnego do każdego interfejsu sieciowego i użyciu go do powiązania kluczy publicznych. Klucze publiczne są wymieniane w celu nawiązania połączenia w sposób podobny do SSH. Aby negocjować klucze i łączyć się bez uruchamiania osobnego demona w przestrzeni użytkownika, mechanizm Noise_IK z Ramy protokołu hałasupodobne do utrzymywania autoryzowanych kluczy w SSH. Transmisja danych odbywa się poprzez enkapsulację w pakietach UDP. Obsługuje zmianę adresu IP serwera VPN (roaming) bez rozłączania połączenia z automatyczną rekonfiguracją klienta.

Do szyfrowania używany szyfr strumieniowy ChaCha20 i algorytm uwierzytelniania wiadomości (MAC) Poly1305, zaprojektowany przez Daniela Bernsteina (Daniela J. Bernsteina), Tanyi Lange
(Tanja Lange) i Petera Schwabe. ChaCha20 i Poly1305 są pozycjonowane jako szybsze i bezpieczniejsze analogi AES-256-CTR i HMAC, których implementacja programowa pozwala na osiągnięcie stałego czasu wykonania bez użycia specjalnego wsparcia sprzętowego. Aby wygenerować wspólny tajny klucz, w implementacji wykorzystano protokół krzywej eliptycznej Diffiego-Hellmana Curve25519, zaproponowany również przez Daniela Bernsteina. Algorytm używany do mieszania to BLAKE2 (RFC7693).

Źródło: opennet.ru

Dodaj komentarz