Per divertimento, e nel mio tempo libero sto creando un semplice CMS per i miei scopi (con la speranza di rilasciarlo per un uso più ampio ... più tardi), usando PHP. Al momento sto lavorando allo schema di accesso e ho alcune domande.
Nota: il risultato finale viene sempre passato attraverso crypt usando blowfish e un parametro di costo di 15 (In genere sperando che un parametro di costo di 15 sia abbastanza lungo da ferire i tentativi di hacking, ma non abbastanza da frustrare gli utenti.)
Domanda 1: Supponendo che io stia usando SSL / TLS: ho davvero bisogno di offuscare la password any, prima di passarla a bcrypt (con i parametri dati e una corretta salt) e spingendola nel database?
Domanda 1.a: Poiché non ho accesso a SSL / TLS (troppo costoso dal mio webhost al momento), utilizza whirlpool hash (o qualcosa della famiglia sha-2) sul lato client della password prima di passarlo al server, un caso" abbastanza buono "di sicurezza, o l'hash è vulnerabile agli attacchi delle tabelle arcobaleno? (Questo presuppone che sto provando a mettere un lembo di tenda su una tenda, non su un caveau di una banca. I caveau di una banca possono permettersi SSL / TLS.)
Domanda 2: Vale la pena di creare un nuovo salt per la password ogni volta che l'utente esegue nuovamente l'accesso, o devo semplicemente creare un salt unico per quell'utente di entropia appropriata quando si registrano e lo lasciano?