Festplattenverschlüsselung#

VeraCrypt (ehemals TrueCrypt)#

VeraCrypt ist eine freie und Open Source Festplattenverschlüsselungssoftware für Windows, macOS und GNU+Linux. Es ist der Nachfolger von TrueCrypt und wird daher empfohlen, obwohl die folgenden Anweisungen auch für TrueCrypt gelten sollten.

Folgen Sie diesen Schritten, um das Programm mit Nitrokey Storage 2 oder Nitrokey Pro 2 zu verwenden:

  1. Installieren Sie die neueste Version von OpenSC, oder laden Sie die PKCS#11-Bibliothek herunter.

  2. Wählen Sie die Bibliothek in VeraCrypt unter Einstellungen>Einstellungen>Sicherheitstoken (Speicherort ist systemabhängig, z.B. /usr/lib/opensc).

  3. Erzeugen Sie eine 64-Byte-Schlüsseldatei über Tools>Keyfile Generator.

  4. Nun sollten Sie in der Lage sein, die erzeugte Schlüsseldatei über Tools>Manage Security Token Keyfiles zu importieren. Sie sollten den ersten Slot ([0] User PIN) auswählen. Die Schlüsseldatei wird dann auf dem Nitrokey als „Private Data Object 1“ (PrivDO1) gespeichert.

  5. Danach sollten Sie die Original-Schlüsseldatei auf Ihrem Computer sicher löschen!

  6. Jetzt können Sie VeraCrypt mit dem Nitrokey verwenden: Erstellen Sie einen Container, wählen Sie die Schlüsseldatei auf dem Gerät als Alternative zum Passwort.

Warnung

Sicherheitsbetrachtung

Bitte beachten Sie, dass VeraCrypt nicht die volle Sicherheit ausnutzt, die Nitrokey (und Smartcards im Allgemeinen) bieten. Stattdessen speichert es eine Schlüsseldatei auf dem Nitrokey, die theoretisch von einem Computervirus gestohlen werden könnte, nachdem der Benutzer die PIN eingegeben hat.

Anmerkung: Aloaha Crypt basiert auf TrueCrypt/VeraCrypt, jedoch ohne die beschriebenen Sicherheitseinschränkungen.

Festplattenverschlüsselung unter GNU+Linux mit LUKS/dm-crypt#

Hier sind exzellente Anleitungen, wie man mit Nitrokey seine Festplatte unter GNU+Linux mit LUKS/dm-crypt verschlüsselt. Sonstige Anleitungen.

Purism hat ein einfaches Skript erstellt, um den Nitrokey/LibremKey als Möglichkeit zum Entsperren von LUKS-Partitionen hinzuzufügen (noch nicht von Nitrokey getestet).

Dieses Projekt zielt darauf ab, die Nutzung von LUKS mit dem Nitrokey Pro oder Storage basierend auf dem Password Safe (noch nicht von Nitrokey getestet) zu erleichtern. Eine Beschreibung, wie man es unter Gentoo benutzt, findet man hier.

Für Arch Linux, siehe initramfs-scencrypt.

Speicherverschlüsselung unter GNU+Linux mit EncFS#

Tipp

Voraussetzung

Bitte stellen Sie sicher, dass Sie den Gerätetreiber installiert, die Standard-PINs geändert und Schlüssel mit GnuPG erzeugt oder importiert haben.

EncFS ist ein einfach zu bedienendes Programm für verschlüsselte Dateisysteme und basiert auf FUSE. Sie können diese Schritte befolgen, um es mit sehr langen Passwörtern und Nitrokey Pro 2 zu verwenden:

Initialisierung#

  1. Erstellen Sie eine Schlüsseldatei mit Zufallsdaten:

$ dd bs=64 count=1 if=/dev/urandom of=keyfile
  1. Verschlüsseln Sie die Schlüsseldatei und verwenden Sie die User-ID Ihres Nitrokey

$ gpg --encrypt keyfile
  1. Entfernen Sie die Schlüsseldatei im Klartext:

$ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
  1. Einhängepunkt erstellen:

$ mkdir ~/.cryptdir ~/cryptdir
  1. Erstellen Sie den eigentlichen Verschlüsselungsordner

$ 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. Hängen Sie das neue Dateisystem aus:

$ fusermount -u ~/cryptdir

Verwendung#

  1. Verschlüsseltes Dateisystem einhängen und PIN von Nitrokey eingeben:

$ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
  1. Hängen Sie das Dateisystem nach Gebrauch wieder aus:

$ fusermount -u ~/cryptdir

Speicherverschlüsselung unter GNU+Linux mit ECryptFS#

eCryptfs ist ein dateibasiertes transparentes Verschlüsselungs-Dateisystem für GNU+Linux, das mit Nitrokey über einen PKCS#11-Treiber verwendet werden kann.

Siehe diese Anweisungen:

  1. Importieren Sie das Zertifikat und den Schlüssel in den 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
  1. Erstellen Sie die Datei ~/.ecryptfsrc.pkcs11:

$ editor ~/.ecryptfsrc.pkcs11
  1. Geben Sie diesen Inhalt ein:

$ 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. Kopieren Sie die serialisierte ID für die spätere Verwendung:

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

Alternativ können Sie ESOSI ausprobieren oder diese Schritte mit OpenSC und OpenVPN durchführen.

Quelle des Leitfadens: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption