Upload
antonio-benitez
View
14
Download
0
Embed Size (px)
Citation preview
Criptografía Cuántica y Protocolo HTTPS
Resumen
La criptografía pública es la única solución razonable para comunicaciones seguras en un
entorno abierto como Internet. Pero, los estudios continúan, el auge en la computación y
criptografía cuántica son cada vez mayores. Para muchos la computación cuántica anulará la
seguridad de la criptografía pública actual; para otros no existe problema, consideran que con
aumentar los primos utilizados para generar las claves es suficiente. Esta nueva criptografía se
considera el milagro tecnológico, un sistema de cifrado imposible de romper. La ponencia
aborda el tema de la criptografía cuántica que utiliza principios de la mecánica cuántica para
garantizar la confidencialidad de la información. Entonces se desarrollan esquemas de
funcionamiento y algoritmos conocidos para facilitar su comprensión, además de demostrar
las cualidades que ofrece en seguridad.
Posteriormente se menciona al protocolo HTTPS que es un protocolo de aplicación basado
en el protocolo HTTP, destinado a la transferencia segura de datos de Híper Texto, capas de
red, configuración del servidor, funcionamiento, limitaciones, conexiones seguras y gestión
de certificados. En términos generales se trata de un aporte a la comprensión de aspectos
concernientes a criptografía cuántica y el protocolo de conexión segura HTTPS, éste último
utilizado en las conexiones actuales a través de internet.
1. INTRODUCCIÓN
El presente trabajo monográfico pretende abordar el tema de criptografía cuántica, como
así también el protocolo HTTPS (Hypertext Transfer Protocol Secure).
En primer lugar se desarrolla el tema de la criptografía cuántica en donde se menciona que
es un tipo de criptografía que utiliza principios de la mecánica cuántica para garantizar la
absoluta confidencialidad de la información, seguidamente se explica el principio básico de
funcionamiento basado en el primer protocolo desarrollado para el efecto cuya denominación
es BB84. Luego se describen las características de los algoritmos conocidos en criptografía
cuántica, como así también el apartado de seguridad en este tipo de criptografía.
En cuanto al protocolo HTTPS se especifica que es la combinación del protocolo HTTP
(usado en transferencia de datos a través de internet) y el protocolo SSL. Además de explicar
la capa de red en la que opera, configuración del servidor, funcionamiento, limitaciones,
conexiones seguras: SSL, TLS y la gestión de certificados y acceso seguro
2. Criptografía cuántica
Es un tipo de criptografía que utiliza principios de la mecánica cuántica para garantizar la
absoluta confidencialidad de la información.
3. Principio básico de la criptografía cuántica
Las partículas más pequeñas descubiertas en el entorno son los fotones, que constituyen la
unidad más pequeña por la que se transmite energía electromagnética. El mismo es
responsable de todas las formas de luz y no tiene masa. La criptografía cuántica se basa en el
principio de incertidumbre de Heisenberg que indica que no se puede conocer con exactitud la
velocidad y la posición de una partícula en el mismo instante, y además que el proceso de
medición de ellas deja de ser pasivo para convertirse en activo, es decir, la medición puede
afectar la partícula.
Un fotón puede adoptar diversas formas. Entonces se definen dos filtros, uno para
distinguir entre fotones con polarización vertical u horizontal y otro para distinguir entre
fotones con polarización inclinada hacia la izquierda o la derecha (+45° o -45° de
inclinación). Así pues, cuando un fotón pasa por el filtro correcto su polarización no cambia
(es decir, se mantiene la misma posición del fotón), pero cuando pasa por un filtro incorrecto
su polarización cambia aleatoriamente.
Ejemplo:
Figura 1: Esquema de comunicación en criptografía cuántica.
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.
Los nombres Alice y Bob son utilizados en lugar de las letras A y B en ejemplos de
comunicaciones y criptografía para hacer referencia a los participantes de una comunicación
entre dos puntos. El nombre Eve proviene de la palabra inglesa Eavesdropper cuya traducción
es “quien escucha secretamente”.
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.
Suponiendo 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º).
Entonces, Alice y Bob se ponen de acuerdo en que:
Figura 2: Polarización de fotones.
Un filtro se utiliza 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.
Figura 3: Proceso de comunicación Alice – Bob.
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 el tipo de filtro 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 utilizó 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
qué 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 grande de bits, pueden estar 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 podría ser 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.
4. Algoritmos conocidos
4.1 Algoritmo BB84
Primer codificador cuántico de información clásica que se propuso de forma que el
receptor, legítimo o ilegítimo, pudiese recuperar con un 100% de confiabilidad. Pasos:
1. La fuente de luz, LED o láser, se filtra para producir un rayo polarizado en ráfagas cortas
y con muy baja intensidad. La polarización en cada ráfaga se modula 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 que bases se eligieron 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.
Este protocolo se complica con la presencia de ruido, el que puede ocurrir en forma
aleatoria o ser introducido por una escucha. Con la existencia de ruido las
polarizaciones observadas por el receptor pueden no coincidir con las emitidas por el emisor.
Para lidiar con esta posibilidad, Alice y Bob deben asegurarse que poseen la misma cadena de
bits. Esto se realiza usando una búsqueda binaria con verificación de paridad para aislar las
diferencias. Con el descarte del último bit de cada comparación, la discusión pública de la
paridad se vuelve inofensiva.
4.2 Algoritmo B92
Bennet publicó en 1992 un nuevo protocolo para la generación e intercambio cuántico de
claves. Se considera el mismo sistema anterior pero ahora se escogen como representación de
los bits 0 y 1 los estados que aparecen en la siguiente figura.
Figura número 4: Bits utilizados para B92.
Alice prepara una cadena de bits aleatorios y prepara los estados a enviar de acuerdo con la
figura anterior reflejándose estos en la siguiente figura.
Figura número 5: Bits y estados utilizados para B92.
Por su parte Bob genera su cadena de bits para elegir las bases en que realiza sus medidas
(0 base +, 1 base x), pero en lugar de aplicar una medida de von Neuman, Bob aplica ahora a
los estados que recibe los operadores de proyección siguientes: Si su bit es 0 (base +), aplica
el proyector Pnot0 = (1-│0) (0│). En cambio si su bit es 1 (base x), aplica el proyector Pnot1’
= (1 - │1’) (1’│).
El resultado de la aplicación del proyector será cero o uno. Posteriormente se pasa a la
interpretación de los resultados. Si la aplicación de Pnot0 sobre un estado lo deja invariante
(autovalor 1), Bob puede estar seguro que su estado no es │0) y por lo tanto que ha recibido
el estado │1’), pero si obtiene 0, no puede deducir que estado ha recibido. De forma similar
ocurre con el otro proyector.
La estrategia consiste en eliminar de la secuencia los bits en los que Bob ha medido cero,
sea cual sea el proyector que ha aplicado, y quedarse con los que ha medido 1. Una vez
realizada la secuencia de medidas, Bob debe comunicar a Alice qué bits debe desechar y en
los demás el acuerdo será total.
5. Nuevo algoritmo. K05: Un protocolo generalizado de BB84
En este nuevo protocolo se ha extendido el protocolo BB84 para incluir más de dos estados
no ortogonales por símbolo, 1 y 0, considerando que en las redes ópticas pragmáticas, los
componentes ópticos tales como los filtros de polarización y las fuentes láser no son perfectas.
El protocolo K05 ha sido desarrollado a fin de identificar vulnerabilidades en las redes ópticas
cuánticas reales.
Está basado en dos subconjuntos de estados de polarización, cada uno incluyendo un
extenso número de estados para cada símbolo lógico.
Los pasos para la generación cuántica de la clave y la QKD (quantum key distribution) en
K05 son:
1. Alice pasa una secuencia de bits binarios, como 100110111011, por un filtro de
polarización aleatorio. La asociación de polarización de estados con lógica 1 y 0 son
conocidos solo por Alice y desconocidos por cualquier otro, incluido Bob.
2. Bob recibe la secuencia de fotones polarizados los cuales pasan por su filtro de
polarización de forma independiente y aleatoria, pero Bob no sabe la asociación entre el
valor lógico y el estado de polarización.
3. Los estados de polarización aleatorios de su filtro dejan pasar o rechazar los fotones
aleatoriamente polarizados recibidos. Es decir, se genera una secuencia nueva de 1 y 0
lógicos en la cual algunos bits tienen el valor lógico correcto pero no todos.
4. Suponiendo que variando aleatoriamente el filtro de polarización de Bob se generará la
secuencia 010110101001 desde la secuencia recibida de Alice. Aunque esta secuencia no
es la que Alice transmitió, los bits comunes entre las dos secuencias son importantes aquí.
Sin embargo, hasta este paso, ni Alice ni Bob saben que bits son comunes.
5. Bob se comunica con Alice por el canal público y le dice la secuencia de
polarización que ha usado mientras recibía los fotones polarizados de Alice. Sin embargo,
Bob no revela la secuencia lógica que ha generado.
6. Alice pasa la secuencia lógica que envió a Bob por la secuencia de polarización de Bob.
Entonces, Alice compara la cadena inicial de bits con la otra generada desde el
experimento e identifica los bits que son comunes en las dos cadenas de bits.
7. Alice le dice a Bob cuales de sus filtros de polarización de estados se usaron
correctamente en la secuencia, pero sin decirle su asociación con la lógica de 1 y 0. Los
estados de polarización que se usaron correctamente constituirá la clave cuántica.
6. Seguridad de la criptografía cuántica
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.
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.
7. Protocolo HTTPS
HTTPS (HTTP sobre SSL) se refiere a la combinación del protocolo HTTP (usado en
transferencia de datos a través de internet) y el protocolo SSL (capa de conexión segura) a los
efectos de implementar una comunicación segura entre un navegador web y un servidor web.
Éste protocolo se encuentra integrado en todos los navegadores web modernos. Su uso
depende de si el servidor web cuenta con soporte para la comunicación HTTPS.
Al usar HTTPS una página web adopta una codificación con certificado digital SSL con el
que se crea un canal cifrado más seguro para el tráfico de datos cliente (navegador) - servidor.
La principal diferencia vista por un usuario de un navegador web es que el URL (Uniform
Resource Locator) (en español localizador universal de recursos) comienza con https:// en
lugar de http://. Una conexión HTTP utiliza el puerto 80. En cambio si se especifica HTTPS,
se utiliza el puerto 443.
Cuando se utiliza HTTPS, los siguientes elementos de la comunicación son cifrados:
URL del documento solicitado.
Contenido del documento.
El contenido de los formularios del explorador (rellenado por usuario del navegador).
Cookies (galleta informática) enviadas desde el navegador al servidor y del servidor al
navegador.
Contenido del encabezado HTTP.
HTTPS no evita que terceros puedan observar las comunicaciones sino que crea un sistema
de cifrado que hace que el mensaje solo pueda ser entendido por el destinatario, además de
garantizar que el receptor de los datos es quien dice ser.
Una conexión HTTPS a un sitio web puede ser validada si todo lo siguiente es verdad:
El usuario confía en la Autoridad de certificación para dar fe solo para sitios web
legítimos sin nombres engañosos.
El sitio web proporciona un certificado válido (y un certificado inválido muestra una
alerta en la mayoría de los navegadores), lo que significa que está firmado por una
autoridad confiable.
El certificado identifica correctamente al sitio web (por ejemplo visitando
https://algunsitio y recibiendo un certificado para “AlgunSitio S.A.” y no AlgunZitio
S.A.”).
Cada uno de los nodos involucrados en internet son dignos de confianza, o que el usuario
confíe en que la capa de cifrado del protocolo (TLS o SSL) es inquebrantable por un
eavesdropper (persona que escucha secretamente).
8. Capas de Red
HTTP opera en la capa más alta del Modelo OSI, la Capa de Aplicación; pero el protocolo
HTTPS opera en una sub capa más baja, cifrando un mensaje HTTP previo a la transmisión y
descifrando un mensaje una vez recibido.
HTTPS no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una
Capa de Conexión Segura cifrada Secure Sockets Layer (SSL) o una conexión con Seguridad
de la Capa de Transporte (TLS).
9. Configuración del Servidor
Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe crear
un Certificado de clave pública para el servidor web. Este certificado debe estar firmado por
una Autoridad de certificación para que el navegador web lo acepte. La autoridad certifica que
el titular del certificado es quien dice ser. Los navegadores web son distribuidos con los
certificados firmados por la mayoría de las Autoridades de Certificación por lo que estos
pueden verificar certificados firmados por ellos.
10. Funcionamiento
Figura número 6: Escenario del protocolo HTTPS.
Evitar espías en una comunicación es algo muy difícil o imposible, la solución consiste en
que el espía no pueda comprender lo que mira a través del agujero que ha hecho en la tubería,
como así también el hecho de poder introducir en la tubería mensajes haciéndose pasar por el
banco (servidor) o por el cliente.
Antes de empezar la conexión segura, se establece una comunicación entre el cliente y el
servidor en la que se acuerdan los detalles necesarios. Esta fase se denomina acuerdo, o en
inglés handshake (apretón de manos), y es donde todo se complica un poco.
El handshake entre cliente y servidor puede variar dependiendo de los modos de
autenticación (verificación de la identidad del remitente de un mensaje) y cifrado que se
vayan a utilizar durante la conexión segura.
Por ejemplo, en la criptografía de clave pública. Se dispone de dos claves: una es pública
(conocida por todos) y la otra es privada (conocida solamente por su poseedor). Aunque
cualquiera puede cifrar usando la clave pública, sólo el que posee la correspondiente clave
privada podrá descifrar el mensaje. Con este tipo de criptografía se pueden realizar dos
acciones dentro del protocolo HTTPS.
Verificar la identidad del emisor: Si un mensaje (o parte) se cifra con la clave privada del
emisor, cualquier persona que cuente con su respectiva clave pública será capaz de leerlo,
pero nadie más habrá sido capaz de crearlo (necesitarían la clave privada). Esto es que lo
que se llama firma digital.
Evitar espías: Si el emisor desea enviar un mensaje al receptor, el emisor debe utilizar la
clave pública del receptor para cifrar el mensaje. De esta forma sólo quien posea su
correspondiente clave privada será capaz de leer el mensaje.
11. Limitaciones
El nivel de protección depende de la exactitud de la implementación del navegador web, el
software del servidor y los algoritmos de cifrado actualmente soportados.
También, HTTPS es vulnerable cuando se aplica a un contenido estático de publicación
disponible. El sitio entero puede ser indexado usando una Araña web, y la URI (Uniform
Resource Identifier) del recurso cifrado puede ser adivinada conociendo solamente el tamaño
de la petición/respuesta. Esto permite a un atacante tener acceso al Texto plano (contenido
estático de publicación), y al Texto cifrado (La versión cifrada del contenido estático),
admitiendo un ataque criptográfico.
Debido a que SSL opera bajo HTTP y no tiene conocimiento de protocolos de nivel más
alto, los servidores SSL solo pueden presentar un certificado para una combinación de
puerto/IP en particular.
12. Conexiones seguras: SSL, TLS
Secure Sockets Layer (SSL; en español “capa de conexión segura”) y su sucesor Transport
Layer Security (TLS; en español “seguridad de la capa de transporte”) son protocolos
criptográficos que proporcionan comunicaciones seguras por una red, (Internet).
El protocolo SSL intercambia registros; cada registro es comprimido, cifrado y
empaquetado con un código de autenticación del mensaje (MAC). Al momento que cuenta
con un campo de content_type que especifica el protocolo de nivel superior que se está
usando.
Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo
handshake, que tiene el content_type 22.
El cliente envía y recibe varias estructuras handshake:
Envía un mensaje ClientHello especificando una lista de conjunto de cifrado, métodos de
compresión y la versión del protocolo SSL más alta permitida. Éste también envía bytes
aleatorios que serán usados más tarde (llamados Challenge de Cliente o Reto). Además
puede incluir el identificador de la sesión.
Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de
conexión a partir de las opciones ofertadas con anterioridad por el cliente.
Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian
certificados (dependiendo de las claves públicas de cifrado seleccionadas). Estos
certificados son X.509, pero hay también un borrador especificando el uso de certificados
basados en OpenPGP.
El servidor puede requerir un certificado al cliente, para que la conexión sea mutuamente
autenticada.
Cliente y servidor negocian una clave secreta (simétrica) llamada master secret, usando el
resultado de un intercambio Diffie-Hellman, o simplemente cifrando una clave secreta
con una clave pública que es descifrada con la clave privada de cada uno. Todos los datos
de claves restantes son derivados a partir de este master secret (y los valores aleatorios
generados en el cliente y el servidor), que son pasados a través de una función
pseudoaleatoria cuidadosamente elegida.
TLS/SSL poseen una variedad de medidas de seguridad:
Numerando todos los registros y usando el número de secuencia en el MAC.
Usando un resumen de mensaje mejorado con una clave (de forma que solo con dicha
clave se pueda comprobar el MAC). Esto se especifica en el RFC 2104).
Protección contra varios ataques conocidos (incluyendo ataques man-in-the-middle),
como los que implican un degradado del protocolo a versiones previas (por tanto, menos
seguras), o conjuntos de cifrados más débiles.
El mensaje que finaliza el protocolo handshake (Finished) envía un hash de todos los
datos intercambiados y vistos por ambas partes.
La función pseudo aleatoria divide los datos de entrada en 2 mitades y las procesa con
algoritmos hash diferentes (MD5 y SHA), después realiza sobre ellos una operación XOR.
De esta forma se protege a sí mismo de la eventualidad de que alguno de estos algoritmos
se revelen vulnerables en el futuro.
13. Gestión de certificados y acceso seguro con HTTPS
Hypertext Transfer Protocol Secure (o HTTPS) es una combinación del protocolo HTTP y
protocolos criptográficos.
Se emplea para lograr conexiones más seguras en la world wide web, generalmente para
transacciones de pagos o cada vez que se intercambie información sensible (por ejemplo,
claves) en internet. De esta manera la información sensible, en el caso de ser interceptada por
un espía, estará cifrada. El nivel de protección que ofrece depende de la corrección de la
implementación del navegador web, del software y de los algoritmos criptográficos
soportados. Además HTTPS es vulnerable cuando es aplicado a contenido estático
públicamente disponible. El HTTPS fue creado por Netscape Communications en 1994 para
su navegador Netscape Navigator.
Adquirir certificados puede ser gratuito (generalmente sólo si se paga por otros servicios) o
costar entre US$13 y US$1.500 por año.
Las organizaciones pueden también ser su propia autoridad de certificación, si son
responsables de establecer acceso a navegadores de sus propios sitios (por ejemplo, sitios en
una compañía intranet, o universidades mayores). Estas pueden fácilmente agregar copias de
su propio certificado firmado a los certificados de confianza distribuidos con el navegador.
Además existen autoridades de certificación peer-to-peer.
El sistema puede también ser usado para la Autenticación de clientes con el objetivo de
limitar el acceso a un servidor web a usuarios autorizados. Para hacer esto, el administrador
del sitio crea un certificado para cada usuario, un certificado que es guardado dentro de su
navegador.
14. CONCLUSIÓN
Con la realización del presente trabajo monográfico se puede apreciar la importancia que
ofrece la criptografía cuántica para resguardar la información privada.
Tanto la Criptografía Clásica como la Criptografía Moderna tienen como objetivo principal el
cifrar la información (por medio de métodos matemáticos simples o complejos) para que pueda
ser transmitida a un receptor y que solo éste sea capaz de descifrarla.
En cambio la criptografía cuántica utiliza principios de la mecánica cuántica para garantizar la
absoluta confidencialidad de la información transmitida.
Una de las propiedades más importantes de la misma es que si un tercero intenta hacer
eavesdropping durante la creación de la clave secreta, el proceso se altera advirtiéndose al intruso
antes de que se transmita información privada. Esto es una consecuencia del principio de
incertidumbre de Heisenberg, que menciona que el proceso de medir en un sistema cuántico
perturba dicho sistema.
Por otro lado considerando el protocolo HTTPS resulta importante el conocimiento del mismo
debido principalmente a las actividades de comercio electrónico, para interacciones en línea con
entidades bancarias en otros, ya que es muy probable que existan espías entre la comunicación de
un cliente con el servidor.
Entonces se puede decir que de las bondades del protocolo HTTPS radica en la posibilidad de
evitar espías y verificar la identidad del emisor. Además cabe mencionar que también cuenta con
limitaciones.
15. REFERENCIAS
http://giq.ifae.es/EducationalMaterial/Cripto.pdf
http://www.textoscientificos.com/criptografia/quantica
http://comunicacion-lengua.blogspot.com/
http://www.desarrolloweb.com/de_interes/protocolo-https-7282.html
http://www.slideshare.net/babp/protocolo-https-3617275
http://www.genbeta.com/guia-de-inicio/explicando-el-protocolo-https
www.newnetsa.com/2009/10/criptografia-cuantica-¿que-es-¿como-funciona-¿para-que-
sirve/
oa.upm.es/1298/1/PFC_JESUS_MARTINEZ_MATEO.pdf
http://srinformacion.files.wordpress.com/2013/01/6-seguridad-del-protocolo-http.pptx.
http://raules.sytes.net/raul/lib/exe/fetch.php?media=algoritmos_cuanticos_en_criptografia
_y_distribucion_de_claves_en_espacio_libre.pdf.