Che cos'è l'hashing delle password?

Cybersecurity Content Writer

Gli ultimi anni non sono stati dei migliori per quanto riguarda la sicurezza delle informazioni. Infatti, quasi ogni giorno si sente parlare di fughe di dati. Non c'è da stupirsi, quindi, se di settimana in settimana arrivano notizie di gravi lacune nella sicurezza delle più grandi aziende tecnologiche di tutto il mondo.

Nel 2019, due colossi tech hanno dichiarato di aver scoperto importanti falle nella sicurezza dei loro sistemi. Facebook ha ammesso di aver archiviato le password di milioni di utenti di Instagram in plain text, cioè senza alcun tipo di protezione. Pochi mesi dopo, Google ha rivelato lo stesso per quanto riguarda gli utenti di G Suite. Ma perché è così grave archiviare le password in questo modo? E come andrebbero archiviate?

Se le password sono memorizzate senza protezione o cifratura, chiunque abbia un accesso a livello interno può vederle. Per non parlare del fatto che, se un database viene violato, anche gli hacker potrebbero mettere le mani sulle credenziali. Pertanto, un'azienda che si attiene alle procedure di sicurezza di base non memorizzerà mai le password in chiaro.

Anzi, cifrerà le password in una stringa di caratteri complessi utilizzando algoritmi di hashing delle password. Poi, quando si accede al proprio account, la password criptata viene confrontata con i valori hash presenti nel database dell'azienda. Se l'hash della password corrisponde, si accede all'account.

Ma come funziona esattamente l'hashing? L'hashing è una funzione unidirezionale per codificare i dati: prende il testo leggibile e lo trasforma in una stringa di caratteri completamente diversa con una lunghezza impostata.

Tuttavia, a differenza di altri algoritmi di crittografia che trasformano i dati, l'hashing è quasi impossibile da ripristinare. Quindi, se gli hacker entrano in possesso di un database con password con hash, la decodifica hash diventa inutile. Ciononostante, ci sono altri modi per i criminali informatici di scoprire la password originale.

Decifrare l'hash

Il problema principale dell'hashing delle password è che se si cifra una determinata parola, per esempio “verde”, con un algoritmo di hashing, il risultato sarà sempre lo stesso. Supponiamo quindi che un criminale informatico entri in possesso di un database di password criptate con l’hashing. Niente gli impedisce di provare a individuare milioni di password, facendole decifrare tramite lo stesso algoritmo di hashing per vedere a cosa corrisponde l’hash di una parola specifica.

Oggi gli hacker non si affidano più ai semplici attacchi brute force, cioè quando tentano di individuare una password provando tutte le combinazioni possibili di caratteri alfanumerici. Hanno aumentato la complessità della strategia utilizzando un metodo più furtivo e subdolo, noto come “dictionary attack” (attacco a dizionario). Invece di tentare di individuare le password in modo casuale, per decifrarle sfruttano combinazioni prevedibili e parole di uso frequente, come “password123”.

Alcuni hacker hanno affinato ulteriormente la strategia utilizzando una tecnica all'avanguardia chiamata “rainbow tables” (tabelle arcobaleno). Si tratta di tabelle di valori hash precalcolati di password e combinazioni più utilizzate, che consentono di decifrare rapidamente anche gli hash delle password più complesse. È come se avessero la soluzione a portata di mano e di certo non si fanno problemi a usarla.

Hash forte e debole

Per questo motivo esistono diversi tipi di hashing. Gli algoritmi di hashing come SHA-1 e MD5, ad esempio, sono ormai considerati obsoleti e non sono così difficili da decifrare. Algoritmi più recenti come bcrypt e SHA2 sono più sicuri, ma sono ancora vulnerabili ad alcuni tipi di attacchi. Attualmente, l'algoritmo consigliabile per l'hashing delle password è Argon2id, progettato per essere ad alta intensità di memoria e oneroso dal punto di vista computazionale, il che lo rende altamente resistente ai più comuni tipi di attacchi brute force. Argoin2id può eseguire l'hash della password solo poche volte. A causa della complessità delle operazioni, però, Argoin2id è considerato una soluzione più sicura dell'algoritmo PBKDF2, che esegue migliaia, se non milioni, di semplici iterazioni di hashing. Ecco perché NordPass utilizza Argoin2id per l'hashing delle credenziali al momento dell'accesso: è uno degli algoritmi di hashing più sicuri in circolazione.

Per rendere la procedura di hashing ancora più sicura, si aggiungono un pizzico di ”salt” (sale) e di ”pepper” (pepe). I “salt” sono stringhe addizionali di caratteri che vengono generate e poi aggiunte alla password prima di calcolarne l’hash. Lo scopo della procedura è quello di rendere più complesso l’hashing, cosa che, di conseguenza, rende ancora più difficile decifrare le password usando le “rainbow tables”, cioè i database di hash precalcolati. Nella maggior parte dei casi i “salt” sono memorizzati in un database insieme alla password criptata con l’hashing.

Allo stesso modo, il “pepper” è un valore segreto che viene aggiunto alla password prima della procedura di hashing. A differenza del “salt”, però, il “pepper” di solito è inserito all’interno del codice del sistema che esegue l'hashing della password, il che la rende ancora più difficile da decifrare.

Limitazioni delle funzioni hash

Le funzioni di hash presentano alcune limitazioni, come le collisioni. È il caso in cui due input diversi hanno lo stesso risultato hash. Tuttavia, nella maggior parte degli algoritmi di hashing, la probabilità di collisione è estremamente bassa, soprattutto nelle versioni più moderne, quindi non si tratta di un grosso problema.

Conclusione

Concludendo, non è sempre possibile sapere quanto sia forte la funzione utilizzata dal vostro fornitore di servizi, quindi conviene utilizzare password forti. È possibile generare una password sicura con il generatore di password NordPass. Eppure, come dimostrano i casi di Google e Facebook, a volte le credenziali sono in chiaro, senza nessun tipo di protezione o cifratura, quindi è bene non usare mai la stessa password due volte. Ci rendiamo conto che ricordarle tutte è pressoché impossibile, quindi perché non utilizzare il gestore di password NordPass?

Iscriviti alla newsletter di NordPass

Ricevi le ultime notizie e i suggerimenti di NordPass direttamente nella tua casella di posta.