WireGuard est un protocole de communication et un logiciel libre et open source permettant de créer un réseau privé virtuel (VPN). Il est conçu avec les objectifs de facilité d'utilisation, de performances et de surface d'attaque basse. Il vise une meilleure performance et une plus grande économie d'énergie que les protocoles IPsec et OpenVPN Tunneling. Le protocole WireGuard transmet le trafic sur UDP. En mars 2020, la version Linux du logiciel a atteint une version de production stable et a été intégrée au noyau Linux 5.6. Les composants du noyau Linux sont sous licence GNU (GLPL) version 2. D'autres implémentations sont sous GPLV2 ou d'autres licences gratuites / Open-Source. WireGuard utilise les protocoles suivant : Curve25519 pour l'échange de clé ChaCha20 pour la cryptographie symétrique Poly1305 pour les code d'authentification de message SipHash pour les clés hashées BLAKE2s pour la fonction de hachage cryptographique Basé uniquement en UDP WireGuard supporte le mode de pré-partage symétrique des clés, qui fournit une couche de cryptographie symétrique supplémentaire pour atténuer les futurs progrès de l'informatique quantique. Cela réduit le risque que le trafic soit stocké jusqu'à ce que les ordinateurs quantiques soient capable de casser Curve25519, leur permettant de déchiffrer le trafic. Les clés pré-partagées sont "généralement gênantes du point de vue de la gestion des clés et pourraient être plus probablement volées", mais à plus court terme, si la clé symétrique est compromise, les clés Curve25519 offrent toujours une protection plus que suffisante. À cause des potentiels désavantages du TCP-sur-TCP, Wireguard utilise uniquement UDP. WireGuard prend entièrement en charge IPv6, à l'intérieur et à l'extérieur du tunnel. Il ne prend en charge que la Couche réseau 3 pour IPV4 et IPV6. De plus, il peut encapsuler IPV4 en IPV6 (et vice-versa). WireGuard est conçu pour être étendu par des programmes et des scripts tiers.
Serge Vaudenay, Iraklis Leontiadis