Innanzitutto ritengo prudente comprendere l'entropia della password matematica. Il wiki su Forza password è un buon punto di partenza, ma in breve, entropia della password è probabile che una password possa essere indovinata dato un pool di simboli.
Questa non è né complessità né "crack-abilità", l'entropia si escludono a vicenda questi due concetti non lo sono.
L'entropia è importante per prima cosa perché ha due requisiti:
- Numero di simboli
- La lunghezza di quei simboli
Numero di simboli
Il numero di simboli forniti è una linea di base per il numero di bit di entropia per simbolo. L'alfabeto maiuscolo da solo non ha gli stessi bit entropici come se si includessero anche i simboli minuscoli. Se si includono i numeri, l'entropia per simbolo aumenta. Più simboli aggiungi, più bit di entropia guadagni per simbolo, in altri termini, maggiore è il numero di simboli, maggiore è l'entropia per ciascun simbolo.
Lunghezza dei simboli
La lunghezza dei simboli è importante perché ogni simbolo aggiunto raddoppia efficacemente la tua entropia. Questo è il motivo per cui la lunghezza da sola è un concetto così importante introdotto nella sicurezza delle password.
Che cos'è la complessità?
La complessità di una password sono le regole che mettiamo in atto per rafforzare la "casualità" delle password. Ecco le regole di base:
- maiuscolo
- minuscolo
- Numero
- Carattere speciale
Questi sono comuni alla maggior parte delle persone. I siti web lo usano sempre per cercare di forzare le persone alla casualità. Noi, tuttavia, non siamo casuali. Questo è il motivo per cui gli attaccanti possono usare qualcosa come attacchi di dizionario e algoritmi predittivi per indovinare le password.
Oltre a ciò, include misure di sicurezza come:
- Crittografia o hash utilizzati
- La forza di un sale
- Sicurezza di una chiave privata
e così via.
Crack-capacità
Questo è molto più complicato di un semplice post qui. È comunque un argomento interessante (almeno per me :)). L'abilità di crack è soggettiva e la parte che devi capire è che puoi misurare questo concetto solo sulla base di un set di regole definito. (Non posso dire una parola migliore, non mi piace "Crack-ability", ma sono abbastanza sicuro di capire cosa stai chiedendo).
Generatore PCFG
A seconda di ciò che stai cercando di definire usando il PCFG, può essere piuttosto complesso. Le basi di un PCFG è che se le dai da mangiare qualcosa, parole comuni, frasi, ecc., Fornisce una probabilità di ciò che potrebbe essere selezionato in seguito. Puoi vederlo nella vita di tutti i giorni usando gli smartphone con un testo predittivo. (Hai mai notato che quando hai iniziato a usarlo, le ipotesi erano meh e ora è abbastanza buono a sapere cosa stai per dire?)
Potresti nutrirlo con password comuni e controllare probabilmente di una persona che usa quella password.
Per il tuo progetto, a meno che tu non stia cercando di valutare il probabile cappuccio che una persona selezionerà una password, ti suggerirei di cercare qualcos'altro.