Crittografia: bug nella generazione delle chiavi pubbliche tramite RSA

lucchettoL’Electronic Frontier Foundation’s SSL Observatory è un progetto che si occupa di raccogliere e analizzare i certificati usati per la crittografia di siti internet tramite HTTPS. I tecnici verificano la vulnerabilità di tutti i certificati SSL pubblici e documentano il lavoro delle autorità di certificazione, fornendo così dati utili sulle infrastrutture di crittografia ai ricercatori interessati.

Utilizzando i dati dell’osservatorio, un team di ricercatori americani ed europei guidato da Lenstra del Politecnico di Losanna ha effettuato un controllo delle chiavi pubbliche utilizzate per la crittografia HTTPS. Il gruppo di ricercatori ha scoperto che migliaia di chiavi basate sull’algoritmo RSA (il più usato online) non offrono una sicurezza efficace a causa di errori negli algoritmi di generazione di numeri casuali.

L’algoritmo RSA si basa su due diverse chiavi, una pubblica che viene usata per cifrare e una privata usata per decifrare.
Ma in pratica come funziona? Spieghiamolo velocemente.
Otteniamo la chiave pubblica moltiplicando tra loro due numeri primi molto grandi e rendiamola nota a tutti. Chiunque può scrivere un messaggio e cifrarlo utilizzando la nostra chiave pubblica. Quando il messaggio cifrato ci verrà inviato tutti potranno vederlo, ma nessuno potrà decifrarlo perché non avrà a disposizione la chiave privata. Noi, invece, essendo a conoscenza dei due numeri primi utilizzati per la creazione della chiave pubblica possiamo decifrare facilmente il codice.
Come si può evincere dalla spiegazione è fondamentale che nessun altro all’infuori del creatore della chiave pubblica conosca i fattori di partenza e che questi ultimi siano generati in modo casuale, così da garantire l’integrità della crittografia.

È proprio questo il problema riscontrato dai crittografi: i sistemi che generano i numeri primi non sono infallibili e a volte i numeri non sono davvero casuali. Per dimostrare la loro teoria, i ricercatori hanno effettuato un test su 7milioni di chiavi pubbliche e sono risaliti ai fattori di ben 27mila di queste.
Il problema si fa ancora più serio se pensiamo che per eseguire il test e risalire alle chiavi private, ai ricercatori, è bastato utilizzare l’algoritmo di Euclide (lo stesso del calcolo del MCD) e che c’è quindi un alta probabilità che già qualcun altro sia arrivato a scoprire questa falla.

Non si conoscono ancora i motivi per cui diversi software di crittografia siano risultati imperfetti, ma le conseguenze sono molto gravi. Informazioni riservate come password o messaggi potrebbero essere alla portata di tutti e questo mette a rischio i sistemi di banking online, di ecommerce e di posta elettronica.

Lo studio verrà reso ufficiale ad una conferenza sulla crittografia che si terrà in agosto in California, ma i ricercatori hanno pensato di rendere pubblica immediatamente la loro ricerca per rendere noto il problema a tutti.

Speriamo che tutti i bug relativi alla crittografia siano trovati e risolti al più presto, in modo da garantire sicurezza e riservatezza a tutti gli utenti del web.