Contenuti:
- Cos'è il salting delle password?
- Come funziona il salting delle password?
- Quali tipi di attacchi si possono contrastare con il salting delle password?
- Le buone prassi per il salting delle password
- Gli errori comuni da evitare quando si effettua il salting delle password
- Le buone prassi per la sicurezza delle password
- FAQ
Creare una buona password può essere di grande aiuto per proteggere i tuoi dati in caso di violazione. Tuttavia, anche se adottassi una password casuale di 20 caratteri, contenente simboli e numeri, esiste un confine oltre il quale la sicurezza delle credenziali è al di fuori del tuo controllo: tutto dipende infatti da come il fornitore di servizi conserva le tue password.
Per nostra sfortuna, se non sono adeguatamente protette, anche le password più complesse possono essere decifrate facilmente. Ciò è dovuto al fatto che password identiche generano hash identici quando si impiegano le tecniche di hashing tradizionali, il che – inutile dirlo – le rende vulnerabili.
Ed è proprio qui che il salting delle password ci fornisce un aiuto concreto. In sostanza, si tratta di una misura di sicurezza aggiuntiva messa a punto per proteggere dagli attacchi informatici le password memorizzate. Ma cos'è esattamente il salting, e in che modo aumenta la sicurezza delle password? Approfondiamo l'argomento per scoprirlo.
Cos'è il salting delle password?
Solitamente le password non sono conservate sotto forma di testo in chiaro: prima di essere memorizzate nel database di un sito web, vengono sottoposte a un processo chiamato hashing delle password, che trasforma le password in una stringa casuale di caratteri con una lunghezza specifica. Ogni volta che accedi al tuo account, la password viene elaborata attraverso lo stesso algoritmo di hashing unidirezionale. Il risultato viene poi confrontato con gli hash presenti nel database e, se corrispondono, puoi accedere all'account.
Anche se potrebbe sembrare un modo sicuro per conservare le password, c'è un problema: se due password sono uguali, anche il loro hash sarà identico, il che rende più facile violarle. Il salting delle password rappresenta una soluzione a questo problema. Il salt è una sequenza casuale di bit aggiunta alla password prima che venga sottoposta all'algoritmo di hashing. Il salt delle password è diverso per ogni utente, il che significa che gli hash assegnati a ciascuna password sono anch'essi univoci.
Come funziona il salting delle password?
Supponiamo che la tua password sia "giallo"; se un altro utente ha la stessa password, l'output dell'hash sarà identico. Ma aggiungendo alcuni caratteri casuali a entrambe, si otterranno due password diverse: ad esempio, "giallo#1Gn%" e "giallo9j?L", con hash completamente diversi. Ed è proprio questo che fanno i siti che sfruttano il metodo di salting delle password.
Quali tipi di attacchi si possono contrastare con il salting delle password?
Violare una password è, fondamentalmente, come risolvere un indovinello: gli hacker cercano di individuare la corretta combinazione di caratteri e, se la password è stata sottoposta a hashing, si affidano a potenti computer per svolgere questo compito. Esistono tre modi principali per violare una password sottoposta a hashing:
Attacco di forza bruta
Gli attacchi di forza bruta sono il metodo più semplice per cercare di violare le password sottoposte a hashing. Proprio come suggerisce il nome, il metodo consiste nel cercare di indovinare ogni possibile combinazione di password per poi eseguirla attraverso un programma informatico, che prova un numero pressoché infinito di combinazioni. Una volta ottenuta una corrispondenza, i malintenzionati sanno qual è la password originale. I metodi di forza bruta sono uno dei motivi principali per cui è bene che le password contengano almeno 12 caratteri: di solito, infatti, questi attacchi hanno maggiore successo con le password più brevi. Più sono lunghe le password e maggiore è la potenza di calcolo necessaria per violarle.
Attacchi a dizionario
Gli attacchi a dizionario rappresentano una versione più sofisticata del metodo di forza bruta. Invece di cercare di indovinare a caso, il computer prova le parole e le combinazioni di caratteri usate più comunemente per le password. Questo è il motivo per cui gli attacchi a dizionario diventano più efficienti in seguito a ogni violazione di dati: i criminali riescono infatti a capire meglio come creiamo le nostre password.
Tabelle arcobaleno
Un attacco con tabelle arcobaleno è una variante di un attacco di forza bruta, in cui gli hacker utilizzano le cosiddette tabelle arcobaleno – ovvero database precompilati di password con hash decifrate – per violare gli hash delle password contenute in uno specifico database. Gli hacker cercano nelle loro tabelle arcobaleno per trovare l'hash desiderato. Proprio come avviene nel caso degli attacchi a dizionario, anche le tabelle arcobaleno diventano sempre più efficienti dopo ogni violazione di dati.
Le buone prassi per il salting delle password
I requisiti che rendono robusto il salt di una password sono simili a quelli di una password forte: deve essere univoco, lungo, complesso e impossibile da prevedere. Ecco cosa fare per assicurarti che il salt delle tue password sia affidabile:
Rendilo casuale: per il salt di una password non usare mai parole reperibili su un dizionario, oppure nomi di utenti.
Rendilo complesso: crea combinazioni di lettere maiuscole e minuscole, numeri e caratteri speciali come &, @, # e così via.
Fai in modo che sia lungo: la lunghezza ideale del salt di una password dovrebbe corrispondere a quella dell'output dell'hash.
Evita i salt già usati in precedenza: per essere sicuro, ogni salt di password deve essere impiegato una sola volta. Un utente dovrebbe generare un nuovo salt ogni volta che modifica una password o crea un nuovo account.
Mantieni gli hash al sicuro: conserva gli hash e i salt corrispondenti in un formato sicuro e crittografato. È fondamentale utilizzare solide misure di sicurezza per proteggere il database in cui sono memorizzati i salt e gli hash, così da impedire gli accessi non autorizzati.
Gli errori comuni da evitare quando si effettua il salting delle password
Il salting delle password può essere un valido strumento per migliorare notevolmente la sicurezza generale. Tuttavia, è importante tenere in considerazione le insidie più comuni che possono pregiudicare l'efficacia di questo metodo: comprendere tali errori è fondamentale se si vuole implementare una strategia di salting realmente efficace. Ecco alcuni degli errori più comuni da evitare quando si effettua il salting delle password.
Hash brevi e prevedibili
Anche se il salting aggiunge un ulteriore livello di sicurezza, la forza dell'hash finale rimane sempre un aspetto importante. Se l'hash è eccessivamente breve o semplice, indebolisce la sicurezza complessiva della conservazione delle password. Il motivo è presto detto: un hash breve limita il numero di possibili valori di hash, il che a sua volta rende più facile per i malintenzionati usare dei metodi di forza bruta per violare le password. Lo stesso discorso vale per gli hash semplici e prevedibili. Quando effettui il salting, assicurati che l'algoritmo di hashing selezionato generi un output lungo e complesso.
Hash utilizzati più volte
Uno dei principi fondamentali per utilizzare in modo efficace il salting delle password è l'unicità; ogni password dovrebbe infatti avere il proprio salt univoco. Riutilizzare gli stessi hash per molteplici elementi è sostanzialmente paragonabile a usare una sola password per diversi siti e servizi. Il riutilizzo degli hash consente ai malintenzionati di sfruttare con grande efficienza tecniche di attacco come quelle basate su tabelle arcobaleno.
Database open source
Anche se l'utilizzo di un database open source per conservare le password può avere i suoi vantaggi, è fondamentale essere consapevoli del fatto che, in assenza di ulteriori configurazioni di sicurezza, questi database possono diventare una gallina dalle uova d'oro per i criminali informatici. Molto spesso i malintenzionati hanno familiarità con le configurazioni comuni dei database open source e possono facilmente sfruttarne le vulnerabilità note. Se perciò stai usando un database open source, o hai intenzione di farlo, assicurati di implementare robuste misure di sicurezza, di personalizzare le impostazioni in modo diverso da quelle predefinite e, ultimo ma non meno importante, di mantenere sempre aggiornato il software.
Le buone prassi per la sicurezza delle password
Creare password complesse e univoche
Le fondamenta di un'eccellente sicurezza delle password poggiano sulla creazione di sequenze complesse per ogni account. Una password forte deve avere una lunghezza di almeno 12 caratteri e contenere una combinazione di lettere maiuscole e minuscole, numeri e simboli. Le password univoche sono importanti poiché garantiscono che, anche in caso di violazione di una password, tutti gli altri account rimarranno al sicuro.
Abilitazione dell'autenticazione a più fattori nella sicurezza delle password
L'autenticazione a più fattori (MFA) aggiunge un ulteriore livello di sicurezza, poiché richiede agli utenti di fornire due o più fattori di verifica per accedere ai propri account. Nella maggior parte dei casi, l'autenticazione MFA combina qualcosa che conosci (le tue password) e qualcosa che possiedi (il tuo smartphone, tablet, ecc.) e, in alcuni casi, qualcosa che ti contraddistingue fisicamente (dati biometrici come impronte digitali o volto). L'MFA riduce notevolmente il rischio di accessi non autorizzati, anche se una password dovesse essere violata.
Educare gli utenti all'igiene delle password
Le persone devono essere consapevoli e comprendere chiaramente i rischi associati alle password deboli. Dovrebbero inoltre capire perché le buone prassi in materia di sicurezza, come non riutilizzare le credenziali per account diversi e usare un gestore di password per i propri dati sensibili, permettono di rimanere più al sicuro. Le attività di formazione possono aiutare a sensibilizzare sull'importanza di gestire correttamente le proprie password.
Integrare il salting delle password nelle politiche di sicurezza dell'azienda
Il salting delle password dovrebbe essere una parte integrante della strategia di sicurezza generale della tua azienda. Le aziende dovrebbero adottare misure e implementare politiche in base alle quali i salt delle password siano univoci per ogni utente, e garantirne la conservazione sicura.
Utilizzo di un gestore di password affidabile
Un gestore di password affidabile come NordPass può migliorare notevolmente la tua vita online. Strumenti come NordPass offrono infatti uno spazio di archiviazione sicuro per conservare password e altri dati sensibili, come informazioni personali, dati di carte di credito e file. Per le aziende, un gestore di password come NordPass Business può migliorare in modo significativo la sicurezza globale, aiutare l'azienda a soddisfare i requisiti di conformità e, in generale, ridurre il rischio di accessi non autorizzati.
FAQ
Il salting consiste nell'aggiungere una stringa casuale, detta "salt", a una password prima che venga sottoposta a hashing. Ad esempio, se la tua password è "gancio", è possibile aggiungere il salt "G7^Xth": in questo modo, la password con hash diventerà "gancioG7^Xth".
In teoria, disponendo di una sufficiente capacità e potenza di calcolo, è possibile violare una password con salt. Il salting delle password è in grado di difendere soprattutto dagli attacchi precalcolati, come quelli che utilizzano le tabelle arcobaleno.
Un salt dovrebbe, di norma, essere lungo almeno quanto l'output dell'hash. Per molti algoritmi di hashing, è comune una lunghezza del salt di 16 caratteri.
Il salting migliora la sicurezza delle password vulnerabili, rendendole univoche; tuttavia, questo metodo non compensa la mancanza di complessità. Usare password robuste e complesse rimane un aspetto fondamentale.
L'hashing converte una password in una stringa irreversibile di lunghezza fissa. Il salting aggiunge una sequenza di caratteri casuali a una password prima che sia sottoposta a hashing, evitando così che password identiche generino lo stesso hash e migliorando la sicurezza.