technologie

Qu’est-ce que WireGuard ? Protocoles VPN utilisés par l'application StageVPN 8 questions et 8 réponses

WireGuard crée une clé de session avec une poignée de main aller-retour unique et la modifie environ toutes les deux minutes, et identifie les appareils par des clés publiques plutôt que par des adresses IP pour maintenir la connectivité même lors du passage du Wi-Fi au LTE. Les techniques de cryptographie, la rotation des clés, le routage des clés de chiffrement et la configuration de l'application StageVPN sont expliquées à l'aide de tableaux et de diagrammes.

L'équipe StageVPN23 minutes de lecture

Illustration 3D représentant un flux de données passant par un tunnel bleu brillant

WireGuardest un protocole VPN qui crée une connexion réseau virtuelle (tunnel) cryptée entre deux appareils qui s'identifient mutuellement avec une clé publique.

L'application StageVPN (iPhone·iPad·Android) utilise ce WireGuard pour envoyer des communications IPv4/IPv6 et des requêtes DNS pour l'ensemble de l'appareil au serveur VPN. Cet article pose huit questions pour expliquer pourquoi WireGuard est considéré comme étant rapide et facile à vérifier. Pour chaque question, j'ai d'abord écrit une réponse en deux phrases, puis j'ai expliqué les principes avec les tableaux et diagrammes ci-dessous. Les chiffres sont basés sur le livre blanc WireGuard et la documentation officielle du protocole.

Environ 4 000 lignes
Taille du code de l'implémentation du noyau Linux au moment de la publication du livre blanc en 2017
1 aller-retour
Nombre d'allers-retours de message requis pour la prise de contact afin de créer la clé de session
120 secondes
Quand commencer à modifier les clés de session avec une nouvelle poignée de main
1 chose
Nombre de combinaisons de mots de passe fixes utilisées sans négociation

L'image ci-dessous rassemble les trois propriétés les plus importantes de cet article sur une seule page. L'appareil et le serveur s'accordent sur la clé de session en un seul aller-retour. La clé est actualisée environ toutes les deux minutes. Le serveur reconnaît l'autre appareil par sa clé publique et non par son adresse IP. Poursuivez votre lecture pour découvrir à quelles questions répond chacune des trois propriétés.

Les clés de session sont créées en un aller-retour et modifiées environ toutes les deux minutes.
Les clés de session sont créées en un aller-retour et modifiées environ toutes les deux minutes.

Q. Qu'est-ce que WireGuard, qui l'a créé et pourquoi ?

WireGuard est un protocole et une implémentation VPN conçus par Jason A. Donenfeld et publiés en 2017. L'objectif était de réduire le nombre d'éléments de configuration, de fixer la méthode de cryptage à un seul et d'en faire une taille permettant aux experts de lire et de réviser l'intégralité du code.

Le protocole VPN est un ensemble de règles permettant aux appareils et aux serveurs de s'identifier, de partager des clés de chiffrement, ainsi que de regrouper et d'échanger des données. Les protocoles existants comportent de nombreuses options et étapes de négociation pour s'adapter à divers environnements. Plus d'options entraînent un code plus volumineux. La possibilité de créer une configuration faible en raison d'erreurs de configuration augmente également. WireGuard a adopté l’approche inverse. Nous avons réduit le nombre de choix et rendu le code plus court.

Tableau 1. Historique principal de WireGuard (en septembre 2026)
point de vuecassignification
2017Livre blanc présenté à la conférence NDSSObjectifs de conception, prise de contact et routage des clés de chiffrement décrits dans un document public
mars 2020Inclus par défaut dans le noyau Linux 5.6Peut être utilisé sur des serveurs Linux sans installer de modules séparés
Après la publication du livre blancImplémentations officielles publiées pour Windows, macOS, iOS et AndroidL'application pour smartphone se connecte au serveur en utilisant le même protocole
aujourd'huiAccumulation de recherches de vérification de format telles que Tamarin et CryptoVerifLa sécurité de la conception du protocole a été examinée par des universitaires

La taille du code dépend de la mise en œuvre et du calendrier. Ainsi, « environ 4 000 lignes » ne doit pas être lu comme la valeur actuelle exacte, mais comme « un ordre de grandeur inférieur à celui des autres implémentations VPN ». L'application StageVPN utilise cette implémentation WireGuard sur iPhone·iPad et Android. StageVPN pour Chrome, une extension Chrome, est un proxy HTTPS plutôt que WireGuard. La différence entre les deux méthodes est VPN de navigateur vs VPN d'applicationIl est couvert de

Q. Dans quel ordre les connexions WireGuard sont-elles établies ?

Une connexion est créée avec une poignée de main de deux messages, un aller-retour. Lorsque l'initiateur envoie un message de démarrage et que le répondeur renvoie un message de réponse, les deux parties calculent la même clé de session et échangent immédiatement des données.

  1. message de démarrageL'initiateur (appareil) envoie une clé publique temporaire, une clé auto-publique chiffrée et un horodatage chiffré.
  2. message de réponseLe répondeur (serveur) envoie sa clé publique temporaire et vérifie l'initiateur.
  3. Calcul de la clé de sessionÀ partir des résultats de l'échange de clés, les deux parties dérivent une paire de clés symétriques pour l'envoi et la réception.
  4. transfert de donnéesChaque paquet est crypté avec ChaCha20-Poly1305 et se voit attribuer un numéro de séquence (compteur).
Figure 1. Prise de contact WireGuard et séquence de transfert de données (un aller-retour)

Une poignée de main est un processus par lequel deux parties s'identifient et conviennent d'une clé de cryptage avant de commencer la communication. La poignée de main de WireGuard suit le modèle IK du framework Noise. Le modèle IK nécessite que l'initiateur connaisse à l'avance la clé publique du répondeur. L'application StageVPN remplit cette condition car elle reçoit la clé publique du serveur auquel se connecter dans la configuration VPN.

Tableau 2. Quatre types de messages WireGuard (basés sur le document de protocole officiel)
messagetailleContenu inclusrôle
Lancement de la poignée de main (type 1)148 octetsClé publique temporaire, clé publique statique chiffrée, horodatage chiffré, 2 MACPreuve de l'identité de l'initiateur, bloque les attaques par rejeu
Réponse de poignée de main (type 2)92 octetsClé publique temporaire du répondeur, texte chiffré vide pour vérification, 2 MACAccord clé conclu
Réponse cookie (type 3)64 octetscookies cryptésVérifier l'adresse de départ lorsque le serveur est surchargé
Données (Type 4)En-tête 16 octets et texte chiffréNuméro de destinataire, compteur, paquet IP crypté et étiquette d'authentificationlivraison réelle de la communication

L'horodatage dans le message de démarrage empêche les attaques par relecture. Une attaque par rejeu est une attaque dans laquelle un attaquant enregistre un message normal et le renvoie plus tard. Le serveur rejette un message si l'horodatage est plus ancien qu'un envoi précédent provenant du même appareil.

Le premier MAC peut être créé en connaissant la clé publique du serveur. Par conséquent, le serveur ne répond pas aux paquets envoyés par des scanners qui ne connaissent pas la clé publique du serveur. De l’extérieur, il est même difficile de savoir s’il existe un serveur VPN sur ce port. Lorsque le serveur est surchargé, une réponse cookie est d'abord envoyée avant d'effectuer des calculs lourds. Il s'agit d'un appareil qui traite uniquement les demandes dont l'adresse source est confirmée comme étant authentique, empêchant ainsi les attaques qui occupent le serveur avec des adresses contrefaites.

Q. Quelle technique de cryptage WireGuard utilise-t-il ?

Définissez une seule méthode de cryptographie pour chaque rôle et utilisez-la sans négociation. Si un problème est détecté avec une technique, au lieu d'ajouter des options, nous modifions la version du protocole afin que toutes les implémentations évoluent ensemble.

Le nom complet de la poignée de main tel qu'écrit dans la documentation officielle est Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s. Le nom est le schéma. IK signifie modèle de prise de contact, psk2 signifie clé pré-partagée facultative, 25519 signifie courbe d'échange de clés, ChaChaPoly signifie chiffrement de données et BLAKE2s signifie hachage.

