En el diseño de protocolos criptográficos , la agilidad criptográfica o criptoagilidad es la capacidad de alternar entre múltiples primitivas criptográficas .
Un sistema criptográficamente ágil que implementa un estándar específico puede elegir qué combinación de primitivas utilizar. El objetivo principal de la agilidad criptográfica es permitir adaptaciones rápidas de nuevas primitivas y algoritmos criptográficos sin realizar cambios disruptivos en la infraestructura del sistema.
La agilidad criptográfica actúa como una medida de seguridad o un mecanismo de respuesta ante incidentes cuando se descubre que una primitiva criptográfica de un sistema es vulnerable. [ 1 ] Un sistema de seguridad se considera criptoágil si sus algoritmos o parámetros criptográficos pueden reemplazarse con facilidad y está al menos parcialmente automatizado. [ 2 ] [ 3 ] La inminente llegada de una computadora cuántica capaz de romper la criptografía asimétrica existente está generando conciencia sobre la importancia de la agilidad criptográfica. [ 4 ] [ 5 ]
Ejemplo
El certificado de clave pública X.509 ilustra la criptoagilidad. Un certificado de clave pública tiene parámetros criptográficos que incluyen el tipo de clave, la longitud de la clave y un algoritmo hash . El NIST descubrió que la versión X.509 v.3, con tipo de clave RSA, una longitud de clave de 1024 bits y el algoritmo hash SHA-1, tenía una longitud de clave que la hacía vulnerable a ataques, lo que impulsó la transición a SHA-2. [ 6 ]
Importancia
Con el auge de la comunicación segura en la capa de transporte a finales de la década de 1990, las primitivas y algoritmos criptográficos se han vuelto cada vez más populares; por ejemplo, en 2019, más del 80 % de todos los sitios web empleaban algún tipo de medida de seguridad. [ 7 ] Además, las técnicas criptográficas se incorporan ampliamente para proteger aplicaciones y transacciones comerciales.
Sin embargo, a medida que se implementan algoritmos criptográficos, se intensifica la investigación sobre su seguridad y se descubren nuevos ataques contra las primitivas criptográficas (tanto antiguas como nuevas). La criptoagilidad busca abordar la amenaza implícita a la seguridad de la información permitiendo la rápida eliminación de primitivas vulnerables y su reemplazo por otras nuevas.
Esta amenaza no es meramente teórica; muchos algoritmos que antes se consideraban seguros ( DES , RSA de 512 bits , RC4 ) ahora son vulnerables, incluso a atacantes aficionados. Por otro lado, los nuevos algoritmos ( AES , criptografía de curva elíptica ) suelen ser más seguros y rápidos que los antiguos. Se espera que los sistemas diseñados para cumplir con los criterios de criptoagilidad se vean menos afectados si se descubren vulnerabilidades en las primitivas actuales, y podrían disfrutar de una menor latencia o un menor consumo de batería al utilizar primitivas nuevas y mejoradas.
Por ejemplo, se espera que la computación cuántica , si es factible, pueda superar los algoritmos de criptografía de clave pública existentes. La gran mayoría de la infraestructura de clave pública existente se basa en la dificultad computacional de problemas como la factorización de enteros y los logaritmos discretos (que incluye la criptografía de curva elíptica como caso especial). Las computadoras cuánticas que ejecutan el algoritmo de Shor pueden resolver estos problemas exponencialmente más rápido que los mejores algoritmos conocidos para computadoras convencionales. [ 8 ] La criptografía postcuántica es el subcampo de la criptografía que busca reemplazar los algoritmos vulnerables a la computación cuántica con otros nuevos que se consideran difíciles de romper incluso para una computadora cuántica. Las principales familias de alternativas postcuánticas a la factorización y los logaritmos discretos incluyen la criptografía basada en retículos , la criptografía multivariada , la criptografía basada en hash y la criptografía basada en códigos .
Conciencia
La evolución del sistema y la criptoagilidad no son lo mismo. La evolución del sistema progresa en función de los requisitos técnicos y empresariales emergentes. La criptoagilidad, en cambio, está relacionada con la infraestructura informática y requiere la consideración de expertos en seguridad, diseñadores de sistemas y desarrolladores de aplicaciones. [ 9 ]
Mejores prácticas
Las mejores prácticas para abordar la criptoagilidad incluyen: [ 10 ]
- Todas las aplicaciones empresariales que impliquen algún tipo de tecnología criptográfica deben incorporar los algoritmos y las técnicas más recientes.
- Los requisitos de criptoagilidad deben difundirse a todos los proveedores de hardware, software y servicios, quienes deben cumplirlos de manera oportuna; los proveedores que no puedan cumplir con estos requisitos deben ser reemplazados.
- Los proveedores deben proporcionar actualizaciones puntuales e identificar la tecnología criptográfica que emplean.
- Deben tenerse en cuenta las soluciones resistentes a la mecánica cuántica. [ 11 ]
- Los algoritmos de clave simétrica deben ser flexibles en cuanto a la longitud de sus claves.
- Los algoritmos hash deberían admitir diferentes longitudes de salida.
- La rotación de certificados digitales y claves privadas debe automatizarse. [ 12 ]
- Deben cumplirse las normas y reglamentos. [ 13 ]
- Se deben comunicar los nombres de los algoritmos utilizados y no asumirlos ni utilizarlos por defecto.
Otros diseños
La agilidad criptográfica suele aumentar la complejidad de las aplicaciones que dependen de ella. Los desarrolladores necesitan crear soporte para cada una de las primitivas criptográficas opcionales, lo que introduce más código y aumenta la probabilidad de fallos de implementación, así como los costes de mantenimiento y soporte. [ 14 ] Los usuarios de los sistemas deben seleccionar las primitivas que desean utilizar; por ejemplo, los usuarios de OpenSSL pueden elegir entre docenas de conjuntos de cifrado al usar TLS . [ 15 ] Además, cuando dos partes negocian las primitivas criptográficas para su intercambio de mensajes, se crea la oportunidad para ataques de degradación por parte de intermediarios (como POODLE ) o para la selección de primitivas inseguras. [ 16 ]
Una alternativa consiste en limitar drásticamente las opciones disponibles tanto para desarrolladores como para usuarios, de modo que haya menos margen para fallos de implementación o configuración. [ 17 ] En este enfoque, los diseñadores de la biblioteca o el sistema eligen las primitivas y no ofrecen una selección de primitivas criptográficas (o, si lo hacen, se trata de un conjunto de opciones muy restringido). El cifrado con opiniones predefinidas se observa en herramientas como Libsodium , donde las API de alto nivel buscan explícitamente desalentar a los desarrolladores de elegir primitivas, y en WireGuard , donde se eligen primitivas individuales para eliminar intencionadamente la agilidad criptográfica. [ 18 ]
Si se utiliza un cifrado con un enfoque predefinido y se descubre una vulnerabilidad en una de las primitivas de un protocolo, no hay forma de sustituirla por primitivas mejores. En su lugar, la solución consiste en utilizar protocolos con versiones. Una nueva versión del protocolo incluirá la primitiva corregida. Como consecuencia, dos partes que utilicen versiones diferentes del protocolo no podrán comunicarse.
La agilidad como principio de diseño generalizado
La criptografía cuántica —y, más ampliamente, la seguridad de la capa física (PLS)— explota procesos físicos con fines criptográficos y depende inherentemente del hardware. Esto ha motivado el desarrollo de un marco conceptual para la agilidad como principio de diseño generalizado aplicable a sistemas de hardware y que se extiende más allá de la criptografía. [ 19 ] El marco enfatiza los componentes funcionales en lugar de las primitivas criptográficas tradicionales. Estos componentes pueden ser hardware, software o unidades organizativas, y se caracterizan por procesar una entrada.para producir una salida. La naturaleza deDepende del contexto: puede representar datos en sistemas de software, señales electrónicas u ópticas en hardware, o incluso estar ausente en algunos casos.
Un componente funcional ágil es capaz de producir el resultado.a través de múltiples distintosprocesos, donde estas funciones deben satisfacer simultáneamente tres condiciones clave: [ 19 ]
- Intercambiabilidad : LaLos procesos deben ser suficientemente similares para cumplir el mismo propósito. (Por ejemplo, un componente de hardware podría diseñarse para generar números aleatorios de diversas maneras, lo que permitiría implementaciones alternativas capaces de realizar tareas equivalentes).
- Diversidad : La realizadaLos procesos deben presentar diferencias significativas. (Estas diferencias podrían ser modos de fallo independientes, vulnerabilidades, compensaciones variables o rangos operativos distintos, etc., lo que garantiza que el sistema siga siendo robusto en condiciones cambiantes).
- Capacidad de conmutación : El costo asociado con la transición entre estosLos procesos deben ser suficientemente sencillos. (Estos costos podrían cuantificarse en términos de tiempo, recursos financieros o gastos administrativos, etc., y no deberían afectar significativamente al usuario final del sistema).
Idealmente, las especificaciones de diseño de un sistema ágil definirían explícitamente las métricas de costo y los criterios de intercambiabilidad, diversidad y capacidad de conmutación. [ 19 ]
Varias estrategias mejoran la agilidad del hardware, incluyendo el enrutamiento flexible de señales entre subcomponentes, la paralelización y duplicación de subcomponentes, el uso de subcomponentes conectables/intercambiables y subcomponentes multifuncionales. [ 19 ]
Referencias
- ↑ Henry, Jasmine. "¿Qué es la criptoagilidad?" . Criptomatemática . Consultado el 26 de noviembre de 2018 .
- ↑ Patterson, Kenny. "Reutilización de claves: teoría y práctica (Taller sobre criptografía en el mundo real)" (PDF) . Universidad de Stanford . Consultado el 26 de noviembre de 2018 .
- ↑ Sullivan, Bryan. "Agilidad criptográfica" (PDF) . Microsoft Corporation en Blackhat.com . Consultado el 26 de noviembre de 2018 .
- ↑ "Más vale prevenir que lamentar: Preparándose para la criptoagilidad" . Gartner . Consultado el 19 de octubre de 2020 .
- ↑ Steel, Graham (21 de enero de 2019). "Logrando agilidad criptográfica" . Cryptosense . Archivado del original el 5 de agosto de 2020. Consultado el 19 de octubre de 2020 .
- ↑ Grimes, Roger A. (2017-07-06). "Todo lo que necesitas saber sobre el cambio del cifrado SHA1 al SHA2" . CSO Online . Recuperado el 19 de mayo de 2019 .
- ↑ "Cómo Let's Encrypt duplicó el porcentaje de sitios web seguros en internet en cuatro años" . Noticias de la Universidad de Michigan . 13 de noviembre de 2019.
- ↑ Bl, Stephanie; a (1 de mayo de 2014). "Algoritmo de Shor: rompiendo el cifrado RSA" . Blog de graduados de la AMS . Recuperado el 9 de agosto de 2019 .
- ↑ Henry, Jasmine. "3DES se retira oficialmente" . Cryptomathic . Consultado el 26 de noviembre de 2018 .
- ↑ Mehmood, Asim. "¿Qué es la criptoagilidad y cómo lograrla?" . Utimaco. Archivado del original el 27 de marzo de 2019. Recuperado el 26 de noviembre de 2018 .
- ↑ Chen, Lily; Jordan, Stephen; Liu, Yi-Kai; Moody, Dustin; Peralta, Rene; Perlner, Ray; Smith-Tone, Daniel. «Informe sobre criptografía postcuántica (NISTIR 8105)» (PDF) . Instituto Nacional de Estándares y Tecnología NIST . Consultado el 26 de noviembre de 2018 .
- ↑ "La rotación de certificados digitales y claves privadas debe automatizarse" . www.appviewx.com . Consultado el 20 de abril de 2020 .
- ↑ Macaulay, Tyson. "Agilidad criptográfica en la práctica" (PDF) . InfoSec Global . Consultado el 5 de marzo de 2019 .
- ↑ Langley, Adam. "Agilidad criptográfica" . Consultado el 7 de febrero de 2025 .
- ↑ "Nombres de conjuntos de cifrado de OpenSSL 3.4" . Consultado el 7 de febrero de 2025 .
- ↑ McLean, Tim. "Vulnerabilidades críticas en las bibliotecas de JSON Web Token" . Consultado el 7 de febrero de 2025 .
- ↑ Allen, Christopher (8 de marzo de 2023). "Reflexiones de un arquitecto de confianza: problemas de agilidad criptográfica" . Recuperado el 7 de febrero de 2025 .
- ↑ Donenfeld, Jason. "WireGuard: Túnel de red del kernel de próxima generación" (PDF) . Wireguard.com . Consultado el 7 de febrero de 2025 .
- 1 2 3 4 Galambos, Máté; Vázquez-Castro, Ángeles; Bacsárdi, László (2025-05-19). "Criptoagilidad con soporte de hardware en la distribución de claves cuánticas y la seguridad de la capa física". 2025 IEEE 19th International Symposium on Applied Computational Intelligence and Informatics (SACI) . IEEE. pp. 000069–000074 . doi : 10.1109/SACI66288.2025.11030148 . ISBN 979-8-3315-1547-8.
- Algoritmos criptográficos