Publication de VPN WireGuard pour Windows et WireGuardNT 1.0

Jason A. Donenfeld, auteur de VPN WireGuard, a présenté la premiÚre version significative du logiciel client WireGuard pour Windows 1.0, ainsi que des pilotes WireGuardNT 1.0. VPN WireGuard pour le noyau Windows 10 et 11, prenant en charge les architectures AMD64, x86 et ARM64. Le code des composants pour le noyau Windows est distribué sous la licence GPLv2, tandis que le logiciel client est sous la licence MIT.

Le port est basé sur le code source de l'implémentation principale de WireGuard pour le noyau Linux, qui a été adapté pour utiliser les entités du noyau Windows et la pile réseau NDIS. Par rapport à l'implémentation wireguard-go, qui fonctionne en mode utilisateur et utilise l'interface réseau Wintun, WireGuardNT offre une amélioration significative des performances en éliminant les opérations de changement de contexte et de copie de contenu de paquets du noyau vers l'espace utilisateur. Comme pour les implémentations sous Linux, OpenBSD et FreeBSD, dans WireGuardNT, toute la logique de traitement du protocole fonctionne directement au niveau de la pile réseau.

La version 1.0 est marquée comme une étape importante, signalant la résolution de plusieurs problÚmes et l'accomplissement des objectifs fixés, tels que : l'utilisation de la fonction NdisWdfGetAdapterContextFromAdapterHandle() à la place d'un stockage d'état de pilote moins sûr dans le champ Reserved et l'utilisation de décalages non documentés ; le suivi correct et rapide de la taille MTU (Maximum Transmission Unit) par interception des appels systÚme ; l'utilisation du code en norme C23.

Rappelons que le VPN WireGuard est basé sur des méthodes de cryptage modernes, offre des performances trÚs élevées, est simple à utiliser, sans complexité et a bien réussi dans plusieurs déploiements majeurs traitant de grands volumes de trafic. Le projet est en développement depuis 2015, a passé un audit et une vérification formelle des méthodes de cryptage utilisées. Dans WireGuard, la concept de routage basé sur les clés de cryptage est appliquée, ce qui implique l'association d'une clé privée à chaque interface réseau et l'utilisation de clés publiques pour les liaisons.

L'échange de clés publiques pour établir une connexion se fait par analogie avec SSH. Pour la négociation des clés et la connexion sans lancer un démon distinct dans l'espace utilisateur, le mécanisme Noise_IK du Noise Protocol Framework est utilisé, similaire au maintien des authorized_keys dans SSH. Le transfert de données est effectué via encapsulation dans des paquets UDP. Le changement est pris en charge. adresses IP Changement de serveur VPN (roaming) sans interruption de la connexion avec reconfiguration automatique du client.

Pour le chiffrement, un chiffreur en flux ChaCha20 et un algorithme d'authentification des messages (MAC) Poly1305, développés par Daniel Bernstein, Tanja Lange et Peter Schwabe, sont utilisés. ChaCha20 et Poly1305 sont positionnés comme des alternatives plus rapides et plus sûres à AES-256-CTR et HMAC, dont l'implémentation logicielle permet d'obtenir un temps d'exécution fixe sans nécessiter de support matériel spécifique. Pour générer une clé secrÚte partagée, le protocole de Diffie-Hellman sur des courbes elliptiques est utilisé, implémenté via Curve25519, également proposé par Daniel Bernstein. Pour le hachage, l'algorithme BLAKE2s (RFC7693) est utilisé.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster