Falla nell’Algoritmo RSA

Un team di studiosi ha scoperto una falla nel modo in cui vengono generate le chiavi pubbliche utilizzando l’algoritmo RSA per cifrare le comunicazioni sensibili e le transazioni online. In particolare, sembra che una piccola frazione delle chiavi pubbliche (27.000 su un campione di circa 7 milioni) non fosse generata in modo casuale come avrebbe dovuto essere. Ne segue che un cybercriminale potrebbe decifrare i numeri primi segreti che sono stati usati per creare la chiave pubblica. L’esito della ricerca è stato pubblicato in un articolo dettagliato del New York Times.

I pagamenti online non sono protetti?

La ricerca è stata condotta da James P. Hughes, esperto di crittografia indipendente di Palo Alto e da Arjen K. Lenstra, un matematico olandese che insegna presso l’Ecole Polytechnique Fédérale de Lausanne in Svizzera. “Abbiamo eseguito un controllo di integrità delle chiavi pubbliche raccolte sul web”, hanno spiegato.

“Il nostro obiettivo era verificare che a ogni generazione delle chiavi corrispondessero scelte casuali. Abbiamo scoperto che la stragrande maggioranza delle chiavi pubbliche (99,8%) funziona come previsto. La scoperta più sconcertante è che due su ogni mille moduli RSA che abbiamo raccolto non offrono alcuna sicurezza.”

Stando a quanto riferito dal NYT, le chiavi pubbliche in questione sarebbero già state rimosse da un database accessibile al pubblico, per impedire che qualcuno ne sfruttasse la debolezza. Il documento dei due studiosi precisa in ultima analisi che i siti web dovranno apportare modifiche ai loro sistemi di sicurezza per assicurarne l’integrità.

Ovviamente non si può escludere a priori l’eventualità che qualche hacker si sia accorto della falla prima che i ricercatori la portassero alla luce. A riconferma il documento riepilogativo cita: “la mancanza di sofisticazione dei nostri metodi e dei risultati ottenuti rendono difficile credere che ciò che abbiamo presentato sia inedito”.

Per la loro ricerca i due studiosi hanno utilizzato l’algoritmo di Euclide – un modo efficace per trovare il massimo comun divisore di due interi – per esaminare i numeri della chiave pubblica. In questo modo sono stati in grado di produrre la prova che una piccola percentuale dei numeri analizzati non era veramente casuale. A questo punto non è stato troppo difficile determinare i numeri sottostanti, e ricavare le chiavi segrete usate per generare la chiave pubblica.

“Il sistema richiede che l’utente crei e pubblichi il prodotto di due grandi numeri primi, e lo aggiunga poi a un altro numero per generare così una chiave pubblica. I valori originali sono mantenuti invece segreti. Per codificare il messaggio una seconda persona usa una formula che contiene i valori pubblici. In pratica, solo chi conosce i valori originali può decodificare il messaggio”.

“Affinché questo sistema sia sicuro è però essenziale che i due numeri primi originali siano generati in modo casuale (altrimenti si potrebbero recuperare applicando un algoritmo, NdR). I ricercatori hanno scoperto che in un limitato numero di casi la generazione casuale non funzionava correttamente”

Lo studio è stato condotto sui database di chiavi pubbliche archiviati presso il Massachusetts Institute of Technology e l’Electronic Frontier Foundation, conosciuto come Osservatorio SSL, creato appositamente per le ricerche sulla sicurezza dei certificati digitali usati per la protezione delle informazioni online.

L’importanza della falla è che chiama direttamente in causa il sistema di cifratura impiegato in tutto il mondo per lo shopping online, l’home banking, la posta elettronica e altri servizi Internet, che fondano interamente sulla segretezza offerta dalle infrastrutture crittografiche a chiave pubblica.

Non è la prima volta che si verifica un problema simile, a riconferma che il sistema non è infallibile. Nel 1995 due ricercatori della University of California avevano scoperto una falla nel modo in cui il browser Netscape generava numeri casuali, rendendo possibile la decodifica delle comunicazioni criptate. L’anno scorso un gruppo di hacker aveva rivelato che la Sony aveva commesso un errore grossolano, utilizzando un unico numero casuale nell’algoritmo su cui si basava il sistema di sicurezza della PlayStation 3, ed era così possibile recuperare la chiave segreta che avrebbe dovuto proteggere i contenuti digitali.

Fonte | Tom’s Hardware

  • Tempura3000

    non è una falla dell’algoritmo, ma delle implementazioni…forse ti conviene cambiare il titolo. Un po’ fuorviante.