¿Importancia de la fortaleza de la contraseña con elemento seguro?

1

Comunidad de seguridad de Greetings SE.

Fondo: Tengo varios elementos como certificados, bases de datos y sistemas de archivos cifrados que requieren claves privadas. Para evitar tener duplicados de estas claves en los diferentes sistemas que las usan, me gustaría guardarlas todas en una ubicación portátil segura, como una unidad flash cifrada. Mientras observaba las opciones de unidades flash encriptadas por hardware, noté que todas ellas (excepto los modelos basados en autenticación biométrica) tenían contraseñas / contraseñas / contraseñas máximas relativamente cortas. Ellos tendían a limitar a 16 caracteres, algunos incluso más bajos; Como estoy acostumbrado a aplicaciones como TrueCrypt y KeePass (que tienen opciones de contraseña y longitud de clave muy altas), esto parecía inseguro.

Pregunta: cuando se utiliza un elemento seguro para el cifrado basado en hardware que es realmente seguro e imposible de manipular; y suponiendo que las adivinanzas de alimentación al dispositivo resultarán en la destrucción de los datos después de un número muy pequeño de intentos incorrectos (por ejemplo, 10); y que la contraseña elegida no es fácil de adivinar por el hombre (cumpleaños, nombre de la mascota, etc.); ¿Qué tan importante es tener una contraseña cuya longitud y / o complejidad haga que sea computacionalmente imposible de descifrar?

Versión simple: ¿La contraseña utilizada para autenticarse en un token de hardware debe ser sólida, o un adversario nunca podrá intentar descifrarla?

    
pregunta YouAreTheHat 26.07.2014 - 02:11
fuente

1 respuesta

2

Los cálculos habituales sobre la entropía de contraseñas se realizan en el contexto de un ataque de diccionario , especialmente un ataque de diccionario sin conexión , donde el atacante puede probar las contraseñas a voluntad sin bloquear nada. . Cuando hay un hardware a prueba de manipulaciones con bloqueo automático, el contexto cambia.

Vista conceptual: hay N posibles contraseñas (para simplificar la exposición, supongo que las posibles contraseñas son equiprobables). El atacante puede probar de forma realista K de estas contraseñas. La probabilidad de éxito del atacante es entonces K / N . La seguridad está garantizada cuando esa probabilidad es lo suficientemente baja como para que el atacante no valga la pena. Establezcamos arbitrariamente ese umbral en 1/1000: si la probabilidad de éxito del atacante, después de (digamos) una semana de esfuerzos de craqueo, sigue siendo solo uno en mil, entonces decidirá dedicar su tiempo a otra cosa (por ejemplo, comprar lotería). entradas).

Cuando el atacante puede obtener una versión con hash de la contraseña, K irá desde millones (si se usó una buena función de hashing de contraseña como bcrypt, con suficientes iteraciones) a millones de miles de millones (si se usó una función de hashing de contraseña deficiente, por ejemplo, una sola invocación SHA-1). Para alcanzar nuestro umbral de 1/1000, N deberá estar en (al menos) el rango de miles de millones.

Con un dispositivo que se inicia automáticamente después de 10 intentos incorrectos, K = 10. El umbral se alcanza con N = 10000, que es un espacio muy pequeño de posibles contraseñas; Lo consigues con un código de cuatro dígitos. Así es como una característica de bloqueo automático de este tipo hace que las contraseñas pequeñas / fáciles sean seguras de forma satisfactoria.

Las tarjetas de crédito con chips hacen eso (generalmente con K = 3).

    
respondido por el Tom Leek 26.07.2014 - 02:43
fuente

Lea otras preguntas en las etiquetas