Almacenamiento de credenciales para la aplicación de escritorio

1

Tengo una aplicación de escritorio escrita en C# con tres roles de usuario y algunos usuarios predefinidos. También es posible crear otros usuarios o cambiar las contraseñas a usuarios predefinidos. La aplicación tiene que funcionar sin conexión en Windows XP y más reciente.
¿Cuál es la mejor manera de trabajar con las credenciales de usuario en la máquina local si tengo que tener algunos usuarios predefinidos? Pensé que Data Protection API (DPAPI) es la mejor manera de manejar esto, pero si lo entendí bien, solo funciona para un usuario de Windows, por lo que es inútil para mí, porque tengo que enviar usuarios predefinidos con la instalación de la aplicación. y definitivamente no es la mejor idea mantener a esos usuarios predefinidos en el código fuente (incluso si los guardo con DPAPI en el disco después de la instalación).

    
pregunta Artholl 06.01.2016 - 16:35
fuente

1 respuesta

1

¿Necesita probar las credenciales o realmente almacenarlas?

Si todo lo que desea es verificar si el usuario conoce ciertas credenciales, entonces use una función de derivación de clave de contraseña ( por ejemplo, PKBDF2 , BCrypt o SCrypt ) en su lugar.

Si realmente necesita almacenar las credenciales (por ejemplo, necesita reenviarlas a un servicio externo), entonces la respuesta es que necesita repensar su modelo:

  • Si está proporcionando contraseñas precargadas para un servicio remoto (por ejemplo, quiere que todos sus usuarios compartan una cuenta específica en un servidor de correo), eso significa que está usando contraseñas codificadas y eso es realmente malo: posiblemente no pueda asegurarla y obtener estas contraseñas, incluso si se las confunde, es generalmente muy fácil para un atacante obtenerlas. Y una vez que un atacante haya obtenido esa contraseña, puede filtrarla para que la usen todos los demás.
  • Si su contraseña rellenada es en realidad solo valores iniciales que se deben cambiar más adelante, déjelos en blanco y obligue al usuario a cambiarlos durante la instalación.
respondido por el Stephane 06.01.2016 - 17:13
fuente

Lea otras preguntas en las etiquetas