Wireguard ist ein noch recht junges Projekt, das eine Aufnahme in den Linux-Kernel anstrebt und als mögliche Alternative zu Open VPN gilt. Nun haben die Projektteilnehmer die Sicherheit das Wireguard-Protokolls mit Hilfe des Tamarin-Provers formal verifiziert.
Das virtuelle, verschlüsselte Tunnelinterface Wireguard soll in Zukunft im Kernel andocken, sich einfach nutzen lassen und verspricht zugleich eine hohe Sicherheit und dank weniger Kontextwechsel eine gute Performance. Damit sehen einige es bereits als Nachfolger oder Ergänzung zu Open VPN. Ein IP-gebundener “Cookie-MAC-Mechanismus” soll gegen DoS-Angriffe helfen, zugleich antwortet Wireguard nicht auf nicht-authentifizierte Pakete (Stealthiness).
Die Wireguard-Entwickler haben das Protokoll des Projekts nun mit Hilfe eines Tools namens Tamarin einer formalen Verifizierung unterzogen. Das Werkzeug ist eine Entwicklung von der ETH Zürich, steht auf Github als Open-Source-Software bereit und kann Security-Merkmale von Protokollen uneingeschränkt Verifizieren und Falsifizieren. Mit diesen Tests lässt sich also herausfinden, ob die Sicherheitsmerkmale zumindest mathematisch halten, was sie versprechen.
Um das zu tun, zieht Tamarin vereinfacht gesprochen das Modell eines Security-Protokolls heran und spezifiziert Aktionen, die Agents in unterschiedlichen Rollen ausführen. Ein Agent ist dann zum Beispiel der Protokoll-Initiator, einer übernimmt die Rolle des Antwortenden und so weiter. Als Aktionen werden Angreifer spezifiziert ebenso wie die Sicherheitsmerkmale, die das Protokoll mitbringen soll. Mit Tamarin lässt sich dann automatisiert beweisen, dass das Protokoll trotz paralleler Nutzung und Aktionen eines Angreifers seinen Merkmalen gerecht werden kann.
Laut diesen Tests mit Tamarin besitzt das Wireguard-Protokoll verschiedene Security-Merkmale: Es ist formal korrekt und verfügt über eine starke Schlüsselvereinbarung & Authentizität. Es widersteht Personifizierungen mit gestohlenen Schlüsseln, so genannten Key Compromise Impersonations. Wenn also Eve den Schlüssel von Alice stiehlt, kann sie sich nicht Alice gegenüber als andere Person ausgeben. Auch lassen sich Schlüssel nicht so teilen, dass nicht alle Teilnehmer davon erfahren (Unknown Key-share Attack). Wireguard beherrscht Key Secrecy und Forward Secrecy, unwiederholbare Sessions und versteckt die Identität. Die Details lesen Interessierte in einem Paper des Projekts nach.





Openvpn funktioniert gut und wird zunehmend in Appliances eingebaut. Zeit endlich wieder woanders eine Alternative zu bauen :-/