Por diversión, y en mi tiempo libre, estoy creando un CMS simple para mis propios fines (con la esperanza de lanzarlo para un uso más amplio ... más adelante), usando PHP. Actualmente estoy trabajando en el esquema de inicio de sesión y tengo algunas preguntas.
Nota: El resultado final siempre se transmite a través de crypt utilizando blowfish y un parámetro de coste de 15 (En general, la esperanza de que un parámetro de costo de 15 sea suficiente para dañar los intentos de piratería, pero no lo suficiente como para frustrar a los usuarios).
Pregunta 1: Suponiendo que estoy usando SSL / TLS: ¿Realmente necesito ofuscar la contraseña, antes de pasarla a bcrypt (con los parámetros dados y la sal adecuada) y presionarla? a la base de datos?
Pregunta 1.a: Como no tengo acceso a SSL / TLS (por el momento, mi Webhost es demasiado costoso), está usando hash whirlpool (o algo de la familia sha-2) del lado del cliente en la contraseña antes de pasarla al servidor, un caso" suficientemente bueno "de ¿Seguridad, o ese hash es vulnerable a los ataques de la mesa del arco iris? (Esto supone que estoy tratando de poner una solapa en una tienda, no en una bóveda de un banco. Las bóvedas de un banco pueden permitirse SSL / TLS).
Pregunta 2: vale la pena crear un nuevo salt para la contraseña cada vez que el usuario vuelva a iniciar sesión, o simplemente necesito crear un salt único para ese usuario de entropía adecuada cuando se registran, y lo dejan?