Foros del Web » Programando para Internet » PHP »

¿ Realmente es necesario encriptar siempre contraseñas ?

Estas en el tema de ¿ Realmente es necesario encriptar siempre contraseñas ? en el foro de PHP en Foros del Web. Hola! Se que es recomendable encriptar contraseñas pero a veces, ¿no es mas un inconveniente que una ventaja?, pongo un ejemplo: Tengo que crear una ...
  #1 (permalink)  
Antiguo 23/11/2010, 12:15
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
¿ Realmente es necesario encriptar siempre contraseñas ?

Hola!

Se que es recomendable encriptar contraseñas pero a veces, ¿no es mas un inconveniente que una ventaja?, pongo un ejemplo:

Tengo que crear una web en php con usuarios registrados. Cada usuario será un cliente de la empresa y por tanto los passwords serán suministrados por el administrador de la web, por lo que no se deberá validar el registro ni nada parecido y tampoco aparecerá el password en ninguna cadena url o similar y al administrador le interesaría poder saber las contrseñas de todos los usuarios, entonces, ¿para que encriptar los passwords?, estarán en la BD sin encriptar, pero nadie puede acceder a la BD ya que nadie, excepto el programador de la web, sabe el usuario y password de la misma...

¿Que opinais?

Saludos!!!
  #2 (permalink)  
Antiguo 23/11/2010, 12:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Tu no tienes que saber la contraseña. Para ello encripta y si la persona olvida la contraseña, solo es cuestión de cambiarla y enviar una temporal para que el usuario la cambie. Ademas si alguien logra hackear y ver la base de datos, podrá saber la contraseña que por lo general es uniforme a otros lugares que la persona haya accedido y es un problema, pues para evitar estos problemas, solo es cuestión de encriptarla.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 23/11/2010, 13:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Es una cuestion de etica y seguridad.
  #4 (permalink)  
Antiguo 23/11/2010, 15:44
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Umm comprendo.. pero realmente se puede hackear una bd y saber todas las contraseñas ??, creo que es muy difícil conseguirlo no??
  #5 (permalink)  
Antiguo 23/11/2010, 16:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Cita:
Iniciado por davidj Ver Mensaje
Umm comprendo.. pero realmente se puede hackear una bd y saber todas las contraseñas ??, creo que es muy difícil conseguirlo no??
de poder, se puede, la mayoría de esos hack's se deben a diversas causas:

-inyecciones SQL no controladas
-débiles contraseñas o root sin contraseña
-debilidad en el FTP, si accede al archivo de conexión, obtiene una contraseña!
-el mismo caso del FTP, pero debido a inyecciones por upload, al no validar el tipo de archivo, permitiendo inyectar script que luego el cracker pueda ejecutar!!!
-que tu programador o DBA de confianza venda la base de datos (poco ético, como indica @mayid)
-y pare de contar, desgraciadamente esa gente malintencionada parece no tener mejor oficio que saltarse las normas
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 23/11/2010, 16:56
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Si se puede hackear una base de datos. Dificil? Para vos y para mi si. Para otros no.

Cita:
-el mismo caso del FTP, pero debido a inyecciones por upload, al no validar el tipo de archivo, permitiendo inyectar script que luego el cracker pueda ejecutar!!!
Y eso como se hace? Validando la extensión? O hay alguna manera especial?
  #7 (permalink)  
Antiguo 23/11/2010, 17:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

Cita:
Iniciado por mayid Ver Mensaje
Y eso como se hace? Validando la extensión? O hay alguna manera especial?
si con la extensión basta (sobretodo asegurar que no sea *.php), y si lo quieres más seguro valida el mime del archivo.

por ejemplo es el error más común entre novatos el tener formularos de upload de imagen y no validen la extensión.

validar el mime sirve para garantizar un formato especifico, pero actualmente no le veo caso practico.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 23/11/2010, 17:15
Avatar de zokratez  
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

El tema de seguridad es apasionante sin dudas... como prevensión es solucionable facilmente en lo que son inyecciones sql, con magic_quotes o uso de librerias como PDO y parametrización de variables, luego html_entities() para prevenir xss (cross-site-scripting). El tema del hasheo va un poco mas a la paranoia, porque hoy en dia los MD5 son facilmente reversibles si el usuario pone una contraseña vaga... Tambien tenes que pensar en que alguien que trabaja en el hosting filtra información y esas cosas. Siempre dependiendo la importancia de la web y si a alguien le va a importar hackearla.

Por ultimo aclararte una cosa que alimenta la cultura general sobre el tema, lo que se conoce como MD5, SHA1, etc no es encriptar claves, solo es hashear... esas funciones fueron creadas solo para el control de inviolabilidad de archivos, generan un codigo unico por la cantidad exactos de bits, y este codigo es llamado "checksum". Luego los programadores lo usamos para las claves. Encriptar es mucho mas profundo, seguro y lento... y a diferencia de esos hash tenes una clave para desencriptar nuevamente las claves encriptadas...

Si tu interes es poder ver las claves de tus usuarios pero al mismo tiempo protegerlas puede ser una buena opcion, yo te recomiendo blowfish.

Acá va un codigo de ejemplo:
http://www.chilkatsoft.com/p/php_blowfish.asp

Perdon si hice muy larga la respuesta, me apasiona el tema y me gusta que se entienda bien la diferencia.

Saludos!
  #9 (permalink)  
Antiguo 23/11/2010, 17:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ¿ Realmente es necesario encriptar siempre contraseñas ?

muy bien explicado @zokatez, pero actualmente el usar las "magic_quotes" en php no es recomendado, genera mas problemas de los que soluciona. saludos.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: contraseñas, encriptar, realmente, siempre
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




La zona horaria es GMT -6. Ahora son las 00:54.