Een kwestie van toeval

We zijn gewend aan winkelen via internet, geld uit de muur en smartcardtoepassingen zoals ov-chip en betaal-tv. Weinig mensen realiseren zich echter welke technologie nodig is om ervoor te zorgen dat dergelijke toepassingen veilig zijn. Technologie is echter een tweesnijdend zwaard en steeds meer cyberincidenten halen het nieuws. Dit artikel geeft aan welke beveiligingsmogelijkheden cryptografie biedt en waarom de kwantumcomputer die beveiliging onder druk zet.

Als we online een goede aanbieding hebben gevonden, kunnen we meestal meteen afrekenen. Dat houdt de kosten laag voor de leverancier, die op zijn beurt zijn marktaandeel kan vergroten door zijn klanten het prijsvoordeel te geven. Tegelijkertijd mogen cybercriminelen geen kans krijgen om misbruik te maken van betalingsgegevens. Vandaar dat sites de data beveiligen die via het internet worden uitgewisseld, herkenbaar aan het groene 'slotje' in de adresbalk.

Voor het inloggen op een webwinkel moet je als klant een identiteit en een wachtwoord invoeren. Meestal bestaat de identiteit uit het e-mailadres van de klant, die de leverancier koppelt aan het klantaccount. De klant kiest daarna zijn wachtwoord, waarmee hij later opnieuw kan inloggen op de website. Webwinkels moeten dus ook de opslagen klantgegevens geheimhouden. Ondertussen heeft Europa de Algemene verordening gegevensbescherming (AVG) aangenomen, die eist dat privacygevoelige data ‘aantoonbaar goed beveiligd' zijn. Maar hoe veilig is die beveiliging eigenlijk?

… Crypto, anyone?
Je kunt wachtwoorden rechtstreeks opslaan in de klantendatabase, maar dan kunnen database­beheerders die wachtwoorden uitlezen. De wet van Murphy geeft aan dat als er een kans is dat iets fout kan gaan en je wacht lang genoeg, dan gaat het een keer fout.

Gelukkig kan cryptografie die kans op misbruik van wachtwoorden fors verminderen met zogenaamde hashfuncties. Een hashfunctie vertaalt een invoertekst naar een pseudo-willekeurige tekst met een vaste lengte, zodanig dat het bijzonder lastig is om vanuit de output de input te bepalen. Daarom kan de hashwaarde van een wachtwoord wel veilig worden opgeslagen in de klantendatabase.

Als de klant opnieuw inlogt, wordt het ingevoerde wachtwoord gehasht en vergeleken met de opgeslagen hashwaarde van zijn wachtwoord in de database. Als beide hashwaarden gelijk zijn, dan is de kans bijna 100% dat die persoon het juiste wachtwoord heeft ingevoerd. Met nadruk ‘bijna 100%’, omdat bijvoorbeeld de MD5-hashfunctie élke invoer converteert naar 16 bytes. Er zijn bijvoorbeeld meer 20-karakterwachtwoorden uit cijfers, leestekens, hoofd- en kleine letters te maken dan er past in 16 bytes. Een hashfunctie kan dus dezelfde output produceren, ook al verschilt de input [1]. De veiligheid blijft echter gegarandeerd zolang het praktisch onmogelijk is om vanuit een hashwaarde het wachtwoord te reconstrueren. Maar er is meer nodig dan een goede hashfunctie, zoals SHA-256.

In 2012 bemachtigden hackers de LinkedIn-database met alle gebruikersnamen en gehashte wachtwoorden. Veel mensen kiezen een makkelijk wachtwoord. '123456' is al jaren het meest gebruikte wachtwoord [2]. Het bleek dat de meest voorkomende hashwaarden van wachtwoorden in de LinkedIn-database goed overeenkwamen met de Wachtwoord Top 20.

Hoe moet het dan wel? Je voegt ‘zout’ toe aan de invoer van de hashfunctie. Per gebruiker genereer je een willekeurig getal dat je toevoegt aan het ingevoerde wachtwoord. Daarna sla je de hashwaarde met de zoutwaarde op in de database. Doordat iedere gebruiker een willekeurige zoutwaarde heeft, kun je geen top 20 van wachtwoordhashes meer maken.

