Seguridad en la autentificacion

21/05/2004 - 09:59 por Y2K | Informe spam
Hola a todos,

Mi pregunta es sobre la seguridad al momento de que un usuario se loguee a
un sitio web.
Hasta ahora usaba MD5 para encriptar y pensaba que estaba seguro pero al
analizarlo bien no es asi.
La forma como yo hacia es:

1) Usuario introduce Login y Password
2) Al aceptar, antes de que la pag. haga submit a la pag. de comprobacion de
usuario, encripto la contrasena con javascript en el lado del cliente
mediante MD5 y luego recien hace submit. (Esto era para que cualduier
persona que este viendo el flujo de la red solo se tope con una contrasena
encriptada)
3) Luego en la pag. de comprobacion recupero de la BD la contrasena que
tambien fue almacenada en su forma encriptada y realizo la comprobacion. Si
es igual el usuario es logueado y sino se abre una pag. de error de login o
password.

Bueno esto era lo que hacia, pero esto resulto no ser nada seguro. Pues si
uno logra robar la contrasena encriptada, con esto se puede hacer una pagina
aparte que haga submit a la pag. de comprobacion con el login y la
contrasena encriptada (sin necesidad de volver a encriptar nada) y bueno con
esto la contrasena va al servidor y es comprobada y acepta como correcta.

No se como poder solucionar esto de la autentificacion.

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 DiegoSantos
21/05/2004 - 14:31 | Informe spam
Una idea que se me ocurre es que puedes preguntar, aparte de la encriptacion
de la password, es por el request.ServerVariables("HTTP_REFERER"), si esto
es igual a tu dominio, y /o combinarlo con el
request.ServerVariables("PATH_INFO"), entonces esta OK y sino es porque
viene de otra pagina y esta tratando de hacer alguna trampilla

Espero que te sirva.
Saludos
Diego




"Y2K" escribio en el mensaje
news:#
Hola a todos,

Mi pregunta es sobre la seguridad al momento de que un usuario se loguee a
un sitio web.
Hasta ahora usaba MD5 para encriptar y pensaba que estaba seguro pero al
analizarlo bien no es asi.
La forma como yo hacia es:

1) Usuario introduce Login y Password
2) Al aceptar, antes de que la pag. haga submit a la pag. de comprobacion


de
usuario, encripto la contrasena con javascript en el lado del cliente
mediante MD5 y luego recien hace submit. (Esto era para que cualduier
persona que este viendo el flujo de la red solo se tope con una contrasena
encriptada)
3) Luego en la pag. de comprobacion recupero de la BD la contrasena que
tambien fue almacenada en su forma encriptada y realizo la comprobacion.


Si
es igual el usuario es logueado y sino se abre una pag. de error de login


o
password.

Bueno esto era lo que hacia, pero esto resulto no ser nada seguro. Pues si
uno logra robar la contrasena encriptada, con esto se puede hacer una


pagina
aparte que haga submit a la pag. de comprobacion con el login y la
contrasena encriptada (sin necesidad de volver a encriptar nada) y bueno


con
esto la contrasena va al servidor y es comprobada y acepta como correcta.

No se como poder solucionar esto de la autentificacion.

Gracias de antemano.

Respuesta Responder a este mensaje
#2 Jhonny Vargas P.
24/05/2004 - 16:51 | Informe spam
Hola Y2K,

Una alternativa es que al momento de loguear al usuario, le crees un
identificador como por ejemplo un UID (lo puedes hacer directamente de la
base de datos SQL Server con un NewId() )

La idea es crear una tabla con sesiones, en donde tengas un campo con el
identificador (UID) y el otro que relacione la tabla de usuarios.

Por lo tanto lo que tendras en las paginas sera solamente el String con el
UID, en vez del usuario... que obviamente pagina por pagina tendrias que
consultar a la tabla con estas Sesiones

Perfectamente puedes encriptar y desencriptar este valor en el ASP.

Espero que te sirva.

Saludos,
Jhonny Vargas P. [MVP]
Santiago de Chile


"Y2K" escribio en el mensaje
news:%
Hola a todos,

Mi pregunta es sobre la seguridad al momento de que un usuario se loguee a
un sitio web.
Hasta ahora usaba MD5 para encriptar y pensaba que estaba seguro pero al
analizarlo bien no es asi.
La forma como yo hacia es:

1) Usuario introduce Login y Password
2) Al aceptar, antes de que la pag. haga submit a la pag. de comprobacion


de
usuario, encripto la contrasena con javascript en el lado del cliente
mediante MD5 y luego recien hace submit. (Esto era para que cualduier
persona que este viendo el flujo de la red solo se tope con una contrasena
encriptada)
3) Luego en la pag. de comprobacion recupero de la BD la contrasena que
tambien fue almacenada en su forma encriptada y realizo la comprobacion.


Si
es igual el usuario es logueado y sino se abre una pag. de error de login


o
password.

Bueno esto era lo que hacia, pero esto resulto no ser nada seguro. Pues si
uno logra robar la contrasena encriptada, con esto se puede hacer una


pagina
aparte que haga submit a la pag. de comprobacion con el login y la
contrasena encriptada (sin necesidad de volver a encriptar nada) y bueno


con
esto la contrasena va al servidor y es comprobada y acepta como correcta.

No se como poder solucionar esto de la autentificacion.

Gracias de antemano.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida