Come funziona davvero una password

Cosa succede tra il momento in cui scrivi una password e quello in cui un sistema ti lascia entrare: perché in genere non viene salvata così com'è, e cosa significa davvero che è "al sicuro".


Ci sono cose che ricordiamo senza pensarci: un volto, una strada, una canzone, un momento importante. Poi ci sono le password. Stringhe di lettere, numeri e simboli che dobbiamo ricordare per dimostrare, ogni giorno, che siamo noi. Quando le inseriamo in un sito sembra tutto molto semplice: le scriviamo, premiamo "Accedi", ed entriamo. Ma dietro quel gesto, in un sistema fatto bene, succede molto di più.

Una persona inserisce la propria password nel form di accesso di un laptop

Viene trasformata

La password non dovrebbe mai essere salvata così com'è. Prima passa attraverso una funzione matematica chiamata hash: il nome può sembrare tecnico, ma il concetto è semplice. La password entra da una parte, e dall'altra esce un valore completamente diverso, che non assomiglia più all'originale.

La password entra in una funzione di hash ed esce come un token illeggibile

Si salva il valore trasformato

È proprio questo valore trasformato che il sistema dovrebbe conservare, non la password in chiaro. Quindi, se qualcuno riuscisse a rubare il database di un servizio, nella maggior parte dei casi non troverebbe tutte le password leggibili. Troverebbe soprattutto questi valori trasformati.

Il database conserva l'hash della password, non la password in chiaro

L'attaccante prova password già note

Questo non significa che le password siano automaticamente al sicuro. Chi prova ad attaccare un sistema può partire da password già conosciute: quelle più comuni, quelle più prevedibili, o quelle finite online dopo vecchie fughe di dati altrui.

Un attaccante prova un elenco di password comuni contro un database di hash rubati

Trasforma e confronta

A quel punto il meccanismo è semplice. Si prende una password possibile, la si trasforma nello stesso modo, e si confronta il risultato con quelli trovati nel database rubato. Se uno dei risultati coincide, quella password era quella giusta. Non si sta "leggendo" la password dal valore salvato, non si sta tornando indietro: si stanno provando delle ipotesi, una dopo l'altra, e controllando quale produce lo stesso risultato.

Il confronto tra l'hash di una password candidata e il database di hash rubati

Perché una password complessa aiuta

Ed è proprio qui che si vede perché usare una password comune è così rischioso. Se è semplice, prevedibile o già usata da tantissime persone, è molto più probabile che venga provata presto, magari tra le prime. Se invece è lunga, unica e meno scontata, le combinazioni possibili aumentano enormemente: non perché diventi invulnerabile, ma perché chi attacca deve esplorare uno spazio di possibilità molto più grande prima di trovarla.

Un confronto visivo tra una password debole, presente in molte liste, e una lunga e unica

Non si torna indietro

C'è un altro punto importante: quella trasformazione iniziale è pensata proprio per andare in una sola direzione. Dalla password si può ottenere il valore trasformato, ma da quel valore non si può semplicemente tornare indietro e leggere la password originale. Ed è per questo che chi attacca non "decifra" una password: deve provare, una possibilità dopo l'altra, senza scorciatoie matematiche.

Dalla password si ottiene l'hash, ma dall'hash non si può tornare indietro alla password

Cosa ci protegge davvero

Alla fine, quello che ci protegge non è mai una cosa sola: è una password unica, una password lunga, e un sistema che la gestisce correttamente da parte sua. Ma qui vale la pena essere precisi su cosa protegge cosa. L'hash protegge il database del servizio, se viene rubato. Non protegge te se quella stessa password la usi ovunque, se è debole, o se nel frattempo vive scritta su un foglio, in un file sul telefono, o dentro un servizio online che è, a sua volta, un database che qualcuno potrebbe violare un giorno.

Quattro elementi che insieme proteggono davvero un accesso: unicità, lunghezza e un sistema ben gestito

Non stiamo affidando a una password solo un accesso: stiamo affidando pezzi della nostra vita digitale. Capire come viene trattata, dal lato del servizio e dal lato nostro, è il primo passo per proteggerli meglio. Il secondo, quello su cui stiamo lavorando con PacoKey, riguarda proprio quella seconda parte: dove e come tieni le password stesse, non solo come le tratta chi le riceve. Ne trovi la logica completa nella pagina Sicurezza.

← Torna al Blog