Top10VPN heeft een onafhankelijke redactie. We kunnen commissie krijgen als je een VPN aanschaft via onze links.

Hoe werkt een VPN? Uitleg van VPN-encryptie en tunneling

JP Jones is onze CTO. Hij heeft meer dan 25 jaar ervaring op het gebied van software engineering en netwerken en houdt toezicht op alle technische aspecten van onze VPN-testprocedure.

Gecontroleerd op feiten door Simon Migliano

VPN-software brengt een versleutelde virtuele tunnel tot stand tussen je apparaat en een externe VPN-server. Daardoor ontstaat een veilige verbinding tussen jou en het openbare internet, waarbij je IP-adres wordt verborgen, je locatie wordt verhuld en je internetactiviteit wordt beschermd tegen externe controle.

Zo werkt een VPN (Virtual Private Network)

VPN-software leidt je internetverkeer naar een externe server via een versleutelde tunnel.

Een virtual private network (VPN) is een waardevol hulpmiddel om je online privacy, beveiliging en vrijheid te beschermen.

In deze gids leggen we uit hoe VPN-software werkt om je openbare IP-adres te beschermen en je internetverbinding te versleutelen.

Als je liever wilt weten wat je met een VPN kunt doen, lees je onze Waarvoor worden VPN’s gebruikt? gids.

Waarom op ons vertrouwen?

We zijn volledig onafhankelijk en beoordelen VPN’s sinds 2016. Ons advies is gebaseerd op onze eigen testresultaten en wordt niet beïnvloed door financiële incentives. Ontdek wie wij zijn en hoe we VPN’s testen.

VPN’s getest65
Totaal aantal testurenmeer dan 30.000
Gecombineerde jaren aan ervaringmeer dan 3.000 uur

Kort overzicht: zo werken VPN's

Een VPN versleutelt je verbinding en leidt deze om via een externe VPN-server.

Wanneer je een VPN gebruikt, gebeurt het volgende met je internetverkeer:

  1. Je downloadt, installeert en activeert de VPN-app op je computer, smartphone of tv.
  2. Je typt in je browser de URL van de website die je wilt bekijken (zoals voorbeeld.nl).
  3. De VPN-software op je apparaat versleutelt de verbindingsaanvraag. Daardoor worden de locatie en content van je aanvraag onleesbaar voor anderen.
  4. De verbindingsgegevens worden naar de gekozen VPN-server gestuurd, waar ze worden ontsleuteld.
  5. De VPN-server maakt voor jou verbinding met de website en de website stuurt de gevraagde informatie terug naar de VPN-server.
  6. Deze informatie wordt versleuteld door de VPN-server en doorgestuurd naar jouw apparaat.
  7. Je VPN-app ontsleutelt de informatie en de gevraagde website verschijnt in je browser.

Met dit proces maskeert een VPN je IP-adres voor de websites die je bekijkt.

Ook kun je met VPN-software je online activiteit verbergen voor je internetprovider, de beheerder van je wifi, de overheid of ieder ander die jouw verbinding controleert.

Hoewel alle VPN-software ongeveer hetzelfde werkt, geldt dit proces specifiek voor persoonlijke of “consumenten” VPN-aanbieders.

Lees onze gids over typen VPN’s voor meer informatie over de werking van externe toegang en site-to-site-VPN’s.

Wat is een VPN-tunnel?

Een ‘VPN-tunnel’ is een gebruikelijke manier om te beschrijven wat er gebeurt wanneer je een VPN-verbinding tot stand brengt. Met andere woorden, het is de versleutelde communicatie tussen je apparaat en de VPN-server.

Deze communicatie wordt een tunnel genoemd, omdat je oorspronkelijke verkeer wordt versleuteld en ingepakt in een laag van onversleuteld verkeer.

Het is alsof je een envelop met een brief neemt en die in een tweede envelop stopt waarop je een nieuw adres schrijft. Je werkelijke bericht wordt volledig verborgen voor de buitenwereld, zoals in een tunnel.

