Een VPN-protocol is de set instructies die uw VPN-app gebruikt om uw verbinding met een VPN-server in te stellen, te beveiligen en te beheren. OpenVPN is een VPN-protocol dat geen bekende zwakke plekken heeft en effectief is in het omzeilen van bepaalde online censuurmethoden. OpenVPN heeft ook het voordeel dat het wordt ondersteund op een enorm scala aan platforms en apparaten.

Er bestaan closed-source-implementaties van OpenVPN, maar er is ook een gratis en open-source Community Edition.

In dit artikel bekijken we in detail hoe OpenVPN werkt, hoe het de Proton VPN-community veilig houdt en hoe het zich verhoudt tot andere VPN-protocollen. Dit artikel is het meest nuttig als u al begrijpt hoe een VPN werkt.

Meer informatie over hoe een VPN werkt

OpenVPN, dat in 2001 werd uitgebracht, begint zijn ouderdom te tonen op het gebied van snelheid, prestaties en efficiëntie. Het wordt echter nog steeds algemeen als veilig beschouwd, een perceptie die is versterkt door documenten die in 2013 zijn vrijgegeven door NSA-klokkenluider Edward Snowden.

Neem Proton VPN

Deze gaven sterke aanwijzingen dat, zolang u geen vooraf gedeelde sleutels gebruikt(nieuw venster), OpenVPN destijds het enige veelgebruikte VPN-protocol was dat de NSA niet kon kraken. WireGuard®, een recenter en veiliger VPN-protocol, was in 2013 nog niet ontwikkeld. Hoewel WireGuard sneller, lichter en efficiënter is, kan het niet tippen aan de beproefde staat van dienst van OpenVPN.

Voordelen van OpenVPN:

  • Open source
  • Beproefde beveiliging
  • Kan via UDP of TCP werken
  • Breed ondersteund

Nadelen van OpenVPN:

  • De prestaties kunnen momenteel niet tippen aan die van WireGuard (hoewel er wordt gewerkt aan verbetering hiervan)
  • Relatief grote en complexe codebase

Proton VPN ondersteunt OpenVPN op al onze apps:

  • Windows 
  • macOS
  • Android
  • Android TV (via Smart Protocol)
  • iOS en iPadOS
  • Linux-app en -CLI
  • Chrome OS

Hoe houdt OpenVPN mij veilig?

OpenVPN gebruikt verschillende cryptografische technologieën om uw gegevens veilig te houden en heeft geen bekende kwetsbaarheden. De technologieën die door de meeste moderne implementaties van OpenVPN worden gebruikt (waaronder die van Proton VPN), zijn:

AES

Advanced Encryption Standard (AES) is een symmetrische versleutelingsmethode die wordt gebruikt om de gegevens die via uw VPN-verbinding worden verzonden, te versleutelen en te ontsleutelen.

Het is gecertificeerd door het National Institute of Standards and Technology(nieuw venster) (NIST) en wordt door de overheid van de Verenigde Staten gebruikt om geclassificeerde gegevens te beveiligen. AES heeft een maximale sleutelgrootte van 256 bits (AES-256), waarbij de Amerikaanse overheid AES-256 voldoende acht om “topgeheime” informatie te beveiligen(nieuw venster).

Wanneer AES wordt gebruikt als onderdeel van de OpenVPN-versleutelingssuite, kan het worden gebruikt in de modi AES-CBC (Cipher Block Chaining) of AES-GCM (Galois/Counter Mode). Om te begrijpen hoe Proton VPN werkt, hoeft u alleen maar iets te weten over AES-GCM

Hoewel het even veilig is, is het modernere AES-GCM een geauthenticeerde versleuteling met bijbehorende gegevens(nieuw venster) (AEAD)-cijfer die gegevens kan authenticeren en beveiligen. HMAC SHA (zie hieronder) is nog steeds vereist om de TLS-verbinding te authenticeren, maar AES-GCM is efficiënter (and dus sneller) in het authenticeren van gegevens dan SHA.

