Le guide pour comprendre WireGuard sur les VPN


  • Français
  • English

  • WireGuard est un protocole qui fait parler beaucoup de lui ces derniers temps. Il va améliorer la sécurité et la vitesse des VPN, mais il y a aussi des inconvénients.


    WireGuard est un protocole qui fait parler beaucoup de lui ces derniers temps. Il va améliorer la sécurité et la vitesse des VPN, mais il y a aussi des inconvénients.
    Publicités

    WireGuard fait partie des protocoles qui sont ajoutés de plus en plus chez les fournisseurs VPN. Il y a quelques mois, WireGuard a fait parler de lui, car Linus Torvald nous a sorti ça à son propos :

    Puis-je dire une fois de plus mon amour pour WireGuard et espérer qu’il sera bientôt fusionné? Peut-être que le code n’est pas parfait, mais je l’ai parcouru et comparé aux horreurs d’OpenVPN et d’IPSec, c’est une Å“uvre d’art – Linus Torvald sur la Mailing List du développement de Linux

    Bon quand Linus Torvald aime le code de quelque chose, on s’y intéresse. Mais Torvald apprécie l’aspect technique. Il est vrai que WireGuard a tout pour plaire du coté du développement. Mais c’est son efficacité qui fera la différence. Le protocole VPN est la technologie qui permet de chiffrer les données quand vous utilisez une connexion VPN. C’est ça qui permet d’éviter des attaques pour intercepter vos données et éviter de vous faire pirater quand vous êtes sur un Wifi public par exemple.

    Histoire de WireGuard

    WireGuard a été développé par Jason A. Donenfield en 2015 en tant que module pour le noyau de Linux. L’objectif était de créer un protocole VPN à partir de zéro, pour qu’il soit léger, pratique à utiliser et surtout qu’il utilise les dernières normes de chiffrement. Les objectifs a été réalité en 2020 avec l’intégration de WireGuard dans le noyau Linux 5.6. Cela signifie que toute distribution Linux, compilée avec cette version du noyau pourra bénéficier de WireGuard en natif.

    Les avantages de WireGuard

    Comme c’est un nouveau protocole VPN, il a beaucoup moins de lignes de code que les protocoles actuellement utilisés. Dans les VPN, on a l’habitude d’utiliser principalement deux protocoles, OpenVPN et la combinaison L2TP/IPSec. Et disons que l’implémentation de ces protocoles sur des serveurs, c’est comme acheter un paquet de lames de rasoir, les mettre dans un verre d’eau, les avaler en mâchant bien, ensuite prendre une cuillère et s’arracher les yeux avec et ensuite, se trancher la gorge devant un miroir en éclatant de rire. C’est de la merde absolue, car OpenVPN et IPSec sont des protocoles très anciens.

    OpenVPN et OpenSSL possède 600 000 lignes de code au total et pour IPVPN, c’est 400 000 lignes de code. En comparaison, WireGuard possède 4 000 lignes de code. Cela en fait donc un protocole très léger et très sécurisée. Car plus un programme a de lignes de code, plus il y a la surface pour l’attaquer et trouver des failles de sécurité.

    Facile à installer

    Pour l’utilisateur des VPNs, c’est toujours facile à utiliser. Vous prenez un abonnement, vous téléchargez le logiciel VPN pour votre plateforme et le tour est joué. Vous ne voyez rien sous le capot, mais du coté des fournisseurs VPN, c’est une autre galère. Et surtout, qu’ils peuvent avoir des centaines de serveurs VPN dans le monde et chacun doit être configuré et maintenue à intervalle régulier.

    Plus, je propose une liste de fournisseurs VPN qui supportent déjà WireGuard, mais cela ne signifie pas que c’est un jeu d’enfant. Car les VPNs, on peut les acheter, mais on peut aussi configurer son propre serveur VPN. Si vous vous lancez avec WireGuard, il vous faudra bien lire la documentation et passer du temps pour comprendre tous les aspects techniques. Il faudra déjà être familier avec la création de serveurs VPN. Mais dans l’ensemble, cela vous prendra moins de temps.

    WireGuard utilise les protocoles de chiffrement les plus récents

    WireGuard est un protocole qui fait parler beaucoup de lui ces derniers temps. Il va améliorer la sécurité et la vitesse des VPN, mais il y a aussi des inconvénients.

    Une autre raison pour laquelle le monde du VPN se passionne pour WireGuard est les protocoles de chiffrement utilisés et l’approche globale. Parmi les protocoles, on peut citer :

    • ChaCha20 pour le chiffrement symétrique, authentifié avec Poly1305, en utilisant la construction AEAD de RFC7539
    • Curve25519 pour ECDH
    • BLAKE2s pour le hachage et le hachage par clé, décrit dans RFC7693
    • SipHash24 pour les clés de hachage
    • HKDF pour la dérivation de clé, comme décrit dans RFC5869

    Même si vous ne comprenez rien à ces protocoles de chiffrement, sachez simplement qu’ils sont les plus récents, mais surtout que leur approche est différent en cas de faille. Comme tout protocole VPN, il faut générer des clés publiques et privées pour WireGuard (encore une fois, c’est de la configuration technique dont l’utilisateur du VPN peut s’en foutre royalement).

    Les clés de WireGuard sont en 256 Bits tandis qu’OpenVPN utilise des clés qui peuvent atteindre 4096. Mais WireGuard se contente de contre les attaques par brute force tandis qu’OpenVPN utilise une attaque par dictionnaire. OpenVPN utilise la longueur de la clé pour être constamment à l’abri, mais c’est une impasse technique. Car cela alourdit le protocole, donc le serveur et la connexion VPN.

    Avec une clé de 256 bits, vous devrez forcer environ 2256. Même si vous trouvez la solution de la clé à mi-parcours, vous devrez quand même tester 2255 possibilités. Si vous avez un ordinateur suffisamment puissant, capable d’essayer 38 millions de clés par seconde, en sachant qu’il vous faudra connaitre la clé publique du serveur WireGuard, il vous faudra 1,52 x 1069 secondes pour trouver la bonne clé. En comparaison, l’âge de l’univers est de 4,32 x 1017 secondes. Je pense qu’on a de la marge…

    L’approche de WireGuard est élégante, car tant que les algorithmes de calcul, derrière les protocoles de WireGuard, ne sont pas compromis, alors une clé de 256 bits est suffisant. Du moment que les ordinateurs ne deviennent pas plus puissants, alors WireGuard n’a rien à craindre et cette absence de crainte est régie par les lois de la physique.

    Un Handshaking plus simplifié

    En plus du protocole de chiffrement, on a aussi le Handshaking qui est la négociation quand deux entités lancent une communication. En gros, quand votre ordinateur se connecte à un serveur VPN, le Handshaking s’assure que quelqu’un ne vient pas fourrer sa main pleine de sueur dégoutante dans votre échange. Avec l’OpenVPN et l’IPSec et même le chiffrement en général, on utilise ce qu’on appelle la souplesse de chiffrement (agile crypto).

    Cela consiste à combiner plusieurs algorithmes de calcul et de problèmes mathématiques pour sécuriser les échanges. C’est une méthode qui marche bien, car elle permet de changer régulièrement l’état de l’art du chiffrement et de toujours trouver des nouvelles méthodes pour sécuriser les données. Mais à force d’utiliser plusieurs composants, on se retrouve avec un Handshaking qui est très lourd.

    WireGuard fait un régime de chiffrement en utilisant le chiffrement par version (crypto versionning). Si un protocole principal de WireGuard est mis KO, on va juste créer un autre protocole avec la version 2.0. Et on dira aux fournisseurs VPN qu’il faut passer à cette seconde version. D’une part, cela allège le serveur et d’autre part, c’est beaucoup plus facile à implémenter plutôt qu’à empiler couche après couche de correctifs pour se retrouver avec ce qu’on appelle communément un gros sac d’excréments.

    WireGuard est 5 à 10 fois plus rapide

    Malgré le fait que WireGuard est un protocole assez récent, tout le monde s’accorde à dire qu’il est beaucoup plus rapide qu’OpenVPN. Et cette rapidité est crucial dans le basculement des connexions et les Kill Switch qu’on trouve dans de nombreuses applications. Par exemple, WireGuard sur votre Smartphone va permettra de basculer du réseau Wifi en 4G ou vice-versa en quelques millisecondes. A aucun moment, votre connexion sera compromise.

    Le Kill Switch, inventé par Hide My Ass, coupe la connexion internet quand la connexion VPN n’est pas disponible. C’est pour éviter que même pendant quelques minutes, votre connexion en clair et votre vraie adresse IP soit divulgué. Avec WireGuard, un serveur VPN pourra toujours avoir des micro-coupures, mais ce sera beaucoup moins flagrant et cela réduira les risques pour l’utilisateur.

    WireGuard pose-t-il des problèmes pour la vie privée ?

    WireGuard est un protocole qui fait parler beaucoup de lui ces derniers temps. Il va améliorer la sécurité et la vitesse des VPN, mais il y a aussi des inconvénients.

    Sur la sécurité, la légèreté, la vitesse, WireGuard est largement supérieure aux vieux protocoles VPN qui commencent à être datés. Mais il y a des fournisseurs VPN, notamment Cactus VPN, qui ont pointé des problèmes sur la protection de la vie privée de WireGuard. Le problème est que WireGuard a besoin d’assigner une adresse IP statique (donc qui ne change pas) à chaque utilisateur qui se connecte au serveur. OpenVPN et tous les autres protocoles assignent dynamiquement l’adresse IP.

    Avec une assignation statique, le fournisseur VPN devra créer un tableau, contenant des adresses IP statiques pour ses utilisateurs ainsi que leurs heures de connexion. Comme de nombreuses entreprises VPN promeuvent une politique de zéro donnée, alors ce serait contradictoire avec leurs pratiques. Touefois, les partisans de WireGuard estiment que c’est un faux problème. Car WireGuard est d’abord un protocole VPN, son rôle est de proposer une sécurité aussi fiable que possible.

    Sécurité vs vie privée

    On confond sécurité et vie privée, mais ce sont deux choses différentes. La sécurité concerne les algorithmes de chiffrement et que vos données ne soient pas compromis par une attaque. La vie privée concerne un adversaire qui pourrait obtenir des informations sur vous. Ce n’est pas le rôle du protocole, mais de celui qui l’implémente. C’est à dire que c’est aux fournisseurs VPN de bidouiller WireGuard pour qu’il respecte la vie privée qu’ils promettent aux utilisateurs.

    Et après quelques grimaces, ils commencent à le faire. Nordvpn propose ce qu’il appelle une double Network Address Translation (NAT) tandis qu’Ivpn utilise la durée de connexion pour chaque échange pour que l’information soit stockée au minimum sur ses serveurs. En fait, il arrive pratiquement à ne rien stocker. Et chaque fournisseur va tenter de proposer sa propre solution.

    Les fournisseurs VPN qui supportent WireGuard

    • Mullvad – Mullvad est mon petit chouchou parmi les fournisseurs VPN. Il propose une approche unique pour la création de compte avec la génération aléatoire de ticket. De cette manière, vous n’avez pas besoin de fournir une adresse mail et il permet de payer par cryptomonnaie. C’était l’un des premiers fournisseurs VPN à implémenter WireGuard.
    • NordVPN – NordVPN très connu à cause de sa stratégie marketing très agressive. Et il a implémenté WireGuard via sa propre technologie, appelée NordLynx. Elle est compatible avec la plupart des clients proposés par Nordvpn.
    • IVPN – IVPN a aussi implémenté WireGuard, mais en se basant sur la durée des échanges. Le stockage des informations est tellement minimal qu’il en est inexploitable.
    • Private Internet Access – PIA est aussi un excellent fournisseur de VPN. On se rappelle qu’il a préféré quitter la Russie plutôt de fournir l’accès de ses serveurs aux autorités russes. Mais WireGuard est encore en version bêta sur Private Internet Access.
    • ProtonVPN – Actuellement, ProtonVPN ne supporte pas encore WireGuard, toutefois, ce n’est qu’une question de temps. Si vous êtes déjà chez ce fournisseur, pas la peine de changer. ProtonVPN a contribué aussi au financement du projet WireGuard.
    • VPN.ac – Ce fournisseur VPN fait beaucoup parler de lui, car il a une approche très transparente sur la vie privée. Il garde certaines informations, mais elles sont sécurisés dans la mesure du possible. Son implémentation de WireGuard est très avancée et disponible sur la plupart de ses applications.
    • Azire VPN – S’il y a un fournisseur VPN qui pourrait rivaliser avec Mullvad sur l’obsession de la vie privée, c’est bien AzireVPN. Très transparent, des prix aussi clairs que le cristal et une bonne interface dans l’ensemble. Son intégration de WireGuard est aussi très aboutie.
    • VyprVPN – Depuis la version 4.0 de son logiciel, VyprVPN supporte Wireguard sur tous les appareils. VyprVPN est considéré comme le VPN le plus rapide sur le marché. Il est légèrement plus cher que ses concurrents, mais sa fiabilité est exemple. C’est aussi l’un des rares à posséder sa propre infrastructure de serveurs.
    • StrongVPN – Ce n’est pas le meilleur VPN si on regarde les tests, mais il a aussi pris le wagon de WireGuard. Ce qui est intéressant est que tandis que les autres fournisseurs proposent WireGuard comme une option qu’on doit activer manuellement, StrongVPN le propose comme le protocole par défaut. Cela signifie qu’il a confiance dans son implémentation.

    En conclusion

    Le mot de la fin est que WireGuard a tout pour révolutionner le monde des VPN tels que nous le connaissons. D’une part, nous aurons une sécurité irréprochable et une légéreté de la configuration qui permettra à de nouveaux acteurs de se lancer dans ce secteur. Les problèmes de la vie privée avec le stockage des adresses IP ont été résolus assez rapidement par les différents fournisseurs. OpenVPN a toujours été catastrophique sur les Smartphones et le mobile.

    En revanche, WireGuard est conçu pour être polyvalent que ce soit sur un petit Raspberry Pi ou un serveur monstrueux sous Xeon. Aucun protocole VPN n’est parfait et il y aura toujours des failles. Toutefois, l’approche de WireGuard fait que ce sera plus facile de les corriger. Dans les anciens protocoles, on avait tendance à colmater une brèche aujourd’hui pour dix qu’on découvre la semaine prochaine.

    Houssen Moshinaly

    Rédacteur web depuis 2009 et webmestre depuis 2011. Je suis également un blogueur dans la vulgarisation scientifique et la culture.

    Je m'intéresse à tous les sujets comme la politique, la culture, la géopolitique, l'économie ou la technologie. Toute information permettant d'éclairer mon esprit et donc, le vôtre, dans un monde obscur et à la dérive. Je suis l'auteur de deux livres "Le Basilic de Roko" et "Le Déclin".

    Pour me contacter personnellement :

    1 réponse

    1. bobaxx dit :

      Il n’y a pas photo entre wireguard et openvpn ou l2tp, le premier gagné haut la main, le problème d’adresse IP fixe étant mineur a mon sens .

      J’ai configuré pivpn + pihole + unbound (dns over tls) sur un rpi4 par lequel je fais tout transiter, le seul bémol est que tout sort de mon ip public de la boxe , ceci dit , c’est toujours préférable d’avoir son trafic chiffré quand on passe par la 4g/5g sur son mobile.

      Et encore ,il ya une solution la dessus, installer tout ceci sur un vps localisé en France pour ne plus être tracé jusque l’ip publique de sa box.

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *