Oggi ho ricevuto una domanda dal mio manager che mi chiedeva cosa pensavo fosse un design accettabile per l'autenticazione di un'applicazione web form, specialmente per quanto riguarda la natura di molti browser popolari a "Ricorda password" per i campi di accesso tipici del tuo nome utente password .
Ho problemi a trovare una risposta che ritengo accettabile. Alla luce degli imbarazzanti difetti di sicurezza di Sony, voglio davvero stare attento, anche se i dati archiviati sulle persone hanno una sensibilità inferiore. Non stiamo memorizzando numeri di previdenza sociale o indirizzi, tuttavia stiamo memorizzando numeri di telefono, indirizzi e-mail e una foto di un visitatore.
È preoccupato che un utente possa semplicemente ricordare la password su un terminale pubblico, quindi qualcuno può semplicemente saltare su questo terminale e iniziare a visualizzare o modificare i dati in modo non autorizzato. Sono abbastanza certo tuttavia che, almeno sulle workstation Windows, il browser non "Ricorderà la password" tra gli account utente di Windows.
Oltre a ciò, sto implementando una crittografia della password unidirezionale sul lato server (archivia la password crittografata nel database, crittografa la password fornita dall'utente sul server, confronta con la stringa crittografata dal database). Non ci sono piani immediati per incorporare la crittografia SSL, ma questa è ancora un'opzione.
Ci sono grossi difetti di sicurezza con questo approccio? Hai qualche suggerimento migliore?