Crypto is your wingman – Criptografía cuántica y un mundo sin espías

Bienvenidos de nuevo, sé que es probable que el título y la temática de la entrada no invite al lector a pasar un rato delante de la pantalla. Es más, es probable que mientras leéis estas palabras os invadan unas ganas terribles de cerrar la pestaña y sacar de vuestras cabezas lo antes posible la palabra criptografía. NO OS ASUSTÉIS. La criptografía puede ser un gran amigo, es más, la criptografía puede ser vuestro compañero de ligar, vuestro wingman.

Aunque no me considero matemático, llevo 5 años (y los que me quedan) disfrutando en cierta medida de ésta ciencia. Tras acompañarlo de informática, encontrar afición en la seguridad informática y teniendo en cuenta que 5 + 3 = 1, todo hace indicar que la criptografía es algo que me gusta. Podría hasta decir que me apasiona, pero eso sería darle un punto extra a las matemáticas que, hasta que no acabe la carrera, no se lo otorgaré.

En la entrada de hoy buscaremos entender cómo funciona la criptografía cuántica y por qué parece que será el futuro. La criptografía cuántica se lo pone difícil a las agencias de espionaje y a los cibercriminales.

Mientras que los sistemas de cifrado actuales son seguros porque el intruso que intenta leer la información solo puede hacerlo resolviendo problemas complejos, en la criptografía cuántica tendría que violar las leyes de la mecánica cuántica para leer la información.

«A día de hoy, ningún ataque puede romper las leyes de la física cuántica»

– Antonio Acín

Introducción


La criptografía cuántica es una nueva área dentro de la criptografía que hace uso de los principios de la física cuántica para transmitir información de forma tal que solo pueda ser accedida por el destinatario previsto.

Para poder llegar a explicar los detalles de la criptografía cuántica se necesitan establecer algunos conceptos básicos de criptografía y física cuántica que serán de ayuda para la comprensión del tema. Pero antes que nada se expone el problema que la criptografía cuántica intentará solucionar.

Comenzamos

El problema de Alice y Bob


Esto os resultar familiar a más de uno, se trata del esquema de comunicación entre dos personas cualesquiera, normalmente denotadas por Alice y Bob. En el dibujo de arriba se muestra el esquema de comunicación entre ellos a través de un canal inseguro, donde una tercera persona o posible atacante, que llamaremos Eve, trata de espiar la conversación.

La criptografía presenta varios métodos para evitar que si una comunicación es escuchada por terceras personas, éstas puedan comprender su contenido.

La criptografía cuántica provee una contribución única al campo de la criptografía. La criptografía cuántica provee un mecanismo que permite a las partes que se están comunicando entre sí a detectar automáticamente escuchas. En consecuencia, proporciona un medio para determinar cuando una comunicación encriptada ha sido comprometida, es decir si se está efectuando una escucha secreta y no autorizada sobre la misma.

A partir de de este momento se hará uso de los nombres Alice, Bob y Eve para referirse respectivamente al emisor, al receptor y a quien escucha secretamente los mensajes de una comunicación.

Clave pública vs Clave privada


Las técnicas de cifrado se suelen dividir en dos grupos: algoritmos de clave privada y algoritmos de clave pública. A los algoritmos de clave privada se los llama también algoritmos de cifrado simétricos o convencionales mientras que a los de clave pública también se los suelen denominar algoritmos antisimétricos.

Modelo de criptografía de clave privada

En el modelo convencional, el mensaje original que es comprensible se convierte en un mensaje que aparentemente es aleatorio y sin sentido. El proceso de cifrado consta de dos partes, un algoritmo y una clave. La clave es un valor que es independiente del texto o mensaje a cifrar. El algoritmo va a producir una salida diferente para el mismo texto de entrada dependiendo de la clave utilizada.

Una vez cifrado, el mensaje puede ser transmitido. El mensaje original puede ser recuperado a través de un algoritmo de descifrado y la clave usada para el cifrado.

Modelo de criptografía de clave pública

