Wsparcie dla VPN WireGuard zostało przeniesione do jądra platformy Android

Firma Google dodała do podstawowej bazy kodu Android kod z wbudowaną obsługą VPN WireGuard. Kod WireGuard został przeniesiony do modyfikacji jądra Linux 5.4, rozwijanej dla przyszłej wersji platformy Android 12, z głównego jądra Linux 5.6, do którego pierwotnie był przyjęty WireGuard. Działająca na poziomie jądra obsługa WireGuard jest włączona domyślnie.

Do tej pory deweloperzy WireGuard dla Androida oferowali aplikację mobilną, która już została usunięta przez firmę Google z katalogu Google Play z powodu linku do strony zbiórki darowizn na stronie projektu, która naruszała zasady prowadzenia płatności (darowizny są uznawane za niedopuszczalne, jeśli zbiera je niezarejestrowana organizacja non-profit).

Przypominamy, że VPN WireGuard oparty jest na nowoczesnych metodach szyfrowania, zapewnia bardzo wysoką wydajność, jest prosty w użyciu, pozbawiony zbędnych komplikacji i dobrze sprawdził się w wielu zastosowaniach, przetwarzających duże ilości ruchu. Projekt rozwija się od 2015 roku, przeszedł audyt oraz formalną weryfikację stosowanych metod szyfrowania. W WireGuard stosuje się koncepcję routingu opartą na kluczach szyfrowania, która zakłada przypisanie do każdego interfejsu sieciowego klucza prywatnego i wykorzystanie do powiązania kluczy publicznych.

Wymiana kluczy publicznych w celu nawiązania połączenia odbywa się na zasadzie analogii do SSH. Aby uzgodnić klucze i połączenie bez uruchamiania oddzielnego demona w przestrzeni użytkownika, zastosowano mechanizm Noise_IK z Noise Protocol Framework, przypominający utrzymywanie authorized_keys w SSH. Przesył danych odbywa się przez enkapsulację w pakietach UDP. Obsługiwane jest zmienianie adresu IP serwera VPN (roaming) bez przerywania połączenia z automatycznym rekonfigurowaniem klienta.

Do szyfrowania jest używane strumieniowy szyfr ChaCha20 i algorytm autoryzacji wiadomości (MAC) Poly1305, opracowane przez Daniela Bernsteina (Daniel J. Bernstein), Tanję Lange
(Tanja Lange) i Petera Schwabe'a (Peter Schwabe). ChaCha20 i Poly1305 są postrzegane jako szybsze i bezpieczniejsze odpowiedniki AES-256-CTR i HMAC, a ich implementacja programowa pozwala uzyskać stały czas wykonania bez potrzeby korzystania ze specjalnego wsparcia sprzętowego. Do generowania wspólnego tajnego klucza używany jest protokół Diffiego-Hellmana na krzywych eliptycznych w implementacji Curve25519, także zaproponowanej przez Daniela Bernsteina. Do haszowania stosowany jest algorytm BLAKE2s (RFC7693).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster