LMI MAG 2 Mars 2020 - Magazine - Page 55
W
ireGuard est un réseau
privé virtuel (VPN) axé sur
la sécurité. Il est reconnu
pour sa simplicité et sa
facilité d’utilisation. WireGuard a recours des protocoles et des algorithmes
de chiffrement éprouvés
pour protéger les données. Développé à l’origine pour le
noyau Linux, il est désormais déployable sur Windows,
macOS, BSD, iOS et Android. Les réseaux privés virtuels
sont indispensables aux entreprises. Grâce à eux, elles
peuvent relier les succursales de leurs bureaux distants
à leur réseau principal, leurs employés itinérants bénéficient des applications internes et d’un même réseau
pour les serveurs cloud et ceux sur site. La plupart des
solutions VPN actuelles ont été conçues il y a longtemps.
Elles sont donc en général assez lentes et trop techniques. Ce qui n’est pas le cas du projet WireGuard, qui
mise autant sur la sécurité que sur la simplicité d’usage.
découverte dans les primitives cryptographiques utilisées, une nouvelle version du protocole est publiée et
un mécanisme de négociation de la version du protocole
entre pairs est exécuté.
WireGuard se sert de ChaCha20 pour le chiffrement
symétrique et Poly1305 pour l’authentification des messages. Cette combinaison est plus efficace que l’AES
des architectures CPU embarquées sans accélération
matérielle cryptographique. Le protocole dispose aussi de Curve25519 pour l’échange de clé Diffie-Hellman à
courbe elliptique (ECDH) ; de BLAKE2s pour le hachage,
plus rapide que le SHA-3 ; et d’un handshake 1.5 Round
Trip Time (1.5-RTT) basé sur le framework Noise qui
garantit une confidentialité persistante. Il comprend
également une protection intégrée contre l’usurpation
d’identité de la clé, les attaques par déni de service et par
replay, ainsi qu’une certaine résistance cryptographique
post-quantique.
C’est en 2017 que le chercheur en sécurité et développeur de kernel Jason Donenfeld a eu l’idée de créer
WireGuard. Cette année-là, il avait besoin d’une solution
de tunnel de trafic furtif pour des tests de pénétration.
Plus il examinait les options existantes, plus il se rendait
compte que les tunnels VPN comme IPsec et OpenVPN
ne fonctionnaient pas bien et qu’ils étaient difficiles à
configurer et à gérer correctement. Il a donc créé un
tout nouveau protocole VPN et une implémentation qui
permettrait d’éviter certains choix de conception qui
ont transformé d’autres technologies de tunnelage en
projets monstrueux, avec d’énormes bases de code, et
d’innombrables boutons et interrupteurs.
WireGuard
se sert de ChaCha20
pour le chiffrement
symétrique et Poly1305
pour l’authentification
des messages.
Primitives cryptographiques modernes,
testées et révisées par des pairs
D’une part, le protocole WireGuard se
passe du concept d’agilité cryptographique
qui donne le choix entre différents algorithmes de chiffrement, d’échange de clés
et de hachage, mais qui est à l’origine de
déploiements non sécurisés avec d’autres
technologies. À la place, WireGuard utilise
une sélection de primitives cryptographiques modernes, testées et révisées par
des pairs, qui impliquent des choix cryptographiques par défaut forts que les usagers
ne pourront ni modifier ni mal configurer. Au cas où une grave vulnérabilité est
FORTINET SECURE
SD-WAN
Webinaire
cutt.ly/fortinet
Sponsorisé par
Fortinet
Dans le protocole WireGuard, chaque pair
est identifié aux autres par des clés publiques courtes, à la manière de l’authentification par clé dans OpenSSH. Les clés
publiques sont également employées pour
établir quelles adresses IP sont attribuées
à chaque pair à l’intérieur du tunnel. Les
développeurs de WireGuard appellent ce
nouveau concept routage par crypto-clef.
Le protocole est également furtif, car il ne
répond à aucun paquet provenant de pairs
qu’il ne reconnaît pas, de sorte qu’un scan
réseau ne révélera pas que WireGuard
55