¿Las solicitudes cifradas de SSL son vulnerables a los ataques de reproducción?

54

¿Las solicitudes cifradas de SSL son vulnerables a los ataques de reproducción? Si es así, ¿cuáles son las buenas opciones para prevenir esto?

    
pregunta rreyes1979 12.09.2012 - 20:22
fuente

1 respuesta

42

El propio canal SSL / TLS está protegido contra ataques de reproducción utilizando el MAC (Código de autenticación de mensajes), calculado mediante el secreto de MAC y el número de secuencia. (El mecanismo MAC es lo que garantiza la integridad de la comunicación TLS). Consulte especificación TLS 1.1 Apéndice F.2 :

  

Para evitar ataques de reproducción o modificación de mensajes, se calcula el MAC   del secreto MAC, el número de secuencia, la longitud del mensaje, el   Contenido del mensaje y dos cadenas de caracteres fijas.

EDIT: Como señala @CodesInChaos, también debe tenerse en cuenta el apretón de manos; de lo contrario, podría reproducirse toda la conexión TLS (no solo algunos registros, que es lo que el MAC y el número de secuencia proteger contra). Si un atacante reprodujo el mismo mensaje Client Hello , el servidor devolverá un Server Hello con un valor aleatorio de servidor diferente, por lo que alterando el resto del intercambio de claves . Además, en el modo de intercambio de claves RSA, solo el cliente legítimo inicial sabría el secreto maestro anterior que ha cifrado; en el modo de intercambio de claves DHE, los randoms del cliente y del servidor están firmados juntos en el mensaje de intercambio de claves del servidor (de ahí la importancia de los buenos números aleatorios allí también). (Hay un poco más sobre estos dos modos en esta pregunta .)

No queda claro en tu pregunta qué estás tratando de proteger contra los ataques de repetición. Normalmente, este sería un mensaje enviado por encima de la capa SSL / TLS, utilizado por su aplicación.

El cifrado proporcionado por SSL / TLS sin duda impide que un intruso vea la solicitud de la aplicación y, por lo tanto, la reproduzca con su propia conexión SSL / TLS separada.

Sin embargo, SSL / TLS por sí solo no necesariamente impide que el usuario inicial legítimo repita una solicitud. Los protocolos y aplicaciones que requieren este nivel adicional de protección tienden a tener mecanismos basados en nonce en el nivel de la aplicación para abordar este problema (que es bastante independiente de SSL / TLS, aunque la prevención de escuchas ilegales ayuda).

    
respondido por el Bruno 12.09.2012 - 20:42
fuente

Lea otras preguntas en las etiquetas