¿Se puede confiar en la Criptografía de Curva Elíptica? Un breve análisis de la seguridad de este popular sistema de Criptografía

Autor: Veronika Stolbikova
Fecha de Publicación: 13 June 2016
English

Muchas tarjetas inteligentes, teléfonos celulares, Internet de las Cosas (IOT) y las empresas Bitcoin ya han implementado criptografía de curva elíptica (ECC), y por una buena razón. Este método de cifrado y descifrado asimétrico que muestra el US Instituto Nacional de Normas y Tecnología (NIST) y los estudios de terceros superara significativamente sus mayores competidores, ofreciendo claves significativamente más cortas, menor consumo por unidad central de procesamiento (CPU) y menor uso de memoria.1, 2

Dado que la seguridad es un aspecto fundamental de la criptografía, es importante evaluar cuidadosamente cada criptograma, no sólo para la eficiencia, sino también para la impermeabilidad contra todo tipo de ataques criptográficos. Hay varias formas de evaluar las capacidades de seguridad de ECC para determinar si se trata de una empresa confiable.

Que vulnerabilidades o posibles deficiencias en el diseño de ECC pueden existir? Puede ECC soportar la prueba del tiempo, y qué problemas de aplicación no se resuelven?

ECC para la Seguridad

Aunque no existe una cosa tal como un sistema de cifrado perfecto, ampliamente aplicable e irrompible, hay muchas maneras de mantener los datos seguros cuando están en reposo y cuando están en movimiento. Existe una variedad de clases de cryptoalgorithms, incluyendo algoritmos de hash, cryptoalgorithms simétricos y asimétricos cryptoalgorithms. ECC, como RSA, cae bajo la clasificación de algoritmo asimétrico (clave pública/privada). Este tipo de criptograma resuelve una variedad de problemas, uno de los cuales está permitiendo que dos nodos o individuos que nunca han estado comunicadas entre sí puedan compartir información de una manera segura. Estos algoritmos son también una pieza fundamental en el mecanismo de protocolos, estándares de muchos, servicios e infraestructuras. Bitcoin, X.509/PKI, Transport Layer Security/Secure Sockets Layer (TLS/SSL), Internet Key Exchange (IKE), Secure Shell (SSH), las extensiones de nombres de dominio de seguridad del sistema (DNSSEC), Pretty Good Privacy Privacy Guard/Gnu (PGP/GPG), Internet Mail Extensions Secure/Multipurpose (S/MIME), RFC 3161, la mayoría de las cosas con las firmas digitales (por ejemplo, formatos de documentos portátiles firmados digitalmente [PDF]), Z y en tiempo real Protocolo de transporte (ZRTP), y Secure Internet en vivo de conferencia (SILC), todos profundamente se basan en el cifrado asimétrico y descifrado de una manera u otra.

Una vez que se determina que es necesario el cifrado asimétrico, es el momento de elegir la herramienta que mejor se ajusta. Las estadísticas se ven muy bien para ECC. Las tablas de dimensiones clave recomendadas por el NIST representan la principal ventaja de llaves mas cortas que tiene ECC. Para un tamaño de clave simétrica equivalente de 80 bits, RSA requiere de 1.024 bits, mientras ECC requiere 160 bits (una proporción 3:1). Cuando el tamaño de la clave simétrica crece hasta 256 bits, la relación salta hasta 64:1. Por lo tanto, las curvas elípticas son computacionalmente más ligero para claves grandes3. Otros estudios muestran que el tiempo que toman diferentes procesadores para cifrar y/o descifrar los datos puede ser 400 veces más rápido en ECC que para un tamaño equivalente de RSA.4

El aspecto de la seguridad de la ECC es compleja. Al día de hoy, existen numerosas normas que definen y regulan, incluyendo el American National Standards Institute (ANSI) X9.62, el Institute of Electrical and (IEEE) P1363, las Normas para Eficiente Grupo Criptografía (realizar una EE) Electronics Engineers, NIST Estándares federales de Procesamiento de Información (FIPS) 186-2, ANSI X9-63, Brainpool, de la Agencia Nacional de Seguridad de Estados Unidos (NSA) suite B, y ANSI FRP256V1.

ECC es adaptable a una amplia variedad de esquemas y protocolos criptográficos, como la curva elíptica Diffie-Hellman (ECDH), la Firma Digital Algoritmo de curva elíptica (ECDSA) y la curva elíptica integrando esquemas de cifrado (ECIES). El funcionamiento interno matemático de ECC, criptografía y seguridad criptoanálisis (por ejemplo, la ecuación de Weierstrass que describe curvas elípticas, teoría de grupos, giros cuadraticos, la mecánica cuántica detrás del ataque Shor y la curva elíptica problema de logaritmo discreto) son complejos.

