it-swarm-es.com

¿Existe algún método para generar contraseñas específicas del sitio que se puedan ejecutar en mi propia cabeza?

Estaba pensando recientemente en la seguridad de la contraseña. Mi objetivo es tener contraseñas en su mayoría aleatorias, que son diferentes para cada sitio. Pero también debe poder recordarlos (o volver a generarlos) sin la ayuda de ninguna nota o similar. Si uso contraseñas realmente aleatorias (generadas por un generador de contraseñas), solo recuerdo algunas. Mucho menos que la cantidad de cuentas web que tengo. Las contraseñas más simples a menudo son más fáciles de adivinar.

Pensé que un compromiso podría ser algunas reglas fáciles de aprender y alguna contraseña maestra secreta, para generar una contraseña a partir del nombre del sitio. Digamos que tiene una contraseña para eBay y Amazon. Este método debería generar dos contraseñas diferentes, para 'ebay' y 'Amazon'. Pero también debería poder hacer el proceso en mi cabeza, sin el apoyo del software o incluso papel y lápiz. Contraseñas de uso común que recordaré directamente. Pero los que rara vez se usan, y se olvidan, podrían reconstruirse con tal método. ¿Alguien sabe acerca de tal método?

EDIT : Lo que pido debería mejorar la seguridad, al crear diferentes contraseñas para cada sitio/máquina/programa, pero también mantenerlas todas memorables. Una contraseña segura es buena, pero es más probable que olvide las contraseñas del sitio, y si pierde su tienda o está dañada, tiene un problema. ¡También TODAS las contraseñas pueden verse comprometidas a la vez! Y al final, mi contraseña de seguridad local no está disponible, si estoy en la máquina de un amigo.

52
Mnementh

Pregunta intrigante. Aquí hay una nueva lluvia de ideas, con suerte mejor. Advertencia emptor.

Genere dos buenas contraseñas aleatorias resistentes que se comprometan con la memoria.

Tome las letras del nombre del sitio en secuencia. Si la letra es una vocal, use la letra correspondiente de la primera contraseña. De lo contrario, si es una consonante, use la letra correspondiente de la segunda contraseña.

P.ej. supongamos que sus contraseñas son (de apg) hicIrfyic9 y FritwoivAuv0. Para el sitio stackexchange, las dos primeras letras son una consonante, por lo que utiliza el "Fr" de la segunda contraseña. El siguiente es una vocal, por lo que utiliza "c" de la primera contraseña. Continúe y obtendrá "FrctwfivA9".

Si realmente le preocupa que alguien encuentre varias de sus contraseñas y descubra el patrón, puede agregar algún método para rotar primero cada una de las contraseñas circularmente o algo así, o cambiarlas por el alfabeto, o lo que sea, pero es fácilmente posible ponerse demasiado paranoico y confundido ...

Podrá codificar esto en sus máquinas habituales por conveniencia, solicitándole las contraseñas subyacentes, pero aún así podrá usarlo en los quioscos, más lentamente, desde la memoria. No estoy convencido de que esta idea general valga la pena, pero tal vez por algunas circunstancias.

17
nealmcb

Tengo una respuesta bilateral para esto:

Puede hacer esto, y un método comúnmente establecido incluye una sección basada en el sitio web y una sección basada en el tiempo. Puede crear una contraseña como blahblahebay2010 y esto probablemente sería recuperable si lo piensa en un par de años. Hace lo que quieres.

Sin embargo No lo recomendaría - no debe usar un sistema, lo que significa que su contraseña se puede resolver. De acuerdo, puede que no seas un gran objetivo, pero tal vez alguien quiera romper tus contraseñas ... así que si hay un algoritmo que utilizas en función del sitio web, entonces reducirás drásticamente la seguridad de la contraseña. En su lugar, use algo como Password Safe para almacenar todas sus contraseñas (que pueden ser muy largas, complejas, inmemorables, etc.) y solo recuerde la contraseña segura para protegerlas.

