Nivel de seguridad - Security level

En criptografía, el nivel de seguridad es una medida de la fuerza que alcanza una primitiva criptográfica , como una función de cifrado o hash . El nivel de seguridad generalmente se expresa en " bits ", donde la seguridad de n bits significa que el atacante tendría que realizar 2 n operaciones para romperlo, pero se han propuesto otros métodos que modelan más de cerca los costos para un atacante. Esto permite una comparación conveniente entre algoritmos y es útil cuando se combinan múltiples primitivas en un criptosistema híbrido , por lo que no existe un vínculo claro más débil. Por ejemplo, AES -128 ( tamaño de clave de 128 bits) está diseñado para ofrecer un nivel de seguridad de 128 bits, que se considera aproximadamente equivalente a RSA de 3072 bits .

En este contexto, la reivindicación de seguridad o nivel de seguridad objetivo es el nivel de seguridad para el que se diseñó inicialmente una primitiva, aunque el "nivel de seguridad" también se usa a veces en esos contextos. Cuando se encuentran ataques que tienen un costo menor que el reclamo de seguridad, el primitivo se considera roto .

En criptografía simétrica

Los algoritmos simétricos suelen tener un reclamo de seguridad estrictamente definido. Para cifrados simétricos , normalmente es igual al tamaño de clave del cifrado, equivalente a la complejidad de un ataque de fuerza bruta . Las funciones de hash criptográficas con un tamaño de salida de n bits suelen tener un nivel de seguridad de resistencia a colisiones n / 2 y un nivel de resistencia a preimagen n . Esto se debe a que el ataque de cumpleaños general siempre puede encontrar colisiones en 2 n / 2 pasos. Por ejemplo, SHA-256 ofrece resistencia a colisiones de 128 bits y resistencia a preimagen de 256 bits.

Sin embargo, existen algunas excepciones. El Phelix y Helix son sistemas de cifrado de 256 bits, ofreciendo un nivel de seguridad de 128 bits. Las variantes SHAKE de SHA-3 también son diferentes: para un tamaño de salida de 256 bits, SHAKE-128 proporciona un nivel de seguridad de 128 bits tanto para la colisión como para la resistencia a la preimagen.

En criptografía asimétrica

El diseño de la mayoría de los algoritmos asimétricos (es decir, la criptografía de clave pública ) se basa en problemas matemáticos claros que son eficientes para calcular en una dirección, pero ineficaces para revertir por parte del atacante. Sin embargo, los ataques contra los sistemas de claves públicas actuales son siempre más rápidos que la búsqueda por fuerza bruta del espacio de claves. Su nivel de seguridad no se establece en el momento del diseño, pero representa una suposición de dureza computacional , que se ajusta para que coincida con el mejor ataque conocido actualmente.

Se han publicado varias recomendaciones que estiman el nivel de seguridad de los algoritmos asimétricos, que difieren ligeramente debido a las distintas metodologías. Para el criptosistema RSA con un nivel de seguridad de 128 bits, NIST y ENISA recomiendan usar claves de 3072 bits e IETF de 3253 bits. La criptografía de curva elíptica requiere claves más cortas, por lo que las recomendaciones son 256-383 (NIST), 256 (ENISA) y 242 bits (IETF).

Niveles típicos

Significado de "roto"

Una primitiva criptográfica se considera rota cuando se descubre que un ataque tiene un nivel de seguridad inferior al anunciado. Sin embargo, no todos estos ataques son prácticos: la mayoría de los ataques demostrados actualmente requieren menos de 2 40 operaciones, lo que se traduce en unas pocas horas en una PC promedio. El ataque más costoso demostrado a las funciones hash es el ataque 2 61.2 en SHA-1, que tomó 2 meses en 900 GTX 970 GPU, o US $ 1,100.

Aumasson traza la línea entre ataques prácticos y no prácticos en 2 80 operaciones. Propone una nueva terminología:

  • Un primitivo roto tiene un ataque que requiere ≤ 2 80 operaciones. Un ataque puede llevarse a cabo de forma plausible.
  • Un primitivo herido tiene un ataque que dura entre 2 80 y alrededor de 2 100 operaciones. Un ataque no es posible en este momento, pero es probable que las mejoras futuras lo hagan posible.
  • Un primitivo atacado tiene un ataque que es más barato que el reclamo de seguridad, pero mucho más costoso que 2 100 . Tal ataque está demasiado lejos de ser práctico.
  • Finalmente, una primitiva analizada es aquella sin ataques más barata que su reclamo de seguridad.

Referencias

Otras lecturas

Ver también