Crittografia del disco rigido#

VeraCrypt (ex TrueCrypt)#

VeraCrypt è un software di crittografia del disco gratuito e Open Source per Windows, macOS e GNU/Linux. È il successore di TrueCrypt e quindi raccomandato, anche se le seguenti istruzioni dovrebbero applicarsi anche a TrueCrypt.

Seguite questi passi per usare il programma con Nitrokey Storage 2 o Nitrokey Pro 2:

  1. Installare l’ultima versione di ` OpenSC <https://github.com/OpenSC/OpenSC/wiki>`_, o scaricare la ` libreria <http://smartcard-auth.de/download-en.html>`_ PKCS#11.

  2. Choose the library in VeraCrypt under Settings>Preferences>Security Token (location depends on system, e.g. /usr/lib/opensc).

  3. Genera un file chiave di 64 byte tramite Tools>Keyfile Generator.

  4. Ora dovresti essere in grado di importare il file chiave generato tramite Tools>Manage Security Token Keyfiles. Dovresti scegliere il primo Slot ([0] User PIN). Il keyfile viene poi memorizzato sulla Nitrokey come “Private Data Object 1” (PrivDO1).

  5. Dopo questo dovreste cancellare il file chiave originale sul vostro computer in modo sicuro!

  6. Ora puoi usare VeraCrypt con la Nitrokey: crea un contenitore, scegli il keyfile sul dispositivo come alternativa alla password.

Avvertimento

Considerazioni sulla sicurezza

Si prega di notare che VeraCrypt non fa uso di tutta la sicurezza che Nitrokey (e le smart card in generale) offrono. Invece memorizza un file chiave sulla Nitrokey che teoricamente potrebbe essere rubato da un virus informatico dopo che l’utente ha inserito il PIN.

Nota: Aloaha Crypt è basato su TrueCrypt/VeraCrypt ma senza la limitazione di sicurezza descritta.

Crittografia del disco rigido su Linux con LUKS/dm-crypt#

Per l’impostazione di LUKS Disk Encryption seguite la nostra guida:

Purism ha creato un semplice script per aggiungere la Nitrokey/LibremKey come un modo per sbloccare le partizioni LUKS (non ancora testato da Nitrokey).

Questo progetto mira a facilitare l’uso di LUKS con Nitrokey Pro o Storage basato su Password Safe (non ancora testato da Nitrokey). Una descrizione su come usarlo su Gentoo può essere trovata ` qui <https://amedeos.github.io/gentoo/nitrokey/2019/01/21/gentoo-nitrokey-luks.html>`_.

Per Arch Linux, vedere initramfs-scencrypt.

Crittografia dello storage su GNU+Linux con EncFS#

EncFS è un’utilità semplice per i file system criptati ed è basata su FUSE. Potete seguire questi passi per usarlo con password molto lunghe e Nitrokey Pro 2:

Inizializzazione#

  1. Creare un file chiave con dati casuali:

    $ dd bs=64 count=1 if=/dev/urandom of=keyfile
    
  2. Crittografa il file della chiave e usa lo User-ID della tua Nitrokey

    $ gpg --encrypt keyfile
    
  3. Rimuovere il file chiave in chiaro:

    $ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
    
  4. Creare il punto di montaggio:

    $ mkdir ~/.cryptdir ~/cryptdir
    
  5. Creare la cartella di crittografia vera e propria

    $ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
    # There may appears an error message about missing permission of fusermount
    # This message can be ignored
    
  6. Smontare il nuovo file system:

    $ fusermount -u ~/cryptdir
    

Uso#

  1. Monta il file system criptato e inserisci il PIN di Nitrokey:

    $ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
    
  2. Dopo l’uso, smontate il file system:

    $ fusermount -u ~/cryptdir
    

Crittografia dello storage su Linux con ECryptFS#

eCryptfs è un file system di crittografia trasparente per Linux che può essere usato con Nitrokey attraverso un driver PKCS#11.

Vedi queste istruzioni:

  1. Importare il certificato e la chiave in Nitrokey

    # Warning: This will delete existing keys on your Nitrokey!
    $ pkcs15-init --delete-objects privkey,pubkey --id 3 --store-private-key user@example.com.p12 --format pkcs12 --auth-id 3 --verify-pin
    
  2. Create il file ~/.ecryptfsrc.pkcs11:

    $ editor ~/.ecryptfsrc.pkcs11
    
  3. Inserisci questo contenuto:

    $ pkcs11-log-level=5 pkcs11-provider1,name=name,library=/usr/lib/opensc-pkcs11.so,cert-private=true
    $ openvpn --show-pkcs11-ids path to opensc-pkcs11 module
    Certificate
        DN: /description=Iv4IQpLO02Mnix9i/CN=user@example.com/emailAddress=user@example.com
        Serial: 066E04
        Serialized id: ZeitControl/PKCS\x2315\x20emulated/000500000c7f/OpenPGP\x20card\x20\x28User\x20PIN\x29/03
    
  4. Copia l’id serializzato per un uso successivo:

    $ ecryptfs-manager
    # This will show list option. Choose option "Add public key to keyring"
    # Choose pkcs11-helper
    # Enter the serialized ID of step 3 to PKCS#11 ID.
    

In alternativa, provate ESOSI o seguite questi passi usando OpenSC e OpenVPN.

Fonte della guida: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption