Determinare se una determinata password è "strong" è un esercizio impreciso. Una domanda leggermente migliore è se è strong contro un particolare tipo di attacco. Ciò fornisce una struttura da cui è possibile iniziare a valutare quante ipotesi o quanto tempo si è tentato cercando di associare le ipotesi alla propria password specifica. Ma questo ti costringe anche a formulare alcune ipotesi su quali attacchi e approcci saranno provati, e questi potrebbero non corrispondere a ciò che accadrebbe nel mondo reale.
Quindi, osservando le tue due password presumibilmente generate casualmente, possiamo dire che l'attacco più ovvio è provare tutte le possibili combinazioni casuali con i rispettivi pool di caratteri. Sappiamo che se provassimo tutte le combinazioni troveremo una corrispondenza ad un certo punto durante quella ricerca. Potremmo anche valutare in che modo esattamente il software di ipotesi indaga attraverso le stringhe casuali e stimare dove all'interno del processo di forza bruta generale tali password possano essere violate.
Per fare i numeri, diciamo che la prima password dovrebbe corrispondere al 4% della forza bruta del rispettivo spazio delle chiavi, e la seconda password corrisponderebbe al 39% del suo rispettivo spazio delle chiavi. Potresti prendere quei risultati e dire con precisione che la seconda password è più strong contro questo specifico tipo di attacco di forza bruta.
Ma questo non poteva dirti che entrambi i gruppi di personaggi erano migliori o peggiori nella produzione di password sicure. È limitato al confronto di queste due password specifiche. In media, entrambi i pool producono password casuali di circa la stessa forza poiché hanno uno spazio delle chiavi simile.
Potremmo anche considerare la fattibilità computazionale di un utente malintenzionato che esaurisce tutte le possibilità in una forza bruta di uno spazio delle chiavi e dire che oggi non è probabile. A trilioni di password al secondo ci vorrebbe più di 600 giorni per cercare esaurientemente uno spazio delle chiavi. Se nessuno dei due è suscettibile di essere incrinato, allora potresti obiettare che sono ugualmente forti, o almeno entrambi abbastanza forti, dal punto di vista pratico.
Un altro attacco potrebbe indovinare le parole del dizionario. Sembra sicuro affermare che nessuna di queste password dovrebbe apparire in un dizionario. In questo caso sono anche ugualmente forti, dato che nessuno dei due ha possibilità di essere indovinato.
Tuttavia, se facciamo un passo indietro per valutare la probabilità che i rispettivi spazi delle chiavi corrispondano alle parole del dizionario, potremmo vedere un risultato diverso. Lo spazio chiavi della tua prima password è composto da circa lo 0,27% di stringhe tutte minuscole, tutte maiuscole o una combinazione di casi alfabetici. In confronto, lo spazio delle chiavi della seconda password è intorno al 14,45% delle stesse stringhe che potrebbero essere parole del dizionario.
Questo non significa che tutte queste stringhe alfabetiche siano parole (o combinazioni di parole). Una percentuale molto, molto piccola di quelle stringhe corrisponderebbe a qualsiasi elenco di parole specificato. Ma si potrebbe argomentare che una maggiore possibilità di una password generata a caso dal secondo pool contenente solo lettere significa che questo pool ha una maggiore possibilità di generare password che corrispondono alle parole. Ti esorto a misurare effettivamente questo effetto con gli elenchi di parole prima di proclamare che ciò è vero, ma alcune persone potrebbero vederlo e dire che il primo pool genera password più efficaci.
Quindi la mia conclusione sarebbe che ci sono diversi modi per misurare la forza di queste password (e ne ho discusso solo alcune). A seconda dell'approccio o degli approcci che hai intrapreso, potresti ottenere risultati diversi.