Introduzione
Le password sono la prima linea di difesa per proteggere gli account online, ma spesso non sono gestite con la dovuta attenzione. Ogni anno migliaia di credenziali vengono compromesse a causa di metodi di archiviazione inadeguati o attacchi informatici mirati. Tra i metodi più efficaci per proteggere le credenziali vi è l’hashing, una tecnica che impedisce agli hacker di leggere direttamente le password in caso di violazione dei dati.
In questo articolo approfondiremo cos’è l’hashing, come funziona e quali sono le migliori pratiche per proteggere le password da attacchi come brute force e tabelle arcobaleno.
Cos’è l’hashing e in cosa si differenzia dalla crittografia?
L’hashing è un processo che trasforma un dato di input (come una password) in una stringa di lunghezza fissa, chiamata “digest” attraverso una funzione matematica unidirezionale. Una funzione si definisce “unidirezionale” quando è semplice da calcolare, ma estremamente complessa da invertire: ciò significa che, conoscendo il risultato finale di una funzione hash (digest), risalire alla password originale è praticamente impossibile. Tuttavia, ci teniamo a precisare che non è ancora stata dimostrata matematicamente l’esistenza di funzioni completamente unidirezionali (cioè, assolutamente impossibili da invertire), poiché ciò implicherebbe una soluzione definitiva alla famosa congettura matematica “P diverso da NP”.
Proprio grazie alla natura unidirezionale, le password vengono archiviate nei database (idealmente) attraverso funzioni hash. Ciò garantisce che, anche in caso di violazione dei dati, le password restino segrete e non direttamente leggibili dagli attaccanti.
È fondamentale distinguere l’hashing da altri processi simili, come la crittografia e l’encoding:

Mentre la crittografia consente di recuperare i dati originali tramite una chiave nota esclusivamente alle entità autorizzate, l’hashing produce un risultato irreversibile progettato per impedire il recupero dei dati originali. Per questo motivo l’hashing è ampiamente utilizzato per proteggere le password: anche in caso di compromissione di un database contenente tutti gli hash, gli attaccanti non potrebbero recuperare facilmente le credenziali originali.
Algoritmi di hashing più diffusi e il loro livello di sicurezza
Come facilmente comprensibile dal paragrafo precedente, l’efficacia dell’algoritmo di hash scelto è fondamentale per la sicurezza delle password. Un buon algoritmo deve resistere a vari tipi di attacchi, come la forza bruta – ampiamente noto come “brute force” –, le collisioni e l’uso di hardware specializzato per il cracking.
Nel corso degli anni, alcuni algoritmi sono stati resi obsoleti a causa della scoperta di vulnerabilità, mentre altri si sono evoluti diventando sempre più affidabili. Di seguito analizzeremo i principali algoritmi di hashing attualmente in uso, evidenziandone i livelli di sicurezza:
Algoritmo di hashing | Descrizione | |
![]() | MD5 | Oggi considerato obsoleto a causa della vulnerabilità alle collisioni, in cui due input diversi generano lo stesso digest, e alla sua eccessiva velocità di calcolo, che rende facile il cracking con hardware moderno. |
![]() | SHA-256 | Più sicuro rispetto a MD5 e SHA-1, ma può essere vulnerabile agli attacchi di forza bruta se non accompagnato da tecniche aggiuntive come il salting e il peppering. Viene spesso impiegato in contesti crittografici (es. blockchain Bitcoin), ma per proteggere password esistono opzioni migliori. |
![]() | PBKDF2 | Algoritmo che deriva la chiave mediante interazioni multiple per rallentare il cracking. Considerato sicuro, ma meno efficiente rispetto a bcrypt e Argon2 contro attacchi con GPU o ASIC, a meno che non si aumentino significativamente le iterazioni. |
![]() | bcrypt | Creato negli anni ‘90, resta una delle soluzioni più sicure grazie a un fattore di costo configurabile e al salting automatico, che lo rende resistente agli attacchi di forza bruta e alle tabelle arcobaleno. |
![]() | Argon2 | Vincitore della Password Hashing Competition del 2015, è progettato per resistere agli attacchi a dizionario e agli attacchi con hardware specializzato. Dispone di varianti personalizzabili in termini di memoria, iterazioni e parallelizzazione, rendendolo tra le migliori opzioni per l’hashing delle password. |
Attacchi comuni e contromisure
Gli attacchi più comuni alle password includono quelli di forza bruta e l’uso delle tabelle arcobaleno. Gli attacchi brute force testano sistematicamente tutte le combinazioni possibili, accelerati dall’uso di hardware specializzato. Le tabelle arcobaleno, invece, sono database precalcolati che velocizzano notevolmente la decodifica degli hash. Per contrastare questi attacchi si adottano tecniche come:
- Salting: aggiunta di valori casuali univoci per ogni password prima dell’hashing, che rende inefficaci le tabelle arcobaleno.
- Peppering: aggiunta di un valore segreto globale noto solo al server, incrementando ulteriormente la sicurezza.

Conclusioni
L’hashing è una difesa fondamentale per proteggere le password e ridurre il rischio di violazioni dei dati. Senza misure adeguate, le credenziali possono essere facilmente compromesse, permettendo l’accesso a informazioni sensibili. È fondamentale creare password robuste e uniche per ciascun account e utilizzare strumenti affidabili per gestirle in sicurezza. L’attivazione dell’autenticazione a più fattori (MFA) fornisce un ulteriore livello di protezione.

Le aziende devono garantire l’uso di algoritmi sicuri, applicare tecniche avanzate come salting e peppering, e implementare rigorose politiche di sicurezza informatica per salvaguardare la fiducia degli utenti e tutelare i dati sensibili.
Vuoi saperne di più sulle password e su come proteggerle efficacemente?
Segui il corso CYS01 domani dalle ore 12:00 alle 13:00: https://register.gotowebinar.com/register/6622024728146189399
Per maggiori informazioni contatta info@boxxapps.com