Sto lavorando a un progetto in cui due dispositivi comunicheranno con AES con CBC su TCP. Abbiamo già un meccanismo sicuro per condividere la chiave di crittografia / decrittografia. Non sono sicuro che sia necessario avere una IV casuale o meno, o quanto spesso iniziare un nuovo "messaggio".
Ecco come penso che funzionerà:
Entrambe le parti inviano messaggi di saluto l'un l'altro per segnalare l'inizio del canale. Il messaggio di ogni lato inizierà con un IV casuale. Dopo questo punto, ciascuna parte invia occasionalmente un piccolo messaggio all'altro che sarà incatenato dai messaggi precedenti. Questo probabilmente continuerà per alcuni minuti ma potrebbe continuare all'infinito.
Funziona? Ogni messaggio ha bisogno di una nuova IV? Ogni sessione potenziale avrà una nuova chiave di crittografia, quindi sono necessari IV casuali?