Questa è una domanda in due parti:Aiuto con il calcolo (e l'utilità) di password di entropia
Parte 1
In primo luogo, si tratta di calcolare l'entropia di una password in PHP. Non sono stato in grado di trovare esempi di codice che siano empiricamente validi e vorrei davvero un aiuto nel trovare il modo "giusto" per calcolare un numero finale. Un sacco di persone in rete hanno il loro algoritmo di ponderazione casalingo, ma sono davvero alla ricerca della risposta scientifica all'equazione.
Userò la password entropy come parte di un sistema di sicurezza più grande e come un modo per analizzare la nostra sicurezza generale dei dati basata su informazioni accessibili se la password di un utente è compromessa e con quale facilità una password può essere violata vigore.
Parte 2
La seconda parte di questa domanda è: quanto sia utile sarà questo numero davvero? Il mio obiettivo finale è generare un "punteggio" per ogni password del sistema che possiamo usare per monitorare la nostra sicurezza generale del sistema come entità dinamica. Probabilmente dovrò lavorare su un altro algoritmo o due per gli attacchi di dizionario, l33t password di sostituzione, ecc., Ma ritengo che l'entropia svolgerà un ruolo importante in una valutazione del sistema "globale". Comunque, accolgo con favore suggerimenti per altri approcci.
Lo que
Ho visto qualche accenno di equazioni logaritmiche per calcolare detto entropia, ma devo ancora vedere un buon esempio che non è in realtà scritto come un'equazione matematica. Potrei davvero usare un esempio di codice (anche se non strettamente in PHP) per farmi andare avanti.
estensione
Nel fare un commento mi sono reso conto che posso spiegare meglio l'utilità di questo calcolo. Quando sto lavorando su sistemi legacy in cui gli utenti hanno password estremamente deboli devo avere qualche prova concreta di tale debolezza prima di poter dimostrare che obbliga tutti gli utenti a cambiare le loro password con una nuova password (forzata) forte. Memorizzando un punteggio di rafforzamento della password per ciascun account utente nel sistema, è possibile creare diverse metriche per mostrare la debolezza complessiva del sistema e creare un caso per password più forti.
TIA
Non posso aiutare con l'entropia, ma ho già usato [cracklib2] (http://www.fifi.org/doc/cracklib2/) con successo. C'è un pacchetto Pear chiamato [crack] (http://pecl.php.net/package/crack) per l'uso con PHP. – Mike
Cos'è il downvote? Se hai intenzione di contrassegnarlo per favore fammi sapere perché così posso regolare la domanda o claify. – Shane
+1 per neutralizzare un downvote solo perché è una domanda chiara. –