spacer.png, 0 kB
Volg Cursor via Twitter Volg Cursor via Facebook Cursor RSS feed
spacer.png, 0 kB

spacer.png, 0 kB


Werkt het borstbeen als een menselijke airbag?
Cursor in PDF formaatCursor als PDF
PrintE-mail Tweet dit artikel Deel dit artikel op Facebook
Enorme getallen om kleine boodschappen veilig over te brengen
27 september 2007 - RSA-cryptografie gebruikt combinaties van twee absurd grote priemgetallen om boodschappen te coderen. Het product van die getallen is zo groot, dat geen computer krachtig genoeg is om snel te achterhalen welke getallen de sleutel vormen voor het ontcijferen van de boodschap. Maar wat nu als iemand door ‘afluisteren’ toch een stuk van die getallen weet te achterhalen? Kun je dan nog veilig betalen met je pinpas? Promovenda drs. Ellen Jochemsz (27) deed hier onderzoek naar.

Als je elkaar iets wilt vertellen, en je wilt niet dat andere luisteraars het begrijpen, dan kun je overschakelen op codetaal. Het enige dat je zeker moet weten, is dat je gesprekspartner de codetaal verstaat. Met andere woorden: dat-ie je boodschap kan ontcijferen. Daarvoor moet hij wel eerst de sleutel hebben waarmee je je boodschappen codeert. En die kun je natuurlijk niet naar je gesprekspartner roepen, want dan kan alsnog elke willekeurige luistervink het gesprek begrijpen. Dus moet je eerst bij elkaar komen om de sleutel over te dragen. Deze manier van codetaal, waarbij je bij het coderen van een boodschap dezelfde sleutel gebruikt als bij het ontcijferen, heet een symmetrisch systeem.
Het veilig uitwisselen van de sleutel is daarbij lastig. Zeker als je bijvoorbeeld via internet iets wilt betalen, maar wel zeker wilt zijn dat niemand met de gegevens van jouw creditcard aan de haal gaat. Om het gedoe van de sleuteloverdracht te omzeilen, is zogenoemde asymmetrische cryptografie bedacht. Daarbij zijn er twee verschillende sleutels. De eerste is de publieke sleutel waarmee je boodschappen kunt coderen, maar niet decoderen. Iedereen mag deze sleutel weten. En dan is er de geheime sleutel, waarmee je boodschappen kunt ontcijferen. Alleen de ontvanger heeft deze geheime sleutel.
RSA is een asymmetrische methode die in 1978 bedacht is door de wetenschappers Rivest, Shamir en Adleman (RSA). Deze methode gebruikt combinaties van twee enorm grote priemgetallen als basis voor de codering. De publieke sleutel bevat onder meer het product van de vermenigvuldiging van die twee priemgetallen. Maar niet de twee losse getallen, want daarmee zou je de boodschap kunnen ontcijferen. Het lijkt een koud kunstje om die getallen toch te vinden met een computer, maar de getallen zijn zo groot dat zelfs computers er een eeuwigheid over zouden doen om de juiste combinatie te vinden. Ténzij je op de een of de andere manier toch iets te weten bent gekomen over die getallen.
Onderzoekster Ellen Jochemsz onderzocht een aantal van dit soort scenario’s. Eén ervan is de zogeheten ‘side channel attack’. Hierbij meet iemand stiekem bijvoorbeeld het stroomverbruik van de computer van de ontvanger, terwijl die computer het bericht ontcijfert. Uit het patroon van het stroomverbruik valt een deel van de geheime sleutel af te leiden. Met het maken of gebruiken van dat soort meetapparatuur hield de 27-jarige wiskundige zich overigens uitdrukkelijk niet bezig. Jochemsz: “Wij bouwen geen kastjes om vals te spelen. Maar we kijken wel wat je kunt met de informatie van valsspelers.” Samen met begeleider dr. Benne de Weger en twee Duitse collega-onderzoekers onderzocht ze hoe groot het bekende deel van de geheime sleutel moet zijn om hem helemaal te kunnen vinden.
Een ander scenario dat ze bekeek, is dat er een speciale relatie bestaat tussen de twee gekozen priemgetallen. Het vercijferen of ontcijferen met RSA is door de grootte van de getallen zeer rekenintensief, en daarom kiezen systeemontwerpers graag voor getallen waarmee makkelijker en sneller te rekenen valt. Daarbij is de grote vraag: hoever kun je gaan? Hoeveel mag iemand weten van de geheime sleutel zonder dat het risico bestaat dat hij de code gemakkelijk kan kraken? Welke makkelijke getallencombinaties kun je nog veilig kiezen?

Veiliger
Jochemsz verbeterde met haar onderzoek bestaande ‘aanvallen’ om RSA-varianten te kraken. De bedoeling van dit vinden van zwakke plekken is dat RSA veiliger wordt. De bevindingen van Jochemsz zijn feitelijk een aantal extra gebruiksaanwijzingen in het handboek ‘hoe kies je sleutels in RSA’. Of eigenlijk vooral: hoe kies je sleutels níet. “Het gaat om het afbakenen van de sleutelruimte”, aldus de onderzoekster. Ook vond Jochemsz, samen met een Duitse collega-onderzoeker, de eerste werkende aanval op een RSA-variant die gebruikt wordt in smartcards. Lees: in chipkaarten. Is betalen met die kaarten nu onveilig? Nee, dat niet. “De aanval dekt een deel van de sleutelruimte af, maar niet dat deel dat bedrijven in de praktijk kiezen. Maar ze moeten wel de ontwikkelingen in de gaten houden voor het geval er verbeterde aanvallen komen die hun systeem wel in gevaar brengen.”
Cryptografen -mensen die cryptosystemen ontwerpen- en cryptoanalisten -mensen die proberen de systemen te kraken, zoals Ellen Jochemsz- spelen volgens Jochemsz ‘een soort van spel’. Waarbij het steeds moeilijker wordt om succesvolle aanvallen te vinden, omdat er steeds meer gaten gedicht worden door het groeiende handboek met gebruiksaanwijzingen. En daardoor kunnen wij veiliger betalen via internet en met pinpassen./.

Drs. Ellen Jochemsz verdedigt op donderdag 4 oktober haar proefschrift, getiteld ‘Cryptoanalysis of RSA variants using small roots of polynomials’. De bijeenkomst begint om 16.00 uur, in zaal 4 van het Auditorium.

Grote getallen

Hedendaagse RSA-systemen gebruiken priemgetallen waarvan het product van de vermenigvuldiging in 1024 bits beschreven kan worden. Ter illustratie: dat zijn getallen die ruim driehonderd cijfers lang zijn. Niet gek dus dat de berekeningen die bij de versleuteling en de ontcijfering van boodschappen komen kijken nogal wat rekencapaciteit vergen.
Ondanks die enorme getallen kun je met die 1024 bits maar hooguit een tweetal zinnen tekst vercijferen - als je tekst langer is, moet je hem in stukken hakken en die één voor één vercijferen. Vanwege die beperking wordt asymmetrische cryptografie in het algemeen vooral gebruikt om op een veilige manier de sleutel te versturen van een symmetrisch cryptosysteem. Om vervolgens daarmee verder te communiceren.

Cryptoanalyse/Ivo Jongsma
Foto/Marijn Alders