ANet projekt (ANet Secure Transport Protocol) arendab alternatiivset platvormi turvaliste tunnelite loomiseks, mis on mõeldud erasektorite ühendamiseks olukordades, kus tavalised lahendused (WireGuard, OpenVPN) ei ole põhjendatud. Projekt ei positsioneeri end jällegi WireGuardi forkina, vaid kui "Sõprade Võrk" (Friends-to-Friends VPN), keskendudes tõestatud krüptoalgoritmide kasutamisele ja autonoomsele tööle "Dead Man’s Hand" režiimis. ANet kasutab omaenda transpordiprotokolli ASTP (ANet Secure Transport Protocol), mis tagab täieliku lõpp-otsani krüptimise, talub suurt pakettide kadu ja on eristatav juhuslikust UDP-liiklusest. Kood on kirjutatud nullist Rusti keeles ja levitatakse MIT litsentsi alusel, kuid selge keelu all GPL 2.0 ja 3.0 sõltuvuste lisamine projekti.
Peamised omadused:
- Kasutades ChaCha20/Poly1305 krüptoalgoritme voogude jaoks, X25519 epideemiliste DH-de jaoks ja Ed25519 autentimiseks. Ei mingeid pärandalgoritme ega "Windows XP-ga ühilduvuse koode".
- QUIC-sarnasele UDP-il põhinev transport, kuid oma raamistamisega: iga pakett on ümbritsetud krüpteeritud «envelope’iga», mis sisaldab juhuslikku täiteainet ja jitterit (0 kuni N nanosekundit), varjates ühenduse loomise protsessi valge müra all.
- Jaotatud arhitektuur koos autoriseerimise serveriga (anet-auth), mis kontrollib kliendi sõrmejälge (SHA256 avaliku võtme põhjal Ed25519-lt). Tunnel luuakse PSK (eelnevalt jagatud võti) kaudu, mis saadakse 4-faasilise handshake'i (DH + double ratchet) käigus. Kui autoriseerimise server ebaõnnestub, jätkab võrk eelnevalt laaditud võtmete põhjal töötamist (failover täielikku kohaliku režiimi).
- Toetatud platvormid: Linux (TUN), Windows (Wintun), macOS (utun), Android (VpnService läbi JNI). Olemas on GUI egui-l (Rust-native) ja TUI peata serveritele. Pakutakse binaarseid kogumit.
Erinevalt WireGuardist, millel on äratuntav handshake (Magic number + Noise Protocol) ja OpenVPN iseloomuliku TLS-jälje tõttu algab protokollis ASTP iga pakett juhusliku impulsiga (nonce 12 baiti), millele järgneb muutuva pikkusega krüpteeritud tekst, mille täiendav täitmine saavutab lähima ploki suuruse (seadistatav). Välise vaatleja jaoks on liiklus eristamatu juhuslikust. ANet esitatakse katseena tuua tagasi VPN „füüsilisus“ floppineti ajast (HDD sõbra juures), kuid digitaalses vormis: PSK (eelnevalt jagatud võtmest), käsitsi marsruutimine, „zero-knowledge proof“ sõrmejälje kaudu.
Projekt on varustatud käitumiskoodeksiga (Code of Conduct), mis on koostatud „radikaalse aususe“ põhimõtte kohaselt. Reeglites on kirjas „õigus solvuda“ (õigus kedagi arendajat solida, kui kood on halb), „peegeldav vastus“ (kaebusi toksilisuse kohta ignoreeritakse), koodi prioriteet (pole tähtis, kes autor, oluline on koodi kvaliteet) ja keeldumine poliitilise korrektuse pealesurumise eest.
Allikas: opennet.ru
