Sto progettando il mio sistema di backup su Amazon S3 (probabilmente Singapore) e vorrei che tutti i miei file fossero crittografati sul server. Uso ArchLinux x64. Il mio sistema aggiungi solo una volta caricata una cartella crittografata non cambierà nulla all'interno di questa cartella. per esempio. Ho dei documenti e ogni mese caricherò una cartella per quel mese.
nota Non voglio usare Amazon SSE qualcosa su di loro avendo le chiavi dei miei dati mi sembra una perdita di tempo per me (posso usare questo in aggiunta a ciò che descrivo qui sotto) .
Desidero fare quanto segue (per crittografare la cartella foo):
- sha512 ogni file in foo e posiziona l'elenco degli hash in foo / hashes.sha512
-
dd if=/dev/urandom | tr -dc '[:print:]' | fold -w 256 | head -n 1 > foo.key
-
tar -cvjO "foo" | openssl aes-256-cbc -salt -kfile foo.key | dd of="foo.enc"
- sha512sum foo.enc > > foo.key (openssl legge solo la prima riga per il tasto)
- sha512sum foo / hashes.sha512 > > foo.key
- openssl aes-256-cbc -salt -in foo.key -out foo.key.enc
- Specifica manualmente la password
- Carica foo.enc su S3
- Mantieni foo.key.enc sicuro!
Ho alcune domande chiave:
- È un uso corretto di ciascuno di questi strumenti?
- Sta usando
/dev/urandom
un buon metodo per generare una password? - Il mio metodo di archiviazione localmente del file è crittografato con la chiave più debole (quella che ricordo) e il solo caricamento dei file crittografati con le chiavi univoche più grandi è strong come sembra?
- Qual è il valore più grande che posso inserire come valore chiave per openssl?
- Qualunque ovvio problema serio?