Projekt ANet (ANet Secure Transport Protocol) ma na celu opracowanie alternatywnego stosu do organizacji bezpiecznych tuneli, mającego na celu łączenie sieci prywatnych w warunkach, w których standardowe rozwiązania (WireGuard, OpenVPN) nie mają zastosowania z różnych powodów. Projekt nie jest pozycjonowany jako kolejny fork. WireGuard, ale raczej jako sieć VPN typu „Friends-to-Friends”, kładącą nacisk na sprawdzone algorytmy kryptograficzne i autonomiczne działanie w trybie „Dead Man's Hand”. ANet korzysta z własnego protokołu ASTP (ANet Secure Transport Protocol), który zapewnia pełne szyfrowanie end-to-end, jest odporny na utratę pakietów i nieodróżnialny od losowego ruchu UDP. Kod został napisany od podstaw w języku Rust i rozpowszechniany na licencji MIT, ale z wyraźnym zakazem uwzględniania w projekcie zależności GPL 2.0 i 3.0.
Najważniejsze cechy:
- Wykorzystujemy algorytmy kryptograficzne ChaCha20/Poly1305 do streamingu, X25519 do Ephemeral DH i Ed25519 do uwierzytelniania. Żadnych przestarzałych algorytmów ani obejść w zakresie kompatybilności. Windows XP".
- Transport bazuje na opakowaniu podobnym do QUIC przez UDP, ale z własną ramką: każdy pakiet jest opakowany w zaszyfrowaną kopertę z losowym dodatkowym wypełnieniem i drganiami (od 0 do N nanosekund), co sprawia, że proces negocjacji połączenia wygląda jak biały szum.
- Architektura rozproszona z serwerem autoryzacji (anet-auth), który weryfikuje odcisk palca klienta (SHA256 z klucza publicznego opartego na Ed25519). Sam tunel jest nawiązywany za pomocą klucza PSK (pre-shared key) uzyskanego poprzez czterofazowe uzgadnianie (DH + podwójny klucz zapadkowy). W przypadku awarii serwera autoryzacji sieć kontynuuje działanie z wykorzystaniem wstępnie wczytanych kluczy (przełączenie awaryjne do pełnego trybu lokalnego).
- Obsługiwane platformy: Linux (KADŹ), Windows (Wintun), macOS (utun), Android (VpnService przez JNI). Dostępny jest interfejs graficzny w egui (natywny dla Rusta) oraz interfejs użytkownika dla serwerów headless. Dostępne są kompilacje binarne.
w odróżnieniu WireGuard z rozpoznawalnym uściskiem dłoni (liczba magiczna + protokół szumów) i OpenVPN Z charakterystycznym odciskiem palca TLS, w protokole ASTP każdy pakiet rozpoczyna się od losowego ziarna (12-bajtowego nonce'a), po którym następuje szyfrogram o zmiennej długości z dodatkowym uzupełnieniem do najbliższego rozmiaru bloku (konfigurowalny). Dla zewnętrznego obserwatora ruch jest nieodróżnialny od losowego. Sieć ANet jest prezentowana jako próba powrotu do VPN „Fizyczność” ery dyskietek (znajomy ma dysk twardy), ale w formie cyfrowej: PSK (klucze współdzielone), ręczne zarządzanie trasami, dowód zerowej wiedzy za pomocą odcisku palca.
Projektowi towarzyszy Kodeks Postępowania, opracowany zgodnie z zasadą „radykalnej uczciwości”. Zasady określają „prawo do upomnienia” (prawo do upomnienia każdego programisty za słaby kod), „reakcję lustrzaną” (skargi dotyczące toksyczności są ignorowane), prymat kodu (autor nie ma znaczenia, ale jakość kodu jest ważna) oraz zakaz prób narzucania poprawności politycznej.
Źródło: opennet.ru
