32 caratteri. Ogni classe di caratteri. Qualità crittografica. Il tuo browser fa tutto il lavoro.
La robustezza di una password è un numero. Claude Shannon la formalizzò nel 1948 come entropia dell'informazione, misurata in bit. Ogni bit raddoppia il numero di combinazioni possibili che un attaccante deve provare. Una password estratta casualmente da 76 caratteri (maiuscole, minuscole, cifre e 14 simboli) porta circa 6,25 bit di entropia per carattere. Una password di 16 caratteri contiene quindi circa 100 bit di entropia: 2100 combinazioni possibili, un numero con 31 cifre.
La conseguenza pratica è esponenziale. Una password di 20 caratteri generata con questo strumento contiene circa 125 bit di entropia, il che significa che un attaccante dovrebbe provare circa 1037 combinazioni per garantirsi di trovarla. A un trilione di tentativi al secondo, il tempo di ricerca previsto supera l'età attuale dell'universo di un fattore di miliardi. La lunghezza è la variabile dominante. Aggiungere quattro caratteri fa di più per la sicurezza che passare da alfabetico ad alfanumerico.
Aggiungere un carattere a una password casuale moltiplica lo spazio di ricerca per 76. Aggiungere quattro caratteri lo moltiplica per 764, cioè circa 33 milioni. Questa crescita esponenziale è il motivo per cui la lunghezza conta molto più delle sostituzioni ingegnose. Sostituire "a" con "@" in una password scelta da un umano aggiunge praticamente zero entropia perché gli attaccanti includono già quella sostituzione nei loro dizionari. Aggiungere quattro caratteri realmente casuali aggiunge 25 bit di entropia. Venticinque bit significano che l'attaccante ha bisogno di 33 milioni di volte più tempo per esplorare lo spazio.
La pubblicazione speciale NIST 800-63B del 2024 raccomanda di dare priorità alla lunghezza della password rispetto alle regole di complessità. La ricerca alla base di questa linea guida ha scoperto che i requisiti di complessità (una maiuscola, una cifra, un simbolo) producono schemi prevedibili: Password1! soddisfa ogni regola pur comparendo in milioni di database di credenziali violate. Una stringa puramente casuale di 16 caratteri non soddisfa alcuno schema umano perché non ne ha nessuno da soddisfare. Questo generatore garantisce tutte e quattro le classi di caratteri per ogni password, poi mescola le posizioni con la stessa sorgente crittografica casuale in modo che nessuna posizione sia prevedibile.
Ogni carattere della tua password proviene da crypto.getRandomValues(), la Web Cryptography API specificata dal W3C. Questa funzione attinge entropia da sorgenti a livello hardware nel tuo dispositivo: rumore termico, jitter temporale elettrico e altri processi fisici radicati nell'incertezza quantistica. L'output supera rigorose suite di test statistici tra cui NIST SP 800-22 e TestU01.
La garanzia va oltre l'algoritmo. Questa è la stessa sorgente di entropia che genera le chiavi di sessione che proteggono il tuo home banking, le chiavi effimere in ogni connessione HTTPS e i vettori di inizializzazione nella messaggistica crittografata. I produttori di browser sottopongono questa implementazione a controlli incessanti perché una debolezza qui comprometterebbe ogni connessione sicura sul web. La tua password eredita l'intera catena di garanzie.
I ricercatori della Carnegie Mellon hanno analizzato milioni di password reali da database di violazioni e hanno trovato uno schema sorprendente. Le password scelte dagli umani si concentrano pesantemente intorno a poche migliaia di strutture comuni: nomi seguiti da anni, parole del dizionario con sostituzioni prevedibili, sequenze da tastiera come qwerty123. Questi schemi riducono l'entropia effettiva a 20-40 bit indipendentemente dalla lunghezza nominale, perché gli attaccanti costruiscono dizionari basati esattamente su questi schemi.
Una password generata da una macchina elimina completamente il fattore umano. Ogni posizione di carattere viene estratta indipendentemente dall'intero pool di caratteri con probabilità uniforme. Non c'è alcuno schema da sfruttare, nessun dizionario da consultare, nessuna tendenza psicologica da prevedere. L'unico attacco rimasto è la ricerca esaustiva dell'intero spazio delle chiavi, e la matematica della crescita esponenziale rende quella ricerca impraticabile per qualsiasi lunghezza di password ragionevole.
Il pannello di analisi della robustezza qui sopra mostra stime di violazione in tempo reale a tre velocità di attacco. Lo scenario di attacco online (1.000 tentativi al secondo) rappresenta un servizio web con limitazione della frequenza. Lo scenario con hardware veloce (10 miliardi al secondo) rappresenta un cluster GPU ottimizzato che viola hash offline. Lo scenario di stato (1 trilione al secondo) rappresenta un massimo teorico con infrastruttura dedicata. A 100 bit di entropia, anche lo scenario di stato richiede circa 4 × 1018 anni. Il sole esaurirà il suo combustibile a idrogeno tra circa 5 miliardi di anni. La tua password sopravvive al sistema solare.
L'entropia delle password offre un accesso diretto alla teoria dell'informazione. Fate visitare agli studenti /password/8 e annotare l'entropia, poi fate visitare /password/16 e osservare che l'entropia raddoppia esattamente. Ogni carattere aggiunto contribuisce un numero fisso di bit. Questa relazione lineare tra lunghezza ed entropia produce una relazione esponenziale tra lunghezza e sicurezza, un concetto che gli studenti possono verificare confrontando le stime dei tempi di violazione a diverse lunghezze.
Per un esercizio più approfondito, confrontate le password di dice83 con le passphrase diceware. Una passphrase di sei parole porta circa 77 bit di entropia. Una password casuale di 12 caratteri porta circa 75 bit. Entrambe raggiungono una sicurezza simile attraverso meccanismi completamente diversi: la passphrase usa un pool ampio (7.776 parole) con poche selezioni; la password usa un pool più piccolo (76 caratteri) con più selezioni. Il compromesso è tra memorizzabilità e robustezza pura, e comprendere questo compromesso insegna agli studenti come funziona realmente l'entropia. Lo strumento funziona interamente nel browser, non richiede account e non memorizza dati degli studenti.
Ogni password generata in questa pagina esiste solo all'interno del tuo browser. Il server fornisce l'HTML, il CSS e il JavaScript che compongono lo strumento. Il tuo dispositivo esegue la generazione. In nessun momento alcuna password, password parziale o dato relativo alla password viaggia attraverso alcuna connessione di rete. L'unica registrazione persistente di una password è dove scegli di incollarla dopo averla copiata.
Condividere l'URL dello strumento è intrinsecamente sicuro. Inviare a qualcuno il link /password/20 gli fornisce lo stesso generatore con la stessa configurazione. Il loro browser crea password completamente indipendenti dalla propria sorgente di entropia. L'URL porta la specifica dello strumento. Il tuo dispositivo custodisce il segreto.
Digita qualsiasi lunghezza direttamente nella barra degli indirizzi:
Invia lo strumento, mai la password. Ogni visitatore genera la propria.
Ispirazione Quotidiana
Opere selezionate dalla giuria dell’A' Design Award, presentate fresche ogni mattina.