In senso stretto, non puoi misurare l'entropia di una password. (Oppure, se lo desideri, puoi misurarlo, ma il valore è 0.) Non c'è entropia in una password: l'entropia è nel modo in cui la password è generata.
Questo è spiegato nel fumetto xkcd : "il corretto punto di riferimento della batteria di cavalli" è solo un esempio, che la password illustra è la procedura per generare quella password. Vale a dire: "quattro parole comuni casuali". Il pannello successivo fornisce la quantificazione "44 bit di entropia", che si basa su 11 bit per parola (cioè scegli ogni parola a caso tra 2 11 = 2028 parole). Quella procedura di generazione della password ha 44 bit di entropia, il che significa che in media, un utente malintenzionato che sa come è stata generata la password, dovrà fare 2 tentativi di trovare 43 . (In media, l'utente malintenzionato deve enumerare metà dello spazio per la password.)
Il fumetto non consiglia di scegliere "corretta graffetta della batteria del cavallo" come password. Si consiglia di selezionare 4 parole casuali. Il modello è noto, ma non le scelte casuali. Diceware è una variante popolare di questo metodo: scegli parole su un elenco di 6 5 parole tirando cinque dadi per ogni parola.
Per dirla in un altro modo: ci sono due aspetti nella scelta di una password, il casualità e intelligenza . Il metodo è intelligente e non contribuisce alla sicurezza della password. La casualità rende la password sicura , indipendentemente da qualsiasi intelligenza. L'intelligenza è utile solo per rendere la password più facile da scrivere e ricordare. Se sei intelligente , ottieni protezione solo contro gli attaccanti meno intelligenti di te.
Un metodo come "selezionare parole casuali" è facile da quantificare perché, a patto che le scelte casuali siano indipendenti, l'entropia si aggiunge . Se si aggiungono vincoli (ad esempio, generare qualcosa e "arrotondarlo" per renderlo memorabile), è necessario conta il numero di possibilità che rimangono e fai attenzione se il livellamento può mappare diversi rotoli casuali alla stessa password finale.
Sì, ci sono strumenti per verificare la forza di una password . Sono di due tipi. Quelle veloci applicano alcune euristiche . Non sempre hanno ragione, perché non hanno idea di come sia stata generata la password; tendono a favorire le password con bit intelligenti sulle password con casualità. Dal momento che vedono solo il risultato finale e non il metodo di generazione, non possono tener conto della casualità. Ad esempio (scelto a caso - non in senso crittografico) passwordmeter.com mi dice che "correcthorsebatterystaple" è debole (25%) e "Homechasebogbigamy" (che ho appena generato casualmente con la procedura XKCD) è molto debole (19%). Eppure, se ti avessi detto solo come avevo generato quella seconda password e non quale fosse la scelta casuale, ci sarebbero voluti 1000 computer circa 3 anni per trovarli a 100 tentativi / secondo / computer! Al contrario, pass+word1!
è classificato come strong (64%).
Il secondo tipo di correttore forza password è ... software di cracking. Questo ti dà la misura perfetta della tua password contro lo stesso software di cracking. Non ti dice molto su altri software di cracking.
Il modo migliore per assicurarti che la tua password sia sicura è misurare la quantità di casualità che ne deriva. N bits of randomness = 2 N-1 azzeccano in media per decifrarlo. Calcola quanto vuoi che 2 N-1 sia e deduci N.
Esercizio: per generare "homechasebogbigamy", ho usato un elenco di 4172 parole distinte in ordine alfabetico e generato ogni parola prendendo una parola a caso tra i primi 2048. Supponiamo che l'elenco sia pubblico. Il fatto che l'elenco sia stato ordinato alfabeticamente riduce l'entropia della password? La mia affermazione è che questa procedura ha 44 bit di entropia corretta?