Dit proces wordt inkapseling genoemd, en het wordt uitgevoerd door speciale tunneling-protocollen.

Je kunt meer lezen over tunneling-protocollen in het gedeelte over VPN-encryptie verderop of in onze specifieke gids over VPN-protocollen.

Hoe verbergt een VPN je IP-adres?

SAMENVATTING: VPN-aanbieders fungeren als tussenpersoon tussen je apparaat en het internet. Als je met een VPN op internet surft, zien de websites die je bezoekt het IP-adres van de VPN-server waarmee je verbonden bent, in plaats van je oorspronkelijke openbare IP-adres.

Wanneer je zonder een VPN op internet rondkijkt, loopt je verbinding rechtstreeks van je apparaat naar de server waarop de gewenste website of service wordt gehost.

Om de relevante content naar jou te kunnen sturen, moet de webserver je IP-adres weten.

Je IP-adres is feitelijk je paspoort op internet. Het is een unieke identificatie die andere computers vertelt waar ze informatie heen moeten sturen om je te bereiken.

Gebruik onze IP-controletool (‘Wat is mijn IP’) om je openbare IP-adres te vinden.

Er zijn veel persoonlijke gegevens aan je IP-adres gekoppeld. Het toont je geografische locatie en kan worden gebruikt om een totaalbeeld van je online activiteit samen te stellen.

Daarom kiezen veel mensen ervoor hun IP-adres te verbergen met een VPN.

Wanneer je op internet surft via een actieve VPN, gaat je verbinding altijd via een externe VPN-server naar de webserver waar de gewenste website of service wordt gehost.

Wanneer de webserver informatie naar je terugstuurt, stuurt die die door naar de VPN-server, die het vervolgens naar jou doorstuurt. Dat betekent dat de websites die je bekijkt, nooit je echte IP-adres te zien krijgen.

Schema dat laat zien hoe een VPN je IP-adres verbergt voor de websites die je bekijkt.

 

De websites die je bekijkt, zien alleen een verbindingsaanvraag van een VPN-server. Vervolgens sturen ze informatie naar die VPN-server.

EXPERT TIP: goede VPN-aanbieders hebben servers op heel veel locaties. Je kunt websites laten denken dat je in een ander land bent door verbinding te maken met een VPN-server in dat andere land. Dit is hoe mensen VPN’s gebruiken om hun regio te wijzigen op Netflix en andere streaming services.

Hoe versleutelen en beveiligen VPN's je gegevens?

SAMENVATTING: VPN-aanbieders gebruiken encryptiecijfers en verbindingsprotocollen om je webverkeer om te zetten in onverstaanbare code. Dit voorkomt dat je ISP, de overheid en andere derden de inhoud van je surfactiviteiten kunnen zien. Een veilige VPN zou niets zwakkers dan het AES-256 cijfer moeten gebruiken om je gegevens te versleutelen.

Encryptie is het proces waarbij normale tekstgegevens worden veranderd in geheime code die alleen begrijpelijk is voor iemand die de code kan ontsleutelen.

Encryptie is bedoeld om te voorkomen dat onbevoegde personen je berichten kunnen lezen.

VPN’s gebruiken encryptie om de details van je browser activiteit te verbergen op het traject tussen je apparaat en de VPN-server.

Door een VPN te gebruiken voorkom je dat internetproviders, overheden, wifi-beheerders, hackers en andere nieuwsgierige derde partijen je verbinding bespioneren.

Maar hoe werkt dit eigenlijk? Hoe versleutelt en beveiligt een VPN je gegevens?

In de rest van deze beschrijving nemen we de verschillende componenten en processen die zorgen voor de VPN-encryptie onder de loep, te beginnen met encryptie algoritmes.

Encryptie algoritmes

De app Private Internet Access, waarin je ziet hoe je je encryptie-instellingen in je VPN aanpast.

Voor de conversie van je online activiteit in een onleesbare code hebben VPN’s een encryptie algoritme nodig.

Een algoritme is een set regels die samen zorgen voor de versleuteling en ontsleuteling van gegevens.

