¿Las contraseñas que no distinguen entre mayúsculas y minúsculas son una mala idea?

12

Recientemente descubrí un servicio donde la contraseña no distingue entre mayúsculas y minúsculas. Entiendo los principios básicos de cifrado y hash, por lo que estoy un poco preocupado, ¿este servicio almacena mi contraseña en texto sin formato?

¿Podría explicarme por qué el inicio de sesión con Bloq Mayús, cuando mi contraseña NO está en mayúscula, es malo? ¿Y debería estar preocupado?

Más pruebas revelaron que todas las formas de la contraseña fueron aceptadas, como "HAPPY", "HaPpY" y "HAPPY".

    
pregunta Nerotech 04.09.2015 - 18:33
fuente

5 respuestas

16

Si debe preocuparse o no, depende de la sensibilidad de lo que está protegiendo. La cerradura que protege mi archivador que contiene mis impuestos e información médica no tiene que ser tan segura, y no me preocupa que la cerradura esté diseñada de manera económica. Pero quiero que las cerraduras que protegen mi dinero sean extremadamente seguras. Esto demuestra que es posible que no estén pensando claramente en la seguridad cuando diseñan el sistema.

Hacer que las contraseñas no distingan entre mayúsculas y minúsculas reduce dramáticamente el número de posibilidades. Una contraseña de 6 caracteres no sensibles a mayúsculas y minúsculas tiene 2 ^ 28 contraseñas posibles, mientras que una contraseña de 6 caracteres distingue mayúsculas y minúsculas tiene 2 ^ 34 contraseñas posibles. Este espacio de búsqueda reducido hace más factible un ataque a una base de datos hash filtrada.

Como señala Jeff Ferland a continuación, tener mayúsculas bloqueadas no significa que el sitio no distinga entre mayúsculas y minúsculas. Si escribo Contraseña, luego presiona mayúsculas, sale CONTRASEÑA. El caso está meramente invertido. Si el sitio está haciendo esto, entonces la contraseña aún distingue entre mayúsculas y minúsculas, pero simplemente intenta la contraseña original e invertida. Esto simplemente reduce a la mitad el espacio de búsqueda. Eso es simplemente un compromiso de usabilidad / seguridad ya que las personas comúnmente tienen límites bloqueados y no lo saben, y (al menos en IMO) uno bueno.

Es imposible saber si el servicio está almacenando su contraseña en texto simple a partir de este hecho. Es trivial simplemente cambiar todo a un caso antes de que se complete el hash.

    
respondido por el Steve Sether 04.09.2015 - 19:17
fuente
11

Si un sistema de contraseñas almacena su contraseña en texto sin formato NO TIENE CONEXIÓN si distingue entre mayúsculas y minúsculas o no. Muchos sistemas mal diseñados requieren contraseñas sensibles a las mayúsculas y minúsculas, pero las almacenan en texto simple.

En cuanto a si debe o no preocuparse, cualquier sistema que no requiera contraseñas sensibles a mayúsculas y minúsculas ha reducido considerablemente la cantidad de contraseñas únicas a la mitad o menos. Puede ser conveniente para el usuario, pero por ejemplo, una contraseña de 8 caracteres que no distingue entre mayúsculas y minúsculas tiene 208,827,064,576 (208 Billones) posibles variaciones. ¿Distingue mayúsculas y minúsculas? 53,459,728,531,456 (53 trillones) combinaciones. La cantidad de tiempo que necesita un cracker de fuerza bruta para encontrar su contraseña es mucho menor cuando el caso no es un problema. Agregue dígitos (0-9) y ese número se cuadruplica a 213 billones.

Por supuesto, los usuarios tienden a ignorar las características de seguridad de buena contraseña, como usar contraseñas de caracteres mixtos fuertes, no reutilizando las contraseñas, cambiándolas regularmente, no usando palabras del diccionario, por lo que pueden haber tomado la decisión de no requerir contraseñas demasiado complejas. / p>     

respondido por el cde 04.09.2015 - 19:28
fuente
2

El comportamiento con respecto al bloqueo de mayúsculas no le dice nada sobre el algoritmo de hash utilizado en el servidor.

Es posible que el hash en el servidor se calcule usando su contraseña exactamente como la ingresó. Pero en una contraseña no válida, el servidor podría simplemente revertir el caso de cada letra que ingresó e intentarlo nuevamente. Este enfoque prácticamente no tiene impacto en la seguridad, pero puede reducir significativamente la cantidad de casos de asistencia, si los usuarios a menudo olvidan que sus mayúsculas están activadas.

También es posible que la contraseña no distinga entre mayúsculas y minúsculas. Nuevamente no te dice nada sobre el hash. Es posible que simplemente estén convirtiendo la contraseña completa en minúsculas (o en mayúsculas) antes de hacer hash. Esto reduce la cantidad de entropía posible, por lo que en un sistema de este tipo, su contraseña debe ser aproximadamente un 15% más larga para tener la misma fuerza.

    
respondido por el kasperd 04.09.2015 - 19:50
fuente
0

Ser capaz de iniciar sesión con mayúsculas no significa necesariamente que su contraseña se almacene en texto sin formato porque el servicio tal vez aplique mayúsculas a todas las contraseñas antes de incluirlas y almacenarlas en la base de datos, y por supuesto está haciendo lo mismo cuando un usuario inicia sesión.

Se recomienda utilizar letras mayúsculas y minúsculas en una contraseña para hacer que las contraseñas sean más difíciles de adivinar.

    
respondido por el Ahmed Elmasry 04.09.2015 - 19:12
fuente
-2

Iniciar sesión con capslock es peligroso porque básicamente estás eliminando listas completas de contraseñas al tenerlas en mayúsculas. La contraseña más segura es una combinación de mayúsculas y minúsculas, al menos un número y al menos un carácter especial y debe tener entre 8 y 16 caracteres.

    
respondido por el Gerasimos.Zap 04.09.2015 - 18:58
fuente

Lea otras preguntas en las etiquetas