¿Terminará la carrera armamentista de la criptografía?

Me gustaría añadir a la respuesta de Tony Spataro, mencionando varios factores de la carrera armamentista criptográfica.

Velocidad computacional . Si se tratara simplemente de mantenerse al día con la fuerza bruta y la ley de Moore, la carrera armamentista sería simple. Muchos sistemas ya son lo suficientemente rápidos y seguros (contra los ataques de hoy) que pueden resistir la fuerza bruta mediante la tecnología informática previsible (Bruce Schneier: “… los ataques de fuerza bruta contra claves de 256 bits serán inviables hasta que las computadoras se construyan a partir de otra cosa que la materia y ocupar algo diferente al espacio “).

Incluso cuando el cifrado en este nivel sería demasiado lento, es relativamente fácil analizar cuándo los ataques conocidos contra un cifrado serán prácticos para varios adversarios, y puede dimensionar su cifrado en consecuencia. Por ejemplo, he usado criptografía de curva elíptica de 127 bits en un proyecto donde la clave necesitaba sobrevivir durante horas contra un Joe promedio, pero un ataque llevaría semanas en un clúster de tamaño mediano. Al final, esta compensación favorece al defensor, porque el tiempo requerido para ejecutar criptografía crece lentamente, pero el tiempo requerido para romperlo crece rápidamente.

Editar : Nota bene, como señaló Tony, la longitud y la intensidad de la clave son diferentes y dependen del sistema. La cita de Schneier habla de agotar todas las claves en un espacio de claves de 256 bits, lo que calificaría como un ataque de “fuerza bruta” en AES-256. Pero un ataque de fuerza bruta contra AES-128 probablemente no será factible durante algunas décadas al menos. Las claves de curva elíptica son tan fuertes como la mitad de la longitud de su clave, por lo que mi diseño ECC de 127 bits es tan débil como lo sería una clave AES de 64 bits, si AES admitiera claves tan débiles. Estos ataques son exponencialmente lentos: 64 bits son semanas en un clúster, 128 está fuera del alcance durante décadas, 256 está fuera del alcance de las computadoras convencionales para siempre.

Ataques que no rompen la criptografía . Los errores de software seguirán existiendo por un tiempo y probablemente nunca se eliminen por completo (aunque ¿quién sabe?). El software circundante suele ser mucho más débil que las matemáticas de la criptografía. Y siempre hay mangueras de goma. Pero esto no es realmente una característica de la carrera de armas de cifrado en sí.

Ataques de canal lateral. Los ataques como el análisis de tiempo, el análisis de potencia y los ataques físicos pueden romper cifras que serían matemáticamente impenetrables. Este es un problema físico y no puede resolverse perfectamente; por ahora parece que este aspecto de la carrera armamentista puede continuar en el futuro cercano. Sin embargo, estos ataques solo funcionan si el atacante tiene acceso al canal, por ejemplo, si le roba el teléfono.

Avances matemáticos . Estos son difíciles de predecir. Por lo que sabe la comunidad criptográfica, podría publicarse una ruptura total de AES mañana … o podría ser imposible, incluso en teoría, hacerlo más rápido que la fuerza bruta (por cierto, el “ataque” biclique cuenta como fuerza bruta). Esta parte de la carrera armamentista podría terminar en cualquier dirección, pero generalmente se considera más probable que favorezca a los defensores a largo plazo.

Computación cuántica. Este es un gran comodín. Es posible que no sea posible, o podría romper todos los sistemas de clave pública implementados actualmente en una década o dos. También está menos estudiado que la informática convencional, dejando más espacio para avances matemáticos. Hay algunos sistemas que se conocen ahora que tienen una posibilidad contra la computación cuántica, pero no se sabe cuánta posibilidad, y los sistemas son bastante lentos.

Editar : algunos de los sistemas cuánticos resistentes son rápidos, pero tienen grandes claves públicas.

Tony Spataro hace un gran punto con respecto al tamaño de claves frente al espacio de claves y las implementaciones de dichos algoritmos dependiendo de su hardware. Esta “Complejidad Algorítmica” es el primer componente de la carrera armamentista de criptografía.

El segundo componente es la mitad posterior de su respuesta, que es la potencia informática y las implementaciones de hardware disponibles para procesar estos algoritmos.

El estado actual del hardware informático se está acercando a un límite a medida que estamos llegando al final de la ley de Moore. En pocas palabras, el proceso de fabricación para crear transistores está llegando a su límite físico. Hemos hecho transistores tan pequeños que se está haciendo físicamente imposible continuar con nuestra tasa actual de crecimiento. La Hoja de ruta internacional para semiconductores tiene una desaceleración del crecimiento hasta alrededor de 2013, momento en el que el recuento y la densidad de transistores comenzarán a duplicarse cada 3 años, en lugar de cada 2 [1]. El propio Moore dijo que esta ley no podría durar para siempre. [2]

