VPN: uitleg over de belangrijkste begrippen

vpn-begrippen

VPN en versleuteling is lastige materie. De vaktaal die gebruikt wordt om uit te leggen hoe veilig de VPN verbinding is, kan erg verwarrend zijn. Logisch dat je af en toe door de bomen het bos niet meer ziet! In dit artikel leggen we je daarom de belangrijkste VPN begrippen uit.

Het VPN protocol

Wanneer er gesproken wordt over een VPN protocol, bedoelen we daarmee de manier waarop data versleuteld wordt om te zorgen voor een veilige verbinding tussen twee computers. Er bestaan verschillende soorten VPN protocollen. De belangrijkste drie nemen we even onder de loep:

PPTP

PPTP is een veelgebruikt VPN protocol dat gebruik maakt van MS-CHAP v2. Het wordt veel gebruikt vanwege de snelheid. Het is echter wel het minst veilige VPN protocol.

L2TP

L2TP is het meest compatibele VPN protocol en een stuk veiliger dan PPTP.

OpenVPN

Het meest populaire VPN protocol dat veel gebruikt wordt door VPN aanbieders is OpenVPN. Dit protocol maakt gebruik van OpenSSL versleuteling en is enorm veilig. Het kan op nagenoeg ieder apparaat worden gebruikt (met uitzondering van Blackberry apparatuur).

Vanwege de grote mate van veiligheid die OpenVPN biedt, zullen we dat VPN protocol als uitgangspunt nemen in de rest van dit artikel.

RSA handshake

Om een veilige verbinding via VPN tot stand te kunnen brengen, wordt in de meeste gevallen gebruik gemaakt van een zogenaamde RSA handshake. Deze asymmetrische methode versleutelt data met een openbare sleutel, maar kan alleen met een persoonlijke sleutel worden ontgrendeld.

Om veiligheid te garanderen, werkt het RSA algoritme met TLS/SSL certificaten. Deze liggen al 20 jaar aan de basis van internetveiligheid. De oorspronkelijk gebruikte 1024-bit RSA (RSA-1024) bleek in 2010 toch te kraken. Voor Google een goede reden om in 2013 alle SSL certificaten om te zetten naar RSA-2048. Omdat dit de veiligheid aanzienlijk verbeterde, werd deze actie van Google al gauw door bijna alle bedrijven in de beveiligingsindustrie nagevolgd.

Ondanks de veiligheid van RSA-2048 wordt er ook wel gepleit voor nog betere versleuteling, zoals RSA-3072 of RSA-4096 encryptie. Wat VPN providers betreft is RSA-2048 nu de standaard.

Diffie-Hellman

Als grote concurrent van RSA OpenVPN is er de Diffie-Hellman encryptie. Een methode die goed is, maar recent wel onder vuur heeft gelegen. Bij de versleuteling worden sommige priemgetallen hergebruikt, wat de encryptie methode in theorie makkelijker te kraken maakt. Voor de gemiddelde hacker niet te doen, maar wel door machtige organisaties als de Amerikaanse NSA.

Om de kwetsbaarheid van Diffie-Hellman aan te pakken, is een nieuwe methode ontwikkeld: Elliptic curve Diffie-Hellman (ECDH). Omdat deze versleutelingsmethode uitgaat van een wiskundig algoritme – in plaats van grote priemgetallen – is deze niet gevoelig voor pogingen tot kraken.

In tegenstelling tot RSA, biedt het Diffie-Hellman-sleuteluitwisselingsprotocol de mogelijkheid om ‘Perfect Forward Secrecy’ (PFS) te gebruiken. Hiermee maakt iedere nieuwe SSL verbinding een nieuwe set sleutels (ook wel tijdelijke- of kortstondige sleutels genoemd). Door bij iedere nieuwe SSL verbinding van sleutel te wisselen is het voor aanvallers een stuk lastiger om de code te kraken.

Hoewel het met RSA niet mogelijk is om PFS te gebruiken, is het met OpenVPN wel mogelijk om deze optie te implementeren. Op die manier is de VPN verbinding alsnog beschermd tegen aanvallen van machtige instanties als de NSA.

SHA hashfunctie

SHA is een cryptografische hashfunctie die is bedacht door de NSA. Zij gebruiken deze versleutelmethode als standaard bij het verwerken van overheidsinformatie.

De NSA gebruikt SHA als unieke sleutel voor het valideren van SSL certificaten via een OpenVPN. Omdat overheidsinformatie zeer gevoelig is voor aanvallen, is de beveiligingsgraad erg hoog. Bij de minste of geringste poging tot een aanval, wordt alle toegang tot de verbinding geweigerd.

Het weigeren van toegang is enorm belangrijk bij het voorkomen van zogenaamde ‘man-in-the-middle (MitM) aanvallen. Bij dergelijke situaties probeert een tegenstander om de OpenVPN verbinding af te leiden via zijn eigen VPN server. Als een hacker de hash van een SSL certificaat kan kraken, dan kan hij deze vervangen door een vals certificaat om zo toegang te krijgen tot de verbinding.

SHA-1

De meest gebruikte SHA functie is SHA-1 (160-bit). Momenteel is 28% van de data nog met deze sleutel beveiligd. Helaas is de encryptie van SHA-1 gekraakt en dus niet meer veilig. Grote organisaties als Microsoft, Google en Mozilla hebben daarom aangekondigd dat hun browsers vanaf 2017 geen SHA-1 SSL certificaten meer zullen accepteren.

