Supponiamo che due dispositivi comunichino tramite una sorta di metodo che può essere visualizzato pubblicamente e replicato. Gli aggressori hanno la capacità di replicare le informazioni inviate tra i due e gli attaccanti possono ascoltare i trasferimenti. Supponiamo che entrambi i dispositivi non siano in grado di stabilire se stanno ricevendo comunicazioni dall'altro dispositivo o da un utente malintenzionato.
Quali tecniche crittografiche possono consentire alle informazioni di non essere lette dagli hacker (crittografia), ma anche di consentire la convalida di vecchi pacchetti di informazioni provenienti da un dispositivo legittimo? Inoltre, come potrebbero essere fatti due pacchetti identici per non apparire identici agli aggressori?
Ho sviluppato una soluzione che ritengo completa tutti questi obiettivi, ma devono esserci già state soluzioni già create per questo scopo. Prende i dati del payload, concatena l'equivalente di un codice di autenticazione a due factory che cambia ogni pochi secondi e concatena un numero casuale su, quindi i payload identici appariranno diversi. Quindi, l'intero carico utile viene crittografato utilizzando una sorta di crittografia simmetrica. Entrambi i dispositivi hanno già un file di chiave segreta condivisa.
Mi sento come se dovesse esserci un altro tipo di soluzione qui, ma non so come si chiama o cosa cercare. Non voglio "rollare la mia crittografia" e voglio trovare una soluzione esistente e verificata. Qualcuno può darmi alcuni argomenti per indagare?