In de berichtgeving over het kraken door het CWI van een encryptiesleutel die onder meer bij e-handel wordt gebruikt, zijn schoonheidsfoutjes geslopen. Zo heeft toepassing van SET in plaats van SSL geen zin, en ligt de oplossing in het gebruik van langere encryptiesleutels, meent Jos Visser. De Amerikaanse overheid verbiedt de export daarvan echter.
Twee weken geleden zag ik, al genietend van een krentenbol met kaas, op RTL-onbijtnieuws een uitzending over het kraken van een encryptiesleutel door het Centrum voor Wiskunde en Informatica te Amsterdam. Artikelen van gelijke strekking verschenen in het NRC en in de Volkskrant. Aandacht voor de veiligheid van e-handel en Internet is een schone zaak, maar het item bevatte dermate veel feitelijke onjuistheden en verdraaiingen van de werkelijkheid dat het journalistieke doel, het informeren van het publiek, niet is gehaald. In tegendeel zelfs. Bij deze een (hopelijk niet futiele) poging om u van (verifieerbaar) juiste informatie te voorzien.
Voor het beveiligen van berichtenverkeer over publieke netwerken wordt al sinds jaar en dag versleuteling (encryptie) toegepast. De eerste toepassingen hiervan gaan terug tot berichten die Julius Caesar vanaf het slagveld naar Rome verstuurde! Wiskundige doorbraken hebben ervoor gezorgd dat de betrouwbaarheid van encryptie de laatste jaren aanzienlijk is toegenomen Om een bericht te ver- en ontsleutelen wordt gebruik gemaakt van een codeertechniek (encryptiealgoritme) en één of meer sleutels die samen met het bericht worden vermengd. Tenminste één van de sleutels dient geheim te blijven en de veiligheid van het bericht hangt af van het geheim blijven van die sleutel. Krakers zullen dus proberen de geheime sleutel te achterhalen teneinde het bericht weer te kunnen ontsleutelen. De eenvoudigste methode voor het achterhalen van de sleutel bestaat uit het stelen (of afpersen) van de sleutel. Als dit niet mogelijk is, dan kan worden geprobeerd de sleutel te raden. Afhankelijk van de gebruikte codeertechniek kan dit betekenen dat domweg alle sleutels moeten worden geprobeerd (een zogenaamde ‘brute force attack’) of dat er een iets slimmere tactiek kan worden toegepast.
Bij het RSA-algoritme dat door het CWI onder handen is genomen, hangen de sleutels op een wiskundige manier samen die iets van doen heeft met priemgetallen, en bestaat het raden van de geheime sleutel uit een wiskundige analyse van de sleutels en de ontbinding van getallen in priemfactoren. Stel nu dat we weten dat de sleutel uit maximaal twee cijfers bestaat, dan zijn er slechts honderd mogelijke sleutels. Bestaan de sleutels uit vijf cijfers dan zijn er slechts honderdduizend mogelijke sleutels. Voor de hedendaagse computers is het natuurlijk een peulenschil om in dat geval alle mogelijke sleutels te proberen. Om die reden zijn de sleutels die tegenwoordig worden gebruikt vele male groter. Het RSA-512 algoritme gebruikt een geheime sleutel van 155 karakters (512 bits). Het moge duidelijk zijn dat langere sleutels veiligere sleutels zijn omdat het meer tijd kost om de sleutel (met ‘brute rekenkracht’) te raden.
1024-bit RSA-sleutels
Het is het CWI op 22 augustus gelukt om één geheime sleutel te vinden, na zeven maanden rekenen met een groot aantal zeer snelle computers en de inzet van de supercomputer van het academisch rekencentrum Sara. Zonder meer een belangrijke doorbraak, en eentje die aangeeft dat 512-bit RSA-sleutels voor zeer kritische toepassingen niet meer zouden moeten worden gebruikt. Let op: er heeft geen wiskundige doorbraak plaatsgevonden in de analyse van de RSA-codeertechniek; de computers zijn gewoon snel genoeg geworden om de sleutel binnen afzienbare tijd met brute rekenkracht bij elkaar te sprokkelen (hierbij geholpen door nieuwe wiskundige technieken die het ontbinden van grote getallen in priemfactoren versnellen). De RSA-codeertechniek wordt onder andere gebruikt voor e-handel via Internet (door toepassing van de veilige communicatiestandaard SSL). Gelukkig ligt de oplossing voor de hand. Niet in de selectie van een andere veilige communicatiestandaard (SET in plaats van SSL), maar simpelweg door toepassing van langere sleutels! Het RSA-algoritme werkt desgewenst ook met sleutels van 768 bit, 1024 bit, 2048 bit of zelfs langer! Sterker nog, in de kringen van versleutelingsexperts (en -hobbyisten) is al langere tijd bekend dat 512-bit RSA-sleutels niet lang genoeg zijn voor afdoende beveiliging. Overstappen op een andere codeertechniek heeft ook weinig zin, want die zijn doorgaans net zo kwetsbaar voor aanvallen met brute rekenkracht. SET in plaats van SSL heeft al helemaal geen zin omdat SET dezelfde codeertechnieken toepast als SSL! De enige oplossing is langere sleutels! Maar wacht eens even, als iedereen eigenlijk al weet dat de 512-bit sleutels niet lang genoeg zijn en dat langere sleutels voorhanden zijn, waarom gebruikt dan vrijwel iedereen toch de kortere (onveiligere) sleutels? Het antwoord daarop is eenvoudig: De Amerikaanse overheid verbiedt de export van programmatuur waarin ondersteuning voor (te) lange sleutels wordt geboden. Netscape en Microsoft maken al lang webbrowsers en servers met ondersteuning voor 1024-bit RSA-sleutels, maar die mogen niet naar europa worden geëxporteerd! Wij mogen alleen de versies van de software met korte sleutels gebruiken. De reden? Ik wil niet ogenblikkelijk de complottheoreticus uithangen, maar het ligt voor de hand dat de Amerikaanse overheid graag de mogelijkheid wil houden om zelf de berichten (met hun supersnelle computers) te ontsleutelen.
Saillant detail hierbij is de afdoende beschikbaarheid van software van niet-Amerikaanse bodem die wel lange (tot soms zelfs zeer lange) encryptiesleutels ondersteunt, maar om een groot aantal redenen wordt meestal toch de onveiligere export-versies van de Amerikaanse software gebruikt. Zo wordt de software in veel gevallen meegeleverd met het besturingssysteem van de gebruiker. Verder is de Amerikaanse software het bekendst, en verwachten klanten hiervoor betere ondersteuning.
Jos Visser, Zeewolde