Tableau 3. Techniques de cryptographie corrigées par WireGuard et pièces justificatives
rôletechniquespièce justificativecaractéristiques
Conception de poignée de mainModèle Noise_IKpsk2Cadre du protocole de bruitAuthentification mutuelle, accord de clé et protection de l'identité de l'initiateur en un seul aller-retour
échange de clésCourbe25519(X25519)RFC7748Clé publique de 32 octets, courbe elliptique conçue pour réduire les erreurs de mise en œuvre
Cryptage et intégrité des donnéesChaCha20-Poly1305RFC8439Traite les contrôles de cryptage et de falsification en même temps, rapidement, même sans accélération matérielle
Cryptage des cookiesXChaCha20-Poly1305Documentation du protocole WireGuardModification pour écrire en toute sécurité de longues valeurs aléatoires
Hachage et MACBLAKE2RFC7693Hachage rapide, également utilisé pour les calculs MAC à clé
dérivation de cléHKDFRFC5869Extraire la clé de session du résultat de l'échange de clés
table de hachage interneSipHash24Article d'Aumasson·BernsteinEmpêcher les attaques de manipulation ciblant les tables de hachage

Il est important de noter qu’il n’y a pas de phase de négociation. Dans les protocoles qui échangent des listes de chiffrements, tels que TLS ou IKEv2, des attaques par rétrogradation ont été étudiées pour inciter les attaquants à choisir des chiffrements faibles. WireGuard ne dispose pas de sa propre liste parmi laquelle choisir. Il n’y a donc aucun intérêt à établir une telle attaque.

psk2, ou clé pré-partagée, est une fonctionnalité facultative. En ajoutant une couche de clés symétriques au-dessus de la cryptographie à clé publique, il s'agit d'une défense supplémentaire pour protéger le contenu des communications même si un futur ordinateur quantique brise Curve25519. Il s'agit d'une fonctionnalité facultative, la disponibilité varie donc selon le service. StageVPN n'offre pas de cryptage résistant aux quantiques comme fonctionnalité proposée.

La sécurité de la conception a été examinée à plusieurs reprises par des universitaires. Le projet WireGuard rassemble des recherches de vérification formelle sur son site officiel, y compris une vérification symbolique à l'aide du prouveur Tamarin et une preuve informatique à l'aide de CryptoVerif. Cependant, la vérification formelle est une preuve de la conception du protocole. Nous ne garantissons pas la qualité de mise en œuvre ni le fonctionnement du serveur de chaque application. Il est donc toujours nécessaire de maintenir l'application à jour et de vérifier la politique de journalisation de l'opérateur.

Q. À quelle fréquence les clés de session changent-elles ?

Les clés de session sont remplacées par une nouvelle poignée de main environ toutes les deux minutes. Le remplacement s'effectue lors de la communication avec la clé existante, afin que les utilisateurs ne remarquent aucune perturbation.

  1. 0 secondePoignée de main terminée

    Démarrez le transfert de données avec la nouvelle clé de session.

  2. 120 secondesCommencer une nouvelle poignée de main

    Lorsque vous avez des données à envoyer, créez une nouvelle clé (REKEY_AFTER_TIME). La clé est également remplacée si le message est envoyé à la puissance 2 60.

  3. 180 secondesRejeter l'ancienne clé

    Les paquets avec des clés plus anciennes que cette heure ne seront pas reçus (REJECT_AFTER_TIME).

  4. 540 secondesNettoyage inactif

    Après trois fois 180 secondes sans nouvelle poignée de main, effacez toutes les clés temporaires et l'état de la session.

Figure 2. Durée de vie de la clé de session WireGuard (basée sur la minuterie de la documentation officielle du protocole)

La raison pour laquelle vous changez fréquemment de clé est la sécurité avancée. La sécurité transmise est une propriété qui empêche la publication du contenu de communication d'une session déjà terminée, même si la clé privée à long terme de l'appareil est exposée ultérieurement. WireGuard crée une nouvelle clé temporaire pour chaque poignée de main et efface toutes les clés utilisées de la mémoire. Même si une seule clé de session devait être divulguée, l’étendue de l’impact serait limitée aux quelques minutes pendant lesquelles la clé a été utilisée.

