Generador de contraseñas seguras
3 de Octubre del 2008He creado una pequeña aplicación web para la generación de contraseñas seguras. El uso de estas contraseñas está destinado principalmente a criptoseguridad web; como salts para hashes en software que lo requiera (por ejemplo, la última versión de Wordpress).
Generador de contraseñas seguras
Podéis descargar el código abierto aquí.
Próximamente tengo previstos algunos posts sobre criptoseguridad, su aplicación en diseño/desarrollo web y explicaré en mayor detalle la utilidad de estas contraseñas.
Estado emocional: milenarista
Escuchando: (Los Golfos) - Qué pasa contigo tío
Para qué sirve esto exactamente?
Inicialmente pensé que era para generar una contraseña segura, que luego pudiera regenerar fácilmente (si me la olvido) con las 3 palabras mágicas.
Pero veo que eso 100% random. Inclusive presionando “arrow keys” estando dentro de los campos de texto cambia la password generada…
Entonces, para qué 3 palabras? Por qué no generarla random directamente, con un botón?
Pep:
Es parte del proceso de generación segura. Si fuese generada aleatoriamente sólo en mi servidor, entonces podría estar almacenándolas y dispondría además de la ip del ordenador en el que fue mostrada. Este es un problema común en bastantes generadores de contraseñas (supuestamente) seguras on-line.
Por otro lado, uso el generador de números aleatorios de javascript. Este generador tiene una semilla relativamente pequeña, por lo que de forma aislada es insuficiente para contraseñas seguras, es por ello por lo que actúa conjuntamente con el valor aleatorio devuelto por mi servidor.
Por último, los caracteres introducidos por el usuario en las palabras son insertados en la clave directamente, en posiciones aleatorias. Esto reduce levemente la dureza de la contraseña pero mejora la percepción de confianza por parte del usuario (pese a la reducción de dureza, la contraseña continua siendo extremadamente segura).
Podría haber explicado todo algo mejor en el post, pero no quise complicarlo demasiado con detalles técnicos y/o matemáticos. Para un estudio detallado de qué hace exactamente, el código fuente está disponible.
Se me olvidaba:
Estas contraseñas no están destinadas a su memorización y uso frecuente, por ello no es problema que se olviden.
Su uso está orientado a salt para hashes. Durante la instalación de cierto software, principalmente aplicaciones web de código abierto, la adición de una de estas contraseñas seguras hace que dicha instalación sea única, y que el software pueda realizar, entre otras funciones criptográficas, firmas digitales únicas. La utilidad es muy muy amplia, próximamente pondré ejemplos de código bastante útiles para el desarrollo de aplicaciones web seguras.
Aaaaaaaaaahhhhhh
Ahora que lo dices…
Claro! Para hashes y criptografia SI es una buena idea :-)
Gracias por la aclaracion, y buen trabajo.
Opina que deberias linkear desde la herramienta a alguna pequenia pagina que explique esto, ya que el hecho de que una contrasenia generada en el server es almacenable no es inmediatamente obvio, y tampoco el hecho que la idea es usarla para hashes.
Es decir, a simple vista no parece util, cuando en realidad si lo es :-)
By the way, podrias subir la ultima contrasenia generada al servidor mediante AJAX, y robarte los passwords generados ;-)
Pep:
Justo por eso (la posibilidad de ajax) el código debe ser javascript y muy sencillito. Además, está el código abierto por si lo quieres instalar en tu propio servidor. Para los más desconfiados, que desconecten el router mientras generan la contraseña :P