La portada de mañana
Acceder
El rey pide a los políticos “serenidad” para rebajar “el ruido de fondo"
'Sor Collina', la monja que ejercía de enlace entre los presos y la mafia calabresa
OPINIÓN | 'El rey se hace un selfie en el barro', por Isaac Rosa

Al RSA se le caduca el carné joven: el más común de los sistemas de cifrado ya no es tan seguro como antes

Están en todas partes. Tal vez las siglas RSA no te suenen de nada, pero forman parte de tu día a día: cuando realizas operaciones bancarias a través de internet, cuando firmas digitalmente o usas tu DNI electrónico, cuando empleas según que 'apps' para comunicarte... Ahí está este algoritmo de cifrado, uno de los más comunes, enmascarando la información que se transmite. Digamos que es el ángel guardián de tu identidad, tus datos y hasta de los ahorros que, cual hormiguita, has ido almacenando en tu cuenta corriente.

Luego te explicaremos por qué, pero quédate con esta copla: a pesar de ser antiguo y muy sencillo, RSA sigue siendo, a día de hoy, un algoritmo bastante seguro. Lo que pasa es que ya tiene 36 añitos y, como dice el profesor Jorge Ramió, “se le ha caducado el carné joven”. Vamos, que empieza a sufrir los primeros achaques... Por eso, a su edad, si quiere seguir en activo, no va a tener más remedio que reciclarse.

En esto entraremos después con más detalle, pero antes vamos a repasar cómo funciona RSA y por qué hasta ahora ha resistido bien el paso del tiempo. Lo haremos con la ayuda de Ramió, experto en criptografía, que ha sido el encargado de explicar estas cuestiones a los asistentes del congreso de seguridad Rooted CON, en el que HojaDeRouter.com participa como medio colaborador.

Fácil, sencillo y para toda la familia

RSA es el representante más ilustre de lo que conocemos como criptografía asimétrica o de clave pública. Esto quiere decir que, a la hora de enviar un mensaje, cada uno de vosotros tiene dos claves: una que todo el mundo conoce (la pública) y otra que solo conoces tú (la privada). La segunda debes ponerla a buen recaudo y la primera la puedes compartir con cualquiera. Vamos a poner un ejemplo.

Edward Snowden se ha metido en un lío y quiere enviar un mensaje a Julian Assange para que acuda presto en su ayuda. Así que Snowden redacta el mensaje, lo cifra con la clave pública de Assange y lo envía a través de internet, que es por defecto un canal hostil e inseguro (imagina la cantidad de gente que podría querer leer ese mensaje). Assange lo recibe y lo descifra con su clave privada.

Lo hemos simplificado mucho, pero en realidad es un poco más complejo: ambos utilizan un algoritmo simétrico (tipo AES) para cifrar el mensaje y es la clave para abrirlo lo que se transmite mediante un algoritmo asimétrico (como RSA). Pero lo importante es que te quedes con esto: si alguien interceptara ese mensaje, como no tiene la clave privada de Julian, tendría que hacer unas operaciones matemáticas muy complejas para poder leerlo.

Básicamente, tendría que encontrar los números primos que se han multiplicado para dar lugar a la clave RSA de Julian. En matemáticas, eso se llama factorizar (descomponer en factores). ¿Y podría hacerlo? Sí, pero la dificultad depende del tamaño del número. Si es relativamente pequeño (una clave RSA de menos de 800 bits) podría ser viable; pero si es muy grande (claves de 1024, 2048 o 4096 bits) es prácticamente imposible. Necesitaría varios millones de ordenadores trabajando a la vez durante miles de años. Para entonces, el mensaje no tendría ya valor alguno.

Cada vez que el tamaño de la clave aumenta un bit, el tiempo necesario para atacarla se multiplica, como mínimo, por dos. Por eso RSA, que ha ido incrementado el tamaño de su clave, ha sido un sistema criptográfico seguro durante más de treinta años. Hay formas de atacarlo, sí, pero solo tienen valor teórico. A la hora de la verdad, si la clave es suficientemente larga, el atacante tardará una eternidad en descifrarla.

Entonces, ¿RSA sigue siendo seguro?

Sigamos indagando en el funcionamiento de este algoritmo de cifrado. Ten en cuenta una cosa: cuando pensamos en números, a todos se nos pasa por la cabeza el sistema decimal (1,2,3,4,5,6...), pero los ordenadores – ya lo sabes – trabajan con ceros y unos. Y cuando el procesador opera con estos ceros y unos lo hace en forma de señales eléctricas que hacen que, al moverse, algunos de los componentes electrónicos del PC emitan cierto sonido. ¿Y sabes qué? Los unos y los ceros 'suenan' de forma diferente, porque las operaciones con unos son más lentas y consumen más energía que las operaciones con ceros.

El caso es que a un equipo de tres investigadores, entre los que se cuenta Adi Shamir (la 'S' de RSA), se les ha ocurrido una forma de romper el cifrado en base a estos sonidos. Como es imposible echar las cuentas en un tiempo razonable, han usado un micrófono parabólico y técnicas de criptoanálisis acústico para deducir la clave privada a partir del ruido que hace el ordenador cuando descifra un mensaje. Para que lo entiendas: si dura un poco más, es un 1; si dura un poco menos, es un 0. Básicamente es auscultar el corazón de la máquina para ver si late rápido o despacio.

Como hemos visto, los ataques informáticos sobre RSA son básicamente impracticables cuando los números son de gran tamaño, pero este otro tipo de amenazas - que se conocen como ataques de canal lateral - son mucho más preocupantes. Al menos por tres razones: 1) porque da igual lo larga que sea la clave, 2) porque igual que se pueden usar contra RSA podrían usarse, potencialmente, contra otros algoritmos similares (Elgamal, Diffie-Hellman) y 3) porque las señales eléctricas se pueden captar con un micrófono, pero también se pueden obtener de otras fuentes: la toma de corriente de la pared, el extremo de un cable de Red o, simplemente, tocando el ordenador.

Incluso podría ser peor. A día de hoy es necesario estar cerca del ordenador para 'adivinar' la clave - o al menos colocar un móvil con un buen micrófono a su lado -, pero el día de mañana, según Jorge Ramió, podrían desarrollar un troyano (u otro tipo de 'malware') que obtuviera la información de forma remota y se la mandara al atacante.

¿Y eso no hay forma de solucionarlo?[/do]

Sí, hay forma de solucionarlo. De hecho, hay varias, porque el problema no es del algoritmo en sí y puede solventarse modificando su implementación. Por ejemplo, está lo que se conoce como ataque Tempest, que consiste en introducir ruido blanco en el descifrado para que nadie pueda averiguar la clave 'escuchando' las señales eléctricas. Ya lo están haciendo algunos programas de correo seguro.

Y, por supuesto, está la seguridad física: no dejes que nadie se acerque a tu ordenador y, si lo que estás haciendo es verdaderamente importante, anula las emanaciones electromagnéticas de tu máquina con una jaula de Faraday.

Por lo demás, estás en manos de los expertos. ¿Sabes lo bueno? Que entre los investigadores que han roto RSA están su propio 'padre' y otros dos gurús de la seguridad informática muy respetables, que no tienen intención alguna de fastidiarte. De hecho, su objetivo es protegerte. Ahora su misión es correr más que los 'malos', que al fin y al cabo es lo mismo que hacían antes, cuando pisaban el acelerador aumentando el tamaño de las claves del algoritmo RSA.