Quando si deve eseguire l'hash di una password? [duplicare]

-2

Sviluppo un'applicazione per smartphone e ho una piccola domanda:

Quando devo cancellare le password degli utenti, sul dispositivo o caricarle in testo normale e caricarle sul server prima di memorizzarle nel database?

    
posta F.M.F. 11.08.2015 - 15:10
fonte

2 risposte

1

Oltre all'eccellente risposta fornita da Thomas Pornin nella domanda collegata , Vorrei aggiungere che per motivi di sicurezza nel tuo caso probabilmente vorrai fare un po 'di hashing sul lato client e un po' di hashing sul server. Il ragionamento va così:

Vantaggi dell'hash sul lato server:

Consente di dire che esegui solo l'hashing sul lato client, quindi stai prendendo la stringa che ottieni dall'utente (la password con hash) e la memorizzi direttamente nel database. La volta successiva che effettuano l'accesso, si confronta direttamente la stringa che inviano con quella nel db, sostanzialmente equivalente alla memorizzazione della password in testo semplice. Se qualcuno ruba il tuo database non ha nemmeno bisogno di una tabella arcobaleno, può semplicemente usare quegli hash direttamente come password di accesso (supponendo che scrivano un client malizioso che invia solo una stringa raw). L'hashing così potente sul lato server protegge gli utenti dai furti di database.

Vantaggi dell'hashing laterale del client

A parte l'aumento di prestazioni che ottieni da questo, c'è anche un bonus di sicurezza: il server non vede mai la password in chiaro. Supponendo che gli utenti utilizzeranno la stessa password per molti siti (che la maggior parte degli utenti fa), quindi anche se il tuo db viene rubato, gli account degli utenti su altri siti non vengono compromessi.

Quindi il mio consiglio è di fare entrambe le cose; esegui una piccola quantità di hashing sul lato client e poi il tuo hashing completo lato server.

    
risposta data 11.08.2015 - 15:30
fonte
1

Sicuramente farei un hash prima del caricamento. Se un dispositivo utente è connesso a una rete con qualcuno che annusa pacchetti, viene facilmente letta una password in testo semplice caricata. Non molto sicuro.

    
risposta data 11.08.2015 - 15:18
fonte

Leggi altre domande sui tag