ANet (ANet Secure Transport Protocol) projekt arendab alternatiivset steki, et korraldada turvalisi tunnelit, mis on mõeldud eravõrkude ühendamiseks olukordades, kus standardlahendused (WireGuard, OpenVPN) ei ole erinevatel põhjustel kasutatavad. Projekt positsioneeritakse mitte kui veel üks WireGuardi fork, vaid kui „Sõprade Võrk“ (Friends-to-Friends VPN), keskendudes tunnustatud krüptograafiliste algoritmide kasutamisele ja autonoomsele tööle režiimis „Dead Man’s Hand“. ANet kasutab oma transportprotokolli ASTP (ANet Secure Transport Protocol), mis tagab täieliku lõpp-lõpuni krüpteerimise, on vastupidav kõrgele pakettide kadumisele ja ei ole eristatav juhuslikust UDP-läbisõidust. Kood on kirjutatud nullist Rusti keeles ja levitatakse MIT litsentsi alusel, kuid selge keeluga lisada projekti sõltuvusi GPL 2.0 ja 3.0 alla.
Põhiomadused:
- Kasutatavad krüptograafilised algoritmid: ChaCha20/Poly1305 voogude jaoks, X25519 ajutise DH jaoks, Ed25519 autentimiseks. Ei mingit vananenud algoritmi ega „kõrvalehitisi Windows XP ühilduvuse tagamiseks“.
- Transport põhineb QUIC-sarnasel kattekiht UDP peal, kuid omamoodi framing: iga pakett on ümbritsetud krüpteeritud „envelope’i“ juhusliku täiendava täidis- ja jitter’iga (0 kuni N nanosekundit), mis maskeerib ühenduse loomise protsessi valge müra all.
- Jaotatud arhitektuur koos autoriseerimisserveriga (anet-auth), mis kontrollib kliendi sõrmejälge (SHA256 avatud võtme põhjal, mis on loodud Ed25519 jaoks). Tunnel tõstetakse üles PSK (eelnevalt jagatud võtme) abil, mis saadakse 4-faasilise handshake’i (DH + double ratchet) kaudu. Kui autoriseerimisserver ebaõnnestub, jätkab võrk töötamist eelnevalt laetud võtmete abil (failover täieliku kohaliku režiimi juurde).
- Toetatud platvormid: Linux (TUN), Windows (Wintun), macOS (utun), Android (VpnService läbi JNI). On GUI egui (Rusti-loodud) ja TUI pea-vabad serverid. Pakutakse binaarseid kogumeid.
Erinevalt WireGuardist, millel on äratuntav handshake (Magic number + Noise Protocol) ja OpenVPN omapärane TLS-i sõrmjälg, algab ASTP protokollis iga pakett juhusliku algsega (nonce 12 baiti), millele järgneb muutuva pikkusega krüpteeritud tekst, mille täiendav täidis on kuni lähima ploki suuruseni (seadistatav). Välist vaatlejat tuleb liiklus, mis ei erine juhuslikust. ANet esitatakse kui katset tuua tagasi „füüsilisus“ floppinettide ajast (HDD sõbra poolt), kuid digitaalselt: PSK (eelnevalt jagatud võtmed), manuaalne marsruutide haldamine, „zero-knowledge proof“ fingerpringi kaudu. VPN „füüsilisus“ floppinettide ajast (HDD sõbra poolt), kuid digitaalselt: PSK (eelnevalt jagatud võtmed), manuaalne marsruutide haldamine, „zero-knowledge proof“ fingerpringi kaudu.
Projekt on varustatud käitumiskoodeksiga (Code of Conduct), mis on koostatud «radikaalse aususe» printsiibi kohaselt. Reeglid määravad «õiguse saatmisele» (õigus saata minema iga arendaja halva koodi tõttu), «peegeldava vastuse» (kaebusi toksilisuse kohta ei arvestata), koodi prioriteediks (pole tähtis, kes on autor, vaid koodi kvaliteet) ja keelu katsetele poliitkorrektsuse pealesurumiseks.
Allikas: opennet.ru