Il existe également des règles pour les tentatives de prise de contact. S'il n'y a pas de réponse, il réessaye toutes les 5 secondes (REKEY_TIMEOUT). S'il n'y a pas de réponse pendant 90 secondes (REKEY_ATTEMPT_TIME), la tentative s'arrêtera. S'il n'y a aucune donnée à envoyer dans les 10 secondes (KEEPALIVE_TIMEOUT) suivant la réception des données, un paquet keepalive vide est envoyé afin que l'autre partie puisse confirmer la réponse.

WireGuard est conçu pour ne pas effectuer de négociation s'il n'y a aucune donnée à envoyer. Cependant, les appareils derrière des routeurs ou des équipements de support (NAT) utilisent souvent un paramètre (PersistentKeepalive) qui envoie des paquets vides à intervalles réguliers pour empêcher l'effacement des informations de connexion. Les directives officielles recommandent un intervalle de 25 secondes. La configuration VPN de l'application StageVPN utilise également 25 secondes par défaut (à partir de septembre 2026).

Différences entre la taille du code et les méthodes de négociation de mots de passe
Différences entre la taille du code et les méthodes de négociation de mots de passe

Q. En quoi WireGuard est-il différent d'OpenVPN et d'IKEv2/IPsec ?

WireGuard est un protocole qui réduit les options et réduit le code. OpenVPN et IKEv2/IPsec sont des protocoles proposant de nombreuses négociations et options pour s'adapter à différents environnements.

La figure ci-dessus montre les différences de taille de code, de méthode de transmission et de méthode de négociation de mot de passe. Le tableau ci-dessous résume les différences restantes non représentées dans la figure. Tous les trois sont actuellement largement utilisés, mais leurs philosophies de conception sont différentes, plutôt qu’une seule étant inconditionnellement supérieure.

Tableau 4. Différences de conception entre les trois protocoles (basées sur les documents officiels et les RFC pour chaque projet)
articleWireGuardOpenVPNIKEv2/IPsec
Ouvert/standardLivre blanc de 2017, incluant le noyau Linux 2020Publié pour la première fois en 2001, son propre protocole open sourceNorme IETF (IKEv2 est RFC 7296)
Méthode de confirmation du partenaireClé publique de 32 octetsPrincipalement le certificat X.509, le nom d'utilisateur et le mot de passe peuvent être combinésCertificats, clés pré-partagées, EAP et bien plus encore
Accord clé aller-retour1 aller-retour (2 messages)Plusieurs fois, y compris la poignée de main TLS.Minimum de 2 échanges (4 messages)
changement de réseauRésultat d'un comportement par défaut (roaming)Principalement de la reconnexion, un peu de support en fonction des paramètresSuite avec la prise en charge de MOBIKE (RFC 4555)
Éléments de configurationQuelques lignes : clé, adresse, IP autorisée, etc.Beaucoup de certificats et d'optionsIl existe de nombreuses méthodes d'authentification et éléments de stratégie
Système d'exploitation intégréNoyau Linux intégré, autres fournis sous forme d'applicationsInstaller un programme séparéIntégré pour Windows, iOS, Android, etc.

La vitesse n’est pas déterminée uniquement par le protocole. La distance par rapport au serveur, la qualité de la ligne locale, la congestion du serveur et les performances des appareils jouent tous un rôle. WireGuard a des procédures simples et des opérations cryptographiques légères, il est donc souvent rapide dans les mêmes conditions. Cela ne veut pas dire que c'est toujours rapide. Si le débit perçu est faible, la première chose à faire est de basculer sur un serveur à proximité et de comparer.

Q. Qu'est-ce que le « routage de clé de chiffrement » où la clé publique devient l'adresse ?

Le routage par clé de chiffrement est une méthode qui regroupe la clé publique de l'autre partie et la plage d'adresses IP (AllowedIPs) que l'autre partie peut utiliser, et utilise cet ensemble pour déterminer à la fois l'envoi et la réception des paquets. Lors de l'envoi, déterminez quelle clé publique chiffrer avec l'adresse de destination et lors de la réception, vérifiez si la clé publique qui a été déchiffrée avec succès est qualifiée pour utiliser l'adresse source.

