21 aug 2019
Wat je altijd al wilde vragen over versleuteling van gegevens
Versleuteling of encryptie van gegevens wordt vaak genoemd als beveiligingsmaatregel, zeker als het gaat om persoonsgegevens. In de Algemene verordening gegevensbescherming (AVG) (artikel 32 lid 1 onder a) wordt het zelfs expliciet genoemd. Toch blijft versleuteling voor menigeen een vaag onderwerp. Dat komt onder andere door de verschillende toepassingen en door de technische complexiteit ervan. In deze bijdrage willen we wat helderheid scheppen. Ook ga ik in op de vraag wat versleuteling veilig of onveilig maakt.
Wat is versleuteling?
Versleuteling zorgt ervoor dat gegevens niet leesbaar zijn, ook al heeft iemand er toegang toe. In plaats van ‘Dit is een tekst’ ziet iemand bijvoorbeeld ‘EISErobOScCSXFBx’. Om het bericht te kunnen ontsleutelen is een sleutel nodig die alleen bekend is bij degenen die de informatie mogen inzien en/of wijzigen. Daarnaast helpt versleuteling te voorkomen dat gegevens worden gewijzigd door onbevoegden. Zowel voor het ontsleutelen als voor het - na de wijziging - opnieuw versleutelen is immers de sleutel nodig.
Vaak wordt versleuteling naast andere beveiligingsmaatregelen gebruikt. Daarmee is versleuteling een extra beveiliging die ongewenst inzien of wijzigen van gegevens kan voorkomen wanneer andere beveiligingsmaatregelen zijn omzeild of hebben gefaald.
Waar wordt versleuteling voor gebruikt?
Versleuteling wordt onder andere in de volgende situaties gebruikt:
-
het versleutelen van de harde schijf van een laptop of het geheugen van een smartphone, zodat de gegevens niet gelezen kunnen worden door vreemden bij verlies of diefstal of na het weggooien van het apparaat of de harde schijf. Voor mobiele apparaten is deze mogelijkheid standaard aanwezig, maar niet altijd ingeschakeld. Vaak moet je dat zelf doen. Op pc’s met professionele versies van Windows is het versleutelingsprogramma ‘BitLocker’ beschikbaar. Met de thuisversie van Windows kun je je toevlucht nemen tot diverse commerciële producten of opensourcesoftware, zoals Veracrypt of Diskcryptor;
-
het versleutelen van communicatie tussen enerzijds websites en anderzijds webbrowsers zoals Chrome, Safari, Edge of Firefox. Als deze communicatie versleuteld is, zie je een slotje in de adresregel van je browser (en ‘https’, waarbij de ‘s’ staat voor ‘secure’);
-
het versleutelen van communicatie tussen e-mailservers. Dit is meestal niet zichtbaar voor gebruikers. Sommige clouddiensten laten dit wel zien. Gmail doet dat bijvoorbeeld wanneer je op je eigen naam als ontvanger klikt;
-
het versleutelen van communicatie van een apparaat dat via wifi met het (inter)net is verbonden. Soms is daarvoor een wachtwoord nodig. Veel apparaten kunnen contact maken met bedrijfsnetwerken zonder tussenkomst van de gebruiker, omdat zij de inloggegevens van de gebruiker gebruiken om in te loggen op het wifinetwerk, of omdat er een sleutel op het apparaat staat;
-
het versleutelen van bestanden om ze daarna via het internet te versturen of met een USB-stick veilig te transporteren. Dat kan door middel van een programma dat de bestanden inpakt in een versleuteld bestand, zoals Winzip of 7-Zip. Sommige programma’s kunnen hun bestanden ook direct versleuteld opslaan. Microsoft Office (MS Office) doet dat bijvoorbeeld bij het opslaan met een wachtwoord;
-
het versleutelen van wachtwoorden in een wachtwoordkluis;
-
het versleutelen van chatberichten in bijvoorbeeld WhatsApp.
De sleutel
Versleutelde berichten kunnen alleen leesbaar worden gemaakt met een sleutel. Een sleutel is een soort wachtwoord, maar dan veel langer. Doordat de sleutel langer is en geen betekenis heeft, is hij bijna onmogelijk te raden. Hoe langer de sleutel is, des te moeilijker is hij te ‘kraken’. De lengte van een sleutel wordt vaak uitgedrukt in bit. Vaak worden sleutels van 256 bit gebruikt. Als zo’n sleutel als getal wordt opgeschreven, is die wel 77 cijfers lang.
Vaak kan een versleuteld bericht leesbaar worden gemaakt (ontsleuteld) met dezelfde sleutel als die is gebruikt voor de eerdere versleuteling (symmetrische versleuteling). Dan is er wel een manier nodig om een door de verzender gekozen sleutel veilig met de ontvanger te delen.
Er zijn ook versleutelingsmethoden die werken met verschillende sleutels om berichten te versleutelen en te ontsleutelen (asymmetrische versleuteling). Bij deze methoden kan de sleutel om het bericht te versleutelen algemeen bekend zijn. Deze sleutel heet daarom de publieke sleutel (public key). Alleen de ontvanger heeft de bijbehorende sleutel om het bericht leesbaar te maken (te ontsleutelen). Deze houdt hij of zij natuurlijk privé. Deze sleutel heet daarom de privésleutel (private key). Deze wordt vaak in speciale chips opgeslagen die de berekeningen met de privésleutel uitvoeren, zonder dat de sleutel zelf buiten de chip bekend wordt.
Nu moet de verzender zeker weten dat hij of zij de echte publieke sleutel van de ontvanger gebruikt. Een kwaadwillende zou aan de verzender een eigen publieke sleutel kunnen geven en daarmee alsnog in staat zijn om de berichten te lezen. Om dat te voorkomen worden publieke sleutels door een certificaatautoriteit ondertekend en opgeslagen in een certificaat. De software die deze sleutels gebruikt accepteert dan alleen publieke sleutels die door een instantie zijn ondertekend en die door de producent van de software wordt vertrouwd. Het certificaat kun je bekijken door op het slotje in de webbrowser te klikken.
Omdat de hierboven beschreven asymmetrische versleuteling vrij traag is, wordt deze vaak alleen gebruikt om sleutels voor de veel snellere symmetrische versleuteling uit te wisselen.
Wanneer is versleutelen noodzakelijk?
Versleutelen is met name van belang als gegevens in handen van onbekenden kunnen komen of via onbekenden worden verzonden. Bij het versturen van informatie over internet bijvoorbeeld.
De Autoriteit Persoonsgegevens heeft aangegeven dat bijzondere persoonsgegevens, zoals gegevens over gezondheid, strafrechtelijke gegevens en het burgerservicenummer (BSN), alleen versleuteld over het internet mogen worden verstuurd (Beleidsregels beveiliging van persoonsgegevens, 2013, pagina 9 en Praktijkgids patiëntgegevens in de cloud par. 5.2).
Daarnaast zien we dat versleuteling voor het beschermen van persoonsgegevens en andere vertrouwelijke informatie steeds gemakkelijker wordt en het sneller als nalatig zal worden gezien als je niet versleutelt. Dat geldt bijvoorbeeld voor het versleutelen van mobiele apparaten en bij websites voor het gebruik van https (met het slotje).
Wat maakt versleuteling onveilig en wat kan ik daaraan doen?
Versleuteling kan toch onveilig zijn, bijvoorbeeld in de volgende
gevallen:
-
De sleutel is gemakkelijk te raden, bijvoorbeeld omdat deze is afgeleid van een gemakkelijk te raden wachtwoord. Een hacker kan dan door uitproberen achter het wachtwoord komen. Soms kunnen er wel een miljard mogelijkheden per seconde worden uitgeprobeerd met computers met meerdere grafische kaarten die voor het kraken van de wachtwoorden worden gebruikt. Gemakkelijk te raden wachtwoorden komen met name voor bij wifinetwerken en bij het versleutelen van documenten met een wachtwoord, bijvoorbeeld via MS Office of een Zip-programma. De remedie is eenvoudig: kies een lang en ingewikkeld wachtwoord van bijvoorbeeld 20 letters en cijfers.
-
De sleutel is toegankelijk voor derden. In veel gevallen moet een door de verzender gekozen sleutel/wachtwoord ook bij de ontvanger bekend zijn. Wanneer een versleuteld bestand per e-mail wordt verzonden en de sleutel/het wachtwoord in een mail erachteraan, is de waarde van het versleutelen miniem. Iedereen die toegang heeft tot de mailbox zal ook de sleutel kunnen zien. Daarom worden sleutels/wachtwoorden via een andere weg verstuurd. Bij het versturen van een e-mail met een versleutelde bijlage zou je het wachtwoord door kunnen bellen of in een sms’je aan de ontvanger kunnen sturen.
-
De versleutelingsmethode is achterhaald. , Dat kan omdat er in de afgelopen decennia zijn telkens weer zwakke plekken in veelgebruikte versleutelingsmethoden ontdekt. Met die zwakke plekken is het mogelijk om versleutelde bestanden te ontsleutelen. Daarom zijn er telkens nieuwe en verbeterde versleutelingsmethoden bedacht. De methode DES, bijvoorbeeld, werd in de jaren ‘70 en ‘80 van de vorige eeuw onder andere door de Amerikaanse overheid gebruikt. Medio jaren ‘90 werd er een zwakke plek in ontdekt. Daarom werd deze methode aan het begin van de 21e eeuw opgevolgd door AES, dat nu met een sleutel van 256 bit lengte als zeer veilig wordt beschouwd. AES wordt onder andere gebruikt in BitLocker om harde schijven te versleutelen, WhatsAppberichten te versleutelen, in verschillende Zipprogramma’s en in MS Office (met een sleutellengte van 128 bit). Kies dus een moderne versleutelingsmethode, zoals AES en een sleutel die voldoende lang is: 128 bit of liever nog, 256 bit. Soms zijn er meeromvattende normen voor specifieke toepassingen, zoals SSL voor de versleuteling van communicatie tussen website en webbrowser en tussen mailservers. SSL werd opgevolgd door TLS. Inmiddels worden TLS 1.0 en 1.1 niet meer als veilig beschouwd en dient de voorkeur uit te gaan naar TLS 1.2 of 1.3, die AES gebruiken. Voor het versleutelen van wifiverbindingen zijn WEP en WPA/Tkip al langer verouderd en gaat de voorkeur uit naar de WPA2- of de nieuwe WPA3-norm. Ook WPA2 en WPA3 gebruiken AES. Zorg er dus voor dat de webserver van je organisatie alleen met TLS 1.2 of 1.3 werkt en dat de wifitoegangspunten alleen werken met WPA2 of WPA3.
-
De versleutelingsmethode is niet goed toegepast. Versleuteling is technisch gecompliceerd. Zelfs kleine afwijkingen van de voorgeschreven methode of fouten in het schrijven van de software voor de versleuteling kunnen alle moeite tenietdoen. Gebruikers moeten vertrouwen op de programmeurs van de software die ze gebruiken. Vaak wordt alleen versleutelingssoftware van gerenommeerde bedrijven gebruikt.
-
De certificaatautoriteit is gehackt. Tenslotte kan de instantie die sleutels uitgeeft, voor bijvoorbeeld de versleuteling van communicatie tussen websites en webbrowsers, gehackt zijn. De instantie die deze uitgeeft kent natuurlijk de geheime sleutels. Wanneer deze instantie gehackt wordt, kan de hacker mogelijk alle communicatie van de klanten van deze instantie ontsleutelen. In 2011 werd in Nederland DigiNotar gehackt en tussen 2013 en 2017 voldeed Symantec volgens browserleveranciers niet aan de beveiligingsvoorschriften. Beide stopten met hun activiteiten als Certificate Authority. Gelukkig vinden dit soort hacks niet zo vaak plaats, maar mogelijk hebben overheden in sommige landen wel toegang tot sleutels van Certificate Authority’s in hun land. Voor een organisatie of gebruiker is het dus van belang om certificaten te gebruiken van betrouwbare leveranciers.
Hoe kan wat nu veilig is in de toekomst niet meer veilig zijn?
Het kraken van versleutelingsmethoden en het verbeteren ervan is een kat-en-muisspel. Op het moment dat er een zwakke plek in de software of in de versleutelingsmethode wordt ontdekt zijn er soms snel aanpassingen nodig om de versleuteling weer veilig te maken. Voor veelgebruikte methoden als AES zijn natuurlijk veel mensen voortdurend bezig om zwakke plekken te vinden. Dat tot nu toe geen zwakke plekken bekend zijn, lijkt geruststellend.
Daarnaast zijn er ook technologische ontwikkelingen, zoals die van kwantumcomputers. Daarmee kunnen versleutelingsmethoden die zijn gebaseerd op wiskundige problemen, zoals de huidige generatie publieke-sleutel-versleuteling, vrij snel worden gekraakt. Omdat deze ook worden gebruikt voor het uitwisselen van AES-sleutels, bijvoorbeeld bij de communicatie tussen websites en webbrowsers, kan dit grote gevolgen hebben. Knappe koppen zijn daarom al bezig om versleutelingsmethoden te bedenken die ook met kwantumcomputers niet te kraken zijn.
Conclusie
Versleuteling kan ingewikkeld lijken, maar met de software die vandaag de dag beschikbaar is, is het voor eenieder toepasbaar. Wel is het nodig om de goede middelen te kiezen en leveranciers de juiste aanwijzingen te geven.