Met hashfuncties kun je privacy ook op andere manieren verbeteren. Je kunt bijvoorbeeld een patiëntendossier splitsen in een persoonsdeel en een medisch deel. Als alleen artsen geautoriseerd zijn voor de hashfunctie om de sleutel in het persoonsdeel om te zetten naar de sleutel voor het medische deel, dan is de privacy geborgd. De AVG noemt dergelijke toepassingen 'privacy by design'.

Problemen bij grootschalig gebruik van symmetrische encryptie
Al eeuwen is het mogelijk vercijferde informatie uit te wissen als twee partijen samen een cryptosleutel afspreken. Omdat beide partijen dezelfde sleutel gebruiken, wordt dit symmetrische encryptie genoemd. Maar als we eisen dat de sleutel van Alice en Bob anders moet zijn dan tussen Alice en Chris, lopen we tegen een probleem aan: het aantal tweetallen dat je uit een groep kunt trekken, neemt snel toe als de groep groter wordt. Voor een gebruikersgroep van 10 personen zijn 45 sleutels nog voldoende. Maar als de groep gebruikers toeneemt tot 1.000 personen, dan zijn er al 499.500 symmetrische sleutels nodig. Op landelijke schaal wordt de verstrekking van symmetrische sleutels (via een ander medium dan het internet!) en het sleutelbeheer onbetaalbaar.

De oplossing: public key infrastructure
Sinds 1970 is er een alternatief voor symmetrische encryptie ontwikkeld die bekendstaat als public key infrastructure (PKI). Iedere gebruiker heeft een sleutelpaar met een publieke en een geheime sleutel. Als Bob aan Alice een bericht wil sturen, downloadt hij de publieke sleutel van Alice en vercijfert daarmee zijn bericht. Alice is dan de enige die Bobs bericht kan ontcijferen met haar geheime sleutel.

Het asymmetrische RSA-algoritme werkt bijvoorbeeld zo: je neemt twee willekeurige priemgetallen (p, q) die je met elkaar vermenigvuldigt om de zogenaamde modulus (N=p*q) te berekenen, zoals 11 en 13. Daarna kies je een ander priemgetal als onderdeel van de openbare sleutel (e), zoals 7. Als laatste stap zoek je het resterende deel (d) van de geheime sleutel, die voldoet aan een rekenkundige voorwaarde, zoals 103.

De wiskundige magie van PKI-encryptie is dat als je tekst vercijfert met de publieke sleutel (e, N), dan kun je die ontcijferen met de geheime sleutel (d, N) en vice versa.

Met PKI kun je ook een digitaal bestand elektronisch ondertekenen. De afzender berekent eerst de hashwaarde van het bestand en vercijfert die waarde met zijn geheime sleutel. Ontvangers van dat bestand kunnen de bijgevoegde handtekening dan verifiëren met de publieke sleutel van de afzender. Als hun zelf berekende hashwaarde gelijk is aan die in de ontcijferde handtekening, dan is het bericht afkomstig van de afzender én is het bericht onderweg niet veranderd.

PKI blijft veilig zolang de priemfactoren (p, q) van de openbare modulus N geheim blijven. In de praktijk zijn p en q getallen met honderden cijfers. Een computer kan het product N=p*q snel berekenen, maar om uit die N weer p en q te halen, is een heel langdurige rekenoperatie. Tenminste, voor een conventionele computer.

Kwantumcomputer
De steeds toenemende rekenkracht maakte het al nodig dat encryptiesleutels periodiek worden verlengd om informatie geheim te houden. Het volume aan mogelijke sleutelwaarden moet zo groot zijn dat cybercriminelen met ‘brute force’-aanvallen alleen met heel veel geluk en toeval de beveiliging kunnen doorbreken. Zodra er echter een kwantumcomputer met voldoende rekenkracht ontwikkeld wordt, ontstaat een trendbreuk die direct grote invloed heeft op de lengte van symmetrische sleutels en de asymmetrische encryptiemethoden.

