A Tale of Two Worlds, a Formal Story of WireGuard Hybridization

Pascal Lafourcade and Dhekra Mahmoud, Université Clermont Auvergne, CNRS, Clermont Auvergne INP, Mines Saint-Etienne, LIMOS, 63000 Clermont-Ferrand, France; Sylvain Ruhault and Abdul Rahman Taleb, Agence Nationale de la Sécurité des Systèmes d'Information (ANSSI), France

PQ-WireGuard is a post-quantum variant of WireGuard Virtual Private Network, where Diffie-Hellman-based key exchange is replaced by post-quantum Key Encapsulation Mechanisms-based key exchange. In this paper, we first conduct a thorough formal analysis of PQ-WireGuard's original design, in which we point out and fix a number of weaknesses. This leads us to a new construction PQ-WireGuard^star. Secondly, we propose and formally analyze a new protocol, based on both WireGuard and PQ-WireGuardstar, named Hybrid-WireGuard, compliant with current best practices for post-quantum transition about hybridization techniques. For our analysis, we use the SAPIC+ framework that enables the generation of three state-of-the-art protocol models for the verification tools ProVerif, DeepSec and Tamarin from a single specification, leveraging the strengths of each tool. We formally prove that Hybrid-WireGuard is secure. Eventually, we propose a generic, efficient and usable Rust implementation of our new protocol.

Category: 
Short Presentation

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {309462,
author = {Pascal Lafourcade and Dhekra Mahmoud and Sylvain Ruhault and Abdul Rahman Taleb},
title = {A Tale of Two Worlds, a Formal Story of {WireGuard} Hybridization},
booktitle = {34th USENIX Security Symposium (USENIX Security 25)},
year = {2025},
isbn = {978-1-939133-52-6},
address = {Seattle, WA},
pages = {4937--4956},
url = {https://www.usenix.org/conference/usenixsecurity25/presentation/lafourcade},
publisher = {USENIX Association},
month = aug
}