Autor Tema: Fichero oculto o permiso borrado denegado en C#  (Leído 3014 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Fichero oculto o permiso borrado denegado en C#
« en: 14 de Mayo de 2014, 15:15:51 »
Estoy haciendo una aplicación en C# que gestiona una base de datos local, la BD tiene contraseña, y quisiera que al iniciar la aplicación se conecte a la BD automaticamente sin tener que teclear la contraseña, pero ofrecer la posibilidad de cambiarla.

La solución que se me ocurre es codificarla en MD5 en un fichero, y que este fichero no se pueda borrar o ver por un usuario malintencionado ¿se puede hacer esto desde C#?

Saludos!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #1 en: 14 de Mayo de 2014, 15:22:45 »
La podria ver de todas formas, tu idea es que luego la lea del fichero descodificarla y desde el programa C# la envie para identificarse no? Simplemente con un sniffer podria averiguarla.

Yo lo haria dando permisos a la base de dato con acceso limitado, asi el usuario solo podra ver lo que tu quieras segun sus permisos. Aunque averigue la contraseña solo podra ver los datos publicos.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #2 en: 14 de Mayo de 2014, 17:10:34 »
Sí, pero la idea es que al arrancar la aplicación la contraseña de la base de datos se introduzca de forma automatica, y por lo tanto tiene que estar almacenada en algun sitio, que no puede ser la propia base de datos porque tengo que acceder primero para leerla... podría ser otra base de datos, pero alguien podria borrarla...

no sé si me esplico.

Gracias. Un saludo!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #3 en: 14 de Mayo de 2014, 20:39:46 »
El MD5 es un algoritmo de encriptación que fue diseñado para no ser para nada fácilmente desencriptable. Es decir que si almacenas el MD5 resultante de la contraseña, no vas a poder desencriptarla para poder ingresarla automáticamente.

Es ampliamente utilizado e incluso el motor de este foro la utiliza, pero siempre hace falta que el usuario o alguien/algo ingrese la contraseña "cruda", luego de someterla al algoritmo se procede a comparar el MD5 generado por la palabra ingresada y el almacenado en la BD. Si coinciden, entonces se asume que la contraseña es correcta. Es una manera bastante segura de poder comparar una contraseña con una palabra ingresada, sin siquiera que quienes tienen acceso a la BD puedan saber las contraseñas.

Se han demostrado colisiones de hash para el MD5, lo que la hace vulnerable a ataques y obviamente permitiendo entonces que más de una palabra pueda generar el mísmo MD5 (pasa de ser una función biyectiva a ser sobreyectiva no inyectiva).

Saludos.
« Última modificación: 14 de Mayo de 2014, 20:48:00 por BrunoF »
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #4 en: 15 de Mayo de 2014, 06:42:48 »
El caso bruno, es que si encriptas una contraseña y necesitas introducirla nativamente luego tendras que desencriptarla y enviarla, por lo cual al desencriptarla ya tienes la clave ahi a disposicion de que cualquiera la lea, incluso, al ser una base de datos se comunica por tcp y con un sniffer ves los paquetes, desconozco si existe una forma de enviar la clave encriptada y que el servidor la desencripte pero creo que no es posible.

Porque no almacenar la clave simplemente en una const del propio programa??

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #5 en: 15 de Mayo de 2014, 15:15:11 »
Porque no almacenar la clave simplemente en una const del propio programa??

Eso voy ha hacer, no se puede cambiar, pero tampoco creo que es muy interesante.

Saludos!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Fichero oculto o permiso borrado denegado en C#
« Respuesta #6 en: 15 de Mayo de 2014, 15:44:30 »
Lo puedes meter en el registro de windows, asi borrar se podra, pero no sera tan facil saber que registro es.