¿Por qué enviar HMAC en dirección inversa cuando se realiza DH verificada con protección de downgrade?

0

El propósito de este procedimiento es que Alice y Bob realicen un intercambio de claves verificado de Diffie-Hellman. Funciona así:

  1. Alice envía sus esquemas de firmas compatibles a Bob. Simplemente dice "esquemas apoyados". Supongo que los esquemas de firma están destinados.
  2. Bob selecciona un esquema de firma.
  3. Alice elige a y envía A = g^a mod p y Sig_Alice(A) a Bob.
  4. Bob elige b y envía B = g^b mod p y Sig_Bob(B) a Alice.
  5. Ellos calculan K = g^(a*b) como de costumbre.
  6. Alice envía el HMAC de todos los mensajes hasta este momento a Bob. Supongo que este HMAC se envía a través del canal cifrado porque ya se ha calculado K . No tengo idea de si solo los mensajes que Alicia envió están destinados o si los que ella recibió también están incluidos.
  7. Bob envía el HMAC de todos los mensajes hasta este punto a Alice. Una vez más, probablemente a través del canal encriptado.

Entiendo por qué Alice envía el HMAC de sus mensajes a Bob: para asegurarse de que Bob recibió todos los esquemas de firmas que admite. Puede ser que haya un hombre en el medio que haya eliminado todos los esquemas de firma segura, por lo que Bob tuvo que elegir uno no seguro donde MitM puede falsificar rápidamente sus firmas respectivas para poder establecer un canal cifrado entre él y Alice y otra entre él y Bob.

¿Pero cuál es el propósito de que Bob envíe el HMAC a través de sus mensajes a Alice? ¿Qué puede aprender Alice de esa HMAC? Si hay un MitM que simuló una opción débil de Bob hacia Alice, debe haber sido capaz de suplantar completamente a Bob en 4. , por lo que sabe K y, por lo tanto, enviar el HMAC a través del canal cifrado nunca plantea ninguna dificultad a la MitM.

¿Estoy pasando por alto algo? ¿Conoces las respuestas a las preguntas que formulé en 6. ? ¿ 6. y 7. ocurren en paralelo? No se ve así en el gráfico proporcionado en la conferencia donde para 1. , 3. y 6. una flecha va de Alicia a Bob y para 2. , 4. y 7. , Una flecha va de Bob a Alicia. No entiendo por qué 4. y 3. no se intercambian. ¿Por qué Bob esperaría una respuesta de Alice?

    
pregunta UTF-8 01.10.2017 - 23:50
fuente

1 respuesta

1
  1. Con respecto a su comentario en 1. : los esquemas también pueden significar diferentes esquemas de DH, por ejemplo, diferentes grupos o generadores. Esto incluye diferentes campos primos o incluso curvas elípticas.

  2. En cuanto a tu pregunta principal: Hasta que Bob envía el mensaje en 7. , Alice no sabe que Bob conoce el secreto compartido. Un adversario podría haber reproducido una B anterior de Bob, incluida la firma. Alice calculará K y pensará que está hablando con Bob, pero él no estuvo involucrado en absoluto. Esto a menudo se pasa por alto porque generalmente asumimos que la K se usará después del acuerdo clave y que de alguna manera será obvio si la otra parte no la tiene. La idea general aquí es asegurarse de que ambas partes hayan visto exactamente la misma conversación. Consulte aquí .

  3. Con respecto a su pregunta en 6. : Si Alice envía un MAC sobre todos los mensajes, es necesario agregar algún nonce. De lo contrario, Bob solo puede devolver el mismo mensaje en 7. , por lo que probablemente significa algo así como "todos recibidos "o" todos enviados ". Como la gente señaló en los comentarios, esto no tiene sentido, siempre que Bob tenga que enviar un MAC a todos los mensajes, incluido el MAC que recibió de Alice en 6. . (¡Gracias!)

  4. Tampoco veo una razón obvia para no cambiar 3. y 4. .

respondido por el Elias 02.10.2017 - 00:49
fuente

Lea otras preguntas en las etiquetas