Ataques actualmente conocidos

Hay un número importante de posibles vulnerabilidades de las curvas elípticas, tales como ataques de canal lateral y ataques por torsión de seguridad. Estos ataques que amenazan con invalidar la seguridad ECC tiene como objetivo proporcionar las claves privadas.

Los ataques de canal lateral generalmente ocurren cuando las mediciones se realizan sobre la implementación física de un sistema de cifrado, lo que resulta en la filtración de información. El análisis de canal lateral incluye una variedad de ataques, como ataques simples de sincronización, los ataques de energía simples, ataques de fuerza desigual y análisis de fallo.5 Durante los ataques de tiempo, por ejemplo, el usuario malintencionado mide la diferencia de tiempo entre los extremos observados en el consumo de energía con un osciloscopio. Basándose en el hecho de que las diferentes operaciones o valores de entrada tienen una variación significativa de tiempo, el atacante puede deducir la clave secreta. Los ataques de energía, por otro lado, son similares a los ataques de temporización, excepto por el hecho de que la forma real y la amplitud de los extremos de voltaje es analizada por el atacante. Existe una variedad de ataques de energía, incluyendo el análisis de poder simple (SPA) y el análisis de potencia diferencial (DPA).

Existen medidas sencillas para todo tipo de ataques de canal lateral. Ambos ataques de temporización y potencia simple se pueden prevenir con la aplicación de la escala de potencia Montgomery (una técnica de multiplicación escalar que se utiliza para calcular) en el ECC en lugar de utilizar una de las otras técnicas similares (por ejemplo, doble y sumar, ventana deslizante ). No sólo la escala Montgomery tienen la ventaja de proporcionar multiplicación escalar rápida para ECC, sino que también tiende a comportarse de forma regular, enmascarando el cómputo contra el tiempo y ataque simple de energía del lado del canal.6 Desafortunadamente, no todas las curvas de ECC existentes apoyan el uso de escalas. El número de curvas que no son compatibles con esta técnica es muy amplio (por ejemplo, anómalo, NIST P-224, BN [2254], BrainpoolP256t1 Anssi FRP256v1), por lo que es importante comprobar si la implementación de ECC utiliza una curva que soporten y apoyen la escala de potencia Montgomery.7 Además, los ataques de temporización simples se pueden prevenir mediante la inserción de un señuelo que se añade en el algoritmo para actuar como una variable ignorada; esto hace que el número de operaciones de proceso que se lleva a cabo sean lo mismo, independientemente del valor de los claves secretas.8 Los ataques tipo DPA de canal lateral se puede prevenir en una variedad de maneras, incluyendo la adición de entropía significativa a la clave secreta, disimulando puntos de grupo y el uso de coordenadas proyectivas aleatorias.9

Otra categoría de los ataques a las curvas elípticas se conoce como ataques de torsión de seguridad (fallo). Este tipo de ataques por lo general tienen éxito cuando se cumplen una serie de condiciones, y todos ellos conducen a la filtraciones de la clave privada de la víctima. Típicamente, durante un ataque de torsión, la parte maliciosa comparte una clave pública cuidadosamente seleccionada que no se encuentra reconocida en la curva de ECC y que dará lugar a una clave compartida que puede ser revertida fácilmente. Después que la víctima calcula una clave compartida (computados sobre la clave privada de la víctima y la clave pública malicioso) y calcula un hash de la clave compartida, el usuario malintencionado es capaz de extraer la clave secreta de la víctima. Los ataques de torsión pueden ser divididas en muchas subcategorías que incluyen ataques a pequeños subgrupos, los ataques no válidos de la curva y los ataques contra la curva invalida contra la escala Montgomery. Los ataques-subgrupo pequeño hacen que sea posible simplemente usar la clave privada de la víctima mediante el uso de un punto cuidadosamente seleccionado como la clave pública. Durante los ataques mas graves de curva no válidos, el atacante elige un punto pequeño que se encuentra en una curva elíptica con un coeficiente constante diferente. Sin embargo, como los ataques no válido de la curva están limitadas por el uso de escalas, tales como la escala Montgomery antes mencionada, existen ataques de torsión específicos contra aquellos.10 Sin embargo, ataques por torsión de seguridad generalmente están fácilmente mitigados por las elecciones cuidadosas de las curvas y la validación de los distintos parámetros.

Posibles ataques futuros

