WireGuard staat op de schouders van Noise. Het Noise Protocol Framework is bedoeld om versleutelde verbindingen te versimpelen. SSH, IPsec en wat dies meer zij zijn complex geworden vanwege de vele features en achterwaartse comptabiliteit. Het nadeel is dat het aanvalsoppervlakte wordt vergroot voor zaken die je wellicht helemaal niet nodig hebt. Het idee van Noise is dat je protocollen kunt ontwerpen voor specifieke use-case waarbij oudere protocollen en uitgebreide features niet nodig hebt.
Op CCC legt Noise-ontwikkelaar Trevor Perrin uit wat de voor- en nadelen zijn van dit ontwikkelframework.
Wat WireGuard heeft dat protocollen als OpenVPN en IPsec niet hebben, is die eenvoud (wat ook een nadeel is, waar we zo op terugkomen). De codebase van de eerste twee is al snel honderdduizenden regels, bij WireGuard gaat het om 3771. Dat betekent dat de open source code vlotter te auditen is. Je zou theoretisch problemen als een Heartbleed, dat verstopt zat in een jaren meedraaiend codefragment, sneller kunt opmerken.
Het protocol heeft grote potentie, onder meer Linus Torvalds en tech-savy senator Ron Wyden tonen zich enthousiast (PDF), maar WireGuard er nog lang niet. Torvalds wil het protocol ondanks dat graag vast opnemen in de Linux-kernel, mede omdat het specifiek is opgezet voor betere roaming en dat is voor mobiele apparaten die de kernel gebruiken zeer welkom.
Jason Donenfield ontwierp WireGuard specifiek voor de kernel, omdat hij al jaren bugs ontdekt in VPN's en versleutelingsproducten, en bedacht dat dit veelal te wijten is aan de complexiteit van code. Hij wilde iets hebben dat overzichtelijk was en eenvoudig te auditen. Donenfield vertelt dat Wireguard opnieuw is opgebouwd en dat traditionele aannames over hoe je verbindingen opzet opzij zijn gezet en puur naar de netwerklaag wordt gekeken (layer 3 in het OSI-model) en niet naar layer 2.
Onder meer op event Security in Times of Surveillance van het Eindhoven Institute for the Protection of Systems and Information (TU/e) vorig jaar, vertelde Donenfield over het idee achter het protocol en de werking ervan. Dit is de presentatie later op de Linux Plumbers Conference.
Een van de gevolgen van dat ontwerp is dat het protocol met statische IP-adressen werkt. Voor anonimiteit is dat een gruwel: je zou VPN-verbindingen moeten loggen om de toewijzing van servers te kunnen regelen en een aanvaller die inbreekt op zo'n server (of laten we zeggen, een autoritaire overheid die toegang vereist tot een server) zou de ware adressen van gebruikers kunnen achterhalen.
VPN Perfect Privacy over dit huidige ontwerp: "Dat betekent dat we elk actieve apparaat van klanten zouden moeten registreren en een statisch IP-adres moeten toewijzen op elk van onze VPN-servers. Daarbij zouden we de timestamp van de login van elk apparaat moeten opslaan om een ongebruikt IP-adres opnieuw te kunnen gebruiken." Met andere woorden, het is onmogelijk met deze opzet om een no-log geanonimiseerde VPN te hanteren.
Vroege, vroege versie
Diverse VPN-aanbieders hebben dan ook aangegeven WireGuard links te laten liggen totdat iets wordt bedacht om dynamisch adressen te beheren - wat waarschijnlijk modulair toegevoegd zou moeten worden. AirVPN gaat zelfs zo ver het protocol in zijn huidige vorm 'gevaarlijk' te noemen, vanwege de afbreuk aan anonimiteit van gebruikers.
Maar net als andere aanbieders, geeft AirVPN ook aan WireGuard te willen gebruiken, mits het dezelfde basale features die OpenVPN heeft ook aanbiedt. De vraag is of je zulke 'basale features' wel wilt hebben, omdat die de complexiteit van alternatieven zo groot maakt. Dat gezegd hebbende, dynamische adrestoewijzing is er nou zo eentje die je wel zou moeten hebben bij een VPN-dienst.
WireGuard is verre van af; de huidige versie is zelfs 0.0.[datum], om aan te geven dat dit een héél vroege build is. Maar het begin is hoopgevend. Stabielere verbindingen bij roaming, snellere handshakes, PKI in plaats van certificaten en een slanke codebase zijn bijvoorbeeld elementen die het protocol een serieuze speler zouden kunnen maken.
Maar voor zakelijk gebruik en volledige anonimiteit, is het er nog niet. De makers hopen wel dat gebruikers het gaan testen, en een aantal VPN-aanbieders bieden experimentele ondersteunen, waaronder pure anonimiteitsleverancier Mullvad. De verwachting is dat op de minimalistische basis verder kan worden gebouwd om bijvoorbeeld wel dynamische adrestoewijzing te ondersteunen.
Voordeel van nadeel
De maker benadrukt dat de software zeer experimenteel is en niet gebruikt moeten worden als je anonimiteit zoekt. De client die het protocol gebruikt verifieert in zijn huidige vorm bijvoorbeeld de identiteit van servers niet, wat voer is voor aanvallers, en TCP-ondersteuning is (nog) niet ingebouwd, waardoor een third party-module vereist is voor TCP-tunneling. Een laatste probleem dat AirVPN aanhaalt is dat er geen configuratie-opties zij: je kunt bijvoorbeeld autenticatieprotocollen niet wijzigen.
Cryptograaf lvh (Laurens Van Houtven) noemt op identiteitbeveiliginsgcongres Oktane een voordeel van dat nadeel: "Er is geen configuratie, geen onderhandeling, niets wat kan falen. Het is een binair voorstel: het werkt, of het werkt niet." En dat is wat je eigenlijk wilt van een VPN. Je zou kunnen beargumenteren dat een falend VPN-protocol erger is dan geen VPN, want de eerste levert je een vals gevoel van veiligheid op, terwijl je in het tweede scenario wéét dat je onbeveiligd surft.
Diverse cryptokenners tonen zich enthousiast over het protocol. Het is helder, overzichtelijk, modern, presteert snel, eenvoudig te implementeren (los van dat het gebrek aan features diverse IT'ers juist in verwarring brengt), futureproof en met een modulaire opbouw kan het breed ingezet worden. Vandaar dat er een steeds groter wordende buzz is over WireGuard.
Dit is ook zo'n pareltje... Certificaten *zijn* een PKI-implementatie. Sorry Henk-Jan, maar je mist hier een stukje achtergrondkennis om dit verhaal correct te brengen.
Anonimiteit is helemaal geen taak voor een VPN. Raar verhaal om op die gronden een protocol af te schieten. Een Virtual Private Network is een eigen virtueel netwerk bovenop publieke infrastructuur. Dat hoeft zelfs niet versleuteld te zijn om te kunnen werken. Al die onbenoemde requirements daar bovenop maken de discussie vooral erg troebel.
Die onzin komt bij airvpn.org vandaan.
Reageer
Preview