WireGuard, ett revolutionerande VPN-projekt, lägger till stöd för Android-ROM

WireGuard, ett revolutionerande in-kernel VPN-projekt som syftar till att vara snabbt, modernt och säkert, kan nu integreras direkt i Android ROM.

Det är svårt att föreställa sig det moderna internet utan ett VPN. I många år har VPN utökat privata nätverk över offentliga nätverk, vilket gör det möjligt för användare att skicka och ta emot data över delade eller offentliga nätverk som om deras datorenheter var direkt anslutna till det privata nätverk. Detta har följaktligen fått till följd att användare kan kringgå särskilda geografiska begränsningar samt att hålla data säker. VPN-programvarulandskapet har dock haft en myriad av problem, som WireGuard, ett nytt säkert tunnelprotokoll, syftar till att lösa.


OpenVPN, IPsec och deras problem

Dagens välkända VPN-lösningar på Android är OpenVPN och IPsec, men de är inte problemfria. Populariteten för OpenVPN är liksom vettig eftersom det är lättare att konfigurera än IPsec och har funnits länge. Även om projektet är en något acceptabel lösning för de flesta användare, är dess komplexitet överväldigande. OpenVPN består av cirka 120 000 rader kod. En sådan mängd kod gör projektet nästan omöjligt att granska och säkra, vilket framgår av de enorma spåren av säkerhetsbuggar under de senaste åren. OpenVPN lever också i användarutrymmet, vilket gör det ganska långsamt, eftersom varje paket måste kopieras flera gånger och medföra flera kontextväxlar. IPsec, IKEv2, L2TP, PPTP och relaterade 90-talstekniker är också ganska populära, men lika problematiska, eftersom de är stora skrymmande kodbaser -- StrongSwan är cirka 430 000 rader kod, dessutom hela kärnans XFRM-lagret -- och baserat på föråldrad 90-talskryptering visdom. Den vanliga användningen av dessa protokoll är också mycket "chattig", och skickar trafik i onödan, vilket resulterar i minskad batteritid på bärbara datorer och mobiltelefoner.


Ett spännande nytt VPN-projekt: WireGuard

Nyligen hade vi nöjet att prata med en av våra erkända utvecklare, zx2c4. I verkliga livet är han Jason Donenfeld och är författare till WireGuard, en nästa generations VPN-tunnel, som snart kan avsätta OpenVPN och IPsec. Lanserades 2015, WireGuard erbjuder banbrytande kryptografi, är lättare att granska eftersom det är mindre än 4 000 rader kod, och är ganska lätt att använda.

WireGuard är en ny VPN som körs inuti Linux-kärnan och använder den senaste kryptografi. Det syftar till att vara snabbare, enklare, smalare och mer användbart än IPSec, samtidigt som man undviker den massiva huvudvärken. Det avser att vara betydligt mer prestanda än OpenVPN. WireGuard är designad som ett allmänt VPN för att köras på både inbäddade gränssnitt och superdatorer, lämplig för många olika omständigheter. Den kör över UDP.

Mottagandet av WireGuard har varit mycket positivt, både inom säkerhetsgemenskapen och inom kärngemenskapen, med Greg KH, den stabila underhållaren av Linux-kärnan, godkänner det efter en noggrann kodgenomgång. Det har varit presenteras runt om i världen, med FOSDEM presentation kanske särskilt relevant för XDA-läsare. WireGuard vitt papper har också granskats av den akademiska världen.

Protokollet är mycket trevligt för mobiltelefoner eftersom det utvecklades som en "stealth VPN", som som standard inte skickar några paket om det inte finns faktiska data som ska skickas. Detta har effekten av inte tömma batteriet som andra VPN-klienter vanligtvis gör. Dessutom tillåter WireGuard roaming fritt mellan olika IP-adresser, vilket innebär att du kan växla mellan WiFi och mobilanslutningar, eller mellan andra typer av anslutningar, utan att behöva upprätta några anslutningar; det är helt sömlöst.

De hastigheten är bäst i klassen, som erbjuder SSSE3, AVX, AVX2, AVX512 och NEON-accelererade implementeringar av dess chiffer. Dess användning av ChaCha20 gör att den är extremt snabb på nästan all hårdvara. Vid testning slår WireGuard lätt andra protokoll.

WireGuard är inte bara det snabbaste VPN på blocket, utan kryptografin har också varit det formellt verifierad, vilket innebär att det finns matematiska bevis för att dess kryptografiska konstruktioner är säkra i den symboliska modellen. Även om kryptografin är modern, är den också konservativ och tar fel på paranoias sida snarare än frivolitetens sida. Det i kombination med dess lilla och lättgranskbara kodbas gör WireGuard mycket pålitlig ur ett säkerhetsperspektiv.


Support för WireGuard och Android

Medan WireGuard främst är utvecklad som en optimerad kärnmodul för Linux, finns det ett användarutrymme bärbar version på gång, så att den kan distribueras i appar i Play Butik utan att behöva root tillgång. Men även om implementeringen av användarutrymmet fortfarande är snabbare än konkurrenterna, lyser mycket av WireGuard-magin när den inbyggda kärnmodulen används. Av denna anledning ligger WireGuards primära intresse för XDA-utvecklingsgemenskapen i integrera kärnmodulen i ROM direkt.

WireGuard har faktiskt redan tagit sig in i vissa ROM-skivor. Framför allt är det integrerat i Sultanxdas populära ROM för OnePlus 3/3T och andra utvecklare kommer säkert att följa efter. Patchproceduren är ganska enkel och kan göras med några enkla steg. Det bästa stället att hitta referensen är android_kernel_wireguard git repository sida såväl som zx2c4s XDA-tråd om att lägga till den till ROM.

Den för närvarande under utveckling Android app använder kärnmodulen opportunistiskt, om den är tillgänglig, och faller annars tillbaka till att använda användarutrymmesimplementeringen. Appen har ett gränssnitt för att definiera VPN-tunnlar, kontrollera status och lägger mycket snyggt till en växelströmbrytare till meddelandeområdet för att slå på och av tunnlar. Nedan kan du få en glimt av det enkla växlingsgränssnittet för de tidiga versionerna av appen.

WireGuards utvecklingsteam rekryterar för närvarande Android GUI-utvecklare för att arbeta tillsammans med dem när de gör framsteg inom kärntekniken. Om några XDA-utvecklare är intresserade bör de inte tveka att kontakta zx2c4. WireGuard-projektet är helt öppen källkod och transparent.

Sammantaget verkar WireGuard vara framtiden för VPN och säkra nätverkstunnlar, som omfattar stenhård modern kryptografi, en säker granskningsbar kodbas och ett innovativt protokoll väl lämpat för smartphones. Dess användning på Linux-servern och skrivbordet är redan högt ansedd, och marscherar stadigt framåt in i mainline Linux. Vi på XDA ser fram emot att se WireGuard komma till Android och våra ROM.

Om du är sugen på att testa WireGuard på din enhet, kontakta din ROM-utvecklare eller kompilera om ROM på egen hand. Du kan också hämta alfaversionen av applikationen från officiell tråd eller Google Play butik.


Besök tråden WireGuard på XDA