Meer informatie over AES-versleuteling

RSA

OpenVPN vertrouwt op AES om uw gegevens te beveiligen, maar om deze via de VPN-verbinding te verzenden, past OpenVPN asymmetrische cryptografie(nieuw venster) toe. Dit cryptografische systeem maakt gebruik van een asymmetrische sleuteluitwisseling, waarbij uw gegevens worden versleuteld met de openlijk gedeelde openbare sleutel van uw beoogde ontvanger. Deze gegevens kunnen vervolgens alleen worden ontsleuteld met de geheime privésleutel van uw ontvanger, .

Versleuteling met asymmetrische sleutels is effectief om gegevens geheim over het internet te verzenden, maar het is traag vergeleken met symmetrische versleutelingssystemen zoals AES. Daarom wordt het in VPN’s voornamelijk gebruikt om verbindingen tussen de VPN-client en de VPN-server te authenticeren. OpenVPN gebruikt hiervoor het RSA-cryptosysteem(nieuw venster).

RSA-sleutellengtes kunnen bijna elke grootte hebben, maar een 4096-bits sleutel is voldoende veilig zonder een hoge rekenkundige overhead te veroorzaken die verspillend is en uw verbinding vertraagt.

DHE

Een Diffie-Hellman-sleuteluitwisseling(nieuw venster) (DHE) kan worden gebruikt om de TLS-sleuteluitwisseling op vergelijkbare wijze als RSA te beveiligen, behalve met de bonus dat het ook forward secrecy(nieuw venster) biedt. Forward secrecy zorgt ervoor dat er voor elke sessie nieuwe sleutels worden gebruikt, zodat zelfs als één sessie op de een of andere manier in gevaar wordt gebracht, er geen andere sessies worden beïnvloed. Forward secrecy zorgt ervoor dat aanvallers historische VPN-sessies niet kunnen ontsleutelen met één enkele gecompromitteerde sleutel.

Onder andere omdat DHE een beperkte set priemgetallen hergebruikt, kan het kwetsbaar zijn voor logjam-aanvallen(nieuw venster). Dit probleem is veel minder zorgwekkend als er voldoende grote sleutels worden gebruikt, maar het gebruik ervan om TLS-sleuteluitwisselingen te beveiligen blijft controversieel.

Daarom maakt Proton VPN gebruik van DHE-ondersteuning in de OpenVPN-versleutelingssuite om forward secrecy te bieden, maar niet om de sleuteluitwisseling zelf te beveiligen.

HMAC SHA

OpenVPN gebruikt HMAC SHA om de TLS-certificaten te valideren die in de TLS-sleuteluitwisseling worden gebruikt. Dit beschermt tegen man-in-the-middle-aanvallen.

De SHA-familie(nieuw venster) van cryptografische hashfuncties(nieuw venster) wordt gebruikt om gegevens te authenticeren. Wanneer deze complexe wiskundige functies op een set gegevens worden uitgevoerd, ontstaat er een unieke vingerafdruk. Als er slechts één bit van die gegevens verandert, verandert ook de SHA-vingerafdruk.

SHA-1 (een 160-bits hashfunctie) staat erom bekend dat deze kwetsbaar is voor collision-aanvallen(nieuw venster), maar SHA-2 wordt nog steeds als veilig beschouwd. Belangrijker nog is dat OpenVPN SHA sowieso alleen gebruikt om de waarden van de hash message authentication code(nieuw venster) (HMAC) te berekenen. Deze zijn veel moeilijker aan te vallen dan het SHA-algoritme op zichzelf, tot op het punt waarop zelfs SHA-1 nog steeds als veilig genoeg wordt beschouwd voor HMAC(nieuw venster).

Open VPN-kanalen

OpenVPN gebruikt twee afzonderlijke kanalen om gegevens veilig over te dragen tussen uw apparaat en de VPN-server.

Een overzicht van hoe OpenVPN werkt

Het datakanaal

