¿Cuántas combinaciones permite una política de contraseña específica?

5

Recientemente estuve discutiendo sobre las políticas de contraseña. Supongamos que tiene una política que requiere 10 caracteres y, además, al menos una letra, un número y un carácter especial. Mi compañero argumentaba que esta política es más débil que una que requiere al menos 10 caracteres. Si bien esto es cierto computacionalmente, no podríamos acordar cuántas combinaciones permite la primera política. ¿Cuántas combinaciones tiene la primera política y es realmente mucho menos que la segunda política?

    
pregunta PePe 05.05.2015 - 14:26
fuente

5 respuestas

7

Su acompañante tiene razón en que la política menos restrictiva tiene una entropía potencial más alta, ya que puede codificar una mayor cantidad de información . Dicho esto, la entropía de un conjunto de datos depende de la distribución de probabilidad de cada dato que aparece en el conjunto de datos. Por lo tanto, la calidad de una política de contraseña no debe medirse en términos de cuánta información se puede codificar , sino en términos de lo que impide que diferentes usuarios usen contraseñas similares.

Simplemente lanzar números obligatorios hace muy poco para ese propósito, y un sitio que asigna aleatoriamente contraseñas de 7 caracteres compuestas de números, símbolos y letras probablemente logrará una mayor entropía general. Es imposible dar una respuesta autorizada en cuanto a si hay una diferencia significativa de calidad entre las dos políticas propuestas porque:

  • ambos requieren mayores cantidades de memoria de usuario de la que requieren la mayoría de las contraseñas observadas en el mundo real, lo que significa que es probable que ninguna de ellas tenga una cantidad significativamente mayor de reutilización de contraseña débil
  • ninguno de estos modelos es lo suficientemente común como para que un conjunto de datos de contraseñas público / filtrado esté disponible para razonar sobre las distribuciones de probabilidad
  • no hay un modelo generativo de opciones de contraseña humana que pueda explicar cómo los humanos reales crearían contraseñas en estos sitios¹
  

¹ algunos podrían decir que tienen un modelo de este tipo, dada la superficialidad   de investigación de vanguardia sobre opciones de contraseña humana, esto es muy   improbable. La última investigación solo aborda comportamientos con respecto a   una credencial única, con poblaciones que son irreales   motivado en autenticar a los servicios estudiados (debido a cómo   se construyen experimentos de comportamiento de contraseña). La investigación actual es   también fuertemente sesgada culturalmente hacia individuos de EE. UU. / Reino Unido como   demostrado por Li et al.   2014 .   Hasta que se aborden estas limitaciones y se muestren datos mucho más   recogido

Si desea comprender cómo estimar la fortaleza de una contraseña individual, el método actual que se aplicará sería implementar Métricas de seguridad de la contraseña de Bonneau .

    
respondido por el Steve DL 05.05.2015 - 14:50
fuente
4

Esto ha tenido algunos buenos indicadores para la seguridad de la contraseña, por lo que la pregunta del OP probablemente no sea importante. Creo que dexgecko lo tenía bien, pero era difícil de leer. Así que para responder las preguntas de la manera más sencilla posible:

Let X = { ten character passwords }
Let A = { ten character passwords with no letters }
Let B = { ten character passwords with no numbers }
Let C = { ten character passwords with no special characters }

(Estoy usando + para establecer uniones y * para establecer intersecciones.)

La primera política prohíbe A + B + C, por lo que el tamaño de la primera política es

| X \ (A + B + C) | = | X | - | A + B + C |

Ahora | X | Es algo trivial, como se señala. El tamaño de una unión puede ser calculado por Principio de inclusión / exclusión

| A + B + C | = |A| + |B| + |C| - (|A * B| + |B * C| + |A * C|) + (|A * B * C|)

En realidad son bastante fáciles de contar. El tamaño de A es el de las contraseñas sin letras, es decir, solo números y caracteres especiales. El tamaño de B y C es similar. El tamaño de A * B es el de las contraseñas sin letras ni números, es decir, solo caracteres especiales. El tamaño de A * B * C es el de las contraseñas sin símbolos, es decir, vacías.