SHA-3

Na een tijdelijk gebruik van SHA-2, is SHA-3 nu de nieuwe standaard. Hoewel SHA-2 nooit gekraakt is, lijkt het algoritme teveel op dat van SHA-1. Met SHA-3 is een nieuwe algoritme tot stand gekomen en daarmee geniet deze methode vanaf nu de voorkeur.

OpenVPN Ciphers

OpenVPN Ciphers wordt ook wel data encryptie genoemd. Dit VPN protocol, de handshake en de data verificatie zijn ontworpen om er voor te zorgen dat je VPN verbinding met de VPN server beveiligd zijn. De data zelf wordt versleuteld door middel van een cijferschrift (cipher).

Blowfish cipher

In de meeste gevallen maakt OpenVPN gebruik van de Blowfish cipher. Over het algemeen is dit een veilige methode, maar er zijn wel degelijk risico’s. De bedenker van het cijferschrift raadde bedrijven daarom in 2007 aan om over te stappen op Twofish.

Twofish cipher

De Twofish is een veiligere cipher dan Blowfish, maar wordt helaas niet ondersteund door OpenVPN.

AES cipher

De gouden standaard op het gebied van versleuteling is de AES cipher. AES-256 wordt dusdanig veilig geacht dat zelfs de Amerikaanse overheid er gebruik van maakt om beveiligde gegevens te beschermen. Naast de grote mate van veiligheid is het met AES mogelijk om veel grotere bestanden te versturen dan bij het gebruik van Blowfish.
De 128-bit versie en de 256-bit versie van AES worden het meest gebruikt. Er bestaat wel een 192-bit variant van de AES cipher, maar die kom je maar zelden tegen.

Block Cipher Mode

In sommige gevallen kom je bij VPN providers de ‘Block Cipher Mode’ tegen. Dit heeft betrekking op blokvercijfering; een technisch zeer ingewikkelde manier van versleuteling. Er zijn verschillende algoritmes binnen de blokvercijfering. VPN providers maken voornamelijk gebruik van Cipher Block Chaining (CBC). Een volledige lijst van ciphers die door OpenVPN worden ondersteund is beschikbaar wanneer je “openvpn-showciphers” invoert in een commandoregel.

Theoretisch gezien zou CBC kwetsbaar genoemd kunnen worden. Over het algemeen wordt echter aangenomen dat CBC een veilige encryptiemethode is. De methode wordt derhalve ook aangeraden in de OpenVPN handleiding. Bovendien is het erg onwaarschijnlijk dat je te maken krijgt met een ander soort blokvercijfering. Geen reden dus om je zorgen te maken bij het gebruik van CBC.

NIST

NIST is de afkorting voor de Amerikaanse organisatie ‘National Institute of Standards and Technology’. Zij ontwikkelen en certificeren alle versies van SHA, RSA en AES. NIST werkt nauw samen met de NSA, om goede ciphers te kunnen ontwikkelen.

Of de door NIST goedgekeurde algoritmes te vertrouwen zijn is overigens nog maar de vraag. Keer op keer blijkt dat de NSA geld noch moeite spaart om internationale versleutelingssystemen van achterdeurtjes te voorzien om zelf wél toegang te hebben tot versleutelde data. Door hier aan mee te werken zet NIST zijn integriteit op het spel.

Helaas hebben VPN gebruikers weinig andere keus dan gebruik te maken van door NIST goedgekeurde systemen, maar het is goed om enige gezonde achterdocht te blijven houden.

Het prijskaartje van versleuteling

Het versleutelen en uitlezen van data kost verwerkingskracht en het verplaatsen van versleutelde data kost meer bandbreedte. Hoe hoger de mate van versleuteling die je voor de VPN verbinding hebt ingesteld, hoe langzamer je internetverbinding zal zijn. Dat is niet altijd merkbaar of storend, maar in sommige gevallen kan dit erg vervelend zijn. Zo zullen de servers van kleine providers, die te maken hebben met gelimiteerde bandbreedte en een groot aantal gebruikers, sneller overbelast zijn.

Samenvatting

VPN protocol (PPTP, L2TP/IPSec, OpenVPN, SSTP, IKv2) – De manier waarop data versleuteld wordt om te zorgen voor een veilige verbinding tussen twee computers.

RSA Handshake (RSA-1024, RSA-2048, RSA-3072, RSA-4096, EEC, ECDH) – Wordt gebruikt om een veilige VPN verbinding tot stand te kunnen brengen.

SHA hashfunctie (SHA-1, SHA256, SHA-3) – Creëert een unieke vingerafdruk om een SSL-verbinding te authenticeren.

OpenVPN cipher (Blowfish-126, AES-128, AES-192, AES-256, Camellia128, Camellia-192, Camellia-256) – Het encryptie-algoritme dat wordt gebruikt om data te beschermen.

Minimale waardes voor een veilig VPN protocol:
Handshake: RSA-2048
Hashfunctie:  SHA-1
Cipher: Blowfish-128

Minimale waardes voor een veilig VPN protocol met PFS:
Handshake: RSA-2048
Hashfunctie: SHA1
Cipher: AES-256

Over Justin

Justin begeeft zich al jaren in de wereld van digitale communicatie, websites, internet beveiliging en privacy en is vanuit deze interesse VPNgids.nl gestart.

Één reactie

  1. Stijntje Konijntje

    Dankjewel, begin er steeds meer van te snappen, maar gelukkig hebben de meeste providers een handige app of windows vpn programma.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *