Newbie sicurezza qui
Ho uno script bash che enumera ricorsivamente tutti i file e le directory da un determinato percorso (ad esempio /home/user
) e crittografa i singoli file e li memorizza in un'altra directory (ad esempio /media/backup
) mantenendo la struttura delle directory. Sto usando la crittografia GPG simmetrica chiave (AES 128) per lo scopo.
Ora il problema è che GPG mi chiede di inserire una password per ogni file che deve essere crittografato. Poiché ci sono più file, questo non è fattibile. Quindi le soluzioni che potrei pensare sono -
- Chiedi all'utente di inserire la chiave e memorizzarla in una variabile e utilizzare tale variabile nello script per la password (con l'opzione
echo $password | gpg ... --passphrase-fd 0 --batch
). L'utente deve memorizzare la password. - Crea una nuova identità chiave pubblica / privata con GPG. Creare un nuovo file di testo contenente la password e crittografarlo con la chiave pubblica di questa nuova identità e memorizzarlo localmente. Ora nello script, decrittografare questo file di password e utilizzare la password così decrittografata. Anche in questo caso, l'utente immette la password della chiave privata (memorizzata) una volta.
Per me, entrambe le soluzioni sembrano simili (l'utente ha il pezzo finale richiesto per decifrare i file). Vorrei sapere se una soluzione è migliore dell'altra, o anche se entrambe sono insicure; e in tal caso quale dovrebbe essere la soluzione ideale.
Il modello di minaccia qui è, se i miei file crittografati e amp; il mio sistema è compromesso e un avversario ottiene l'accesso utente / root al mio sistema, non dovrebbero essere in grado di decifrare i file senza la password memorizzata.
Modifica : la persona che pubblica questa domanda ( link ) afferma che la crittografia simmetrica dei file e quindi la crittografia asimmetrica della chiave è il modo corretto per farlo. Questo implica il # 2 è il modo preferito?