¿El respaldo TLS puede funcionar solo con el lado del servidor?

2

He parchado mi servidor con OpenSSL 1.0.1j para la vulnerabilidad de Poodle. He estado leyendo la especificación en TLS_FALLBACK_SCSV. Por lo que puedo decir para que la prevención de respaldo TLS funcione correctamente, se requiere que el cliente lo anuncie en el cliente hola, y si no lo hace, incluso si el servidor admite el respaldo, no se utilizará. ¿Cuál es el comportamiento esperado si solo un lado, por ejemplo el lado del servidor, solo lo admite?

    
pregunta user53029 02.12.2014 - 19:13
fuente

1 respuesta

5

Eso es correcto: los clientes que no admiten TLS_FALLBACK_SCSV no pueden beneficiarse de la implementación del servidor. Sin embargo, comprender la intención de la función puede ayudarlo a tranquilizarse.

Existen en general 2 categorías de implementaciones TLS / SSL: modernas y antiguas. Las implementaciones modernas utilizan versiones TLS recientes (aunque pueden estar bloqueadas en versiones anteriores como TLS 1.1) y pueden actualizarse con soporte para extensiones adicionales. El código requerido para agregar el soporte de TLS_FALLBACK_SCSV en una biblioteca TLS es mucho más pequeño y simple que implementar una nueva versión de TLS.

Las implementaciones heredadas no se pueden actualizar, pero es posible que necesiten soporte por varias razones prácticas. TLS_FALLBACK_SCSV permite que las implementaciones modernas sean compatibles con los protocolos heredados sin ser obligados a usarlos cuando ambos puntos finales pueden admitir un protocolo mejor.

Por lo tanto, la comunicación con una implementación heredada nunca está protegida, presumiblemente porque de todos modos no admite las versiones más recientes de TLS. Obviamente, el método más seguro sería deshabilitar la versión TLS más reciente, pero eso haría que una gran parte de los servicios TLS sean inaccesibles. TLS_FALLBACK_SCSV es una buena manera (una vez que se adopta con suficiente amplitud) para permitir la conectividad heredada cuando es necesario, al tiempo que evita que las implementaciones modernas sean degradadas por un intermediario que pueda eliminar los paquetes seleccionados.

Para responder a su pregunta directamente, el SCSV es enviado solo por el cliente. Como un pseudo-conjunto de cifrado, nunca puede ser "elegido" por el servidor, y el servidor no puede elegir un valor que el cliente no envió. Por lo tanto, un cliente que no admita TLS_FALLBACK_SCSV no lo enviará, incluso si el protocolo de enlace es una alternativa de una versión superior y el servidor no se comportará de manera diferente. Un cliente que admita el SCSV y experimente un repliegue lo enviará como uno de los valores de conjuntos de cifrado admitidos; un servidor no conforme simplemente seleccionará uno de los otros conjuntos de cifrado que admite, ignorando el valor desconocido.

P.S. TLS_FALLBACK_SCSV anteriormente se llamaba TLS_DOWNGRADE_SCSV en un borrador anterior de RFC, lo que indica su propósito en la prevención de ataques de downgrade. Supongo que se cambió su nombre para indicar la acción que el cliente está realizando: volver a una versión anterior del protocolo debido a un fallo en el apretón de manos.

    
respondido por el bonsaiviking 02.12.2014 - 20:28
fuente

Lea otras preguntas en las etiquetas