Por Juan Antonio Estévez Linkedin

  • Perimetral Security Specialist at Telefónica Tech
  • Alumno de la 9ª edición del Máster en Ciberseguridad del Campus Internacional de Ciberseguridad.
Juan Antonio Estévez
Juan Antonio Estévez

Por Juan Antonio Estévez Linkedin

  • Perimetral Security Specialist at Telefónica Tech
  • Alumno de la 9ª edición del Máster en Ciberseguridad del Campus Internacional de Ciberseguridad.

Seguro que, alguno de vosotros ha escuchado que, con la computación cuántica, se pondría en peligro la criptografía tal y como hoy la conocemos, y en parte es cierto, pues el algoritmo de Shor es capaz de factorizar números primos en un tiempo aproximado en el peor de los casos de O(Log(n)), por lo que se podrían usar ataques de fuerza bruta de forma eficiente computacional y temporalmente hablando.

Criptografía cuántica ¿Solución o amenaza?

Al igual que en la computación que hoy día conocemos, en la computación cuántica se están desarrollando algoritmos y protocolos criptográficos; en concreto, haré una aportación sobre el cifrado de envío de datos BB84.

Pero antes de hablar de cifrados y/o protocolos criptográficos cuánticos, hay que tener en cuenta varios aspectos:

  • Lo fundamental, es que una vez que un cúbit está entrelazado con otro, si nosotros observamos alguno de los cúbits entrelazados, automáticamente colapsará a un estado clásico (0 ó 1), y hará que todos los cúbits entrelazados con ese cúbits, colapsen a sus respectivos estados clásicos.
  • Para realizar un envío cuántico de una clave, se necesita un emisor, un receptor y dos canales de comunicación; uno de envío y otro de recepción. El envío, se realizará a través de un canal cuántico, y la recepción, a través de un canal clásico. Además, se añadirá, la figura de un tercer sujeto que interceptará la comunicación. Se hará uso de dos posibles alfabetos para el cifrado de la clave.

En este caso, podríamos decir que el cifrado BB84, es un cifrado de sustitución, ya que crea una correspondencia entre el alfabeto usado como mensaje original, que serían bits cuánticos, y el alfabeto de codificación del mensaje, que sería un alfabeto basado en la polarización de fotones, que es el mismo principio que el usado para polarizar gafas de sol, pero aplicado a fotones y no a la luz solar, y también sería polia-lfabético, ya que a la hora de crear la clave, se pueden usar dos combinaciones diferentes de alfabeto una formando una cuadrícula de polarización en horizontal y vertical en un ángulo de 90 grados entre ellas (alfabeto A o |0ñ |1ñ), y otro alfabeto donde la cuadrícula de polarización está formada en diagonal, formando 45 y 135 grados entre ellas (alfabeto B o |0ñ + |1ñ, |0ñ – |1ñ) Se puede observar en la imagen 1 .

criptografía cuántica

Además, debemos saber que los protocolos criptográficos cuánticos se basan en la idea principal de que, si la comunicación es interceptada en un canal cuántico, el receptor automáticamente sabrá que el canal no es seguro y se interrumpirá la comunicación. Por el contrario, si la comunicación es interceptada en el canal clásico, no habría problemas, ya que por el canal clásico solo se envía información referente a un código de errores. Salvando las distancias, tener acceso al canal clásico sería como tener acceso a la clave pública del emisor o del receptor del mensaje, y el envío por el canal clásico se efectúa tras haber finalizado la comunicación por el canal cuántico así que sólo tendría una pequeña parte de toda la información, con la que no podría hacer mucho.

Una vez tenidas en cuenta estas nociones, pasamos a explicar el protocolo BB84.

Protocolo BB84

Ha sido creado por Cilles Brassard, quién también ha desarrollado el protocolo B92, que es una modificación del BB84 más débil a ataques. Este protocolo usa la polarización de fotones para crear una transmisión de información segura.

