¿Hay un algoritmo que determina la debilidad del código PIN?

0

Hay varios algoritmos que nos pueden decir si nuestra contraseña es lo suficientemente fuerte como para analizar su longitud, considerando si usa mayúsculas y minúsculas, símbolos especiales y dígitos, considerando si no es una palabra del diccionario.

Mi pregunta es: ¿existe algún algoritmo que pueda indicarme al menos dos niveles de debilidad (débil y fuerte) para código pin de 4 dígitos ? (Por ejemplo: todos los dígitos son diferentes, los dígitos no aumentan o disminuyen el orden (1234, 4321), el PIN no representa el año (1986), etc.) Gracias.

    
pregunta Evgeniy Mishustin 03.01.2017 - 12:52
fuente

1 respuesta

1

No hay una forma real de hacer esto más allá de estudiar un conjunto real de números PIN elegidos por un gran grupo de personas y seleccionar los más comunes para que se consideren débiles. En el mejor de los casos, podría utilizar una medida estadística de entropía de información , como la entropía de Shannon o la probabilidad de Markov, pero con tal una secuencia corta (4 dígitos) es poco probable que obtenga algún tipo de resultado razonable.

El problema es que estás intentando modelar un problema humano de forma algorítmica, que rara vez funciona sin conjuntos de datos muy grandes. La entropía de la información, como regla, no se puede medir directamente debido a la definición subjetiva de "información". La información es una construcción humana, y la identificación de una secuencia de dígitos con más información que sus números componentes es un proceso humano.

Como ejemplo, el número 7777 claramente contiene un patrón, pero 2701 parece que no contiene ningún patrón en absoluto. Sin embargo, 2701 es en realidad el producto de dos números primos, 37 y 73, que están en sentido inverso entre sí cuando se escriben en la base diez. Si no supiera esto, el número de PIN 2701 parecería carecer de cualquier información interesante más allá de sus dígitos individuales, pero una vez que sepa que tiene una composición interesante, de repente tendrá más información de la que pensaba. Antes de leer esta respuesta, el número 2701 probablemente no tendría un significado especial para usted, pero es posible que otros hayan sabido de esta peculiaridad y la hayan visto como un patrón. No hay una manera fácil de mirar a alguien y saber si estarían al tanto de la composición de este número, o si incluso estarían interesados en él, y mucho menos usarlo como su PIN para algo. Como tal, no puede determinar fácilmente si existe una mayor probabilidad de que usen ese número.

El problema se confunde aún más por los problemas de individualidad: el día y el mes de mi aniversario de boda tienen un significado para mí, y ciertamente para mi esposa, por lo que sería una suposición obvia para un atacante que me conoce, pero esos mismos dígitos sostendrían no tiene sentido para otra persona De nuevo, cae en la mentalidad del individuo.

Este es el problema clave: no solo es difícil clasificar lo que constituye un número "significativo" más allá de algunos puntos comunes universales básicos, sino que la respuesta también depende de la persona que generó el número y la capacidad del atacante. para adivinar el sentido de significado de esa persona. Eso no es un problema matemático.

También puedes ir un paso más allá. Digamos que un banco grande pierde accidentalmente una lista completa de todos los números de PIN utilizados por sus clientes, solo los PIN, no los nombres asociados ni los números de cuenta. Hay diez millones de registros, por lo que debe buscar y encontrar cada PIN distinto de 0000 a 9999 y contar cuántas veces se usa cada uno. Ahora sabe exactamente con qué frecuencia puede ocurrir un PIN en particular. Esta es una investigación excelente, por lo que publica el conjunto de datos en línea y llega a algunos sitios de noticias donde explican lo que sucedió y hablan sobre los números de PIN más comunes, pero también hablan sobre los números de PIN menos comunes que existen, incluido el menos número de PIN de uso frecuente. Al publicar este artículo, agregan automáticamente un peso informativo a esos números, lo que lleva a algunas personas a cambiar su número de PIN y evitar números comunes, lo que cambia los resultados. Quizás más personas elijan los PIN de la lista de los PIN menos elegidos, lo que ahora hace que sea más probable que se los elija. Si conoce a alguien que leyó el artículo y cambió su PIN, le recomendamos que consulte la lista de PIN menos utilizados de acuerdo con ese artículo.

Como puede comprender, el problema es complicado y no se puede modelar fácilmente. Se basa en comportamientos humanos individuales y elecciones personales. No hay una sola medida estadística o empírica que puedas hacer de la fuerza de un PIN más allá de evitar patrones culturalmente comunes (1111, 1234, 6969, etc.), y si se te ocurre un modelo efectivo, se invalidará de todos modos.

    
respondido por el Polynomial 03.01.2017 - 13:33
fuente

Lea otras preguntas en las etiquetas