¿Existe algún riesgo en envolver el cifrado asimétrico en simétrico?

0

La aplicación web que estoy desarrollando debería estar encriptada de extremo a extremo, pero para una mejor experiencia de usuario, no quiero que el usuario ingrese claves privadas en el cliente.

En cambio, estoy planeando almacenar la clave privada cifrada en el servidor de aplicaciones. Luego, el cliente lo descifra con una contraseña proporcionada por el usuario. Por supuesto, para descargar la clave privada cifrada, el usuario debe iniciar sesión en la aplicación. Esperemos que con una contraseña diferente como para cifrar la clave. (Ver abajo)

Un riesgo sería que el usuario use la misma contraseña para el inicio de sesión y el cifrado de clave privada, de modo que la aplicación no se cifraría más de un extremo a otro.

¿Qué piensas de esto? ¿O hay algún problema de seguridad que no veo?

(Para evitar este riesgo, ¿debería prehashear la contraseña de inicio de sesión en el lado del cliente?)

Gracias de antemano.

    
pregunta Hendrik 23.04.2016 - 22:40
fuente

1 respuesta

2

Proteger con contraseña una clave, ya sea simétrica o asimétrica, es una práctica común. Consulte la pregunta Cifrado con contraseñas - Cifrado de clave vs. datos para un ejemplo.

Un problema es que los usuarios pueden elegir contraseñas débiles. Como puede observar, esta puede ser la misma contraseña que utilizan para autenticar el sitio, o simplemente puede ser una contraseña generalmente débil. El uso de hash de contraseña de autenticación del lado del cliente para evitar que el servidor sepa la contraseña del usuario puede ayudar.

El administrador de contraseñas de LastPass parece un caso de uso similar al que está impidiendo. LastPass utiliza 5000 rondas de PBKDF2 con SHA-256 en el cliente para evitar que LastPass conociendo tu contraseña maestra El rendimiento es un problema con esta solución, ya que necesita hacer suficientes rondas de hash para evitar un ataque de fuerza bruta. Como las máquinas cliente tienden a ser mucho más lentas que las máquinas de servidor, esto será doloroso. Esto no es un problema en el modelo de usuario de LastPass porque los usuarios están dispuestos a ser pacientes para la autenticación a LP. Deberá determinar si lo mismo se aplica a su modelo de usuario.

Un segundo problema con esta solución es que la recuperación de una clave de cifrado de contraseña perdida es imposible. Si bien esta es una característica de seguridad, puede resultar un problema para sus usuarios.

Una de las ventajas de este esquema de cifrado es que si el usuario cambia su contraseña de cifrado, solo necesita descifrar la clave con su contraseña original y volver a cifrarla con la nueva. No es necesario descifrar y volver a cifrar todos los datos.

    
respondido por el Neil Smithline 24.04.2016 - 01:52
fuente

Lea otras preguntas en las etiquetas