Pivot: Proactive and Verifiable Threshold Oblivious Pseudorandom Functions From Isogeny Group Actions
Questo articolo introduce PIVOT, un framework di funzione pseudo-casuale soglia proattiva, verificabile e senza dealer basato su azioni di gruppi isogenici che aggiorna in modo sicuro le quote dei server nel tempo per difendersi da avversari mobili, mantenendo al contempo la validità della chiave master e degli output precedenti.
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
Immagina di cercare di custodire un segreto così prezioso che nessun singolo individuo dovrebbe mai conoscerlo interamente. Dividi il segreto in pezzi di un puzzle e dai un pezzo a ciascuno dei tuoi amici. Questa è l'idea di base della crittografia a soglia (threshold cryptography): hai bisogno di un certo numero di amici (per esempio, 5 su 10) per mettere insieme i loro pezzi e sbloccare il tesoro. Ma c'è un problema subdolo. Se un ladro riesce a intrufolarsi nelle case dei tuoi amici uno alla volta nel corso di un anno, rubando un pezzo dall'Amico A a gennaio, un pezzo dall'Amico B a febbraio, e così via, può eventualmente raccogliere tutti i pezzi necessari per risolvere il puzzle, anche se non ha mai avuto cinque amici contemporaneamente. Questo è chiamato un "avversario mobile" (mobile adversary).
Per fermare questo, i crittografi usano un trucco chiamato sicurezza proattiva (proactive security). Immagina che ogni mese i tuoi amici scambino segretamente i loro pezzi di puzzle con nuovi pezzi che si adattano alla stessa immagine, ma che i vecchi pezzi diventino pezzi di carta straccia inutili. Se un ladro ruba un pezzo oggi, non corrisponderà ai pezzi rubati il mese prossimo. Il segreto rimane al sicuro perché il ladro non può mescolare i vecchi pezzi con quelli nuovi. Ora, aggiungi un colpo di scena: vuoi usare questo segreto per rispondere a delle domande senza mai rivelare il segreto stesso. Questo è una Funzione Pseudocasuale Obliviosa (OPRF). È come un distributore automatico magico: inserisci un codice segreto (come una password) e lui ti restituisce una ricevuta unica e dall'aspetto casuale. La macchina conosce la ricetta segreta, ma non vede mai il tuo codice, e tu non apprendi mai la ricetta. La sfida che questo articolo affronta è costruire una versione "post-quantistica" di questo sistema — uno che sia sicuro anche contro i futuri supercomputer — pur mantenendo il segreto al sicuro dai ladri che cercano di rubare i pezzi nel tempo.
L'articolo introduce un nuovo sistema chiamato PIVOT (Proactive Isogeny-based Verifiable Oblivious Threshold PRF). Pensa a PIVOT come a una cassaforte post-quantistica ad alta tecnologia che utilizza un tipo speciale di magia matematica chiamata azioni di gruppo isogeniche (isogeny group actions). In termini semplici, immagina un enorme parco giochi circolare dove puoi girare su te stesso. Se giri un certo numero di volte (il segreto), finisci in un punto specifico. La magia è che puoi girare in piccoli passi con persone diverse e, finché tutti girate il numero totale corretto di giri, finirete nello stesso punto, anche se nessuno conosce il numero totale di giri. PIVOT usa questo per permettere a un gruppo di server di lavorare insieme per fornire a un client una "ricevuta" per il suo input segreto, senza che il client veda mai il segreto dei server o i server vedano l'input del client.
Gli autori dimostrano che PIVOT risolve il problema dell' "avversario mobile". Dimostrano che i server possono aggiornare periodicamente i loro pezzi di puzzle (share) senza cambiare il segreto principale o la "serratura" pubblica della cassaforte. Ciò significa che anche se un ladro ruba un pezzo oggi, quel pezzo diventerà inutile il mese prossimo quando i pezzi verranno aggiornati. L'articolo dimostra anche che il sistema è verificabile: il client può controllare che i server abbiano eseguito correttamente i calcoli e non abbiano deviato dal protocollo e, se un server sbaglia, il sistema può individuare esattamente quale sia e scacciarlo.
L'articolo esclude esplicitamente l'idea di poter conservare gli stessi pezzi del puzzle per sempre. Argomenta che se i pezzi non cambiano, un ladro mobile alla fine vincerà. Argomenta anche contro i design che nascondono i contributi dei singoli server dietro un server "virtuale", perché PIVOT vuole rendere visibile e conto ogni contributo dei server. Gli autori sono molto sicuri dei loro risultati; non si sono limitati a indovinare o a simulare il sistema in modo semplice. Hanno fornito una prova matematica rigorosa che mostra come il sistema funzioni correttamente e rimanga sicuro contro un tipo specifico di attaccante (un attaccante "semi-onesto" che segue le regole ma cerca di apprendere i segreti) sotto le assunzioni standard sulla difficoltà di risolvere questi enigmi isogenici.
Nel mondo reale, questo potrebbe essere utilizzato per cose come l'accesso privato alle password o database criptati che rimangano sicuri per decenni. Se un'azienda deve proteggere i dati degli utenti per un lungo periodo, non può semplicemente fare affidamento su un segreto statico che potrebbe essere rubato pezzo dopo pezzo. PIVOT permette loro di ruotare il proprio personale di sicurezza (i server) e aggiornare regolarmente le proprie chiavi, garantendo che il database rimanga bloccato e la privacy degli utenti rimanga intatta, anche se il sistema è sotto un attacco costante e lento. L'articolo conclude che, sebbene questo sistema sia un po' più complesso e lento rispetto alle versioni più semplici (perché richiede una catena di server che si passano la "palla" dei dati uno dopo l'altro), il compromesso vale la pena per la sicurezza a lungo termine e la capacità di dimostrare che nessuno ha deviato dal protocollo.
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.