WireGuard vs. AmneziaWG : quelle est la différence entre les protocoles
HamikVPN, comme un certain nombre d'autres services, utilise le protocole AmneziaWG — mais qu'est-ce que cela signifie vraiment ? Un algorithme de chiffrement différent, ou tout autre chose ? Voici un examen technique de ce qui change réellement par rapport au WireGuard classique, et de ce qui reste identique.
WireGuard : un protocole compact avec une signature reconnaissable
WireGuard s'est fait connaître précisément grâce à sa simplicité : une base de code réduite, une cryptographie moderne sans devoir choisir parmi des dizaines d'algorithmes, et une vitesse élevée par rapport aux protocoles plus anciens. Le revers de cette simplicité, c'est une certaine prévisibilité au niveau des paquets individuels. Selon la documentation technique d'AmneziaWG, le paquet d'initiation de la poignée de main du WireGuard standard fait toujours exactement 148 octets, son paquet de réponse 92 octets, et son paquet de cookie 64 octets. Ces tailles fixes et répétitives, ainsi que ces en-têtes, forment une « empreinte » stable que les équipements d'analyse de trafic présents sur le chemin de la connexion peuvent utiliser pour reconnaître le simple fait que WireGuard est utilisé, même sans pouvoir lire les données chiffrées elles-mêmes.
Il ne s'agit pas d'une faiblesse théorique du chiffrement — le contenu du trafic reste protégé. C'est une question de métadonnées : le protocole que vous utilisez se devine à la forme des paquets, même quand leur contenu est illisible. Et les réseaux qui pratiquent l'analyse et le façonnage du trafic — des opérateurs mobiles individuels aux réseaux d'entreprise ou d'hôtel — traitent parfois le trafic VPN reconnu différemment du trafic ordinaire, ce qui peut affecter la stabilité de la connexion.
Ce que change AmneziaWG : l'obfuscation au niveau du transport
AmneziaWG est un fork de l'implémentation WireGuard-Go qui supprime précisément cette prévisibilité, sans toucher au cœur cryptographique. Selon la documentation officielle du projet, plusieurs groupes de paramètres en sont responsables :
- Jc, Jmin, Jmax — avant la poignée de main principale, Jc paquets « junk » d'une taille aléatoire comprise entre Jmin et Jmax octets sont envoyés. Le destinataire ne les analyse ni ne les valide — pour un observateur extérieur, ils ressemblent à un bruit UDP neutre qui brouille la synchronisation et la taille caractéristiques du début d'une session.
- S1–S2 — des préfixes pseudo-aléatoires (0 à 32/64 octets) ajoutés à chaque type de paquet, rendant leur longueur variable au lieu de fixe.
- H1–H4 — les identifiants d'en-tête prévisibles de WireGuard sont remplacés par des valeurs aléatoires tirées d'une plage configurée, de sorte que différents clients se retrouvent avec des en-têtes différents — ce qui signifie qu'aucune règle de détection universelle ne peut être écrite pour tous les couvrir.
Un détail important : tous ces paramètres se configurent côté serveur et doivent correspondre côté client, sinon le tunnel ne s'établit simplement pas — un client WireGuard classique ne comprendra pas un tel serveur, et inversement.
Ce qui reste identique : le cœur cryptographique
L'obfuscation n'agit qu'au niveau du transport — la forme et la synchronisation des paquets. Elle ne remplace ni n'affaiblit la cryptographie elle-même. Comme l'indique la documentation officielle du protocole WireGuard, l'échange de clés repose sur la courbe elliptique Curve25519, le chiffrement des données utilise ChaCha20 associé au code d'authentification Poly1305, et le hachage repose sur BLAKE2s. AmneziaWG hérite exactement de cet ensemble d'algorithmes, sans aucun changement : ses développeurs ont délibérément laissé intact le code cryptographique — déjà passé en revue par des chercheurs indépendants — en limitant leurs modifications aux en-têtes et aux paquets de service. Du point de vue de la protection du contenu du trafic, il n'y a aucune différence entre WireGuard et AmneziaWG.
Ce que cela signifie en pratique
Pour un usage courant, la différence se résume à deux choses. D'abord, l'application et le serveur doivent utiliser le même ensemble de paramètres d'obfuscation — vous n'avez pas besoin de configurer cela manuellement dès lors que les deux extrémités utilisent un client compatible, comme l'application AmneziaVPN ou HamikVPN. Ensuite, la première phase de l'établissement de la connexion prend un peu plus de temps à cause des paquets « junk », mais cela n'affecte pas le débit d'un tunnel déjà établi. Si vous comparez des services sur la base de leur protocole, mieux vaut regarder non pas les arguments marketing mais la cryptographie réellement indiquée dans la documentation — les critères généraux sont détaillés dans notre article sur comment choisir un service de confidentialité.
