Mi sono dato il compito di scrivere un codice che determini la forza di una password, e voglio davvero uscire da un sacco di modi già stabiliti per farlo, poiché spesso mancano, non sono progettati nel modo giusto o diventa rapidamente irrilevante.
Generalmente, vedremo i pattern in cui inserisci una password e viene presentato un booleano "hai bisogno di 7 caratteri con lettere e numeri". Più tardi, abbiamo avuto un grafico senza errori che mostra un "strong a "scala" debole (e variazioni dove questa è una percentuale). Stiamo migliorando a questo schema, molto meglio in realtà, dove pensiamo a che mostra l'ora dell'utente per la forza bruta , esplicitamente mostrando i motivi per cui è stato assegnato quel punteggio,
Ora mi piace molto la presentazione di queste ultime due idee, ma non è la mia preoccupazione principale qui, e la mia domanda non ha nulla a che fare con la presentazione di questo strumento.
La mia domanda è: cosa dovrebbe prendere in considerazione un programma che genera un intervallo stimato di sicurezza della password?
Dopo aver esaminato la fonte di howsecureismypassword.net, vediamo che fa alcune cose chiare, come tenere un elenco delle 500 password comuni più comuni, raggruppare le password per classi di caratteri che sono coinvolte e collegare un meta-punteggio a una stima tempo per rompere un gruppo di valori hash in quell'intervallo. Ci sono alcuni problemi con questo, come le 500 password top non riflettono i "top 500", ma piuttosto quelli al momento della scrittura del codice, lo stesso vale per le velocità di cracking della password e gli attacchi che potrebbero non finire con l'uso di forza.
Vedo problemi simili con passwordmeter.com, ma più nel senso che viene eseguita la migliore delle ipotesi piuttosto che degli scenari peggiori.
Quindi la mia domanda è
A cosa devo pensare per misurare il punteggio di sicurezza di una password al momento "now"?