Estoy accediendo al servidor de prueba TLS 1.3 " https://tls13.pinterjann.is " a través de un cliente http java usando TLS 1.3. Todo parece funcionar bien, ya que la respuesta html indica:
Lo que no entiendo: ¿por qué Wireshark se muestra en la descripción general del protocolo TLSv1.3 pero en la versión de detalles TLS 1.2?
¿Wireshark solo muestra la versión incorrecta o estoy usando TLS 1.2?
Gracias de antemano por su apoyo.
Respuestas:
Disculpe, por la confusión, me faltaba la semántica exacta de TLS 1.3: por ejemplo, en Client Hello, el campo "versión" debe contener el valor fijo 0x0303 (TLS 1.2), mientras que la versión preferida está contenida en la extensión "compatible versiones ".
Desde RFC 8446 (especificación TLS 1.3):
Esto concuerda con lo que muestra Wireshark:
fuente
Wireshark informa TLS 1.3 en la columna de protocolo debido a que Server Hello contiene una extensión de versiones compatibles con TLS 1.3.
Recuerde que las sesiones TLS comienzan con un apretón de manos para negociar parámetros como la versión del protocolo y los cifrados. El cliente envía un mensaje de saludo de saludo de cliente en un registro TLS que contiene:
El servidor envía un mensaje de saludo de servidor con:
Entonces, en TLS 1.2, el cliente envía un rango de versiones compatibles, mientras que un cliente TLS 1.3 envía una lista de versiones compatibles. Luego, el servidor elegirá una única versión, pero por motivos de compatibilidad utilizará un nuevo campo para seleccionar TLS 1.3 o posterior.
(Incluso si un cliente anuncia soporte para alguna versión (por ejemplo, a través de una versión de registro TLS que contiene "TLS 1.0"), aún podría fallar el protocolo de enlace si el servidor acepta esta versión baja).
Otra cosa a tener en cuenta: Wireshark intenta interpretar un paquete inmediatamente cuando se recibe. En el momento en que se recibe el saludo del cliente, no sabrá la versión final y, por lo tanto, asumirá la versión de registro TLS. Cuando se recibe el Server Hello, puede ajustar la versión en consecuencia:
En una disección de dos pasos (que también incluye la GUI de Wireshark), la versión acordada se conocerá cuando imprima los resultados del segundo paso:
Captura de prueba utilizada anteriormente: https://github.com/wireshark/wireshark/blob/master/test/captures/tls13-rfc8446.pcap
fuente