Foros del Web » Programando para Internet » PHP »

Cifrado con PHP o SSL para ingreso de usuario

Estas en el tema de Cifrado con PHP o SSL para ingreso de usuario en el foro de PHP en Foros del Web. Hola!!!!! Resulta que como muchos de nosotros necesito hacer una página web en la que haya una zona para usuarios registrados. Esto lo hago mediante ...
  #1 (permalink)  
Antiguo 18/02/2005, 16:45
Avatar de txikano83  
Fecha de Ingreso: enero-2004
Mensajes: 29
Antigüedad: 13 años, 11 meses
Puntos: 1
Exclamación Cifrado con PHP o SSL para ingreso de usuario

Hola!!!!!
Resulta que como muchos de nosotros necesito hacer una página web en la que haya una zona para usuarios registrados. Esto lo hago mediante variables de sesión.
Mi problema es que cuando envío desde el formulario de ingreso del usuario (con un POST) el nombre de usuario y contraseña para verificar que es un usuario correcto, no le hago nada a esos datos para cifrarlos ni protegerlos, los envío directamente.

¿Cual seria vuestra recomendación? Cifrarlos antes de enviarlos con una función hash como SHA-1 o MD5, utilizar SSL para que el canal sea seguro, utilizar MCRYPT... ??? O no hace falta protegerlos xq no son tarjetas de credito o cosas así...

Gracias a todos!!!
__________________
Sucede que el diablo es muy astuto. Sucede que no siempre es tan feo como dicen. (Cazotte, El diablo Enamorado)
  #2 (permalink)  
Antiguo 19/02/2005, 08:51
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Hay unos JavaScript que cifran campos antes de salir de la pagina.

(Es exactamente lo que sucede al loguearse en FDW).

Busca uno que sea gratuito, y lo colocas en tu pagina.

Si un usuario coloca en el campo clave: 12345 el JavaScript envia por GET o POST lo que da md5('12345')

Salu2!.
  #3 (permalink)  
Antiguo 19/02/2005, 10:22
Avatar de txikano83  
Fecha de Ingreso: enero-2004
Mensajes: 29
Antigüedad: 13 años, 11 meses
Puntos: 1
Hola otra vez!!! he seguido tu consejo y he buscado por ahí información sobre cifrar con javascript --> http://www.programacion.com/php/articulo/md5/

Pero resulta que parece k no es muy seguro, porque a parte de la contraseña cifrada tambien hay k enviar el numero que completa a la contraseña antes de utilizar la funcion hash MD5.
Si alguien cogiera la contraseña cifrada con MD5 y el numero, podría generar la contraseña cifrada. ¿no?

A lo mejor m stoy metiendo en muxos follones de seguridad cuando la pagina es una tonteria d na...

Salu2
  #4 (permalink)  
Antiguo 19/02/2005, 11:22
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Bueno, desciframe este passsword pues:

"827ccb0eea8a706c4c34a16891f84e7b"

No es la clave que usaria una persona comun, ahora imagina:

md5('mi_verdaera_clave')

Descifralo...

No posible ser...

Salu2!.
  #5 (permalink)  
Antiguo 19/02/2005, 17:10
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Que casualidad...

Buscando como hace yahoo para que siempre que se carga su pagina de mail el PROMPT del mouse queda en la caja de correo, mire el CF, y adivinen que salio!...

Pues una funcion MD5 de esas que mencione, el autor es:
Código PHP:
<script language=javascript>
/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
 * Digest Algorithm, as defined in RFC 1321.
 * Copyright (C) Paul Johnston 1999 - 2000.
 * Updated by Greg Holt 2000 - 2001.
 * See http://pajhome.org.uk/site/legal.html for details.
 */

/*
 * Convert a 32-bit number to a hex string with ls-byte first
 */ 
Ahora, creen ustedes que Yahoo utilizaria esto si fuera algo inseguro?.

Bueno...

Alguien sabe cual es el servicio GRATUITO + inseguro de correo?.

Salu2!.
  #6 (permalink)  
Antiguo 19/02/2005, 17:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Los usuarios los tenés guardados en una base de datos? en un archivo?
De cualquier forma, lo que te recomiendo es que guardes el password encriptado con md5 y a la hora de abrir la sesión, encriptar también el password envíado por POST y compararlo con el guardado que ya está encriptado.

Principalmente te lo recomiendo porque como usuario no me gusta que cualquier admin vea el password que uso.

EDIT: no entiendo que es lo que quieren hacer con javascript, pero de cualquier modo, no creo que sea seguro. La función toma una cadena de algún lado, con buscar de dónde la agarra ya puedes tener la versión desencroptada, no? Tengo una función de js para JavaScript, si les sirve se las puedo pasar.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar

