Pregunta:
¿Cuántas combinaciones permite una política de contraseña específica?
PePe
2015-05-05 17:26:45 UTC
view on stackexchange narkive permalink

Recientemente estuve discutiendo sobre políticas de contraseñas. Suponga 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 argumentó que esta política es más débil que una que requiere al menos 10 caracteres. Si bien esto es computacionalmente cierto, no pudimos estar de acuerdo en cuántas combinaciones permite la primera política. ¿Cuántas combinaciones tiene la primera política? ¿Es realmente mucho menor que la segunda política?

Para calcular combinaciones, le sugiero que pruebe una calculadora en línea. Por ejemplo, [este] (http://projects.lambry.com/elpassword/)
Esto calcula la segunda política que es algo trivial: 95 ^ 10
En una nota no relacionada, este sitio web presenta información engañosa, ya que solo mide la capacidad de un alfabeto para almacenar información y no la fuerza de las contraseñas codificadas en ese alfabeto (eso es más un problema abierto).
Cinco respuestas:
Steve Dodier-Lazaro
2015-05-05 17:50:58 UTC
view on stackexchange narkive permalink

Su compañero 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ñas no debe medirse en términos de cuánta información se puede codificar , sino en términos de cuánto impide que diferentes usuarios utilicen contraseñas similares.

El simple hecho de incluir 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ía una entropía general más alta. Es imposible dar una respuesta autorizada sobre si existe una diferencia significativa de calidad entre las dos políticas propuestas porque:

  • ambas requieren una mayor cantidad de memoria de usuario que la mayoría de las contraseñas observadas en la naturaleza. , lo que significa que es probable que ninguno tenga cantidades significativamente mayores de reutilización de contraseñas débiles
  • Ninguno de estos modelos es lo suficientemente común como para que ningún conjunto de datos de contraseñas público / filtrado esté disponible para razonar sobre distribuciones de probabilidad
  • no existe un modelo generativo de elecciones de contraseñas humanas que pueda explicar cómo los humanos reales crearían contraseñas en estos sitios¹

¹ algunos podrían afirmar que tienen tal modelo, dada la superficialidad del estado de la investigación de arte sobre la elección de contraseñas humanas, esto es muy poco probable. La investigación más reciente solo aborda los comportamientos con respecto a una credencial única, con poblaciones que están motivadas de manera poco realista para autenticarse en los servicios estudiados (debido a cómo se construyen los experimentos de comportamiento de contraseñas). La investigación actual también está fuertemente sesgada culturalmente hacia las personas de EE. UU. Y el Reino Unido, como lo demuestran Li et al. 2014. Hasta que se aborden estas limitaciones y se recopilen muchos más datos

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

Muy cierto. Sin embargo, llevaría su punto más allá y señalaría que, en ausencia de cualquier restricción, orientación o circunstancia atenuante, si todo lo demás es igual, la mayoría de los usuarios seguiría eligiendo contraseñas trivialmente simples, incluso si estas no aparecen en las investigaciones existentes. P.ej. "1234567890" o "1qaz2wsx3edc". El punto importante de la equiprobabilidad a menudo se olvida, pero ese es el supuesto básico que da "cuánta información se puede codificar" cualquier valor.
Sip. Es terrible que tantos desarrolladores no vean la falla en la lógica que los lleva a implementar todos estos tontos medidores de "fuerza" de contraseñas. Estamos empezando a obtener mejores modelos probabilísticos de entropía, pero todavía dependen demasiado de una cultura y de pocas bases de datos. Además, restringir las políticas de contraseñas para deshacerse de las contraseñas débiles causaría, a gran escala, costos de productividad, y no tenemos un modelo para informar si un cambio a gran escala a contraseñas más estrictas sería económicamente beneficioso o no.
Robert Weaver
2015-05-07 19:07:36 UTC
view on stackexchange narkive permalink

Esto ha tenido algunos buenos indicadores sobre la seguridad de la contraseña, por lo que la pregunta del OP probablemente no sea importante. Creo que Dexgecko tenía razón, pero era difícil de leer. Entonces, en aras de responder preguntas de la manera más simple posible:

 Sea X = {contraseñas de diez caracteres} Sea A = {contraseñas de diez caracteres sin letras} Sea B = {contraseñas de diez caracteres sin números} Sea C = {contraseñas de diez caracteres sin caracteres especiales} 

(Estoy usando + para uniones de conjuntos y * para intersecciones de conjuntos).

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ñaló. El tamaño de una unión se puede calcular mediante 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 son similares. 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ío.

Por 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 se le ocurrió a dexgecko.

Entonces, quizás el punto sorprendente es que si tiene un administrador de contraseñas que garantiza que todos los elementos de ese espacio de teclas de 10 caracteres sean igualmente probables, hay aproximadamente una posibilidad entre tres de que tenga que descartar lo primero que elija.

Yo diría que ya hemos pasado la época de las contraseñas generadas por humanos. :-(

rovyko
2015-05-05 18:44:38 UTC
view on stackexchange narkive permalink

Así que intentaré responder cuántas combinaciones existen realmente para cada política. Publique un comentario si cree que la lógica es defectuosa.

Primero, analizamos la cantidad de caracteres disponibles al incluir 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 individual y los conjuntos emparejados (que tienen las combinaciones individuales eliminadas de sí mismos).

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 se encuentra aproximadamente en el 65,92% de la Política 2. Con 20 caracteres, la Política 1 equivale aproximadamente al 89,17% de la Política 2.

enter image description here Créditos: Desmos

Creo que restaste demasiadas combinaciones en la Política 1, porque los conjuntos N, NS y NL contienen contraseñas que solo están formadas por números. Entonces, en la fórmula anterior, tendrá que sumar 2 · x ^ 10, 2 · x ^ 52 y 2 · x ^ 33.
Estoy de acuerdo en que esta fórmula y los resultados parecen precisos.
SilverlightFox
2015-05-07 16:05:38 UTC
view on stackexchange narkive permalink

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 esto realmente significa a continuación) , por lo tanto, debe juzgarse según la contraseña más débil que se pueda crear con ella, no por la cantidad de contraseñas que posiblemente se puedan codificar con ella .

Digamos 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ían 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 caracteres) y uno de cada letra y símbolo. Diga 12345678A@.

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

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

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 . Diga 1234567890.

  2 ^ (log2 (10) * 10) = 10,000,000,000 combinaciones posibles de este grupo de entropía.  

Los cálculos se muestran para el cálculo de la entropía con fines explicativos, sin embargo, puede simplemente multiplicarlos para obtener el mismo resultado: p. ej. 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 segura". Recuerde que la seguridad de la contraseña no es una métrica real, solo cuenta la entropía y eso 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, aumentando el número de permutaciones. Sin embargo, recuerde que buscamos la contraseña más débil posible, por lo que si un usuario se ve obligado a tener una letra y un número, es probable que los pegue al final (y en ese orden).

Si desea calcularlo, multiplique por el número de permutaciones (multiplicado por 10 para las posiciones del número y multiplicado por 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, cualquier forma 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 son el límite máximo también, de lo contrario sería una pregunta imposible de responder. Tenga en cuenta que aquí estamos usando el conjunto de entropía completo, ya que buscamos la contraseña más "compleja" posible. Diga Azz643 @ $% 2 , tan uniforme como pueda obtener la extensión de cada tipo de carácter.

  52 ^ 8 * 10 * 30 * 10 * 9 = 1,443,412,670,349,312, 00092 ^ 10 = 43.438.845.422.363.213.824  

Así que aquí tenemos

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

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

Así que sí, hay muchas más combinaciones posibles que se pueden codificar usando la segunda política, pero en términos reales puede obtener muchas pelotas de baloncesto.

isarandi
2015-05-14 18:29:08 UTC
view on stackexchange narkive permalink

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

Este es el hecho matemático clave. Está discutiendo sobre el número de combinaciones, pero debería discutir sobre la entropía. Este tipo de políticas de contraseñas solo tienen 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 con un ejemplo exagerado, imagine una variable aleatoria X, con valores potenciales 1, 2 y 3, y sus correspondientes probabilidades 98%, 1% , 1%, respectivamente. Calculemos lo que 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 sólidas (como X = 2 y X = 3 tienen las mismas probabilidades). Entonces, al obligarlos a no usar los preferidos, deben ir a un territorio donde elegirán de manera 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 de forma natural).

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 algunos cambios (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 l33t-ificación (cambiar 0 por o, $ por s, etc.), en cuyo caso es solo un ligero aumentar.

Esto no significa que tales políticas de contraseñas sean realmente el camino a seguir, ya que los factores psicológicos también son importantes a considerar (y de hecho, 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 hacer que las contraseñas sean más seguras.



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...