Por lo tanto, el tamaño de las contraseñas prohibidas es

(10 + 33) ^ 10 + (52 + 33) ^ 10 + (52 + 10) ^ 10 - (33 ^ 10 + 52 ^ 10 + 10 ^ 10)

que es lo que propuso a dexgecko.

Entonces, tal vez lo sorprendente es que si tiene un administrador de contraseñas que garantiza que todos los elementos de ese espacio de 10 caracteres es igual de probable, hay una posibilidad entre tres de que tendrá que descartar lo primero que elija.

Argumentaría que hemos pasado el tiempo de las contraseñas generadas por el hombre. :-(

    
respondido por el Robert Weaver 07.05.2015 - 16:07
fuente
2

Por lo tanto, intentaré responder cuántas combinaciones existen realmente para cada política. Por favor, publique un comentario si cree que la lógica es errónea.

Primero observamos el número de caracteres disponibles cuando se incluyen cada uno de los números (N), letras (L) y especiales (S).

  • N - 10
  • L - 52
  • S - 33
  • LS - 85
  • NS - 43
  • NL - 62

  • NLS - 95

EDITAR:

Para la primera política, eliminamos del total las combinaciones para cada conjunto de caracteres individuales y los conjuntos emparejados (que tienen las combinaciones individuales eliminadas de sí mismas).

Política 1

= NLS - N - L - S - (LS - L - S) - (NS - N - S) - (NL - N - L)

= 95 ^ x - 85 ^ x - 43 ^ x - 62 ^ x + 10 ^ x + 52 ^ x + 33 ^ x

Política 2

= NLS

= 95 ^ x

Con 10 caracteres, la Política 1 está aproximadamente en 65.92% de la Política 2. A 20 caracteres, la Política 1 está alrededor de 89.17% de la Política 2.

Créditos: Desmos

    
respondido por el dexgecko 05.05.2015 - 15:44
fuente
2
  

Mi compañero argumentaba que esta política es más débil que una que requiere al menos 10 caracteres.

Una política de contraseñas está diseñada para evitar contraseñas "débiles" (más sobre lo que realmente significa más abajo) , por lo tanto, debe juzgarse por la contraseña más débil que se puede crear debajo de ella, no por el número de contraseñas que posiblemente puedan codificarse con él.

Supongamos que tenemos 52 letras (superior e inferior), 10 dígitos y otros 30 caracteres.

El método de generación de contraseña más débil posible con 10 caracteres y al menos uno de cada tipo de carácter sería 8 números (ya que solo hay 10 dígitos en el grupo de entropía, es el más bajo disponible de los tipos de carácter) y uno de cada uno. letra y un simbolo Di 12345678A@ .

El cálculo del grupo de entropía de una contraseña de este tipo generada de esta manera da

2^(log2(10) * 8 + log2(52) + log2(30)) = 156,000,000,000 permutations.

La contraseña más débil posible con 10 caracteres sería 10 caracteres del tipo de carácter con el grupo de entropía más bajo: solo números. Di 1234567890 .

2^(log2(10) * 10) = 10,000,000,000 possible combinations from this entropy pool.

Los cálculos se muestran para el cálculo de entropía con el propósito de explicación, sin embargo, puede simplemente multiplicarlos para obtener el mismo resultado: por ejemplo, 10^8 * 52 * 30 = 156,000,000,000

Entonces

     156,000,000,000 vs
      10,000,000,000 vs

Por lo tanto, la primera política impone una contraseña "más fuerte". Recuerde que la fortaleza de la contraseña no es una métrica real, solo cuenta la entropía y se basa en cómo se genera la contraseña . Entonces, si la contraseña fuera basketball , se descifraría inmediatamente usando la segunda política.

Además, con la primera política, el número y el símbolo pueden aparecer en cualquier lugar, no solo al principio, lo que aumenta el número de permutaciones. Recuerde que vamos por la contraseña más débil posible, por lo que si se obliga a un usuario a tener una letra y un número, es probable que los pegue al final (y en ese orden).

Si desea calcularlo, multiplíquelo por el número de permutaciones (10 veces para las posiciones del número y 9 para las posiciones del símbolo, ya que el símbolo no puede aparecer en la misma posición que el número, sin embargo está bien).

156,000,000,000 * 10 * 9 = 14,040,000,000,000

Para completar, para obtener el número máximo de permutaciones, los cálculos serían los siguientes, asumiendo que 10 caracteres también es el límite máximo, de lo contrario sería una pregunta imposible de responder. Tenga en cuenta que aquí estamos utilizando el grupo de entropía completo, ya que vamos por la contraseña más "compleja" posible. Diga Azz643@$%2 , de la misma manera en que puede propagar cada tipo de carácter.

52^8 * 10 * 30 * 10 * 9 = 1,443,412,670,349,312,000
92^10 = 43,438,845,422,363,213,824

Así que aquí tenemos

 1,443,412,670,349,312,000 vs
43,438,845,422,363,213,824

Esto le da 60 bits frente a 65 bits de entropía.

Entonces, sí, hay muchas más combinaciones posibles que pueden codificarse utilizando la segunda política, pero en términos reales, puede obtener muchas pelotas de baloncesto.

    
respondido por el SilverlightFox 07.05.2015 - 13:05
fuente
0

La entropía condicional específica puede ser mayor que la entropía.

Este es el hecho matemático clave. Usted está discutiendo sobre el número de combinaciones, pero debería estar discutiendo sobre la entropía. Este tipo de políticas de contraseña solo tiene sentido si el usuario elige la contraseña y no se genera de manera uniforme.

En estos casos, al restringir el posible conjunto de valores (contraseñas), podemos obtener algo que tenga una entropía más alta que el original. Este es un hecho matemático, la entropía se puede aumentar.

Para ilustrar esto en un ejemplo exagerado, imagine una variable aleatoria X, con valores potenciales 1, 2 y 3, y las probabilidades correspondientes 98%, 1%, 1%, respectivamente. Calculemos qué sucede si no permitimos el valor 1.

  • La entropía original de X es H (X) = 0.16 bits.
  • Sin embargo, condicionalmente: H (X | X = 2 o X = 3) = 1 bit.

Al rechazar el valor de probabilidad obvio y muy alto, obtuvimos una distribución uniforme del 50% -50% y una entropía resultante más alta.

Algo similar ocurre con las contraseñas. Los usuarios tienden a tener una preferencia por un conjunto específico de contraseñas (como X = 1 en el ejemplo), pero fuera de ese conjunto, probablemente no tengan preferencias fuertes (como X = 2 y X = 3 tienen las mismas probabilidades). Entonces, al obligarles a no a usar los preferidos, deben ir a un territorio en el que elegirán de forma más impredecible. Al requerir caracteres especiales, rechazamos el conjunto altamente probable de contraseñas que no tienen tales caracteres especiales. (La mayoría de la gente no pensaría en incluirlos naturalmente).

En la práctica, todavía no resulta en una distribución uniforme, por supuesto. La elección típica seguirá siendo una contraseña originalmente preferida con un poco de giro (algunos caracteres especiales aquí y allá). Pero ese giro es bastante aleatorio y aumenta en gran medida la entropía final ... Bueno, a menos que el giro sea predecible porque es solo una clasificación -33 (cambio de 0 por o, $ por s, etc.), en cuyo caso es solo un ligero aumentar.

Esto no significa que tales políticas de contraseña sean realmente el camino a seguir, ya que los factores psicológicos también son importantes a tener en cuenta (y en realidad, los administradores de contraseñas con contraseñas aleatorias parecen ser la mejor solución en la mayoría de los casos).

Sin embargo, matemáticamente, tal restricción puede de hecho hacer que las contraseñas sean más fuertes.

    
respondido por el isarandi 14.05.2015 - 15:29
fuente

Lea otras preguntas en las etiquetas