Protegiendo Internet en la Era Cuántica – Parte 1
19/09/2024
Por Pablo Casal – Cofundador y CEO en Netlabs
Introducción
Una de las primeras preguntas que surgen cuando se empieza a hablar de computadoras cuánticas podría ser esta: ¿Es verdad que se va a terminar la seguridad en Internet? Si bien la respuesta rápida es: no, resulta difícil dar una respuesta simple y limpia. (a esta pregunta). Sin embargo, está claro de dónde surge la inquietud. En 1994 el matemático estadounidense Peter Shor demostró que su algoritmo para computadoras cuánticas podría factorizar números enteros en tiempo polinómico.
Si bien las computadoras clásicas tienen una gran capacidad de procesamiento y cómputo, existen algunos problemas que resultan inabarcables para éstas, como por ejemplo la rápida factorización de un número enorme cualquiera. Muchos sistemas criptográficos hacen uso de esta dificultad para proteger la información más sensible de Internet, por ejemplo: nuestras cuentas bancarias.
Y aunque hoy las computadoras cuánticas sean poco más que un juguete, es muy probable que llegue el día cuando tengan el tamaño y la estabilidad suficiente para lograrlo.
Si bien una computadora cuántica del tamaño y estabilidad necesaria está entre 10 y 30 años en el futuro, lo cierto es que ya se ha comenzado a trabajar en alternativas a los algoritmos tradicionales, se llaman algoritmos Post Cuánticos (PQ), de forma de estar adecuadamente preparados para este futuro. Uno de los organismos que está liderando la estandarización de estos algoritmos PQ es el NIST (National Institute of Standards and Technology), el cual acaba de finalizar la ronda de standarización el 13 de agosto de 2024, hace solo 5 días. Los algoritmos ganadores son los derivados de CRYSTALS-Dilithium 🖖, CRYSTALS-KYBER y SPHINCS.
Para la interpretación de universos paralelos, el algoritmo de Shor funciona porque los elementos que modelan los estados cuánticos interfieren entre todos los universos para calcular todas las soluciones posibles simultáneamente – DALL-E
Descripción de las vulnerabilidades
El protocolo TLS (Transport Layer Security) es uno de los protocolos de seguridad más usados hoy en Internet.
Es la seguridad que existe detrás del candadito de cada página web segura que se navega.
TLS protege cada intercambio de información entre los servidores y sus usuarios. Si bien es muy seguro en el contexto actual, dominado por computadoras clásicas, la encripción asimétrica en TLS es vulnerable a ataques de futuras computadoras cuánticas.
Tanto RSA, como ECDH (Diffie-Hellman con curvas elípticas), que son algunos de los algoritmos encargados de establecer la clave maestra, de la cual deriva entre otras la clave de cifrado simétrico, serían vulnerables al algoritmo de Shor corriendo en una computadora cuántica suficientemente grande y estable. Lo mismo sucede en la fase de autenticación, ya sea del servidor como del cliente, cuando cada uno prueba su identidad al otro, utilizando PKI (infraestructura de clave pública), lo cual hoy involucra algoritmos de firma como RSA o ECDSA.
La criptografía simétrica, (el algoritmo que se usa para cifrar la comunicación en TLS, una vez que las partes se autentican con sus firmas digitales y negocian la clave de cifrado simétrico) se mantiene relativamente indemne pese al algoritmo cuántico de Lov Grover, que en 1996 demostró que podría encontrar una solución de fuerza bruta a la clave simétrica en un orden cuadráticamente inferior. Orden raiz cuadrada de N. Es decir, una clave de 256 bits se podría vulnerar en aproximadamente 2 a las 128 iteraciones. Con lo cual la solución para mantener la seguridad en la encripción simétrica sería simplemente incrementar el tamaño de la clave de AES o SHA-2.
DALL-E
Primer enfoque práctico al desafío
Saliendo un poco de lo puramente teórico, si se hace un análisis más práctico de cuáles serían las medidas concretas y tecnológicas a tomar para transicionar hacia esta nueva realidad, probablemente se encuentre lo siguiente:
De alguna forma se requieren nuevos algoritmos PQ que sean cuánticamente resistentes, especialmente a la autenticación y a la negociación de clave. Los certificados en sí no son vulnerables y bien podrían seguirse usando los X.509 y el protocolo TLS. En principio solo se deberían cambiar los algoritmos de encripción asimétrica.
El NIST y otros esfuerzos comunitarios, están trabajando en estandarizar estos algoritmos cuánticamente resistentes, lo cual habilitaría en el futuro cercano el tener certificados que los utilicen. Estos se llamarán Certificados Cuánticamente Resistentes.
Un concepto con el cual cada vez conviene más familiarizarse es el de cripto-agilidad. Una infraestructura se considera cripto-ágil si existe un conocimiento o catálogo que detalle cuáles son los componentes criptográficos utilizados, si sus algoritmos de cifrado pueden ser sustituidos fácilmente y si este proceso de sustitución está al menos parcialmente automatizado.
La dificultad se plantea cuando se empieza a estimar el esfuerzo de migración que representaría mover toda la estructura actual de Internet a este nuevo formato de Certificados Cuánticamente Resistentes. ¿Cómo se haría? ¿Durante una semana se apagaría todo Internet, se migrarán todos los certificados y luego se encenderá todo? ¿Y qué pasaría si la mitad de los sistemas no logran conectarse entre sí debido a errores cometidos?
¿Y si luego de volver a encender todo, la mitad de las páginas web y servicios no funcionarán?
En principio parecería que este mecanismo de “Big Bang” no sería el ideal. No parece posible cambiar toda la infraestructura de seguridad de Internet, que llevó más de 25 años construir, de un día para el otro. Sin embargo, está claro que cuanto más cripto-ágil sea la infraestructura, más sencilla y confiable resultará esta transición.
En cierto modo es similar a la situación que se ha vivido y se sigue viviendo con IPv4
La migración hacia IPv6 no fue de un día para el otro, es una migración que hasta el día de hoy se sigue llevando a cabo y se seguirá llevado a cabo probablemente en el futuro.
Al igual que con la migración a IPv6, la solución parece venir por soportar ambos stacks. Hoy en día un sistema operativo es capaz de aceptar una conexión IPv4 al igual que una IPv6, por eso no importa si el que inicia la conexión soporta solo IPv4 o solo IPv6. Siempre va a poder conectarse al servidor.
De la misma forma, sería conveniente contar con un escenario de transición temporal a nivel de certificados y seguridad en Internet; donde para conectarse a un servidor remoto, el utilizar o no algoritmos PQ, no fuese un determinante crítico. Si estos algoritmos PQ estuvieran soportados en el cliente, al igual que en el servidor, sería posible conectarse a un servicio o página web en forma cuánticamente resistente y segura. De lo contrario, igualmente la conexión también sería posible, pero utilizando los algoritmos tradicionales y cuánticamente vulnerables, lo cual probablemente (y convenientemente) debería generar una advertencia.
Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.