¿La manipulación de una contraseña aleatoria reduce significativamente su entropía?

5

Supongamos que genero una contraseña utilizando un generador seguro de números aleatorios y todas las clases de caracteres disponibles. Por ejemplo, c.hK=~}~$Nc!]vFp9CgE .

Tenga en cuenta que es posible que esta contraseña deba utilizarse en un entorno donde no se pueda copiar / pegar; Se debe escribir a mano en un teclado cada vez. Hay mucho que presionar y soltar la tecla Shift para escribirla, lo que se vuelve molesto rápidamente.

Si los caracteres de la contraseña se reorganizaron de modo que todos los caracteres Shift se agruparan en un lado de la contraseña (por lo tanto, K~}~$N!FCEc.h=c]vp9g o c.h=c]vp9gK~}~$N!FCE ), ¿sería significativamente reducir la entropía (y la seguridad práctica) de la contraseña? Haría que sea un poco más fácil de escribir, ya que la mitad de la contraseña podría escribirse de manera perezosa sobre la tecla Shift y la otra mitad sin ella. ¿Pero hay demasiada compensación en términos de la seguridad ofrecida?

    
pregunta smitelli 14.08.2015 - 16:53
fuente

4 respuestas

7

Cualquier pregunta sobre la entropía de contraseñas debe comenzar con una discusión de lo que realmente significa "entropía de contraseñas" y de qué tipo de ataque está tratando de protegerse.

En pocas palabras, la entropía de la contraseña es una estimación de la cantidad de suposiciones incorrectas que tendrá que hacer un atacante antes de que se tropiece con su contraseña. Estas estimaciones se basan en los diccionarios de fuerza bruta que están disponibles en línea .

Si ingresa su contraseña en un estimador de entropía de contraseñas y le da un tiempo de crack muy largo, entonces es probable que esté en contra de los intentos de craqueo "drive-by". By "drive-by "Quiero decir que no te están apuntando en particular, solo eres parte de un gran conjunto de cuentas que están siendo atacadas. (Como nota al margen, tenga cuidado al escribir la contraseña que está a punto de usar en un estimador de entropía en línea , a menos que haya revisado el código fuente de ese sitio, no tiene garantía de que no se agregarán su contraseña para el diccionario!)

