Un usuario descarga un archivo desde un servidor. Quiero almacenar ese archivo localmente en la máquina del usuario para que puedan verlo sin conexión. Para su protección, debe estar encriptado mientras no se esté viendo.
Mi teoría es que podría generar una clave para cifrar con el uso de la contraseña del usuario como entrada a un KDF para que se pueda crear la clave cuando el usuario quiera ver el archivo sin necesidad de acceso en línea y no tendremos que hacerlo. almacenar una clave localmente en algún lugar.
Me preocupa que esto presente ahora a un atacante con un posible ataque sin conexión para descifrar la contraseña de un usuario, ya que pueden intentar generar claves hasta que descifre el archivo. En un mundo donde no se puede esperar que los usuarios usen contraseñas suficientemente buenas para generar claves seguras, sospecho que este método no funcionará bien en la práctica.
¿Esta lógica es correcta? ¿Hay otra manera de manejar este problema?