CAYENNE+: HMAC-Derived Peppers for Compartmentalized Password Hashing
CAYENNE+ è un framework deterministico che migliora la sicurezza delle password derivando pepper specifici per l'account da un segreto master e dallo stato per utente, mitigando così i rischi di compromissione estesa associati a pepper statici e condivisi globalmente, mantenendo al contempo un basso overhead di autenticazione.
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 digitale, le password rimangono la chiave più comune per le nostre vite online. Sono semplici da usare, economiche da configurare e funzionano con quasi ogni sistema che possediamo. Per mantenere sicure queste password, i sistemi informatici non memorizzano le parole effettive che le persone digitano. Invece, le fanno passare attraverso una complessa macchina matematica che le trasforma in un codice rimescolato, noto come hash. Questo codice viene memorizzato in un database. Se un hacker ruba quel database, vede solo i codici rimescolati, non le password reali. Per rendere questo compito ancora più difficile agli attaccanti, gli esperti di sicurezza spesso aggiungono un ingrediente segreto chiamato "pepper" (pepe). Pensa a questo pepe come a una spezia nascosta che il computer aggiunge alla password prima di rimescolarla. Questo segreto è conservato in una cassaforte separata e altamente protetta, lontana dal database. Se un hacker ruba il database ma non la cassaforte, non può facilmente invertire il rimescolamento per trovare le password originali.
Tuttavia, una debolezza comune in questo approccio è che molti sistemi utilizzano esattamente lo stesso segreto condiviso per ogni singolo utente. Se un hacker riesce a rubare quel singolo segreto, può sbloccare la protezione di tutti gli account del sistema in un colpo solo. L'intera difesa crolla perché il segreto era stato condiviso troppo ampiamente. I ricercatori dell'Università Prefetturale di Iwate, in Giappone, hanno proposto un nuovo modo per gestire questo segreto, chiamato CAYENNE+. Invece di utilizzare un unico segreto statico per tutti, questo nuovo metodo crea un segreto unico per ogni singolo utente. Lo fa combinando un segreto principale, conservato in una cassaforte sicura, con un dato unico assegnato a quello specifico utente. Il sistema utilizza poi questi due pezzi per generare matematicamente un pepe personalizzato per quella persona. Ciò significa che anche se un hacker ruba il segreto principale, non può comunque violare le password dei singoli account senza trovare anche il dato unico di ciascuna persona.
I ricercatori hanno testato questa idea simulando una massiccia violazione di un database. Hanno creato un sistema con duecento mila account utente finti e hanno impostato diversi scenari per vedere quanto tempo ci avrebbe messo un hacker a violare le password. Nel primo scenario, hanno ipotizzato che l'hacker non avesse alcun pepe segreto. Nel secondo, hanno ipotizzato che l'hacker avesse rubato il singolo segreto condiviso usato dai sistemi tradizionali. Nel terzo, hanno ipotizzato che l'hacker avesse rubato tutto: il database, il segreto principale e i dati unici degli utenti. Infine, hanno testato il compromesso parziale più realistico: l'hacker aveva il database e il segreto principale, ma il dato unico dell'utente rimaneva protetto in una posizione separata e sicura.
I risultati hanno mostrato che quando l'hacker aveva tutto, il nuovo sistema non offriva alcuna protezione extra rispetto al metodo di rimescolamento standard; le password venivano violate alla stessa velocità di prima. Questo è previsto, poiché il sistema si basa sulla segretezza dei suoi componenti. Tuttavia, il vero valore è emerso nello scenario del compromesso parziale. Quando l'hacker aveva il segreto principale ma non il dato unico dell'utente, il tempo necessario per violare le password è schizzato alle stelle. Nelle loro simulazioni, i ricercatori hanno scoperto che il dato mancante costringeva l'attaccante a indovinare attraverso un numero vastissimo di possibilità prima di poter anche solo tentare di controllare una password. Per la specifica configurazione testata, questo ha aumentato il tempo stimato per violare la metà degli account da circa quarantacinque anni a oltre quattro milioni di anni. Questo aumento drammatico è avvenuto perché l'attaccante doveva provare molte diverse combinazioni del dato utente mancante per ogni singolo tentativo di password, moltiplicando efficacemente il lavoro richiesto.
Lo studio ha anche esaminato come questo nuovo metodo influenzi la velocità di accesso per gli utenti normali. Hanno misurato il tempo necessario alle persone per registrarsi e accedere attraverso diverse dimensioni di sistema, che variavano da diecimila a duecentomila utenti. Hanno scoperto che per gli accessi quotidiani, il nuovo sistema aggiungeva un ritardo quasi impercettibile. Il tempo necessario per accedere era quasi identico ai sistemi che non usavano alcun pepe o che usavano un tradizionale pepe condiviso. Il sistema era abbastanza veloce che gli utenti non avrebbero percepito alcuna differenza. I ricercatori hanno testato anche una versione in cui il dato unico dell'utente veniva cambiato periodicamente per rinnovare la sicurezza. Questo processo di rinnovo richiedeva al sistema di ricalcolare il codice della password, il che causava un leggero rallentamento, ma solo durante i momenti specifici in cui avveniva il rinnovo. Per la stragrande maggioranza degli accessi, il sistema rimaneva veloce come prima.
I ricercatori sono stati attenti a sottolineare che le loro scoperte derivano da simulazioni ed esperimenti controllati, non da un attacco reale su un sistema in funzione. Hanno utilizzato un metodo specifico per generare il dato unico che, nel loro test, creava un limite su quanti diversi esiti fossero possibili. Hanno ammesso che un dispiegamento nel mondo reale avrebbe dovuto utilizzare un metodo più complesso per garantire che il numero di possibilità fosse ancora più grande. Hanno anche evidenziato che se un hacker riesce a rubare sia il segreto principale che il dato unico dell'utente contemporaneamente, il sistema non offre alcuna protezione aggiuntiva. La forza del nuovo approccio risiede interamente nel mantenere questi due pezzi di informazione in due posizioni separate e sicure, in modo che rubarne uno non riveli automaticamente l'altro.
In definitiva, questo lavoro dimostra che è possibile allontanarsi dalla pratica rischiosa di utilizzare un unico segreto per tutti senza rallentare i sistemi che le persone usano ogni giorno. Dividendo il segreto in due parti e tenendole separate, il sistema rende molto più difficile il successo degli attaccanti se riescono a rubare solo una parte delle informazioni. Lo studio suggerisce che questa compartimentazione è un modo pratico per rafforzare la sicurezza delle password, a patto che le due parti del segreto siano realmente tenute separate nel mondo reale. I ricercatori concludono che, sebbene il metodo non sostituisca la necessità di un forte hashing delle password, esso aggiunge un livello vitale di difesa che riduce i danni causati da una violazione parziale della sicurezza.
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.