Los algoritmos de criptografía pública se basan en una clave para cifrar y una clave relacionada pero distinta para la descifrar. Estos algoritmos tienen la característica de que es computacionalmente imposible determinar la clave de descifrado (clave privada) a partir del algoritmo criptográfico y la clave de cifrado (clave pública).

Los pasos del proceso de cifrado con clave pública son los siguientes:

  • Cada sistema genera un par de claves para ser usadas en el cifrado y descifrado de los mensajes que envíen y reciban.
  • Cada sistema publica su clave de cifrado (clave pública). La clave de descifrado relacionada (clave privada) se mantiene en privado.
  • Si Alice desea enviar un mensaje a Bob, cifra el mensaje utilizando la clave pública de Bob.
  • Cuando Bob recibe un mensaje lo descifra usando su clave privada. Nadie puede descifrar el mensaje porque solo Bob conoce su clave privada.

¿Me seguís?

Principios básico de la criptografía cuántica


Como señalamos anteriormente, la criptografía cuántica se basa sobre el principio de incertidumbre de de Heisenberg, que nos dice que el proceso de medir en un sistema cuántico perturba dicho sistema. Veamos ahora como se puede aprovechar dicho principio para transmitir una clave en forma segura.

La criptografía cuántica hace uso de dos canales de comunicación entre los dos participantes. Un canal cuántico, el cual tiene un único sentido y que generalmente es una fibra óptica. El otro es un canal convencional, público y de dos vías, por ejemplo un sistema de comunicación por radio que puede ser escuchado por cualquiera que desee hacerlo.

Supongamos que Alice desea enviar una clave a Bob a través de un canal cuántico. El valor de cada bit es codificado dentro de una propiedad de un fotón, por ejemplo su polarización. La polarización de un fotón es la dirección de oscilación de su campo eléctrico. Esta polarización puede ser, por ejemplo, vertical, horizontal o diagonal (+45º y -45º).

Por ejemplo, Alice y Bob se ponen de acuerdo en que:

Un filtro puede ser utilizado para distinguir entre fotones verticales u horizontales. Otro filtro se utiliza para distinguir entre fotones diagonales (+45º y -45º). Cuando un fotón pasa por el filtro correcto, su polarización no cambia. En cambio cuando un fotón pasa a través de un filtro incorrecto, su polarización es modificada en forma aleatoria.

Por cada bit de la clave, Alice envía un fotón, cuya polarización es elegida de forma aleatoria. Las orientaciones seleccionadas son almacenadas por Alice.

Por cada fotón recibido, Bob elige de forma aleatoria cual filtro se va a utilizar y se registran el filtro seleccionado y el valor de la medición.

Una vez que se han intercambiado todos los fotones, Bob le revela a Alice a través de un canal convencional la secuencia de filtros que utilizo durante la transmisión de fotones. Luego Alice le dice a Bob en qué casos eligió el filtro correcto. En éste momento ambos saben en que casos sus bits deberían ser idénticos, es decir cuando Bob utilizó el filtro correcto. Estos bits formarán la clave final.

Si Eve intenta espiar la secuencia de fotones, al no conocer de antemano si la polarización del próximo fotón es diagonal o rectilínea, no podrá medirlo sin correr el riesgo de perturbarlo de tal forma que se introduzca un error.

Finalmente, Alice y Bob verifican el nivel de error de la clave final para validarla. Esto lo hacen haciendo públicos una cierta cantidad de bits. Si encuentran diferencias en sus bits, tienen una razón para sospechar que están siendo espiados y deberán descartar todos los datos y comenzar nuevamente el intercambio de fotones. Si coinciden y si se compararon una cantidad lo suficientemente grande de bits, pueden estar razonablemente seguros de que las partes que no han sido comparadas abiertamente en el canal inseguro son de hecho un secreto compartido y pueden conformar una clave secreta para ser utilizada en la transmisión de mensajes con significado. La transmisión de mensajes con significado se realiza sobre el canal público o inseguro utilizando cualquier método de clave privada que crean conveniente por ejemplo DES (Data Encryption Standard), Triple DES o AES (Advanced Encryption Standard).

