Sono ben consapevole delle best practice per la memorizzazione delle password utente:
- Non memorizzare mai le password in testo semplice
- Non memorizzare mai password crittografate; conserva sempre gli hash delle password
- Salta sempre l'hash della password per scoraggiare gli attacchi di forza bruta
- Usa sempre sali unici per dissuadere gli attacchi usando le tabelle arcobaleno.
Tuttavia, recentemente mi sono imbattuto in un caso d'uso potenzialmente legittimo per mantenere le password utente in chiaro (o crittografate accessibili): il rilevamento delle frodi. Ad esempio, se disponiamo di un sistema che deve limitare gli acquisti a 1 (oa un piccolo numero) a persona, abbiamo osservato che i truffatori utilizzano spesso la stessa password ancora e ancora, quindi se abbiamo rilevato acquisti fraudolenti su un account, può utilizzare il fatto che la password corrisponde a un segnale utile in un sistema di rilevamento delle frodi.
Ma l'implementazione di un tale sistema richiede la rottura di tutte le migliori pratiche per l'archiviazione delle password.
Domanda: Se viene stabilito che è necessaria la capacità di rilevamento delle frodi di recuperare le password, quali sono le migliori pratiche per archiviare le password in modo sicuro ma in un modo accessibile al testo semplice?