¿El hecho de excluir las letras de nombre de usuario de las contraseñas aumenta la seguridad?

0

Recientemente me pidieron que cambiara una contraseña, junto con una política de contraseñas que le obliga a usar un dígito, un carácter especial y una letra, pero prohíbe que las letras de su nombre de inicio de sesión se usen para la contraseña. aumentar la seguridad? En mi opinión, reduce el conjunto de caracteres disponibles y, por lo tanto, aumenta la probabilidad de una posible coincidencia en un ataque de fuerza bruta. ¿Tengo razón o me pierdo algo?

Si este es un valor predeterminado (como se me dijo), se sabrá públicamente que esta aplicación espera que las contraseñas cumplan con esta restricción.

    
pregunta Paramaeleon 09.04.2013 - 10:59
fuente

2 respuestas

5

Cualquier cosa que restrinja el conjunto de contraseñas posibles lo hace más vulnerable a un ataque de fuerza bruta. La única razón para prohibir algunas contraseñas es si la restricción al espacio de contraseñas es compensada por la alta propensión de los usuarios a elegir contraseñas que puedan adivinarse fácilmente.

Supongamos que desea contraseñas con al menos 38 bits de entropía (eso ya es muy alto para una contraseña que solo puede ser atacada en línea en circunstancias normales). Eso requiere un espacio de contraseña de al menos 274877906944.

Prohibir contraseñas que sean demasiado cortas es razonable. Suponiendo que el conjunto de caracteres está restringido a los 94 caracteres imprimibles sin espacio ASCII, el mínimo es 6 caracteres aleatorios (689869781056). El hecho de prohibir contraseñas más cortas (≤5 caracteres) apenas marca una diferencia: solo hay 7417954634; las contraseñas de longitud 5 o longitud solo constituyen el 1.1% (un poco más de 1/94) de las contraseñas de longitud hasta 6. Y Debido a que los usuarios rara vez escogen secuencias de caracteres completamente aleatorias, tiene sentido tener una longitud mínima aún mayor. Una longitud mínima apenas hace mella en el espacio de la contraseña, ya que crece exponencialmente.

Por el contrario, prohibir un carácter, a la inversa, hace que cada vez sea más importante a medida que las contraseñas se hacen más largas. Supongamos que selecciona una contraseña con 8 letras aleatorias y un dígito aleatorio al final (y no confíe en el carácter de puntuación para la entropía). Eso ofrece 2088270645760 posibilidades, más de 2 41 , que cumplen con el requisito de 38 bits. Si prohíbe tan poco como una letra, el espacio de la contraseña se reduce a 1525878906250, es decir, el 27% del espacio de la contraseña se desperdicia allí. Con 6 letras prohibidas, el espacio de la contraseña se reduce a 256000000000, que es menos de 2 38 .

Las letras aleatorias son difíciles de memorizar, por lo que hay mejores métodos para generar contraseñas buenas más largas pero más útiles. %código%? No, no puedo usar eso. Tomemos la popular Diceware de 7776 palabras en inglés y memorables secuencias de letras y dígitos. 3 elementos aleatorios en la lista satisfacen el requisito de 38 bits (7776 3 = 470184984576). ¿Pero 3 elementos aleatorios que no contienen ninguna letra de mi nombre de usuario? Solo 2130 elementos se ajustan a la cuenta, lo que lleva a 9663597000 posibles contraseñas, solo 33 bits. Todavía decente, pero menos que nuestro objetivo. Y la lista de Diceware tiene un número molesto de caracteres especiales si vas a escribir esa contraseña en un dispositivo móvil. Tengo una lista de 4172 palabras cortas en inglés común y puedo elegir 3 palabras aleatorias para obtener 37 bits de entropía, que con un dígito adicional proporciona los 38 bits necesarios (726160964480 posibles contraseñas). Si excluyo las letras en mi nombre de usuario, eso se reduce a 787 palabras, para solo 29 bits sin dígitos o 33 bits con un dígito.

Prohibir caracteres comunes para usuarios que deliberadamente escogen contraseñas buenas es malo, y te he aburrido con los cálculos para mostrarlos. ¿Qué pasa con los usuarios a los que se dirigen realmente las restricciones de contraseña: el 99% que no elige aleatoriamente?

nombre de la novia? No. ¿El apellido de soltera de la madre? No. ¿Ciudad natal? ¡Maldición, esto es difícil, la restricción debe estar funcionando! %código%? %código%? %código%? Ah, corrEct horSE battEry StapLE funciona para mí, qué suerte.

    
respondido por el Gilles 09.04.2013 - 12:22
fuente
3

¿Realmente prohíbe cada letra que uses en tu nombre de usuario? Tienes razón en que esto es malo, ya que reduce el conjunto de contraseñas potenciales en una cantidad considerable. Por favor, nombre y vergüenza para que pueda mantenerme lo más alejado posible de esta aplicación.

Un esquema más común es no permitir que las contraseñas que contienen su nombre de usuario, nombre o alguna otra información de acceso público vinculadas a su cuenta. Esta es una buena medida, ya que hace que un ataque dirigido contra su cuenta sea un poco más difícil.

    
respondido por el Ayrx 09.04.2013 - 11:03
fuente

Lea otras preguntas en las etiquetas