Szyfrowanie dysków twardych#

(Nitrokey Storage 2 - Linux)

VeraCrypt (dawniej TrueCrypt)#

VeraCrypt jest wolnym i otwartym oprogramowaniem do szyfrowania dysków dla systemów Windows, macOS i GNU+Linux. Jest to następca TrueCrypt i dlatego jest zalecany, chociaż poniższe instrukcje powinny odnosić się również do TrueCrypt.

Wykonaj poniższe kroki, aby używać programu z Nitrokey Storage 2 lub Nitrokey Pro 2:

  1. Zainstaluj najnowszą wersję OpenSC lub pobierz bibliotekę KKCS#11.

  2. Wybierz bibliotekę w VeraCrypt pod Settings>Preferences>Security Token (lokalizacja zależy od systemu, np. /usr/lib/opensc).

  3. Wygeneruj 64-bajtowy plik klucza poprzez Tools>Keyfile Generator.

  4. Teraz powinieneś być w stanie zaimportować wygenerowany plik klucza poprzez Tools>Manage Security Token Keyfiles. Powinieneś wybrać pierwszego Slota ([0] User PIN). Plik klucza jest następnie przechowywany na Nitrokey jako „Obiekt danych prywatnych 1” (PrivDO1).

  5. Po tym powinieneś bezpiecznie wymazać oryginalny plik kluczowy na swoim komputerze!

  6. Teraz możesz używać VeraCrypt z Nitrokey: Utwórz kontener, wybierz plik klucza na urządzeniu jako alternatywę dla hasła.

Ostrzeżenie

Kwestia bezpieczeństwa

Proszę zauważyć, że VeraCrypt nie wykorzystuje pełnego bezpieczeństwa, które oferuje Nitrokey (i ogólnie karty inteligentne). Zamiast tego przechowuje plik klucza na Nitrokey, który teoretycznie mógłby zostać skradziony przez wirusa komputerowego po wprowadzeniu przez użytkownika kodu PIN.

Uwaga: Aloaha Crypt jest oparty na TrueCrypt/VeraCrypt, ale bez opisanych ograniczeń bezpieczeństwa.

Szyfrowanie dysku twardego w systemie GNU+Linux za pomocą LUKS/dm-crypt#

Tutaj znajdują się doskonałe instrukcje jak używać Nitrokey do szyfrowania dysku twardego pod GNU+Linux za pomocą LUKS/dm-crypt. Inne instrukcje.

Purism utworzył prosty skrypt, aby dodać Nitrokey/LibremKey jako sposób na odblokowanie partycji LUKS (jeszcze nie przetestowany przez Nitrokey).

Ten projekt ma na celu ułatwienie używania LUKS z Nitrokey Pro lub Pamięci masowej opartej na Password Safe (jeszcze nie przetestowanej przez Nitrokey). Opis tego, jak używać go na Gentoo, można znaleźć tutaj.

Dla systemu Arch Linux, zobacz initramfs-scencrypt.

Szyfrowanie pamięci masowej w systemie GNU+Linux za pomocą EncFS#

EncFS jest łatwym w użyciu narzędziem do szyfrowanych systemów plików i jest oparty na FUSE. Aby używać go z bardzo długimi hasłami i Nitrokey Pro 2, należy wykonać poniższe kroki:

Inicjalizacja#

  1. Utwórz plik klucza z losowymi danymi:

$ dd bs=64 count=1 if=/dev/urandom of=keyfile
  1. Zaszyfruj plik z kluczem i użyj User-ID Twojego Nitrokey.

$ gpg --encrypt keyfile
  1. Usuń plik klucza w postaci czystego tekstu:

$ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
  1. Utwórz punkt montowania:

$ mkdir ~/.cryptdir ~/cryptdir
  1. Tworzenie rzeczywistego folderu szyfrowania

$ 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. Odmontować nowy system plików:

$ fusermount -u ~/cryptdir

Zastosowanie#

  1. Zamontuj zaszyfrowany system plików i wprowadź PIN Nitrokey:

$ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
  1. Po użyciu należy odmontować system plików:

$ fusermount -u ~/cryptdir

Szyfrowanie pamięci masowej w systemie GNU+Linux za pomocą ECryptFS#

eCryptfs to oparty na plikach system plików z przezroczystym szyfrowaniem dla GNU+Linux, który może być używany z Nitrokey poprzez sterownik PKCS#11.

Zobacz ` te <http://tkxuyen.com/blog/?p=293>`_ instrukcje:

  1. Zaimportuj certyfikat i klucz do 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. Utwórz plik ~/.ecryptfsrc.pkcs11:

$ editor ~/.ecryptfsrc.pkcs11
  1. Wprowadź tę treść:

$ 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. Skopiuj serializowane id do późniejszego użycia:

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

Alternatywnie można spróbować ESOSI lub wykonać poniższe kroki przy użyciu OpenSC i OpenVPN.

Źródło przewodnika: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption