Sto lavorando su una piattaforma web che conterrà alcune informazioni personali piuttosto delicate, e ovviamente questo solleva il problema della sicurezza di questi dati. Gli utenti possono caricare alcuni file e mi chiedevo quale fosse il modo migliore per archiviarli in modo sicuro.
Ho fatto diverse ricerche e una delle pagine che ho trovato fonte di ispirazione era link (Non sto utilizzando Stormpath btw, solo alla ricerca di idee di implementazione) che dicano che l'utilizzo dei servizi Cloud è una delle migliori soluzioni in quanto la loro sicurezza è già piuttosto limitata. L'avvertenza che ho riscontrato in altre discussioni è che i tuoi dati sono archiviati da una terza parte e, se usi le chiavi di crittografia gestite da Amazon, possono teoricamente visualizzare i tuoi dati.
Tuttavia, nel complesso, una cosa che non capisco - suppongo a causa della mia totale mancanza di esperienza nel dominio - è il motivo per cui la memorizzazione di file altrove rispetto al tuo server sarebbe più sicura. Ho provato a immaginare alcuni scenari diversi:
1- file memorizzati sul server web senza crittografia - > ovvio problema se qualcuno si rompe nel server
2 file memorizzati sul server web, crittografati con una chiave globale, memorizzati al di fuori della cartella "pubblica" - > se qualcuno riesce ad accedere al server, potrebbe ottenere i file ma anche trovare la chiave di crittografia (e qualunque cosa vogliano realmente) e accedere ai file?
3- file memorizzati su un provider cloud di terze parti, crittografati con una chiave globale, memorizzati al di fuori della cartella "pubblica" - > bene ... lo stesso problema? se qualcuno ottiene l'accesso al server, può ottenere la chiave di crittografia e suppongo che non sarebbe difficile per loro ottenere il file che fornisce le credenziali all'account cloud e quindi ottenere i file?
Nel complesso, sembra che ogni volta che il tuo server web venga compromesso, anche i tuoi dati sono sostanzialmente compromessi? L'unica soluzione sarebbe quella di crittografare i file con una chiave nota solo all'utente, ma in pratica ciò comporta un sacco di "usabilità": i dati irrecuperabili se l'utente dimentica la chiave, l'utente deve tenere al sicuro una lunga chiave di crittografia in cima alla sua password, ecc.
Qualche commento per far luce su questo argomento per me?
Grazie mille