Sto lavorando a un'app Web per il mio progetto Masters. È un sistema che consente ai professori di gestire i progetti degli studenti e utilizza Java per il codice lato server, HSQLDB per il database e JSP per il livello di presentazione e viene eseguito su tomcat. I dati che verranno memorizzati non includono alcuna informazione sensibile (ID studente, informazioni finanziarie, niente di simile), ma i nomi utente e le password sono un requisito, quindi voglio proteggere le password stesse nel caso in cui uno studente utilizzi una password per la mia app che usano per qualche altra app più importante (questo accadrà senza dubbio anche se dirò alla gente di non farlo).Trasmissione e protezione corrette delle password degli utenti per un'app Web
Non ho mai esaminato questo tipo di cose prima e sono piuttosto perso. Ho trovato un buon articolo che spiega come usare Java a create a hash of a password e ho trovato informazioni nello tomcat documentation che spiega come impostare lo schema di hash utilizzato nei regni e come fare SSL with tomcat, nonché un JavaScript library per creare hash da password, ma Non sono sicuro di come mettere insieme tutti i pezzi e di quali pezzi ho bisogno esattamente.
Se utilizzo la libreria JavaScript per hash la password e utilizzo SSL per il passaggio di accesso (non è necessario dopo che penso poiché gli altri dati non necessitano di protezione), quindi memorizzare solo le versioni hash delle password nel database è sufficiente? O devo fare qualcosa di più? Mi sono imbattuto in a question dove le risposte hanno discusso PBKDF2 e alcune altre cose, ma mi ha semplicemente confuso di più ... Se dovessi usare uno degli schemi menzionati in quelle risposte, come faccio a farlo? Non ho visto riferimenti a loro in tomcat o altra documentazione, quindi non so come li userei ...
Se qualcuno può chiarire la mia confusione e dirmi quale sia il modo corretto di trasmettere in modo sicuro e memorizzare le password è, lo apprezzerei molto.
assicurati di _saltare i tuoi hash_! – jtahlborn
@jtahlborn, Sì! Come avrei potuto dimenticarlo. Aggiunto alla risposta, grazie! – Brad
è possibile a prova di futuro la memorizzazione memorizzando l'algoritmo utilizzato w/ogni password. che ti consente di aggiornare l'algoritmo in futuro senza rompere gli utenti esistenti. – jtahlborn