Cette structure présente deux avantages : Premièrement, le serveur reconnaît les paquets provenant d'une adresse IP de tunnel comme authentiques uniquement s'ils sont déchiffrés avec la clé publique liée à cette adresse IP. Même si un autre appareil imite l'adresse IP du tunnel, celle-ci ne peut pas être déchiffrée et le paquet est rejeté. Deuxièmement, les règles de pare-feu et les règles de mot de passe sont combinées en une seule. Les administrateurs n'ont besoin de conserver qu'une seule ligne : « Cette clé publique est cette plage d'adresses. »

Si vous définissez AllowedIPs sur 0.0.0.0/0 et ::/0 sur la machine utilisateur, toutes les communications IPv4 et IPv6 deviennent un tunnel complet vers un serveur. L'application StageVPN utilise cette méthode. Les principaux éléments de configuration WireGuard que l'application reçoit du serveur sont répertoriés ci-dessous.

Tableau 5. Éléments de configuration WireGuard pour l'application StageVPN (en septembre 2026)
Éléments de configurationParamètres de l'application StageVPNSignification pour les utilisateurs
Adresses IP autorisées0.0.0.0/0, ::/0Protège tous les appareils sur lesquels toutes les communications IPv4/IPv6 passent par un tunnel
DNSLe serveur DNS spécifié dans la configuration VPN et les requêtes sont également transmises au tunnel.Difficulté à voir les domaines recherchés par les opérateurs ou les opérateurs Wi-Fi
IP du tunnel (adresse)Attribuer des adresses internes au sein du serveur à chaque compteLe serveur identifie les appareils à l'aide de clés publiques et d'adresses internes.
MTUPar défaut 1280, peut varier en fonction des paramètres du serveurRéduit les problèmes de troncature de paquets dans les réseaux mobiles et de double encapsulation
PersistantKeepalivePar défaut 25 secondesConservez les informations de connexion même derrière un routeur ou un équipement de support
emplacement de connexionChoisissez parmi les pays de serveur gérés par l'opérateur ou sélectionnez automatiquementL'IP du serveur sélectionné est affichée sur les sites visités.

MTU est la taille maximale des paquets pouvant être envoyés en même temps. WireGuard crypte le paquet d'origine et le remet dans un paquet UDP, en augmentant la taille de l'en-tête. Par conséquent, la MTU dans le tunnel doit être inférieure à la MTU dans la ligne pour empêcher les paquets d'être fragmentés ou rejetés. Quels sont les enregistrements d'accès conservés et dans quelle mesure ? Accéder à l’avis de stockage des dossiersIl est ouvert au public.

Q. Si WireGuard est puissant, l'intégralité de mon utilisation d'Internet est-elle sécurisée ?

Non. La section protégée par WireGuard va de votre appareil au serveur VPN, et la sécurité au-delà est déterminée par le HTTPS du site et la politique de journalisation de l'opérateur.

  1. mon appareilApplication StageVPN
  2. Réseau Wi-Fi/communication publicCafé·LTE
  3. serveur VPNStageVPN
  4. Serveur de site Web/d'applicationBanque/courrier
  • Cryptage VPN
  • Site HTTPS
  • Zones pouvant être exposées
Figure 3. Le chemin emprunté par les données lors de l'activation de l'application StageVPN et comment chaque section est protégée.

Dans les deux parties de gauche de l'image, il est difficile pour les autres utilisateurs du Wi-Fi public, l'opérateur Wi-Fi et l'opérateur de voir le contenu et la destination de la communication. Une fois que vous avez quitté le serveur VPN, c'est comme sur Internet classique. Là encore, il devient important que l'adresse soit un site commençant par https://. Les risques hors protocole doivent être préparés séparément.

  • Section après le serveur VPN: Les sites qui n'utilisent pas HTTPS ne sont pas chiffrés depuis le serveur VPN vers le site.
  • Confiance dans les opérateurs: De par sa structure, le serveur WireGuard connaît la clé publique, l'IP du tunnel et la dernière adresse d'accès de chaque appareil. C'est également ici que vous pouvez voir l'IP de destination de votre connexion. Conformément à la loi sur la protection des secrets des communications, StageVPN supprime automatiquement les enregistrements d'accès après 93 jours et n'enregistre pas le contenu des communications. La raison est Pourquoi divulguons-nous notre politique de conservation des enregistrements d’accès ?expliqué.
  • Menaces à l'intérieur de votre appareil: Les applications malveillantes ou les pages de phishing sont des problèmes qui surviennent à l'intérieur du tunnel, c'est-à-dire sur votre appareil. Le protocole ne l'arrête pas. La division est Ce que les VPN empêchent et ne peuvent pas empêcherVeuillez vous référer à .
  • Au moment où la connexion est perdue: Tant que le tunnel est déconnecté, la communication peut s'effectuer par la voie normale. Vérifiez l'état de connexion de l'application avant d'effectuer toute opération sensible. Habitudes sur les réseaux publics Règles de sécurité du Wi-Fi publicJe l'ai organisé en .
  • DNS et IPv6: Si une autre application VPN ou les paramètres DNS distincts de votre appareil modifient l'itinéraire, les requêtes peuvent sortir du tunnel. Comment vérifier Guide des fuites DNS et des fuites WebRTCC'est dans

