Signed, Sealed, Subverted: Wat geBroken Cryptografie ons leert over vertrouwen

Leestijd: 8 minutes

Categorie: Post-Quantum Cryptography

Auteur: Derk Bell


De vertrouwde handtekening

Je bent alleen in een stille zaal van het Rijksmuseum. Het zachte gezoem van de beveiligingssystemen valt bijna weg tegen het monotone gebrom van de airco. Een gerichte spot verlicht een kwetsbare schets; de donkere inktlijnen steken scherp af tegen het vergeelde perkament. Op het bordje ernaast staat: Rembrandt van Rijn, ca. 1640. Kunstexperts hebben dit werk uitvoerig onderzocht en bevestigd dat het echt is. Het staat geregistreerd, is verzekerd en wordt geciteerd in publicaties. Dit is, zonder twijfel, een stukje geschiedenis.

Stel je nu voor: diep in het ondergrondse lab van het museum buigt een man in een witte jas zich over testresultaten. Hij fronst, ademt langzaam uit en zegt: “De inkt bevat een synthetische kleurstof die pas in 1923 is uitgevonden.”

Die ene zin zet alles op zijn kop. Rembrandt’s handtekening? Nep. De schets zelf? Een meesterlijke vervalsing, ooit onopgemerkt achter het glas beland. Nu kelderen de taxaties, vliegen de rechtszaken over tafel en bereidt het Rijksmuseum zich voor op een schandaal.

Het gaat niet om die kleurstof op zich. Het gaat om het hele bouwwerk van vertrouwen rond die schets: de wetenschappers die haar hebben aangehaald, de verzamelaars die haar hebben verzekerd, de tentoonstellingen die op het verhaal zijn gebouwd. De vervalsing raakt meer dan het kunstwerk alleen; het herschrijft het verhaal eromheen dat we allemaal voor waar aannamen. En ineens voelt zekerheid wankel.

In de digitale wereld hebben we met hetzelfde probleem te maken. Alleen gaat het daar niet om inkt en perkament, maar om cryptografische handtekeningen: ketens van wiskundige code die we zelden ter discussie stellen. Maar, net als bij die schets, kunnen ook deze handtekeningen knap vervalst zijn.

Vervalste certificaten, verbroken ketens

In 2012 liet een team onderzoekers zien hoe je in de praktijk misbruik kon maken van een bekende kwetsbaarheid in de MD5-hashfunctie: collision attacks. Stel je voor: een vervalser ontdekt dat twee compleet verschillende bankbiljetten (één echt, één vals) moeiteloos door dezelfde controle komen. Niet omdat het valse biljet zo goed nagemaakt is, maar omdat de machine alleen naar het serienummer kijkt. En dat serienummer is exact hetzelfde.

Dat is het principe van een collision attack.

In de digitale wereld werkt het zo: een aanvaller maakt eerst een onschuldig ogend certificaat met een specifieke digitale vingerafdruk. Daarna maakt hij een vals certificaat dat exact diezelfde vingerafdruk heeft. Voor het systeem zijn ze identiek. Het is een perfecte vervalsing, niet door de inhoud te kopiëren, maar door de digitale vingerafdruk te matchen.

Een groep hackers paste deze techniek toe om een vals Certificate Authority (CA)-certificaat te maken. Zo’n certificaat wordt door browsers en systemen blind vertrouwd, zolang het lijkt te komen van een legitieme root. Met dat valse CA-certificaat konden ze vervolgens geldige TLS-certificaten uitgeven voor elk domein dat ze maar wilden: Google, Facebook, je bank, je e-mailprovider… alles.

Stel je voor: je logt in op je online bank. Alles ziet er vertrouwd uit. Het groene hangslotje staat in de adresbalk, de URL klopt en je voelt je veilig. Maar achter de schermen zit je niet bij je bank, je zit op een server van de aanvaller. Elke inlog, elke transactie, elk stukje gevoelige data stroomt rechtstreeks naar hen toe.

Dit is geen theorie. Het werkt. De infrastructuur die bedoeld is om authenticiteit te garanderen, kan stilletjes worden omzeild.

Neem RC4, ooit het algoritme achter HTTPS, WEP en delen van TLS. Het lekte geheimen alsof een kind zachtjes in een verzonnen taal zat te mompelen, denkend dat niemand het kon verstaan. Maar wie goed luisterde, met de juiste tools, kon de patronen zo ontcijferen. Wat versleuteld had moeten blijven, werd leesbaar.

Onderzoekers ontdekten dat RC4 voorspelbare vertekeningen had in de manier waarop het zijn stroom versleutelde bits produceerde. Met genoeg onderschept verkeer konden aanvallers sessiecookies, encryptiesleutels en andere gevoelige data reconstrueren. Het was geen willekeurige ruis meer, het was lekke code die klaar lag om gebruikt te worden.

En ook dit bleef niet bij theorie. In 2011 werd Diginotar, een officiële Nederlandse certificeringsinstantie, gehackt. Aanvallers gaven tientallen frauduleuze certificaten uit, waaronder één voor Google, dat werd gebruikt voor grootschalige surveillance. De inbreuk ondermijnde de digitale infrastructuur van de Nederlandse overheid en betekende het einde van Diginotar. Als een pijler van vertrouwen valt, stort alles wat erop gebouwd is mee in.

Gebruikers kregen een vals gevoel van veiligheid: een groen hangslotje, een keurige certificaatketen. Ondertussen konden aanvallers het verkeer gewoon meelezen of zich onopgemerkt voordoen als een vertrouwde site.

De les is duidelijk: cryptografische systemen kunnen er intact uitzien terwijl ze in werkelijkheid al gecompromitteerd zijn. Handtekeningen, certificaten en encryptie blijven op het eerste gezicht werken, zelfs als ze dat niet meer doen. En tegen de tijd dat iemand dat doorheeft, is de schade vaak al onomkeerbaar.

Kapotte crypto is traditie

Gebroken cryptografie is niets nieuws. Je zou het bijna een traditie kunnen noemen. Elk tijdperk heeft zijn “onbreekbare” code gehad, totdat bleek dat die toch niet zo onbreekbaar was.

  • Enigma: De Enigma-machine, met zijn ingewikkelde mechaniek en voortdurend wisselende sleutels, werd ooit als ondoordringbaar beschouwd. De nazi’s vertrouwden er volledig op. Maar cryptanalisten van de geallieerden, geholpen door gelekte informatie en de computers van die tijd, kraakten hem toch. Het resultaat was allesbehalve theoretisch: het verkortte de Tweede Wereldoorlog en redde talloze levens [3].
  • DES: In de jaren 70 was de Data Encryption Standard dé gouden standaard voor het beveiligen van overheids- en bedrijfsgegevens. Maar er zat één fatale zwakte in: de sleutel was te kort. Naarmate computers sneller werden, was het slechts een kwestie van tijd voordat DES zou vallen. In 1988 bouwde de EFF voor 250.000 dollar een machine die in minder dan drie dagen een DES-sleutel kon kraken [4]. Het algoritme viel niet van de ene op de andere dag, maar werd langzaam ingehaald door de vooruitgang.
  • MD5/SHA-1: Hashfuncties zijn als de vingerafdrukken van data: uniek en bedoeld om fraude onmogelijk te maken. Toch vertoonde MD5 al in de jaren 90 scheuren, en in 2004 demonstreerden onderzoekers echte collisions. SHA-1 hield langer stand, maar in 2017 braken Google en CWI het met een chosen-prefix attack. Dat was het digitale equivalent van twee totaal verschillende mensen met identieke vingerafdrukken [5].

De conclusie? Algoritmen storten zelden in één keer in. Ze slijten van binnenuit. Zwakke plekken worden ontdekt, vervolgens steeds verder uitgebuit, totdat hun garanties langzaam wegvallen. Wat begint als een academische paper, eindigt vaak in een aanval in de echte wereld. Cryptografen waarschuwen, aanvallers lezen mee. En stukje bij beetje brokkelt het vertrouwen af, totdat het systeem op een dag bezwijkt onder een druk die eigenlijk allang zichtbaar was.

De echte bedreiging: inertie

Weten dat iets kapot is, is niet hetzelfde als het repareren.

Neem de chip in je bankpas. Daarin zit cryptografie letterlijk ingebakken: algoritmen hardgecodeerd in silicium, gecertificeerd en uitgerold in miljoenen kaarten en betaalterminals.

Ze zijn niet ontworpen om te worden geüpdatet. Als zo’n algoritme wordt gecompromitteerd, kun je dat niet op afstand fixen. Er is maar één oplossing: alle kaarten vervangen. Elke betaalterminal. Elk stukje hardware dat ervan afhankelijk is.

En zelfs als dat snel en makkelijk zou kunnen (spoiler: dat kan het niet), is er nog een groter obstakel: compliance. Systemen zoals door de overheid uitgegeven paspoorten zijn niet alleen technische apparaten, maar ook juridische documenten. Een update betekent laveren tussen internationale normen, certificeringsprocedures en politieke afspraken. Je kunt niet zomaar overnight nieuwe firmware op een biometrisch paspoort zetten. Elke wijziging heeft gevolgen voor regelgeving, privacywetten en grensoverschrijdende samenwerking.

Inertie, of luiheid, of traagheidis niet alleen een kwestie van schaal. Het zit ingebakken in beleid, papierwerk en politiek. Daarom blijft gebroken cryptografie vaak nog jarenlang gebroken, ook als we allang weten dat het beter kan.is niet alleen een kwestie van schaal. Het zit ingebakken in beleid, papierwerk en politiek. Daarom blijft gebroken cryptografie vaak nog jarenlang gebroken, ook als we allang weten dat het beter kan.

Legacy-systemen draaien vaak op hardgecodeerde cryptografische algoritmen: vaste bouwstenen die diep in firmware en protocollen zitten. Je kunt ze niet zomaar vervangen of herconfigureren zonder de software opnieuw te schrijven of, in het ergste geval, het hele apparaat te vervangen. Dat is niet alleen een technisch probleem, maar ook een economisch.

De schaal maakt het nog lastiger. Denk aan miljoenen IoT-apparaten, ingebedde systemen en industriële controllers die allemaal dezelfde kwetsbare algoritmen gebruiken. Ze allemaal patchen, als dat al mogelijk is, is een gigantische klus. Veel van deze apparaten zijn simpelweg niet ontworpen om te worden geüpdatet.

Daarbovenop komt de bureaucratie. Sommige standaarden blijven bestaan, ver voorbij hun houdbaarheidsdatum, niet omdat we het probleem niet zien, maar omdat een wijziging compatibiliteit kan breken of juridische gevolgen heeft. Het vervangen van een cryptografische bouwsteen in een nationaal ID-systeem kan door politieke en regelgevende obstakels jaren duren.

Net zoals het tijdens de oorlog vervangen van alle Enigma-machines traag en riskant was, is het op grote schaal vervangen van defecte cryptografie gevaarlijk, langzaam en vaak te laat. Toch zijn de gevolgen van uitstel enorm. Onze infrastructuur steunt op een wankele basis van vertrouwde, maar niet te patchen code. Als de dam breekt, is er geen knop ‘update’ om in te drukken. Dan moeten we alles opnieuw opbouwen, met alle kosten, risico’s en chaos van dien.

Crypto-agility: voorbereiden op de volgende doorbraak

