Quando si crittografa i singoli file nella directory per l'archiviazione nel cloud, la memorizzazione di IV e sale con il file è errata?

1

Sto sviluppando una semplice utility per risolvere un problema molto specifico: voglio memorizzare tutte le mie foto su cloud. Immagini di famiglia, niente di eccentrico, illegale o mortale. i requisiti sono:

Voglio che siano almeno "oscurati", come in "non automaticamente visualizzabili e indicizzabili quando qualcuno spazza il mio account di archiviazione", come Google o Microsoft quando raccolgono materiale per addestrare i loro servizi cognitivi o qualsiasi altra società. co.nz dà accesso ai miei file a. Meglio sarebbe sicuramente crittografato, ovviamente.

Devo essere in grado di rilevare le modifiche a una singola immagine e caricare solo quella, evitando così enormi archivi.

Ho sviluppato una sequenza di operazioni usando solo le librerie standard (apache commons crypto principalmente) che dovrebbero essere protette dagli standard attuali:

[una volta, quando si esegue la crittografia]

  1. inserisci una password (qualsiasi lunghezza)

[i passaggi successivi vengono ripetuti per ciascun file]

  1. genera un secureRandom salt (32 byte)
  2. calcola una password di 16 byte + hash sale usando PBKDF2WithHmacSHA512 (1000 iterazioni)
  3. genera un secureRandom IV (16 byte)
  4. ZIP il singolo file (questo è modificabile in quanto inutile per le immagini)
  5. AES codifica il file utilizzando AES / CBC / PKCS7Padding

So che questo non nasconderà il nome, la natura e la dimensione dei miei file, (contrariamente a quello che tenta di fare Cryptomator, ad esempio, ma webdav è un problema quando si tenta di rilevare i cambiamenti di file), ma dovrebbe andare bene da me a meno che non abiliti in qualche modo il cracking dell'intera crittografia.

Ora ho bisogno di memorizzare il sale e l'IV, e attualmente ho deciso di memorizzarli in un file JSON di metadati nello stesso posto in cui conserverò il file crittografato. Ho letto e capito che l'IV deve essere casuale ma non ha bisogno di essere segreto, correggimi se sbaglio, ma per quanto riguarda il sale hash? Posso memorizzarlo con la IV e il file crittografato senza minacciare alcuna parte della crittografia?

    
posta francesco paolo schiavone 02.01.2017 - 16:38
fonte

2 risposte

1

Come @Limit ha commentato,

your entire security is dependent on your password. If an attacker has access to your directory, they can access both your salt and IV.

Quindi non dovrebbe essere un problema archiviarli.

La tua password sarà l'elemento più importante che devi proteggere: -)

    
risposta data 08.03.2018 - 12:39
fonte
0

Né l'IV né il sale sono segreti, quindi puoi conservarli nei metadati.

quale proprietà è utilizzata per

    
risposta data 08.03.2018 - 23:43
fonte

Leggi altre domande sui tag