Kryptering av hårddiskar#

(Nitrokey HSM 2 - Linux)

VeraCrypt (tidigare TrueCrypt)#

VeraCrypt är en gratis programvara för diskkryptering med öppen källkod för Windows, macOS och GNU+Linux. Det är efterföljaren till TrueCrypt och rekommenderas därför, även om följande instruktioner bör gälla även för TrueCrypt.

Följ dessa steg för att använda programmet med Nitrokey Storage 2 eller Nitrokey Pro 2:

  1. Installera den senaste versionen av OpenSC, eller ladda ner PKCS#11-biblioteket.

  2. Välj biblioteket i VeraCrypt under Settings>Preferences>Security Token (platsen beror på systemet, t.ex. /usr/lib/opensc).

  3. Generera en 64 Byte nyckelfil via Tools>Keyfile Generator.

  4. Nu bör du kunna importera den genererade nyckelfilen via Tools>Manage Security Token Keyfiles. Du bör välja den första slitsen ([0] User PIN). Nyckelfilen lagras sedan på Nitrokey som ”Private Data Object 1” (PrivDO1).

  5. Efter detta bör du radera den ursprungliga nyckelfilen på din dator på ett säkert sätt!

  6. Nu kan du använda VeraCrypt med Nitrokey: Skapa en behållare, välj nyckelfilen på enheten som ett alternativ till ett lösenord.

Varning

Överväganden om säkerhet

Observera att VeraCrypt inte utnyttjar hela den säkerhet som Nitrokey (och smartkort i allmänhet) erbjuder. I stället lagras en nyckelfil på Nitrokey som teoretiskt sett skulle kunna stjälas av ett datavirus efter att användaren har angett PIN-koden.

Anmärkning: Aloaha Crypt är baserad på TrueCrypt/VeraCrypt men utan den beskrivna säkerhetsbegränsningen.

Kryptering av hårddiskar på GNU+Linux med LUKS/dm-crypt#

Här finns utmärkta instruktioner hur du använder Nitrokey för att kryptera din hårddisk under GNU+Linux med LUKS/dm-crypt. Andra instruktioner.

Purism har skapat ett enkelt skript för att lägga till Nitrokey/LibremKey som ett sätt att låsa upp LUKS-partitioner (inte testat av Nitrokey ännu).

Detta projekt syftar till att underlätta användningen av LUKS med Nitrokey Pro eller Lagring baserat på Password Safe (ej testat av Nitrokey ännu). En beskrivning av hur man använder den på Gentoo finns här.

För Arch Linux, se initramfs-scencrypt.

Lagringskryptering på GNU+Linux med EncFS#

EncFS är ett lättanvänt system för krypterade filsystem och bygger på FUSE. Du kan följa dessa steg för att använda det med mycket långa lösenord och Nitrokey Pro 2:

Initialisering#

  1. Skapa en nyckelfil med slumpmässiga data:

$ dd bs=64 count=1 if=/dev/urandom of=keyfile
  1. Kryptera nyckelfilen och använd ditt användar-ID för Nitrokey.

$ gpg --encrypt keyfile
  1. Ta bort nyckelfilen i klartext:

$ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
  1. Skapa en monteringspunkt:

$ mkdir ~/.cryptdir ~/cryptdir
  1. Skapa den egentliga krypteringsmappen

$ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
# There may appears an error message about missing permission of fusermount
# This message can be ignored
  1. Ta bort det nya filsystemet:

$ fusermount -u ~/cryptdir

Användning#

  1. Montera det krypterade filsystemet och ange PIN-koden för Nitrokey:

$ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
  1. Efter användning avmonterar du filsystemet:

$ fusermount -u ~/cryptdir

Lagringskryptering på GNU+Linux med ECryptFS#

eCryptfs är ett filbaserat transparent krypteringssystem för GNU+Linux som kan användas med Nitrokey via en PKCS#11-drivrutin.

Se ` dessa <http://tkxuyen.com/blog/?p=293>`__ instruktioner:

  1. Importera befintliga nycklar och certifikat

# 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
  1. Skapa filen ~/.ecryptfsrc.pkcs11:

$ editor ~/.ecryptfsrc.pkcs11
  1. Ange detta innehåll:

$ 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
  1. Kopiera det serialiserade id:t för senare användning:

$ 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.

Alternativt kan du prova ESOSI eller följa dessa steg med OpenSC och OpenVPN.

Källa till guiden: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption