Proteggere con password un singolo file

segreto

Vi è mai capitato di dovere proteggere con password un singolo file, e di non volervi impelagare nella crittografia asimmetrica a doppia chiave, tanto la riservatezza del file da criptare non è così importante? L’altro giorno ho installato sul mio nuovo Raspberry Pi (già: non ho resistito alla tentazione… ;-)) uno script bash per accedere a Dropbox. Si tratta di dropbox_uploader.sh del buon Andrea Fabrizi. Lo script funziona egregiamente, ed accede a Dropbox tramite le API per applicazioni esterne, quindi autorizzando l’app dal sito di Dropbox, e non passando all’app stessa email e password di Dropbox. A questo punto occorre passare all’app (lo script) i token di accesso specifici per quell’app e il gioco è fatto.

C’è però un problema: dropbox_uploader.sh salva questi token, che potenzialmente danno l’accesso a tutti i file sul proprio account di Dropbox, nel file in chiaro ~/.dropbox_uploader. Che succederebbe se il Raspberry Pi, o anche solo la sua scheda SD, cadesse nelle mani sbagliate? Che la sicurezza del proprio account Dropbox sarebbe compromessa (ok, non irrimediabilmente, ma, comunque, fino al momento in cui i token per dropbox_uploader.sh non vengono disattivati sul pannello di controllo di Dropbox).

Stavo rimuginando sull’opportunità di criptare il file ~/.dropbox_uploader quando mi è venuto in mente di dare un’occhiata al manuale in linea di gpg (GnuPG, il programma di crittografia del progetto GNU) e ho scoperto l’opzione ‘-c ‘. Crittografare un file con una singola chiave con algoritmo di crittografia simmetrica è semplicissimo (anche se non è proprio il massimo in fatto di sicurezza):

$ gpg -c <file_da_criptare>

e si inserisce una password. Il risultato sarà un file di nome <file_da_criptare>.gpg. A questo punto si deve eliminare il file in chiaro, meglio se in modo sicuro, con wipe, così da rendere impossibile il suo recupero:

$ wipe <file_da_criptare>

Per decriptare il comando è ancora più semplice:

$ gpg <file_da_criptare>.gpg

Quando richiesto si deve inserire la stessa password usata per criptare.

GnuPG è preinstallato su moltissime distribuzioni Linux e, se non lo fosse, è senz’altro installabile direttamente dai repository usando gli strumenti specifici per la propria distribuzione. Questo sistema, anche se semplice e veloce, come tutti gli algoritmi simmetrici (che usano la stessa chiave sia per criptare che per decriptare) non è il massimo in quanto a sicurezza, ma può essere adeguato quando la riservatezza richiesta è relativa.

Chissà che Andrea Fabrizi non trovi il modo per integrare la crittografia dei dati nel suo già ottimo script!

Advertisements

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...