SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: lencho en Sábado 4 de Noviembre de 2006, 01:51

Título: Donde Guardar Las Contraseñas ???
Publicado por: lencho en Sábado 4 de Noviembre de 2006, 01:51
Quisiera que me de un consejo sobre donde guardar las contraseñas de inicio de sesion de los usuarios de un sistema. :smartass:

Yo por el momento lo estoy guardando en la misma base de datos con la cual trabaja el sistema, pero no lo veo muy bien por el echo de que cualquier persona puede llegar a descubrir la contraseña.

Existe otra forma de realizar eso ??, cualquier idea sirve.

Gracias.

BYTE.
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: ArKaNtOs en Sábado 4 de Noviembre de 2006, 14:33
de hecho esta bien ahi, lo unico es que tienes que asignarle una contraseña a tu bd para que nadie pueda entrar, supongo que utilizas access, otra cosa que puedes hacer es cifrar tus datos :P
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: lencho en Domingo 5 de Noviembre de 2006, 23:08
umm, se me olvido decir que estoy usando SQL Server 7.

Citar
otra cosa que puedes hacer es cifrar tus datos
, como ?

Gracias.

BYTE.
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: F_Tanori en Lunes 6 de Noviembre de 2006, 01:19
hola

hay varias formas Md5,rsa,sha1 etc
aqui hay algo que te puede servir


http://www.dbasupport.com.mx/index.php?opt...d=111&Itemid=56 (http://www.dbasupport.com.mx/index.php?option=com_content&task=view&id=111&Itemid=56)

aunque aveces se vuelve de doble filo tener datos cifrados  :ph34r: , pero en fin la seguridad es primero  :whistling:


Saludos
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: ArKaNtOs en Lunes 6 de Noviembre de 2006, 01:46
Cita de: "lencho"
umm, se me olvido decir que estoy usando SQL Server 7.

Citar
otra cosa que puedes hacer es cifrar tus datos
, como ?

Gracias.

BYTE.
pues sencillo mira aqui hay un buen de algoritmos:
http://es.wikipedia.org/wiki/Criptograf%C3%ADa (http://es.wikipedia.org/wiki/Criptograf%C3%ADa)

otra cosa si te preocupas por lo que dice F_Tanori de que cifrar puede ser un arma de doble fila por no poder descifrar, pues tan sencillo crea un algoritmo tu :) y crea su contra y listo :) claro que lo mas seguro que ese algoritmo no sea tan poderoso como los que te aparecen en la lista, pero pues te va a servir de mucho :)
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: lencho en Lunes 6 de Noviembre de 2006, 15:09
Citar
hay varias formas Md5,rsa,sha1 etc
aqui hay algo que te puede servir


http://www.dbasupport.com.mx/index.php?opt...d=111&Itemid=56 (http://www.dbasupport.com.mx/index.php?opt...d=111&Itemid=56)

muy interesante..

Citar
puede ser un arma de doble fila por no poder descifrar

Sera que no podra descifrar las contraseñas cifradas por el mismo ??

Gracias.

BYTE.
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: ArKaNtOs en Lunes 6 de Noviembre de 2006, 16:19
Eso es exactamente, las contraseñas cifradas con esos algoritmos no se pueden descifrar debido a que vienen con varios candados para no poder, de hecho al algoritmo de md5 ya le encontraron punto debil con una aplicacion llamada john the ripper. Por ultimo como ya te había mencionado para no tener esos problemas lo mejor es crear tu propio algoritmo en el cual solo tenga una manera de descifrar y que solo la sepas tu :P
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: su - en Lunes 6 de Noviembre de 2006, 17:24
Cita de: "ArKaNtOs"
Eso es exactamente, las contraseñas cifradas con esos algoritmos no se pueden descifrar debido a que vienen con varios candados para no poder, de hecho al algoritmo de md5 ya le encontraron punto debil con una aplicacion llamada john the ripper. Por ultimo como ya te había mencionado para no tener esos problemas lo mejor es crear tu propio algoritmo en el cual solo tenga una manera de descifrar y que solo la sepas tu :P
En efecto, en la misma pagina de john the ripper hay implementaciones de el sistema de encriptacion de Unix, te recomiendo que lo veas puesto que estos sistemas no tienene desifrado y la comprobacion se hace encriptando los datos entrados:
Por ejemplo, el programam guarda algo como ADF.3aGadfe.3qasd
Para comprobar si los datos estan bien, se hace crypt(usuario, contraseña) y si concuerda con el dato guardado...
Pero no se que queras hacer con las passwd guarados, eso depende, si queres autentificar un usuario es bueno esto, si no pues... ni modo.
 :hola:
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: senzao18 en Lunes 6 de Noviembre de 2006, 18:15
Pues creo que ya te dieron mucha informacion para lo de cifrado...  :lol:

