Криптиране на твърдия диск

VeraCrypt (преди това TrueCrypt)

VeraCrypt е безплатен софтуер за криптиране на дискове с отворен код за Windows, macOS и GNU+Linux. Той е наследник на TrueCrypt и затова се препоръчва, въпреки че следващите инструкции трябва да се прилагат и за TrueCrypt.

Следвайте тези стъпки, за да използвате програмата с Nitrokey Storage 2 или Nitrokey Pro 2:

  1. Инсталирайте последната версия на OpenSC или изтеглете Библиотеката PKCS#11.

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

  3. Генерирайте 64 байтов ключов файл чрез Tools>Keyfile Generator.

  4. Сега трябва да можете да импортирате генерирания ключов файл чрез Tools>Manage Security Token Keyfiles. Трябва да изберете първия слот ([0] User PIN). След това ключовият файл се съхранява в Nitrokey като „Private Data Object 1“ (PrivDO1).

  5. След това трябва безопасно да изтриете оригиналния ключов файл от компютъра си!

  6. Сега можете да използвате VeraCrypt с Nitrokey: Създайте контейнер, изберете ключовия файл на устройството като алтернатива на паролата.

Warning

Съображения за сигурност

Моля, обърнете внимание, че VeraCrypt не използва пълната сигурност, която Nitrokey (и смарт картите като цяло) предлагат. Вместо това тя съхранява ключов файл на Nitrokey, който теоретично може да бъде откраднат от компютърен вирус, след като потребителят въведе ПИН кода.

Забележка: Aloaha Crypt се основава на TrueCrypt/VeraCrypt, но без описаното ограничение на сигурността.

Шифроване на твърдия диск в GNU+Linux с LUKS/dm-crypt

За да настроите LUKS Disk Encryption, следвайте нашето ръководство:

Purism е създал прост скрипт за добавяне на Nitrokey/LibremKey като начин за отключване на LUKS дялове (все още не е тестван от Nitrokey).

Този проект има за цел да улесни използването на LUKS с Nitrokey Pro или хранилище, базирано на Password Safe (все още не е тествано от Nitrokey). Описание на това как да го използвате в Gentoo можете да намерите тук.

За Arch Linux вижте initramfs-scencrypt.

Шифроване на хранилище в GNU+Linux с EncFS

EncFS е лесна за използване криптирана файлова система и се основава на FUSE. Можете да следвате тези стъпки, за да го използвате с много дълги пароли и Nitrokey Pro 2:

Иницииране

  1. Създаване на ключов файл със случайни данни:

    $ dd bs=64 count=1 if=/dev/urandom of=keyfile
    
  2. Криптирайте файла с ключа и използвайте идентификатора на потребителя на вашия Nitrokey

    $ gpg --encrypt keyfile
    
  3. Премахване на ключовия файл в чист текст:

    $ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
    
  4. Създаване на точка за монтиране:

    $ mkdir ~/.cryptdir ~/cryptdir
    
  5. Създаване на действителната папка за криптиране

    $ 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. Разглобете новата файлова система:

    $ fusermount -u ~/cryptdir
    

Употреба

  1. Монтирайте криптираната файлова система и въведете ПИН кода на Nitrokey:

    $ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
    
  2. След използване демонтирайте файловата система:

    $ fusermount -u ~/cryptdir
    

Криптиране на хранилища в GNU+Linux с ECryptFS

eCryptfs е файлово базирана файлова система за прозрачно криптиране за GNU+Linux, която може да се използва с Nitrokey чрез PKCS#11 драйвер.

Вижте тези инструкции:

  1. Импортиране на съществуващ ключ и сертификат

    # 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. Създайте файла ~/.ecryptfsrc.pkcs11:

    $ editor ~/.ecryptfsrc.pkcs11
    
  3. Въведете това съдържание:

    $ 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. Копирайте сериализирания идентификатор за по-късна употреба:

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

Алтернативно опитайте ESOSI или следвайте тези стъпки, като използвате OpenSC и OpenVPN.

Източник на ръководството: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption