Buen sistema (manual) para generar contraseñas para una amplia gama de requisitos

3

Situación

Con el tiempo, debo elegir y usar muchas contraseñas en diferentes entornos. Algunos en mi computadora, donde podría elegir usar un administrador de contraseñas, pero muchos en sistemas cliente donde es posible que ni siquiera tenga acceso en línea y definitivamente no puedo conectar un dispositivo de almacenamiento. A veces uno ni siquiera puede traer recursos auxiliares como un teléfono.

Pregunta

Suponiendo que no quiero usar un administrador de contraseñas y tengo que seleccionar y usar las contraseñas manualmente, ¿cuál sería un buen sistema para esto?

Idealmente, el sistema debería cumplir con las siguientes restricciones:

Restricciones del sistema

  1. Debería darme una contraseña para (casi) cualquier combinación de restricciones de contraseña (ver más abajo)
  2. Sería comparativamente fácil de recordar / recrear si conozco la configuración (¿y la fecha ?!) y sus restricciones
  3. Debería estar seguro contra alguien que conoce el sistema (pero no los parámetros de entrada)
  4. Debería estar seguro después de usar el sistema en un entorno inseguro y la contraseña utilizada allí puede perder. No me preocupa que alguien sepa más de 1 contraseña filtrada.
  5. Bonificación: sería bueno si estuviera seguro contra alguien que conoce una contraseña antigua.

Ejemplo de restricciones de contraseña

Restricciones típicas en la elección de una contraseña (por supuesto, varían según el sistema):

  • Entre los caracteres mínimo y máximo
  • Sin símbolos / al menos n símbolos de un conjunto limitado
  • Al menos algunas letras de cada caso
  • La contraseña debe cambiarse periódicamente y no coincide con nada de los últimos M períodos

No me preocupan solo las contraseñas numéricas

¿Qué he probado?

Intenté crear sistemas, pero no he encontrado nada que cumpla con todas las restricciones del sistema (o es lo suficientemente bueno en general).

Ejemplo 1: primer ajuste más pequeño

Solo para mostrar cómo podría ser un sistema, mencionaré este ejemplo ridículo.

  1. Sigue agregando la letra a, hasta que se cumpla el conteo mínimo de caracteres, por ejemplo aaaaaa
  2. Cambia recursivamente un carácter hasta que se cumplan las restricciones, podrías terminar con aaaaA1

Este sistema generará una contraseña que siempre puede cumplir los requisitos. Por supuesto, su fuerza puede ser horrible si no comienzas con una cadena aleatoria. Así que este sistema fallaría la restricción 2 o 3 del sistema.

Ejemplo 2: comienza con el núcleo

Siento que este no es un sistema sólido, pero creo que se usa en la práctica.

  1. Elija un núcleo (con suerte fuerte), por ejemplo: securitystackexchange
  2. Ajústelo para que coincida con los requisitos, por ejemplo: Securitystackexchange01

Si tiene un núcleo largo, normalmente puede llevar a contraseñas débiles cuando el máximo de caracteres está limitado. Por ejemplo Security01. Además, este sistema no cumple con la restricción del sistema 4.

Ejemplo 3: elija caracteres aleatorios dentro de los requisitos

  1. Elija caracteres aleatorios dentro de los requisitos

Uno no puede recordar muchos de estos, así que esto no califica como algo que puedo usar manualmente y diría que falla la restricción 2 del sistema.

Actualización sobre los administradores de contraseñas

No me preocupa la calidad de los administradores de contraseñas, y entiendo que su uso haría que esta pregunta fuera trivial. Sin embargo, estoy buscando una respuesta que no las requiera, ya que es posible que no pueda usarlas en cualquier lugar. Por ejemplo, cuando no se le permite acceder a Internet, instalar programas o traer su propio dispositivo.

    
pregunta Dennis Jaheruddin 08.08.2016 - 11:53
fuente

6 respuestas

3

Una opción (no decir que sea genial) es combinar la idea del núcleo sólido con la opción de notebook.