VOORBEELD: een heel eenvoudig algoritme zou je gegevens kunnen versleutelen met de regel: ‘vervang elke letter in het bericht door de daaraan voorafgaande letter in het alfabet’. Dus privacy wordt dan oqhuzbx.

Algoritmes worden meestal gecombineerd met een specifieke sleutellengte. Je kunt in het algemeen stellen dat de encryptie veiliger wordt naarmate de sleutel langer is. Zo wordt AES-256 beschouwd als veiliger dan AES-128.

In VPN-aanbieders worden de volgende algoritmes het meest gebruikt:

1Advanced Encryption Standard (AES)

Het AES-algoritme (Advanced Encryption Standard) is een van de veiligste algoritmes. Het is de gouden standaard voor online encryptie-protocollen en wordt heel veel gebruikt in de VPN-branche.

AES is in 2001 ontwikkeld door het Amerikaanse National Institute of Standards and Technology (NIST), en wordt ook wel het Rijndael-algoritme genoemd. Het algoritme is ontwikkeld met een grotere blokgrootte zodat het grotere bestanden kan verwerken dan andere algoritmes, zoals Blowfish.

AES is meestal beschikbaar met 128-bits en 256-bits sleutellengtes. AES-128 wordt nog steeds als veilig beschouwd, maar we weten dat organisaties als de NSA voortdurend proberen encryptiestandaarden te ondermijnen. Daarom heeft AES-256 de voorkeur, omdat dit waarschijnlijk een veel betere bescherming biedt.

Wanneer je op de website van een VPN-aanbieder leest over encryptie van ‘militaire kwaliteit‘ of ‘bankkwaliteit‘, wordt meestal AES-256 bedoeld. De Amerikaanse regering gebruikt AES-256 encryptie om zijn eigen gevoelige gegevens te beschermen, en we letten daarop wanneer we VPN’s testen en beoordelen.

2Blowfish

Blowfish is een algoritme dat in 1993 is ontwikkeld door de Amerikaanse cryptograaf Bruce Schneier. Ooit was dit het standaardalgoritme in de meeste VPN-verbindingen, maar het is nu meestal vervangen door AES-256.

Blowfish wordt doorgaans gebruikt met een 128-bits sleutellengte, maar lengtes van 32-bits tot 448-bits zijn mogelijk.

Blowfish heeft een aantal zwakke punten. Het meest bekend is de kwetsbaarheid voor een cryptografische aanval die ook wel de ‘verjaardagsaanval’ wordt genoemd. Daarom moet Blowfish alleen worden gebruikt als een reserve voor AES-256.

3ChaCha20

ChaCha20 is een relatief nieuw algoritme voor VPN-encryptie dat in 2008 is gepubliceerd door Daniel Bernstein. Het wordt wel snel steeds populairder omdat het als enige algoritme compatibel is met het opkomende WireGuard-protocol.

Net als AES hanteert ChaCha20 een 256-bits sleutellengte, wat als zeer veilig wordt gezien. Bovendien wordt aangegeven dat ChaCha20 tot wel drie keer sneller is dan AES.

Er zijn momenteel geen beveiligingsproblemen in ChaCha20 bekend en het biedt een welkom alternatief voor AES, nu encryptietechnologieën de uitdaging van quantumcomputertechnologie in de nabije toekomst moeten aangaan.

4Camellia

Het Camellia-algoritme lijkt veel op AES als het gaat om beveiliging en snelheid. Het gebruikt een kortere sleutel (128-bits), maar wordt desondanks beschouwd als onkraakbaar voor een brute-force aanval gezien de huidige technologie. Er zijn geen succesvolle aanvallen bekend die het Camellia-algoritme verzwakken.

Het belangrijkste verschil tussen Camelia en AES is dat het niet is gecertificeerd door NIST, de Amerikaanse organisatie die AES heeft ontwikkeld.

Hoewel er zeker wat voor te zeggen is om een algoritme te gebruiken dat niet gerelateerd is aan de Amerikaanse overheid, wordt Camelia zelden aangeboden in VPN-software, en is het ook niet zo grondig getest als AES.