Lo que otras personas van a responder es que si un atacante sabe que le gusta agrupar los caracteres en mayúsculas y ellos construyen un diccionario personalizado para usted (o muchas personas comienzan a hacer esto y la "unidad" -por "los diccionarios comienzan a incluir ese patrón), entonces su contraseña pierde aproximadamente la mitad de su entropía. Bien, pero ¿es eso realmente lo que debería preocuparte?

Si está haciendo algo no estándar (como agrupar sus partes superiores) y asumimos que el atacante lo sabe, entonces ya estamos fuera del dominio de los ataques "drive-by" y también deberíamos considerar las cosas como:

  • ¿Alguna de sus cuentas ha sido hackeada previamente? ¿Aparecen sus contraseñas en las bases de datos de contraseñas filtradas [1] [ 2] ? Si es así, ¿cuánta información pueden obtener sobre los "patrones" que utiliza?

  • ¿Tienen acceso a sus correos electrónicos, sms, publicaciones de blogs, etc. para ver qué tipo de palabras usa?

  • ¿Pueden crear correos electrónicos de phishing dirigidos para usted?

  • ¿Siempre verifica la información del certificado de una página antes de escribir su contraseña?

  • ¿Descarga software de Internet?

Como puede ver, una vez que estamos fuera del dominio de los ataques "drive-by", la entropía teórica de su contraseña rápidamente deja de ser un punto importante.

Soy un firme defensor de la idea de que una vez que un atacante está haciendo un esfuerzo para aprender cosas sobre usted, la idea de la entropía de contraseñas ya no tiene sentido.

Línea inferior: Ya que está comenzando con una contraseña aleatoria y solo está aplicando un patrón muy suave, todavía tiene mucha entropía. Si está preocupado por otros ataques que no sean ataques automáticos, la entropía de su contraseña es irrelevante en gran medida porque otros factores se vuelven mucho más importantes.

    
respondido por el Mike Ounsworth 14.08.2015 - 17:55
fuente
4

Ya que ha preguntado específicamente sobre la entropía, comenzaré por cubrir los aspectos objetivos de su pregunta.

La entropía se reduce, porque estás quitando la mitad del espacio de teclas de cada lado.

Para simplificar esto, si la entropía de una contraseña de 10 caracteres con minúsculas y mayúsculas es

log2(52^10) = ~ 57 bits of entropy

luego eliminas los caracteres en mayúscula de la primera mitad, y los caracteres en minúscula de la última mitad, tu entropía es efectiva

log2(26^10) = ~ 47 bits of entropy

Más 1 bit ya que eso puede ocurrir al revés también da 48 bits. Lo anterior se supone que las contraseñas se generan utilizando un generador de números pseudoaleatorios criptográficamente seguro, es decir, es completamente aleatorio y no contiene ningún patrón generado por el cerebro humano que sea involuntariamente predecible de muchas maneras.

La entropía de una contraseña se basa en la técnica de generación, por lo que si se conoce, habrá reducido la entropía como se indica anteriormente. No confíe en que el método permanezca en secreto.

Sin embargo, si desea hacer esto para facilitar la entrada, simplemente agregue dos caracteres más a su contraseña:

log2(26^12) = 56

Más el bit 1 y luego tienes 57 bits para una seguridad equivalente a tu método original.

Sin embargo, también preguntó cómo afecta esto a la seguridad práctica de su contraseña. Como se dijo, a menos que el atacante sepa el método de generación de su contraseña, en este caso X número de caracteres que se pueden ingresar sin la tecla Mayús y número X de caracteres que requieren la tecla Mayús, cualquier ataque de adivinación de contraseñas será genérico. Es decir, no están dirigidos a usted en particular y, por lo tanto, no saben nada acerca de su método de generación específico. Esto significa que intentarán listas de palabras genéricas y secuencias de caracteres comunes en lugar de secuencias que se ajusten a su patrón de generación. Por lo tanto, la entropía de su espacio de ataque no coincide con la entropía que tiene su método de generación de contraseña. Esto hace que su contraseña sea prácticamente más segura que el espacio en el que se genera en el caso de ataques no dirigidos.

En su caso, suponiendo que una contraseña de 20 caracteres generada aleatoriamente proporcione ~ 131 bits normalmente, y ~ 113 bits dividiéndola como se describe. Ambos están por encima de la NIST de 80 bits recomendada para la seguridad de la contraseña.

    
respondido por el SilverlightFox 14.08.2015 - 17:12
fuente
0

demostración para una contraseña de 15 caracteres (el valor es aproximado):

primera contraseña: entropía = log2 (90) * 15 = 100

15 caracteres en un juego de caracteres de 90

segunda contraseña: entropía = log2 (90/2) * 15 + 4 = 89 15 caracteres toman un juego de caracteres de 90/2 y sostienen turno después del carácter N (N entre 1 y 15 y luego entropía = 4)

tiempo para romper p1 = tiempo para romper p2 * 2 ^ (100-89)

su contraseña modificada es casi la misma que la eliminación de todos los caracteres modificados

    
respondido por el grandchamp robin 14.08.2015 - 17:07
fuente
-2

No, no "reduce significativamente la seguridad práctica" de la contraseña.

La contraseña es un rompecabezas de "todo o nada" . El atacante no conoce los conjuntos de Char de cada lado de la contraseña. Así que la entropía es incluso inútil aquí. La longitud es lo que importa (lo que a su vez afectaría más a la entropía, de todos modos). Si un atacante no tiene eso en el Diccionario que está usando, nunca lo conseguirá. En Brute Force, el atacante tendrá que tener en cuenta todos los conjuntos de Char que estás utilizando (suponiendo que conozca esos conjuntos de Char). Entonces el arreglo no hará mucha diferencia. Él todavía tiene que empezar a Bruto Forzándolo hasta que se encuentre.

    
respondido por el Mars 14.08.2015 - 17:11
fuente

Lea otras preguntas en las etiquetas