Voglio migliorare il flusso di crittografia utilizzato dalla mia applicazione. Oggi uso il codice AES mentre la sua chiave e il suo IvBuffer sono codificati nel codice. So che non è sicuro e voglio migliorare questo. Voglio creare un nuovo codice AES mentre la sua chiave sarà archiviata nel database. La chiave sarà crittografata con il vecchio codice AES.
L'applicazione utilizzerà il nuovo codice AES:
- Decrittografa la chiave per il nuovo cifrario usando il vecchio codice.
- Cifra / decrittografa le informazioni utilizzando il nuovo codice utilizzando la chiave decrittografata.
Il flusso consentirà una più facile rotazione delle chiavi in futuro (posso elaborarlo ma non è correlato alla mia domanda).
In che modo è protetto il processo di crittografia?
Che cosa fare con IvBuffer per il nuovo codice AES? Per memorizzarlo nel database o per inserire codice hardcoded nel codice?
Aggiunto
Capisco dalla risposta che segue che la chiave aggiuntiva hardcoded non migliora la mia sicurezza. Ho bisogno di memorizzare la chiave di crittografia nel database (opzione 7 elencata qui dove memorizzare una chiave per la crittografia? ). Purtroppo non posso usare dispositivi esterni per la memorizzazione delle chiavi e quindi ho bisogno di usare il database.
Domanda se la sicurezza dell'opzione quando la chiave è memorizzata nel testo normale nel database è meglio che l'opzione quando si utilizza una chiave hard codificata aggiuntiva per la stessa chiave memorizzata nel database?