Foros del Web » Programando para Internet » Javascript »

Cifrado contraseñas

Estas en el tema de Cifrado contraseñas en el foro de Javascript en Foros del Web. Buenos días Tengo un formulario de autenticación tipo usuario / contraseña y me gustaría saber, actualmente que sistema es el mejor para cifrar las contraseñas. ...
  #1 (permalink)  
Antiguo 28/04/2010, 03:44
 
Fecha de Ingreso: abril-2008
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Cifrado contraseñas

Buenos días

Tengo un formulario de autenticación tipo usuario / contraseña y me gustaría saber, actualmente que sistema es el mejor para cifrar las contraseñas.

He leido que md5 ya está obsoleto y que quizá sea mejor sha256

Por otro lado, me gustaría saber si es mejor cifrarla desde js, antes de enviarla o una vez la recibamos en el archivo php

Gracias
  #2 (permalink)  
Antiguo 28/04/2010, 09:19
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cifrado contraseñas

md5 no es cifrado, es una suma de verificación. Para validar una contraseña funcionará bien, ya que los casos de colisiones en el algoritmo requieren mucho trabajo, y requieren conocer la cadena md5 original. Si alguien se roba tu base, es probable que consiga obtener una cadena que tenga la misma suma md5 que alguna de las contraseñas, pero seguramente resulte en una cadena binaria imposible (en la práctica y con algunos cuidados) de introducir en un campo de texto.

La idea es que en tu base de datos guardás la suma md5 y no conocés la contraseña verdadera. Cada vez que el usuario quiere entrar, comparás el valor que tenés guardado con la suma de la cadena que te pasaron para el campo contraseña. Si es igual, la contraseña es correcta.

En cuanto a la segunda pregunta, si hacés que se calcule del lado del cliente y se envíe luego mejor te ahorras el cifrado, ya que será inútil: estarás comparando el valor que te llega a PHP contra el que tenés en la base de datos. Tal y como lo harías si no tuvieras seguridad alguna. Alguien que obtenga tu base de datos y conozca el md5 podría sin problema alguno manipular tu formulario para enviar el mismo md5 y entrar, sin conocer la contraseña. Eso no es debilidad de md5 sino del hecho de confiar en un dato que puede ser manipulado del lado del cliente.


saludos.
  #3 (permalink)  
Antiguo 28/04/2010, 12:24
 
Fecha de Ingreso: abril-2008
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Respuesta: Cifrado contraseñas

Hola Alvaro,

Entonces, entiendo que MD5 se utiliza o es útil por si te roban la base de datos desconozcan los datos codificados.

Por otro lado, he leido que cuando tienes un acceso autenticado usuario/contraseña, además de los diferentes ataques que hay (cumpleñaos, diccionario, etc) hay programas que pueden captar la contraseña que se envía al servidor.

¿Cómo se podría evitar esto?
  #4 (permalink)  
Antiguo 28/04/2010, 13:10
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cifrado contraseñas

La única forma de evitarlo es usando SSL (HTTPS).
Envía tu formulario de ingreso via https, y asegúrate de que el atributo "action" apunta a una url con https también. Tendrás que configurar el servidor, por supuesto.

De lo contrario los datos se transfieren en claro, y cualquier proxy que esté en la red (o programa que monitoree la actividad de red en la máquina) puede llegar a leer los datos. Haz una prueba simple: en Opera entra a las Developer Tools (o en Firefox instala Live HTTP Headers), envía un formulario cualquiera, y verás que los datos se ven claramente y sin cifrado alguno.


Saludos.
  #5 (permalink)  
Antiguo 28/04/2010, 16:10
 
Fecha de Ingreso: abril-2008
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Respuesta: Cifrado contraseñas

hola de nuevo,

cuando dices atributo action te refieres al botón ¿verdad?

¿tendrías algún ejemplo a mano?


grcias
  #6 (permalink)  
Antiguo 29/04/2010, 18:03
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cifrado contraseñas

no, me refiero al atributo action del formulario, es decir, la página a la que se enviarán los datos. Ejemplos no tengo, pero basta buscar por "https formulario" o simplemente "configurar https" para encontrar detalles.

Etiquetas: cifrado, contraseñas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:26.