Nel giugno 2023 un programmatore di nome Neal Agarwal ha messo online sul suo sito, neal.fun, una cosa intitolata The Password Game. Ti chiede di scrivere una password. Poi che abbia almeno cinque caratteri. Poi un numero. Poi una maiuscola. Poi un carattere speciale.
Fin qui non è un gioco. È il modulo della tua banca.
Poi comincia l’altra parte. Che la somma delle cifre faccia 25. Che contenga il nome di un mese. Che contenga numeri romani il cui prodotto sia 35. Che contenga la soluzione del Wordle di oggi. Che identifichi il paese di una fotografia. Che contenga la mossa migliore di una posizione scacchistica, in notazione algebrica. Sono trentacinque regole, e per strada dentro la tua password si schiude un’emoji di uovo di nome Paul, che va nutrita con dei bruchi, mentre una fiamma ti mangia i caratteri se non la spegni in tempo.
Il gioco funziona per una ragione scomoda: nessuno deve spiegarti la battuta. La cogli al primo secondo, perché quel meccanismo lo subisci da mezza vita. Agarwal si è limitato a tirare ancora il filo.
Ed è qui che conviene rallentare. Le prime quattro regole non se le è inventate lui.
Da dove arrivano le regole che già conoscevi
Una maiuscola, un numero, un simbolo e una lunghezza minima non sono folklore di internet: sono la traduzione pratica di un documento del NIST statunitense pubblicato nel 2003, l’SP 800-63, scritto da Bill Burr. Da lì sono scese nei moduli di mezzo mondo, e da lì nella tua testa.
L’abbiamo raccontato per intero in cos’è una password: Burr non aveva dati su password reali — ne esistevano a malapena — così ha ragionato su ciò che sembrava sensato. Più varietà di caratteri, più combinazioni, più sicurezza. Nel 2017 il NIST stesso ha fatto marcia indietro, e Burr ha detto al Wall Street Journal di rimpiangere buona parte di quello che aveva scritto.
Il gioco di Agarwal, quindi, non esagera una politica di sicurezza. Prosegue un elenco che era già sbagliato alla prima riga. L’unica differenza tra «deve contenere un simbolo» e «le cifre devono sommare 25» è che alla prima ti sei abituato.
Quello che quelle regole non hanno mai misurato
Qui la battuta smette di far ridere, perché si può misurare.
Questi numeri escono dal controllo password di questo sito, con il suo modello dichiarato: un attacco offline contro un hash veloce, a 10¹² tentativi al secondo. Non sono stime da brochure; è quello che vedrai digitando le stesse stringhe lì dentro.
| password | regole rispettate | tentativi | resiste |
|---|---|---|---|
Password1! |
tutte e quattro | 15.000 | < 1 secondo |
Estate2026! |
tutte e quattro | 1,0 × 10⁷ | < 1 secondo |
Zx9#kQ2m |
tutte e quattro | 3,3 × 10¹⁵ | 55 minuti |
| sei parole tirate a dadi, minuscole | nessuna | 1,1 × 10²³ | 3.500 anni |
L’ultima riga non esce dal controllo ma dall’aritmetica, ed è voluto: il controllo non può sapere che quelle sei parole vengono da un dado, quindi calcolerebbe altro. Sei tiri sono esattamente 77,5 bit, e 77,5 bit a 10¹² tentativi al secondo fanno circa tremilacinquecento anni. Ci torniamo alla fine.
Rileggi. Password1! passa qualunque modulo del pianeta e cade prima che tu lasci
il tasto, perché la parola è nel dizionario e il resto è la decorazione che mettono
tutti: maiuscola davanti, numero e simbolo dietro. E l’ultima riga, sei parole
comuni in minuscolo, non la accetterebbe metà dei siti dove hai un account: non
ha maiuscole, né cifre, né simboli.
Vale la pena fermarsi su Zx9#kQ2m, perché è il caso migliore possibile della
regola. Otto caratteri davvero casuali, con tutti e quattro i tipi, esattamente
quello che la politica del 2003 considerava una password esemplare. Cinquantacinque
minuti. Ed è un tetto: il controllo non può sapere che l’hai digitata a caso,
quindi ti concede il beneficio del dubbio e calcola lo scenario migliore. E
comunque nessuno digita così. Chiedi a una persona otto caratteri con un simbolo e
quello che esce è Ciao123! — 5,6 × 10⁶ tentativi, meno di un secondo.
La regola non distingue i due casi. Per il modulo, Ciao123! e Zx9#kQ2m sono
la stessa password. È tutto qui il difetto: una regola di composizione misura la
forma della stringa, e la resistenza non sta nella forma.
La regola dei 90 giorni, ovvero come si inventa Autunno2026!
L’altra metà dell’eredità del 2003 è la scadenza. Cambiala ogni novanta giorni.
Nessuno inventa una password nuova ogni novanta giorni. Quello che fa la gente —
quello che fai tu, e io — è incrementare quella di prima. Estate2026! diventa
Autunno2026! e il lavoro è fatto. Entrambe resistono meno di un secondo, e se
un attaccante ha la prima, indovinare la seconda non è un attacco: è riempire uno
spazio vuoto.
Il NIST ha ritirato la rotazione obbligatoria nell’SP 800-63B, nel 2017. Nella revisione dell’agosto 2025 il tono si è irrigidito: dove prima diceva che i verificatori non dovrebbero imporre regole di composizione né richiedere cambi periodici, ora dice che non devono fare né l’una né l’altra cosa. Il cambio si forza solo se ci sono indizi di compromissione.
Nove anni dopo la prima ritrattazione, la tua azienda continua a chiederti una maiuscola ogni trimestre.
Il limite di caratteri è il segnale peggiore di tutti
Agarwal ha raccontato che la goccia che ha fatto traboccare il vaso, ciò che l’ha spinto a fare il gioco, è stata provare a creare un account e sentirsi dire che la sua password era troppo lunga.
Di tutte le regole assurde, è l’unica che per giunta è un brutto segno.
Un sistema che conserva la tua password come si deve non la conserva: conserva il suo hash, e un hash misura sempre uguale, che gli dai otto caratteri o ottocento. Non esiste nessuna ragione di archiviazione per un limite a sedici. C’è esattamente un’eccezione tecnica legittima e nota — bcrypt ignora ciò che supera i 72 byte — e non spiega i moduli che si fermano a dodici.
Un tetto basso non dimostra che stiano tenendo la tua password in chiaro, ma è il tipo di dettaglio che compare solo quando qualcuno l’ha infilata in una colonna di database a larghezza fissa. L’SP 800-63B chiede il contrario: che si accettino almeno 64 caratteri.
La regola che funziona non sta in un modulo
Il disagio di fondo è che la buona pratica non si può esprimere come una casella di validazione. Nessuno può scrivere un’espressione regolare per «non l’hai usata altrove» né per «non compare nell’ultima fuga di dati».
Quello che si può fare è contare. Una frase di parole scelte a dadi — Diceware — somma 12,9 bit puliti per parola, e quei bit sono bit davvero. Con lo stesso modello di 10¹² tentativi al secondo:
- Cinque parole sono 64,6 bit: circa 164 giorni.
- Sei parole sono 77,5 bit: circa 3.500 anni.
Vanno dette entrambe le cifre, non solo la seconda. Si ripete spesso che una frase di cinque parole «resiste secoli»; contro un hash veloce non resiste secoli: resiste cinque mesi e mezzo. Per questo Reinhold raccomandava cinque come minimo e sei per quello che conta davvero. La sesta parola è quella che cambia la scala, ed è gratis.
Nessuna delle due passerebbe il modulo della tua banca.
Perché il gioco fa ridere
Quando il gioco pretende che le cifre sommino 25, ridi perché è una condizione arbitraria che non ha nulla a che vedere con ciò che rende sicura una password.
Pretendere un simbolo è altrettanto una condizione arbitraria che non ha nulla a che vedere con ciò che rende sicura una password. La differenza è che quella la serve mezza internet, e che a quella ci siamo affezionati.
Se vuoi il riassunto operativo, sta in tre righe: usa il generatore o dei
dadi, metti il risultato nel gestore, e soddisfa le regole del modulo
aggiungendo quello che chiede, senza credere che questo ti abbia protetto da
qualcosa. La maiuscola davanti e il ! in fondo sono un pedaggio, non una difesa.
Il resto è un gioco. È fatto benissimo, e peccato che non sia rimasto un gioco.
Fonti: Neal Agarwal, «The Password Game» (neal.fun, 27 giugno 2023), le sue 35 regole e il racconto dell’autore sul modulo che gli disse che la sua password era troppo lunga · NIST SP 800-63 (2003), SP 800-63B (2017) e SP 800-63B-4 (agosto 2025), che passa da «non dovrebbero» a «non devono» su regole di composizione e scadenza, e chiede di accettare almeno 64 caratteri · dichiarazioni di Bill Burr al Wall Street Journal, agosto 2017 · Arnold G. Reinhold, Diceware (1995), da cui vengono i 12,9 bit per parola. I tempi della tabella sono misurati con il controllo password di questo sito, con il suo modello dichiarato di 10¹² tentativi al secondo contro un hash veloce; quelli di Diceware sono calcolati allo stesso ritmo a partire da log₂(7.776) per parola.
Foto di Olha Ruskykh · Pexels