C’è una ricerca che si ripete di continuo: idee per una password. Ed è comprensibile, perché il modulo è lì che aspetta, qualcosa bisogna inventarsi e nessuno ti ha mai spiegato come si fa.
Il problema è che la parola idee è già l’errore. Una buona password non è una buona idea. È una password che non ha nessuna idea dietro.
E non è una bella frase per aprire un articolo: è letteralmente il modo in cui funziona un attacco.
L’elenco di idee che ti vengono è quello che lui prova per primo
Un attacco a dizionario non parte da aaaaaaaa per poi salire. Parte dalle
password già trapelate a milioni, prosegue con i nomi propri, i nomi comuni, le
città, le squadre di calcio e gli anni a quattro cifre. E su quella base applica
regole: maiuscola all’inizio, cifra o ! alla fine, a in @, e in 3, o
in 0, la parola al contrario, la parola scritta due volte.
Quelle regole non sono né segrete né recenti. Sono scritte da decenni e arrivano di serie in qualunque strumento d’attacco. Detto altrimenti: il catalogo di trovate che tu chiameresti “idee per una password” è, più o meno nello stesso ordine, il file di configurazione di chi ti attacca.
Da qui in poi tutte le cifre escono dal controllo di casa nostra, che assume un attacco offline a 10¹² tentativi al secondo contro un hash veloce. È scritto sotto il risultato, e senza quel dato nessun tempo significa niente. Puoi riprodurre ogni numero da solo: scrivi l’esempio e guarda.
Idea uno: il tuo nome e l’anno in cui sei nato
Chiara1985. Dieci caratteri, una maiuscola, quattro cifre. Soddisfa quello che
chiede mezza internet.
Il controllo la spezza in due a colpo d’occhio: “È nei nostri dizionari” per
Chiara, “Sembra un anno o una data” per 1985. Risultato: 337.600
tentativi, che a quel ritmo sono meno di un secondo.
E guarda perché sono 337.600 e non un numero astronomico. Non è questione di lunghezza. È che non sono dieci decisioni, sono due: quale nome e quale anno. I nomi frequenti si contano a migliaia; gli anni che la gente mette davvero in una password, a decine. Moltiplichi ed è fatta: hai scritto dieci caratteri e hai scelto tra meno di mezzo milione di password possibili.
Idea due: sostituire la «a» con una chiocciola
Questo è il trucco in cui credono tutti, ed è quello che invecchia peggio.
Chi@r@1985 dà 665.200 tentativi. È salito, sì: esattamente al doppio. E il
doppio di niente resta niente — il controllo la misura ancora in meno di un
secondo — perché la sostituzione non ha creato una password nuova: ha aggiunto una
domanda binaria che l’attaccante aveva già previsto, cioè se quella persona ha
sostituito la a oppure no.
Guarda bene: il controllo non cambia nemmeno il verdetto. Continua a dire “È nei nostri dizionari”, stavolta con la postilla con numeri al posto delle lettere. La parola l’ha trovata lo stesso.
Se vuoi vedere fin dove arriva la faccenda, prova l’esempio canonico. P@ssw0rd,
con la sua maiuscola, la sua chiocciola, il suo zero e la sua aria di essere stata
pensata bene, cade in 17 tentativi. Diciassette. Si contano sulle dita di due
mani con un po’ di pazienza.
Idea tre: scriverla al contrario
araihc1985 dà 337.600 tentativi. Lo stesso numero, fino all’ultima cifra,
di Chiara1985.
Non è che invertirla aiuti poco. È che non cambia assolutamente niente. Invertire la parola è una delle regole che il dizionario porta di serie, quindi il controllo la trova uguale e la etichetta uguale, stavolta con la postilla scritta al contrario.
Lo stesso vale per raddoppiarla: ChiaraChiara scende a 6.555 tentativi —
scrivere il doppio delle lettere ti lascia peggio di prima, perché “ripete un
pezzo” è anche lui uno schema con nome e cognome.
Idea quattro: scendere sulla tastiera con le dita
Quando uno non vuole pensare, guarda la tastiera e percorre una forma. Ne esce
qwerty123, oppure 1qaz2wsx, o 1q2w3e4r, o asdfghjkl.
Sembra casuale perché non significa niente. Ma una tastiera ha una geometria fissa e piccolissima, e percorrerla è esattamente ciò che un programma fa meglio di te:
qwerty123→ 273 tentativi.1qaz2wsx→ 29 tentativi.
Ventinove. Queste password sono così consumate che le regole di tastiera non servono nemmeno: compaiono tali e quali negli elenchi di password trapelate, e il controllo le liquida con un secco “È nei nostri dizionari”.
Idea cinque: il cane, e la data che non si dimentica
Toby2015! è una password con una biografia: il nome del cane, l’anno in cui è
arrivato in casa e un punto esclamativo per accontentare il modulo. Dà
1,2 × 10⁸ tentativi, e resta comunque meno di un secondo.
I nomi di animale più comuni sono qualche migliaio, e stanno negli stessi elenchi
dei nomi di persona. Il ! finale porta quello che porta una regola che applicano
tutti: niente.
Con la data importante va anche peggio. 24121985 — un giorno, un mese, un anno —
si legge come otto cifre, ma il controllo la etichetta “Contiene una data” e la
risolve in 14.966 tentativi. Il motivo è di calendario: ci sono 31 giorni, 12
mesi e un secolo abbondante di anni plausibili. Otto cifre che sembrano dieci
milioni di combinazioni sono, in realtà, circa quindicimila.
Questa è la trappola della data: ti dà lunghezza senza darti incertezza, e l’incertezza è l’unica cosa che si paga.
Idea sei: la targa, e quello che il controllo non può vedere
4521KDR è un caso diverso, e vale la pena fermarsi.
Qui il controllo dice “Non abbiamo trovato alcuno schema noto” e calcola 3,9 × 10¹⁰ tentativi. Ma marca quel numero come un tetto, e quella parola è la parte importante: non ha trovato il tuo schema, il che non dimostra che tu non ne abbia uno. Anche così, ed essendo generosi, il tempo resta meno di un secondo.
Ed ecco il divario da capire. Il controllo non sa che macchina hai. Chi ti conosce, chi ha il tuo Instagram davanti o chi ha comprato un archivio di dati in cui figura la tua targa, non ha bisogno di 3,9 × 10¹⁰ tentativi: gliene serve uno. Il numero che vedi quando non c’è schema misura l’ignoranza di uno sconosciuto, non quella di qualcuno che ti ha cercato.
Lo stesso vale per il numero civico, il codice fiscale, il telefono e la data del matrimonio.
Cosa hanno in comune tutte e sei
Nessuna di queste idee fallisce perché è “poco complessa”. Falliscono tutte per lo stesso motivo: sono autobiografia, e l’autobiografia si indovina. Il tuo nome, il tuo anno, il tuo cane, la tua auto, il tuo modo di percorrere la tastiera. Ognuna di quelle decisioni ti sembra personale e tua, ed è proprio per questo che appartiene a un elenco corto che qualcuno ha già scritto.
Aggiungere complessità non risolve niente, perché la complessità che applichi tu
è anch’essa una tua decisione ed è anch’essa in elenco. Ecco perché Chi@r@1985
guadagna un misero fattore due e araihc1985 non guadagna nemmeno quello.
Se vuoi l’argomento in numeri, sta nei bit di entropia: quello che conta non è quante password avresti potuto scrivere, ma quante ne restano una volta tolto tutto ciò che si sa dei tuoi gusti.
L’uscita non è un’idea migliore: è smettere di avere idee
L’unico modo di uscire dall’elenco è che la password non esca dalla tua testa.
È esattamente quello che fa Diceware: tiri cinque dadi, cerchi il numero in un elenco di 7.776 parole e annoti quello che esce. Ogni tiro vale 12,9 bit, e sono 12,9 veri, perché i dadi non hanno gusti, né memoria, né il tuo anno di nascita. Sei parole fanno circa 77 bit.
Mettine una nel controllo e guarda cosa cambia: sei parole comuni tirate a dadi passano da “Bassa” a “Molto alta”, e il tempo smette di misurarsi in secondi. Non perché siano contorte — non lo sono, sono sei parole normali — ma perché è l’unica parte della tua password che non hai deciso tu. Se preferisci che i dadi li tiri il browser, il generatore fa lo stesso sorteggio e ti mostra i bit mentre lo fa.
Quindi la risposta onesta a “dammi qualche idea per una password” è che non ti servono, e che anzi ne hai già troppe. Quello che ti manca è un dado.
Fonti: tutte le cifre di questo articolo escono dal controllo di password.es, che dichiara il proprio modello sotto il risultato — 10¹² tentativi al secondo, attacco offline, hash veloce — e sono riproducibili scrivendo ogni esempio in /it/controllo/ · il motore di analisi degli schemi è zxcvbn, di Daniel Lowe Wheeler (Dropbox), presentato a USENIX Security 2016 come “zxcvbn: Low-Budget Password Strength Estimation” · le regole di sostituzione, inversione e ripetizione citate sono quelle che gli strumenti di attacco a dizionario portano di serie · Arnold G. Reinhold, “The Diceware Passphrase Home Page” (1995), per le 7.776 parole e i 12,9 bit per tiro.
Foto di RDNE Stock project · Pexels