SSL Contenido del mensaje finalizado

2

Hola a todos, estoy un poco confundido acerca del contenido del mensaje finalizado utilizado durante el protocolo de protocolo de enlace. En particular, este mensaje (cliente / lado) contiene el identificador de conexión enviado originalmente desde el servidor y también contiene un valor hash derivado de el mensaje anterior de protocolo de enlace y el secreto principal. Entonces, este mensaje está cifrado con una clave derivada del secreto principal o solo la identificación de la conexión está cifrada, ¿y el mensaje final aún se transmite en plano? Otra pregunta es sobre la detección del servidor / lado de ataque de reproducción. El servidor recibe el mensaje finalizado del cliente; ¿Cómo puede el servidor detectar correctamente un ataque de reproducción desde el mensaje finalizado y por qué usamos el ID de conexión y el hash solo uno no es suficiente?

Gracias de antemano.

    
pregunta Spartacus 03.06.2014 - 19:23
fuente

2 respuestas

7

No hay "ID de conexión" en los mensajes Finished . De hecho, parece que no hay ningún concepto de "id de conexión" en el todo el estándar SSL / TLS . El concepto más cercano es el de un ID de sesión , que se intercambia a través de los mensajes ClientHello y ServerHello , no los mensajes Finished . Por definición, el ID de sesión no es específico de una sola conexión.

El contenido del mensaje Finished es un hash calculado sobre todos los mensajes de intercambio de manos intercambiados previamente, en ambas direcciones. El mensaje Finished que se envía después del ChangeCipherSpec , está protegido con los algoritmos y claves criptográficos recién negociados, es decir, cifrados y con MAC.

La protección contra el ataque de reproducción se basa en la forma en que se calculan los contenidos del mensaje Finished : dado que el hash se realiza en todos los mensajes de intercambio, incluye, en particular, los elementos client_random y server_random enviados por ambos clientes y servidor. Un atacante que intenta hacer una reproducción no puede reutilizar ambos randoms, ya que, por definición, el atacante está reproduciendo al cliente mientras habla con el servidor original, o reproduce el servidor mientras habla con el cliente original.

Como guía SSL, recomiendo esta respuesta .

    
respondido por el Tom Leek 04.06.2014 - 13:03
fuente
0

Su pregunta no está clara, pero responderé lo que pueda entender. Pero primero, la referencia definitiva para los protocolos TLS son los RFC base 2246, 4346 y 5246, extendidos por otros RFC cuando se usan algunas características opcionales (como ciertas extensiones); Usted debe leer esos para preguntas tan detalladas.

El mensaje Finished contiene el PRF de el secreto maestro, un indicador de dirección y un hash de los mensajes de reconocimiento (excluyendo HelloReq si se usa). No hay 'id de conexión' en SSL / TLS, pero hay un 'id de sesión' que es generalmente (no siempre) enviado por el servidor en ServerHello ; todo el ServerHello junto con todos los demás mensajes de saludo de enlace, se incluye en el hash de saludo de saludo.

Los mensajes

Finished se envían en cada dirección (cliente a servidor y servidor a cliente); la secuencia depende de si usted hace un apretón de manos completo o uno abreviado (reanudación). Los mensajes Finished , como todos los mensajes que siguen a ChangeCipherSpec , están encriptados y HMACed (o encriptados AEAD que no necesitan un HMAC) usando claves derivadas del secreto maestro más el cliente y el servidor. El descifrado y la autenticación correctos de Finished esencialmente demuestran el acuerdo sobre el secreto maestro, y como debe ser el PRIMER mensaje cifrado, garantiza la detección de una falta de coincidencia antes de que los datos del usuario puedan estar expuestos.

La reproducción de un mensaje en la misma conexión se ignora o es una violación del protocolo y, por lo tanto, es inútil. Asumiré que su ataque previsto es reproducir un Finished válido anteriormente como parte de un nuevo intento de conexión falsa de algún tipo. Si usa el mismo Finished para un saludo diferente, no coincide y falla. Solo podría funcionar si podría volver a hacer el mismo apretón de manos, pero no puede hacerlo porque al menos el nonce, y en muchos casos también algunas entradas anteriores al maestro, son nuevamente seleccionadas por la otra parte (legítima) y diferentes.

    
respondido por el dave_thompson_085 04.06.2014 - 12:19
fuente

Lea otras preguntas en las etiquetas