Lors de votre première connexion, iPhone vous demandera d'ajouter une configuration VPN et Android vous demandera d'autoriser la demande de connexion VPN. Vous devez autoriser cela pour que les applications puissent créer des tunnels WireGuard. Trier par appareil Premiers pas sur iPhone/iPadet Démarrer sur Androidet la portée de la fourniture est Caractéristiques et étendue de l'offreVous pouvez le vérifier ici.

Q. Pourquoi la connexion reste-t-elle même lors du passage du Wi-Fi au LTE ?

En effet, WireGuard identifie les appareils par leurs clés publiques, et non par leurs adresses IP. Même si le réseau change et l'adresse IP change, le serveur se souvient de l'adresse à laquelle le paquet déchiffré est arrivé pour la dernière fois et répond avec cette adresse.

Comment distinguer les connexions par adresse IP

  • Les connexions existantes sont perdues lorsque les réseaux changent
  • Besoin de s'authentifier à nouveau et de se mettre d'accord sur les clés
  • La communication avec l'application est susceptible de s'arrêter au moment de la transition

WireGuard (différencié par clé publique)

  • Les paquets provenant d'une nouvelle adresse sont également reconnus comme la même partie s'ils sont déchiffrés avec la même clé publique.
  • Mettre à jour l'adresse à laquelle le serveur répond avec une nouvelle adresse
  • Si la clé reste en vie, elle continue immédiatement sans poignée de main.
Figure 4. Différence de méthode de connexion lors du passage du Wi-Fi au LTE

Ce comportement est appelé itinérance. Les smartphones basculent entre le Wi-Fi domestique, le Wi-Fi des cafés et le LTE/5G lorsqu'ils sont en déplacement plusieurs fois par jour. Si le VPN est reconnecté depuis le début à chaque fois, il y aura un moment où la messagerie et le streaming s'arrêteront. WireGuard gère cette transition comme comportement par défaut du protocole. Aucun paramètre séparé n’est requis.

WireGuard utilise uniquement UDP. UDP est une méthode de transmission légère qui ne nécessite pas de procédure d'établissement de connexion. Cela ne chevauche pas le contrôle de retransmission des communications TCP allant et venant dans le tunnel. Il existe un problème connu selon lequel, lorsque TCP est superposé à TCP, lorsqu'une perte se produit, les deux couches retransmettent simultanément et la vitesse diminue considérablement. WireGuard évite architecturalement ce problème.

Pendant ce temps, StageVPN enregistre l'adresse IP à partir de laquelle l'appareil a accédé au serveur VPN lors de sa modification, comme l'un des enregistrements de connexion conformément à la loi. Le fait même qu'il y ait roaming signifie qu'il reste sur le serveur.

S'il vous plaît, sachez Il existe des limites aux conceptions qui utilisent uniquement UDP. Certains réseaux d'hôtels, d'entreprises et d'écoles bloquent les communications UDP autres que l'accès au Web. La connexion WireGuard peut ne pas fonctionner dans de tels endroits. Dans ce cas, essayez de passer à un autre réseau Wi-Fi ou à des données mobiles. Si cela ne fonctionne toujours pas, indiquez le modèle de l'appareil, la version du système d'exploitation et de l'application, ainsi que l'heure de l'événement. support clientVeuillez nous contacter.

Même si l'adresse IP change, l'appareil est reconnu à l'aide de la clé publique, la connexion n'est donc pas rétablie.
Même si l'adresse IP change, l'appareil est reconnu à l'aide de la clé publique, la connexion n'est donc pas rétablie.

