¿Hay un indicador amigable para los civiles de seguridad de contraseña almacenada?

2

Tal como lo entiendo, al usar el cifrado unidireccional podemos proteger los datos de contraseña almacenados en caso de que sean robados. En términos generales, los datos de las contraseñas generalmente se pueden descifrar al adivinar, de modo que la solidez de la protección de las contraseñas se pueda medir como el tiempo de la computadora que esperaríamos que tomara un ataque de fuerza bruta.

Sin embargo, el tiempo de cálculo no es una buena métrica en sí misma porque los ataques se pueden paralelizar y, lo que es más importante, algunos métodos de cifrado se pueden paralelizar más fácilmente que otros. "10 años" tiene un significado muy diferente dependiendo de si un ataque es vergonzosamente fácil de paralelizar o si es muy resistente a un ataque paralelo.

Suponiendo que sabemos todo lo que podemos saber (algoritmo, calidad de sal, política de contraseñas, número de iteraciones, cantidad de contraseñas, etc.) y solucionamos nuestras suposiciones acerca de las técnicas disponibles para un atacante, entonces, ¿hay una ¿Indicador razonable de qué tan bien protegidos están los datos de la contraseña en manos de un atacante (incluso si solo fuera 'preciso' para un par de órdenes de magnitud)?

Por ejemplo, ¿Es el costo financiero una métrica razonable? ¿Podría una indicación de "$ 1,000 por contraseña resquebrajada" estimar de manera muy general la protección de una contraseña? P.ej. un atacante con recursos masivos puede romper uno cada segundo, mientras que otro puede romper uno cada mes pero (dentro de un par de órdenes de magnitud) cuesta cada $ 1,000 por contraseña.

Si el costo no es bueno en absoluto, ¿hay alguna métrica que se pueda usar para comunicar a los legos la fuerza relativa de los diseños de protección de contraseñas?

    
pregunta codybartfast 28.05.2016 - 17:35
fuente

3 respuestas

3

El costo financiero tampoco es una buena métrica. La ley de Moore se puede usar para deducir que el rendimiento del chip se duplicaría cada 18 meses. Esto da como resultado una mayor potencia de cálculo al mismo precio, por lo que hoy podría costar $ 1000 por contraseña, pero será de $ 250 por contraseña en 3 años.

En mi opinión, el tiempo sigue siendo la mejor métrica porque puede estar vinculado a la política de contraseñas de su organización. Si sus observaciones indican que la fortaleza de la contraseña actual requeriría 10 años para la fuerza bruta, y tiene un 80% de confianza en la precisión de su estimación, quizás desee forzar a sus usuarios a cambiar sus contraseñas al menos una vez cada 8 años. Incluso si su observación resulta ser incorrecta debido a los avances del hardware y la contraseña se descifra dentro del margen de error, sus usuarios todavía están seguros ya que las contraseñas han sido cambiadas por mucho tiempo.

    
respondido por el limbenjamin 28.05.2016 - 18:02
fuente
2

La siguiente es una técnica que creé para expresar la fortaleza de la protección de contraseña a los clientes. Es muy burdo, pero le da una imagen muy clara a un civil.

No puedo garantizar su calidad o aptitud para el uso en su situación, pero aquí va.

La escala de BadMan

Componente

Consta de tres partes

  1. Tipo de atacante: se clasifica de la siguiente manera ◆A◆

    1. persona individual (que gasta hasta $ 10K / computadora de gama alta con recursos)
    2. Organización (gasto de $ 10K a $ 1M / Cluster)
    3. Gobierno (gasto superior a $ 1M / Clúster de computación grande)
  2. Tiempo de éxito en meses [B] (A las velocidades de computación actuales, en

  3. Longitud de bits del valor hash final [C] (128, 256, etc.)

Estructura

Los valores se expresan en forma de [A]. [B]. [C] por ejemplo, si un atacante del tamaño de una organización puede descifrar una contraseña expresada en Sha256 en 2 años, el valor sería 2.24.256

Cuanto mayor sea el valor, mejor.

    
respondido por el BMC 28.05.2016 - 22:07
fuente
0

Relación a corto plazo del costo de descubrimiento al valor.

Por ejemplo, se podría decir algo como:

Hoy, dado este diseño y una contraseña creada en los próximos 12 meses con una vida útil de 90 días, el costo estimado de descifrar la contraseña dentro de su vida útil es de $ 15,000. Dado un valor estimado de $ 750 para una contraseña, esto daría una proporción de 20: 1 de costo de craqueo a valor.

Esto puede ser simplista, pero creo que para estimar qué tan 'segura' es una contraseña tenemos que incluir una estimación del valor de la contraseña. Este podría ser el valor financiero para el atacante: por ejemplo, las contraseñas para una cuenta bancaria o un empleado del banco tienen un valor diferente a las de un sitio de revisión. Pero también podría ser un valor estimado de daños a la reputación para la empresa, o un costo mínimo de ser responsable (porque los usuarios reutilizarán las contraseñas, no deberíamos permitir que una contraseña se descifre fácilmente, incluso si tiene poco valor por sí misma).

El costo de descifrar una contraseña debería comprender dos factores principales:

  • La dificultad de cálculo, que refleja el diseño y la política (longitud de la contraseña, complejidad de la contraseña, algoritmo de cifrado, sales, recuento de iteraciones, ...)
  • El costo estimado de cálculo, que dependería en parte de la facilidad de la paralelización y las posibles economías de escala para un atacante.

Personalmente, no tengo idea si 20: 1 es una buena proporción, o dado el número de estimaciones compuestas, si es una proporción bastante baja.

Puede ser un modelo bastante simple, pero podría permitir discusiones sobre la seguridad de las contraseñas sin tener que introducir conceptos como el tamaño del espacio de teclas, la entropía o los recuentos básicos de CUDA.

    
respondido por el codybartfast 31.05.2016 - 13:24
fuente

Lea otras preguntas en las etiquetas