Sto sviluppando su una piattaforma in cui la mia unica opzione di crittografia utilizza AES ECB. La crittografia viene utilizzata per proteggere i parametri che l'utente può impostare e quindi è suscettibile a un attacco di testo in chiaro scelto. Non è un cookie, ma simile; l'utente inserisce le credenziali, che con altri dati vengono inviate al server per l'autenticazione e l'autorizzazione.
Quali passi posso fare per rendere impraticabile l'attacco in chiaro scelto?
In particolare, la mia attuale proposta di mitigazione è quella di aggiungere "riempimenti" casuali prima e dopo il mio contenuto significativo. Il blob crittografato avrà approssimativamente la stessa lunghezza, ma il posto in cui appare il testo cifrato dal testo in chiaro scelto sarà diverso per ogni chiamata. A questo punto le comunicazioni sono a basso volume, quindi sono meno preoccupato per l'efficienza, le dimensioni o il tempo di elaborazione dei dati. Si tratta di una mitigazione efficace?
In alternativa, potrei considerare di randomizzare l'ordine dei campi (il testo in chiaro è JSON). È un po 'più difficile da implementare. Questo renderebbe l'attacco impraticabile?
Ho letto e penso di capire questa grande domanda e risposta .