NieuwsCryptoOnderzoekers vervalsen RSA-handtekeningen binnen hardware security module zonder de sleutel te extraheren

Onderzoekers vervalsen RSA-handtekeningen binnen hardware security module zonder de sleutel te extraheren

Auteur: Decrypt·

Belangrijkste punten

  • •Onderzoekers van UC San Diego en INRIA vervalsten RSA-handtekeningen voor een 1.024-bits sleutel terwijl deze zich in een hardware security module bevond; ze beschreven de aanval in een paper die op 20 september bij de IACR Cryptology ePrint Archive is ingediend.
  • •De demonstratie omvatte het uitschakelen van de FIPS-modus van de module, het gebruik van een testsleutel, het versturen van ongeveer 2^32 (ruwweg 4 miljard) gekozen ondertekeningsverzoeken en naar schatting 1.380 CPU-kernjaren aan rekenkracht.
  • •De aanval heeft geen invloed op Bitcoin of Ethereum, omdat die netwerken gebruikmaken van elliptic-curve-handtekeningen zoals ECDSA en Schnorr in plaats van RSA.
  • •Standaard RSA-paddingschema's zoals PKCS#1 v1.5 en PSS voorkomen de misbruikbare oracle, en volgens de auteurs vormt de aanval daardoor waarschijnlijk geen directe operationele dreiging voor de meeste moderne RSA-implementaties.
  • •De auteurs presenteren het resultaat als klassiek bewijs voor het loslaten van RSA tijdens de post-quantumtransitie, een overstap die Google voor de eigen systemen tegen 2029 wil afronden.
Onderzoekers vervalsen RSA-handtekeningen binnen hardware security module zonder de sleutel te extraheren

Onderzoekers van de University of California San Diego en het Franse INRIA hebben RSA-handtekeningen vervalst voor een 1.024-bits sleutel die zich in een hardware security module bevond, het fraudebestendige apparaat waar institutionele custodians op vertrouwen om crypto-sleutels te bewaken—zonder ooit de sleutel zelf te extraheren.

De onderzoekers hebben in feite een hardware security module nagebootst, een apparaat dat privésleutels opslaat en op verzoek ondertekent, en wisten geldige handtekeningen eraan te ontlokken terwijl de sleutel binnenin bleef. Ze beschreven de aanval in een paper die op 20 september is ingediend bij de IACR Cryptology ePrint Archive.

Voor crypto-houders is deze bevinding geen doorbraak van Bitcoin of Ethereum. Bitcoin ondertekent transacties met het elliptic curve digital signature algorithm, of ECDSA, en de bijbehorende curve ondersteunt ook Schnorr-handtekeningen. Ethereum en de meeste andere grote blockchains gebruiken eveneens elliptic-curve-handtekeningen. Deze paper gaat over de cryptografie van Rivest-Shamir-Adleman, of RSA, een ander handtekeningenschema.

Desondanks is het resultaat een stresstest van de manier waarop sleutels worden bewaakt. Institutionele custody-aanbieders gebruiken volgens BitGo hardware security modules—fraudebestendige kastjes die zo zijn ontworpen dat sleutels nooit buiten de hardware bestaan en buitenstaanders alleen om handtekeningen kunnen verzoeken. Hier verliet de sleutel het apparaat nooit, en toch slaagden de onderzoekers erin handtekeningen te vervalsen.

Ze schakelden wel de FIPS-modus van de module uit, een gecertificeerde beveiligingsinstelling, zodat deze ongeformatteerde getallen zou ondertekenen, en ze gebruikten een eigen testsleutel. Vervolgens vroegen ze het apparaat ongeveer 4 miljard getallen naar keuze te ondertekenen—zo'n 2^32 ondertekeningsverzoeken—alvorens de wiskunde op de antwoorden los te. De berekening kwam in totaal neer op naar schatting 1.380 CPU-kernjaren. Denk aan een kluis die nooit opengaat, maar wel elk blanco papiertje bestempelt dat je eronder de deur door schuift: vraag vaak genoeg, en je leert de stempel zelf maken.

Wat is een handtekening?

Elke keer dat een gebruiker een transactie bevestigt, ondertekent de wallet deze met een privésleutel. Die digitale handtekening bewijst dat de sleutelhouder de transactie heeft goedgekeurd en dat niemand het bericht onderweg heeft gewijzigd. Daarmee vormen handtekeningen de basis van elke waardeoverdracht op een blockchain.

RSA is een manier om dat bewijs op te bouwen. Het werd in 1977 gecreëerd door Ron Rivest, Leonard Adleman en Adi Shamir, de "S" in de naam. Het kernidee is dat het vermenigvuldigen van twee enorm grote priemgetallen eenvoudig is, maar het weer uit elkaar splijten van het resultaat—een proces dat factoring heet—verbazingwekkend moeilijk. De auteurs schrijven dat de beveiliging van RSA over het algemeen wordt geacht op die moeilijkheid te rusten, al is nooit bewezen dat het breken van RSA gelijkstaat aan factoring. Dit team heeft niets gefactoriseerd.

Wie loopt er risico?

Standaard RSA-ondertekening past padding toe—een versleutelings- en opmaakstap, zoals PKCS#1 v1.5 of PSS, die vóór de onderliggende wiskunde wordt uitgevoerd—en opgevulde handtekeningen creëren de misbruikbare oracle niet. In de praktijk werkt de aanval alleen tegen een apparaat dat is geconfigureerd om onbewerkte, ongeformatteerde getallen te ondertekenen. De gemelde blootstelling hangt daarom af van de ondertekeningsinterface en de configuratie ervan, niet simpelweg van de vraag of een sleutel in een HSM staat. Volgens de auteurs vormt de aanval waarschijnlijk geen directe operationele dreiging voor de meeste moderne RSA-implementaties. De paper is een preprint.

Sommige systemen geven de oracle opzettelijk prijs. Op RSA gebaseerde blind signatures laten een server iets ondertekenen zonder het te zien, en zo werkt een variant van Privacy Pass. Cloudflare zegt dat Apple een versie van Privacy Pass gebruikt zodat gebruikers kunnen aantonen dat ze een controle, zoals een CAPTCHA, hebben doorstaan zonder prijs te geven wie ze zijn.

Blind signatures hebben cryptografische wortels. Cryptograaf David Chaum gebruikte de techniek toen hij in 1989 DigiCash oprichtte.

De grotere dreiging blijft quantum

"RSA is gebroken"-krantenkoppen hebben een voorgeschiedenis. In januari 2023 beweerden Chinese onderzoekers een quantummethode te hebben die RSA bedreigde, maar hadden slechts een 48-bits getal gefactoriseerd, en experts veegden de claim van tafel. Deze keer gaat de demonstratie over een echte 1.024-bits sleutel—met een asterisk zo groot als de oracle.

De auteurs omsrijven hun resultaat als klassiek bewijs voor het loslaten van RSA tijdens de post-quantumtransitie, de overstap naar versleuteling die is ontworpen om kwantumcomputers te doorstaan.

Voor Bitcoin betreft de quantumvraag elliptic-curve-handtekeningen. Caltech-onderzoekers schatten eind maart dat 10.000 tot 20.000 qubits—de quantumvariant van bits—genoeg kunnen zijn om het algoritme van Shor uit te voeren, de methode die deze handtekeningen bedreigt.

Google heeft 2029 gesteld als deadline om de eigen systemen volledig om te zetten naar post-quantumcryptografie.