pulsante lavora con noi studio essepi

Consulenza e formazione. Dal 1995 un punto di riferimento per aziende e professionisti.

Magazine

Cos'è il password hashing e come funziona

Cos'è il password hashing e come funziona

La sicurezza delle password è un aspetto cruciale nell'ambito digitale, specie per imprese e piattaforme che vogliono proteggere database e credenziali di accesso dei propri utenti.

In un mondo in cui i furti di password e di identità rappresentano una pratica sempre più comune da parte degli hacker, è evidente come sia fondamentale mettere in campo adeguate misure volte a migliorare la sicurezza informatica delle aziende.

Di recente, proprio per aumentare il livello di sicurezza dei fornitori di servizi digitali e degli sviluppatori di software, l'Agenzia per la cybersicurezza nazionale (ACN) e il Garante per la protezione dei dati personali hanno pubblicato delle specifiche linee guida in materia di conservazione delle password. Con un occhio di riguardo per il password hashing.

Vediamo di capire meglio, in questo articolo, di cosa si tratta e come funziona.

Password hashing: cos’è e come funziona

Il password hashing è un processo crittografico che coinvolge l'utilizzo di funzioni di hash per trasformare le password in una forma sicura e non reversibile.

Per un attimo scendiamo un po' nel tecnico per capire meglio come funziona. In pratica, una funzione di hash prende in input una stringa di bit di lunghezza arbitraria (ovvero la password iniziale) e restituisce una stringa di bit di lunghezza fissa, chiamata "digest". Poiché le funzioni di hash crittografiche sono "one-way", quindi non invertibili, per un hacker risulta difficile risalire alla password originale conoscendo solo il digest.

Questa pratica risulta particolarmente interessante in tema di sicurezza delle password, perché consente di evitare di memorizzare le password "in chiaro" negli archivi. Infatti, vengono memorizzati solo i digest delle password, rendendo estremamente complicato per gli aggressori avere accesso diretto alle password originali.

Il password hashing, quindi, permette di:

  • rendere (quasi) impossibile il recupero delle password originali da parte degli hacker, per l'estrema complessità nell'invertire le funzioni di hash;
  • verificare comunque in modo semplice la correttezza della password inserita dall'utente al momento dell'accesso;
  • proteggere gli utenti nel caso in cui le informazioni siano compromesse, in quanto i malintenzionati non disporrebbero direttamente delle password ma solo del loro digest.

Bisogna però considerare anche il perché di quel "quasi" riportato tra parentesi poco sopra. Se da un lato è vero che il password hashing può migliorare la sicurezza nella conservazione delle password, dall'altro ci sono in ogni caso degli aspetti che possono lasciare spazio a delle vulnerabilità. Vediamo quali sono.

Password hashing e data breach: cosa può succedere

Come descritto nelle linee guida in materia di conservazione delle password, il principale scenario da tenere in considerazione è il data breach. Ovvero, l'incidente in cui trapela tutta o parte della lista contenente i digest di password salvati su un server.

Infatti, nel momento in cui l'attaccante ha ottenuto la lista delle coppie utente-digest, può procedere soprattutto secondo due modalità:

  • per "forza bruta", cioè calcolando l'hash di password casuali, fino a trovare una corrispondenza;
  • con un "attacco al dizionario", sfruttando il fatto che gli utenti - in genere - scelgono password banali o parole di senso compiuto, quindi calcolando l'hash delle parole più comuni fino a trovare una corrispondenza nella lista.

Inoltre, è importante non utilizzare direttamente le comuni funzioni di hash crittografiche, poiché risultano ottimizzate per effettuare calcoli in maniera molto rapida (ed esistono metodi per velocizzare la generazione dei digest, che renderebbero eventuali attacchi molto più veloci).

Per una maggiore sicurezza, quindi, gli algoritmi di password hashing dovrebbero avere i seguenti requisiti:

  • complessità computazionale tale da rendere rapido il calcolo di un singolo digest, ma molto dispendioso calcolarne un numero elevato (in modo da scoraggiare gli hacker nel cercare le password andando per tentativi);
  • capacità di memoria richiesta tale da saturare la RAM quando molti digest vengono calcolati contemporaneamente.

Password hashing: "salt" e "pepper" per una maggior sicurezza

Oltre a quanto visto in precedenza, gli hacker utilizzano spesso delle rainbow tables - o "tabelle arcobaleno" - contenenti i digest di un numero elevato di password comuni. Questi digest vengono confrontati con quelli nell'archivio, rendendo l'attacco molto rapido.

Per potersi difendere da questa modalità, è consigliabile utilizzare algoritmi di password hashing che prevedano l'aggiunta di "salt" ad ogni password. In sostanza, si tratta di una stringa di bit casuali che viene concatenata alla password prima del calcolo del digest, per poi essere salvata in chiaro insieme al digest stesso. Per un livello ancora maggiore di sicurezza, il salt può essere salvato in un archivio diverso rispetto a quello contenente la password.

Per aggiungere un ulteriore livello di sicurezza, inoltre, a volte viene sfruttato un altro strumento crittografico, chiamato "pepper". Anche in questo caso si tratta di una stringa di bit casuale ma, a differenza del salt, può essere la stessa per tutte le password. Tuttavia, essa deve essere mantenuta segreta, in quanto viene usata come chiave di un HMAC o di un meccanismo di cifratura simmetrico, applicato al digest della password.

Per approfondire questi aspetti, e in generale il password hashing, qui trovi il file con le linee guida complete.

In generale, dunque, è importante capire come gestire e conservare correttamente le password, tutelando i dati personali di clienti, lavoratori e fornitori. Hai un’azienda e vuoi capire come rispettare gli obblighi di legge in materia di privacy? Contattaci senza impegno per richiedere la consulenza di un nostro esperto.


banner ebook studio essepi 


michele-vasselai-studio-essepi  

Scritto da: Michele Vasselai


RSPP, responsabile marketing e vendite specializzato in comunicazione d'impresa e sviluppo commerciale, motociclista e appassionato di basket.


Chiamaci

045 8621499