(Nota rápida: estoy simplificando demasiado, pero solo vaya conmigo y suponga que la velocidad de procesamiento y otras capacidades están estrechamente relacionadas con esto)

En mi opinión, lo que esto significa para la carrera armamentista de la criptografía es que a medida que nuestra potencia informática comience a disminuir, alcanzaremos un “equilibrio práctico” para la criptografía donde nuestros algoritmos son adecuados dada la cantidad de potencia informática disponible hoy y la trayectoria prevista de informática en el futuro cercano.

Como dijo David K. Hess, el comodín aquí es un gran avance en la informática que nos permitiría aumentar nuestra potencia computacional, a través de la computación cuántica o cualquier avance importante que se presente a continuación.

[1] http://www.itrs.net/Links/2010IT
[2] http://news.techworld.com/operat

Tenga cuidado de no confundir la longitud de la clave con la seguridad. Para comprender cuán seguras son nuestras claves criptográficas; debemos considerar qué significan esas claves * en términos de los algoritmos subyacentes y cómo se implementan esos algoritmos en el hardware de la computadora moderna.

Consideremos el criptosistema RSA cuando se usa con un módulo de 1024 bits. En términos simples, este sistema de cifrado utiliza claves de 1024 bits. ¿Qué significa esto exactamente? Significa que una clave pública es un entero de 1024 bits, que es el producto de dos números primos grandes de aproximadamente 512 bits cada uno. Por lo tanto, factorizar el número por fuerza bruta requeriría aproximadamente 2 ^ 512 operaciones. Sin embargo, los teóricos de los números han creado algoritmos más rápidos que pueden resolver el problema en aproximadamente 2 ^ 80 operaciones. Es decir, su clave RSA de 1024 bits requiere menos operaciones para descifrar que una clave AES de 128 bits.

RSA está ampliamente implementado, revisado por pares, puede usarse tanto para la firma digital como para el cifrado, y ahora no está sujeto a patentes, todo lo cual lo convierte en la primera opción natural para las personas que desean implementar criptografía asimétrica. Sin embargo, RSA no es el * único * sistema de cifrado disponible; Si sale a la luz alguna debilidad importante, el mundo de la informática migrará a una solución diferente, que estará respaldada por matemáticas radicalmente diferentes.

Por ejemplo, la criptografía de curva elíptica (ECC) se basa en la estructura algebraica de curvas elípticas sobre campos finitos. Una clave pública en ECC es similar a un punto en el plano 2D a lo largo de una curva particular. Como tal, la dificultad de ruptura de ECC es diferente de la de RSA, incluso para la misma longitud de clave. Contra los ataques de hoy, una clave de curva elíptica de 160 bits es casi tan fuerte como una clave RSA de 1024 bits.

La “carrera armamentista” continuará, pero la realidad de la situación es mucho más matizada que una simple comparación de quién es la clave más grande. Además, la criptografía débil es MUY rara vez la causa de una violación de la computadora; la mayoría de las infracciones tienen causas bastante más prosaicas: los errores de software simples, las contraseñas débiles, los usuarios crédulos o las fallas de seguridad física son los culpables con mucha más frecuencia.

Si se encuentra utilizando aplicaciones que incorporan criptografía, haría bien en obtener una comprensión básica de los algoritmos subyacentes y mantenerse al tanto de los desarrollos en el campo.

Si te encuentras CREANDO aplicaciones que usan criptografía, detente de inmediato. Vaya a comprar una copia de Cryptography Engineering (Ferguson, Schneier, et al; 2010) y déjese iluminar. Para resumir, la mejor manera de ganar la carrera armamentista es diseñar sus sistemas de manera que pueda conectar algoritmos más fuertes y claves más grandes con una interrupción mínima.

No podemos decir qué deparará el futuro; Lo mejor que podemos hacer es utilizar y crear software teniendo en cuenta esa limitación.

La carrera armamentista no es tan simple como eso. La razón es que la relación entre las longitudes de las teclas y la dificultad de romperlas es exponencial.

En otras palabras, cuando pasas de 4096 a 16384 has aumentado la clave en 16384 – 4096 = 12288 bits. Sin embargo, la clave es en realidad 2 ^ 12288 bits más difícil de romper.

Ninguna técnica existente para romper teclas puede escalar exponencialmente de esa manera. Entonces, la carrera armamentista (en este caso) se gana trivialmente al aumentar el tamaño de las llaves.

El único comodín en todo esto es la computación cuántica. Las computadoras cuánticas teóricamente pueden trabajar y resolver problemas exponencialmente difíciles. Todavía no son factibles, pero son algo a tener en cuenta.