Ho violato le chiavi di una CA anni '90: un viaggio nel Far West della sicurezza web
Crittografia a 512 bit: quando la sicurezza di ieri diventa l'incubo di oggi
Ogni tanto il mondo della crittografia manda in pensione un algoritmo che tutti davano per assodato. È quello che sta succedendo, ancora una volta, con le chiavi RSA a 512 bit — e la storia che c'è dietro è più affascinante di quanto pensi.
Un ricercatore ha recentemente pubblicato i risultati del factoring di chiavi RSA a 512 bit appartenenti a vecchie Certificate Authority, quelle autorità radice da cui i browser dipendono per verificare le identità dei siti web. Le chiavi in questione venivano da E-Certify, una CA canadese i cui certificati erano inclusi in Netscape 4.51, rilasciato nel lontano marzo 1999.
Perché 512 bit erano sempre una pessima idea
Il meccanismo è semplice: RSA-512 usa un modulo di 512 bit, praticamente il prodotto di due numeri primi molto grandi. Negli anni '90, fattorizzare un numero del genere era teoricamente fattibile ma praticamente proibitivo. Peccato che la matematica non sia cambiata — è cambiato l'hardware.
Un processore moderno come un Ryzen 9 riesce a fattorizzare una chiave RSA-512 in circa 30 ore, usando strumenti open-source come CADO-NFS. Nel 1999, la stessa operazione avrebbe richiesto un supercomputer o uno sforzo distribuito su migliaia di macchine.
La cosa più interessante? Anche nel 1999 si era già al limite. La fattorizzazione di RSA-155 — un numero a 512 bit con 155 cifre decimali — è avvenuta nell'agosto 1999, letteralmente mesi dopo che i certificati E-Certify erano stati distribuiti. Il ricercatore l'ha detto chiaro: questi certificati probabilmente non avrebbero mai dovuto essere emessi.
Il Wild West della Web PKI
La Web PKI — il sistema di certificati che protegge HTTPS — è stata costruita su presupposti che oggi fanno sorridere. Negli anni '90, i browser venivano spediti con decine di certificati root da ogni parte del mondo, senza uno standard vero e proprio su dimensioni delle chiavi o pratiche operative.
Netscape, che aveva inventato il commercio web con SSL nel 1994, era particolarmente permissiva. Internet Explorer era più cauto: nessun root CA con RSA a 512 bit è mai stato incluso in IE. Ma l'approccio di Netscape ha creato un artefatto storico — certificati CA a 512 bit rimasti attendibili su qualsiasi sistema con una versione obsoleta di Netscape e un orologio impostato male.
Cosa significa per noi oggi
Il messaggio non è semplicemente "non usate mai RSA a 512 bit". Quello è ovvio. Il punto vero è che gli standard di sicurezza evolvono costantemente. Una chiave RSA a 2048 bit, quella che le best practice attuali richiedono, un giorno verrà considerata troppo piccola. Il progetto NIST per la standardizzazione della crittografia post-quantum è già in corso proprio perché i ricercatori sanno che i computer quantistici alla fine romperanno RSA completamente.
Per sviluppatori e organizzazioni, questa lezione storica conferma alcuni principi fondamentali:
- Pianifica la migrazione degli algoritmi: la tua infrastruttura dovrà essere aggiornata quando gli standard crittografici cambiano. Niente hardcoding di algoritmi specifici.
- Tieni d'occhio le scadenze: CA e browser comunicano regolarmente le date di sunset per chiavi e funzioni hash vecchie.
- Automatizza il rinnovo dei certificati: i processi manuali portano a certificati dimenticati e configurazioni obsolete.
- Usa Certificate Transparency: le CA moderne devono loggare pubblicamente i certificati, rendendo più difficile per gli attaccanti ottenere certificati fraudolenti.
La parte divertente
Oltre alle implicazioni di sicurezza, c'è qualcosa di innegabilmente affascinante nel crackare chiavi crittografiche di una CA defunta. Il ricercatore ha pubblicato le chiavi private E-Certify e ha persino configurato un server HTTPS di test che funziona con Netscape Navigator 4.51. È una capsula del tempo: questi vecchi certificati possono ancora autenticare connessioni, almeno con browser più vecchi di molti sviluppatori di oggi.
Se hai voglia di esplorare archivi di certificati storici, il ricercatore ha reso disponibili strumenti e istruzioni per estrarre e analizzare certificati root storici. Potresti trovare altre CA dimenticate con chiavi altrettanto deboli. È un promemoria che la storia di internet lascia tracce, e non tutte erano sicure.
La prossima volta che configuri TLS per la tua applicazione, prenditi un momento per apprezzare quanto abbiamo fatto strada — e quanto automaticamente la tua piattaforma di hosting gestisce rinnovi dei certificati, dimensioni delle chiavi e selezione delle cipher suite. I giorni da Far West dei CA a 512 bit sono alle nostre spalle, ma le lezioni sull'igiene crittografica restano più rilevanti che mai.