Het ANet-project (ANet Secure Transport Protocol) ontwikkelt een alternatieve stack voor het creëren van beveiligde tunnels, bedoeld voor het verbinden van privé-netwerken onder omstandigheden waarin standaardoplossingen (WireGuard, OpenVPN) om verschillende redenen niet toepasbaar zijn. Het project wordt gepositioneerd als een 'Vrienden-VPN' (Friends-to-Friends VPN) met nadruk op het gebruik van bewezen crypto-algoritmen en autonome werking in de 'Dead Man’s Hand' modus. Binnen ANet wordt een eigen transportprotocol ASTP (ANet Secure Transport Protocol) gebruikt, dat volledige end-to-end encryptie biedt, bestand is tegen hoge pakketverliezen en niet te onderscheiden is van willekeurige UDP-verkeer. De code is vanaf nul geschreven in Rust en wordt verspreid onder de MIT-licentie, maar met een expliciet verbod op het opnemen van afhankelijkheden onder GPL 2.0 en 3.0.
Belangrijkste kenmerken:
- Gebruik van crypto-algoritmen ChaCha20/Poly1305 voor de stream, X25519 voor Ephemeral DH, Ed25519 voor authenticatie. Geen legacy-algoritmen en 'workarounds voor compatibiliteit met Windows XP'.
- Transport op basis van een QUIC-achtige laag bovenop UDP, maar met een eigen framing: elk pakket wordt verpakt in een versleutelde 'envelop' met willekeurige extra opvulling en jitter (van 0 tot N nanoseconden), wat het proces van verbinding tot stand brengen maskeert als witte ruis.
- Gedecentraliseerde architectuur met een autorisatieserver (anet-auth), die de fingerprint van de client controleert (SHA256 van de openbare sleutel op basis van Ed25519). De tunnel wordt opgezet met een PSK (pre-shared key), verkregen via een 4-fase handshake (DH + double ratchet). Als de auth-server uitvalt, blijft het netwerk werken met vooraf geladen sleutels (failover naar volledig lokale modus).
- Ondersteunde platforms: Linux (TUN), Windows (Wintun), macOS (utun), Android (VpnService via JNI). Er is een GUI op egui (Rust-native), en een TUI voor headless servers. Binaire builds worden geleverd.
In tegenstelling tot WireGuard met herkenbare handshake (Magic number + Noise Protocol) en OpenVPN met een kenmerkende TLS-handtekening, begint in het ASTP-protocol elk pakket met een willekeurige nonce (12 bytes), gevolgd door ciphertext van variabele lengte met extra opvulling tot de dichtstbijzijnde blokgrootte (aanpasbaar). Voor een externe waarnemer is het verkeer niet te onderscheiden van willekeurige. ANet wordt gepresenteerd als een poging om de 'fysikaliteit' van het floppy-net tijdperk (HDD bij een vriend) in digitale vorm terug te brengen: PSK (pre-shared keys), handmatige routingbeheer, 'zero-knowledge proof' via fingerprint. VPN ‘fysikaliteit’ van het floppy-net tijdperk (HDD bij een vriend) in digitale vorm: PSK (pre-shared keys), handmatige routingbeheer, ‘zero-knowledge proof’ via fingerprint.
Het project wordt begeleid door een gedragscode (Code of Conduct), opgesteld volgens het principe van ‘radicale eerlijkheid’. In de regels is het ‘recht op een groet’ vastgelegd (het recht om elke ontwikkelaar weg te sturen bij slecht code), het ‘spiegelantwoord’ (klachten over toxiciteit worden genegeerd), prioriteit voor code (het maakt niet uit wie de auteur is, maar wat de kwaliteit van de code is) en een ban voor pogingen tot het opleggen van politieke correctheid.
Bron: opennet.ru
