Quando sviluppi un modulo di login per un'applicazione web, suggerisci di mantenere il nome utente e la password in un keystore? Supponiamo che il keystore sia stato tenuto in un posto molto sicuro nel web server.
Non è mai una buona idea memorizzare le password sul server in qualsiasi luogo, keystore o altro. Non importa quanto sei sicuro di mantenere le password - le stai ancora salvando da qualche parte, che introduce una serie di possibili vulnerabilità che sono completamente evitabili.
Dovresti scaricare il processo di login su un provider esterno (per exmaple, OpenID) o dovresti memorizzare solo gli hash delle password (e i sali associati). In questo modo, anche se il tuo server è compromesso, le password non sarebbero disponibili senza un software di cracking delle password brute force (che non otterrà ancora password sicure - e non ne otterranno molte più deboli se usi un algoritmo di hashing di buona password come bcrypt).
Per quanto riguarda la posizione in cui archiviare gli hash delle password, non ha molta importanza purché soddisfi le tue specifiche di permanenza e prestazioni. La maggior parte delle persone utilizza un database tipico per archiviarli, ma un semplice archivio di valori-chiave (con permanenza) andrebbe bene per la maggior parte delle applicazioni.
Leggi altre domande sui tag web-development login