WireGuard zrobił wszystko dobrze i teraz jest portem dla jądra systemu Windows

osłona drutu

Wygląda na to że wszystko idzie całkiem dobrze w projekcie WireGuard, jak Jason A. Donenfeld, autor VPN WireGuard, zaprezentował projekt WireGuardNT który jest wysokowydajny port WireGuard VPN dla jądra Windows który jest kompatybilny z Windows 7, 8, 8.1 i 10 i obsługuje architektury AMD64, x86, ARM64 i ARM.

Należy pamiętać, że w ostatnim półroczu 2019 powstały poprawki z implementacją interfejsu VPN projektu w gałęzi net-next, ponieważ deweloperzy WireGuard zobowiązali się i zgodzili na przeniesienie części kodu do głównego kernel , nie jako oddzielny API, ale jako część podsystemu Crypto API.

Kilka miesięcy później w projekcie pojawiły się zmiany w OpenBSD dla narzędzi ifconfig i tcpdump z obsługą funkcjonalności WireGuard, dokumentacji i drobnych zmian w celu zintegrowania WireGuard z resztą systemu, po czym projekt został przeniesiony do kompatybilności z Androidem .

Podobne artykuł:
WireGuard wciąż go łamie, teraz to OpenBSD przyjmuje protokół

WireGuard VPN wdrażany jest w oparciu o nowoczesne metody szyfrowania, zapewnia bardzo wysoką wydajność, jest łatwy w obsłudze, bezproblemowy i sprawdził się w wielu dużych wdrożeniach obsługujących duży ruch.

Projekt rozwija się od 2015 roku, przeszedł formalny audyt i weryfikację stosowanych metod szyfrowania. WireGuard wykorzystuje koncepcję routingu kluczy szyfrowania, która obejmuje powiązanie klucza prywatnego z każdym interfejsem sieciowym i użycie kluczy publicznych do powiązania.

Wymiana kluczy publicznych w celu nawiązania połączenia odbywa się analogicznie do SSH. Aby negocjować klucze i łączyć się bez uruchamiania oddzielnego demona w przestrzeni użytkownika, używany jest mechanizm Noise_IK struktury Noise Protocol Framework, podobny do utrzymywania autoryzowanych_kluczy w SSH. Transmisja danych odbywa się poprzez enkapsulację w pakietach UDP. Obsługuje zmianę adresu IP serwera VPN (roaming) bez zrywania połączenia z automatyczną rekonfiguracją klienta.

Szyfrowanie wykorzystuje szyfrowanie strumienia ChaCha20 i algorytm uwierzytelniania wiadomości Poly1305 (MAC). ChaCha20 i Poly1305 są pozycjonowane jako szybsze i bezpieczniejsze odpowiedniki AES-256-CTR i HMAC, których implementacja oprogramowania pozwala osiągnąć stały czas pracy bez użycia specjalnego wsparcia sprzętowego.

I teraz projekt pojawia się jako port dla Windows oferuje nasz konfigurator buduje na przetestowanej bazie kodu podstawowej implementacji WireGuard dla jądro Linuksa, który został przetłumaczony tak, aby używał jednostek jądra systemu Windows i stosu sieciowego NDIS.

Po wielu miesiącach pracy, Simon i ja mamy przyjemność ogłosić projekt WireGuardNT, natywny port WireGuard dla jądra Windows. 

WireGuardNT, zaczynał jako port bazy kodu Linuksa… Po początkowych staraniach o przenośność, które zakończyły się sukcesem, baza kodu NT szybko zmieniła się, aby dobrze pasować do natywnych NTism i API NDIS (stosu sieciowego Windows). Efektem końcowym jest głęboko zintegrowana, wysokowydajna implementacja WireGuard, która wykorzystuje pełen zakres możliwości jądra NT i NDIS.

W porównaniu z implementacją wireguard-go, która działa w przestrzeni użytkownika i wykorzystuje interfejs sieciowy Wintun, WireGuardNT ma znaczną poprawę wydajności poprzez wyeliminowanie operacji przełączania kontekstu i skopiuj zawartość pakietu z jądra do przestrzeni użytkownika.

Analogicznie do implementacji WireGuardNT dla Linuksa, OpenBSD i FreeBSD, cała logika przetwarzania protokołu działa bezpośrednio na poziomie stosu sieciowego.

Podobne artykuł:
WireGuard został ostatecznie zaakceptowany przez Linusa Torvaldsa i zostanie zintegrowany z Linuksem 5.6

Chociaż nie dokonano jeszcze żadnych konkretnych optymalizacji, WireGuardNT osiągnął już maksymalną przepustowość przesyłania danych 7,5 Gbps w naszym środowisku testowym z Ethernetem.

W rzeczywistych systemach użytkownika z Wi-Fi wydajność jest zauważalnie niższa, ale nie różni się zbytnio od bezpośredniego przesyłania danych. Na przykład w systemie z kartą bezprzewodową Intel AC9560 wydajność bez WireGuarda wynosiła 600 Mb/s, a z WireGuardNT również 600 Mb/s, podczas gdy przy użyciu wireguard-go / Wintun 95 Mb/s.

źródło: https://lists.zx2c4.com/


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.