Assume a server and a client that are each on physically secure, uncompromised networks. However, between each network is an attacker that is capable of viewing traffic.
Questo in pratica significa: "Assumi A, il lancio A dalla finestra, e smetti di assumerlo."
The traffic between the two devices is encrypted with 256-bit AES using a key shared by a physical side channel (thumb drive).
Ciò rende irrilevante il resto della configurazione.
The two device's firewalls are set to drop all traffic not from each other's IP address.
Questo è inutile e non aggiunge molto in termini di sicurezza. È banale riscrivere l'intestazione TCP e falsificare la fonte.
Sembra che tu stia dicendo: "Il punto A e il punto B usano la crittografia end-to-end con una chiave simmetrica nota come A e B, e mai trasmessa in banda. Se un attaccante compromette [qualsiasi parte] della rete tra A e B, cosa può fare l'attaccante fare contro cosa possono conoscere ? "
Supponendo che tu stia usando AES256 per codificare i tuoi dati prima di lasciare il punto A, e il punto B decrittalo, quindi l'intermediario non può fare molto.
Cosa possono sapere - che le transazioni e le conversazioni di dati avvengono tra i due punti insieme ad altri metadati.
Cosa possono fare - bloccare, reindirizzare, memorizzare nella cache e manomettere in altro modo il traffico.
Poiché la tua configurazione non menziona l'autenticazione, solo la crittografia, quindi un attacco MiTM potrebbe (in questa configurazione) decrittografare i tuoi dati, memorizzarli nella cache, quindi ricrittografarli e inviarli. Né il punto A né B ne sono a conoscenza.
"Come decifrano i miei dati ???" - se questo è un attore di livello statale con risorse, possiamo supporre che abbiano le risorse per l'ingegnere sociale stesse una copia della chiave, o il malware ne ha rilevato una copia quando si trovava nell'unità USB di un computer, ecc.).
Il tuo problema principale è che stai usando la crittografia senza autenticazione. Ora, se si utilizza la crittografia con firma e autenticazione dei messaggi, se il MiTM sta manomettendo del tutto il traffico, entrambi gli endpoint lo sapranno. (Beh ... potrebbe sapere a seconda dell'implementazione).