WireGuard, een revolutionair in-kernel VPN-project dat snel, modern en veilig wil zijn, kan nu rechtstreeks in Android-ROM's worden geïntegreerd.
Het moderne internet is moeilijk voor te stellen zonder een VPN. Jarenlang hebben VPN's privénetwerken over openbare netwerken uitgebreid, waardoor gebruikers kunnen verzenden en ontvangen gegevens over gedeelde of openbare netwerken alsof hun computerapparatuur rechtstreeks met het privénetwerk is verbonden netwerk. Dit heeft ertoe geleid dat gebruikers bepaalde geografische beperkingen konden omzeilen en gegevens veilig konden houden. Het VPN-softwarelandschap heeft echter een groot aantal problemen gekend, die WireGuard, een nieuw veilig tunnelprotocol, wil aanpakken.
OpenVPN, IPsec en hun problemen
De bekende VPN-oplossingen van tegenwoordig op Android zijn OpenVPN en IPsec, maar deze zijn niet zonder problemen. De populariteit van OpenVPN is logisch omdat het gemakkelijker te configureren is dan IPsec en al heel lang bestaat. Hoewel het project voor de meeste gebruikers een enigszins acceptabele oplossing is, is de complexiteit ervan overweldigend. OpenVPN bestaat uit ongeveer 120.000 regels code. Een dergelijke hoeveelheid code maakt het bijna onmogelijk om het project te controleren en te beveiligen, zoals blijkt uit het enorme spoor van beveiligingsbugs van de afgelopen jaren. OpenVPN leeft ook in de gebruikersruimte, waardoor het behoorlijk traag is, omdat elk pakket verschillende keren moet worden gekopieerd en verschillende contextwisselingen moet ondergaan. IPsec, IKEv2, L2TP, PPTP en aanverwante technologieën uit de jaren 90 zijn ook behoorlijk populair, maar eveneens problematisch omdat ze grote omvangrijke codebases zijn -- StrongSwan bestaat uit ongeveer 430.000 regels code, plus de volledige XFRM-kernlaag -- en is gebaseerd op verouderde cryptografie uit de jaren 90 wijsheid. Het gewone gebruik van deze protocollen is ook erg spraakzaam, waardoor onnodig verkeer wordt verzonden, wat resulteert in een kortere levensduur van de batterij van laptops en mobiele telefoons.
Een spannend nieuw VPN-project: WireGuard
Onlangs hadden we het genoegen om met een van onze Recognized Developers te praten, zx2c4. In het echte leven is hij Jason Donenfeld en is hij auteur van Draadbeschermer, een VPN-tunnel van de volgende generatie, die binnenkort OpenVPN en IPsec kan onttronen. Gelanceerd in 2015, Draadbeschermer biedt geavanceerde cryptografie, is gemakkelijker te controleren omdat het dat is minder dan 4.000 regels codeen is vrij eenvoudig te gebruiken.
WireGuard is een nieuwe VPN die binnen de Linux Kernel draait en gebruik maakt van de modernste cryptografie. Het is bedoeld om sneller, eenvoudiger, slanker en nuttiger te zijn dan IPSec, terwijl de enorme hoofdpijn wordt vermeden. Het is van plan aanzienlijk performanter te zijn dan OpenVPN. WireGuard is ontworpen als een VPN voor algemeen gebruik voor gebruik op zowel embedded interfaces als supercomputers, geschikt voor veel verschillende omstandigheden. Het loopt via UDP.
De ontvangst van WireGuard was zeer positief, zowel binnen de beveiligingsgemeenschap als binnen de kernelgemeenschap, met Greg KH, de stabiele onderhouder van de Linux-kernel, het onderschrijven na een grondige codebeoordeling. Het is geweest gepresenteerd over de hele wereld, met de FOSDEM-presentatie misschien wel bijzonder relevant voor XDA-lezers. De Draadwacht wit papier is ook door de academische gemeenschap aan collegiale toetsing onderworpen.
Het protocol is erg prettig voor mobiele telefoons omdat het is ontwikkeld als een ‘stealth VPN’, waarbij standaard geen pakketten worden verzonden tenzij er daadwerkelijk gegevens moeten worden verzonden. Dit heeft het effect van de batterij niet leeglopen zoals andere VPN-clients gewoonlijk doen. Bovendien maakt WireGuard vrij roamen tussen verschillende IP-adressen mogelijk, wat betekent dat u kunt overschakelen tussen WiFi en mobiele verbindingen, of tussen andere soorten verbindingen, zonder dat u deze tot stand hoeft te brengen verbindingen; het is volledig naadloos.
De snelheid is de beste in zijn klasse, met SSSE3-, AVX-, AVX2-, AVX512- en NEON-versnelde implementaties van zijn cijfers. Door het gebruik van ChaCha20 is het extreem snel op vrijwel alle hardware. Tijdens het testen verslaat WireGuard handig andere protocollen.
Draadbeschermer is niet alleen de snelste VPN in de buurt, maar de cryptografie is dat ook geweest formeel geverifieerd, wat betekent dat er wiskundige bewijzen zijn dat de cryptografische constructies veilig zijn in het symbolische model. Hoewel de cryptografie modern is, is ze ook conservatief en kiest ze eerder voor paranoia dan voor lichtzinnigheid. Dat, gecombineerd met de kleine en gemakkelijk controleerbare codebasis, maakt WireGuard vanuit beveiligingsperspectief zeer betrouwbaar.
WireGuard- en Android-ondersteuning
Hoewel WireGuard voornamelijk is ontwikkeld als een geoptimaliseerde kernelmodule voor Linux, is er een gebruikersruimte draagbare versie in de maak, zodat deze kan worden gedistribueerd in apps in de Play Store zonder dat root nodig is toegang. Hoewel de implementatie van de gebruikersruimte nog steeds sneller is dan die van de concurrentie, komt veel van de WireGuard-magie naar voren wanneer de native kernelmodule wordt gebruikt. Om deze reden ligt de primaire interesse van WireGuard voor de XDA-ontwikkelgemeenschap in het rechtstreeks integreren van de kernelmodule in ROM's.
WireGuard heeft zelfs al zijn weg gevonden naar sommige ROM's. Het meest opvallende is dat het is geïntegreerd in Sultanxda's populaire ROM's voor de OnePlus 3/3T en andere ontwikkelaars zullen zeker volgen. De patchprocedure is vrij eenvoudig en kan met een paar eenvoudige stappen worden uitgevoerd. De beste plaats om de referentie te vinden is de android_kernel_wireguard git repository-pagina net zoals zx2c4's XDA-thread over het toevoegen aan ROM's.
De momenteel in ontwikkeling Android-app gebruikt de kernelmodule opportunistisch, als deze beschikbaar is, en valt anders terug op het gebruik van de gebruikersruimte-implementatie. De app heeft een GUI voor het definiëren van VPN-tunnels, het controleren van de status en voegt heel mooi een tuimelschakelaar toe aan het systeemvak om tunnels in en uit te schakelen. Hieronder kunt u een glimp opvangen van de eenvoudige schakelinterface van de vroege versies van de app.
Het ontwikkelingsteam van WireGuard is momenteel bezig met het werven van Android GUI-ontwikkelaars om met hen samen te werken terwijl ze vooruitgang boeken in de kerntechnologie. Als XDA-ontwikkelaars geïnteresseerd zijn, moeten ze niet aarzelen om contact op te nemen zx2c4. Het WireGuard-project is volledig open source en transparant.
Over het geheel genomen lijkt WireGuard de toekomst van VPN's en veilige netwerktunnels te zijn, die ijzersterk zijn moderne cryptografie, een veilige, controleerbare codebasis en een innovatief protocol dat hier zeer geschikt voor is smartphones. Het gebruik ervan op de Linux-server en desktop staat al hoog aangeschreven en is stevig op weg naar de mainstream Linux. Wij bij XDA kijken ernaar uit om WireGuard naar Android en onze ROM's te zien komen.
Als u WireGuard graag op uw apparaat wilt testen, neem dan contact op met uw ROM-ontwikkelaar of compileer het ROM zelf opnieuw. U kunt ook de alfaversie van de applicatie downloaden van de officiële draad of Google Play-winkel.
Bezoek de WireGuard-thread op XDA