RSA Security è una società per azioni statunitense specializzata in sicurezza informatica. Il suo nome è universalmente noto soprattutto per essere stata fondata dagli ideatori dell’algoritmo RSA, ampiamente utilizzato oggi per la crittografia asimmetrica e, quindi, per lo scambio di informazioni cifrate tra client e server (e viceversa) usando certificati digitali (vedere Certificati digitali SSL gratuiti: a cosa servono e come ottenerne uno in pochi minuti e I certificati digitali e gli attacchi subiti dalle autorità di certificazione: l’accaduto e le difese da porre in campo).
In documento che è stato appena diffuso, RSA ha suggerito agli sviluppatori di cessare immediatamente l’utilizzo dell’algoritmo Dual Elliptic Curve Deterministic Random Bit Generation (Dual EC DRBG). L’algoritmo, che consente – come molti altri – la generazione di sequenze di numeri pseudo-casuali (utilizzati per la produzione delle chiavi crittografiche), è da qualche anno ritenuto insicuro e, come confermato dalle recenti rivelazioni di Edward Snowden, farcito con una backdoor inserita dalla NSA, agenzia governativa per la sicurezza nazionale degli Stati Uniti.
Gli agenti NSA avrebbero fatto in modo di far approvare l’algoritmo dal NIST (National Institute of Standards and Technology) per garantirsi una modalità per spiare parte delle comunicazioni cifrate.
Dal momento che l’algoritmo Dual EC DRBG è presente nelle librerie BSAFE distribuite da RSA, la società ha invitato tutti ad interromperne l’impiego.
A questo punto, però, la domanda è: quanti e quali prodotti fanno ancor’oggi uso di un algoritmo che era da tempo ritenuto insicuro e che, come ricorda lo stesso Bruce Schneier, è estremamente più lento rispetto ad altre soluzioni?
I concetti alla base della crittografia restano sempre validi, nonostante l’affaire NSA (Scandalo NSA, la sicurezza in Rete è morta? No di certo). Ciò che è interessante capire, però, è come gli agenti dell’organizzazione americana sarebbero riusciti ad intercettare comunicazioni “protette”. Il documento diffuso da RSA guarda ad un algoritmo per la generazione di nuemeri pseudo-casuali (PRNG) ma non è certo finita qui. Da settimane, da più parti, si stanno facendo numerose ipotesi: hardware modificato ad arte, backdoor all’interno dei software, debolezze degli algoritmi.
Nei giorni scorsi il ricercatore Rob Graham aveva sostenuto che le chiavi crittografiche Diffie-Hellman a 1.024 bit utilizzate nel software TOR potrebbero essere oggetto di attacco da parte della NSA. “La NSA può investire un milione di dollari su un chip capace di rompere una simile chiave in poche ore di lavoro“, ha scritto Graham sul suo blog.
Citando le statistiche di TOR, Graham ha aggiunto che solamente il 10% dei server TOR utilizza la versione 2.4 del software che consente l’impiego dell’algoritmo Elliptic Curve Diffie Hellman (già utilizzato tra l’altro da Google) nella fase iniziale di scambio delle chiavi (Scandalo PRISM: come sono stati intercettati i dati cifrati?). Tale strumento permettere di fidare su un livello di sicurezza decisamente più elevato.
Sull’argomento abbiamo voluto interpellare anche Marco Giuliani, CEO dell’italiana SaferBytes che ci ha fornito il seguente commento:
“La questione sta diventando giorno dopo giorno sempre più spinosa, passando dai dubbi iniziali del furto dei certificati digitali alla compromissione di software di sicurezza con l’inserimento di backdoor, alla modifica dei concetti matematici dietro gli algoritmi di crittografia, alla alterazione fisica dei transistor delle CPU.
Escludendo le ipotesi più fantascientifiche quali le modifiche hardware, ed escludendo la debolezza di eventuali concetti matematici alterati, il numero delle ipotesi che rimangono valide su come l’NSA sia riuscita a vìolare gli algoritmi di cifratura si riducono essenzialmente a tre: possono aver alterato lato software il PRNG, possono aver individuato nuove tecniche matematiche per accelerare la vìolazione in termini di brute forcing degli algoritmi, sono riusciti ad entrare in possesso delle chiavi private associate ai certificati digitali dei service provider più rinomati.
Partendo in ordine inverso, si è visto come molti provider utilizzino l’algoritmo RSA non solo per l’autenticazione ma anche per la fase di key-exchange, non implementando dunque algoritmi che garantiscano la proprietà del Perfect Forward Secrecy. Fortunatamente questa è una lacuna facilmente colmabile. Per quanto riguarda invece l’aver identificato nuovi algoritmi matematici che possano riuscire a diminuire la complessità in termini di brute forcing di una chiave segreta, anche questo non è una novità. Basti ricordare gli anni ’70, quando fu rilasciato da IBM l’algoritmo di crittografia DES e l’NSA scoprì la crittanalisi differenziale, capace di forzare il DES abbassando notevolmente il livello di complessità necessario per un bruteforcing. La crittanalisi differenziale venne poi scoperto un decennio più tardi dagli accademici, ma nel frattempo le agenzie governative l’avevano utilizzata per vìolare un algoritmo altrimenti considerato sicuro. Anche in questo caso si potrebbe mettere una pezza aumentando notevolmente la lunghezza delle chiavi di crittografia, tentando di rendere in qualche modo inoffensivo un eventuale algoritmo matematico che riuscisse ad abbassare il livello di complessità di attacchi a forza bruta.
Il terzo ed ultimo punto, cioè l’aver alterato il codice software del Dual_EC_DRBG, il PRNG pubblicato dal NIST, potrebbe anche questo essere stato possibile. Il PNRG è una parte fondamentale in un algoritmo di crittografia, visto che dovrebbe essere il componente che permette la generazione di numeri casuali che andranno poi a fare la forza dell’algoritmo crittografico. Proprio perché la generazione dovrebbe essere casuale, non ci dovrebbero essere possibilità di replicare in maniera matematica un eventuale modello capace di simulare una sequenza precisa di numeri. In realtà, tuttavia, sin dalla sua pubblicazione, il Dual_EC_DRBG è finito subito nell’occhio del ciclone in quanto molti ricercatori evidenziarono delle presunte falle di sicurezza nella sua implementazione. Anche in questo caso è possibile lavorare per scegliere una implementazione di un PRNG che non segua le linee guida NIST, magari basandosi su altri algoritmi ben testati e che non abbiano un background oscuro come ha da sempre avuto il Dual_EC_DRBG“.