Hacer que la aplicación use credenciales cifradas de un archivo [duplicado]

1

Soy nuevo en seguridad cibernética pero estoy trabajando en un proyecto en el que necesito usarlo y no sé por dónde empezar.

La aplicación en la que estoy trabajando se conecta a Jira para recuperar datos y generar informes. Para la conexión, quiero usar un nombre de usuario y contraseña específicos. No puedo establecerlos como una cadena en mi código porque cada usuario obtendría mis credenciales. Entonces, pensé en escribir un archivo encriptado.

El problema es que si quiero descifrar mi archivo, tendré que proporcionar la clave de descifrado en mi código. y creo que esto no es seguro en absoluto porque cualquiera que haya tenido acceso a la clave podría descifrar fácilmente el archivo y, por lo tanto, obtener mis credenciales.

Encontré un método que cifra un archivo y lo hace para que la única persona que descifre sea el usuario que lo cifró. El problema es que el administrador es el único que tiene el derecho de cifrar los archivos y esto solo significará que él sería el único para quien la conexión con Jira funcionaría, ya que él es el único capaz de descifrar las credenciales.

También me preocupa que si leo y descifro las credenciales, cualquiera puede usar console.writeline y obtener las credenciales.

Estoy usando c # para mi aplicación.

¿Hay alguna manera de asegurar mis credenciales?

Para conectar y recuperar datos de JIRA necesito el nombre de usuario y la contraseña porque los agrego a mi encabezado de solicitud para conectar y recuperar datos.

    
pregunta naxcuo 27.08.2018 - 14:20
fuente

2 respuestas

1

Hay un pequeño problema con el huevo y la gallina.

Lo único que se puede usar es el permiso de usuario en el dispositivo. Eso significa que hay un archivo que solo el usuario de la aplicación puede leer (permisos del sistema operativo) o un servicio al que solo tiene acceso el usuario que ha iniciado sesión (por ejemplo: API de administración de credenciales de Windows).

Cualquier otra opción es simplemente más ofuscación que "cifrado". ¿Cómo va a cifrar algo, donde obtiene un secreto , sin ingresar el otro secreto pero otros usuarios no deben obtener su secreto ? Todas las opciones solo se dirigen a una ofuscación más profunda (primero codificada en duro, secound a Scrambeld String, luego a scrambeld String con otra cadena aleatoria vinculada, ...)

    
respondido por el Serverfrog 27.08.2018 - 16:12
fuente
0

hash tu contraseña usando MD5 o SHA y agrega una clave Salt a tu contraseña hash. En el campo de verificación de contraseña nuevamente, obtenga los datos del cuadro de texto de la contraseña y el hash utilizando el mismo algoritmo que se usó anteriormente y agregue el valor de la clave de sal y luego compare ambos valores.

    
respondido por el Megala Shanmugam 27.08.2018 - 15:00
fuente

Lea otras preguntas en las etiquetas