De kwantummechanica stelt dat een elementair deeltje zich in superpositie of meerdere toestanden tegelijk kan bevinden. Met twee mogelijke toestanden tegelijk neemt met elk toegevoegd deeltje het aantal toestanden van de deeltjesverzameling met een factor 2 toe. In een kwantumcomputer kan een zogenaamde qubit gelijktijdig 0 en 1 zijn. De rekenkracht van een kwantumcomputer is dus exponentieel evenredig met het aantal qubits. Met voldoende qubits kan een kwantumcomputer sommige rekenproblemen veel efficiënter oplossen dan conventionele computers, zoals factorisatie, het zoeken in grote databases en het simuleren van moleculaire bindingen.

Rekenmethodes ontwikkelen voor kwantumcomputers is een uitdaging. Omdat in superpositie elke waarde een statistische kans heeft 'getrokken' te worden, moet de rekenmethode zorgen dat de de foute oplossingen elkaar uitdoven.

De wiskundige Peter Shor ontwikkelde al in 1994 een methode waarmee een kwantumcomputer efficiënt de factoren p en q kan berekenen uit hun product. Daarmee is de RSA-encryptie te kraken. Grovers algoritme voor het doorzoeken van databases halveert ook de lengte van symmetrische encryptiesleutels.

Kwantumdeeltjes zijn inherent wispelturig en het is bijzonder moeilijk om meerdere qubits zolang stabiel te houden dat je ermee kunt rekenen. In 2011 is met een 4-qubit kwantumcomputer vastgesteld dat het product 143 bestaat uit de priemgetallen 11 en 13. Met wetenschappelijk onderzoek lukt het om steeds meer qubits langer te stabiliseren. Intel en IBM kondigden begin 2018 chips aan met 49 en 50 qubits.

Na vijftig logische qubits komen we in het ‘quantum supremcy’-gebied en kunnen we zo’n kwantumcomputer niet meer simuleren op een conventionele computer. Met de huidige foutcorrectietechnieken zullen kwantumcomputers ongeveer 1 miljoen fysieke qubits moeten hebben om met logische qubits voldoende rekenkracht over te houden. De huidige schattingen geven aan dat dit nog 7-12 jaar zal duren.

Post-kwantumencryptie
In het post-kwantumtijdperk (PQ) zijn veel asymmetrische encryptiemethoden niet langer veilig. Vanuit lopende onderzoeken en competities zijn al enkele asymmetrische PQ-encryptiemethoden ontwikkeld waarvoor nog geen efficiënte kwantumrekenmethode bestaat, maar die vergen meer rekenkracht en soms veel langere sleutels. Met voldoende lange sleutels zijn bestaande methoden zoals AES en SHA voorlopig nog veilig. We moeten dus de ontwikkeling van de kwantumcomputer proactief monitoren.

Momenteel worden al grote hoeveelheden vercijferde bestanden verzameld, met het idee dat een kwantumcomputer die later kan ontcijferen. Als je zeker wilt weten dat informatie ook na circa 2025 geheim blijft, moet je dus nu al PQ-encryptiemethoden gebruiken.

Van technologie kun je nooit de veiligheid bewijzen, maar alleen de onveiligheid. De AVG eist een ‘aantoonbaar goede beveiliging’, wat hier betekent: faseer cryptografie (zoals eerder SSL) zó snél mógelijk uit nadat die onveilig is gebleken. Een goede beveiliging vraagt dus om flexibiliteit.

Henk-Jan van der Molen heeft elektrotechniek en ICT systeemontwikkeling gestudeerd. Hij werkt inmiddels 25 jaar in de ICT branche, waarvan de laatste 15 jaar in het vakgebied van informatiebeveiliging en privacy. Naast een reguliere baan werkt hij onder andere als freelance docent bij de Security Academy.

Tag

AVG

Onderwerp



Niet gevonden? Vraag het de redactie!

Heeft u het antwoord op uw vraag niet gevonden, of bent u op zoek naar specifieke informatie? Laat het ons weten! Dan zorgen we ervoor dat deze content zo snel mogelijk wordt toegevoegd, of persoonlijk aan u wordt geleverd!

Stel uw vraag