Fortaleza de seguridad

El nivel de seguridad (en inglés security level), también llamado fortaleza de seguridad (en inglés security strength) o fortaleza criptográfica, para un algoritmo criptográfico o sistema, es un número asociado con la cantidad de trabajo (número de operaciones básicas de algún tipo) que se requieren para romper dicho algoritmo criptográfico o sistema.[1]​ Normalmente se suele expresar en número de bits y por eso a veces se le llama Nivel de seguridad de bit (en inglés bit security level).[1][2]

Cálculo editar

Si se requieren 2N operaciones de ejecución del algoritmo para romper el algoritmo criptográfico, entonces la fortaleza de seguridad es de N bits.[1]

Supongamos que el sistema es un candado con combinación de 4 dígitos.[2]​ Entonces hay 10.000 posibles combinaciones (desde 0000 a 9999) que son las que como máximo tendría que probar un ataque por fuerza bruta para romper el sistema.[2]​ Con 5 dígitos sería 100.000 posibles combinaciones.[2]​ Si en lugar de ser un candado es una password de tipo entero sin signo de 32 bits entonces hay 232 posibilidades. En ese caso se dice que la fortaleza de seguridad es de 32 bits.[2]

El número de instrucciones de máquina que se requieren para un intento depende de la arquitectura del procesador lo que afecta al tiempo.[2]​ En criptografía se asume que el tiempo de cada intento es mínimo, ya que es factible crear un circuito hardware dedicado para un algoritmo criptográfico concreto (ej, las extensiones AES-NI de los procesadores x86-64).[2]​ Por eso en criptografía, en general, se intenta elevar el Nivel de seguridad de bit, en lugar de incrementar el coste de un intento.[2]

Cuando hablamos de “RSA 2048”, “DH 4096”, o “SHA-256”, el número representa el tamaño de clave/bloque, lo que es distinto de los bits de nivel de seguridad que tiene el algoritmo.[2]​ La diferencia viene del hecho de que los algoritmo criptográficos confían en la dificultad para resolver ciertos problemas matemáticos, su seguridad es inevitablemente debilitada cuando se hacen progresos para resolver dichos problemas matemáticos.[2]​ Por ejemplo, avances en factorización de primos implica menos seguridad de RSA.[2]​ A veces el ataque es específico para un algoritmo, permitiendo al atacante descartar una porción significativa del espacio de claves.[2]

Ejemplos editar

A continuación se muestra el nivel de seguridad actual de algunos algoritmos criptográficos conocidos.

Ej. de nivel de seguridad de algoritmos
Algoritmo Nivel de seguridad Ref.
DES 56 [2]
2TDES <=80 [3]
FFC L=1024 N=160 <=80 [3]
IFC k=1024 <=80 [3]
ECC f=160-223 <=80 [3]
3DES 112 [3]
FFC L=2048 N=224 112 [3]
IFC k=2048 112 [3]
ECC f=224-255 112 [3]
AES-128 128 [3]
FFC L=3072 N=256 128 [3]
IFC k=3072 128 [3]
ECC f=256-384 128 [3]
AES-192 192 [3]
FFC L=7680 N=384 192 [3]
IFC k=7680 192 [3]
ECC f=384-511 192 [3]
AES-256 256 [3]
FFC L=15360 N=512 256 [3]
IFC k=15360 256 [3]
ECC f=512+ 256 [3]
  • IFC indica algoritmos basados en Criptografía de factorización de enteros (Integer-Factorization Cryptography). Ej RSA. k indica el tamaño de clave.
  • FFC indica algoritmos basados en Criptografía de campos finitos (Finite-Field Cryptography). Ej DSA, DH y MQV. L indica tamaño de la clave pública y N indica el tamaño de la clave privada.
  • FFC indica algoritmos basados en Criptografía de curva elíptica (Elliptic-Curve Cryptography). Ej ECDSA. f indica rangos de punto base G, lo cual es considerado como el tamaño de la clave.
Hash criptográfico compatible a nivel de seguridad según su uso
Nivel de seguridad En firma digital y aplicación de solo hash HMAC, RNG y KDF Ref.
<=80 SHA-1 [3]
112 SHA-224, SHA-512/224, SHA3-224 [3]
128 SHA-256, SHA-512/256, SHA3-256 SHA-1 [3]
192 SHA-384, SHA3-384 SHA-224, SHA-512/224 [3]
>256 SHA-512, SHA3-512 SHA-256, SHA-512/256, SHA-384,SHA-512, SHA3-512 [3]

Consideraciones editar

Respecto al nivel de seguridad se suele considerar:

  • 80 bits de nivel de seguridad no se considera suficientemente seguro.[3]
  • 112 bits de nivel de seguridad es suficiente hasta 2030.[2][4]
  • 128 bits de nivel de seguridad es suficiente hasta el próximo descubrimiento revolucionario en las matemáticas o de la tecnología.[2]

Categorías de fortaleza de seguridad del NIST editar

Las categorías de fortaleza de seguridad establecidas por el NIST permiten cuantificar la seguridad de los algoritmos.[5]​ El NIST dio tres posibles definiciones de seguridad, dos para cifrado y una para firma, y designó cinco categorías de fortaleza de seguridad para clasificar la complejidad computacional de los ataques que violan las definiciones de seguridad.[5]​ Las categorías van del 1 al 5 y mayor protección es indicado por un número de categoría superior.[6]​ Estas categorías estaban basadan en los recursos computacionales requeridas para desarrollar ataques de fuerza bruta contra algoritmos ya definidos en los estándar del NIST (AES y SHA) en una variedad de diferentes modelos de costes de computación, tanto clásico como cuánticos.[5]

Las cinco categorías son:[6]

  • Categoría 1. Seguridad equivalente a AES-128. Resistencia cuántica débil.
  • Categoría 2. Seguridad equivalente a SHA-256/SHA3-256. Resistencia cuántica fuerte.
  • Categoría 3. Seguridad equivalente a AES-192. Resistencia cuántica más fuerte.
  • Categoría 4. Seguridad equivalente a SHA-384/SHA3-38. Resistencia muy fuerte.
  • Categoría 5. Seguridad equivalente a AES-256. Resistencia cuántica la más fuerte.

El NIST considera las cinco categorías como resistentes a criptografía cuántica, aunque describe la categoría 1 como bastante débil. NIST considera categorías 2 y 3 como probablemente seguras para el futuro inmediato y categorías 4 y 5 como probablemente excesivas y hay que evaluar si merecen la pena haciendo consideraciones de rendimiento e implementación.[6]

Referencias editar

  1. a b c Glossary. Computer Security Resource Center. NIST
  2. a b c d e f g h i j k l m n ñ Bit security level. Han Gyeol’s. xtendo.org
  3. a b c d e f g h i j k l m n ñ o p q r s t u v w x y Recommendation for Key Management, Part 1: General. NIST Special Publication 800-57 Part 1 Revision 4. Elaine Barker. Mayo de 2020
  4. NIST Recommendation for Key Management. Bill Buchanan OBE. medium.com. 10 de mayo de 2020
  5. a b c Status Report on the Second Round of the NIST Post-Quantum Cryptography Standardization Process. NIST. Julio de 2020
  6. a b c Cryptography Apocalypse. Preparing for the Day When Quantum Computing Breaks Today’s Crypto. Roger A. Grimes. ohn Wiley & Sons 2020