Estoy trabajando en un proyecto en el que dos dispositivos se comunicarán con AES con CBC a través de TCP. Ya tenemos un mecanismo seguro para compartir la clave de cifrado / descifrado. No estoy seguro de si necesitamos tener un IV al azar o no, o con qué frecuencia comenzar un nuevo "mensaje".
Así es como creo que funcionará:
Ambos lados se envían mensajes de saludo entre sí para indicar el inicio del canal. El mensaje de cada lado comenzará con un IV aleatorio. Después de ese punto, cada lado enviará ocasionalmente un pequeño mensaje al otro que se encadenará de los mensajes anteriores. Es probable que esto continúe durante unos minutos, pero podría continuar indefinidamente.
¿Eso funciona? ¿Necesita cada mensaje un nuevo IV? Cada sesión potencial tendrá una nueva clave de cifrado, así que ¿se requieren IVs aleatorios?