Perché usare un generatore di password?
Le password deboli o riutilizzate restano la prima causa di compromissione degli account online. Secondo il report Verizon DBIR 2024, l'80% delle violazioni coinvolge credenziali rubate o indovinate. Un generatore di password elimina i bias umani e crea credenziali veramente casuali.
Il problema delle password create manualmente:
Gli esseri umani non sono bravi a generare casualità. Riutilizziamo sempre gli stessi pattern: nome + anno di nascita, nome del cane + "123", parola del dizionario con un "!" alla fine. Queste password cadono in pochi secondi di fronte a un attacco a dizionario.
Cosa risolve un generatore:
- Vera casualità: nessun pattern, parole del dizionario o informazioni personali
- Forza calibrata: regola lunghezza, tipi di caratteri ed entropia in base alle tue esigenze
- Generazione istantanea: crea una nuova password in millisecondi
- Riproducibilità: stesso livello di sicurezza per ogni password generata
Come usare il generatore in 3 passi
Passo 1: scegli la modalità di generazione
Sono disponibili due modalità:
- Casuale: caratteri individuali mescolati (es:
k7#Qm9!xR2pL$wN4). Entropia massima per carattere. Ideale quando un gestore di password conserva la password per te. - Memorizzabile: frasi di accesso composte da parole casuali (es:
Sloppily8-Rosy3-Unlocking8-Angelic4). Più facile da ricordare e digitare, con un'entropia elevata grazie al numero di parole.
Passo 2: regola i parametri
In modalità Casuale:
- Lunghezza: da 4 a 128 caratteri (consigliato: 16+ per account sensibili)
- Tipi di caratteri: maiuscole, minuscole, cifre, simboli
- Esclusioni: caratteri simili (0/O, 1/l/I), caratteri personalizzati
In modalità Memorizzabile:
- Numero di parole: da 3 a 10 (consigliato: 4+ parole)
- Separatore: trattino, spazio, punto, personalizzato
- Opzioni: maiuscole, aggiunta di cifre tra le parole
Passo 3: copia e usa
Clicca sul pulsante copia. La password viene copiata negli appunti. Usala subito nel tuo gestore di password o nel modulo di registrazione del servizio.
L'indicatore di forza mostra in tempo reale l'entropia (in bit), il punteggio di sicurezza e il tempo stimato di crack brute-force.
Casuale vs. Memorizzabile: quando usare ogni modalità
| Criterio | Modalità Casuale | Modalità Memorizzabile |
|---|---|---|
| Entropia per carattere | ~6.5 bit (95 chars ASCII) | ~12.9 bit per parola (7776 parole Diceware) |
| Esempio | k7#Qm9!xR2pL$wN4 | Sloppily8-Rosy3-Unlocking8 |
| Facilità di memorizzazione | Impossibile senza gestore | Possibile con un po' di impegno |
| Facilità di digitazione | Difficile (simboli, maiuscole/minuscole) | Facile (parole comuni) |
| Caso d'uso ideale | Account salvati in un gestore | Password master, PIN, accesso condiviso |
Quando scegliere Casuale:
- Account web salvati in 1Password, Bitwarden o KeePass
- Chiavi API e credenziali di servizio
- Qualsiasi password che non dovrai mai digitare manualmente
Quando scegliere Memorizzabile:
- La password master del tuo gestore (l'unica che memorizzi)
- I codici di sblocco che digiti frequentemente (schermata di blocco)
- Le password condivise che devi comunicare a voce
Capire l'entropia delle password
L'entropia misura l'imprevedibilità in bit. Ogni bit raddoppia il numero di combinazioni possibili. La formula è: entropia = log2(numero_di_combinazioni).
Esempio concreto:
- Una password di 8 caratteri tra 26 lettere minuscole:
log2(26^8)= 37.6 bit - La stessa con maiuscole + minuscole + cifre (62 chars):
log2(62^8)= 47.6 bit - Con simboli in più (95 chars):
log2(95^8)= 52.6 bit - 16 caratteri tra 95 chars:
log2(95^16)= 105.2 bit
| Entropia | Forza | Tempo di crack (10¹² tentativi/sec) |
|---|---|---|
| <28 bit | Molto debole | Secondi |
| 28-35 bit | Debole | Minuti o ore |
| 36-59 bit | Media | Giorni o anni |
| 60-127 bit | Forte | Migliaia o miliardi di anni |
| ≥ 128 bit | Molto forte | Oltre qualsiasi tecnologia prevedibile |
La soglia di 10¹² tentativi/secondo corrisponde a un attacco brute-force con hardware GPU moderno (tipo cluster di schede grafiche). Per un servizio online con rate limiting, il tempo reale sarebbe considerevolmente più lungo.
Buone pratiche di sicurezza delle password
Raccomandazioni NIST SP 800-63B (2024)
Il National Institute of Standards and Technology (NIST) ha aggiornato le sue raccomandazioni sulle password. I cambiamenti principali rispetto alle vecchie pratiche:
| Vecchia pratica | Raccomandazione NIST attuale |
|---|---|
| Cambiare le password ogni 90 giorni | Cambiare solo se compromesse |
| Richiedere caratteri speciali | Privilegiare la lunghezza rispetto alla complessità |
| Minimo 8 caratteri | Minimo 8, consigliato 15+ |
| Domande segrete | Vietate (troppo prevedibili) |
| Suggerimenti per la password | Vietati |
Le 5 regole essenziali
- Una password unica per ogni servizio: se un servizio viene compromesso, gli altri restano protetti
- Lunghezza > complessità:
correcthorsebatterystaple(25 chars, ~58 bit) è più sicura e più memorizzabile diP@$$w0rd(8 chars, ~30 bit) - Usa un gestore di password: 1Password, Bitwarden o KeePass per conservare centinaia di password uniche
- Attiva la 2FA ovunque: TOTP (Google Authenticator, Authy) o chiave di sicurezza FIDO2 su tutti gli account critici
- Verifica le fughe di dati: consulta Have I Been Pwned per sapere se le tue credenziali sono state esposte in una fuga di dati
Esempi di password e la loro forza
| Tipo | Esempio | Entropia | Tempo di crack | Verdetto |
|---|---|---|---|---|
| Parola comune | password | ~0 bit | Istantaneo (dizionario) | Catastrofico |
| Nome + anno | Maria1990 | ~20 bit | Secondi | Molto debole |
| Casuale 8 chars | k7#Qm9!x | ~52 bit | Giorni | Media |
| Casuale 12 chars | k7#Qm9!xR2pL | ~79 bit | Migliaia di anni | Forte |
| Casuale 16 chars | k7#Qm9!xR2pL$wN4 | ~105 bit | Miliardi di anni | Molto forte |
| Frase di accesso 4 parole | Correct-Cavallo-Batteria-Graffetta | ~52 bit | Giorni o mesi | Media |
| Frase di accesso 5 parole + cifre | Sloppily8-Rosy3-Unlocking8-Angelic4-Brisk7 | ~85 bit | Milioni di anni | Forte |
Il compromesso ideale per la maggior parte degli utenti: una password casuale di 16+ caratteri conservata in un gestore, con una frase di accesso di 5+ parole come password master.
Come funziona la generazione?
Generazione crittografica (CSPRNG)
Il nostro generatore utilizza crypto/rand di Go, un CSPRNG (Cryptographically Secure Pseudo-Random Number Generator) che si basa sulle fonti di entropia del sistema operativo:
/dev/urandomsu LinuxCryptGenRandomsu WindowsSecRandomCopyBytessu macOS
A differenza dei generatori pseudo-casuali classici (Math.random() in JavaScript, random in Python), un CSPRNG produce un output imprevedibile anche per un attaccante che conosce i valori precedenti.
Processo di generazione
- Calcolo del pool di caratteri: in base alle opzioni attivate (maiuscole, minuscole, cifre, simboli), il pool contiene tra 10 e 95 caratteri
- Estrazione casuale: per ogni posizione della password, un byte casuale viene estratto dal CSPRNG e convertito in un indice nel pool
- Calcolo dell'entropia:
log2(dimensione_pool^lunghezza)fornisce l'entropia in bit - Stima del tempo di crack: basata su 10¹² tentativi/secondo (attacco GPU offline)
- Trasmissione sicura: la password viene restituita via HTTPS e non viene né memorizzata, né loggata, né messa in cache
Strumenti complementari
| Strumento | Utilità |
|---|---|
| Convertitore di maiuscole/minuscole | Trasformare il formato del testo (UPPER, lower, Title, camelCase) |
| Codificatore/decodificatore Base64 | Codificare dati sensibili per il trasporto |
| Statistiche del testo | Analizzare lunghezza e composizione di un testo |
| Generatore di slug | Trasformare un testo in identificativo URL-safe |
Risorse utili
- NIST SP 800-63B: Digital Identity Guidelines: raccomandazioni ufficiali sulle password
- OWASP Password Storage Cheat Sheet: buone pratiche di conservazione lato server
- Have I Been Pwned: verifica se le tue credenziali sono presenti in una fuga di dati
- Diceware Passphrase: metodo originale di generazione di frasi di accesso
- Passkeys vs password: confronto tra passkeys e password tradizionali