Sto costruendo un'applicazione REST per archiviare le credenziali: le chiavi GitHub e altri dati sensibili (che possono essere caricati dall'utente della web app). Sto cercando un modo ottimale per proteggere i dati, ma sono perso su come ridurre il rischio di sicurezza nel caso in cui il server di database / web application sia compromesso.
Attualmente sto osservando la seguente soluzione:
-
Le credenziali crittografate sono archiviate nel database dell'applicazione.
-
Le chiavi di crittografia per le credenziali sono archiviate in un database separato dietro un firewall.
-
Questo, come lo vedo io, dovrebbe ridurre il rischio se il database dell'applicazione è compromesso.
Il database è PostgreSQL e probabilmente il server è Apache2 + wsgi.
Questa architettura ha senso? È ridondante? Cosa può essere migliorato per l'archiviazione delle chiavi di crittografia? Quali strumenti consiglieresti per questo caso d'uso? Grazie in anticipo!