Cifrar datos en Windows mediante programación de inicio de sesión

0

Tengo un usuario que me da una contraseña que necesito guardar para la automatización que quieren que ejecute. No puedo usar sus credenciales existentes ya que no es algo con lo que Windows habla.

Y no quiero almacenar su contraseña en texto plano. Y cualquier cifrado que haga en mi aplicación (es una aplicación de escritorio) se puede deshacer al rastrear a través del programa.

Creo (pero no puedo encontrarlo) que hay una manera de cifrar una cadena y Windows la cifra utilizando las credenciales registradas. De esa manera, la contraseña solo se puede leer si el usuario ha iniciado sesión.

¿Es esta la mejor manera de manejar esta situación?

Y si es así, ¿me puede indicar una página que diga cómo hacerlo?

gracias - dave

    
pregunta David Thielen 13.04.2018 - 02:42
fuente

1 respuesta

1

DPApi se aplicará usando el contexto del usuario actual, por lo que si el código puede ejecutarse en el mismo contexto, un atacante podría acceder a las credenciales. Una simple secuencia de comandos powershell que se ejecuta en la máquina mientras se encuentra en el mismo contexto puede descifrar el contenido con un solo comando.

Es difícil determinar el mejor enfoque sin saber más sobre su entorno.

¿Se ejecutará la automatización bajo una cuenta de servicio? ¿Puedes usar MSA? ¿Son los certificados una opción? ¿Puede almacenar estas credenciales en una tienda segura?

Lo siento mucho más preguntas que respuestas: usaría DPApi si escribiera una aplicación de escritorio que necesite proteger datos en un sistema multiusuario. Chrome, por ejemplo, usa esto para proteger las cookies. No sé si lo usaría en un proceso automatizado si se ejecuta bajo su propia cuenta de usuario.

    
respondido por el McMatty 13.04.2018 - 03:43
fuente

Lea otras preguntas en las etiquetas