Robustezza delle password spiegata: lunghezza, entropia e passphrase
Una password è robusta quanto il numero di tentativi necessari per trovarla. Chi attacca non legge la tua password per giudicarla: prova password candidate, cominciando da quelle più rapide da provare e più probabili, finché una non funziona. Questa guida spiega come si misurano quei tentativi, perché aggiungere lunghezza aiuta molto più che aggiungere simboli, quando basta una passphrase di semplici parole e cosa si aspettano le attuali linee guida NIST dai siti che conservano la tua password.
Come vengono davvero violate le password
Ci sono due situazioni, e differiscono di molti ordini di grandezza.
I tentativi online avvengono contro un modulo di accesso. Il sito vede ogni tentativo e può rallentarli o bloccare l’account: le linee guida NIST impongono di limitare a non più di 100 i tentativi falliti consecutivi su un account. In questo caso cadono solo le password più deboli.
Gli attacchi offline avvengono dopo una violazione di dati, quando l’attaccante ha una copia degli hash delle password memorizzati e può verificare le password candidate sul proprio hardware alla massima velocità che questo consente. Una sola scheda grafica RTX 4090, nel benchmark di hashcat ampiamente citato, esegue circa 164 miliardi di tentativi al secondo contro MD5 e circa 184 mila contro bcrypt. La differenza dipende dalla scelta dell’hash fatta dal sito, non dalla tua password — ed è per questo che l’unica cosa che dipende da te è rendere il numero di password candidate troppo grande per poterle provare tutte.
Entropia: contare le possibilità
Per una password scelta a caso, la robustezza è semplicemente il numero di password possibili con quella lunghezza e quell’insieme di caratteri. Di solito si esprime in bit di entropia: ogni bit raddoppia il numero di tentativi necessari.
Entropia = lunghezza × log₂(dimensione dell’insieme di caratteri)
| Caratteri presi da | Dimensione dell’insieme | Bit per carattere |
|---|---|---|
| Solo cifre | 10 | 3,32 |
| Lettere minuscole | 26 | 4,70 |
| Lettere maiuscole, minuscole e cifre | 62 | 5,95 |
| Il generatore di nTools con tutti gli insiemi attivi | 80 | 6,32 |
| Tutti i caratteri stampabili (lettere, cifre e ogni simbolo della tastiera) | 94 | 6,55 |
Qui «stampabili» indica i 94 caratteri dell’ASCII di base che puoi digitare su una tastiera standard, spazio escluso: 26 lettere maiuscole, 26 lettere minuscole, 10 cifre e 32 simboli come ! ? @ # % & *. Il generatore di nTools usa 18 di quei simboli, ed è per questo che il suo insieme è di 80 caratteri.
La formula vale solo quando ogni carattere è scelto a caso. Una password inventata da una persona — una parola, un nome, un anno, una maiuscola all’inizio e un ! alla fine — ha molta meno entropia di quanto suggerisca la sua lunghezza, perché chi cerca di violarla prova proprio quegli schemi per primi.
La lunghezza batte la complessità
Aggiungere un carattere moltiplica il lavoro per l’intera dimensione dell’insieme; aggiungere un tipo di carattere allarga l’insieme solo di poco. I tempi qui sotto indicano quanto serve per provare ogni possibilità con una sola RTX 4090 contro MD5 senza salt — il caso peggiore per il sito — e a un attaccante con otto schede basta un ottavo del tempo.
| Password casuale | Entropia | Tempo per provarle tutte |
|---|---|---|
| 8 lettere minuscole | 37,6 bit | circa 1,3 secondi |
| 8 lettere e cifre | 47,6 bit | circa 22 minuti |
| 8 caratteri, tutti stampabili | 52,4 bit | circa 10 ore |
| 12 caratteri, tutti stampabili | 78,7 bit | circa 92.000 anni |
| 15 lettere minuscole | 70,5 bit | circa 320 anni |
| 20 caratteri dal generatore di nTools | 126,4 bit | ben oltre la portata di qualsiasi computer |
Quindici lettere minuscole battono otto caratteri di ogni tipo di un fattore di circa un quarto di milione. I simboli non sono inutili — aiutano — ma qualche carattere in più aiuta di più, ed è più facile da digitare su un telefono.
Passphrase: parole casuali
Una passphrase usa parole intere come «caratteri». La lista lunga di parole dell’EFF contiene 7.776 parole, una per ogni risultato di un lancio di cinque dadi, quindi ogni parola scelta a caso aggiunge circa 12,9 bit. L’EFF consiglia sei parole per la maggior parte degli usi, che danno circa 77 bit: quasi quanto una password di 12 caratteri presi fra tutti quelli stampabili, ma molto più facili da ricordare e digitare.
| Parole casuali dalla lista dell’EFF | Entropia |
|---|---|
| 4 parole | 51,7 bit |
| 5 parole | 64,6 bit |
| 6 parole | 77,5 bit |
| 7 parole | 90,5 bit |
Vale la stessa condizione: le parole devono essere scelte a caso, con i dadi o con un generatore. Un verso di una canzone o una frase inventata da te non è una passphrase casuale, per quanto lunga sia.
Cosa dicono le linee guida NIST
Le linee guida del NIST sull’identità digitale, SP 800-63B, sono il riferimento seguito dalla maggior parte delle politiche di sicurezza. La revisione pubblicata nel luglio 2025 ha cambiato diverse abitudini consolidate:
- Lunghezza: almeno 15 caratteri quando la password è l’unico fattore, e almeno 8 quando fa parte di un’autenticazione a più fattori. I siti dovrebbero consentire almeno 64 caratteri e accettare gli spazi e i caratteri Unicode, e devono verificare l’intera password, mai una sua parte troncata.
- Nessuna regola di composizione: i siti non devono imporre combinazioni di tipi di caratteri, come «una lettera maiuscola, una cifra, un simbolo».
- Nessun cambio forzato: i siti non devono imporre cambi periodici della password, ma solo quando ci sono prove che sia stata compromessa.
- Liste di password vietate: le nuove password devono essere confrontate con un elenco di password comuni, prevedibili o trapelate in violazioni di dati, e rifiutate se vi compaiono.
- Gestori di password: i siti devono consentire i gestori di password e la compilazione automatica, e dovrebbero consentire di incollare la password.
- Niente suggerimenti né domande di sicurezza: nessun suggerimento memorizzato visibile a chiunque, e nessuna domanda come «nome del tuo primo animale domestico».
Come i siti dovrebbero conservare le password
Un sito non dovrebbe mai conservare la tua password in sé, ma solo un suo hash: un’impronta a senso unico che permette di verificare un accesso ma non può essere semplicemente invertita. Gli hash veloci di uso generale come MD5 o SHA-256 sono lo strumento sbagliato, perché permettono di attaccare un database rubato a miliardi di tentativi al secondo. Le funzioni di hashing per password come bcrypt, scrypt e Argon2 sono volutamente lente e usano un salt casuale diverso per ogni password, ed è questo che riduce la velocità dell’attaccante da miliardi a migliaia.
Non puoi sapere quale usa un sito. È questa la ragione pratica per aspettarsi il peggio e scegliere una password che resisterebbe anche con un hash veloce.
In pratica, senza complicazioni
- Usa un gestore di password. Rende una password lunga e casuale per ogni sito facile quanto una corta, e la inserisce solo sul sito vero, il che protegge anche dalle pagine di phishing.
- Non riutilizzare mai una password. Quando un sito subisce una violazione, gli attaccanti provano la stessa email e la stessa password su tutti gli altri siti.
- Attiva un secondo fattore — oppure usa le passkey quando un sito le offre — per l’email, l’home banking e tutto ciò che può reimpostare le password degli altri tuoi account.
- Controlla se una password è trapelata. Il servizio Pwned Passwords di Have I Been Pwned la verifica senza riceverla: solo i primi cinque caratteri del suo hash SHA-1 lasciano il tuo dispositivo.
- Memorizzane solo poche. La password principale del gestore di password e quella del tuo account email più importante sono quelle per cui vale la pena usare una passphrase di sei parole.
Domande frequenti
Una password di 12 caratteri è abbastanza lunga?
Se è casuale e presa fra tutti i caratteri stampabili, ha circa 79 bit ed è fuori dalla portata di una ricerca offline. Se l’ha scelta una persona, può essere molto più debole. Il NIST ora chiede 15 caratteri quando la password è l’unico fattore.
Sostituire le lettere con simboli (P@ssw0rd) aiuta?
Quasi per niente. Gli strumenti di cracking applicano queste sostituzioni automaticamente, e P@ssw0rd compare in ogni elenco di password comuni. Contano la casualità e la lunghezza.
Devo cambiare regolarmente le mie password?
No, a meno che non ci sia motivo di pensare che una sia trapelata. I cambi programmati spingono le persone verso schemi prevedibili, come aggiungere un numero alla fine, ed è per questo che il NIST non permette più ai siti di imporli.
È sicuro usare un generatore di password online?
Solo se la password viene creata sul tuo dispositivo e non viene mai inviata da nessuna parte. Il generatore di nTools funziona interamente nel tuo browser e usa il generatore crittografico di numeri casuali del browser; non viene caricato nulla.