En la ayuda de Visual Studio bienene mucho sobre Criptografia....De hecho trae un ejemplo de la clase RijndaelManaged, donde cifra y descifra......
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: UserCode en Martes 7 de Noviembre de 2006, 19:17
Hola, bueno yo estoy migrando de poco a poco al .Net y tengo en un modulo que alguien me paso que trae algo de eso de encriptar aunque yo todavia no lo he usado, es este:

Bueno esto está en VB6 pero creo que no deberia dar problemas en .Net  :huh:
Código: Text
  1.  
  2. Function Codificar(sContrasena As String)
  3.     'Encrypta
  4.     Dim code
  5.     Dim i As Integer
  6.     code = Chr$(248) + "!#$%&/()=?¡¿*+[]{}:;:,._"
  7.     For i = 1 To Len(sContrasena)
  8.         Codificar = Codificar + Chr$(Asc(Mid$(code, i, 1)) Xor Asc(Mid$(sContrasena, i, 1)))
  9.     Next i
  10. End Function
  11.  
  12.  
No es la perla del mundo pero es algo, o sirve de idea  :P

Y se usaria asi:
Codificar(txtContrasenaAnterior), Codificar(txtNuevaContrasena), sValidacion

Eso ultimo de sValidacion no sé bien tengo que ver, tal vez con solo poner:
Codificar(Text1.Text) sirva.

Yo creo que eso de desencriptar es un error, porque si se fijan por ejemplo como los sistemas Unix y variantes, (Unix excelencia en seguridad) el perfil correcto al parecer es que la clave se encripta, y no debe desencriptarse nunca. Lo que se hace es que el dato que el usuario mete, el programa lo encripta al mismo nivel y lo compara, si el encriptado de la tabla es igual al encriptado que el usuario metio, pues se accede.

En caso de haber olvidado la clave, pues habría que ver si se hace algo asi como cuando a uno se le olvida la clave en alguna web y lo que se hace es que a uno le mandan un correo con una nueva clave para acceder, ya al acceder el usuario cambia la clave dada por la web por una propia, y así nuevamente esa clave la conoce solamente el suario de la cuenta, eso sucede porque el sistema no puede tampoco recuperar la clave, es decir, mostrartela, pq al encriptarse no la desencripta.  No es que no se pueda desencriptar pero es más seguro así.

Tal vez en donde se guarda la clave, se hace otro campo, es decir, ClavePrincipal y ClaveAuxiliar, si se olvida la principal, con la auxiliar tal vez se pueda recuperar la otra, si se olvidaron las dos huyyy!!! hehehe :P
Pero yo creo que lo mejor es algun código que genere una secuencia, algun string o numerico que no esté guardado en ninguna tabla, sino que el programa lo genere al momento, y para usar solo al momento, para acceder y poder cambiar la clave olvidada por una nueva.


Bueno ese código yo todavía no lo he implementado, pero voy a ver en lo que termine con unas cosillas que estoy haciendo.

 :hola:
Título: Re: Donde Guardar Las Contraseñas ???
Publicado por: lencho en Miércoles 8 de Noviembre de 2006, 16:38
Citar
Pues creo que ya te dieron mucha informacion para lo de cifrado... laugh.gif
. Si, ya me dieron varias soluciones, y me parece que la de F_Tanori y ArKaNtOs son las mas apropiadas.

Luego decidire por cual.

Gracias.

BYTE.