Problema de seguridad grave en mi aplicacion

Iniciado por Skeletron, 27 Febrero 2009, 18:55 PM

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

Skeletron

Hola gente..
Estoy programando en vb.net

Y mi aplicacion tiene un grave problema... y pensé miles de cosas.. pero no se que elegir..

El tema es el siguiente:

Mi aplicacion, basicamente, lo que hace es guardar contraseñas...
Por ejemplo:
Ejecutas el programa.. pide una contraseña MADRE.. que es la del programa, y se inicia...

Luego podes agregar contraseñas.. por ejemplo:
hago click en "Agregar Perfil" y pongo de nombre de usuario: Skeletron, de contraseña: xxxxx y "web": elhacker.net
Esos 3 datos, se me tienen que guardar en un archivo...

El programa tiene una opcion para ver todas las contraseñas que he guardado..
Pero el problema.. es que si copio el archivo de contraseñas (database) de MI aplicacion, donde tiene todas mis contraseñas... y se la sobreescribo a otra persona que tiene la misma aplicacion... cuando haga click en VER CONTRASEÑAS.. verá las mias....

Y eso no debe ser así!!!! es GRAVISIMO!!.. U.U

Entonces pensé:
* cifrar los datos, y que la contraseña maestra del programa, sea la KEY de encriptacion... y que el IV de encriptacion sea aleatorio...
Pero el problema es que no siempre la contraseña maestra va a ser de la longitud exacta que requiere para ser KEY de encriptacion...
y si cambia la contraseña.. se pierde la key tambien... a no ser que desencripte todo, y vuelva a cifrar todo con la nueva KEY

tambien pensé:
* Compilo con el propio .exe un archivo donde tenga el KEY y el IV aleatorio para cada aplicacion... pero que sea el mismo KEY e IV para todos los "perfiles" que agregue al programa..
O sea:
PEPE en su .exe tiene 1 KEY y 1 IV para cifrar todos sus perfiles...
JUAN TAMBIEN... pero las 2 KEY y las 2 IV son diferentes...
Entonces para ésto necesito que al iniciar el programa, se genere una KEY y IV y se guarde.. y que nunca mas cambien... porque si cambian.. (para podes descifrar)...

En fin...
Algunos me dijeron: "Guarda en un archivo la key y el IV..."
Pero si viene una persona, y me copia ese archivo y la DATABASE... lo coloca en su aplicacion... y me los lee.....


Conclusión:
Necesito lograr esconder un KEY y un IV FIJO para cada aplicacion.. Pero diferente en cada una de ellas...
Alguien me da unas ideas????

seba123neo

Hola, pues para mi no hay que hacer tanto escandalo si tenes una contraseña MADRE ...guardada tambien en el archivo por mas que le copies a otro el archivo si el no pone TU CONTRASEÑA MADRE no podra ver las contraseñas y entrar al programa...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

Es verdad...

Y esa contraseña... tambien tiene que estar cifrada.. porque sino con el notepad me la leen..

Tendré que encriptarla con una KEY y un IV fijo para todos los .exe????

seba123neo

para cifrar se me ocurre ahora que pruebes por ahora usar System.Security.Cryptography, algo asi:

cifrar y descifrar

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

Si, con el Triple-Des compilaré los "PERFILES"

pero el tema.. es COMPILAR la contraseña madre.. me entedes???

Tendria que utilizar la misma key y la misma IV para descifrar la CONTRASEÑA MADRE..
Para de esa manera tambien tener la posibilidad de llevar tu archivo de contraseñas a cualqueir PC y poder leerlo con cualquier .exe...


Bueno.. con esto ya comiendo a hacer el proyecto..

Cuando lo tenga listo les paso la web de descarga..

Que nic.ar ya me tiene 6 dias en espera.. y aun no habilitan la web....