Introduzione
Spesso si desidera poter utilizzare utilizzare una chiave GPG su più di un computer, per esempio a casa e al lavoro, o su un desktop e un laptop. Per ulteriori chiarimenti vedere la pagina [http://wiki.ubuntu-it.org/Sicurezza/GnuPg GnuPG]
Purtroppo, la memorizzazione delle chiavi di crittografia in un supporto di cui non si ha il controllo fisico è generalmente una cattiva idea. Anche memorizzarle su un computer portatile può essere problematico - se il portatile viene rubato, lo sarà anche la tua chiave GPG. Per fortuna comunque, si può revocare la chiave prima che qualcuno sia in grado di decodificarla, perché le chiavi GPG vengono salvate e protette in ogni momento per impostazione predefinita, ma comunque tutto questo processo è una seccatura. E se fosse possibile archiviare la chiave in modo sicuro su un dispositivo che avete sempre addosso?
IMPORTANTE: Assicurarsi di eseguire una copia di backup della directory '~/.gnupg' prima di continuare. L'ultima cosa vorremmo che accada è perdere il proprio "mazzo di chiavi" perchè qualcosa è andato storto.
dm-crypt
Dal sito Web del dm-crypt:
"Device-mapper è una nuova infrastruttura nel kernel Linux 2.6 che fornisce un modo generico per creare un layer virtuale di dispositivi a blocchi che possono fare cose diverse su dispositivi a blocchi reali come lo 'striping', la concatenazione, il 'mirroring', lo 'snapshot', ecc .. Il 'device mapper' è utilizzato dagli strumenti LVM2 e EVMS 2.x. Il dm-crypt è un sistema che fornisce la crittografia trasparente dei dispositivi di blocco con il nuovo Linux 2.6 CryptoAPI. L'utente può sostanzialmente specificare uno degli algoritmi simmetrici, una chiave (di qualsiasi dimensione consentita), una modalità di IV generazione e inoltre può creare un nuovo dispositivo di blocco in '/dev'. LA scrittura su questo dispositivo sarà criptata mentre la lettura dal dispositivo sarà decriptata. Su questi dispositivi è possibile montare il filesystem ma senza la chiave non è possibile accedere ai dati. "
Questa cosa è perfetta per le nostre necessità. Si creerà un filesystem criptato dentro un normale file su una memoria USB dove andremo a archiviare dati sensibili come per esempio le chiavi GnuPG.
Installare il software
Prima di tutto si occorrerà installare cryptsetup:
sudo apt-get install cryptsetup
Con questo comando si installerano anche altre dipendenze necessarie al suo funzionamento.
Impostazione del filesystem criptato
Si potrebbero conservare le chiavi GPG su un piccolo supporto flash drive USB acquistabile a buon mercato e che si adatta comodamente al portachiavi. Quando viene collegata automaticamente viene 'montata' come '/media/usbdisk'. Nelle sezioni seguenti si prenderà in considerazione una configurazione simile.
Si può decidere, per esempio, di creare il file system cifrato in un normale file piuttosto che una propria partizione. Questo richiede meno tweaking del disco, e fa 'montare' e 'smontare' il filesystem criptato più facilmente, come si vedrà in seguito. Tuttavia, molti dei passi di questa guida possono essere adattati per utilizzare una partizione reale al posto di un normale file.
Creare il file
Prima di poter fare un filesystem, abbiamo bisogno di un file che sia grande abbastanza per contenerlo. Questo può essere realizzato con 'dd':
dd if=/dev/zero of=/media/usbdisk/disk.img bs=1M count=16
Il comando sopra produrrà un file di 16 MB che contiene solo zeri. Modificare l'opzione count per ottenere la dimensione desiderata per il filesystem criptato.
Impostazione del ciclo del dispositivo criptato
Prima di poter effettivamente creare il filesystem sul nostro nuovo file, abbiamo bisogno di collegarlo a un dispositivo di loop e di istituire un target device-mapper con la crittografia. Il comando losetup-f troverà il primo dispositivo senza loop, quindi si dovrà impostare il suo output in una variabile chiamata loopdev al fine di usarla per svariati comandi:
sudo modprobe cryptoloop sudo modprobe dm-crypt sudo modprobe aes_generic export loopdev=$(sudo losetup -f) sudo losetup $loopdev /media/usbdisk/disk.img sudo cryptsetup -c aes -s 256 -h sha256 -y create usbkey $loopdev
Questo imposterà il file con una crittografia a 256-bit tipo AES, 'sminuzzando' la 'passphrase' che si pubblica attaverso SHA-256.
Dopo questa impostazione, è buona idea quella di rimuovere il dispositivo USBKey 'device-mapper' e 'cryptsetup'.
Ulteriori risorse
- Risorsa 1
- Risorsa 2