De meeste cryptografische algoritmes maken gebruik van sleutels: dit is zowel het geval voor symmetrische versleuteling (zoals AES) als voor asymmetrische (zoals RSA), voor de digitale handtekening… Een belangrijke parameter bij de implementatie is de keuze van de sleutellengte. Deze keuze heeft vooral een impact op het veiligheidsniveau. Hoe langer de sleutel, hoe moeilijker een […]

Advertentie

De meeste cryptografische algoritmes maken gebruik van sleutels: dit is zowel het geval voor symmetrische versleuteling (zoals AES) als voor asymmetrische (zoals RSA), voor de digitale handtekening… Een belangrijke parameter bij de implementatie is de keuze van de sleutellengte. Deze keuze heeft vooral een impact op het veiligheidsniveau. Hoe langer de sleutel, hoe moeilijker een aanval tegen het algoritme wordt.

De Wet van Moore stelt dat de rekenkracht van de nieuwe processoren op de markt zowat elke twee jaar verdubbelt, tegen dezelfde prijs. Dit betekent dat op termijn steeds krachtigere machines beschikbaar worden om de cryptografische algoritmes te kraken. We moeten de Wet van Moore daarom in rekening brengen bij de keuze van de sleutellengte: hoe langer de gewenste levensduur van een sleutel, hoe langer de sleutel.

De sleutellengte heeft ook een impact op de verwerkingssnelheid, maar dit maakt enkel een wezenlijk verschil bij asymmetrische cryptografie; hoe langer de sleutel, hoe langer het duurt om een digitale handtekening te berekenen, of een boodschap te versleutelen.

Wettelijke beperkingen
Soms wordt de keuze nog bemoeilijkt door wettelijke restricties. Bijvoorbeeld het JCA-framework (Java Cryptographic Extension, de standaard cryptografische extensie van het Java-platform) beperkt standaard de maximale sleutellengte, omwille van de wettelijke bepalingen die in een aantal landen van toepassing zijn.

Bij symmetrische crypto-algoritmes staat de keuze van de sleutellengte in direct verband met de complexiteit van een exhaustieve opzoeking. Bijvoorbeeld, om een DES-sleutel (een verouderde crypto-standaard) te raden, die 56 bits telt, zijn er 256 mogelijke sleutels.

In 1977, toen de DES-standaard werd goedgekeurd, was het onmogelijk om alle sleutelcombinaties te proberen en dat is 20 jaar lang zo gebleven. Maar in 1997 is de groep DESCHALL Project er voor de eerste keer in geslaagd om de volledige sleutelreeks te proberen.

In 2001 werd AES als nieuwe standaard aangenomen, met een ander design dat langere sleutels toelaat (van 128  tot 256 bits). Om een 128-bits AES-sleutel te kraken, heeft u gemiddeld ongeveer 2127 combinaties nodig (er zijn 2128 mogelijke sleutels, en vermoedelijk heeft u na ongeveer de helft van de reeks de juiste te pakken). Zelfs met de inzet van zware technische (cloud computing, dedicated hardware…) en financiële middelen, is dit momenteel onmogelijk!

In het geval van asymmetrische crypto-algoritmes en algoritmes voor een digitale handtekening, hangt de keuze van de sleutellengte af van de wiskundige eigenschappen van het algoritme. Er bestaan immers veel krachtigere aanvallen dan een exhaustieve sleutellijst.

Bijvoorbeeld, in het geval van RSA, kunnen we de norm (N) van de publieke sleutel ontbinden in factoren, om zo de private sleutel terug te vinden. Op dit moment is 1024 bits daarom de minimumlengte voor zulke sleutels en 2048 bits de aangeraden lengte (aan te passen in functie van de gewenste levensduur van de sleutel).

Carte Bleue
Het is al eerder gebeurd dat een beveiligd systeem werd gekraakt omwille van een te korte sleutellengte. Een voorbeeld dat in Frankrijk voor heel wat commotie zorgde was de affaire Humpich. In 1998 slaagde de Franse ingenieur Serge Humpich erin om de ‘Carte Bleue’, een populaire bankkaart op basis van een chip, te kraken en een vervalse kaart aan te maken.

Aan de basis van zijn aanval lag het feit dat de publieke sleutel voor de authenticatie (het moment waarop de terminal verifieert dat de kaart authentiek is, op basis van een digitale handtekening op de kaart), een 320-bits RSA-sleutel was. Om deze sleutel te kraken (door de bijhorende private sleutel te vinden), moest hij een geheel getal van 320 bits ontbinden in factoren.

Anno 1998 ging dat al vrij snel met de juiste combinatie van software en hardware. Eenmaal de private sleutel gekraakt, was het eenvoudig om de digitale handtekening te vervalsen…

SSL-servers werken ook op basis van sleutels (RSA-sleutels) en door hun populariteit vormen ze een interessante testcase. Dankzij de website SSL Pulse, opgezet door de Trustworthy Internet Movement, beschikken we over gedetailleerde statistieken over de gebruikte sleutels bij de meest populaire websites.

Op 23 mei 2012, op een totaal van 200.000 geteste websites, waren er slechts vijf die nog sleutels van minder dan 1024 bits gebruikten. Zo’n 16% gebruikte 1024-bits sleutels, terwijl de andere 83,9% sleutels van 2048 bits of langer gebruikte.

We stellen vast dat de veiligheid van deze servers, die volgens SSL Pulse vaak te wensen overlaat,  niet zozeer een probleem is van de sleutellengte maar van configuratiefouten (ondersteuning van verouderde SSL-versies, ongelukkige keuze van crypto-suites…).

Conclusie
Kortom, indien u een sleutellengte moet kiezen en u heeft de minste twijfel, doe dan een beroep op een expert in cryptografie. Deze expert kan bijvoorbeeld verwijzen naar de site KeyLength.com, die heel wat onderzoek over het onderwerp samenbrengt.

Dit is het werk van onder meer het Amerikaanse NIST (National Institute for Standards ans Technology), het Duitse BSI (Bundesamt für Sicherheit in der Informationstechnik), het Europese excellence-netwerk ECRYPT en andere. Op deze site vind u, met behulp van een reeks tabellen, een aanbeveling over de sleutellengte in functie van een aantal parameters, zoals het type algoritme, de gewenste levensduur van de sleutel en het veiligheidsniveau.

 

Julien Cathalo | Smals
Julien Cathalo is doctor in de toegepaste wetenschappen (UCL, 2007), dankzij een specialisatie in zero-knowledge identificatieschema’s, digitale handtekeningen en fair-exchange schema’s. Hij werkte tot 2010 als research assistent inzake toegepaste cryptografie voor de UCL Crypto Group. Sinds 2010 werkt Julien als research consultant voor Smals, waar hij mee aan de basis lag voor de patentaanvraag op een schema voor de granulaire encryptie van databanken, met gebruik van threshold encryptie. Meer info: //blogresearch.smalsrech.be

Advertentie