Red de conocimientos turísticos - Conocimientos sobre calendario chino - Sobre la seguridad del vector de inicialización CBC modo IV en cifrado y descifrado AES

Sobre la seguridad del vector de inicialización CBC modo IV en cifrado y descifrado AES

Hace algún tiempo, estuve estudiando el cifrado AES de HLS. Dado que la transmisión HLS de la estación de televisión local usa cifrado AES, después de verificar los esquemas de cifrado y descifrado relevantes, descubrí que se usa el modo AES CBC simple en el modo CBC. para inicializar el vector. Sin embargo, al descifrar, utilicé el IV incorrecto debido a un malentendido y, de hecho, descifré el vídeo y lo reproduje también, de ahí este artículo.

Aunque existen cinco métodos de cifrado, el más utilizado es CBC. El nombre completo de CBC es Cipher Block Chaining, que es algo similar a blockchain. Primero echemos un vistazo a los métodos de cifrado. p>

De izquierda a derecha en la figura, el IV inicializado solo se usa en el primer bloque de cifrado, y el IV usado en el enésimo bloque de cifrado son matrices binarias cifradas N-1 (Ngt; 1).

El descifrado de CBC también se realiza de izquierda a derecha, pero el IV cifrado solo se utiliza para descifrar el primer bloque. El descifrado de otros bloques utiliza el binario cifrado del bloque anterior como IV para las operaciones de descifrado. .

A través del análisis anterior, podemos saber que al cifrar, iv afectará los resultados de cifrado de todos los datos, y al descifrar, iv solo afectará los resultados de descifrado del primer bloque cifrado y el descifrado de otros bloques pueden obtener el IV correcto para los bloques N-1 directamente separando los datos cifrados.

Esto también confirma por qué ff puede reproducir la transmisión de video que descifré con el iv incorrecto.

Esto también confirma por qué ff puede reproducir la transmisión de video que descifré con el iv incorrecto, porque el tamaño del primer bloque de almacenamiento puede ser los datos id3, y ff descartará directamente los datos id3 y decodificará directamente los siguientes datos de vídeo.

Así que desde este punto podemos ver que en el caso de utilizar una clave, la IV tiene poco impacto en la confidencialidad de todos los datos.

Ahora hablemos de cómo descubrí esto. Dado que el IV incorrecto solo afecta el primer fragmento, reproduje el fragmento directamente con ff después del primer intento de descifrado, ff pudo decodificar y reproducir con éxito, pero en comparación con otras transmisiones HLS no cifradas, hubo un retraso de 3 a 5 segundos en La reproducción de los datos descifrados, lo que me dio dolor de cabeza. Más tarde, usé ffplay -v trace para imprimir el seguimiento de reproducción para imprimir el registro de descifrado de reproducción. Resultó que la información id3 de los datos del video se perdió, por lo que el problema. ocurrió en el primer bloque de datos. Más tarde, estudié el método de asignación de IV de cifrado y descifrado m3u8. Después de muchas pruebas, lo envié a la asignación de IV correcta y los datos descifrados se pueden reproducir en el tiempo. Más tarde apareció este artículo.

Por extensión, AES proporciona más modos para elegir para el uso débil de iv en el modo CBC. El contenido específico se puede encontrar en la wiki.

https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

a> All Rights Reserved.