Por el momento no existe un sistema con el cual se puedan mantener comunicaciones por un canal cuántico. Por lo tanto la aplicación de la criptografía cuántica se ve restringida a la distribución de claves. Sin embargo, la transmisión olvidadiza puede ser utilizada como base para construir algoritmos de Zero Knowledge proofs y bit commitment.

El algoritmo BB84

El esquema de codificación BB84 fue el primer codificador cuántico de información clásica en ser propuesto de forma tal que el receptor, legítimo o ilegitimo, pueda recuperar con 100% de confiabilidad. Esta es la base sobre la cual están fundados la mayoría de los protocolos cuánticos.

El ejemplo que se vio anteriormente en la introducción a la criptografía cuántica se basa en este algoritmo.

  1. La fuente de luz, generalmente un LED (Light emitting diode) o láser, es filtrada para producir un rayo polarizado en ráfagas cortas y con muy baja intensidad. La polarización en cada ráfaga es entonces modulado por el emisor (Alice) de forma aleatoria en uno de los cuatro estados (horizontal, vertical, circular-izquierdo o circular-derecho).
  2. El receptor, Bob, mide las polarizaciones de los fotones en una secuencia de bases aleatoria (rectilíneo o circular).
  3. Bob le dice públicamente al emisor que secuencia de bases utilizó.
  4. Alice le dice al receptor públicamente cuáles bases fueron elegidas correctamente.
  5. Alice y Bob descartan todas las observaciones en las que no se eligió la base correcta.
  6. Las observaciones son interpretadas usando un esquema binario por ejemplo: horizontal o circular-izquierdo es 0, vertical o circular-derecho es 1.

Ejemplo de transmisión SIN escuchas

Alice enviará una secuencia de 24 fotones. La probabilidad de que el detector de Bob Falle es del 40%.

Alice envía la siguiente secuencia de fotones:

Bob decide aleatoriamente si va a realizar una medición rectilínea o circular para cada fotón que Alice envié. La secuencia elegida es:

Por cada medición, existe una probabilidad del 0.4 (40%) de que el detector ni siquiera detecta el fotón. Los resultados de las mediciones son:

Luego, Bob le dice a Alice a través del canal público que tipo de mediciones (rectilínea o circular) ha logrado hacer exitosamente, pero no el valor de las mediciones.

Alice le dice a Bob, también por el canal público, cuales de las mediciones fueron del tipo correcto.

Como Bob solo va a hacer el mismo tipo de medición que Alice la mitad de las veces, y dado que la probabilidad de que el detector falle en leer un fotón es del 40%, se espera que unos 7.2 de los 24 dígitos compartidos sean utilizables. De hecho en éste ejemplo se generaron 8 dígitos utilizables.

En resumen:

Ejemplo de transmisión CON escuchas

Alice enviará una secuencia de 24 fotones. La probabilidad de que el detector de Bob Falle es del 40%.

Alice envía la siguiente secuencia de fotones:

Eve decide aleatoriamente si va a realizar una medición rectilínea o circular para cada fotón que Alice envié. La secuencia elegida es:

Por cada medición, existe una probabilidad del 0.4 (40%) de que el detector ni siquiera detecte el fotón. Los resultados de las mediciones de Eve son:

Bob decide aleatoriamente si va a realizar una medición rectilínea o circular para cada fotón que Alice envié. La secuencia elegida es:

Por cada medición, existe una probabilidad del 0.4 (40%) de que el detector ni siquiera detecte el fotón. Los resultados de las mediciones de Bob son:

Luego, Bob le dice a Alice a través del canal público que tipo de mediciones (rectilínea o circular) ha logrado hacer exitosamente, pero no el valor de las mediciones.

Alice le dice a Bob, también por el canal público, cuáles de las mediciones fueron del tipo correcto.

Como Bob solo va a hacer el mismo tipo de medición que Alice la mitad de las veces, y dado que la probabilidad de que el detector falle en leer un fotón es del 40%, se espera que unos 7.2 de los 24 dígitos compartidos sean utilizables. De hecho en éste ejemplo se generaron 6 dígitos utilizables.

Bob y Alice quieren saber si alguien ha estado escuchando su comunicación, para lo cual comparten el 50% de los dígitos compartidos. Se va a seleccionar una muestra al azar para que ningún espía pueda predecir que dígitos van a ser verificados y evite modificarlos.

