Przeniesiono obsługę VPN WireGuard do rdzenia Androida

Google dodany do głównego kodu bazowego Androida z wbudowaną obsługą VPN WireGuard. Kod WireGuard został przeniesiony do modyfikacji Jądra Linuksa 5.4, opracowywany dla przyszłej wersji platformy Android 12, z głównego jądra Linuksa 5.6, który pierwotnie obejmował przyjęty WireGuard. Obsługa WireGuard na poziomie jądra domyślnie włączone.

Do tej pory twórcy WireGuard dla Androida zasugerował aplikacja mobilna, która już jest został usunięty przez Google z katalogu Google Play ze względu na link do strony przyjmowania darowizn na stronie projektu, co naruszyło zasady dokonywania wpłat (darowizny są oznaczane jako niedopuszczalne, jeżeli nie są zbierane przez specjalnie zarejestrowaną organizację non-profit).

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. 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