archivio di documenti cloud intelligente e sicuro

2

Sto pensando di creare un archivio di documenti basato su cloud. L'intenzione è di rendere impossibile per il sistema leggere i file degli utenti ed essere più di un semplice provider di archiviazione.

Guardando questa domanda , ci sono alcuni modi per farlo, ma in pratica questo limita il sistema di archiviazione ad essere solo un fornitore di storage" stupido ": solo sulla propria macchina i dati avranno senso dopo la decrittazione.

Affidandoti che il fornitore di servizi di archiviazione non riderà delle tue imbarazzanti foto delle vacanze, questo approccio è solido. Ma il problema è che non avrai la comodità di un sistema meno sicuro come dropbox, google drive o neat.com.
Questi sistemi (chiamiamoli "intelligenti") indicizzano i dati per la ricerca, hanno pratici visualizzatori di documenti nel browser, ecc., Che voglio per il mio sistema.

Ma fornire un'interfaccia web ai dati degli utenti significa che il server web deve essere in grado di pubblicare file (o miniature) non crittografati.

Per l'archiviazione, stavo pensando di utilizzare la crittografia asimmetrica (RSA) dei segreti di crittografia simmetrica (AES?) sul server centrale. Ogni file è simmetricamente crittografato con un segreto per file. Questi segreti sono crittografati usando la chiave pubblica. La chiave privata necessaria per decifrare il segreto di un file (e quindi decodificare il file) viene crittografata utilizzando un segreto basato sulla password dell'utente.

Ciò significa che i file possono essere letti dal server solo se la chiave privata decifrata viene mantenuta nella sua forma decodificata per la durata di una sessione utente. Similari, l'indicizzazione e la generazione di miniature per file / documenti memorizzati possono essere eseguiti solo mentre la chiave privata è "sbloccata". Questo design è facilmente espandibile per contenere password specifiche per l'applicazione (creare una chiave privata crittografata per password), nel caso in cui abbia mai voglia di sviluppare app oltre all'interfaccia web.

La mia domanda è: Quanto fondamentalmente (in) è sicuro questo design?

  1. Se il server (web) può decrittografare i file quando gli utenti hanno effettuato l'accesso, questo ovviamente pone una domanda su "quanto sono affidabili e responsabili i dati degli utenti e i segreti di crittografia, vero?" C'è un modo per formalmente (/ per progetto) rispondere a questa domanda con " molto "?
  2. Inoltre, quanto sono ansiosi gli amministratori di sistema del mio provider cloud per MITM il mio sistema in esecuzione? (Se per esempio sotto pressione da parte di qualche governo.)
  3. E infine: nel caso qualcuno prenda in mano i miei server, i dati degli utenti / i segreti di crittografia sono al sicuro da occhi indiscreti?
posta derabbink 21.11.2012 - 18:35
fonte

1 risposta

4

Non sono sicuro di aver compreso il tuo problema. Sembra che ci sia una contraddizione nei tuoi obiettivi rispetto alla soluzione.

  • Non ti fidi che il server non sia nascosto
  • Fornisci al server le tue chiavi di decrittografia durante l'accesso in modo che possa eseguire la scansione dei file e generare metadati
  • Confidi che il server dimentichi le chiavi e il testo in chiaro quando l'utente si disconnette

Sarebbe meglio generare i metadati al momento della crittografia sulla workstation dell'utente. Quindi caricare il testo in chiaro dei metadati insieme ai dati crittografati. Non è a prova di futuro, quindi scegli attentamente i tuoi metadati.

Per condividere il file, crittografare il file di chiavi con la chiave pubblica del destinatario e caricarlo.

Non fornire mai il file di chiavi in chiaro al server.

    
risposta data 21.11.2012 - 19:28
fonte

Leggi altre domande sui tag