SAMENVATTING: een VPN moet minimaal het AES-256 algoritme gebruiken om je gegevens te versleutelen. ChaCha20 en Camellia zijn veilige alternatieven, maar je VPN moet je op zijn minst AES als optie bieden.

VPN-protocollen

VPN-protocollen zijn de regels en processen die je apparaat volgt om een veilige verbinding tot stand te brengen met de VPN-server.

Met andere woorden, het VPN-protocol bepaalt hoe de VPN-tunnel wordt gevormd, terwijl het encryptie algoritme wordt gebruikt om de gegevens te versleutelen die door die tunnel gaan.

Afhankelijk van het protocol dat wordt gebruikt, heeft een VPN verschillende snelheden, mogelijkheden en beveiligingsproblemen. De meeste services laten je in de instellingen van de app kiezen welk protocol je wilt gebruiken.

Er zijn verschillende VPN-protocollen beschikbaar, maar ze zijn niet allemaal veilig. Hier volgt een kort overzicht van de meest gebruikelijke protocollen:

  • OpenVPN: open source, extreem veilig en compatibel met vrijwel alle apparaten die je met een VPN kunt gebruiken.
  • WireGuard: razendsnel en zeer efficiënt, maar moet nog het vertrouwen zien te winnen van iedereen in de VPN-branche doordat het nog vrij nieuw is.
  • IKEv2/IPsec: een closed-source protocol dat uitstekend is voor gebruikers van mobiele VPN’s, maar het vermoeden bestaat dat de NSA dit al gehackt heeft.
  • SoftEther: wordt maar door weinig VPN-aanbieders ondersteund, maar is wel snel, veilig en uitermate geschikt om censuur te omzeilen.
  • L2TP/IPsec: een trager protocol waarvan ook wordt vermoed dat het wordt gehackt door de NSA.
  • SSTP: gaat goed om met firewalls, maar is closed-source en mogelijk kwetsbaar voor man-in-the-middle aanvallen.
  • PPTP: verouderd, onveilig en moet koste wat kost worden vermeden.

MEER INFORMATIE: wil je meer lezen over de verschillende typen VPN-protocollen en wil je weten welke de beste is, lees dan onze volledige gids over VPN-protocollen.

VPN handshakes

Naast protocollen en algoritmes gebruiken VPN’s ook ‘handshakes’ en ‘hash-authenticatie’ om je verbinding verder te beveiligen en te verifiëren.

Een handshake verwijst naar het eerste contact tussen twee computers. Het is een begroeting waarbij beide partijen elkaar verifiëren en de regels voor de communicatie worden vastgelegd.

Bij een VPN handshake brengt de VPN-client (jouw apparaat) een eerste verbinding tot stand met de VPN-server.

Via deze verbinding wordt vervolgens veilig een encryptiesleutel uitgewisseld tussen de client en de server. Met deze sleutel worden de gegevens aan weerszijden van de VPN-tunnel voor de gehele browsersessie versleuteld en ontsleuteld.

Schema van het stapsgewijze proces van een VPN-handshake tussen een VPN-client en een VPN-server.

 

VPN handshakes maken vaak gebruik van het RSA-algoritme (Rivest-Shamir-Adleman). RSA was de laatste twee decennia de basis voor internetbeveiliging.

Hoewel er nog geen hard bewijs is dat RSA-1024 is gekraakt, wordt het wel als een beveiligingsrisico beschouwd, gezien de huidige verwerkingskracht.

RSA-2048 is een veel veiliger alternatief en veroorzaakt relatief weinig vertraging in de computerverwerking. Daarom maken de meeste VPN-aanbieders geen gebruik meer van RSA-1024.

Vertrouw alleen VPN-aanbieders die RSA-2048 of RSA-4096 gebruiken.

Het handshake proces werkt op zich goed en genereert een veilige encryptie, maar elke gegenereerde sessie kan worden ontsleuteld met de privésleutel die wordt gebruikt in de RSA-handshake. In die zin is het een soort hoofdsleutel.

