GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es Shared Key Exchange (Cómo funcionan las VPN, Parte 3)?

Este artículo de la serie "Cómo funcionan las VPN" describe cómo funciona un intercambio de claves compartidas. Si ya estás perdido, ¡no entres en pánico! Esta serie de artículos explica los conceptos y métodos detrás de las VPN sin necesidad de profundizar en las matemáticas que las impulsan.

Si es completamente nuevo en el concepto de VPN, consulte esta introducción. Si ya sabes un poco sobre cómo funcionan las VPN y quieres saber un poco más, esta serie es para ti. Cada artículo aborda un aspecto de cómo una VPN ayuda a proteger los datos al contar una historia que sirve como metáfora de los mecanismos lógicos involucrados. Estas historias involucran a Adam y Burt tratando de mantener un secreto y una tercera persona, Cesar, tratando de descubrir su secreto de manera nefasta. Dado que las VPN no tienen un equivalente físico perfecto en el mundo, algunos elementos pueden ampliar los límites de la credibilidad (por ejemplo, César tiene acceso a un rayo duplicador). Recuerda, es solo una historia...

Cada artículo también tiene secciones expandibles (indicadas con el ícono de ajustes), que contienen una explicación un poco más profunda que es algo más técnica pero que evita perderse demasiado en las matemáticas. Estas secciones relacionan un poco más los eventos de la historia con los componentes o pasos de encriptación o autenticación, pero no son necesarias para obtener una comprensión básica del tema.

Intercambio de claves compartidas

En aventuras anteriores, nuestros amigos Adam y Burt han tratado de mantener su proyecto de historietas en secreto de la intromisión de Cesar asegurando los mensajes que intercambian con una clave compartida y un sistema de pares de claves pública/privada más elaborado. Cada sistema tiene sus fortalezas y debilidades. Pero los chicos necesitan un descanso de este proyecto y, por suerte para ellos, hay una feria cerca. Participan en la competencia de cocina de chile y, como les encanta mantener en secreto sus creaciones, idean una forma de mantener su receta en secreto, incluso mientras la preparan frente a los espectadores. La receta será tan segura; ¡incluso ellos no lo sabrán!

Un punto de partida bien conocido

Para llevar a cabo esta hazaña, Adam y Burt deberán desarrollar cada uno una parte de la receta sin saber nada sobre la contribución del otro. Si ninguno de los dos conoce la receta completa, ninguno puede revelarla. Sin embargo, acuerdan una base común de ingredientes (una mezcla de base de tomate, condimento de chile, carne de res y frijoles). No hay necesidad de mantener esta parte en secreto:la mayoría de los otros concursantes comienzan con una base similar, por lo que ganan poco si se esfuerzan por ocultar estos ingredientes.


Negociando el intercambio de claves.

El hecho de que las dos partes puedan comenzar con esta negociación a través de un medio público inseguro es una de las ideas centrales e inteligentes detrás de este método de iniciar el cifrado. Antes de que pueda ocurrir cualquier encriptación, debe haber algo de tráfico no encriptado entre pares, de lo contrario, ninguno sabrá cómo desencriptar ningún mensaje futuro. Este paso inicial permite que un host le diga a otro que desea comenzar una negociación de un método de cifrado al ofrecer un par de valores iniciales a una fórmula matemática conocida (que, en este ejemplo, es la base del chile). La verdadera magia viene en los siguientes pasos.

Sembrar la clave

Adam y Burt han preparado de forma independiente y en secreto una porción de condimentos e ingredientes adicionales sellados en una bolsa de papel de arroz opaca. bolsita que se disolverá una vez sumergida en el chile. En este concurso de cocina, la bolsa de Adam contiene tomatillos, chipotles, pimienta de cayena y canela; Burt's tiene condimento cajún, cerveza, comino, orégano y salsa Worcester*. Adam arroja su paquete en su olla y revuelve, probando su chile hasta que está seguro de que la bolsa se ha disuelto y liberado sus ingredientes. Burt hace lo mismo con su olla. En este punto, Adam y Burt tienen dos chiles diferentes.

* (en caso de que se pregunte por qué esto no se disuelve ya en la cerveza, digamos que Burt precongeló todos los líquidos antes de colocarlos en la bolsa soluble).


Generando la clave compartida.

En el proceso real de intercambio de claves, estos "ingredientes" son en realidad números primos muy grandes. En el proceso de intercambio de claves, estos grandes números primos se generan aleatoriamente. Cuanto más grandes sean los números utilizados para ingresar en este intercambio de claves, más difícil será usar técnicas de fuerza bruta para descifrar. El tamaño de estos números se denomina grupo de bits. Un grupo de números primos de la misma longitud en bits binarios (por ejemplo, 1024 o 2048 o incluso longitudes de bits mayores) pertenecen todos al mismo grupo. Cuanto más grande sea el grupo de bits, más sólido se vuelve este proceso de intercambio de claves y más resistente se vuelve al análisis y al compromiso potencial.

