Could someone potentially figure out the algorithm they use to generate these passwords?
Questo dipende. Il mio approccio sarebbe semplicemente generare un output leggibile da /dev/urandom
, nel qual caso non è probabile?
also these temp passwords have to be stored somewhere in plain text, correct?
In realtà no. Se il sito in questione utilizza schemi di archiviazione sicuri delle password, ad esempio hash lenti salati come bcrypt o PBKDF2, è necessario memorizzare l'hash derivato della password. In sostanza, è come se avessi istruito il server a cambiare la tua password, eccetto che fatta dal tuo server per tuo conto.
La finestra per mantenere la password in memoria è quindi il tempo necessario per generarlo, inviarlo in una email, cancellarlo e memorizzarlo.
Ora, la vera sostanza della domanda è davvero questo è un modo sicuro per inviare a qualcuno una password? La risposta a questo non è davvero, ma le alternative sono:
La seconda opzione è probabilmente proibitiva. Quest'ultimo non è un buon archivio di password. La prima opzione è "male", nel senso che tutto ciò di cui hai bisogno per dirottare l'account è l'accesso a quell'email.
Penso che, combinata con una finestra di utilizzo a tempo limitato per questa reimpostazione della password, al momento questa sia la soluzione migliore possibile per i siti Web di uso generale che non dispongono dell'infrastruttura per supportare altri metodi di reimpostazione della password.
Tutta questa risposta presuppone che ottenere un indirizzo email / link di reimpostazione della password richieda di sapere qualcosa sull'account oltre al semplice indirizzo email. Le domande segrete sono un altro tipo di worm, quindi supponiamo che ottenere il link / email di reimpostazione della password sia almeno più difficile che conoscere l'indirizzo email.