← Ultimi articoli
💻 computer science

Resolving an Apparent Key-Dependent Timing Side-Channel in Bouncy Castle ML-DSA-65 Signing: A Pre-Registered Discrimination

Questo articolo dimostra che un apparente canale laterale temporale dipendente dalla chiave nell'implementazione ML-DSA-65 di Bouncy Castle è in realtà un artefatto statistico della naturale variazione del campionamento per rifiuto, che svanisce quando il tempo viene analizzato all'interno di un protocollo pre-registrato che condiziona sul numero esatto di iterazioni eseguite, confermando così la sicurezza dell'implementazione attraverso tutti i set di parametri standardizzati.

Autori originali: Arpan Sharma

Pubblicato 2026-09-09
📖 7 min di lettura🧠 Approfondimento

Autori originali: Arpan Sharma

Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Nel mondo della sicurezza digitale, le serrature più potenti sono spesso quelle che richiedono più tempo per essere scassinata. Per decenni, i matematici hanno progettato sistemi di crittografia che si basano su problemi complessi per proteggere i dati. Mentre i computer diventano più potenti, e mentre la promessa dei computer quantistici incombe, gli scienziati corrono per costruire nuove serrature che nemmeno quelle future macchine possano rompere. Uno dei nuovi design più promettenti si chiama ML-DSA. È un metodo per creare firme digitali, l'equivalente elettronico di una firma autografa su un contratto o un certificato. Queste firme provano che un messaggio proviene da una persona specifica e che non è stato manomesso.

Tuttavia, un nuovo tipo di pericolo è emerso insieme a queste serrature matematiche. Non si tratta di un difetto nella matematica stessa, ma di un difetto nel modo in cui la matematica viene eseguita su un computer. Questo è noto come attacco side-channel temporale (timing side-channel attack). Immaginate una cassaforte che scatta leggermente più forte quando viene inserita la combinazione corretta, o una porta che impiega una frazione di secondo in più per aprirsi quando viene usata la chiave giusta. Se un attaccante può misurare queste minuscole differenze di tempo con estrema precisione, potrebbe essere in grado di dedurre la chiave segreta. Per il nuovo sistema ML-DSA, i progettisti hanno costruito una funzione di sicurezza: il processo prevede molti tentativi ed errori. Il computer prova a generare una firma, controlla se è valida e, se non lo è, la scarta e riprova. Poiché il numero di tentativi varia casualmente, anche il tempo totale necessario per firmare un messaggio varia. Questa casualità serve a nascondere la chiave segreta, rendendo impossibile capire se un determinato ritardo sia stato causato dalla chiave o solo dalla sfortuna.

Un ricercatore di nome Arpan Sharma ha recentemente indagato se questa funzione di sicurezza stesse funzionando come previsto in una popolare libreria software chiamata Bouncy Castle. Questa libreria è ampiamente utilizzata per proteggere tutto, dagli aggiornamenti software alle connessioni web sicure. Quando Sharma ha esaminato per la prima volta i dati, ha visto qualcosa che sembrava una fuga di informazioni. Confrontando il tempo impiegato per firmare i messaggi con venti diversi segreti, ha scoperto che alcune chiavi impiegavano costantemente più tempo di altre. La differenza era minima — circa l'1,35 percento — ma nel mondo della sicurezza, anche una differenza minuscola e costante può essere un segnale che un segreto viene rivelato. La domanda era se questa differenza fosse una vulnerabilità reale, un difetto del codice che permetteva alla chiave segreta di influenzare il tempo, o semplicemente un'illusione statistica causata dalla natura casuale del sistema.

Per rispondere a questo, Sharma non si è affidato a un semplice indovinare o a un test rapido. Ha progettato un esperimento rigoroso e pre-pianificato per separare il segnale dal rumore. Il cuore del suo metodo consisteva nel guardare il lavoro che il computer svolgeva effettivamente per ogni singola firma, piuttosto che guardare solo il tempo finale. Ha costruito uno strumento che registrava esattamente quante volte il computer doveva provare e fallire prima di trovare una firma valida. Questo è fondamentale perché il tempo necessario per firmare un messaggio è direttamente legato a quante volte il computer deve riprovare. Se una chiave fosse capitata in un set di messaggi "fortunati" che richiedevano meno tentativi, avrebbe terminato più velocemente, non perché la chiave fosse diversa, ma perché la matematica era più facile quel giorno.

