Sto lavorando su un'applicazione web ASP.NET che dovrà memorizzare informazioni riservate. Vorrei crittografare i campi sensibili per proteggerli da eventuali vulnerabilità di SQL injection. Tuttavia, dovrò anche riferire su questi campi. Per questi motivi, ho escluso la crittografia del database trasparente (dato che non fornirebbe protezione contro l'iniezione SQL) e la crittografia del livello dell'applicazione (poiché renderebbe difficile la segnalazione rispetto ai dati) e mi rimane la crittografia a livello di database.
Il mio piano è di utilizzare la funzione EncryptByPassphrase
di SQL Server, con una connessione SSL al database per proteggere la passphrase sul filo. La chiave verrebbe memorizzata in web.config
, protetta dall'API di Windows Data Protection a livello macchina.
Questo è un buon piano? Quali sono le potenziali vulnerabilità?