WireGuard, et revolusjonerende VPN-prosjekt i kjernen som har som mål å være raskt, moderne og sikkert, kan nå integreres direkte i Android ROM-er.
Det er vanskelig å forestille seg det moderne Internett uten en VPN. I mange år har VPN-er utvidet private nettverk på tvers av offentlige nettverk, slik at brukere kan sende og motta data på tvers av delte eller offentlige nettverk som om dataenhetene deres var direkte koblet til det private Nettverk. Dette har følgelig hatt den effekten at brukerne kan omgå bestemte geografiske begrensninger samt holde data sikre. VPN-programvarelandskapet har imidlertid hatt en myriade av problemer, som WireGuard, en ny sikker tunnelprotokoll, tar sikte på å løse.
OpenVPN, IPsec og deres problemer
Dagens velkjente VPN-løsninger på Android er OpenVPN og IPsec, men de er ikke uten problemer. Populariteten til OpenVPN er på en måte fornuftig siden det er enklere å konfigurere enn IPsec og har eksistert lenge. Selv om prosjektet er en litt akseptabel løsning for de fleste brukere, er kompleksiteten overveldende. OpenVPN består av rundt 120 000 linjer med kode. En slik mengde kode gjør prosjektet nesten umulig å revidere og sikre, noe det enorme sporet av sikkerhetsfeil de siste årene viser. OpenVPN bor også i brukerområdet, noe som gjør det ganske tregt, siden hver pakke må kopieres flere ganger og pådra seg flere kontekstsvitsjer. IPsec, IKEv2, L2TP, PPTP og relaterte 90-tallsteknologier er også ganske populære, men på samme måte problematiske, fordi de er store klumpete kodebaser -- StrongSwan er rundt 430 000 linjer med kode, i tillegg hele kjernens XFRM-lag -- og basert på utdatert 90-talls kryptografikk visdom. Den vanlige bruken av disse protokollene er også veldig "pratende", og sender trafikk unødvendig, noe som resulterer i redusert batterilevetid på bærbare datamaskiner og mobiltelefoner.
Et spennende nytt VPN-prosjekt: WireGuard
Nylig hadde vi gleden av å snakke med en av våre anerkjente utviklere, zx2c4. I det virkelige liv er han Jason Donenfeld og er forfatter av WireGuard, en neste generasjons VPN-tunnel, som snart kan detronisere OpenVPN og IPsec. Lansert i 2015, WireGuard tilbyr banebrytende kryptografi, er lettere å revidere siden det er mindre enn 4000 linjer med kode, og er ganske enkel å bruke.
WireGuard er en ny VPN som kjører inne i Linux-kjernen og bruker toppmoderne kryptografi. Den har som mål å være raskere, enklere, slankere og mer nyttig enn IPSec, samtidig som den unngår den massive hodepinen. Det har til hensikt å være betydelig mer ytelse enn OpenVPN. WireGuard er designet som en generell VPN for å kjøre på innebygde grensesnitt og superdatamaskiner, som passer for mange forskjellige omstendigheter. Den kjører over UDP.
Mottakelsen til WireGuard har vært veldig positiv, både i sikkerhetsfellesskapet og i kjernefellesskapet, med Greg KH, den stabile vedlikeholderen av Linux-kjernen, godkjenner det etter en grundig kodegjennomgang. Det har vært presentert rundt om i verden, med FOSDEM presentasjon er kanskje spesielt relevant for XDA-lesere. WireGuard hvitt papir har også blitt fagfellevurdert av det akademiske miljøet.
Protokollen er veldig fin for mobiltelefoner fordi den ble utviklet som en "stealth VPN", som som standard ikke sender noen pakker med mindre det er faktiske data som skal sendes. Dette har effekten av ikke tapper batteriet som andre VPN-klienter vanligvis gjør. I tillegg tillater WireGuard roaming fritt mellom forskjellige IP-adresser, noe som betyr at du kan gå mellom WiFi og mobilforbindelser, eller mellom andre typer tilkoblinger, uten å måtte etablere noen tilkoblinger; det er helt sømløst.
De hastigheten er best i klassen, og tilbyr SSSE3, AVX, AVX2, AVX512 og NEON-akselererte implementeringer av sine chiffer. Bruken av ChaCha20 betyr at den er ekstremt rask på nesten all maskinvare. I testing slår WireGuard andre protokoller.
WireGuard er ikke bare den raskeste VPN-en på blokken, men kryptografien har også vært det formelt bekreftet, som betyr at det er matematiske bevis på at dens kryptografiske konstruksjoner er sikre i den symbolske modellen. Selv om kryptografien er moderne, er den også konservativ, og feiler på siden av paranoia snarere enn på siden av useriøsitet. Det kombinert med dens lille og lett kontrollerbare kodebase gjør WireGuard svært pålitelig fra et sikkerhetsperspektiv.
WireGuard og Android-støtte
Mens WireGuard først og fremst er utviklet som en optimalisert kjernemodul for Linux, er det et brukerområde bærbar versjon på gang, slik at den kan distribueres i apper i Play-butikken uten å trenge root adgang. Men mens implementeringen av brukerområdet fortsatt er raskere enn konkurrentene, skinner mye av WireGuard-magien når den opprinnelige kjernemodulen brukes. Av denne grunn ligger WireGuards primære interesse for XDA-utviklingsfellesskapet i integrere kjernemodulen i ROM-er direkte.
WireGuard har allerede kommet inn i noen ROM-er, faktisk. Mest bemerkelsesverdig er det integrert i Sultanxdas populære ROM-er for OnePlus 3/3T og andre utviklere vil sikkert følge etter. Patching-prosedyren er ganske enkel og kan gjøres med noen få enkle trinn. Det beste stedet å finne referansen er android_kernel_wireguard git repository side i tillegg til zx2c4s XDA-tråd om å legge den til ROM-er.
Den for tiden i utvikling Android-app bruker kjernemodulen opportunistisk, hvis den er tilgjengelig, og faller ellers tilbake til å bruke brukerromsimplementeringen. Appen har en GUI for å definere VPN-tunneler, sjekke status, og legger veldig pent til en vippebryter til varslingsområdet for å slå av og på tunneler. Nedenfor kan du få et glimt av det enkle vekslegrensesnittet til de tidlige versjonene av appen.
WireGuard-utviklingsteamet rekrutterer for tiden Android GUI-utviklere til å jobbe sammen med dem mens de gjør fremskritt innen kjerneteknologien. Hvis noen XDA-utviklere er interessert, bør de ikke nøle med å kontakte zx2c4. WireGuard-prosjektet er fullstendig åpen kildekode og gjennomsiktig.
Totalt sett ser WireGuard ut til å være fremtiden for VPN-er og sikre nettverkstunneler, som omfatter bunnsolid moderne kryptografi, en sikker reviderbar kodebase og en innovativ protokoll som er godt egnet for smarttelefoner. Bruken på Linux-serveren og skrivebordet er allerede høyt ansett, og marsjerer solid videre inn i mainline Linux. Vi i XDA ser frem til å se WireGuard komme til Android og ROMene våre.
Hvis du er ivrig etter å teste ut WireGuard på enheten din, kontakt ROM-utvikleren din eller kompiler ROM-en på nytt på egen hånd. Du kan også hente alfaversjonen av applikasjonen fra offisiell tråd eller Google Play-butikk.
Besøk WireGuard-tråden på XDA