glossaire des termes

J'ai organisé les termes de cet article une phrase à la fois. La même signification est utilisée lors de la lecture d’autres documents VPN.

poignée de main
Il s'agit d'un processus par lequel deux appareils s'identifient et se mettent d'accord sur une clé de cryptage avant de commencer la communication.
1-RTT (1 aller-retour)
Cela signifie que le processus est terminé simplement en envoyant un message une fois et en le revenant une fois.
Clé statique (clé publique/clé privée)
Une paire de clés conservée longtemps sur votre appareil et utilisée pour vérifier votre identité. La clé publique est connue de l'autre partie et la clé privée n'est pas envoyée hors de l'appareil.
clé temporaire
Cette clé est recréée à chaque handshake et effacée à la fin de la session.
clé de session
Clé symétrique créée à la suite de la négociation qui crypte les données réelles.
Sécurité avancée
Cette propriété empêche la publication du contenu d'une session déjà terminée même si la clé privée à long terme est exposée ultérieurement.
AEAD
ChaCha20-Poly1305 est une méthode cryptographique qui traite simultanément le cryptage et la détection de falsification.
MAC
Il s'agit d'une valeur courte qui est calculée et attachée à la clé pour garantir que le message n'a pas été falsifié.
rejouer l'attaque
Il s'agit d'une attaque qui trompe le système en enregistrant un message normal et en le renvoyant plus tard.
Routage des clés de chiffrement
La méthode de WireGuard consistant à lier les clés publiques et à permettre aux plages IP de déterminer les clés à chiffrer et les paquets à accepter.
Adresses IP autorisées
Il s'agit de la plage d'adresses IP vers lesquelles la contrepartie d'une clé publique spécifique peut envoyer et recevoir. 0.0.0.0/0 et ::/0 font référence à toutes les adresses.
point final
Il s'agit de l'adresse Internet et du port UDP réels de l'autre partie, et le serveur met à jour ces valeurs en cas d'itinérance.
itinérance
Même si l'adresse IP de l'appareil change, le même tunnel continue.
NAT
Il s'agit d'une méthode dans laquelle un routeur ou un équipement d'entreprise de télécommunications convertit les adresses de plusieurs appareils en une seule adresse publique.
rester en vie
Il s'agit d'un paquet sans contenu envoyé périodiquement pour empêcher l'effacement des informations de connexion.
MTU
Il s'agit de la taille maximale des paquets pouvant être envoyés en une seule fois.
UDP
Il s'agit d'une méthode de transmission légère qui envoie des paquets sans procédures d'établissement de connexion et sans retransmission.

matériel de référence

  1. Protocole et cryptographie — Format et taille des messages, cryptographie, valeurs de minuterie (projet WireGuard)
  2. WireGuard : tunnel réseau du noyau de nouvelle génération — Objectifs de conception, taille du code, routage des clés de chiffrement, itinérance (Jason A. Donenfeld, livre blanc NDSS 2017)
  3. Vérification formelle — Liste des études de vérification formelle, dont Tamarin, CryptoVerif, etc. (projet WireGuard)
  4. Démarrage rapide — Paramètres PersistentKeepalive et intervalles recommandés (projet WireGuard)
  5. Le cadre du protocole de bruit — Définition du modèle de prise de contact IK (projet Noise)
  6. RFC 8439 : ChaCha20 et Poly1305 pour les protocoles IETF — Méthode de cryptage des données (IETF)
  7. RFC 7748 : Courbes elliptiques pour la sécurité — Échange de clés Curve25519 (IETF)
  8. RFC 7693 : le hachage cryptographique BLAKE2 et le MAC — Calculs de hachage et MAC (IETF)
  9. RFC 7296 : Protocole d'échange de clés Internet version 2 (IKEv2) — Procédure d'échange IKEv2 (IETF)
  10. RFC 4555 : Protocole de mobilité et de multihébergement IKEv2 (MOBIKE) — Gestion des modifications du réseau dans IKEv2 (IETF)
  • #WireGuard
  • Protocole #VPN
  • #chiffrement
  • Comparaison #OpenVPN
  • #Sécurité avant