Mientras que la computación cuántica ya se enfrenta a una gran variedad de problemas, como sus tasas pobres de decoherencia, problemas de corrección de errores, problemas de preparación del estado y los problemas con puertas cuánticas,11 su avance puede traer retos adicionales a ECC, una vez que se convierte en una realidad tecnológica en lugar del concepto teórico que es hoy. A medida que los ordenadores cuánticos sigan haciendo avances en su desarrollo, las empresas deben tener en cuenta si los ordenadores cuánticos tienen implicaciones potenciales sobre sus implementaciones de ECC.

La computación cuántica ofrecerá dos principales armas criptoanalíticas: algoritmos de Shor y Grover (y sus variantes). Ataques Shor hacen la factorización fácil, esencialmente, porque es trivial para el atacante descubrir la clave secreta en un criptosistema asimétrico. Los ataques Grover hacen que la fuerza bruta sea más fácil mediante la creación de una superposición uniforme sobre todas las posibles entradas, los estados de interferencia destructiva que no son válidos y, en consecuencia, la búsqueda de las entradas que satisfacen una función dada. Los algoritmos de Grover y Shor y pueden tener importantes implicaciones no sólo para la ECC, sino también para la criptografía asimétrica por completo. Por otra parte, la ventaja de ECC en longitudes de llaves mas cortas en la computación clásica demostrará ser una desventaja en la computación cuántica. ECC será más fácil de romper que los criptosistemas RSA debido a un qubits menor (en equivalentes cuántica de bits tradicionales) requeridos.12 Mientras que los ordenadores cuánticos presentan una amenaza aterradora para ECC y la criptografía asimétrica, esto no es inminente, como ordenadores cuánticos tienen que superar primero algunas limitaciones físicas muy difíciles.

Problemas con Implementación de ECC

La historia ha demostrado que, si bien es teóricamente posible una aplicación segura de la curva de ECC, no es fácil de lograr. De hecho, las implementaciones incorrectas pueden dar lugar a fugas de la clave privada de ECC en una serie de escenarios. Tales fugas pueden ocurrir cuando se calculan los resultados incorrectos y cuando la entrada no termine en la curva seleccionada. Además, pueden ocurrir cuando los errores se producen en la sincronización de tiempo o cuando se producen errores de caché de tiempo. En pocas palabras, una gran cantidad de cosas pueden salir mal mientras está siendo implementado ECC.13

Hay numerosos ejemplos de cómo la implementación de algoritmos de ECC dio lugar a importantes vulnerabilidades en el software criptográfico. Un buen ejemplo es el de la catástrofe de seguridad Sony ECDSA. Aunque Sony utilizaba para firmar el software ECDSA para su consola de juegos PlayStation, no aplicaron correctamente el algoritmo. El uso de parámetros estáticos en lugar de unos al azar en la implementación del algoritmo en Sony hicieron que este pudiesen ser resuelto inútil subsecuentemente.14

Por otra parte, hay ejemplos de aplicación indebida de ECC en OpenSSL que dieron lugar a vulnerabilidades comunes, tales como la vulnerabilidad y exposición común CVE (CVE) -2.014 a 3.572, 2.014-0.076 y CVE-CVE-2.008-5077. Estas vulnerabilidades van desde la omisión del mensaje de intercambio de claves del servidor de firmas malformados. Peor aún, estos temas pueden permitirle a un atacante remoto no autenticado en obtener acceso a las llaves privadas del Secure Sockets Layer (SSL). Temas de implementación inadecuada son un problema de seguridad aterrador y deben ser abordados a través de la revisión del código de seguridad, análisis de código estático y pruebas de penetración.

Posible Puerta Trasera NSA

Durante los últimos 10 años, han habido graves especulaciones de los medios y la comunidad de seguridad sobre que la NSA insertó una puerta trasera en uno de los estándares de ECC, socavando su fortaleza.15 Si bien en la actualidad hay muchos otros terceros criptográficamente seguro generadores de números pseudoaleatorios (CSPRNG) y ECC normas existentes que quedan fuera del alcance de este problema, las sospechas cayeron en la primera curva elíptica dual determinista aleatoria de generado de bits (Dual_EC_DRBG) curva elíptica generador pseudoaleatorio que se utiliza en el algoritmo. Uno de los puntos débiles identificados públicamente en el momento tenía todas las características de una puerta trasera CSPRNG diseñado a propósito.16 Un informe de Reuters 2013 de un acuerdo secreto de US $ 10 millones con RSA sólo sirvió para alimentar estos fuegos.17 Después de esta revelación y un intenso debate público, Dual_EC_DRBG fue excluido de las normas y ya no se utiliza.

Sin embargo, ahora hay sospechas similares acerca de las curvas estándar NIST. Desde las revelaciones de Edward Snowden, ha habido una significativa preocupación de que el generador de números pseudo-aleatorios ECC se fabricó para inyectar una puerta trasera NSA en ECC cryptography.18 Sin embargo, el debate está todavía en curso sobre este tema. Algunos criptógrafos sospechan que las curvas fueron escogidos deliberadamente por tener una debilidad matemática conocida sólo por el NSA. Otros argumentan que algunas consideraciones de seguridad no se entendían ampliamente en el momento en que se introdujeron las curvas del NIST y que algunos problemas de seguridad se debieron a NIST utilizando los. US Secure Hash Algorithm 1 (SHA1) para generar parámetros del algoritmo.

Prueba del tiempo

Todos los criptógrafos trabajan hacia un objetivo común: crear un sistema de cifrado que es demasiado difícil de romper. En cierto sentido, se podría considerar la capacidad de resistencia de un sistema de cifrado a los ataques maliciosos como su calidad. Sin embargo, mientras que otros productos, como los automóviles, pueden ser probados por la calidad de su propio fabricante o terceros autorizados, no hay ninguna garantía de que cualquier equipo podría encontrar de manera eficiente todas las debilidades existentes y aquellas -a-ser descubiertos, en un sistema de cifrado. Por lo tanto, la comunidad de seguridad generalmente recomienda la apertura de nuevos cryptoalgorithms para el mundo para probar el sistema contra varios tipos de amenazas. Sólo los sistemas criptográficos que pueden sobrevivir extensa pruebas de la comunidad con el tiempo pueden ser considerados como habiendo soportado la prueba del tiempo. Igualmente, la mayoría de los analistas de seguridad aconsejan en contra del uso de la seguridad por oscuridad (basándose en el algoritmo a no ser conocido por el atacante).19

La fuerza de ECC puede ser analizada mediante la determinación de lo bien que ha resistido la prueba del tiempo. Por ejemplo, el ECC se ha enfrentado a varios ataques exitosos y no exitosos de fuerza bruta. En 2004, un equipo de matemáticos con 2.600 ordenadores que se utilizaron durante un período de 17 meses completaron el reto Certicom criptografía de curva elíptica (ECC) 2-10920. En 2009, el primo de 112 bits ECDLP se resolvió utilizando 200 consolas de PlayStation 3.21 Sin embargo, hasta la fecha, criptoanalistas creen que el campo de ECC de 160 bits primo debe seguir siendo seguro contra los intentos públicos por lo menos hasta 2020.22

Durante los primeros 30 o más años de vida de ECC, curvas elípticas en la criptografía se analizaron y experimentaron con todo por razones teóricas y estéticas. Sin embargo, durante los años 1990, ECC aumentó en popularidad. Esto dio lugar tanto en la publicidad y el escrutinio contragolpe significativo de ECC por los oponentes que tratan de encontrar defectos en ella. Si bien el debate entre RSA y ECC continuó, este último sistema criptográfico finalmente alcanzó estatus como un estándar aceptado. Al final, sin embargo, ECC no se elevó de manera significativa a la fama hasta que la NSA publicó “El caso de la criptografía de curva elíptica” en 2005.23 Sin embargo, se puede decir que la ECC ha estado disponible para todo el mundo por bastante tiempo y que el público debe estar bastante cómodo que ECC no se basa solamente en la seguridad por oscuridad.

Conclusión

A pesar del importante debate sobre si hay una puerta trasera en la curva elíptica generador de números aleatorios, el algoritmo, en su conjunto, se mantiene bastante seguro. Aunque hay varias vulnerabilidades populares de ataques de canal lateral, que se mitigan fácilmente a través de varias técnicas. Ataques cuántica se ciernen sobre ECC, pero todavía tienen que ser ampliamente disponibles. Aunque los ataques de rosca de seguridad pueden amenazar ECC, se pueden militado en contra. Por otra parte, si bien las claves ECC más largas se rompen públicamente de vez en cuando, lo mismo es cierto para todos los demás tipos de algoritmos populares. Pero no importa qué tan seguro ECC es en teoría, debe ser implementado correctamente. La historia ha demostrado que tal cosa no es trivial, ya que los equipos grandes y las empresas no han logrado alcanzar este objetivo. Por encima de todo lo demás, la realidad mencionada pone de relieve la necesidad de efectuar ensayos adecuados de la seguridad y la correcta aplicación del algoritmo.

