¿Realmente mejora la contraseña si se incluye al menos un carácter de cada grupo (a-z, A-Z, 0-9)? [duplicar]

7

Muchas políticas de contraseña requieren al menos un carácter de cada grupo (mayúsculas, minúsculas, símbolos y números) en la contraseña.

¿Esto realmente mejora la seguridad de las contraseñas?

por ej .: Is (número incluido)

  

3 i {M? tofQPI.'C'dfmSK

realmente más fuerte que (sin número)

  

n i {M? tofQPI.'C'dfmSK

Por favor, intenta mantener las respuestas simples. Como la pregunta puede indicar, no soy realmente experto en ciencia criptográfica.

    
pregunta T. Christiansen 29.11.2016 - 19:41
fuente

5 respuestas

20

Para las personas que simplemente eligen la contraseña más simple permitida, esto es realmente una mejora en la entropía, como password a pa55word (la primera es tan mala como puede ser, la segunda es significativamente mejor aún) inaceptablemente simple). Password1 es diez veces más complejo que Password , pero solo porque es más largo, aunque Passworda sería 26 veces más complejo que el Password original.

Para las personas que eligen contraseñas seguras, esto es un obstáculo. Obliga a las contraseñas como ni{M?tofQPI.'C'dfmSK a convertirse en 3i{M?tofQPI.'C'dfmSK . Desde una perspectiva de pura entropía, hay menos posibilidades en dígitos (10) que en minúsculas (26), mayúsculas (26) o caracteres especiales (~ 32). Esa contraseña n… posiblemente * tiene 2.6 veces más entropía que la contraseña 3… ( 26 / 10 ).

Considere un esquema de contraseña más estricto: debe tener una letra mayúscula, un dígito y un carácter especial. Por lo tanto, un atacante sabe que hay una gran cantidad de contraseñas que son imposibles y, por lo tanto, no es necesario probarlas en una fuerza bruta ataque .

Usando la psicología, el atacante también dará prioridad al primer carácter como mayúscula y al último como un dígito o un carácter especial, lo que significa que 1pa*sswoRd es mucho más fuerte que Password1* (pero, nuevamente, es inaceptablemente simple) . Esto se denomina "topología de contraseñas" (obtenga más información de PathWell: Topología de contraseñas de Rick Redman).

* Calcular la entropía de la contraseña es muy difícil y nadie lo hace correctamente (es imposible hacerlo "correctamente" a menos que esté hablando de medir un generador de contraseña automático). Uno debe asumir el peor de los casos, que su esquema de generación de contraseña es totalmente conocido por el atacante, ya que no puede confiar en la seguridad a través de la oscuridad. Tengo mi propia forma de calcular la entropía que me gusta más que otras que he visto, pero también es imperfecta. Por lo tanto, el mejor consejo para la generación de contraseñas es crear un código de acceso muy largo que cumpla con las pautas de contraseña más recomendadas, incluso ignorando el primer y último carácter del código.

Al cambiar, por ejemplo, password a Password , estás duplicando la entropía porque es la ubicación más común para hacer mayúsculas (y la parte superior frente a la inferior tiene dos opciones), mientras que cambiar de password a pAssword al menos implica que la mayúscula podría estar en cualquier lugar, en lugar de aumentar la complejidad en 16x en este ejemplo (ocho caracteres por dos posibilidades de caso).

No olvides las palabras. Una palabra vale 2-3 "caracteres aleatorios" y no más. Las palabras súper oscuras (especialmente de idiomas más raros) pueden valer hasta cuatro caracteres (vea el enlace de mi entropía más arriba), pero es mejor ser conservador en su estimación. Digo que si está en un diccionario de ortografía para cualquier idioma que se sepa que hable, vale 2. Cualquier otra palabra no trivial vale 3. Password y otras contraseñas comunes (incluso 1qaz2wsx ; mira tu teclado) valen 1, por lo que Password1 es tan seguro como K% . Dado que los atacantes pueden peinar tus unidades, cualquier "palabra" que se encuentre en cualquier parte de tu computadora (excluyendo los diccionarios) vale como máximo 2 caracteres.

El azar es difícil para los humanos y aún más difícil de recordar (y la mayoría de las personas consideran erróneamente que "oscuro" y / o "inteligente" son "aleatorios"). Es por eso que los administradores de contraseñas ofrecen hacerlo por usted, creando un sistema en el que solo necesita recordar una contraseña grande que podría, por ejemplo, memorice la mitad de y pegue la otra mitad en su billetera.

    
respondido por el Adam Katz 29.11.2016 - 22:02
fuente
5

Para dos contraseñas generadas aleatoriamente de 8 caracteres (por ejemplo), elegir entre el espacio (a-z, A-Z, 0-9) versus (a-z, A-Z) aumenta la fuerza de la contraseña. Puede calcular por cuánto sigue la información en ¿Cómo debo calcular la entropía de una contraseña? .

En la práctica, para las contraseñas generadas por humanos, es difícil decirlo. ¿Es Password1 realmente mejor que PasswordX ? Probablemente no. Las políticas simples como esta no obligan a los usuarios a elegir mejores contraseñas en la práctica.

    
respondido por el mikeazo 29.11.2016 - 20:21
fuente
3

La respuesta a esta pregunta tiene dos componentes: la cantidad de caracteres que permite la contraseña y la calidad de las contraseñas que seleccionan los usuarios.

Diga que su sistema permite que se utilicen caracteres ASCII imprimibles en su contraseña, y que las contraseñas tienen una longitud fija de 5 caracteres (esto es solo un ejemplo ilustrativo).

Si sus usuarios son perfectos como generadores de números aleatorios, hay 95 ^ 5 combinaciones posibles que un atacante tendría que probar y los requisitos mínimos de "complejidad" no mejorarían la seguridad. Desde el punto de vista de un atacante, si la contraseña es "ABCDE", esto no es menos seguro que "J (@ K >" porque el atacante no tiene conocimiento a priori del hecho de que todos los caracteres son letras; solo se sabe eso después se encontró la contraseña, y esa combinación fue tan probable como cualquier otra cadena de 5 caracteres. ** De hecho, los requisitos de "complejidad" en realidad reducen la entropía, ya que hay varias combinaciones que no están permitidas y por lo tanto se pueden excluir del ataque. .

Lamentablemente, las personas no son generadores de números aleatorios. De ningún modo. La gente elegirá cosas que sean tan fáciles de recordar como sea posible. Los atacantes lo saben y optimizarán su ataque según corresponda, dando prioridad a las cadenas que son significativas para un humano (porque ahora tiene cierta información a priori). Aquí es donde los requisitos de complejidad de la contraseña "ayudan" al forzar al menos una variación mínima en los caracteres utilizados. Sin estos requisitos, muchas personas simplemente usarían letras, y la mayoría de los atacantes explotarían esto optimizando las búsquedas en consecuencia. Esencialmente, los requisitos de complejidad hacen que el conjunto de contraseñas probables sea más grande para los usuarios humanos. Sin embargo, si está utilizando un generador de números pseudoaleatorios (con suerte criptográficamente seguro) como Fortuna para generar su contraseña, no incluya estos requisitos de "complejidad".

Finalmente, la complejidad de las contraseñas tiene dos dimensiones: variación de caracteres y número de caracteres. Hacer que las contraseñas tengan números y caracteres especiales aumenta una dimensión, pero probablemente es mucho mejor eliminar los requisitos de complejidad a favor de contraseñas largas (o frases de paso). La entropía perdida por tener solo letras en inglés en la contraseña es generalmente más que inventada por tener de 6 a 10 palabras en una frase de contraseña. Estas también son generalmente más fáciles de recordar que las contraseñas "complejas".

    
respondido por el Dan_JH_YK_CC 30.11.2016 - 01:42
fuente
2

Hay evidencia que respalda la idea de que agregar requisitos para incluir números, mayúsculas, caracteres especiales, etc. reduce la seguridad de la contraseña en la práctica. Esta es probablemente la mejor explicación que he leído: enlace

    
respondido por el Glen Pierce 30.11.2016 - 00:08
fuente
-1
  

¿Esto realmente mejora la fortaleza de las contraseñas?

¿Esto realmente mejora la seguridad del sistema?

Comparemos dos escenarios:

  1. Sistema A: no se aplican políticas de contraseña
  2. Sistema B: mayúsculas + número + símbolo

En el sistema A, los usuarios pésimos pueden seleccionar "contraseña" o "letmein" como contraseña.

En el sistema B, una de las contraseñas más simples que podría pensar es "Pa55word!" y "Contraseña1!"

Teniendo en cuenta las herramientas de complejidad, entropía, fuerza bruta y craqueo, ¿qué sistema requiere más esfuerzo?

Para los usuarios que usan contraseñas seguras de todos modos, ni{M?tofQPI.'C'dfmSK agregar / eliminar / reemplazar el número no mueve una aguja. Para password y letmein puede hacer una diferencia.

    
respondido por el Michal Stefanow 30.11.2016 - 13:27
fuente

Lea otras preguntas en las etiquetas