Sto cercando un modo o una procedura ottimale per archiviare Userdata in modo sicuro in un database senza crittografare il database.
Stiamo parlando di un server delle applicazioni connesso a un server di database. Il mio approccio è stato quello di crittografare i dati utente sul server delle applicazioni (come?) E archiviare i dati crittografati nel server database. Se un utente si autentica da solo sul server delle applicazioni, i dati crittografati devono essere letti dall'app-server, decrittografati e inviati all'utente ...
Aggiornamento: È obbligatorio che l'App-server possa decrittografare i dati utente (ad esempio nome, cognome, gruppo sanguigno, prodotti acquistati, altri dati personali, Non si parla di password qui) perché l'App-Server deve decifrare lo spazio memorizzato dati nel database per presentare i dati al cliente.
Esistono strumenti / best practice per questo scenario?
Suppongo che un database completamente crittografato potrebbe essere la soluzione migliore, ma esistono dei modi per proteggere questo ambiente senza crittografare completamente il database?
Aggiorna
Proverò a chiarire Usecase:
Il cliente sta gestendo un sito Web in cui gli utenti effettuano l'accesso con le loro credenziali (nome utente / password). Appserver è tomcat, il database è oracle afaik. Non ci sono requisiti legali (nessun PCI, Sox, HIPAA, ecc.) Coinvolti per i dati memorizzati, tuttavia il cliente desidera proteggere i dati crittografandoli. Il cliente non vuole crittografare il database a causa di problemi di licenza, problemi di prestazioni e il "problema" che gli amministratori del database potrebbero decrittografare il database ... quindi i dati devono essere crittografati sul server delle applicazioni e quindi inviato al server del database.
Gli architetti del software vogliono adottare l'approccio Sicurezza per oscurità e sviluppare la loro tecnica di "crittografia" (magari rot14 o qualsiasi altra cosa :)) e implementarla a livello del server delle applicazioni. Il cliente è pienamente consapevole del fatto che tutti gli architetti del software potrebbero ora essere in grado di leggere i dati crittografati memorizzati nel database, ma questo va bene per lui ...