NOTA: Sono consapevole che esistono molte domande simili sull'argomento della memorizzazione sicura delle password, tuttavia, sto postando questo perché ritengo che sia abbastanza diverso dalle domande di archiviazione delle password esistenti perché questa domanda è in primo luogo su come un servizio può inviare in modo sicuro all'utente una password generata in modo casuale in testo semplice e tuttavia mantenerlo al sicuro (cioè nel database) invece di memorizzare una password fornita dall'utente in modo sicuro.
Ho notato che il servizio VPN che uso (PIA) si trova nell'elenco dei utenti che hanno un testo normale , e la mia opinione parziale è che non lo fanno. Indipendentemente da ciò, mi chiedo se sia davvero una buona idea per un servizio come PIA generare password utente e inviarle all'utente in testo in chiaro, conservandole comunque in un database usando le best practice come descritto altrove (hashing, salatura, più iterazioni, ecc.)
Se dovessi implementare qualcosa del genere, il mio pensiero sarebbe di fare un flusso simile a questo:
- L'utente si registra (e non fornisce una password)
- Genera una password e memorizzala temporaneamente
- Trasmetti la password in testo semplice all'utente tramite qualsiasi metodo
- Inserisci la password e salvala nel database
- Elimina definitivamente la password in chiaro memorizzata e / o sovrascrivi un po '.
La mia domanda è: è possibile ottenere la funzionalità sopra descritta in grassetto o in un modo simile a quanto elencato sopra o in un modo diverso?
Nota: non sto chiedendo la sicurezza di trasmettere la password, solo se c'è un buon modo per il servizio di mantenerlo sicuro sulla loro parte mentre è ancora in grado di inviare all'utente la propria password in chiaro.