Voordat uw gegevens door de VPN-tunnel worden verzonden, versleutelt OpenVPN deze met een symmetrisch cijfer.

Proton VPN gebruikt maximaal AES-256 in GCM-modus om de gegevens te verifiëren.

Het controlekanaal

Zodra de gegevens zijn versleuteld, kunnen ze door de VPN-tunnel worden verzonden. Het controlekanaal brengt een TLS-verbinding tot stand tussen de VPN-client en de VPN-server. Dit is beveiligd met een symmetrisch cijfer, maar met een asymmetrische sleuteluitwisseling.

Proton VPN gebruikt maximaal AES-256-GCM voor zijn symmetrische versleuteling, met RSA-4096- en HMAC SHA-384-hashverificatie om de TLS-certificaten te verifiëren. De gebruikte versleutelingssuite bevat ook een Diffie-Hellman-sleutelovereenkomst (DHE) om voorwaartse geheimhouding te bieden.

Kan OpenVPN VPN-censuur omzeilen?

Een van de grote voordelen van OpenVPN is dat het via zowel UDP- als TCP-transmissieprotocollen kan worden uitgevoerd, de twee belangrijkste protocollen die regelen hoe gegevens over het internet worden verzonden. UDP is sneller, terwijl TCP betrouwbaarder is, maar het belangrijkste voordeel van deze flexibiliteit is dat TCP nuttig is voor het omzeilen van censuur door overheden en andere organisaties.

Lees meer over het verschil tussen UDP en TCP

TCP-poort 443 wordt gebruikt door HTTPS(nieuw venster), de versleutelingsstandaard die het web beveiligt. Dit maakt het moeilijk om OpenVPN te blokkeren wanneer het via TCP-poort 443 wordt uitgevoerd zonder al het HTTPS-verkeer te blokkeren, waardoor OpenVPN nuttig is voor het omzeilen van eenvoudige VPN-blokkades.

Geavanceerdere vormen van deep packet inspection kunnen echter gemakkelijk het verschil tussen HTTPS- en VPN-pakketten herkennen.

Meer informatie over deep packet inspection

Is OpenVPN geauditeerd?

Na een crowdfundingcampagne werd OpenVPN 2.4 in 2016 onafhankelijk geauditeerd(nieuw venster) door OSTIF en QuarksLab. De resultaten waren zeer positief en de enige ontdekte kritieke/ernstige kwetsbaarheid had betrekking op de gevoeligheid voor een denial of service en had geen invloed op de beveiliging van gebruikers. Dit probleem is ook snel verholpen.

2016 is inmiddels echter al een tijdje geleden, en OpenVPN 2.6.1 is de nieuwste release op het moment van schrijven.

OpenVPN vs. WireGuard

Het nieuwere WireGuard-protocol is veilig, snel en efficiënt. Daarom gebruikt Proton VPN dit nu als ons standaard VPN-protocol. Het vermogen van OpenVPN om via TCP te werken blijft een voordeel ten opzichte van de standaardversie van WireGuard, maar Proton VPN heeft nu een implementatie van WireGuard ontwikkeld die ook via TCP werkt.

Meer informatie over WireGuard

WireGuard vormt ook de basis van ons Stealth-obfuscatieprotocol, dat veel effectiever is in het omzeilen van censuurblokkades dan het uitvoeren van OpenVPN via TCP.

Meer informatie over Stealth

Het feit dat de beveiliging van OpenVPN beproefder is dan die van WireGuard, zal sommigen misschien nog steeds aanspreken, maar er zijn weinig redenen om hiervoor te kiezen boven WireGuard, tenzij uw huidige apparaat WireGuard niet ondersteunt.

Laatste gedachten

Gedurende vele jaren was OpenVPN in feite het standaard VPN-protocol, en hierdoor wordt het nog steeds zeer goed ondersteund op routers en andere internetapparaten. Het is nog steeds zeer veilig, maar biedt weinig voordelen ten opzichte van het modernere WireGuard (met name de aangepaste implementaties van Proton VPN van het nieuwere protocol).