Mientras leía sobre la violación de LastPass, me preguntaba por qué la tienda LastPass reforzaría los hashes de contraseña en el lado del servidor. ¿Podrían solo almacenar los datos cifrados AES y cuando el usuario obtiene sus datos cifrados podría hacer el fortalecimiento de la contraseña y descifrarlos y volver a cifrar todo en el lado del cliente para que la única información a la que LastPass esté expuesto sea el AES de 256 bits cifrado? Datos y eso sería lo único que almacenarían en caso de una violación.
Mientras escribo esta publicación, estoy pensando que tal vez el hash almacenado es parte del paso de autenticación para no entregar los datos cifrados AES a nadie, pero ¿esa sería la única razón para almacenar el hash en el servidor?
Suponiendo que hay un método alternativo para autenticar datos encriptados específicos para el usuario que intenta acceder a él, por ejemplo. una cadena aleatoria compartida entre el cliente y el servidor que no se deriva de la contraseña maestra almacenada en el lado del servidor, ¿podría el hash / fortalecimiento de la contraseña + cifrado / descifrado luego realizarse en el lado del cliente sin necesidad de almacenar nada más en el lado del servidor que ¿Los AES de 256 bits?
¿Por qué no sería más fácil para alguien deducir la contraseña solo del hash que del producto cifrado AES final que se cifró con ese hash de contraseña reforzado? Mi conjetura es que los datos cifrados AES tardarían más tiempo en romperse que su hash solo por el paso adicional de calcular el hash y luego cifrarlo. Entonces, ¿no sería ese otro punto para no almacenar los hash reforzados en el servidor sin importar qué tan complicado sea el algoritmo de hash, ya que es una función de la contraseña maestra?