11
Rory Alsop

Si solo desea ¡diferente contraseñas para los distintos sitios, simplemente agregue el nombre del sitio a una contraseña "base" común. P.ej. recuerdas la base "7g93hrew9" y luego tus contraseñas serán 7g93hrew9ebay, 7g93hrew9Amazon, ...

Por supuesto esto no es satisfactorio. Este ejemplo está destinado a mostrar lo que realmente desea: no desea contraseñas "diferentes", desea contraseñas de modo que conocer varias de ellas no permita adivinar la contraseña de otro sitio. Criptográficamente, desea que su generador de contraseñas sea un función pseudoaleatoria que toma como entrada el nombre del sitio y genera la contraseña específica del sitio.

Existe alguna evidencia empírica de que no es factible construir un PRF que un humano pueda (razonablemente) calcular en su cabeza. De hecho, si observa funciones hash criptográficas , las muy rápidas (MD4, MD5 ...) se han roto, las menos rápidas (SHA-1) se han debilitado un poco y las más fuertes (SHA-256) son más lentos. Mirando el número de operaciones elementales, puede ver una especie de corte alrededor de 1000 operaciones para trocear un bloque pequeño. Se observa un corte similar en el competencia SHA- . Parece que hay una cantidad mínima de trabajo que se debe realizar para lograr la seguridad, y esa cantidad es de al menos unos pocos cientos de operaciones, lo que es demasiado para un cerebro humano promedio.

Por lo tanto, me temo que no hay una buena respuesta a su pregunta.

11
Thomas Pornin

use un tabula recta que combina un algoritmo simple que solo usa know con un token físico que solo tiene que crear contraseñas todo el tiempo que desee.

9
Yaur

Desde una perspectiva de "software", aquí hay un libro interesante que le gustaría leer:

El libro de recuerdos

Es uno de los libros clásicos sobre entrenamiento de la memoria. Lo he leído varias veces y creo que las técnicas son muy efectivas. Es lógico pensar que si puede entrenar su memoria a un nivel suficiente, puede usar las contraseñas que desee sin dificultad. (Esto, al menos, parece funcionar para mí).

El libro incluye un capítulo sobre la memorización de cadenas aleatorias de caracteres (o al menos, la versión en mi estante sí), por lo que podría ser muy útil.

Además, personalmente encuentro que el alfabeto fonético de la OTAN también es útil. Por alguna razón, creo que "Alpha" es más fácil de recordar que "A" (por ejemplo).

Espero que sea útil.

2
Chris Allen Lane

¿Por qué ejecutar un algoritmo para derivar contraseñas específicas del sitio en su cabeza, o recordar todas las contraseñas, cuando puede usar un javascript simple para hacer eso?

Esto está fuera de tema si realmente quieres calcular cosas en tu cabeza, pero lo propondré de todos modos:

Para mis contraseñas, uso un JavaScript personalizado similar al disponible aquí: http://www.supergenpass.com

La idea general es que cree una página web con un script o use la versión móvil de la página anterior, no el bookmarklet (consulte la discusión a continuación).

El script aceptaría dos parámetros: una contraseña maestra y la url de un sitio web (en el caso del bookrmarklet, obtiene la url automáticamente).

Luego realiza algunos cálculos criptográficos basados ​​en esos parámetros (básicamente crea y hash, por ejemplo, base64-md5, en la concatenación de la contraseña maestra y la URL, y lo hace 10 veces o tantas veces como desee) y genera un sitio específico , alta entropía, contraseña larga que copia y pega en su campo de formulario.

Ni siquiera necesita verlo o recordar sus contraseñas, y no se almacenan en ningún lugar como en una contraseña segura, sino que se generan a tiempo. Simplemente recuerda su contraseña maestra y ya está.

Ni siquiera sé qué contraseña uso para cada sitio, y estoy bastante contento con eso.

2
john

No recomiendo hacer algo como esto, pero para las patadas y las risas aquí hay un método.

