Stuur je een appberichtje aan een bekende, dan is dat bericht niet zomaar door derden te onderscheppen en te lezen. Communicatie op WhatsApp wordt namelijk beveiligd door middel van versleuteling, ook wel encryptie genoemd. Deze woorden vliegen in het nieuws veel voorbij - maar wat betekenen ze eigenlijk?

Wat is encryptie?

Encryptie is een vorm van cryptografie: het verhullen of versleutelen van een boodschap door middel van een code. Cryptografen zetten een basistekst (ook wel 'plaintext') om in een versleutelde tekst ('ciphertext'), met behulp van een wiskundige formule of algoritme. Deze formule wordt een cipher genoemd.

Eén van de oudste ciphers werd al gebruikt door Julius Caesar: een geheimschrift waarbij alle letters van het alfabet een paar plekken verschoven worden. Zo'n simpele cipher schuift bijvoorbeeld elke letter vier stappen naar achteren, waardoor een 'e' een 'a' wordt en een 'f' een 'b'.

Maar dergelijk geheimschrift is vrij gemakkelijk te kraken, zeker met behulp van de huidige computerkracht. Je probeert gewoon net zo lang mogelijkheden uit totdat je achterhaalt op welke manier de letters worden verschoven.

Klassieke ciphers zoals die van Caesar zijn bovendien makkelijk te kraken door te kijken naar hoe vaak bepaalde letters gebruikt worden. De 'e', 'n' en 'a' zijn bijvoorbeeld de meestgebruikte letters in het Nederlands. De letters die het meest voorkomen in de tekst, zijn waarschijnlijk één van deze drie letters.

Hoe worden mijn appberichten dan versleuteld?

Je WhatsApp-berichtjes worden dus niet erg goed beschermd als moederbedrijf Facebook alleen de letters van je bericht zou husselen. Algoritmen voor dit soort diensten zijn meestal expres enorm complex, om te voorkomen dat een computer in korte tijd alle mogelijkheden kan uitproberen en zo bij je bericht kan komen.

Om dat voor elkaar te krijgen, rekenen computers met een cipher een lange tekenreeks uit. Hoe langer de reeks, hoe langer het duurt voordat deze te kraken valt. Deze reeksen zijn een soort wachtwoorden die sleutels genoemd worden. Met dit wachtwoord wordt je bericht vervolgens in een onleesbare brei veranderd.

Wat voor verschillende typen versleuteling zijn er?

Grofweg bestaan er twee vormen van versleuteling: een die werkt met één sleutel (symmetrisch) en een die werkt met twee sleutels (asymmetrisch).

Je kunt het verschil op de volgende manier voor je zien. Stel: je verstuurt een boodschap en legt die in een kluis, die je naar je ontvanger verstuurt. Je sluit die kluis af met jouw sleutel. De ontvanger heeft een kopie van precies die sleutel. Die persoon kan daarmee de kluis openen en zo de boodschap lezen.

In de digitale wereld werkt deze vorm van versleuteling vrij snel. Een computer hoeft immers niet teveel complexe berekeningen te maken: je werkt maar met één sleutel.

Deze 'symmetrische encryptie' wordt daarom veel ingezet om grote hoeveelheden data snel te versleutelen. Een goed voorbeeld is het algoritme AES, wat onder andere wordt gebruikt om bestanden in de cloud te beveiligen. Het heeft wel één groot nadeel: iedereen die de sleutel in handen weet te krijgen, kan op die manier toegang krijgen tot je data.

Dat risico wordt moeilijker gemaakt bij de andere vorm van encryptie, die werkt met twee sleutels. Stel je dezelfde kluis voor. Om de kluis op slot te doen, gebruik jij een unieke sleutel. De ontvanger heeft een andere sleutel, maar die werkt alleen om de kluis te openen die met de andere sleutel beveiligd is.

Deze vorm van encryptie wordt asymmetrische versleuteling genoemd. In de digitale wereld zijn de twee sleutels wiskundig met elkaar verbonden. Daarvoor wordt bijvoorbeeld met priemgetallen gerekend.

Uit die berekening komen een publieke- én een privésleutel. Je hebt ze allebei nodig om versleuteld te communiceren.

Hoe werken publieke- en privésleutels?

De publieke sleutel is, zoals de naam doet vermoeden, openbaar en kan vrij gedeeld worden. Anderen kunnen deze gebruiken om een boodschap aan jou om te zetten naar een regel schijnbaar willekeurige tekens.

Om daarna bij de tekst te komen, heb je de privésleutel nodig: die zet de versleutelde informatie weer om in een bruikbare vorm.

Dit proces verloopt langzamer dan met een symmetrische sleutel. Het systeem moet namelijk óók uitrekenen hoe de publieke sleutel en de privésleutel op elkaar reageren. Maar krijgt iemand je publieke sleutel in handen, dan kan hij daar niks mee ontsleutelen. Je privésleutel, waarmee dat wel kan, deel je met niemand.

Wat is end-to-endencryptie?

Veel apps, zoals WhatsApp, passen tegenwoordig een vorm van versleuteling toe die end-to-endencryptie wordt genoemd. Dit is een sterke vorm van versleuteling waarin een bericht van het begin- tot het eindpunt versleuteld is.

De inhoud van het bericht wordt dus nergens als 'gewone tekst' behandeld: de data blijft onderweg versleuteld. In het geval van WhatsApp geldt dat de boodschap dus wel langs de servers van het bedrijf komt, maar niet door moederbedrijf Facebook in te zien is.

Zonder end-to-endencryptie zou dat wel mogelijk zijn. Bij Facebook Messenger, dat end-to-endencryptie standaard uit heeft staan, wordt een bericht naar een server gestuurd, daar ontsleuteld, opnieuw versleuteld en naar de verzender gestuurd. De inhoud is daardoor via de beheerder van de server op te vragen.

Dus versleuteling is óf asymmetrisch, óf symmetrisch?

Nee. Hybride systemen zijn vrij populair, omdat ze veel van de zwaktes van de twee vormen kunnen opvangen. De meest bekende hybride vind je zelfs hier op NU.nl: HTTPS, een soort websitebeveiliging, die je kunt herkennen aan het slotje voor het internetadres in een webbrowser.

HTTPS werkt kort gezegd door eerst via asymmetrische versleuteling contact met je computer te zoeken en te checken dat jij het bent. In dat 'gesprek' maakt het een symmetrische sleutel aan, waarmee je data vervolgens beschermd wordt.

De versleuteling achter HTTPS wordt gebruikt om data die internetgebruikers versturen te beschermen. Op die manier kun je bijvoorbeeld veilig bankzaken doen, e-mailen, of formulieren met gevoelige gegevens verzenden. Zonder versleuteling zou de inhoud daarvan eenvoudig in te zien zijn voor iemand die de communicatie weet te onderscheppen.