Intercambio de mensajes y claves paso a paso (Ejemplo CNG)

Las soluciones de claves criptográficas públicas o privadas son susceptibles de sufrir ataques de tipo "Man in the middle".Estos ataques toman distintas formas, entre las que se incluyen el espionaje, la sustitución, la denegación de servicio y la suplantación de identidad (phishing).En el ejemplo de comunicación segura de criptografía de próxima generación (CNG) se trata la sustitución, en la que una tercera persona (Mallory) se introduce entre dos extremos de la comunicación (Alice y Bob).

En las secciones siguientes se proporciona más información, ilustraciones e instrucciones paso a paso sobre las cinco versiones de seguridad que se explican en la información general del ejemplo CNG:

  • Versión 1: Intercambio básico de mensajes

  • Versión 2: Intercambio de claves y mensajes no firmados:

    • sin interceptación

    • con interceptación

  • Versión 3: Intercambio de claves y mensajes firmados:

  • Versión 4: Intercambio de claves y mensajes firmados con detección

  • Versión 5: Intercambio de claves y mensajes firmados con la finalización de la aplicación

Versión 1: Intercambio básico de mensajes

En la ilustración siguiente se muestra a Alice y Bob enviando mensajes sin que se produzca un ataque de tipo "Man in the middle".Los mensajes no están cifrados ni firmados digitalmente.El ejemplo CNG muestra este procedimiento al seleccionar la versión 1.Tras la ilustración, se incluye una descripción paso a paso del proceso.

Versión 1: Intercambio básico de mensajes

Versión 1: Intercambio básico de mensajes

Alice y Bob envían mensajes sin cifrar y sin firmar

1.Alice crea un mensaje.

2.Alice envía el mensaje a Bob.

3.Bob recibe el mensaje de Alice.

4.Bob crea un mensaje.

5.Bob envía el mensaje a Alice.

6.Alice recibe el mensaje de Bob.

Versión 2: Claves y mensajes no firmados sin interceptación

En la ilustración siguiente se muestra el intercambio de claves y mensajes sin que se produzca un ataque de tipo "Man in the middle".En el ejemplo CNG se muestra este procedimiento al seleccionar la versión 2 y desactivar la interceptación de Mallory.Tras la ilustración, se incluye una descripción paso a paso del proceso.

Versión 2: Claves y mensajes no firmados sin interceptación

Versión 2: Claves y mensajes no firmados con interceptación

Alice y Bob crean sus claves

1.Alice genera un par de claves pública y privada.

2.Alice envía su clave pública a Bob.

3.Bob guarda la clave pública de Alice.

4.Bob genera un par de claves pública y privada.

5.Bob envía su clave pública a Alice.

6.Alice guarda la clave pública de Bob.

Alice y Bob derivan un material de clave coincidente

7.Alice utiliza su clave privada y la clave pública de Bob para generar un acuerdo confidencial compartido.Utiliza el acuerdo confidencial compartido para derivar el material de clave.

8.Bob utiliza su clave privada y la clave pública de Alice para generar el mismo acuerdo secreto compartido.Utiliza el acuerdo confidencial compartido para derivar el mismo material de clave que Alice.

Para obtener más información sobre los acuerdos confidenciales compartidos y derivación de claves, vea Información general sobre el algoritmo ECDH (Ejemplo CNG).

Alice y Bob se envían entre sí los mensajes

9.Alice crea un mensaje y lo cifra con el material de clave.

10.Alice envía el mensaje cifrado a Bob.

11.Bob recibe y descifra el mensaje.

12.Bob crea un mensaje y lo cifra con el material de clave.

13.Bob envía el mensaje a Alice.

14.Alice recibe y descifra el mensaje.

Versión 2: Claves y mensajes no firmados con interceptación

En la ilustración siguiente se muestra el flujo de claves y mensajes con un ataque de tipo "Man in the middle".En el ejemplo CNG se muestra este procedimiento al seleccionar la versión 2 y habilitar la interceptación de Mallory.

Versión 2: Claves y mensajes no firmados con interceptación

Versión 2: Claves y mensajes no firmados con interceptación

Mallory suplanta a Bob

1.Alice genera un par de claves pública y privada.

2.Alice envía su clave pública a Bob.

3.Mallory intercepta y guarda la clave pública de Alice.

4.Mallory genera su propio par de claves publica y privada para utilizarlo con Alice.

5.Mallory envía su clave pública a Alice y la engaña haciéndola creer que es de Bob.

6.Alice guarda la clave pública de Mallory creyendo que es la clave de Bob.

Mallory no establece un canal con Bob hasta después de completar el intercambio de claves con Alice.Lo hace así porque comparte el objeto PublicChannel con Alice (vea Información general sobre el código fuente).Tiene que enviar su clave suplantada a Alice antes de poder cerrar el objeto PublicChannel, reabrir el canal y, a continuación, ponerse en contacto con Bob.

Compare esta operación con los pasos 17 a 22, donde los mensajes enviados por Alice se transfieren a Bob.

Mallory suplanta a Alice

7.Mallory genera un segundo par de claves pública y privada para utilizarlas con Bob.

8.Mallory envía su clave pública a Bob.

9.Bob guarda la clave pública de Mallory creyendo que es la clave de Alice.

10.Bob genera un par de claves pública y privada.

11.Bob envía su clave pública a Alice.

12.Mallory intercepta y almacena la clave pública de Bob.

Alice y Mallory derivan el material de clave coincidente

13.Alice utiliza su clave privada y la que cree es la clave pública de Bob (y, en realidad, es la clave pública de Mallory/Alice) para generar un acuerdo confidencial compartido.Ella utiliza el acuerdo confidencial compartido para derivar el material de clave de Mallory/Alice.

14.Mallory utiliza su clave privada y la clave pública de Alice para generar el mismo acuerdo secreto compartido.A continuación, utiliza el acuerdo confidencial compartido para derivar el mismo material de clave que Alice.

Bob y Mallory derivan el material de clave coincidente

15.Mallory utiliza su clave privada y la clave pública de Bob para generar un acuerdo confidencial compartido.Utiliza el acuerdo confidencial compartido para derivar el material de clave de Mallory/Bob.

16.Bob utiliza su clave privada y la que cree es la clave pública de Alice (y, en realidad, es la clave pública de Mallory/Bob) para generar el mismo acuerdo confidencial compartido.A continuación, utiliza el acuerdo confidencial compartido para derivar el mismo material de clave que Mallory.

Nota

Después de los pasos 13 y 16, Alice y Bob piensan que están compartiendo el mismo material de clave.En realidad, no comparten entre sí el material de clave, sino que lo comparten con Mallory.

Alice envía un mensaje a Bob

En este punto, Mallory puede entablar una conversación doble porque tiene dos canalizaciones abiertas disponibles para su uso.Esto es diferente de los pasos 1 a 6, donde Mallory abre un canal cada vez para interceptar las claves criptográficas.

17.Alice genera un mensaje y lo cifra usando el material de claves de Mallory/Alice que generó en el paso 13.Informa a Bob sobre un contacto de ventas potencial.

18.Alice envía el mensaje a Bob.

19.Mallory intercepta y descifra el mensaje.Roba la información de contacto.

20.Mallory genera un mensaje falso parecido al mensaje de Alice, pero cambia la dirección del contacto.Cifra el mensaje falso utilizando el material de clave compartido de Mallory/Bob.

21.Mallory envía el mensaje a Bob.

22.Bob descifra el mensaje creyendo que es de Alice.

Bob envía un mensaje a Alice

23.Bob genera un mensaje y lo cifra usando el material de claves de Mallory/Bob que generó en el paso 16.Dice a Alice que está deseando reunirse con el contacto.

24.Bob envía el mensaje a Alice.

25.Mallory intercepta, descifra y descarta el mensaje.

26.Mallory genera un mensaje falso utilizando el material de clave compartido de Mallory/Alice.Le dice a Alice que cree que la dirección del contacto de ventas era incorrecta, pero que seguirá intentando localizar al contacto.

27.Mallory envía el mensaje a Alice.

28.Alice descifra el mensaje creyendo que es de Bob.Acepta su explicación y se ocupa de otros clientes.

Versión 3: Claves y mensajes firmados con interceptación

En la ilustración siguiente se muestra el flujo de claves criptográficas y mensajes, un ataque de tipo "Man in the middle" y el uso de firmas digitales para firmar claves y mensajes.En el ejemplo CNG se muestra este escenario al seleccionar la versión 3 y habilitar la interceptación de Mallory.

Versión 3: Claves y mensajes firmados con interceptación

Versión 3: Claves y mensajes firmados con interceptación

La versión 3 es idéntica a la versión 2, salvo en que muestra el uso de una firma digital para firmar mensajes y claves criptográficas.

En los pasos 1 a 6, Alice envía la clave de firma digital en el canal PublicChannel poco seguro que está interceptado por Mallory, quien lo utiliza para firmar sus claves suplantadas y sus mensajes.Como resultado, Alice, Bob y Mallory utilizan la misma clave de firma digital.Cuando Alice y Bob validan las firmas de las claves y los mensajes en los pasos 15, 20, 35 y 42, no detectan la interceptación de Mallory.

Versión 4: Claves y mensajes firmados con detección

En la ilustración siguiente se muestra el flujo de claves criptográficas y mensajes, un ataque de tipo "Man in the middle" y el uso de firmas digitales para firmar claves y mensajes.Además, la versión 4 del software detecta las firmas no válidas.En el ejemplo CNG se muestra este escenario al seleccionar la versión 4 y habilitar la interceptación de Mallory.

Versión 4: Claves y mensajes firmados con detección

Versión 4: Claves y mensajes firmados con detección

La versión 4 difiere de la versión 3 en dos aspectos:

  • La versión 4 del software solo se les proporciona a Alice y Bob.

  • La versión 4 envía la clave de firma digital que se utilizó en la versión 3, pero la utiliza como una clave falsa.

  • La versión 4 permite que Alice envíe a Bob una segunda clave de firma digital a través de un canal privado que Mallory no conoce.(Este es el paso 0 de la ilustración anterior). Alice y Bob utilizan esta firma digital privada para firmar sus claves y mensajes.

  • La versión 4 detecta las firmas no válidas de Mallory en los pasos 15, 20, 35 y 42 y muestra las advertencias de seguridad.

Mallory continúa utilizando la firma digital de la versión 3 para firmar sus claves suplantadas y sus mensajes.Como resultado:

  • No conoce la clave de firma digital privada de la versión 4.

  • No recibe las advertencias de seguridad.

  • No sabe que Alice y Bob pueden detectar las firmas de claves y mensajes no válidas.

Versión 5: Claves y mensajes firmados con finalización de la sesión

En la ilustración siguiente se muestra el flujo de claves criptográficas y mensajes, un ataque de tipo "Man in the middle" y el uso de firmas digitales para firmar claves y mensajes.Al igual que en la versión 4, se detectan las firmas no válidas.En el ejemplo CNG se muestra este escenario al seleccionar la versión 5 y habilitar la interceptación de Mallory.

Versión 5: Claves y mensajes firmados con finalización

Versión 5: Claves y mensajes firmados con finalización de la sesión

La versión 5 es idéntica a la versión 4, excepto en que la sesión finaliza cuando Alice y Bob reciben las claves criptográficas públicas con firmas digitales no válidas.

Vea también

Conceptos

Ejemplo de comunicación segura de criptografía de próxima generación (CNG)

Servicios criptográficos