Crypto-agility betekent dat systemen zo zijn ontworpen dat ze zich kunnen aanpassen. Het gaat erom dat je cryptografische algoritmen kunt vervangen zonder het hele systeem overhoop te halen. SHA-256 wordt niet vast in de code gebakken, maar is configureerbaar. Je gaat er niet vanuit dat één algoritme voor altijd veilig blijft; je plant voor het moment dat dat niet meer zo is. Het is een manier van denken. Je verwacht dat er iets kapot gaat en zorgt ervoor dat je systeem daar niet door instort.

We hebben gezien wat er gebeurt als cryptografische bouwstenen als permanent worden beschouwd. Eén defect algoritme kan een kettingreactie veroorzaken in hele sectoren. Agility beperkt die schade. Dit wordt nog belangrijker in het licht van post-kwantum cryptografie. Sommige veelbelovende kandidaten zijn al gekraakt tijdens de evaluaties van NIST. Als we niet klaar zijn om over te stappen, kan één onverwachte doorbraak hele infrastructuren van de ene op de andere dag nutteloos maken.

We gaan hier niet in op de details (dat bewaren we voor een ander artikel), maar denk aan onderhandeling, gelaagdheid, terugvalmechanismen. Hybride benaderingen die klassieke en post-kwantummethoden combineren winnen nu al aan populariteit. Ze lossen niet alles op, maar ze kopen tijd.

Agility gaat niet zozeer over het voorspellen van de toekomst, maar over accepteren dat dingen kapot zullen gaan en toch doorgaan met bouwen.

Conclusie: vertrouwen is een proces

De vervalste schets laat zien dat vertrouwen kwetsbaar is. Het is gebaseerd op tekenen waarin we hebben leren geloven: handtekeningen, zegels, algoritmen; het groene hangslotje in je browser.

Wanneer die tekenen worden aangetast, komt het verraad harder aan. We verliezen niet alleen de veiligheid, maar ook het verhaal eromheen. Daarom moet cryptografisch vertrouwen worden behandeld als een proces, niet als een vaste toestand. Het staat nooit stil en is nooit definitief. Elk gebroken algoritme werd ooit als veilig beschouwd. Elke inbreuk begon als een aanname die klopte, totdat dat niet meer zo was.

Daarom bouwen we systemen die rekening houden met verval. We voegen flexibiliteit toe. We werken met Zero Trust, niet alleen als een securitymodel, maar als een ontwerpprincipe. We vertrouwen niet blindelings op algoritmen, componenten of eerdere validaties. We controleren voortdurend, gaan uit van inbreuken en zorgen dat geen enkele cryptografische keuze een single point of failure wordt.

In deze context betekent Zero Trust dat we weigeren te geloven dat een algoritme eeuwig en onkwetsbaar is. Het gaat om het creëren van systemen die alles in twijfel trekken en op een elegante manier falen wanneer iets kapot gaat. We vervangen inkt door inzicht en permanentie door paraatheid. Uiteindelijk wordt vertrouwen niet één keer bewezen; het moet steeds opnieuw worden verdiend, elke keer dat we ervoor kiezen het in twijfel te trekken.

REFERENTIES

1. Rogue CA Certificate using MD5 (2009)https://www.win.tue.nl/hashclash/rogue-ca/

2. RC4 Biases and TLS Attackshttps://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-vanhoef.pdf

3. Bletchley Park and Enigmahttps://bletchleypark.org.uk/our-story

4. EFF DES Cracker (1998)https://w2.eff.org/Privacy/Crypto/Crypto_misc/DESCracker/

5. SHAttered: SHA-1 Collision by Google & CWI (2017)https://shattered.io/

6. Broken PQC Candidates (NIST Round 3)https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8413-upd1.pdf, SIKE: https://eprint.iacr.org/2022/975

7. Diginotar Public Report by Fox-IT (2012)https://roselabs.nl/files/audit_reports/Fox-IT_-_DigiNotar.pdf