Última edición por thunder.scripts; 19/02/2005 a las 17:48
  #7 (permalink)  
Antiguo 19/02/2005, 18:16
Avatar de txikano83  
Fecha de Ingreso: enero-2004
Mensajes: 29
Antigüedad: 13 años, 11 meses
Puntos: 1
Pues si puedes pasarla xa ver tu version, te lo agradecería!!

Anarko, parece k crees suficiente protegerla con javascript sin que me meta
en 'fregaos' de ssl y tal, n??? Cuando usarías SSL?? sólo con cuentas bancarias o cosas así???
De toas maneras, con mis pobres conocimientos sobre criptografía, creo que seria seguro. Porque quien intercepte la clave cifrada (128 bits obtiene la funcion hash md5) sólo podrá obtener la clave eligiendo posibles claves en texto plano, cifrarlas con md5 y ver si coincide con mi clave cifrada.

Gracias a los 2 x contestar!!
  #8 (permalink)  
Antiguo 19/02/2005, 18:33
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Les pongo un link: http://www.fedeblog.com.ar/md5.js

Código HTML:
var encriptada = hex_md5("cadena");
Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #9 (permalink)  
Antiguo 21/02/2005, 07:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Encriptar en "javascript" ló único que sirve es para "cifrar" esa comunicación cliente-servidor .. pero está claro que si sabes quien es el "cliente" (tu página) y vas a ella -> ver código fuente) vas a ver la "semilla" o algorítmo que se use para encriptar dicha "comunicación" (variables que luego pasan por el URL).

Por eso si hablan de "encriptación" .. usen SSL y listo .. se olvidan de todo .. El SSL es transparente para PHP, se instala en el servidor HTTP y se usa como si no fuera encriptado (cara a PHP).

Un saludo,
  #10 (permalink)  
Antiguo 22/02/2005, 07:08
Avatar de txikano83  
Fecha de Ingreso: enero-2004
Mensajes: 29
Antigüedad: 13 años, 11 meses
Puntos: 1
hola cluster!!
ya sé que SSL es más seguro. Pero entonces, me estás diciendo que forosdelweb.com, k utiliza la funcion resumen MD5 con javascript para el inicio de sesión sería inseguro?? Bastaría ver el codigo fuente y un programa sniffer xa ver los datos que se envían xa sacar las contraseñas y nombres de usuario????

Gracias. XAo
__________________
Sucede que el diablo es muy astuto. Sucede que no siempre es tan feo como dicen. (Cazotte, El diablo Enamorado)
  #11 (permalink)  
Antiguo 22/02/2005, 13:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por mi parte he hablado de "semilla" con respecto a un sistema para encriptar en ambos sentidos (encriptar/desencriptar) .. no de MD5 que es un "hash" de un sólo sentido ..

Pero .. si no usas SSL .. si usas MD5() en el lado del cliente .. para una validación en el lado del servidor si se usó MD5() .. no sé como lo trabajan del lado del "servidor" . .en teoría podría compara con mi "contraseña" en MD5() en mis BD .. si eso viaja por TCP/IP . .con un "sniffer" (en una red) sería fácilmente capturado .. y si es así ese mismo MD5() podría tomarlo e ingresarlo directo al script.php?pass=7987asdf899asdf para "autentificarme" en ese sistema y una vez autentificado tal vez ir a ver el "perfil" del usuario, hacer acciones bajo ese usuario .. Pero, supongo que eso no vendrá sólo sino en compañia de una cookie tal vez o algo más ..

Un saludo,
  #12 (permalink)  
Antiguo 22/02/2005, 14:26
Avatar de txikano83  
Fecha de Ingreso: enero-2004
Mensajes: 29
Antigüedad: 13 años, 11 meses
Puntos: 1
Hola de nuevo!!

Respecto a eso que dices de meter directamente la función resumen (09ba565ffdd5646d) como contraseña e ingresar en el sistema, no serviría porque se volvería a utilizar md5 y se crearía otro valor resumen respecto al valor resumen introducido....

Además, en la BD de los usuarios estaría en texto plano la contraseña y nombre de usuario. Con PHP se aplicaría MD5() a la contraseña obteniendo un valor resumen. Se compararía con el valor resumen enviado desde el cliente, y si son iguales CORRECTO!.
Ningun pass tendría k viajar por TCP/IP en texto plano.

Xaooo
__________________
Sucede que el diablo es muy astuto. Sucede que no siempre es tan feo como dicen. (Cazotte, El diablo Enamorado)
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 17:58.