Шифрование жесткого диска#

VeraCrypt (ранее TrueCrypt)#

VeraCrypt - это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, macOS и GNU/Linux. Она является преемником TrueCrypt и поэтому рекомендуется к использованию, хотя следующие инструкции применимы и к TrueCrypt.

Выполните следующие шаги, чтобы использовать программу с Nitrokey Storage 2 или Nitrokey Pro 2:

  1. Установите последний выпуск OpenSC, или загрузите библиотеку PKCS#11.

  2. Выберите библиотеку в VeraCrypt в разделе Settings>Preferences>Security Token (расположение зависит от системы, например, /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: создайте контейнер, выберите ключевой файл на устройстве в качестве альтернативы паролю.

Предупреждение

Рассмотрение вопросов безопасности

Обратите внимание, что VeraCrypt не использует всю защиту, которую предлагает Nitrokey (и смарт-карты в целом). Вместо этого он хранит ключевой файл на Nitrokey, который теоретически может быть украден компьютерным вирусом после того, как пользователь введет PIN-код.

Примечание: Aloaha Crypt основан на TrueCrypt/VeraCrypt, но без описанных ограничений безопасности.

Шифрование жесткого диска в Linux с помощью LUKS/dm-crypt#

Вот отличные инструкции по использованию Nitrokey для шифрования жесткого диска под Linux с помощью LUKS/dm-crypt. Другие инструкции.

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. Смонтируйте зашифрованную файловую систему и введите PIN-код Nitrokey:

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

    $ fusermount -u ~/cryptdir
    

Шифрование хранилища в Linux с помощью ECryptFS#

eCryptfs - это файловая система прозрачного шифрования на основе файлов для Linux, которая может использоваться с Nitrokey через драйвер PKCS#11.

Смотрите эти инструкции:

  1. Импортируйте сертификат и ключ в 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. Создайте файл ~/.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