Notas

1 National Security Agency (NSA), “The Case for Elliptic Curve Cryptography,” USA, 2015
2 Lauter, K.; “Elliptic Curve Cryptography for Wireless Security,” Microsoft Corp., 2004, www.msr-waypoint.com/en-us/um/people/klauter/ieeefinal.pdf
3 Op cit, NSA
4 Op cit, Lauter
5 Bar-El, H.; “Introduction to Side Channel Attacks,” Discretix Technologies Ltd., 2003
6 Joyce, M.; S.-M. Yen; et al.; “The Montgomery Powering Ladder,” Cryptographic Hardware and Embedded Systems, CHES 2002, volume 2523, Lecture Notes in Computer Science, Springer-Verlag, 2003, p. 291-302, https://choucroutage.com/Papers/SideChannelAttacks/ches-2002-joye.pdf
7 Bernstein, D.; T. Lange; et al.; “SafeCurves: Choosing Safe Curves for Elliptic-curve Cryptography,” http://safecurves.cr.yp.to
8 Kadir, S.; A. Sasongko; et al.; “Simple Power Analysis Attack Against ECC Processor on FPGA Implementation,” 2011, http://140.98.202.196/xpl/articleDetails.jsp?arnumber=6021757&newsearch=true&queryText=Simple%20Power%20Analysis%20Attack%
20Against%20ECC%20Processor%20on%20FPGA%20Implementation

9 Coron, J. S.; “Resistance Against Differential Power Analysis for Elliptic Curve Cryptosystems, Cryptographic Hardware and Embedded Systems,” Lecture Notes in Computer Science, vol. 1717, 1999
10 Op cit, Bernstein
11 Ponnath, A.; “Difficulties in the Implementation of Quantum Computers,” 2006, http://arxiv.org/pdf/cs/0602096.pdf
12 Yan, S. Y.; Quantum Attacks on the Public-Key Cryptosystems, Springer, USA, 2013
13 Op cit, Bernstein
14 The Central Scrutinizer, “Sony’s PS3 Security Is Epic Fail—Videos Within,” PSX-Scene Forum, 29 December 2010, http://psx-scene.com/forums/content/sony-s-ps3-security-epic-fail-videos-within-581/?s=68e141dc91333038e2223ee86e3c748f
15 Schneier, B.; “Did NSA Put a Secret Backdoor in New Encryption Standard?,” Schneier on Security blog, 15 November 2007, https://www.schneier.com/essays/archives/2007/11/did_nsa_put_a_secret.html
16 Schneier, B.; “The NSA Is Breaking Most Encryption on the Internet,” Schneier on Securityblog, 5 September 2013, https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html#c1675929
17 Menn, J.; “Exclusive: Secret Contract Tied NSA and Security Industry Pioneer,” Reuters, 20 December 2013, www.reuters.com/article/2013/12/20/us-usa-security-rsa-idUSBRE9BJ1C220131220
18 Hales, C.; “The NSA Back Door to NIST,” Notices of the AMS, vol. 61, no. 2, www.ams.org/notices/201402/rnoti-p190.pdf
19 Douligeris, C.; D. N. Serpanos; “Network Security: Current Status and Future Directions,” IEEE, 2007
20 Certicom, “Certicom Announces Elliptic Curve Cryptography Challenge Winner,” 27 April 2004, https://www.certicom.com/news-releases/300-solution-required-team-of-mathematicians-2600-computers-and-17-months-
21 Bos, J.; M. Kaigara; et al.; “PlayStation 3 Computing Breaks 2^60 Barrier 112-bit Prime ECDLP Solved,” Laboratory for Cryptological Algorithms, 25 November 2015, http://lacal.epfl.ch/112bit_prime
22 Bos, J.; M. Kaigara; et al.; “On the Security of 1024-bit RSA and 160-bit Elliptic Curve Cryptography,” Microsoft Research, 1 September 2009
23 Koblitz, A. H.; N. Koblitz; A. Menezes; “Elliptic Curve Cryptography: The Serpentine Course of a Paradigm Shift,” Journal of Number Theory, vol. 131, iss. 8, 2011, p. 781-814 www.sciencedirect.com/science/article/pii/S0022314X09000481

Veronika Stolbikova
Actualmente trabaja como directora de análisis de infraestructura en Quintiles(gestión del riesgo de seguridad de la información). Sus áreas de interés incluyen la postura de seguridad y evaluaciones de la vulnerabilidad, la gestión de riesgos de seguridad, el desarrollo seguro, y criptografía.