sto implementando autorizzazione nella mia app GWT, e in questo momento è fatto nel modo seguente:GWT/Javascript crittografia della password lato client
- l'utente si inscrive mettendo le sue credenziali in forma, e Li mando in chiaro al server.
- Il codice del server esegue l'hashing della password ricevuta utilizzando BCrypt e inserisce l'hash in un database.
- Quando l'utente esegue il login, la sua password viene inviata in chiaro al server, che la controlla contro l'hash memorizzato.
Ora. La cosa che mi infastidisce di questo è il fatto che sto inviando la password al server in chiaro, continuo a pensare che non sarei molto contento se un'applicazione che stavo usando lo abbia fatto con il mio (uso-per- tutto-gentile) password, ma la crittografia sul client non mi guadagnerebbe nulla, dal momento che gli hacker potevano semplicemente usare la password con hash come se fosse quella chiara.
Sono stato googling tutto il giorno per questo, e sembra che Internet sia piuttosto unanime quando si tratta di questo - apparentemente non c'è nulla da guadagnare dalla crittografia della password lato client. This, this e sono solo alcuni esempi delle discussioni e delle pagine in cui sono arrivato, ma ce ne sono molti, molti altri, tutti che dicono la stessa cosa.
Questa domanda, alla luce di tutto questo, potrebbe sembrare un po 'inutile, ma spero che da qualche parte, qualcuno, avrà un'altra risposta per me.
Cosa posso fare, se SSL non è un'opzione a questo punto, per alleviare la mia idea su questo? C'è qualcosa da fare o implementare una sorta di schema di decrittazione del server client-crittograficamente poco costoso?
Grazie per la risposta completa, un sacco di link utili in là. Lo apprezzo! –
BTW: c'è CORS - richieste di origine incrociata ... quindi dovresti davvero essere in grado di usare la soluzione only-for-login-ssl-server. Sfortunatamente, non so se siano state risolte alcune incompatibilità riguardanti il generatore di richieste GWT e Internet Explorer (nel senso che tutti i browser ora lo supportano quando si utilizza GWT "nativo" senza modifiche del builder richiesta) nel frattempo. – user1050755