TECNOLOGÍA

La criptografía es segura… ¿Hasta qué punto?

seguridad en las contraseñas

¿Qué es la criptografía?

Hoy en día todos visitamos internet, colgamos fotos en redes sociales, ingresamos contraseñas en el banco… todo esto sin preocuparnos qué sucede realmente con esta contraseña o como viaja esta información. La realidad es que esto viaja encriptado, pero… ¿esta encriptación es 100% segura? En este artículo vamos a intentar dar respuesta a esta pregunta, y vamos a ver que actualmente es segura, pero quizás no por mucho tiempo más.

Para empezar, la criptografía es la ciencia que se utiliza para encriptar datos que introduce el usuario o viajan por internet con la finalidad de que una tercera persona no pueda ver su contenido.

Así, podemos envíar cualquier tipo de información que el navegador la va a encriptar y nadie la va a poder desencriptar para ver su contenido. Seguro que alguna vez nos hemos fijado en el candadito que hay al lado de la dirección web que introducimos en el navegador (verde significa encriptado, rojo significa peligroso, entre otros), o seguro que también nos hemos fijado en la palabra https de la dirección web, como por ejemplo https://www.google.com. Estos dos ejemplos son producto de este cifrado que se aplica a cualquier información que viaja en la red. Para este cifrado, a lo largo de la historia, se han diseñado distintos algoritmos. Hoy en día el más usado es el llamado algoritmo RSA.

Algoritmo RSA

El algoritmo RSA es un sistema criptográfico de clave pública o asimétrico, en el que emisor y receptor (como pueden ser el usuario y el banco) hacen un intercambio de claves para poder encriptar la información.

Estas claves las genera automáticamente el protocolo de cifrado del mismo navegador, mediante operaciones matemáticas muy complejas. En la generación de estas claves, el emisor y el receptor no realizan nada. El emisor enviará esa información que el navegador la va a encriptar mediante la clave pública que se le ha generado al receptor y solo la va a poder desencriptar el receptor que tenga la clave privada asociada a la clave pública. Para ilustrarlo, vamos a poner un ejemplo:

algoritmo RSA

Ana quiere mandarle una información a David. Para ello, Ana tiene una clave pública y otra clave privada, igual que David, que tiene las suyas.

  1. Ana redacta un mensaje.
  2. Encripta este mensaje con la clave pública de David, que solo lo podrá desencriptar mediante su clave privada.
  3. Ana envía el mensaje encriptado a David. Este mensaje, un intruso lo va a poder ver encriptado, pero si lo quiere desencriptar, va a necesitar la clave privada de David.
  4.  Cuando David recibe el mensaje de Ana, lo desencripta mediante su clave privada.
  5.  Solo y exclusivamente David puede leer el mensaje.

Todo este procedimiento queda muy bonito, pero ¿es realmente seguro bajo ningún concepto? ¿Nadie puede generar mi clave privada y leer el mensaje?

La primera respuesta es no, pero la segunda es afirmativa. Realmente estas claves públicas y claves privadas se generan mediante operaciones matemáticas que sean muy costosas de calcular. ¿Cuánto tiempo nos llevaría calcular la clave privada de David? Se necesitaría alrededor de 2 años usando cientos de ordenadores de los más potentes que existen. Así, podemos decir que es imposible que alguien desencripte nuestra contraseña, debido al alto coste que supone esto.

Solucionada una pregunta se abre otra… ¿Y si algún día tenemos un ordenador capaz de calcularla en un tiempo muy limitado?

Problema de la criptografía actual.

He aquí el problema. Cada vez está cobrando más fuerza la idea de los ordenadores cuánticos. Estos ordenadores trabajan con bits llamados qbits. A rasgos generales, pueden ser 0, 1 o ambos a la vez durante un breve periodo de tiempo. Por este motivo, durante este tiempo sabemos todos los valores que tiene el qbit (0 y 1) gastando solo el tiempo en calcular uno de los dos valores. Lo mismo sucederá si tenemos dos qbits, podremos saber todos los valores que adoptan estos qbits (4 valores) con el tiempo de calcular solo 2 qbits. Por la misma razón, si nuestra clave privada tiene 256 bits, podremos calcular todos los posibles valores que forman estos 256 bits, gastando solo el tiempo de calcular 256 bits, que apenas son segundos.

Todo esto puede parecer muy complicado. Sin embargo, con un ordenador cuántico que trabaja con qbits, podremos reducir notablemente el tiempo de calcular una clave privada. Será posible descifrar claves en un tiempo muy limitado. Esto abre las puertas a una nueva dimensión, la criptografía cuántica, que debe resolver el problema expuesto en este artículo. Este nuevo tipo de criptografía va a empezar a cobrar fuerza dentro de poco tiempo. En el siguiente artículo lo explicaremos más detalladamente.

Oriol Val | Ingeniero de Ciberseguridad en R3 CyberSecurity