Un'applicazione web che sto sviluppando ha bisogno di memorizzare alcuni dati sensibili in un database. Devo essere in grado di recuperare e utilizzare questi dati in seguito, quindi l'hashing non è sufficiente.
L'applicazione web potrebbe, ad un certo punto nel futuro, essere bilanciata dal carico, quindi sto cercando di fare le cose correttamente ora invece di combattere più tardi.
Ho creato un processo in due passaggi per questo utilizzando tecnologie standard:
- I dati sensibili vengono crittografati utilizzando AES nel database SQL.
- Per assicurarti che i valori chiave / IV AES siano il più sicuri possibile, vengono crittografati dall'applicazione Web IIS utilizzando DPAPI (ambito utente) e memorizzati in un file in
App_Data
.
Questo perché non penso di poter utilizzare il DPAPI da solo se il bilanciamento del carico sarà in uso - sono corretto?
Mi chiedo se non sto complicando le cose con il secondo passaggio, ma non mi piace l'idea di mantenere la chiave AES in testo normale in un file web.config
nell'applicazione IIS.
Questo approccio è OK e relativamente sicuro?