Cadena de contraseña encriptada en C ++

1

Tengo una aplicación basada en un servidor cliente en la que se presenta al usuario una pantalla de inicio de sesión en el cliente. Luego pasa las credenciales al servidor que realiza la autenticación. La comunicación cliente-servidor se realiza a través de un servicio web alojado en el servidor mediante el protocolo https (con soporte TLS1.2). El cliente pasa el nombre de usuario y la contraseña al servicio web. Estoy pensando en cifrar la contraseña aunque estoy utilizando una comunicación basada en https. Mis preguntas son:

  1. ¿Vale la pena hacer un segundo nivel de cifrado para la contraseña?
  2. ¿Hay alguna buena práctica a seguir (como qué algoritmo usar, etc.)?
  3. Es una aplicación basada en MFC escrita en C ++. ¿Windows proporciona algún método para hacer esto?
pregunta Asha 14.01.2016 - 10:21
fuente

1 respuesta

7

No, no debe cifrar la contraseña en el cliente si la transmisión de datos está protegida.

Si lo tiene todo perfecto, no es probable que agregue ninguna seguridad al proceso.

Si no lo obtienes perfecto, puedes estar introduciendo una nueva vulnerabilidad (desbordamiento de búfer, ataque de Oracle, etc.).

Si la versión TLS que estás utilizando se ve comprometida de alguna manera, tienes un problema MUCHO más grande que la pérdida de la contraseña en tránsito.

Tampoco deberías hash la contraseña (por las mismas razones que anteriormente).

Tenga en cuenta que hay un caso especial: es posible que desee que el proceso de inicio de sesión pase por desafío-respuesta sistema, incluso si está utilizando TLS, para requerir una prueba de trabajo de la persona que llama. Para algunos servicios especializados, eso podría ayudar a aliviar los ataques de DOS que intentan sobrecargar el componente de autenticación (aunque hay un debate sobre si la efectividad de esa medida en el campo y si vale la pena el esfuerzo en comparación con otras contramedidas de DOS). p>     

respondido por el Stephane 14.01.2016 - 11:19
fuente

Lea otras preguntas en las etiquetas