Funzioni di hash: cosa sono e a cosa servono?

Mi avete chiesto di spiegare cosa sono le funzioni di hash e come fare a salvare password in modo sicuro.

Commento in cui mi si chiede cos'è una funzione di hash

“Ma che noia questo inglese! Ma a che serve questa roba?”. Mi spiace ma non posso farci molto se i termini sono tutti in inglese. Sai com’è, il computer è stato inventato in America… mica qui da noi! E riguardo all’utilità delle funzioni di hash, sappi che sono un concetto facilissimo da capire e che spalancano le porte alla comprensione di molti concetti importanti che riguardano la sicurezza informatica.

Ti ho convinto? Bene: resta con me ancora per qualche secondo e non te ne pentirai. Una funzione di hash (spiegato in modo probabilmente superficiale ma comprensibile da chiunque) è un programma che prende un testo (ad esempio la parola “danilo”) e lo trasforma in un altro testo incomprensibile, chiamato “hash” (si pronuncia “èsc”). Ad esempio, l’hash di “danilo” è “62bf43e2db266caa78d4f0bd18fb5f7e”.

Un hash non è “invertibile”: non puoi ottenere il testo originale da un hash. O perlomeno in teoria, perché gli hash sfruttano procedimenti simili a quelli usati per la crittografia. Pertanto potrebbero essere invertiti usando un attacco di forza bruta, che però sugli hash “calcolati bene” richiederebbe troppo tempo.

I siti web programmati come si deve salvano le password usando gli hash al posto del testo “in chiaro” (leggibile da chiunque), perché banalmente se un hacker entra nel sito può leggere allegramente tutte le password e rivenderle sul dark web (come è successo alla AUSL di Modena o al sito di Federprivacy).

Per questo motivo, se dimentichi la password di un sito essa non può essere spedita via mail: devi fare la procedura di “reset” scegliendone una nuova. E di questa nuova password verrà salvato l’hash e non il testo in chiaro. Sempre per lo stesso motivo è sconsigliabile usare la stessa password per tutti i siti: non sai mai se è stato programmato bene oppure no.

La tua indipendenza digitale inizia qui

👇👇👇