Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Una soluzione per decifrare l'algoritmo RSA (2/2)
Scritto da Alessandro Rusani il 10-03-2010 ore 11:46
L’algoritmo RSA, basato sulle regole viste nel precedente articolo, non è sicuro da un punto di vista matematico-teorico, in quanto esiste la possibilità che tramite la conoscenza della chiave pubblica si possa decriptare un messaggio, ma l'enorme mole di calcoli e l'enorme dispendio in termini di tempo necessario per trovare la soluzione fa di questo un sistema ad alta affidabilità.

I ricercatori però affermano che utilizzando un dispositivo di semplice realizzazione per variare la corrente al computer, che produce la "C" dell’esempio riportato, sono stati in grado di decifrare le chiavi private a 1.024 bit in circa 100 ore, il tutto senza lasciare traccia.
L’attacco richiede solo minime conoscenze dell’hardware del sistema scelto per attuarlo; inoltre non richiede di avere l’accesso alle parti interne del sistema: semplicemente occorre prelevare le chiavi pubbliche corrotte con l’attacco, scambiate nella comunicazione. Una volta raccolte un numero sufficiente di chiavi corrotte, la chiave privata può essere estratta in un tempo ragionevole con una analisi offline.

4422293464_6898569e00_o.jpg

L’attacco è stato portato con successo su un sistema SPARC con Linux come sistema operativo, producendo dei fallimenti occasionali nell’unità aritmetica del processore, manipolando il sistema di alimentazione. I fallimenti prodotti, consistenti in un risultato errato della moltiplicazione per la sola posizione di un bit, creano variazioni computazionali nella routine di autenticazione del sistema RSA, consentendo così l’estrazione della chiave privata.

L’attacco è stato eseguito con successo durante l’utilizzo di una sessione di comunicazione basata su una versione non modificata di OpenSSL, che utilizza l’algoritmo RSA implementato mediante l’elevamento a potenza a finestra fissa denominato FWE. Dall'insieme dei due fattori — tipologia dell’implementazione usata nell’OpenSSL e unità aritmetica realizzata nel processore — la posizione dei bit che vengono corrotti dall’attacco è limitato a sole poche unità.

Ciò ha ridotto significativamente il tempo di calcolo necessario per recuperare la chiave, poiché solo alcune posizioni devono essere testate prima che il risultato corretto sia recuperato. L’articolo riporta nel dettaglio come i ricercatori siano riusciti nel loro intento.
Precedente: Una nuova piattaforma comune per lo sviluppo in Natural e Java
Successiva: Sviluppare per Android, una storia di successo
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.734 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.