El funcionamiento es el siguiente:

  • Como clave de encriptación, se utilizan los dos alfabetos cuánticos.
  • El emisor envía mediante un canal cuántico, cada uno de los cúbits al receptor, de uno en uno y para cifrar la información, usa un alfabeto diferente aleatorio en cada envío de cúbits. El receptor realizar una confirmación por cada cúbit recibido.
  • Una vez el receptor recibe todo el mensaje, cierra el canal de comunicación cuántico.
  • Cuando el canal cuántico se ha cerrado, comienza la fase de descifrar el mensaje. Para ello, el receptor realiza una medida de los cúbits utilizando de manera aleatoria los dos alfabetos cuánticos, ya que el receptor no sabe cómo se ha codificado el mensaje. Una vez que el receptor mide el mensaje, los cúbits colapsan a sus correspondientes bits clásicos.
  • Mediante un canal clásico, se crea una nueva comunicación en sentido inverso. El receptor envía al emisor el tipo de alfabeto que ha usado para decodificar cada cúbit, y el emisor devuelve (en caso de error), la posición en la que se encuentra el bit erróneo.
  • Emisor y receptor descartan los bits erróneos. Una vez descartados, el emisor puede decidir si abrir una nueva comunicación cuántica para enviar de nuevo los cúbits erróneos o no es necesario.

En la imagen 2 se observa un ejemplo de envío y recepción de datos usando el protocolo BB84. En la primera fila, Mensaje, se detalla el mensaje que enviará el emisor al receptor. Acto seguido, cada envío, lleva asociado un alfabeto aleatorio. En el caso del ejemplo, el alfabeto se detalla en la fila Alfabeto Emisor. El alfabeto utilizado, tiene un cifrado y una polarización específica para cada bit que se quiere enviar, que están detallados en las columnas Codificación y Polarización.

protocolo BB84

Cada bit enviado, es recibido por el receptor que utiliza su propio criterio para elegir el alfabeto con el que quiere descodificar el mensaje. Este alfabeto se detalla en la columna Alfabeto Receptor y gracias a ese criterio, el receptor recibe un resultado, el cual se define en la columna Resultado. Por último, se realiza una comprobación para saber si el mensaje original es igual al mensaje recibido, para poder reenviar los bits erróneos. Para ello se utiliza la columna Reconciliación de errores.

En el caso de que hubiese un observador no deseado en ambos canales podría ocurrir que:

  • Si el observador intercepta una comunicación en el canal cuántico, solo interceptará un cúbit, el cual al interceptarlo colapsará a un bit clásico y eso hará que el receptor sepa que el canal no es seguro, y, por tanto, cancele la transmisión.
  • Si el observador intercepta una comunicación en el canal clásico, podrá interceptar sin ser descubierto el alfabeto que ha usado el receptor para decodificar cada uno de los cúbits enviados, y la posición de los bits erróneos. Pero no tendrá ningún mensaje para poder utilizar la información obtenida.

Para poder hacer un ataque al protocolo BB84, se necesita realizar un ataque de Interceptación y reenvío de cúbits. Básicamente este ataque sería la versión cuántica del ataque MITM. En ella el observador intercepta un cúbit, lo mide, guarda el resultado obtenido y reenvía al emisor un cúbit al receptor. Este cúbit el receptor lo recibirá, enviará su correspondiente confirmación de envío y posteriormente medirá. Como es un bit que, con una alta probabilidad, es erróneo, el emisor y el receptor lo descartarán, pero ambos creerán que ha sido un error debido a la decodificación usando un alfabeto diferente.

Si se interceptan y reenvían muchos cúbits, se puede llegar a obtener gran parte de la información, o inclusive completa si el emisor vuelve a reenviar los cúbits erróneos.

¿Quieres obtener el mismo conocimiento que Juan Antonio?

APRENDE MÁS CON EL MÁSTER EN CIBERSEGURIDAD

Comparte este post