Mensaje terminado extraño en TLS

4

He intentado comprender el contenido del mensaje Finished de TLS. Estoy usando WireShark para capturar el tráfico entre mi navegador e Internet. Noté una "extrañeza" cuando el conjunto de cifrado elegido es AES_GCM . Al tratarse de una secuencia de cifrado, no tiene relleno, por lo que, si lo hago bien, los datos que se envían en el mensaje Finished deben ser:

  • Nonte explícito de 8 bytes
  • 12 bytes Verify_data
  • etiqueta de autenticación de 16 bytes

Es decir, 36 bytes en total. El "problema" es que el tamaño del paquete de mensaje Finished es 40 bytes .

Y aquí está:

Servidor a cliente

¿Porquéelpaquetedemensajestiene40bytes?¿Ycuálessonlosbytesrojos?

¿YporquéWireSharkvedosHelloRequests?

Yotroesto...elClienterespondeconunpaquete176bytes:

Clienteaservidor

¿Qué me estoy perdiendo?

    
pregunta Benny 12.05.2014 - 23:19
fuente

1 respuesta

2

EDITAR: no me di cuenta cuando respondí, pero esta es una trampa de Mensaje terminado loco en TLS

Las decodificaciones como HelloRequest son, de hecho, como sugiere @Stackz porque Wireshark no puede decodificar registros cifrados . Intenta de todos modos, y solo si detecta un error de decodificación, suprime la decodificación y muestra "Mensaje de Apretón de manos cifrado". Aquí no se detectó que la decodificación era completamente falsa.

Todos los mensajes de handshake (dentro de un registro de handshake) comienzan con un prefijo de msg_type de 1 byte y 3 bytes de longitud, consulte enlace . Así tienes:
* 8 bytes nonce explícito
* 16 bytes de encriptación de 1 byte = 0x14 tipo, 3bytes = 0x00000C len, 12bytes verify_data
* Autenticación de 16 bytes
TOTAL 40

En el lado del cliente, tal vez el cliente inició inmediatamente otro saludo; 136 bytes es plausible para ClientHello, especialmente si está "optimizado" con conocimiento de lo que el servidor acaba de aceptar.

    
respondido por el dave_thompson_085 27.06.2015 - 08:58
fuente

Lea otras preguntas en las etiquetas