Completar el Intercambio

Ahora cambian los botes que están cuidando, así que Burt está en el bote que Adam comenzó, y viceversa. Cada uno toma otra bolsa idéntica a la que comenzó y agrega esta segunda bolsa a la olla que el otro había comenzado (así que Adam agrega sus tomatillos, chipotles, pimienta de cayena y canela a la olla que Burt comenzó con el condimento cajún, cerveza , comino, orégano y salsa Worcester; y Burt agrega su bolsa a la olla que Adam comenzó). Después de que cada uno de ellos revuelva sus respectivas ollas y disuelva las bolsas para liberar los ingredientes secretos, pueden estar seguros de que cada olla ahora contiene chiles idénticos.


El intercambio de claves Diffie-Hellman.

En términos matemáticos, el algoritmo que rige el intercambio de claves compartidas es conmutativo:se puede realizar en cualquier orden y obtener el mismo resultado. Además, tenga en cuenta que ni Adam ni Burt tienen los medios para reconstruir la llave solos. Cada uno de ellos solo conoce el valor aleatorio que cada uno contribuyó al algoritmo. Y, dado que cada uno también genera una copia de la clave al finalizar la negociación, cada uno también tiene una copia de la clave final sin que haya sido transmitida a través de una red.

Este intercambio o negociación de claves compartidas se denomina Intercambio de claves Diffie-Hellman, llamado así por los autores del artículo que detalló por primera vez este método, Whitfield Diffie y Martin Hellman. Su trabajo se basó en el trabajo previo realizado por Ralph Merkle, por lo que se ha sugerido (por el mismo Hellman) que este método se llame Diffie-Hellman-Merkle Key Exchange. En configuraciones reales, a menudo verá este método aplicado como Grupos DH, diferentes grupos que corresponden a claves de diferentes longitudes en bits binarios.

Sabores complejos

Durante la preparación, cualquier juez podría haber visto y tomado muestras de los botes de inicio o de los botes intermedios. Incluso si Cesar, con la intención de aprender la receta secreta, se hace pasar por juez, no podría reconstruir de manera confiable la receta final que usaron Adam y Burt. (Este ejemplo supone que César no tiene la capacidad de distinguir todos los sabores individuales incluidos en el chile. Intentar identificar los ingredientes y sus cantidades a través de análisis de laboratorio sería lo suficientemente costoso en tiempo y energía invertidos para hacerlo inviable).


Vulnerabilidades potenciales.

Si un atacante quisiera comprometer cualquier comunicación cifrada con esta clave, un típico ataque de espionaje man-in-the-middle sería insuficiente. Sin embargo, un atacante podría insertarse como un intermediario de tránsito. Si un atacante se configura para que toda la comunicación entre los dos hosts tenga que pasar por él, podría realizar una negociación Diffie-Hellman con cada par. Cada lado de la conexión solo sabría si se negoció una clave exitosa, pero no con quién. En esta posición, el hombre en el medio podría ver toda la conversación; de hecho, tendría que descifrar el tráfico entrante y volver a cifrarlo antes de enviarlo al otro lado para mantener la impresión de que cada uno end todavía tiene su conexión "segura".

También es posible que un atacante intente organizar un ataque de intermediario para degradar el grupo DH a un grupo cuya longitud de bits sea mucho más pequeña y menos segura. Ese atacante podría luego recopilar los datos cifrados débilmente y realizar un ataque de fuerza bruta fuera de línea contra el cifrado para descifrarlo en un período de tiempo razonable. Los ataques como FREAK y Logjam utilizan algún tipo de metodología de degradación para debilitar el intercambio de claves Diffie-Hellman.

Más información en la serie Cómo funcionan las VPN:

Parte 1:Algoritmos de cifrado simétrico
Parte 2:Criptografía de clave pública
Obtenga más información sobre nuestros servicios de alojamiento de VPS y el precio del alojamiento de VPS.


Linux
  1. ¿Qué es un Makefile y cómo funciona?

  2. ¿Qué es un servidor web y cómo funciona un servidor web?

  3. cómo actualizar homebrew con Cron en Mac os

  4. ¿Cómo hacer que las claves compartidas .ssh/authorized_keys y sudo funcionen juntas?

  5. ¿Cómo funcionan los números SO (objeto compartido)?

¿Qué es el DNS inverso y cómo funciona?

¿Qué es VDI y cómo funciona?

¿Qué es Docker? ¿Como funciona?

¿Qué es el comando fuente en Linux y cómo funciona?

¿Cómo funciona un balanceador de carga? ¿Qué es el equilibrio de carga?

¿Qué es el cifrado de clave simétrica? (Cómo funcionan las VPN, Parte 1)