¿Puedo usar un cifrado de una URL como contraseña para usar en esa URL?

2

Estaba pensando en escribir un pequeño programa para generar contraseñas para mí. Lo que quiero hacer es cifrar la URL de la página de inicio de sesión con mi contraseña maestra y tomar los primeros ~ 20 caracteres como mi contraseña para esa página de inicio de sesión (o sin embargo, muchos caracteres, cualquier restricción de longitud de contraseña lo permite).

Lo que quiero saber es si esto es seguro, incluso si alguien encuentra mi código (o esta pregunta). Por seguro, quiero decir, tan seguro como la contraseña maestra. Por ejemplo, si un sitio está comprometido y un atacante obtiene uno o más de mis cifrados + url, ¿puede extraer mi contraseña maestra de eso? Si no es seguro, ¿puedo hacerlo seguro agregando algo?

PS. Me doy cuenta de que esto también me perjudicará si la página de inicio de sesión cambia la URL, pero puedo restablecer mi contraseña.

    
pregunta securityN00b 05.03.2017 - 17:12
fuente

1 respuesta

2
  

¿Esto es seguro, incluso si alguien buscara mi código (o esta pregunta)? Por seguro, quiero decir, tan seguro como la propia contraseña maestra.

Sí, esta es tan segura como su contraseña si elige cuidadosamente su método de cifrado. De hecho, lo que quieres no es cifrado; lo que necesita es una función hash (como sha256) que toma entrada y la codifica para producir una salida de longitud fija:

hash = sha256(url)

Obviamente, eso no es lo suficientemente bueno porque no hay una contraseña maestra involucrada, así que puedes intentarlo

website_password = sha256( password || url)

o

website_password = sha256( url ||  password)

Sin embargo, aunque eso pueda parecer perfectamente bien, no lo hagas así . No es seguro.

Lo que debes hacer es usar una primitiva preexistente, HMAC , que protege contra algunas debilidades de arriba dos ejemplos:

website_password = hmac(password, url)

Esto debería ser seguro (la seguridad depende de la calidad de su contraseña y la fuerza de la función hash utilizada en hmac (tiene espacio para tomar decisiones allí: hmac define un protocolo, pero le da una opción en primitivo hash) .

Aún así, la pregunta de rockStars es válida: ¿por qué no usar un administrador de contraseñas y desacoplar la contraseña maestra de las contraseñas del sitio? Porque si alguien adivina su contraseña maestra, todas las contraseñas de su sitio se conocen de inmediato.

    
respondido por el Pascal 05.03.2017 - 18:14
fuente

Lea otras preguntas en las etiquetas