KEM-IND-CCA-Preserving Compilation of Jasmin's ML-KEM
Questo articolo presenta una prova completamente meccanizzata nel prover Rocq che il compilatore Jasmin preserva sia la correttezza funzionale che la sicurezza KEM-IND-CCA per l'implementazione altamente ottimizzata di ML-KEM utilizzata in Signal, ottenuta attraverso un nuovo framework di sicurezza basato su giochi, semantica di alberi di interazione che supporta computazioni probabilistiche e una logica di Hoare relazionale.
Articolo originale sotto licenza CC BY 4.0 (http://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 ad alto rischio della sicurezza digitale, la crittografia funge da serratura invisibile che protegge tutto, dai messaggi privati alle transazioni finanziarie. Per decenni, gli esperti si sono affidati a prove matematiche per garantire che queste serrature siano indistruttibili, ma è rimasta una lacuna critica tra l'elegante matematica sulla carta e la disordinata realtà del codice informatico che le esegue. Anche quando uno schema crittografico è dimostrato sicuro in teoria, il processo di traduzione di quella teoria nelle istruzioni specifiche che un processore comprende può introdurre errori sottili. Questi errori, spesso introdotti dai compilatori che eseguono la traduzione, possono creare vulnerabilità che gli attaccanti sfruttano. Mentre il mondo si prepara a transitare verso nuovi standard di cifratura resistenti ai computer quantistici per proteggersi dalle minacce future, garantire che questi nuovi sistemi rimangano sicuri fino al codice macchina non è più solo una preoccupazione teorica; è una necessità per la sicurezza delle reti di comunicazione globale.
Un team di ricercatori ha ora colmato questa lacuna per uno degli standard di cifratura più importanti, noto come ML-KEM, che viene già utilizzato in popolari applicazioni di messaggistica sicura come Signal. Il loro lavoro dimostra che lo specifico strumento software utilizzato per tradurre il codice di sicurezza di alto livello in istruzioni macchina non rompe accidentalmente le garanzie di sicurezza. In sostanza, hanno dimostrato che le proprietà di sicurezza stabilite per il codice originale, leggibile dall'uomo, sono perfettamente preservate nel codice assembly finale ottimizzato che il computer effettivamente esegue. Questo traguardo è significativo perché elimina la necessità di fidarsi del compilatore come di una "scatola nera" che potrebbe contenere bug nascosti; invece, il compilatore stesso è stato matematicamente verificato come un ponte sicuro tra le prove di sicurezza astratte e l'hardware fisico.
La sfida affrontata dai ricercatori era unica per la natura della crittografia moderna. L'algoritmo specifico che hanno studiato, ML-KEM, si basa su una tecnica chiamata campionamento di rifiuto (rejection sampling), in cui il computer prova ripetutamente numeri casuali finché non ne trova uno che soddisfi un modello specifico. Questo processo significa che il programma non sempre viene eseguito per un tempo fisso; potrebbe finire rapidamente, o potrebbe richiedere molti più tentativi del previsto. I metodi precedenti per la verifica dei compilatori erano progettati per programmi che vengono eseguiti in una sequenza di passi prevedibile e fissa. Facevano fatica a gestire questo tipo di comportamento probabilistico, in cui il percorso che il codice segue dipende dal caso. Se uno strumento di verifica del compilatore non può tenere conto di questi loop casuali, non può garantire che il codice macchina finale si comporti allo stesso modo del design originale, lasciando un potenziale buco nella catena di sicurezza.
Per risolvere questo problema, i ricercatori hanno costruito un nuovo framework per comprendere come questi programmi si comportano. Hanno trattato l'esecuzione del codice non come una semplice lista di istruzioni, ma come un albero di possibili interazioni, dove ogni scelta casuale e ogni interazione con il mondo esterno è un ramo dell'albero. Questo approccio ha permesso loro di modellare la terminazione "quasi certa" del programma — ovvero che finirà eventualmente con una probabilità pari a uno, anche se il tempo esatto è imprevedibile. Utilizzando questo nuovo modello, sono stati in grado di definire cosa significhi per un compilatore essere corretto in un contesto probabilistico. Hanno dimostrato che per ogni possibile percorso che il codice originale può intraprendere, il codice compilato compie un percorso corrispondente, preservando esattamente la stessa distribuzione di risultati.
Il team ha applicato questo framework al compilatore Jasmin, uno strumento progettato specificamente per scrivere codice crittografico ad alta affidabilità. Si sono concentrati sull'implementazione di ML-KEM utilizzata in Signal, un'app di messaggistica con milioni di utenti. Utilizzando un potente assistente alla dimostrazione, uno strumento software che controlla gli argomenti matematici con assoluta rigore, hanno verificato che il compilatore traduce correttamente il codice sorgente in linguaggio assembly senza alterare le proprietà di sicurezza. La loro prova copre l'intero processo di compilazione, dalla descrizione iniziale di alto livello fino alle istruzioni macchina finali. Il risultato è la garanzia che la sicurezza della cifratura, che prima era dimostrata solo per il codice sorgente, sia valida anche per il codice effettivo in esecuzione sul dispositivo dell'utente.
Questo lavoro fa parte di uno sforio più ampio per portare i massimi livelli di garanzia alla transizione post-quantistica, un passaggio globale verso metodi di cifratura in grado di resistere agli attacchi dei futuri computer quantistici. Sebbene i ricercatori non abbiano ancora esteso la loro prova per coprire gli attacchi side-channel — dove un attaccante potrebbe apprendere segreti osservando quanto tempo impiega un calcolo o quanta energia consuma — hanno gettato le fondamenta necessarie per tale lavoro futuro. Stabilendo che il compilatore preserva il "core security game", hanno creato una base solida su cui costruire garanzie di sicurezza più complesse. La verifica è completamente meccanizzata, il che significa che ogni passaggio della prova è stato controllato da un computer, non lasciando spazio all'errore umano nella logica stessa.
Le implicazioni di questo lavoro vanno oltre un singolo algoritmo. Il framework sviluppato dai ricercatori è abbastanza generale da poter essere applicato ad altri schemi crittografici e proprietà di sicurezza. Hanno dimostrato che è possibile ragionare sulla sicurezza basata su giochi (game-based security), un modo standard di definire la forza crittografica, attraverso la lente della correttezza del compilatore. Ciò significa che man mano che nuovi standard di cifratura vengono sviluppati e implementati, possono essere sottoposti allo stesso rigoroso processo di verifica. I ricercatori hanno reso i loro strumenti e le loro prove open source, permettendo ad altri esperti di ispezionare, verificare e costruire sul loro lavoro. Questa trasparenza è fondamentale per mantenere la fiducia nell'infrastruttura digitale che sostiene la società moderna.
In definitiva, questo articolo rappresenta un passo significativo verso un futuro in cui possiamo essere certi che le serrature digitali che proteggono i nostri dati siano esattamente forti quanto i matematici che le hanno progettate hanno promesso. Colmando il divario tra le astrazioni delle prove di sicurezza e la realtà concreta del codice macchina, i ricercatori hanno rimosso una grande fonte di incertezza dalla catena di approvvigionamento crittografica. Il loro lavoro assicura che quando un utente invia un messaggio sicuro, le garanzie di sicurezza di cui si affida non siano solo ideali teorici, ma proprietà matematicamente preservate fino ai chip di silicio nei suoi dispositivi. Questo livello di garanzia è ciò che ci permette di fidarci della tecnologia che ci connette, anche di fronte a minacce nuove ed in continua evoluzione nell'era digitale.
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.