Gestisco un'app vendor che emette account (con password, ovviamente) per gli utenti finali. Da quello che posso vedere, le password degli utenti finali sono archiviate correttamente. La mia preoccupazione è la fase iniziale di generazione e comunicazione dell'account. Il primo punto di contatto con gli utenti finali spesso non è sul Web: è probabile che avvenga tramite telefono, posta o altri mezzi, pertanto l'app ha molte opzioni per comunicare le credenziali dell'account iniziale agli utenti finali. Per facilitare questa funzione, l'app memorizza la password iniziale in una colonna del database in testo semplice che può essere utilizzata per generare lettere, pacchetti di benvenuto, e-mail, mostrati sullo schermo per comunicare al telefono, integrati con altri sistemi software, ecc.
Qui c'è un fattore attenuante. L'utente finale deve modificare questa password prima che possa completare il suo primo accesso. La password modificata non viene riscritta nel database in testo semplice e non viene archiviata in un formato recuperabile. La password originale è valida solo al massimo qualche settimana prima che venga cambiata. Inoltre, l'utente finale non può fare nulla con un nuovo account che non potrebbe essere ripristinato, se necessario. Potrebbe essere possibile perdere alcune informazioni personali, ma credo che un nuovo account non visualizzerà dati che non sono considerati informazioni di directory.
Tuttavia, mi rode ancora che questa password in chiaro sia presente e si blocca anche dopo che è stata sostituita. Considerati i fattori attenuanti, è ancora un grosso problema?