Dit artikel is bijgewerkt om de WireGuard®- en Stealth VPN-protocollen op te nemen.
We leggen uit wat een VPN-protocol is en wat het doet. We vergelijken ook de sterke en zwakke punten van de meest voorkomende protocollen, waaronder OpenVPN, WireGuard®, IKEv2, PPTP en L2TP.
Voordat u een VPN vertrouwt om uw internetactiviteit te beschermen, moet u ervoor zorgen dat ze de nodige waarborgen hebben getroffen. Het evalueren van de meer technische aspecten van een VPN kan moeilijk zijn. Het betekent vaak worstelen om een lettersoep van verschillende afkortingen te begrijpen.
We zijn begonnen met een reeks berichten waarin we enkele van onze veiligheidsmaatregelen uitleggen, zodat mensen beter geïnformeerde beslissingen kunnen nemen. Ons eerste bericht legde uit wat HMAC SHA-384 betekent. Dit bericht onderzoekt VPN-protocollen, wat ze doen, hoe ze werken en wat het betekent als een VPN-dienst bijvoorbeeld OpenVPN over L2TP gebruikt.
Dit bericht duikt in de interne werking van VPN’s. Hoewel we proberen termen duidelijk uit te leggen, zal dit bericht nuttiger zijn als u enige technische basiskennis hebt. Als u niet zeker weet hoe een VPN werkt, kan het nuttig zijn om het hieronder gelinkte artikel te lezen voordat u doorgaat.
VPN-protocollen
VPN’s vertrouwen op wat ‘tunneling’ wordt genoemd om een privénetwerk te creëren tussen twee computers via het internet. Een VPN-protocol, ook wel een ‘tunnelingprotocol’ genoemd, zijn de instructies die uw apparaat gebruikt om te onderhandelen over de veilige versleutelde verbinding die het netwerk vormt tussen uw computer en een andere.
Een VPN-protocol bestaat meestal uit twee kanalen: een datakanaal en een controlekanaal. Het controlekanaal is verantwoordelijk voor de sleuteluitwisseling, authenticatie en parameteruitwisselingen (zoals het verstrekken van een IP of routes en DNS-servers). Het datakanaal is, zoals u wellicht al geraden had, verantwoordelijk voor het transporteren van uw internetverkeersgegevens. Samen brengen deze twee kanalen een veilige VPN-tunnel tot stand en onderhouden deze. Om uw gegevens echter door deze veilige tunnel te laten gaan, moeten ze worden ingekapseld.
Inkapseling is wanneer een VPN-protocol stukjes data, bekend als datapakketten, uit uw internetverkeer haalt en ze in een ander pakket plaatst. Deze extra laag is nodig omdat de protocolconfiguraties die uw VPN in het datakanaal gebruikt niet noodzakelijk dezelfde zijn als die het reguliere internet gebruikt. De extra laag zorgt ervoor dat uw informatie door de VPN-tunnel kan reizen en op de juiste bestemming aankomt.
Dit is allemaal een beetje technisch, dus een globaal overzicht: Wanneer u verbinding maakt met een VPN-server, gebruikt de VPN zijn controlekanaal om gedeelde sleutels vast te stellen en verbinding te maken tussen uw apparaat en de server. Zodra deze verbinding tot stand is gebracht, begint het datakanaal met het verzenden van uw internetverkeer. Wanneer een VPN de sterke en zwakke punten van zijn prestaties bespreekt of praat over een “veilige VPN-tunnel”, heeft het het over zijn datakanaal. Zodra de VPN-tunnel tot stand is gebracht, is het controlekanaal vervolgens belast met het handhaven van de stabiliteit van de verbinding.
PPTP
Point-to-Point Tunneling Protocol (PPTP) is een van de oudere VPN-protocollen. Het werd oorspronkelijk ontwikkeld met ondersteuning van Microsoft, en dus hebben alle versies van Windows en de meeste andere besturingssystemen native ondersteuning voor PPTP.
PPTP gebruikt het Point-to-Point Protocol (PPP), wat op zichzelf lijkt op een proto-VPN. Hoewel het vrij oud is, kan PPP een gebruiker verifiëren (meestal met MS-CHAP v2) en gegevens zelf inkapselen, waardoor het zowel de taken van het controlekanaal als het gegevenskanaal afhandelt. PPP is echter niet routeerbaar; het kan niet zelfstandig over het internet worden verzonden. Dus kapselt PPTP de PPP-ingekapselde gegevens opnieuw in met behulp van generic routing encapsulation (GRE) om zijn gegevenskanaal tot stand te brengen.
Helaas heeft PPTP geen eigen versleutelings- of verificatiefuncties. Het vertrouwt op PPP om deze functies te implementeren — wat problematisch is, aangezien het verificatiesysteem van PPP en de versleuteling die Microsoft eraan toevoegde, MPPE, beide zwak zijn.
Versleuteling: Microsofts Point-to-Point Encryption-protocol (MPPE(nieuw venster)), dat gebruikmaakt van het RSA RC4-algoritme. De maximale sterkte van MPPE is 128-bits sleutels.
Snelheid: Omdat de versleutelingsprotocollen niet veel rekenkracht vereisen (RC4 en slechts 128-bits sleutels), behoudt PPTP snelle verbindingssnelheden.
Bekende kwetsbaarheden: PPTP heeft sinds 1998 talloze bekende beveiligingskwetsbaarheden gehad. Een van de ernstigste kwetsbaarheden maakt gebruik van niet-ingekapselde MS-CHAP v2-verificatie om een man-in-the-middle (MITM) aanval uit te voeren.
Firewallpoorten: TCP-poort 1723. PPTP’s gebruik van GRE betekent dat het niet door een netwerkadresvertaling-firewall kan navigeren en een van de makkelijkst te blokkeren VPN-protocollen is. (Een NAT-firewall stelt meerdere mensen in staat om tegelijkertijd één openbaar IP-adres te delen. Dit is belangrijk omdat de meeste individuele gebruikers geen eigen IP-adres hebben.)
Stabiliteit: PPTP is niet zo betrouwbaar, noch herstelt het zo snel als OpenVPN over onstabiele netwerkverbindingen.
Conclusie: Als u zich zorgen maakt over het beveiligen van uw gegevens, is er geen reden om PPTP te gebruiken. Zelfs Microsoft heeft zijn gebruikers geadviseerd(nieuw venster) om te upgraden naar andere VPN-protocollen om hun gegevens te beschermen.
L2TP/IPSec
Layer Two Tunneling Protocol (L2TP) was bedoeld om PPTP te vervangen. L2TP kan verificatie zelfstandig afhandelen en voert UDP-inkapseling uit, dus in zekere zin kan het zowel het controle- als het gegevenskanaal vormen. Net als PPTP voegt het echter zelf geen versleuteling toe. Hoewel L2TP PPP kan verzenden, wordt L2TP, om de inherente zwakheden van PPP te vermijden, meestal gekoppeld aan de Internet Protocol security (IPSec) suite om de versleuteling en verificatie af te handelen.
IPSec is een flexibel raamwerk dat kan worden toegepast op VPN’s en op beveiliging op routerings- en applicatieniveau. Wanneer u verbinding maakt met een VPN-server met L2TP/IPSec, onderhandelt IPSec over de gedeelde sleutels en verifieert het de verbinding van een beveiligd controlekanaal tussen uw apparaat en de server.
IPSec kapselt de gegevens vervolgens in. Wanneer IPSec deze inkapseling uitvoert, past het een verificatieheader toe en gebruikt het de Encapsulation Security Payload (ESP). Deze speciale headers voegen een digitale handtekening toe aan elk pakket, zodat aanvallers uw gegevens niet onrechtmatig kunnen bewerken zonder de VPN-server te waarschuwen.
ESP versleutelt de ingekapselde gegevenspakketten zodat geen enkele aanvaller ze kan lezen (en verifieert, afhankelijk van de instellingen van de VPN, ook het gegevenspakket). Zodra IPSec de gegevens heeft ingekapseld, kapselt L2TP die gegevens opnieuw in met behulp van UDP zodat ze door het gegevenskanaal kunnen passeren.
Verschillende VPN-protocollen, waaronder IKEv2, gebruiken IPSec-versleuteling. Hoewel over het algemeen veilig, is IPSec erg complex, wat kan leiden tot slechte implementatie. L2TP/IPSec wordt ondersteund op de meeste grote besturingssystemen.
Versleuteling: L2TP/IPSec kan gebruikmaken van 3DES- of AES-versleuteling, hoewel 3DES nu als een zwakke cijfercode wordt beschouwd en zelden wordt gebruikt.
Snelheid: L2TP/IPSec is over het algemeen langzamer dan OpenVPN bij gebruik van dezelfde versleutelingssterkte. Dit komt voornamelijk doordat de AES-versleuteling die door OpenVPN wordt gebruikt, hardwarematig wordt versneld op de meeste gangbare processors.
Bekende kwetsbaarheden: L2TP/IPSec is een geavanceerd VPN-protocol, maar een gelekte NSA-presentatie(nieuw venster) suggereert dat de inlichtingendienst al manieren heeft gevonden om het onrechtmatig te bewerken. Bovendien gebruikten, vanwege de complexiteit van IPSec, veel VPN-providers vooraf gedeelde sleutels(nieuw venster) om L2TP/IPSec in te stellen.
Firewallpoorten: UDP-poort 500 wordt gebruikt voor de initiële sleuteluitwisseling, UDP-poort 5500 voor NAT-traversal en UDP-poort 1701 om L2TP-verkeer toe te staan. Omdat het deze vaste poorten gebruikt, is L2TP/IPSec makkelijker te blokkeren dan sommige andere protocollen.
Stabiliteit: L2TP/IPSec is niet zo stabiel als sommige van de meer geavanceerde VPN-protocollen. De complexiteit ervan kan leiden tot frequente netwerkonderbrekingen.
Conclusie: De beveiliging van L2TP/IPSec is ongetwijfeld een verbetering ten opzichte van PPTP, maar het beschermt uw gegevens mogelijk niet tegen geavanceerde aanvallers. De lagere snelheden en instabiliteit betekenen ook dat gebruikers alleen zouden moeten overwegen L2TP/IPSec te gebruiken als er geen andere opties zijn.
IKEv2/IPSec
Internet Key Exchange versie twee (IKEv2) is een relatief nieuw tunnelingprotocol dat eigenlijk deel uitmaakt van de IPSec-suite zelf. Microsoft en Cisco werkten samen aan de ontwikkeling van het oorspronkelijke IKEv2/IPSec-protocol, maar er zijn nu veel open-source iteraties.
IKEv2 stelt een controlekanaal in door een beveiligd communicatiekanaal te verifiëren tussen uw apparaat en de VPN-server met behulp van het Diffie–Hellman key exchange(nieuw venster)-algoritme. IKEv2 gebruikt vervolgens dat beveiligde communicatiekanaal om een zogeheten ‘security association’ tot stand te brengen, wat simpelweg betekent dat uw apparaat en de VPN-server dezelfde encryptiesleutels en algoritmen gebruiken om te communiceren.
Zodra de security association tot stand is gebracht, kan IPSec een tunnel creëren, geverifieerde headers toepassen op uw gegevenspakketten en deze inkapselen met ESP. (Nogmaals, afhankelijk van welk cijfer wordt gebruikt, kan de ESP de berichtverificatie afhandelen.) De ingekapselde gegevenspakketten worden vervolgens opnieuw ingekapseld in UDP zodat ze door de tunnel kunnen passeren.
IKEv2/IPSec wordt ondersteund op Windows 7 en latere versies, macOS 10.11 en latere versies, evenals de meeste mobiele besturingssystemen.
Versleuteling: IKEv2/IPSec kan een reeks verschillende cryptografische algoritmen gebruiken, waaronder AES, Blowfish en Camellia. Het biedt ondersteuning voor 256-bits versleuteling.
Snelheid: IKEv2/IPSec is een snel VPN-protocol, hoewel meestal niet zo snel als hardwarematig versnelde OpenVPN of WireGuard.
Bekende kwetsbaarheden: IKEv2/IPSec heeft geen bekende zwakheden, en bijna alle IT-beveiligingsexperts beschouwen het als veilig wanneer het correct is geïmplementeerd met Perfect Forward Secrecy.
Firewallpoorten: UDP-poort 500 wordt gebruikt voor de initiële sleuteluitwisseling en UDP-poort 4500 voor NAT-traversal. Omdat het altijd deze poorten gebruikt, is IKEv2/IPSec makkelijker te blokkeren dan sommige andere protocollen.
Stabiliteit: IKEv2/IPSec biedt ondersteuning voor het Mobility and Multihoming-protocol, waardoor het betrouwbaarder is dan de meeste andere VPN-protocollen, vooral voor gebruikers die vaak wisselen tussen verschillende wifi-netwerken.
Conclusie: Met sterke beveiliging, hoge snelheden en verhoogde stabiliteit is IKEv2/IPSec een goed VPN-protocol. De recente introductie van WireGuard betekent echter dat er weinig redenen zijn om het te verkiezen boven het nieuwere VPN-protocol.
OpenVPN
OpenVPN is een open-source tunnelingprotocol. In tegenstelling tot VPN-protocollen die vertrouwen op de IPSec-suite, gebruikt OpenVPN SSL/TLS om de sleuteluitwisseling af te handelen en het controlekanaal in te stellen, en een uniek OpenVPN-protocol om inkapseling en het gegevenskanaal af te handelen.
Dit betekent dat zowel het gegevenskanaal als het controlekanaal versleuteld zijn, wat het enigszins uniek maakt in vergelijking met andere VPN-protocollen. Het wordt ondersteund op alle grote besturingssystemen via software van derden.
Versleuteling: OpenVPN kan elk van de verschillende cryptografische algoritmen in de OpenSSL(nieuw venster)-bibliotheek gebruiken om de gegevens te versleutelen, waaronder AES, RC5 en Blowfish.
Meer informatie over AES-versleuteling
Snelheid: Bij gebruik van UDP behoudt OpenVPN snelle verbindingen, hoewel IKEv2/IPSec en WireGuard algemeen worden aanvaard als sneller.
Bekende kwetsbaarheden: OpenVPN heeft geen bekende kwetsbaarheden zolang het is geïmplementeerd met een voldoende sterk versleutelingsalgoritme en Perfect Forward Secrecy. Het is de industriestandaard voor VPN’s die bezorgd zijn om gegevensbeveiliging.
Firewallpoorten: OpenVPN kan worden geconfigureerd om op elke UDP- of TCP-poort te draaien, inclusief poort TCP-poort 443, die al het HTTPS-verkeer afhandelt en het erg moeilijk maakt om te blokkeren.
Stabiliteit: OpenVPN is over het algemeen zeer stabiel en heeft een TCP-modus voor het omzeilen van censuur.
Conclusie: OpenVPN is veilig, betrouwbaar en open source. Het is momenteel een van de beste VPN-protocollen in gebruik, vooral voor gebruikers die zich voornamelijk zorgen maken over gegevensbeveiliging. Het vermogen om verbindingen over TCP te routeren (zie hieronder) maakt het ook een goede keuze voor het ontwijken van censuur. Hoewel WireGuard het anti-censuurvoordeel van OpenVPN mist, is het echter ook veilig en sneller dan OpenVPN.
WireGuard®
WireGuard(nieuw venster) is een open-source VPN-protocol dat veilig, snel en efficiënt is.
Versleuteling: WireGuard gebruikt ChaCha20 voor symmetrische versleuteling (RFC7539(nieuw venster)), Curve25519 voor anonieme sleuteluitwisseling, Poly1305 voor gegevensverificatie en BLAKE2s voor hashing (RFC7693(nieuw venster)). Het ondersteunt automatisch Perfect Forward Secrecy.
Snelheid: WireGuard maakt gebruik van nieuwe, supersnelle cryptografische algoritmen. ChaCha20 is bijvoorbeeld veel eenvoudiger dan AES-cijfers van gelijke sterkte en bijna net zo snel, ook al hebben de meeste apparaten tegenwoordig instructies voor AES ingebouwd in hun hardware. Het resultaat is dat WireGuard snelle verbindingssnelheden en lage CPU-vereisten biedt.
Bekende kwetsbaarheden: WireGuard heeft diverse formele verificaties ondergaan, en om in de Linux-kernel te worden opgenomen, werd de WireGuard Linux-codebase onafhankelijk gecontroleerd(nieuw venster) door een derde partij.
Firewallpoorten: WireGuard kan worden geconfigureerd om elke poort te gebruiken en draait meestal over UDP. Proton VPN biedt echter in de meeste van onze apps ook WireGuard TCP aan.
Stabiliteit: WireGuard is een zeer stabiel VPN-protocol en introduceert nieuwe functies die andere tunnelingprotocollen niet hebben, zoals het behouden van een VPN-verbinding tijdens het wisselen van VPN-servers of het wisselen van wifi-netwerken.
Conclusie: WireGuard is een geavanceerd VPN-protocol, dat snel, efficiënt en veilig is. Het is niet zo “battle-tested” als OpenVPN en biedt niet OpenVPN’s op TCP gebaseerde anti-censuurmogelijkheden (zie hieronder), maar voor de meeste mensen is het meestal het VPN-protocol dat we aanraden te gebruiken.
Meer informatie over WireGuard
Stealth
Stealth is een nieuw VPN-protocol ontwikkeld door Proton. Hiermee hebt u toegang tot gecensureerde sites en kunt u communiceren met mensen op sociale media, zelfs wanneer reguliere VPN-protocollen worden geblokkeerd door uw overheid of organisatie.
Stealth is gebaseerd op WireGuard getunneld over TLS. Het gebruikt daarom dezelfde versleuteling als WireGuard, met een extra laag TLS-versleuteling. Verder is het identiek aan WireGuard (hierboven beschreven).
Andere belangrijke termen
Bij het doornemen van de vergelijkingen van de verschillende VPN-protocollen, bent u mogelijk acroniemen of technische termen tegengekomen die u niet kende. We leggen enkele van de belangrijkste hier uit.
TCP vs. UDP
Het Transmission Control Protocol (TCP) en User Datagram Protocol (UDP) zijn de twee verschillende manieren waarop apparaten met elkaar kunnen communiceren over het internet. Ze draaien beide op het Internet Protocol, dat verantwoordelijk is voor het verzenden van gegevenspakketten van en naar IP-adressen.
Wanneer u ziet dat een tunnelingprotocol een TCP-poort of een UDP-poort gebruikt, betekent dit dat het een verbinding instelt tussen uw computer en de VPN-server met behulp van een van deze twee protocollen.
Of een VPN-protocol TCP, UDP of beide gebruikt, kan de prestaties aanzienlijk beïnvloeden. TCP richt zich voornamelijk op het nauwkeurig leveren van gegevens door extra controles uit te voeren om ervoor te zorgen dat gegevens in de juiste volgorde staan en deze te corrigeren als dat niet het geval is.
Dit klinkt als een goede functie, maar het uitvoeren van controles kost tijd, wat resulteert in tragere prestaties. Het draaien van een VPN over TCP (TCP over TCP) kan uw verbinding vertragen in wat een “TCP-meltdown” wordt genoemd.
Als u bijvoorbeeld TCP-verkeer door een OpenVPN TCP-tunnel leidt en de TCP-gegevens in de tunnel een fout detecteren, zal het proberen te compenseren, wat ertoe kan leiden dat de TCP-tunnel overcompenseert. Dit proces kan ernstige vertragingen in de levering van uw gegevens veroorzaken.
Het is echter ook goed voor het omzeilen van censuur. Dit komt doordat HTTPS(nieuw venster)-verkeer TCP-poort 443 gebruikt, dus als u uw VPN-verbinding over dezelfde poort routeert, lijkt het op gewoon beveiligd VPN-verkeer.
De mogelijkheid om VPN-verkeer over poort 443 te laten lopen, is een van de grootste voordelen van het gebruik van OpenVPN (en WireGuard, bij gebruik van Proton VPN’s aangepaste TCP-implementatie van het protocol).
Meer informatie over TCP en UDP
Perfect Forward Secrecy
Perfect Forward Secrecy is een kritiek beveiligingsonderdeel van versleutelde communicatie. Het verwijst naar bewerkingen die bepalen hoe uw encryptiesleutels worden gegenereerd. Als uw VPN ondersteuning biedt voor Perfect Forward Secrecy, zal het een unieke set sleutels creëren voor elke sessie (d.w.z. elke keer dat u een nieuwe VPN-verbinding tot stand brengt).
Dit betekent dat zelfs als een aanvaller op de een of andere manier een van uw sleutels bemachtigt, hij deze alleen kan gebruiken om toegang te krijgen tot gegevens van die specifieke VPN-sessie. De gegevens in de rest van uw sessies blijven veilig omdat verschillende unieke sleutels deze beschermen. Het betekent ook dat uw sessiesleutel veilig blijft, zelfs als de geheime sleutel van uw VPN wordt blootgesteld.
Protocollen gebruikt door Proton VPN-apps
We zijn Proton VPN gestart om ervoor te zorgen dat activisten, dissidenten en journalisten veilige en privé toegang tot het internet hebben. Om de Proton-gemeenschap veilig te houden, gebruiken we alleen vertrouwde en gecontroleerde VPN-protocollen. De volgende lijst toont welke VPN-protocollen worden ondersteund in onze verschillende apps:
- Windows: OpenVPN, WireGuard® en Stealth
- macOS: OpenVPN, IKEv2, WireGuard en Stealth
- Android: OpenVPN, WireGuard en Stealth
- iOS/iPadOS: OpenVPN, IKEv2, WireGuard en Stealth
- Linux: OpenVPN en WireGuard
U kunt OpenVPN en WireGuard in UDP- of TCP-modus gebruiken.
Leer hoe u VPN-protocollen wijzigt
Onze Windows-, macOS-, Android- en iOS/iPadOS-apps bieden ondersteuning voor Smart Protocol. Deze anti-censuurfunctie onderzoekt op intelligente wijze netwerken om de beste VPN-protocolconfiguratie te ontdekken die nodig is voor optimale prestaties of om censuur te omzeilen.
Het kan bijvoorbeeld automatisch overschakelen van IKEv2 naar OpenVPN, of OpenVPN UDP naar OpenVPN TCP, waarbij zo nodig verschillende poorten worden gebruikt.
Meer informatie over Smart Protocol
Al onze apps gebruiken de sterkste beveiligingsinstellingen die door het VPN-protocol worden ondersteund. OpenVPN, WireGuard en IKEv2/IPSec zijn de enige protocollen waarover de overgrote meerderheid van de IT-beveiligingsexperts het eens is dat ze veilig zijn.
We weigeren VPN-verbindingen aan te bieden die gebruikmaken van PPTP of L2TP/IPSec (ook al zijn ze goedkoper te exploiteren en makkelijker te configureren) omdat hun beveiliging niet aan onze normen voldoet.
Wanneer u inlogt bij Proton VPN, kunt u erop vertrouwen dat uw VPN-verbinding de nieuwste en sterkste tunnelingprotocollen gebruikt.
Met vriendelijke groet,
Het Proton VPN-team
U kunt ons volgen op sociale media om op de hoogte te blijven van de laatste Proton VPN-releases:
Twitter (nieuw venster)| Facebook(nieuw venster) | Reddit(nieuw venster)
Ga voor een gratis versleutelde e-mailaccount van Proton Mail naar: proton.me/mail(nieuw venster)



