Dimensione: 7919
Commento:
|
← Versione 28 del 07/08/2021 15.14.37 ⇥
Dimensione: 8162
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from GPGKeyOnUSBDrive | |
Linea 5: | Linea 6: |
[[BR]] [[Indice()]] |
<<BR>> <<Indice>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=441056"; rilasci="10.10";)>> |
Linea 10: | Linea 14: |
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] |
Questa guida spiega come utilizzare [[Sicurezza/GnuPg|GnuPg]] su più dispositivi (il proprio portatile, il computer di casa, il computer del lavoro...) salvando le proprie chiavi su una memoria USB criptata. |
Linea 13: | Linea 16: |
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? |
La memorizzazione delle chiavi di crittografia su 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 chiave GPG se non si ha l'accortezza di criptare il disco rigido o la partizione in cui è stata salvata. Si può sempre revocare la chiave prima che qualcuno sia in grado di decodificarla, comunque tutto questo processo è una seccatura. |
Linea 17: | Linea 18: |
'''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. |
Per questo scopo, si creerà un filesystem criptato dentro un normale file su una memoria USB dove si andranno ad archiviare dati sensibili come per esempio la chiave GPG. |
Linea 20: | Linea 20: |
= dm-crypt = | {{{#!wiki important Per sicurezza eseguire una copia di backup della cartella `~/.gnupg` prima di continuare.}}} |
Linea 22: | Linea 23: |
Dal sito Web del dm-crypt: | = Prerequisiti = |
Linea 24: | Linea 25: |
''"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. |
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://cryptsetup | cryptsetup]]. |
Linea 44: | Linea 28: |
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. |
|
Linea 47: | Linea 29: |
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. |
Nel proseguo di questa guida si procederà alla creazione di un filesystem criptato all'interno di un file presente su un supporto USB sul quale saranno conservate le chiavi GPG. Questo perché la creazione del filesystem criptato su un singolo file rende le operazioni di montaggio e smontaggio più semplici 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. |
Linea 51: | Linea 31: |
== Creare il file == | Quando il supporto verrà collegato, [[Hardware/DispositiviPartizioni/MontarePartizioni|individuare]] la partizione del filesystem da criptare. |
Linea 53: | Linea 33: |
Prima di poter fare un filesystem, abbiamo bisogno di un file che sia grande abbastanza per contenerlo. Questo può essere realizzato con 'dd': |
= Creare il file = |
Linea 56: | Linea 35: |
{{{ | Prima di creare il filesystem è necessario creare il file che lo conterrà con il comando {{{dd}}}. * Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{ |
Linea 58: | Linea 39: |
}}} avendo cura di impostare il percorso corretto verso la memoria USB. <<BR>><<BR>> Il risultato del precedente comando sarà simile al seguente: {{{ 16+0 record dentro 16+0 record fuori 16777216 byte (17 MB) copiati, 0,179564 s, 93,4 MB/s |
|
Linea 60: | Linea 47: |
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. |
{{{#!wiki note In questo modo è stato creato un file della grandezza di 16 MiB che contiene solo zeri. Modificare l'opzione «count» nel comando dato in questo paragrafo per ottenere la dimensione desiderata per il filesystem criptato. }}} |
Linea 65: | Linea 53: |
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: |
Prima di poter effettivamente creare il filesystem sul file appena creato è necessario collegarlo ad un dispositivo di ''loop'' e istituire un ''target device-mapper'' con la crittografia. |
Linea 68: | Linea 55: |
{{{ | 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. * Caricare i seguenti moduli digitando [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi: {{{ |
Linea 72: | Linea 61: |
}}} * Infine:{{{ |
|
Linea 76: | Linea 67: |
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 norma quella di rimuovere il dispositivo USBKey 'device-mapper' e 'cryptsetup'. {{{ |
* 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 norma quella di rimuovere il dispositivo USB ''device-mapper'' e ''cryptsetup'': {{{ |
Linea 83: | Linea 72: |
Se tutto va bene, siamo pronti per il prossimo passo! | |
Linea 87: | Linea 75: |
Questo è il passo più semplice di tutti. Si può scegliere il filesystem ''ext3'' per la sua capacità di 'journaling', nel caso in cui il drive USB viene rimosso prima che il filesystem viene smontato. Il comando ''cryptsetup'' sopra ha creato il dispositivo '/dev/mapper/USBKey', che è una mappa attraverso 'dm-crypt' al filesystem criptato. Quindi, questo dispositivo appare al sistema come un normale dispositivo di blocco storico, come un disco rigido o una partizione. Il comando che segue crea un filesystem ext3 sul file crittografato: {{{ |
Il comando {{{cryptsetup}}} precedente ha creato il dispositivo `/dev/mapper/USBKey`, che è una mappa attraverso ''dm-crypt'' al filesystem criptato. Quindi, questo dispositivo appare al sistema come un normale dispositivo di blocco storico, come un disco rigido o una partizione. * Il comando seguente crea un filesystem Ext3 sul file crittografato: {{{ |
Linea 95: | Linea 80: |
Ora si provi a 'montare' il filesystem: {{{ |
* Ora si provi a montare il filesystem: {{{ |
Linea 104: | Linea 87: |
Adesso, si crei una cartella ''.gnupg'' all'interno del percorso '/media/encrypted', di proprietà del tuo utente, e collegarlo al proprio '~/gnupg' (se si ha già una cartella .gnupg, prima di tutto spostarla fuori): {{{ |
* Adesso, si crei una cartella `.gnupg` all'interno del percorso `/media/encrypted`, di proprietà del tuo utente, e collegarlo al proprio `~/.gnupg` (se si ha già una cartella .gnupg, prima di tutto spostarla fuori): {{{ |
Linea 113: | Linea 94: |
Ora, creare una chiave GnuPG come descritto in [http://wiki.ubuntu-it.org/Sicurezza/GnuPg GnuPG] o, se si dispone già di una chiave, spostare i file della vecchia cartella ''.gnupg'' in quella nuova, possibilmente utilizzando 'shred' o 'wipe' per rimuovere in modo sicuro i file vecchi. | Ora, creare una chiave GnuPG come descritto in [[http://wiki.ubuntu-it.org/Sicurezza/GnuPg|GnuPG]] o, se si dispone già di una chiave, spostare i file della vecchia cartella `.gnupg` in quella nuova. Usando programmi quali '''shred''' o '''wipe''' è possibile per rimuovere in modo sicuro i file vecchi (questa accortezza vale se il dispositivo o partizione precedente non era criptata). |
Linea 115: | Linea 96: |
= Rendere tutto più facile = | = Semplificare montaggio e smontaggio = |
Linea 117: | Linea 98: |
== Semplificare il processo di 'Mount' == | Per automatizzare il montaggio e lo smontaggio del filesystem cifrato è possibile realizzare due script. |
Linea 119: | Linea 100: |
Non è per nulla divertente dover digitare tre o quattro comandi ogni volta che si desidera montare il file system cifrato. Così, si può scrivere due script molto semplici per montare e smontare. Prima di utilizzare questi, è necessario smontare il filesystem e staccare il dispositivo. {{{ |
* Prima di utilizzarli, è necessario smontare il filesystem e scollegare il dispositivo: {{{ |
Linea 128: | Linea 105: |
Ora, si salvino i seguenti comandi nel file 'mount.sh' nella root del vostro drive USB (non nel filesystem criptato!): {{{ |
* Creare nella cartella principale del dispositivo Usb (non nel filesystem criptato) un file chiamato `mount.sh` inserendo al suo interno il seguente testo: {{{ |
Linea 134: | Linea 108: |
Linea 144: | Linea 117: |
Poi si salvino i comandi sotto riportati nel file 'umount.sh' in the same place: {{{ |
* Creare nella cartella principale del dispositivo Usb (non nel filesystem criptato) un file chiamato `umount.sh` inserendo al suo interno il seguente testo: {{{ |
Linea 156: | Linea 126: |
Si potrebbe non essere in grado di eseguire questi script direttamente dal momento che le opzioni predefinite di ''auto-mount'' vietano l'avvio di eseguibili. Ma, essendo degli di shell, una volta che il drive USB è stato montato, è possibile avviarli digitando semplicemente: {{{ sh /media/usbdisk/mount.sh }}} Si avrà bisogno della password di cifratura e potrebbe essere richiesta la password per ''sudo''. |
|
Linea 157: | Linea 130: |
= Verifica delle firme PGP senza il filesystem criptato = Si potrebbe desiderare di poter verificare un messaggio firmato senza la necessità di montare il filesystem criptato. Per rendere facile questa operazione, è sufficiente copiare il portachiavi pubblico e il file del 'database fiduciario' sulla vera cartella `.gnupg`: {{{ cp /media/encrypted/.gnupg/{pubring,trustdb}.gpg /tmp sh /media/usbdisk/umount.sh sudo mv /tmp/{pubring,trustdb}.gpg ~/.gnupg }}} Ora, quando il filesystem cifrato non è montato, potrete vedere i file nella cartella ''.gnupg'', in modo che ''gpg --verify'' funzioni. Ma quando viene montato, vedrete i file effettivamente posizionati nel filesystem criptato. |
|
Linea 159: | Linea 142: |
* Risorsa 1 * Risorsa 2 ## da questo punto in poi non modificare! ------ CategoryNuoviDocumenti CategoryInTraduzione |
* [[https://help.ubuntu.com/community/GPGKeyOnUSBDrive|Documento originale]] * [[http://wiki.ubuntu-it.org/Sicurezza/GnuPg|GnuPG]] * [[http://www.saout.de/misc/dm-crypt/|Sito ufficiale dm-crypt]] ---- CategorySicurezza CategoryDaRevisionare |
Indice
- Introduzione
- Prerequisiti
- Impostazione del filesystem criptato
- Creare il file
- Impostazione del ciclo del dispositivo criptato
- Creare il filesystem vero e proprio
- Impostazione della GnuPG nel filesystem criptato
- Semplificare montaggio e smontaggio
- Verifica delle firme PGP senza il filesystem criptato
- Ulteriori risorse
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida spiega come utilizzare GnuPg su più dispositivi (il proprio portatile, il computer di casa, il computer del lavoro...) salvando le proprie chiavi su una memoria USB criptata.
La memorizzazione delle chiavi di crittografia su 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 chiave GPG se non si ha l'accortezza di criptare il disco rigido o la partizione in cui è stata salvata. Si può sempre revocare la chiave prima che qualcuno sia in grado di decodificarla, comunque tutto questo processo è una seccatura.
Per questo scopo, si creerà un filesystem criptato dentro un normale file su una memoria USB dove si andranno ad archiviare dati sensibili come per esempio la chiave GPG.
Per sicurezza eseguire una copia di backup della cartella ~/.gnupg prima di continuare.
Prerequisiti
Installare il pacchetto cryptsetup.
Impostazione del filesystem criptato
Nel proseguo di questa guida si procederà alla creazione di un filesystem criptato all'interno di un file presente su un supporto USB sul quale saranno conservate le chiavi GPG. Questo perché la creazione del filesystem criptato su un singolo file rende le operazioni di montaggio e smontaggio più semplici 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.
Quando il supporto verrà collegato, individuare la partizione del filesystem da criptare.
Creare il file
Prima di creare il filesystem è necessario creare il file che lo conterrà con il comando dd.
Digitare nel terminale il seguente comando:
dd if=/dev/zero of=/media/usbdisk/disk.img bs=1M count=16
avendo cura di impostare il percorso corretto verso la memoria USB.
Il risultato del precedente comando sarà simile al seguente:16+0 record dentro 16+0 record fuori 16777216 byte (17 MB) copiati, 0,179564 s, 93,4 MB/s
In questo modo è stato creato un file della grandezza di 16 MiB che contiene solo zeri. Modificare l'opzione «count» nel comando dato in questo paragrafo per ottenere la dimensione desiderata per il filesystem criptato.
Impostazione del ciclo del dispositivo criptato
Prima di poter effettivamente creare il filesystem sul file appena creato è necessario collegarlo ad un dispositivo di loop e 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.
Caricare i seguenti moduli digitando terminale i seguenti comandi:
sudo modprobe cryptoloop sudo modprobe dm-crypt sudo modprobe aes_generic
Infine:
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 norma quella di rimuovere il dispositivo USB device-mapper e cryptsetup:
sudo cryptsetup remove usbkey sudo cryptsetup -c aes -s 256 -h sha256 create usbkey $loopdev
Creare il filesystem vero e proprio
Il comando cryptsetup precedente ha creato il dispositivo /dev/mapper/USBKey, che è una mappa attraverso dm-crypt al filesystem criptato. Quindi, questo dispositivo appare al sistema come un normale dispositivo di blocco storico, come un disco rigido o una partizione.
Il comando seguente crea un filesystem Ext3 sul file crittografato:
sudo mkfs.ext3 /dev/mapper/usbkey
Ora si provi a montare il filesystem:
sudo mkdir -p /media/encrypted sudo mount -t ext3 /dev/mapper/usbkey /media/encrypted
Impostazione della GnuPG nel filesystem criptato
Adesso, si crei una cartella .gnupg all'interno del percorso /media/encrypted, di proprietà del tuo utente, e collegarlo al proprio ~/.gnupg (se si ha già una cartella .gnupg, prima di tutto spostarla fuori):
sudo mkdir /media/encrypted/.gnupg sudo chown $UID.$UID /media/encrypted/.gnupg chmod 0700 /media/encrypted/.gnupg ln -s /media/encrypted/.gnupg ~/.gnupg
Ora, creare una chiave GnuPG come descritto in GnuPG o, se si dispone già di una chiave, spostare i file della vecchia cartella .gnupg in quella nuova. Usando programmi quali shred o wipe è possibile per rimuovere in modo sicuro i file vecchi (questa accortezza vale se il dispositivo o partizione precedente non era criptata).
Semplificare montaggio e smontaggio
Per automatizzare il montaggio e lo smontaggio del filesystem cifrato è possibile realizzare due script.
Prima di utilizzarli, è necessario smontare il filesystem e scollegare il dispositivo:
sudo umount /media/encrypted sudo cryptsetup remove usbkey sudo losetup -d $loopdev
Creare nella cartella principale del dispositivo Usb (non nel filesystem criptato) un file chiamato mount.sh inserendo al suo interno il seguente testo:
dir=`dirname $0` loopdev=$(sudo losetup -f) sudo -p "Password (sudo): " modprobe cryptoloop && \ sudo modprobe dm-crypt && \ sudo modprobe aes_generic && \ sudo mkdir -p /media/encrypted && \ sudo losetup $loopdev $dir/disk.img && \ sudo cryptsetup -c aes -s 256 -h sha256 create usbkey $loopdev && \ sudo mount -t ext3 /dev/mapper/usbkey /media/encrypted && \ sudo chown -R $UID.$UID /media/encrypted/
Creare nella cartella principale del dispositivo Usb (non nel filesystem criptato) un file chiamato umount.sh inserendo al suo interno il seguente testo:
loopdev=$(sudo cryptsetup status usbkey | grep device | sed -e "s/ *device:[ \t]*//") sync sudo umount /media/encrypted sudo cryptsetup remove usbkey sudo losetup -d $loopdev
Si potrebbe non essere in grado di eseguire questi script direttamente dal momento che le opzioni predefinite di auto-mount vietano l'avvio di eseguibili. Ma, essendo degli di shell, una volta che il drive USB è stato montato, è possibile avviarli digitando semplicemente:
sh /media/usbdisk/mount.sh
Si avrà bisogno della password di cifratura e potrebbe essere richiesta la password per sudo.
Verifica delle firme PGP senza il filesystem criptato
Si potrebbe desiderare di poter verificare un messaggio firmato senza la necessità di montare il filesystem criptato. Per rendere facile questa operazione, è sufficiente copiare il portachiavi pubblico e il file del 'database fiduciario' sulla vera cartella .gnupg:
cp /media/encrypted/.gnupg/{pubring,trustdb}.gpg /tmp sh /media/usbdisk/umount.sh sudo mv /tmp/{pubring,trustdb}.gpg ~/.gnupg
Ora, quando il filesystem cifrato non è montato, potrete vedere i file nella cartella .gnupg, in modo che gpg --verify funzioni. Ma quando viene montato, vedrete i file effettivamente posizionati nel filesystem criptato.