WireGuard, un projet VPN intégré au noyau révolutionnaire qui se veut rapide, moderne et sécurisé, peut désormais être directement intégré aux ROM Android.
Il est difficile d’imaginer l’Internet moderne sans VPN. Depuis de nombreuses années, les VPN ont étendu les réseaux privés aux réseaux publics, permettant aux utilisateurs d'envoyer et de recevoir des données. données sur des réseaux partagés ou publics comme si leurs appareils informatiques étaient directement connectés au réseau privé réseau. Cela a par conséquent eu pour effet de permettre aux utilisateurs de contourner des restrictions géographiques particulières ainsi que de sécuriser leurs données. Le paysage logiciel VPN a cependant connu une myriade de problèmes, que WireGuard, un nouveau protocole de tunneling sécurisé, vise à résoudre.
OpenVPN, IPsec et leurs problèmes
Les solutions VPN les plus connues aujourd’hui sur Android sont OpenVPN et IPsec, mais elles ne sont pas sans problèmes. La popularité d’OpenVPN est logique car il est plus facile à configurer qu’IPsec et existe depuis longtemps. Bien que le projet constitue une solution quelque peu acceptable pour la plupart des utilisateurs, sa complexité est écrasante. OpenVPN comprend environ 120 000 lignes de code. Une telle quantité de code rend le projet presque impossible à auditer et à sécuriser, comme en témoigne la multitude de bugs de sécurité au cours des dernières années. OpenVPN réside également dans l'espace utilisateur, ce qui le rend assez lent, puisque chaque paquet doit être copié plusieurs fois et nécessiter plusieurs changements de contexte. IPsec, IKEv2, L2TP, PPTP et les technologies associées des années 90 sont également très populaires, mais tout aussi problématiques, car il s'agit de bases de code volumineuses et volumineuses. -- StrongSwan contient environ 430 000 lignes de code, en plus de toute la couche XFRM du noyau -- et est basé sur des données cryptographiques obsolètes des années 90. sagesse. L’utilisation ordinaire de ces protocoles est également très « bavarde », envoyant du trafic inutilement, ce qui réduit la durée de vie des batteries des ordinateurs portables et des téléphones mobiles.
Un nouveau projet VPN passionnant: WireGuard
Récemment, nous avons eu le plaisir de parler à l'un de nos développeurs reconnus, zx2c4. Dans la vraie vie, il s'appelle Jason Donenfeld et est l'auteur de WireGuard, un tunnel VPN de nouvelle génération, qui pourrait bientôt détrôner OpenVPN et IPsec. Lancé en 2015, WireGuard offre une cryptographie de pointe, est plus facile à auditer car il est moins de 4 000 lignes de code, et est assez simple à utiliser.
WireGuard est un nouveau VPN qui s'exécute dans le noyau Linux et utilise une cryptographie de pointe. Il vise à être plus rapide, plus simple, plus simple et plus utile qu'IPSec, tout en évitant les énormes maux de tête. Il a l'intention d'être considérablement plus performant qu'OpenVPN. WireGuard est conçu comme un VPN à usage général pour fonctionner aussi bien sur des interfaces intégrées que sur des super-ordinateurs, adapté à de nombreuses circonstances différentes. Il fonctionne sur UDP.
L'accueil réservé à WireGuard a été très positif, tant au sein de la communauté de la sécurité qu'au sein de la communauté du noyau, avec Greg KH, le mainteneur stable du noyau Linux, l'approuvant après une révision approfondie du code. Il a été présenté partout dans le monde, avec Présentation du FOSDEM étant peut-être particulièrement pertinent pour les lecteurs XDA. Le WireGuard papier blanc a également été évalué par la communauté universitaire.
Le protocole est très adapté aux téléphones mobiles car il a été développé comme un « VPN furtif », n’envoyant par défaut aucun paquet à moins qu’il n’y ait de données réelles à envoyer. Cela a pour effet de ne décharge pas la batterie comme le font généralement les autres clients VPN. De plus, WireGuard permet de se déplacer librement entre différentes adresses IP, ce qui signifie que vous pouvez passer d'une adresse IP à une autre. Connexions WiFi et cellulaires, ou entre tout autre type de connexion, sans avoir à établir de connexion Connexions; c’est entièrement transparent.
Le la vitesse est la meilleure de sa catégorie, proposant des implémentations accélérées SSSE3, AVX, AVX2, AVX512 et NEON de ses chiffrements. Son utilisation de ChaCha20 signifie qu'il est extrêmement rapide sur presque tous les matériels. Lors des tests, WireGuard bat facilement les autres protocoles.
WireGuard n'est pas seulement le VPN le plus rapide du marché, mais la cryptographie a également été formellement vérifié, ce qui signifie qu'il existe des preuves mathématiques que ses constructions cryptographiques sont sécurisées dans le modèle symbolique. Bien que la cryptographie soit moderne, elle est également conservatrice, péchant par excès de paranoïa plutôt que par frivolité. Cela, combiné à sa base de code minuscule et facilement auditable, rend WireGuard très fiable du point de vue de la sécurité.
Prise en charge de WireGuard et Android
Bien que WireGuard soit principalement développé en tant que module de noyau optimisé pour Linux, il existe un espace utilisateur version portable en préparation, afin qu'elle puisse être distribuée dans les applications du Play Store sans avoir besoin de root accéder. Cependant, même si l'implémentation de l'espace utilisateur est toujours plus rapide que celle de la concurrence, une grande partie de la magie de WireGuard brille lorsque le module natif du noyau est utilisé. Pour cette raison, le principal intérêt de WireGuard pour la communauté de développement XDA réside dans intégrer le module noyau directement dans les ROM.
En fait, WireGuard a déjà fait son chemin dans certaines ROM. Plus particulièrement, il est intégré dans Les ROM populaires de Sultanxda pour le OnePlus 3/3T et d'autres développeurs suivront sûrement. La procédure d’application des correctifs est assez simple et peut être effectuée en quelques étapes simples. Le meilleur endroit pour trouver la référence est le page du référentiel git android_kernel_wireguard ainsi que Fil XDA de zx2c4 sur son ajout aux ROM.
Actuellement en développement Application Androïd utilise le module du noyau de manière opportuniste, s'il est disponible, et sinon, il revient à l'implémentation de l'espace utilisateur. L'application dispose d'une interface graphique pour définir les tunnels VPN, vérifier l'état et ajoute très joliment un interrupteur à bascule à la zone de notification pour activer et désactiver les tunnels. Ci-dessous, vous pouvez avoir un aperçu de l'interface de basculement simple des premières versions de l'application.
L'équipe de développement de WireGuard recrute actuellement des développeurs d'interface graphique Android pour travailler à leurs côtés à mesure qu'ils progressent dans la technologie de base. Si des développeurs XDA sont intéressés, ils ne devraient pas hésiter à contacter zx2c4. Le projet WireGuard est entièrement open source et transparent.
Dans l’ensemble, WireGuard semble être l’avenir des VPN et des tunnels réseau sécurisés, solide comme le roc. une cryptographie moderne, une base de code sécurisée et vérifiable et un protocole innovant bien adapté pour téléphones intelligents. Son utilisation sur le serveur et le bureau Linux est déjà très appréciée et progresse solidement vers Linux principal. Chez XDA, nous sommes impatients de voir WireGuard arriver sur Android et nos ROM.
Si vous souhaitez tester WireGuard sur votre appareil, contactez votre développeur de ROM ou recompilez la ROM par vous-même. Vous pouvez également récupérer la version alpha de l'application depuis le fil de discussion officiel ou Boutique Google Play.
Visitez le fil de discussion WireGuard sur XDA