Respuesta inesperada de la extensión TLS en el servidor hola

3

¿Cuál es el comportamiento esperado cuando un servidor hola contiene una respuesta inesperada para una extensión TLS (por ejemplo, ALPN)?

¿Debo (como cliente) terminar la conexión o simplemente ignorar la extensión? ¿Está definido en el RFC? ¿Debería el comportamiento ser diferente para diferentes extensiones?

    
pregunta EarthDragon 02.10.2017 - 14:38
fuente

2 respuestas

5

En la TLS 1.2 RFC Sección 7.4.1.4 dice lo siguiente:

  

Un tipo de extensión NO DEBE aparecer en ServerHello a menos que sea el mismo      El tipo de extensión apareció en el correspondiente ClientHello. Si un      cliente recibe un tipo de extensión en ServerHello que no lo hizo      solicitud en el ClientHello asociado, DEBE abortar el saludo      con una alerta fatal de unsupported_extension.

Para TLSv1 y TLSv1.1 mire a RFC 3546 que se aplica a ambas versiones.

Sección 2.3 :

  

Tenga en cuenta que para todos los tipos de extensión (incluidos los definidos en      futuro), el tipo de extensión NO DEBE aparecer en el servidor extendido      Hola a menos que el mismo tipo de extensión apareciera en el correspondiente      hola cliente Por lo tanto, los clientes DEBEN abortar el apretón de manos si reciben      un tipo de extensión en el servidor extendido hola que no lo hicieron      solicitud en el cliente asociado (ampliado) hola.

Sección 4: Alertas de error

  

"unsupported_extension": esta alerta es enviada por los clientes que         recibir un servidor extendido hola que contiene una extensión que         no puso en el cliente correspondiente hola (ver Sección 2.3).         Este mensaje siempre es fatal.

    
respondido por el RoraΖ 02.10.2017 - 15:06
fuente
1
  

¿Cuál es el comportamiento esperado cuando un servidor hola contiene una   ¿Respuesta inesperada para una extensión TLS (por ejemplo, ALPN)?

Supongo que cuando dices "respuesta inesperada", estás sugiriendo que el servidor responde con un valor de "protocolo seleccionado" ALPN que no se encuentra entre los propuestos por el cliente.

  

¿Debo (como cliente) terminar la conexión o simplemente ignorar la   ¿extensión? ¿Está definido en el RFC?

Si bien RFC 7301 no es explícito, creo que la expectativa implícita es que el cliente debe terminar el protocolo de enlace TLS - tal como lo haría el servidor si no admitiera ningún protocolo que el cliente haya anunciado:

In the event that the server supports no protocols that
the client advertises, then the server SHALL respond
with a fatal "no_application_protocol" alert.
  

¿Debería ser diferente el comportamiento para diferentes extensiones?

Las diferentes extensiones pueden manejar este caso de manera diferente: los dos controladores más comunes son "abortar el saludo" e "ignorar el intento de extensión". Por su propia naturaleza, las extensiones a menudo toleran diferentes niveles de soporte y madurez de implementación.

    
respondido por el gowenfawr 02.10.2017 - 15:11
fuente

Lea otras preguntas en las etiquetas