Ver Mensaje Individual
  #9  
Antiguo 02-05-2007
d-hugo d-hugo is offline
Miembro
 
Registrado: abr 2007
Posts: 34
Reputación: 0
d-hugo Va por buen camino
La idea de usar hashes es justamente no guardar las propias contraseñas. Uno puede usar una contraseña fácil de recordar, pero lo que se guarda es el hash de esta, no la contraseña misma. Y obviamente, como los hashes son unidireccionales, es extraordinariamente difícil generar una contraseña válida conociendo el hash.

Como hash, MD5 ha sido roto varias veces, probablemente sería mejor utilizar alguna de las variantes altas del Secure Hashing Algoritm, SHA-256, SHA-384 o SHA-512 (SHA-1 ha sido roto alguna que otra vez).

Por otra parte, es cierto que un hacker puede simplemente saltarse las funciones de verificación, a menos que dentro de ellas se encuentre código esencial sin el cual el programa no funcione, esto complica un poco más las cosas.

Al final, la realidad es que si un hacker está determinado a romper un algoritmo de protección, y tiene los conocimientos necesarios y la cantidad de tiempo y recursos disponibles, lo conseguirá.

De modo que la tarea consiste precisamente en hacer que el costo en tiempo y recursos sea lo mayor posible, de manera que cuando se pueda acceder a la información, esta ya sea inútil.

Ah y otro detalle a tener en cuenta es la posibilidad de que en la máquina en que tecleemos la contraseña tengan instalado un keylogger. Hay controles que impiden obtener el texto enmascarado en un edit, pero aun no he encontrado uno que impida que se pueda generar un registro de las teclas pulsadas. A primera vista esto lleva intercepciones de las APIs y otras cosas que no deben ser sencillas.

En fin, que en esto de la seguridad hay para nunca acabar.

Última edición por d-hugo fecha: 02-05-2007 a las 17:44:25.
Responder Con Cita