Cosa rende sicura una password
Una password è sicura quando un attaccante non riesce a indovinarla in un tempo ragionevole. Contano due cose: quanto è lunga e quanti caratteri diversi possono comparire in ogni posizione. Conta anche la casualità. Una password inventata da te, come il nome del cane seguito da un anno, è molto più facile da indovinare di quanto faccia pensare la sua lunghezza, perché le persone scelgono in modo prevedibile.
Questo generatore di password sicure sceglie ogni carattere a caso dai gruppi che hai attivato. Per questo la sua robustezza è facile da misurare, e non c’è alcuno schema da sfruttare.
Come usare il generatore di password
- Appena la pagina si carica, in La tua password compare una nuova password.
- Trascina il cursore Lunghezza, oppure usa i pulsanti meno e più, per scegliere da 4 a 128 caratteri. Il valore predefinito è 20.
- In Caratteri da usare attiva o disattiva Maiuscole, Minuscole, Numeri e Simboli.
- Scegli le opzioni:
- Evita caratteri simili (I l 1 O 0) esclude i caratteri facili da confondere.
- Usa tutti i tipi scelti garantisce almeno un carattere per ogni gruppo selezionato.
- Premi Nuova per un’altra password e Copia per copiarla.
- Te ne servono diverse? Scegli un numero in Quante password. Compaiono in Tutte le password, e Copia tutte copia l’intero elenco.
Sotto la password, una barra e un’etichetta mostrano la robustezza con una stima in bit.
Livelli di robustezza
| Bit di entropia | Etichetta |
|---|---|
| meno di 28 | Molto debole |
| da 28 a 44 | Debole |
| da 45 a 63 | Discreta |
| da 64 a 99 | Robusta |
| 100 o più | Molto robusta |
Esempi
Queste password e questi valori vengono da prove reali del generatore. Non usarle, perché ormai sono pubbliche.
| Lunghezza | Caratteri | Bit | Etichetta | Esempio |
|---|---|---|---|---|
| 6 | Numeri | 19.93 | Molto debole | 546382 |
| 8 | Minuscole | 37.60 | Debole | orvapcvl |
| 8 | Tutti e quattro i gruppi | 51.93 | Discreta | QpF4b@<V |
| 12 | Tutti e quattro i gruppi | 77.90 | Robusta | .y9}g-.ta$rP |
| 16 | Lettere e numeri | 95.27 | Robusta | ydrGkOZ9PrXPB6TL |
| 16 | Tutti e quattro i gruppi | 103.87 | Molto robusta | Aj~oJ-WDTW}8rJu2 |
| 20 | Tutti e quattro i gruppi | 129.84 | Molto robusta | CwEfwEyMg)>w~b-tMx.9 |
| 20 | Tutti e quattro, senza caratteri simili | 127.50 | Molto robusta | B;8#]&Dr/*3X8y]fP#-P |
Nota che la lunghezza conta più della varietà. Passando da 8 a 16 caratteri con tutti e quattro i gruppi, i bit raddoppiano più o meno.
Come funziona
I quattro gruppi contengono 26 lettere maiuscole, 26 minuscole, 10 cifre e 28 simboli, per 90 caratteri in totale. Evita caratteri simili ne toglie 7: I, l, 1, la barra verticale, O, 0 e o. Ne restano 83.
Ogni carattere viene estratto con crypto.getRandomValues, la sorgente di numeri casuali crittografica del browser. Lo strumento trasforma i numeri casuali in caratteri con il metodo del campionamento per rifiuto (rejection sampling) invece di un semplice resto, così ogni carattere del gruppo ha esattamente la stessa probabilità degli altri.
Quando Usa tutti i tipi scelti è attivo, una password che per caso non contiene uno dei gruppi scelti viene scartata e ne viene estratta un’altra. Così il risultato resta casuale in modo uniforme.
La stima della robustezza è la lunghezza moltiplicata per il logaritmo in base 2 della dimensione del gruppo di caratteri. Per 20 caratteri su 90 fa 20 x 6,49, circa 129,84 bit. È un limite superiore: richiedere tutti i tipi riduce leggermente il numero di password possibili, di poco per le lunghezze normali.
Privacy e sicurezza
- Nulla lascia il tuo dispositivo. Non c’è alcun passaggio su un server. La password esiste solo nella pagina finché non la copi.
- Nulla viene salvato. Ricarica la pagina e le password spariscono. Questo strumento non ha una cronologia, di proposito.
- Svuota gli appunti dopo aver incollato la password su un computer condiviso.
- Usa un password manager. Una password casuale è utile solo se puoi conservarla al sicuro. I password manager la inseriscono al posto tuo, quindi la lunghezza non ti costa nulla.
- Attiva l’autenticazione a due fattori dove puoi. Una password robusta non serve se te la rubano con una falsa pagina di accesso.
I bit mostrati presuppongono che la password sia stata generata a caso, come qui. Non valgono per una password che hai inventato tu e inserito in un altro strumento di verifica.
Altri modi per generare una password
Su un computer con Python, questo comando stampa ogni volta una nuova password di 20 caratteri tra lettere e cifre:
python -c "import secrets, string; a = string.ascii_letters + string.digits; print(''.join(secrets.choice(a) for _ in range(20)))"
Con OpenSSL installato, openssl rand -base64 18 stampa 24 caratteri casuali. Anche la maggior parte dei password manager ha un generatore integrato.
Per le password evita la funzione RAND di Excel (CASUALE nella versione italiana) e Math.random in JavaScript. Non sono pensate per essere imprevedibili.
Strumenti correlati
Per ID univoci invece che segreti usa il generatore UUID. Per numeri casuali in un intervallo usa il generatore di numeri casuali. Per calcolare il checksum di un file usa il generatore di hash MD5.