evitando el ataque de reflexión

2

Estaba leyendo la solución para el ataque de reflexión y tengo alguna confusión sobre cómo Alice sabría que Bob está Un mentiroso y no es realmente Bob.

1. Alice initiates a connection to Bob
2. Bob challenges Alice by sending a nonce. B -> A: N
3. Alice responds by sending back her identifier and the nonce encrypted using the shared key Kab. A -> B: {A, N}Kab
4. Bob decrypts the message, makes sure its from Alice and not a message he had sent in the past by finding A in it and not B and if the nonce is the same as the one he sent in his challenge then he accepts the message.

El paso 4 es donde me pierdo. Así que Bob puede usar la clave para descifrar y recuperar "A". En primer lugar, ¿qué significa en la notación cuando aparece el nombre de un remitente en el mensaje? Si tenemos A- > B: {A}, o simplemente A- > B: A, ¿qué significa la A después de la:?

En la parte 4, parece que una vez que Bob descifra el mensaje, puede "de alguna manera" verificar si el remitente era realmente esa persona. No entiendo el "algo de cómo". En la implementación, ¿A sería la dirección IP de una máquina, y como un nodo siempre sabe quién se está conectando a ella, podrá descifrar a 8.8.8.8 y saber que el remitente real fue 8.8.4.4?

    
pregunta Celeritas 06.10.2015 - 05:23
fuente

2 respuestas

2

A - > B: {A, N} Kab significa que A envía a B un mensaje que contiene A y N, y que está encriptado con una clave secreta compartida por A y B.

  

Para que Bob pueda usar la clave para descifrar y recuperar "A".

No, Bob usa la clave para descifrar la respuesta y recuperar el nonce N y el identificador A. De esto, Bob sabe que la respuesta

  • contiene el nonce N Bob enviado de antemano;
  • contiene el identificador de Alice A y, por lo tanto, ha sido enviado por Alice, y no es una repetición de un nonce que Bob envió en el pasado;
  • está cifrada con la clave secreta compartida, por lo que debe proceder de Alice, que es la única parte, aparte de Bob, que conoce la clave secreta.
respondido por el dr01 06.10.2015 - 11:52
fuente
0

Debo decir que la explicación de Wikipedia es muy confusa para mí.

  

El respondedor envía su identificador dentro de la respuesta, de modo que, si   recibe una respuesta que tiene su identificador, puede rechazarla.

Sobre la base del cuarto paso, asumo que significaban:

  

El respondedor envía su identificador dentro de la respuesta, por lo tanto, si el retador recibe una respuesta que tiene su identificador, puede rechazarlo.

Lo que añade una noción de propiedad de la respuesta. Ahora, así es como entiendo el problema y la solución:

Olvide la criptografía y las direcciones IP y piense en un caso real. Estás en el aula y, aunque eres un bastardo perezoso, te sientes afortunado y quieres responder una pregunta complicada (desafío), solo para los nerds. Supongamos que la pregunta es siempre diferente (nonce). Tu maestro te hace la pregunta pero (como es de esperar), no sabes la respuesta, pero aún así quieres lucir bien, entonces, le preguntas al niño nerd que está detrás de ti (respondedor), y dice que la pregunta era para él. Supongamos que nadie se da cuenta (puedes gritar: ¡mira a Diffie-Hellman desde la ventana!).

Escoges la respuesta y la dices en voz alta a tu profesor como tuyo. Es correcto y te salvas el día. ¿Cuál es uno de los problemas aquí ?:

  

Sabiendo la respuesta, puedes anunciarla fácilmente como tuya, ya que no está vinculada a una persona.

La primera línea de defensa sería compartir claves entre los nerds y el profesor (los niños tontos hablan claro) y hacer que cifren sus mensajes. Solo los niños inteligentes podrían cifrar una respuesta (nonce). Sin embargo, surge otro problema:

  

Eres lo suficientemente inteligente como para hacerle la pregunta al niño nerd y obtener el   jibber jabber de él (respuesta cifrada) y vuelva a reproducirlo en su   maestro (aquí la repetición no significa un ataque de repetición, solo estás diciendo   lo que dijo el niño anteriormente).

La maestra acepta la solución porque, aunque solo los niños inteligentes pueden responder y cifrar, no hay forma de que ella pueda saber si la respuesta fue realmente tuya. Debería haber una manera para que ella lo descubra:

Introducción, identificadores: cada respuesta está encriptada con el nombre del niño y el problema está resuelto. En el mundo real, es posible que una persona valide esto fácilmente: el maestro obtiene una respuesta de usted, pero el identificador es del niño, lo que conduce a una falta de coincidencia.

En el mundo de TI, una forma sería, como dijiste, usar direcciones IP. Si el atacante envía un mensaje con la IP de otra PC, no funcionará. Claro que él podría falsificar la fuente para que coincida, pero no se pudo establecer una conexión. Esto podría funcionar si la aplicación fuera un simple ejecutor de comandos: el atacante envía el comando autodestruirse y la otra PC se destruiría a sí misma y no requeriría ACK ni más intercambios de mensajes.

Mantente seguro;)

    
respondido por el BrunoMCBraga 06.10.2015 - 14:01
fuente

Lea otras preguntas en las etiquetas