Contraseña = Concatenar ((C - longitud (y) - longitud (x)), PascalCase (x), repetir (".", (Longitud (y)% 2) +1))

Dónde:

C = constante de número> 3 dígitos
y = el texto significativo de la url del sitio
x = Palabra que asocias con el sitio

Ejemplo:

C = 1234
y = security.stackexchange
x = oscuridad

Contraseña = Concatenar ((1234 - 22 - 9), "Oscuridad", ".")

Contraseña = 1203 Seguridad.

La debilidad obvia es que debe recordar una palabra que asociaría con el sitio. Y antes de que alguien lo comente en mi ejemplo, no estoy diciendo que security.se sea oscuro. Estoy señalando que Obscure! = Security. Y no, no uso esto para mis contraseñas.

1
sdanelson

En 2014 Manuel Blum presentó un algoritmo que se puede calcular en la mente y que es adecuado para generar contraseñas. http://scilogs.spektrum.de/hlf/mental-cryptography-and-good-passwords ( ¡Criptografía mental y buenas contraseñas)

Descripción: Su secreto es un mapeo de letras a dígitos, y un mapeo de dígitos a dígitos. Es importante que sean bastante "al azar". Se requiere un esfuerzo inicial para aprender estas asignaciones de memoria, pero luego, generar una contraseña solo implica la aritmética del módulo 10.

Extracto:

Llame a su mapeo de letras a dígitos f. Puede tener, por ejemplo, f(a) = 8, f(b) = 3, f(c) = 7, etc. Desde allí son más letras que dígitos, algunas letras se asignarán al mismo dígito.

Sea g la función que envía cada dígito al siguiente en su permutación. Entonces, si su permutación fue 0298736514 entonces g(0) = 2, g(2) = 9, g(9) = 8, etc.

Ahora, así es como usa el método para generar contraseñas.

  1. Convierta el nombre de su cuenta en una secuencia de n letras.

  2. Convierte esta secuencia de letras en una secuencia de dígitos usando tu mapa f. Llame a esta secuencia de dígitos a0a1a2 ... an.

  3. Calcule b1, el primer dígito de su contraseña, agregando a1 y an, tomando el último dígito y aplicando la permutación g. En símbolos, b1 = g ((a1 + an) mod 10).

  4. Calcule los dígitos posteriores mediante bj = g ((bj-1 + aj) mod 10).

Vea el comentario de ¡Gnurf en la página vinculada para conocer algunas desventajas con este método y la mayoría de los otros métodos.

1
David Andersson

Aquí hay algunas buenas respuestas, pero como regla general, si puede pensar en un algoritmo para hacerlo en su cabeza, es probable que el algoritmo ya sea parte de los conjuntos de herramientas de explotación existentes. :-)

1
Zaakiy Siddiqui

esto puede ser un poco difícil de hacer en su mente si no está acostumbrado a agrupar los valores del gráfico, pero se puede arreglar para ese nombre de intención del sitio convertido a binario y luego sume cada "1" Sitio de ejemplo: Facebook Bin: 01100110 01100001 01100011 01100101 01100010 01101111 01101111 01101011 suma: 43442665 el truco es lo que viene después, como intercambiar pares con voces, etc., fac4b66k, o si conoce bien el hexadecimal, simplemente convierta cada letra a hexadecimal (66 61 63 65 62 6f 6f 6b) y úsela con un poco de sal no necesita convertir todo, solo una parte para usar como intercambio o base de algún pase

Puede usar una contraseña débil encriptada usando la URL del sitio como PSK. Podrías duplicar el cifrado fácilmente, pero cualquier atacante tendría dificultades para obtener tu contraseña, ya que primero tendrían que descifrar, sin embargo, el inicio de sesión cifra tu contraseña y luego fuerza bruta el PSK del cifrado que obtendrían una vez que hubieran descifrado. Tomaría un tiempo increíblemente largo.

0
KnightOfNi