TLS1.2 AES 128 CBC Tamaño de datos encriptados

5

Sé que los cifrados TLS como TLS_RSA_WITH_AES_128_CBC_SHA transmiten datos como se muestra . A mi entender, el texto cifrado debe ser un múltiplo del tamaño de bloque, que en este caso es de 16 bytes. Sin embargo, cuando miro la salida de abajo de Wireshark, estoy confundido.

Después de restar los 16 bytes correspondientes al IV del comienzo de los Datos de la aplicación cifrados, esto deja 100 bytes de texto cifrado que obviamente es no un múltiplo de 16. ¿Qué no entiendo?

EDIT : en función de la estructura de la estructura en el enlace anterior, tenía la impresión de que el MAC se adjuntaba al texto sin formato antes del cifrado y, por lo tanto, se incluía en el texto cifrado.

    
pregunta user3452345224 17.06.2018 - 23:07
fuente

1 respuesta

4

El SHA final en TLS_RSA_WITH_AES_128_CBC_SHA también significa (entre otras cosas) que cada paquete tiene una etiqueta HMAC-SHA-1, para garantizar que los datos no se hayan manipulado. Esto tiene una longitud de 20 bytes, ya que es la longitud de resumen de SHA-1. Así que de los 116 bytes, los 20 finales son esta etiqueta y nos quedan 96 = 6 veces 16 bytes de texto cifrado puro (AES-CBC), los primeros 16 son el IV necesario para el modo CBC, y hay algunos rellenos en el final, pero tenemos alrededor de 4 a 5 bloques de datos de aplicaciones reales aquí.

    
respondido por el Henno Brandsma 17.06.2018 - 23:52
fuente

Lea otras preguntas en las etiquetas