Als de hoofdsleutel ooit gehackt wordt, kunnen daarmee alle veilige sessies op die VPN-server, zowel huidige sessies als sessies in het verleden, worden ontsleuteld. Een aanvaller kan dan dus inbreken op de VPN-server en toegang krijgen tot alle gegevens die door de VPN-tunnel gaan.

Om dit te voorkomen kun je het beste VPN-aanbieders gebruiken die werken met Perfect Forward Secrecy.

Perfect Forward Secrecy

 

Afbeelding van een VPN-client en een VPN-server in aparte kamers die beide dezelfde tijdelijke sleutel genereren om hun sessie te versleutelen.

Perfect Forward Secrecy is een protocolfunctie die gebruikmaakt van het Diffie-Hellman (DH)-algoritme of het Elliptic Curve Diffie-Hellman (ECDH)-algoritme voor sleuteluitwisseling om tijdelijke sessiesleutels te genereren.

Perfect Forward Secrecy zorgt ervoor dat de encryptiesleutel nooit via de verbinding wordt uitgewisseld.

In plaats daarvan genereren zowel de VPN-server als de VPN-client onafhankelijk van elkaar zelf de sleutel met het DH- of ECDH-algoritme.

Het is een wiskundig complex proces, maar het komt erop neer dat Perfect Forward Secrecy de dreiging wegneemt dat één privésleutel in verkeerde handen valt waardoor vervolgens elke beveiligde sessie die ooit op die server is gehost, in gevaar komt.

In plaats daarvan zijn de sleutels tijdelijk. Dat betekent dat ze nooit meer dan één specifieke sessie kunnen blootleggen.

Besef echter wel dat RSA alleen Perfect Forward Secrecy kan bieden als DH of ECDH in de algoritmereeks van RSA is opgenomen.

ECDH kan wel op zichzelf worden gebruikt (in plaats van RSA) om een veilige VPN handshake te genereren met Perfect Forward Secrecy. Pas echter op met VPN-aanbieders die alleen DH gebruiken, want deze zijn kwetsbaar voor kraken. Dat speelt niet wanneer ze ook RSA gebruiken.

Onze top drie van aanbevolen VPN-protocollen (OpenVPN, WireGuard en IKEv2) ondersteunen allemaal Perfect Forward Secrecy.

Hash-authenticatie

Secure Hash Algorithms (SHA) worden gebruikt voor de authenticatie van de integriteit van verzonden gegevens en client-serververbindingen. Ze garanderen dat informatie niet is veranderd tijdens de verzending tussen bron en bestemming.

SHA’s werken door de brongegevens te bewerken met een zogenaamde hash-functie. Het oorspronkelijke bericht wordt aan de bron met een algoritme bewerkt en dit resulteert in een tekenreeks met een vaste lengte die in niets op het origineel lijkt. Dit wordt ook wel de ‘hash-waarde’ genoemd.

Het is een eenrichtingsfunctie, je kunt niet een soort ‘onthashing-procedure’ uitvoeren om het oorspronkelijke bericht te achterhalen.

Hashing is nuttig: wanneer je slechts één teken van de invoerbrongegevens verandert, verander je de complete hash-waarde die het resultaat is van de hash-functie.

Een VPN-client voert de hash-functie uit die is afgesproken tijdens de VPN handshake op de gegevens die zijn ontvangen van de server, in combinatie met de geheime code.

Als de hash-waarde die de client genereert, afwijkt van de hash-waarde in het bericht, worden de gegevens genegeerd omdat er is geknoeid met het bericht.

Hash-authenticatie met SHA voorkomt man-in-the-middle aanvallen, omdat die geknoei met een geldig certificaat zichtbaar maakt.

Zonder deze authentificatie kan een hacker zich voordoen als een legitieme VPN-server en je verbinding laten maken met een onveilige server, waar je activiteit bewaakt kan worden.

Voor maximale beveiliging raden we je aan VPN-aanbieders te gebruiken met SHA-2 of hoger. In SHA-1 zijn zwakke plekken aangetoond die je beveiliging in gevaar kunnen brengen.