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, [1] pero se han propuesto otros métodos que modelan más de cerca los costos para un atacante. [2] 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 hay 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 el nivel de seguridad de destino es el nivel de seguridad para el que se diseñó inicialmente una primitiva, aunque el "nivel de seguridad" también se utiliza a veces en esos contextos. Cuando se encuentran ataques que tienen un costo menor que el reclamo de seguridad, el primitivo se considera roto . [3] [4]
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 . [4] [5] Las funciones de hash criptográficas con un tamaño de salida de n bits generalmente tienen un nivel de seguridad de resistencia a colisiones n / 2 y un nivel de resistencia de preimagen n . Esto se debe a que el ataque de cumpleaños general siempre puede encontrar colisiones en 2 n / 2 pasos. [6] 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. [4] [7] 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 colisión como para resistencia a preimagen. [8]
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 un supuesto de dureza computacional , que se ajusta para que coincida con el mejor ataque conocido actualmente. [5]
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 [9] [10] e IETF de 3253 bits. [11] [12] 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 demostrado más costoso 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. [13]
Aumasson traza la línea entre ataques prácticos y no prácticos en 2 80 operaciones. Propone una nueva terminología: [14]
- 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
- ^ Lenstra, Arjen K. "Longitudes clave: contribución al manual de seguridad de la información" (PDF) .
- ^ Bernstein, Daniel J .; Lange, Tanja (4 de junio de 2012). "Grietas no uniformes en el hormigón: el poder de la precomputación gratuita" (PDF) . Avances en Criptología - ASIACRYPT 2013 . Apuntes de conferencias en Ciencias de la Computación. págs. 321–340. doi : 10.1007 / 978-3-642-42045-0_17 . ISBN 9783642420443.
- ^ Aumasson, Jean-Philippe (2011). Criptoanálisis vs. Realidad (PDF) . Sombrero Negro Abu Dhabi.
- ^ a b c Bernstein, Daniel J. (25 de abril de 2005). Comprensión de la fuerza bruta (PDF) . Taller ECRYPT STVL sobre cifrado de claves simétricas.
- ^ a b Lenstra, Arjen K. (9 de diciembre de 2001). "Seguridad increíble: Igualación de la seguridad AES mediante sistemas de clave pública" (PDF) . Avances en Criptología - ASIACRYPT 2001 . Apuntes de conferencias en Ciencias de la Computación. 2248 . Springer, Berlín, Heidelberg. págs. 67–86. doi : 10.1007 / 3-540-45682-1_5 . ISBN 978-3540456827.
- ^ Alfred J. Menezes , Paul C. van Oorschot , Scott A. Vanstone . "Capítulo 9 - Funciones hash e integridad de los datos" (PDF) . Manual de criptografía aplicada . pag. 336.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Ferguson, Niels; Whiting, Doug; Schneier, Bruce; Kelsey, John; Suertes, Stefan; Kohno, Tadayoshi (24 de febrero de 2003). "Hélice: cifrado y autenticación rápidos en una única primitiva criptográfica" (PDF) . Cifrado de software rápido . Apuntes de conferencias en Ciencias de la Computación. 2887 . Springer, Berlín, Heidelberg. págs. 330–346. doi : 10.1007 / 978-3-540-39887-5_24 . ISBN 978-3-540-20449-7.
- ^ Dworkin, Morris J. (agosto de 2015). "Estándar SHA-3: Hash basado en permutación y funciones de salida extensible" (PDF) : 23. doi : 10.6028 / nist.fips.202 . Cite journal requiere
|journal=
( ayuda ) - ^ Barker, Elaine (enero de 2016). "Recomendación para la gestión de claves, Parte 1: General" (PDF) . NIST: 53. CiteSeerX 10.1.1.106.307 . doi : 10.6028 / nist.sp.800-57pt1r4 . Cite journal requiere
|journal=
( ayuda ) - ^ "Informe de algoritmos, tamaño de clave y parámetros - 2014" . ENISA. Oficina de Publicaciones. 2013: 37. doi : 10.2824 / 36822 . Cite journal requiere
|journal=
( ayuda )CS1 maint: otros ( enlace ) - ^ Hilarie, Orman; Paul, Hoffman (abril de 2004). "Determinación de fortalezas para claves públicas utilizadas para el intercambio de claves simétricas" . RFC 3766 (IETF).
- ^ Giry, Damien. "Keylength - Comparar todos los métodos" . keylength.com . Consultado el 2 de enero de 2017 .
- ^ Gaëtan Leurent; Thomas Peyrin (8 de enero de 2020). "SHA-1 es un desastre: primera colisión de prefijo elegido en SHA-1 y aplicación a PGP Web of Trust" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Aumasson, Jean-Philippe (2020). Demasiadas criptomonedas (PDF) . Simposio de criptografía del mundo real.
Otras lecturas
- Aumasson, Jean-Philippe (2020). Demasiadas criptomonedas (PDF) . Simposio de criptografía del mundo real.
Ver también
- Supuesto de dureza computacional
- Cifrado de 40 bits
- Resumen de seguridad de cifrado
- Resumen de seguridad de la función hash