Ho letto molti, molti, molti post su come "probabilmente stai memorizzando le password sbagliate". Si riferiscono sempre alla memorizzazione di password su un server in cui un utente sta effettuando l'accesso; hanno sostanzialmente riformulato consigli onnipresenti (giochi di parole) come assicurarsi di salare le password, ecc. ecc. Tuttavia, non ho mai visto un articolo sulle migliori pratiche per l'archiviazione delle password su un client in modo che il client non debba accedere manualmente ogni volta che vogliono accedere; la funzione "Ricordami".
Molti software hanno questa funzione, dai browser a programmi come Dropbox.
Recentemente ho letto un vecchio articolo su come Dropbox stava memorizzando un ID sul tuo computer che potevi semplicemente copiare / incollare su un altro computer e avviare Dropbox e accedere come dispositivo da cui hai ottenuto l'ID; nessun accesso, niente di nulla e pieno accesso all'account Dropbox. Sembra un design davvero stupido, ma non riesco a pensare a un modo migliore per farlo.
Non sono nemmeno sicuro di come evitare di memorizzare qualcosa come un cookie in testo semplice. Se lo crittografate, dove conservate la chiave per decrittografarla?
L'unico modo in cui vedo di non introdurre vulnerabilità di sicurezza è rimuovere la funzione di accesso automatico e fare in modo che l'utente digiti la password ogni volta che desidera utilizzare un servizio, ma questa è una lotta per l'usabilità e gli utenti hanno l'imbarazzo di aspettarsi di non doverlo fare.
Cosa posso leggere sull'archiviazione locale delle credenziali in modo sicuro per implementare la funzione di accesso automatico? Se i principi sono troppo semplici per un intero articolo, quali sono? Il software in questione non dovrebbe dipendere da funzionalità non presenti su tutte le piattaforme (come il "portachiavi" di alcune distribuzioni di Linux).