Supongamos que tienes un núcleo como: secu_ritYstAcke_xChang_e01

Cambia esto según los requisitos (por ejemplo, cambio 0 - > a, 1 - > b si no se permiten números), los _es que completa del cuaderno. El cuaderno contiene entradas como: (no necesita ser 3 veces 6 caracteres o tener el mismo patrón cada vez)

CompanyX: abc123, xyz! * @, (# * 987

Entonces, la contraseña resultante para CompanyX sería:

secuabc123ritYstAckexyz! * @ xChang (# * 987e01

Creo que claramente puede satisfacer las restricciones 1, 2 y amp; 3. Para la restricción 4, siempre que su "núcleo" y "valores de cuaderno" sean lo suficientemente fuertes como para que una 1 contraseña esté expuesta, no debería aumentar dramáticamente el riesgo para el resto de sus contraseñas, ya que cualquiera de esos caracteres podría ser "central" o no. Aunque sin duda reduce la fuerza. Suponiendo que cambie su parte "central" a menudo, también debe cumplirse la restricción 5. Seguro que los "valores de cuaderno" siguen siendo los mismos, pero dado que el "núcleo" cambia por completo, debería mantener una buena cantidad de entropía.

El portátil representará un riesgo físico, por supuesto, pero por sí solo no debería ser suficiente, se necesitaría una contraseña activa para romper el sistema por completo.

Sin embargo, definitivamente argumentaría usar este sistema para la menor cantidad de sistemas posible (solo aquellos donde no puede llevar su teléfono Y no puede acceder a Internet) y usar un administrador de contraseñas para el resto, ya que este método es un mucho más seguro.

    
respondido por el Selenog 08.08.2016 - 16:40
fuente
2

Puede probar Off the Grid . Debe cumplir con todos los criterios 1,2,3,4,5.

Consiste en una cuadrícula de caracteres aleatorios que se pueden usar para cifrar nombres de dominio (o lo que quieras) en contraseñas seguras. Puede imprimirlo y guardarlo en su bolsillo, pero no hay nada en el texto simple para que un surfista de hombro lo atrape. Si usa la forma "estándar" de usarla (descrita en el sitio web), una persona que obtenga una copia podría, en teoría, descifrar sus contraseñas, pero si la modifica ligeramente (también descrita en el sitio web) debería estar a salvo incluso de eso. .

descargo de responsabilidad: nunca he usado este sistema, por lo que no puedo decir lo difícil que es usarlo en la práctica.

    
respondido por el pppp 09.08.2016 - 08:26
fuente
1

Si no está utilizando un método aleatorio como el software de los dados o la aleatoriedad de carácter por carácter, debe idear un método para generar una contraseña que pueda dar lugar a un gran número de posibilidades, incluso si no están realmente aleatorio. La dificultad para usted será usar un método que no ayude al atacante demasiado si se conoce.

Por lo tanto, sugiero evitar esquemas que intenten transformar una contraseña débil en algo fuerte (por ejemplo, el hashing del nombre del sitio). Si adivinan tu método, estás en problemas una vez que crean una regla para un ataque de diccionario.

En cambio, si realmente va a evitar contraseñas aleatorias o software de dados, recomiendo comenzar con una frase de contraseña original larga y agradable, y tomar la primera letra de cada palabra o sílaba, como lo sugirió Bruce Schneier en una publicación algo controversial. Como señalan los creadores de 1-Password , su frase de contraseña no debe sentido, y no debe usar hechos reales sobre usted que alguien pueda descubrir; como dicen en su publicación, "hay más formas ... de mentir ... que de decir la verdad" y "hay más formas para que una oración no tenga sentido que tenga sentido". Por encima de todo, no utilice versículos de la Biblia, letras de canciones o citas de wikipedia , ya que pueden provocar ataques de diccionario; hacer algo en su lugar.

Se pueden introducir números y símbolos con las sustituciones habituales.

Esto NO será tan fuerte como una contraseña aleatoria o una frase de diceware. Puede parecer aleatorio para un humano, pero una computadora puede aprovechar las frecuencias de las letras en la parte frontal de las palabras, el análisis estadístico de la estructura de la oración y todo tipo de cosas para facilitar su trabajo. Cuánto más fácil sería muy difícil, si no imposible, cuantificar.

Probable , con un buen algoritmo de hash lento y una frase de contraseña lo suficientemente larga, y evitando frases comunes, su contraseña será "lo suficientemente fuerte" para resistir un ataque lo suficiente como para que descubra un compromiso y cambiar la contraseña. Por lo tanto, este método es probablemente lo suficientemente bueno como para las contraseñas que debe ser cortas y debe estar memorizadas.

Pero a diferencia de diceware y las contraseñas aleatorias, no hay garantías.

    
respondido por el Ben 10.08.2016 - 07:07
fuente
0

¿Has intentado llevar un pequeño bloc de notas? Utilice un sitio como www.passwordsgenerator.net/ que le permite ajustar su generador para que coincida con los criterios que tiene el sistema específico. Una vez generado, simplemente escriba la oración "Recordar su contraseña". Sé que es probable que los riesgos físicos sean un problema, pero es la única solución que se me ocurre que aún podría usar sin conexión y sin ningún dispositivo auxiliar.

    
respondido por el Christian Foster 08.08.2016 - 14:02
fuente
0

Diceware . También conocidas como frases de contraseña del estilo xkcd .

Estas pueden ser contraseñas memorables que cumplan con todas las restricciones del sistema. La única dificultad es que tienden a ser largos, por lo que cuando dices "entre los caracteres mínimo y máximo" puedes encontrar problemas en el extremo máximo. Esto se puede superar en cierta medida siempre que "max" sea del orden de 30-50 y no de 10-12.

La idea es que comiences con una lista de varios miles de palabras comunes y que elijas 6-8 palabras al azar . El Diceware clásico usa dados físicos reales para seleccionar las palabras, pero puede usar un generador de números pseudoaleatorios seguro criptográficamente si es más fácil. Algunos administradores de contraseñas como 1Password tienen generadores de software de dados integrados, otros como KeePass tienen complementos para hacerlo por ti (como Word Sequencer ).

Si encuentra 6-8 palabras completamente aleatorias no es muy memorable, puede modificar el método para generar frases sin sentido que sigan libremente las reglas gramaticales. Dependiendo de cómo se haga esto, puede ser igual de seguro (por ejemplo, si crea listas de palabras separadas basadas en parte del discurso pero aún así selecciona aleatoriamente de cada lista, en un orden particular). No estoy seguro de cómo se implementa, pero el generador de frase de contraseña legible de KeePass parece hacer algo como esto.

Si las contraseñas generadas a partir de estos métodos son demasiado largas, puede reducir la longitud al intentarlo nuevamente hasta que tenga éxito, o recortar sus listas de palabras para enfocar una cierta longitud promedio. Pero tenga en cuenta que la eliminación de sus listas reducirá la seguridad de la frase de contraseña resultante a menos que reemplace las palabras eliminadas con palabras nuevas (más cortas).

Si necesita ciertos caracteres especiales, o números, o lo que sea, puede incorporarlos en una lista de palabras, o simplemente agregarlos en un lugar específico y depender de la seguridad del método en sí para mantener el resto de los contraseña secreta.

    
respondido por el Ben 08.08.2016 - 17:10
fuente
-1

Manualmente, diceware es muy bueno, pero conozco una corporación que usa este esquema (los usuarios seleccionan sus propios pw): 23 + 78 = 101, lo que da 'veintitrés más setenta y ocho es igual a cien y uno'. No utilizo ese esquema, ya que puede ser atacado con listas de palabras personalizadas si un cracker lo conoce. Algo como "¿La carne de caballo es atroz? ¡Pero es delicioso!" es memorable Use este tipo de mnemotécnico y utilice caracteres especiales: é, ö etc.

    
respondido por el user400344 09.08.2016 - 09:47
fuente

Lea otras preguntas en las etiquetas