elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ¿Cuál es la mejor opción para cifrar con PHP?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cuál es la mejor opción para cifrar con PHP?  (Leído 11,027 veces)
Shurhand

Desconectado Desconectado

Mensajes: 18


Ver Perfil
¿Cuál es la mejor opción para cifrar con PHP?
« en: 26 Febrero 2009, 13:35 pm »

Voy a intentar migrar una aplicación de un tipo de cifrado a otra, y mirando información en internet he encontrado que se disponen de las siguientes funciones de cifrado:
Código:
    
    * Adler32 (MHASH_ADLER32)
    * Crc32 (MHASH_CRC32)
    * Crc32B (MHASH_CRC32B)
    * Gost (MHASH_GOST)
    * Haval128 (MHASH_HAVAL128)
    * Haval160 (MHASH_HAVAL160)
    * Haval192 (MHASH_HAVAL192)
    * Haval256 (MHASH_HAVAL256)
    * Md4 (MHASH_MD4)
    * Md5 (MHASH_MD5)
    * Ripemd160 (MHASH_RIPEMD160)
    * Sha1 (MHASH_SHA1)
    * Sha256 (MHASH_SHA256)
    * Tiger (MHASH_TIGER)
    * Tiger128 (MHASH_TIGER128)
    * Tiger160 (MHASH_TIGER160)

¿Cuál es el más eficaz? ¿Cuál es el más robusto? ¿Cuál no habría que utilizar? ¿En qué situación se utilizaría alguno de ellos en especial?

Todo esto lo pregunto porque muchísimas aplicaciones y demás historias comerciales y no comerciales vienen con MD5 por defecto y sinceramente, no creo que sea la mejor manera de cifrar nada, no creo que sea ya muy seguro.

Espero que alguien me pueda ayudar.

Gracias de antemano, y salud.


En línea

XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #1 en: 26 Febrero 2009, 16:58 pm »

Yo te recomendaria que utilizases mezclas de algunas funciones, por ejemplo:

Código
  1. sha1(md5('palabra'));

Tambien podrias utilizar (ya la releche en seguridad XD) una palabra "secreta" que utilizarias paras las encriptaciones...
Ejemplo:
Código
  1. $secret_word = 'secret';
  2. $encripted_pass = sha1(md5('palabra'.$secret_word));
  3.  

Y esto ya supondria que la persona que intentase descifrar esta contraseña supiese que estas utilizando dos tipos de encriptacion distinta, y ademas deberia saber la "palabra secreta".


En línea

Shurhand

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #2 en: 26 Febrero 2009, 17:16 pm »

Muy buena idea, aunque respecto a MD5:

"Debido al descubrimiento de métodos sencillos para generar colisiones de hash, muchos investigadores recomiendan su sustitución por algoritmos alternativos tales como SHA-1 o RIPEMD-160."

Por eso no quería usar para nada MD5. Creo que usaré sha256 porque proveé 128 bits de seguridad frente a los 80 de sha-1, lo que le hace más robusto frente a un ataque tipo birthday, y creo que añadiré Ripemd160 con una palabra secreta.
En línea

invisible_hack


Desconectado Desconectado

Mensajes: 978


Invisible_Hack™ Nick Registrado ^^


Ver Perfil WWW
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #3 en: 26 Febrero 2009, 19:02 pm »

Justo acabo de publicar mi source de mi encriptador de claves usando MD5 en Php, está justo encima de este post  :P
En línea

"Si no visitas mi blog, Chuck te dará una patada giratoria"
XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #4 en: 26 Febrero 2009, 19:05 pm »

Anda! Pues mira, eso de la debilidad de md5 y sha-1 no lo sabia...Uno no se acostará nunca sin saber aprendido una cosa mas....XD

Yo mi web la tengo con una simple proteccion de md5, y hace tiempo que tenia pensado mejorar el sistema, pero por pereza no lo he hecho todavia...  ;D

Principalmente la tenia en md5 porque devolvía una cadena "cortita" y cuanto mas corta, mejor para guardarla en la base de datos... Pero con lo que me has dicho me parece que voy hacer los cambios en mi web en cuanto tenga un poco de tiempo libre, y sobretodo voy a dejar de utilizar md5...

Lo ultimo de todo, un consejo, si vas a utilizar varias funciones de encriptacion a la vez, te sugiero que reserves la que devuelve la cadena de caracteres mas corta como la ultima que se ejecuta, asi ahorrarás algo de espacio en la base de datos...  ;)
En línea

Shurhand

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #5 en: 26 Febrero 2009, 19:17 pm »

Leed esto:

http://hackdosx.blogspot.com/2009/01/md5-vulnerable.html

He aquí un ejemplo de cómo no usar MD5, sino TripeDes, con PHP:
Código:
<?php
$llave = "Clave secreta";
$entrada = "Frase a traducir";

$datos_cifrados = mcrypt_ecb (MCRYPT_3DES, $llave, $entrada, MCRYPT_ENCRYPT);
?>

Para el que quiera saber más, que consulte:
http://es.codepicks.net/phpmanual/ref.mcrypt.html
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #6 en: 26 Febrero 2009, 19:29 pm »

Lo del la cifrado md5 vulnerable lleva un par de meses, y es por esto que se recomienda migrar a sha1.
Igualmente para generar las colisiones capaces de vulnerar md5 se necesita una buena capacidad de procesamiento, como la generada por la granja de 200 PS3 trabajando juntos para esta tarea  :P

Lectura recomendada:

http://foro.elhacker.net/hacking_avanzado/md5_considered_harmful_today-t240148.0.html

Saludos  ;D
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Shurhand

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: ¿Cuál es la mejor opción para cifrar con PHP?
« Respuesta #7 en: 26 Febrero 2009, 19:33 pm »

Amablemente, ¿alguien podría convertir la referencia de mcrypt (incluyendo las funciones más relevantes) a PDF? Yo lo haría, pero ahora mismo no puedo y la verdad, estaría bien tenerlo en los ordenadores para estudiar todo detenidamente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines