Qualche giorno fa, tre ricercatori dell’Università del Michigan sono riusciti in un’impresa ritenuta fino a pochi giorni fa impossibile: è stata craccata la versione a 1024 bit del noto sistema crittografico a chiave pubblica RSA.
Andrea Pellegrini, Valeria Bertacco e Todd Austin in sole 104 ore sono riusciti a rompere il famoso algoritmo agendo sui livelli di tensione dell’alimentatore della macchina usata per la cifratura, riuscendo a trasmettere in chiaro, un bit alla volta, anche la chiave privata.
Innanzitutto hanno sviluppato un metodo di attacco fault-based sistematico agente sul blocco logico che si occupa dell’elevazione a potenza modulare tipica dell’RSA. Dopodiché hanno sfruttato una falla già nota basata sulla cattiva implementazione di tale algoritmo in OpenSSL. Infine si sono avvalsi di un piccolo cluster di computer composto da 81 processori Pentium IV per attaccare la libreria originale OpenSSL su un sistema SPARC Linux basato su FPGA.
Il paper contenente questo lavoro è intitolato Fault-based Attack of RSA Authentication ed è stato presentato dai tre ricercatori durante la conferenza Design, Automation and Test in Europe (DATE) avvenuta il 10 marzo a Dresda.
Quest’ultimo attacco segue quello del 7 gennaio scorso, data in cui venne craccata la versione a 768 bit dello stesso algoritmo: in quella giornata venne anche segnalato che l’RSA a 1024 bit poteva ritenersi sicuro fino al 2014, ma a quanto pare non è stato proprio così.
Le conseguenze di questa vulnerabilità sono assai rilevanti, poiché il sistema RSA è usato nella maggioranza delle transazioni sicure via Internet e bancarie, e in quasi tutte le applicazioni di cifratura presenti nei nostri computer e dispositivi mobili.
Considerando poi che l’esperimento ha richiesto semplicemente un dispositivo hardware relativamente economico il cui unico scopo è stato quello di stressare il sistema di cifratura così da trasmettere dei dati differenti da quelli teorici, ci si chiede se effettivamente la sicurezza di quest’algoritmo risieda unicamente nella segretezza della chiave privata, così come congetturato finora.
È importante d’altronde tenere in considerazione che l’attacco in oggetto è stato possibile solo sfruttando delle vulnerabilità presenti in OpenSSL e ha richiesto la manomissione del sistema cifrante: probabilmente senza questi presupposti l’algoritmo RSA si potrebbe ritenere ancora sicuro.