TU Eindhoven maakt toekomstig internet veiliger

Andreas Huelsing, universitair docent in de Coding Theory and Cryptology onderzoeksgroep van de TU Eindhoven, heeft het internet van de toekomst kwantumcomputer-proof gemaakt met het ontwikkelen van het eXtended Merkle Signature Scheme (XMSS). XMSS is het eerste post-kwantum programma voor digitale handtekeningen dat nu door de RFC editor is goedgekeurd als ‘request for comments’ (RFC). RFC's bepalen de normen voor het internet. Dit is een belangrijke stap om het gebruik ervan in alledaagse toepassingen mogelijk te maken.

Vandaag de dag is cryptografie overal om ons heen. Het beveiligt berichtenapps op mobiele telefoons, transacties tussen banken bij het betalen met een bankpas bij een lokale supermarkt, de gegevens die we versturen via een contactformulier op een beveiligde website, en de vele malen dat mensen berichten – in welke vorm dan ook – van A naar B sturen. De zogeheten Signature schemes zorgen voor authenticiteit van elke vorm van data, zoals berichten of documenten. Bij een beveiligde internetverbinding met de bank worden ze bijvoorbeeld gebruikt om ervoor te zorgen dat er daadwerkelijk contact is met de bank en niet met een hacker. Over het algemeen zijn software-updates de belangrijkste toepassingen van signature schemes. Deze worden ondertekend door het softwarebedrijf, zodat gebruikers geen updates installeren van een kwaadwillende partij.

Quantum computers
De huidige cryptografische algoritmen zijn toereikend om onze persoonlijke gegevens in de huidige tijd te beschermen. Er wordt echter steeds meer onderzoek gedaan naar de ontwikkeling van een kwantumcomputer. Wanneer het lukt zo'n computer te bouwen, zal dat een grote impact hebben op de cryptografie. Een kwantumcomputer is namelijk niet alleen een supersnelle computer, de kracht van een kwantumcomputer ligt in het exploiteren van bepaalde structuren van wiskundige problemen. En dat zijn precies die problemen waarop de huidige internetcryptografie is gebaseerd. Dit betekent dat op het moment dat de kwantumcomputer arriveert, onze gegevens niet langer veilig zijn.

Daarom anticiperen wetenschappers, onder wie Andreas Huelsing, op het post-kwantum tijdperk en werken zij aan post-kwantum cryptografie: cryptografische algoritmen die bestand zijn tegen de kracht van kwantumcomputers. Zijn onderzoek, gefinancierd door het Horizon 2020-project PQCRYPTO, leidde tot de ontwikkeling van het eXtended Merkle Signature Scheme (XMSS) en de aanvaarding daarvan als een de-facto Internet standaard in de RFC-editor. 

Hash-based signature scheme
XMSS behoort tot de klasse van de hash-based signature schemes. Hash-based signature schemes bieden cryptografische digitale handtekeningen, zonder te vertrouwen op de veronderstelde hardheid van wiskundige problemen. In plaats daarvan is bewezen dat ze alleen vertrouwen op de eigenschappen van cryptografische hashfuncties, waardoor ze bestand zijn tegen kwantumaanvallen. De meeste schema's vertrouwen op de volgende twee eigenschappen van cryptografische hashfuncties:

1. Eenrichtingsverkeer: cryptografische hashfuncties zijn gemakkelijk te evalueren, maar moeilijk om te keren. Met de output (hashcode) van de functie is het praktisch onmogelijk om de input te achterhalen waaraan de functie deze output koppelt.
2. Bestand tegen “botsingen”: Het is praktisch niet mogelijk om twee blokken gegevens te vinden die tot dezelfde output leiden. 

XMSS
XMSS is de meest recente variant van deze hash-based signature schemes, dat in vergelijking met eerdere voorstellen verschillende verbeteringen op het gebied van zowel beveiliging als prestaties met zich meebrengt. XMSS is met name veerkrachtig bij botsingen: de beveiliging is niet afhankelijk van weerstand tegen deze botsingen. Botsingsweerstand bleek namelijk een moeilijk te realiseren eigenschap, zoals botsingsaanvallen voor eerdere hashingstandaarden MD5 en SHA1 duidelijk hebben gemaakt. Daarom verbetert het de beveiliging om hier niet op te vertrouwen. Daarnaast verbetert dit ook direct de prestaties, omdat het mogelijk is om kleinere parameters te gebruiken terwijl hetzelfde niveau van veiligheid wordt gehandhaafd.

XMSS is geschikt voor compacte implementaties, is relatief eenvoudig te implementeren en is van nature bestand tegen side-channel aanvallen. In tegenstelling tot de meeste andere signature schemes zijn hash-based signature schemes tot nu toe bestand gebleken tegen bekende aanvallen met kwantumcomputers.

Basisidee van hash-based signature schemes
Het basisidee is het volgende: Stel dat twee vrienden - Alice en Bob - in de trein zitten en praten over het uitgaan de volgende avond. Alice is niet zeker of haar het lukt want haar agenda ligt thuis. Ze wil Bob dus op de hoogte brengen als ze thuis is en haar agenda kan controleren. Ze stuurt 1 als ze kan komen of 0 als dat niet lukt.

Aangezien Alice een gemeen klein zusje Eva heeft, die alles over computers weet, wil zij ervoor zorgen dat Eva haar bericht niet zal wijzigen. Alice genereert dus een paar willekeurige bitreeksen x_0 en x_1, berekent hun hashwaarden y_0 en y_1, en overhandigt deze aan Bob. Als ze thuis is, stuurt ze haar een bit bericht b samen met x_b naar Bob. Nu kan Bob x_b hashen en het resultaat met y_b vergelijken. Als de twee matchen weet Bob dat het bericht is verzonden door Alice. Inderdaad, zelfs als Eva y_0 en y_1 zou hebben geleerd en het bericht van Alice zou hebben onderschept, zou ze het bericht van Alice niet hebben kunnen wijzigen zonder de verificatie te laten mislukken.

In dit voorbeeld is x_0, x_1 de geheime sleutel, y_0,y_1 de publieke sleutel en x_b is de handtekening. Dit basisschema kan worden uitgebreid tot n-bit berichten, met behulp van n paar x_0,x_1, één paar per berichtbit. Het schema dat hieruit volgt is eenmalig: een sleutelpaar kan maar één keer worden gebruikt. Er zijn dus nog verschillende stappen nodig om daadwerkelijk tot een volledig signature scheme te komen.

Grote stap
Het goedkeuren van XMSS als internetstandaard is een belangrijke stap voorwaarts in het in de praktijk brengen van de wetenschap en het daarmee kwantumcomputer-proof maken van het internet. Voor de meeste toepassingen is dit het moment waarop profielen voor XMSS-datastructuren kunnen worden gespecificeerd om het gebruik van XMSS toe te staan. Dit is ook het moment waarop nationale adviesorganen zoals de Duitse BSI of de Amerikaanse NSA-IAD het gebruik van XMSS als vereiste kunnen stellen voor toepassingen in hun richtlijnen en algoritmecatalogi. Deze hindernissen bestaan echter niet voor ieder gebruik. Er zijn op dit moment dan ook al nieuwe crypovaluta's en mechanismen voor software-updates die reeds gebruik maken van de in het RFC beschreven schema’s.