protección de cifrado contra contraseña perdida

0

Aquí hay un plan en el que estoy pensando. No he visto esta propuesta, así que pensé en preguntar.

Amenaza de la que estamos protegiéndonos:
Una computadora portátil perdida o robada que lleva a la exposición de información sensible.

Descripción del proyecto:

Desarrollar una aplicación de cliente de escritorio para permitir a los usuarios que viajan recopilar datos cuando no están conectados a la red. Se trata de datos confidenciales y debe estar encriptado en reposo. Obviamente, la clave para el cifrado no se puede almacenar en el cliente en ningún lugar, por lo que usaré una generación de clave basada en contraseña para cifrar los datos. Contraseña hash almacenada en el cliente. Esto está en las computadoras portátiles que no controlamos, por lo que no podemos aplicar el cifrado de todo el disco.

Esto está bien hasta que el usuario olvide su contraseña u otro usuario se haga cargo del trabajo o el usuario cambie su contraseña. El administrador necesita una forma de rescatar datos encriptados. Por lo tanto, la propuesta es guardar una copia de los datos encriptados utilizando una clave pública generada por el administrador, que posee la clave privada asociada. Esta copia se guarda por transacción o cuando el usuario finaliza la sesión.

Preguntas :

  1. ¿Existe algún defecto en este enfoque?
  2. ¿Se ha resuelto esto de otra manera?

Similar a: Cifrado de los datos del usuario usando una contraseña y olvidé mi contraseña

Excepto que se trata de una aplicación web y no se sugiere un par de claves público-privadas.

Actualización: este es un cliente Java (utilizando Java Web Start) en Windows.

    
pregunta mcgyver5 11.06.2015 - 19:55
fuente

2 respuestas

2

Creo que no es necesario mantener una segunda copia completa de los datos. Eso parece difícil. Además, desea intentar evitar el cifrado masivo de clave pública. Es lento. En lugar de guardar una segunda copia de los datos, puede guardar una segunda copia de la clave.

Crea una clave simétrica aleatoria F que usas para cifrar los archivos. Cifre esta clave con una clave derivada de la contraseña del usuario y almacene el F cifrado en el disco. Almacene una copia de F en una tienda segura en algún lugar donde los administradores puedan acceder a ella. Debes encriptar F usando alguna clave específica de administrador para mantener a F seguro mientras está en tránsito y en reposo.

    
respondido por el Neil Smithline 12.06.2015 - 19:25
fuente
-1

Dice: "Esto está en las computadoras portátiles que no controlamos, por lo que no podemos aplicar el cifrado de todo el disco". Entonces su problema de mantener los datos que desea encriptados será más difícil. Básicamente, tendrá que crear un contenedor cifrado y regular el acceso a él en lugar de poder simplemente cifrar todo lo que esté almacenado en el disco.

¿Puede evitar que los usuarios muevan archivos del contenedor a la unidad normal sin cifrar, o al almacenamiento extraíble? ¿Puede un usuario abrir un archivo del contenedor encriptado y guardarlo en otro lugar? ¿Puede un usuario copiar texto, o guardar una captura de pantalla, desde un archivo en el contenedor cifrado a un nuevo archivo en la partición sin cifrar?

Tendrá todas estas oportunidades para que los datos que desea proteger se filtren si el usuario decide que prefieren no lidiar con la molestia del cifrado. Dependiendo del tipo de datos que quiera proteger, puede que este no sea el enfoque correcto. Si puede mitigar estas posibilidades de pérdida de datos, esto podría ser aceptable.

También menciona el uso de contraseñas como claves de cifrado. Lo que probablemente debería hacer en su lugar es usar una contraseña (o clave derivada de la contraseña) para desbloquear la clave de cifrado del contenedor real. De esa manera, un cambio de contraseña solo requiere la contraseña antigua y la nueva para volver a cifrar la clave en lugar de todos los datos cifrados.

Esto también le permite admitir con mayor facilidad el depósito de claves cuando una copia de esta clave de cifrado de contenedor se puede descifrar con la clave privada o la contraseña del administrador. Intente evitar la creación de varias copias de datos cifrados, que pueden ser lentos y ocupan más espacio y, en su lugar, guardar varias copias de la clave.

Finalmente, espero que esto sea más una discusión académica y no algo que planeas desarrollar desde cero. Implementar un cifrado efectivo no es algo que generalmente se puede hacer con éxito como principiante.

    
respondido por el PwdRsch 11.06.2015 - 20:47
fuente

Lea otras preguntas en las etiquetas