Alice revela primero el 50% de sus dígitos:

Bob le indica a Alice cual es el valor que midió para los mismos dígitos

Como 2 de los 3 dígitos verificados son incorrectos, Alice y Bob saben que alguien estuvo escuchando su intercambio de fotones.

En resumen:

Seguridad de la criptografía cuántica y conclusiones


A diferencia de los métodos convencionales que basan su seguridad en principios matemáticos, la criptografía cuántica se basa en principios físicos. Ya que por las leyes de la física cuántica es imposible medir un estado cuántico de un sistema sin alterarlo y según los físicos nunca va a ser posible. Se cree que la criptografía cuántica es un criptosistema indestructible. Incluso existen al menos dos estudios independientes que afirman haber probado su seguridad definitiva, es decir una prueba de que los protocolos criptográficos cuánticos son inmunes a todas las estrategias de escucha.

Sin embargo hay que reconocer el principal inconveniente de la criptografía cuántica, no brindar ningún mecanismo de autentificación. No hay forma de saber si Alice y Bob están realmente comunicándose entre ellos, y no con un intermediario (Eve) haciéndose pasar por ambos. Por lo tanto antes de que Alice y Bob puedan iniciar el protocolo cuántico, deberán intercambiar sus claves de autentificación.

La principal ventaja de la criptografía cuántica es que a diferencia que en todos los métodos de criptografía convencionales, la seguridad de la criptografía cuántica no depende de la capacidad de cómputo del adversario sino que está garantizada en forma absoluta por las leyes de la física cuántica. Otra gran ventaja que brinda es su capacidad única para detectar escuchas. Y aunque aún quede mucho por hacer en materia de investigación hasta que sea un método aplicable a gran escala, la criptografía cuántica es un salto importantísimo en materia de seguridad.

Espero que hayan disfrutado de la entrada y no se les haya hecho muy pesado, espero sus dudas, recomendaciones o correcciones en los comentarios. Estoy pensando en realizar una serie de entradas (desde nivel bajo a nivel crear ransomware) sobre criptografía utilizando el lenguaje de programación (¡Como no!). Eso será más adelante.

De momento, quería abrir un poco el apetito y presentaros a vuestro nuevo compañero de ligue. Vuestro wingman. No os olvidéis del «Código de colegas», puede que os sea útil en un futuro.

Aquí me despido por hoy, espero que la próxima vez que nos veamos no hayan pasado 3-4 meses. Por mi parte, recordaros como siempre que podéis contactar conmigo vía twitter (@juanvelasc0) y si me quereis conocer algo más, podéis pillarme en los diferentes bares y restaurantes de vuestra zona (a veces hasta altas horas de la mañana) y por las diferentes CON’s y eventos que se realizan por España.

Como dato curioso, la suma del inicio de la entrada es correcta. ¿Alguien sabría decirme por qué?

Recuerdos para todos,

Juan Velasco

3 comentarios en «Crypto is your wingman – Criptografía cuántica y un mundo sin espías»

  1. Buenas, una duda;
    en el ultimo ejemplo, cuando Alice y Bob verifican el 50% de sus digitos (de un total de 6), tu has elejido 3, 2 de los cuales no coinciden. Porqué esos 3? Si hubieras elejido los otros 3 restantes si que hubieran coincidido, y en tal caso ellos no hubieran sabido que alguien espiaba la conversacion. Voy muy mal, o en qué me equiboco?

    Gracias por el articulo, muy interesante

    1. Hola Lucas, en el ejemplo Bob y Alice quieren saber si alguien ha estado escuchando su comunicación, para lo cual comparten el 50% de los dígitos compartidos. La muestra se toma al azar para que ningún espía pueda predecir que dígitos van a ser verificados y evite modificarlos. En este caso, el azar toma esos 3 exactamente, que en este caso coinciden (pero podrían no haberlo hecho como tu mismo dices). De esta manera, evitamos, como te he comentado, que el atacante sepa cuales van a ser los elegidos y por tanto pueda modificarlos.

Los comentarios están cerrados.