Sharma ha condotto una massiccia campagna, generando oltre 1,2 milioni di firme per ciascuna delle venti chiavi. Ha poi raggruppato le firme in base all'esatto carico di lavoro richiesto. Si è posto una domanda semplice: se due firme richiedevano esattamente lo stesso numero di tentativi e passavano attraverso gli stessi identici passaggi, presentavano comunque tempi diversi a seconda della chiave utilizzata? La risposta è stata un no definitivo. Una volta tenuto conto del numero di tentativi, la differenza di tempo tra le chiavi svaniva. Le variazioni minime che rimanevano erano così piccole da poter essere spiegate dalle fluttuazioni naturali e casuali del processore e della memoria del computer, piuttosto che dalle chiavi segrete stesse.

Lo studio è andato oltre per garantire che i risultati non fossero un caso fortuito dovuto al computer specifico o al modo in cui il software veniva caricato in memoria. Sharma ha ripetuto l'esperimento con un nuovo set di chiavi e un nuovo set di messaggi. Ha anche eseguito un test di controllo in cui ha rimescolato l'ordine in cui il computer gestiva i dati. Se le differenze di tempo fossero state causate dalle chiavi segrete, l'ordine delle chiavi non avrebbe avuto importanza. Se le differenze fossero state causate da dove i dati finivano nella memoria del computer, l'ordine avrebbe cambiato i risultati. L'esperimento ha dimostato che le differenze di tempo non seguivano le chiavi; seguivano la disposizione della memoria. Ciò ha confermato che la presunta fuga era un artefatto dell'ambiente informatico, non un difetto della sicurezza del codice.

La ricerca ha esaminato anche la parte del codice che era nota per essere leggermente diversa a seconda dei dati. Il software controlla la dimensione dei numeri durante il processo e, se un numero è troppo grande, interrompe immediatamente il controllo del resto della lista. Questa è un'ottimizzazione standard per risparmiare tempo, ma significa che il computer potrebbe fermarsi prima per alcuni input rispetto ad altri. Sharma ha misurato l'impatto di questa scorciatoia e ha scoperto che contribuiva a un ritardo di solo un nanosecondo. Questo è un nanosecondo, un miliardesimo di secondo, una scala temporale così piccola da essere ben al di sotto della soglia che un attaccante potrebbe realisticamente misurare o utilizzare per rubare una chiave.

Le conclusioni sono state applicate all'intera famiglia di questi nuovi standard di firma digitale, incluse le versioni più piccole e più grandi utilizzate per diversi livelli di sicurezza. In ogni caso, il risultato è stato lo stesso. L'implementazione del software era pulita. Le apparenti differenze di tempo non erano un segno che le chiavi segrete venissero trapelate. Erano invece il risultato naturale di un sistema progettato per variare il proprio lavoro per proteggere quelle stesse chiavi. Lo studio ha concluso che la libreria Bouncy Castle è sicura da questo specifico tipo di attacco. Lo scostamento dell'1,35 percento nel tempo che inizialmente aveva allarmato era semplicemente il suono di venti chiavi diverse che prelevavano venti campioni differenti da una distribuzione casuale, un eco statistico piuttosto che una violazione della sicurezza.

Questa investigazione serve da promemoria di quanto sia difficile dimostrare che un sistema è sicuro. In passato, i ricercatori avrebbero potuto fermarsi alla prima segnalazione di una differenza temporale e dichiarare una vulnerabilità. Questo studio mostra che in sistemi complessi e randomizzati, il primo segnale è spesso solo il sistema che svolge il proprio compito. Misurando attentamente il lavoro eseguito e controllando l'ambiente, il ricercatore è stato in grado di distinguere tra una vera fuga e un'illusione statistica. Il risultato è una conferma che le nuove firme digitali sono robuste, e che le variazioni casuali nella loro velocità sono una caratteristica, non un errore. Per i milioni di dispositivi che si affidano a queste firme per rimanere sicuri, il messaggio è chiaro: la serratura tiene, e il tempo necessario per girare la chiave non dice nulla sul segreto che contiene.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →