Criptografia do disco rígido#

(Nitrokey Pro 2 - Linux)

VeraCrypt (anteriormente TrueCrypt)#

VeraCrypt é um software de encriptação de disco livre e de código aberto para Windows, macOS, e GNU+Linux. É o sucessor do TrueCrypt e, portanto, recomendado, embora as seguintes instruções devam aplicar-se também ao TrueCrypt.

Siga estes passos para utilizar o programa com Nitrokey Storage 2 ou Nitrokey Pro 2:

  1. Instale o último lançamento de OpenSC, ou descarregue a biblioteca PKCS#11.

  2. Escolha a biblioteca em VeraCrypt em Settings>Preferences>Security Token (a localização depende do sistema, por exemplo /usr/lib/opensc).

  3. Gerar um ficheiro chave de 64 Byte através de Tools>Keyfile Generator.

  4. Agora você deve ser capaz de importar o arquivo chave gerado através de Tools>Manage Security Token Keyfiles. Você deve escolher o primeiro Slot ([0] User PIN). O ficheiro chave é então armazenado na Nitrokey como “Private Data Object 1” (PrivDO1).

  5. Depois disso, você deve limpar o arquivo de chaves original no seu computador com segurança!

  6. Agora você pode usar o VeraCrypt com a Nitrokey: Crie um container, escolha o arquivo chave no dispositivo como uma alternativa para uma senha.

Aviso

Considerações de Segurança

Por favor note que VeraCrypt não faz uso de toda a segurança que a Nitrokey (e cartões inteligentes em geral) oferece. Ao invés disso, ele armazena um arquivo de chave na Nitrokey que teoricamente poderia ser roubado por um vírus de computador depois que o usuário digitar o PIN.

Nota: Aloaha Crypt baseia-se em TrueCrypt/VeraCrypt mas sem a limitação de segurança descrita.

Criptografia de disco rígido no GNU+Linux com LUKS/dm-crypt#

Aqui estão excellent instructions como usar Nitrokey para encriptar o seu disco rígido sob GNU+Linux com LUKS/dm-crypt. Outras instruções.

O purismo criou um simple script para adicionar a Nitrokey/LibremKey como forma de desbloquear partições LUKS (ainda não testadas pela Nitrokey).

` Este projecto <https://github.com/artosan/nitroluks/>`__ visa facilitar a utilização do LUKS com o Nitrokey Pro ou Armazenamento baseado na Senha Segura (ainda não testado pela Nitrokey). Uma descrição de como utilizá-lo no Gentoo pode ser encontrada aqui.

Para Arch Linux, ver initramfs-scencrypt.

Criptografia de armazenamento no GNU+Linux com EncFS#

EncFS é uma facilidade de utilização para sistemas de ficheiros encriptados e baseia-se em FUSE. Pode seguir estes passos para o utilizar com palavras-passe muito longas e Nitrokey Pro 2:

Inicialização#

  1. Crie um ficheiro chave com dados aleatórios:

$ dd bs=64 count=1 if=/dev/urandom of=keyfile
  1. Encripte o arquivo chave e use o User-ID do seu Nitrokey

$ gpg --encrypt keyfile
  1. Remova o arquivo chave em texto claro:

$ rm keyfile # you may want to use 'wipe' or 'shred' to securely delete the keyfile
  1. Criar ponto de montagem:

$ mkdir ~/.cryptdir ~/cryptdir
  1. Criar a pasta de encriptação real

$ 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. Desmontar o novo sistema de arquivo:

$ fusermount -u ~/cryptdir

Utilização#

  1. Monte o sistema de arquivo criptografado e digite o PIN da Nitrokey:

$ gpg -d keyfile.gpg | encfs -S ~/.cryptdir ~/cryptdir
  1. Após a utilização, desmonte o sistema de arquivo:

$ fusermount -u ~/cryptdir

Criptografia de armazenamento no GNU+Linux com ECryptFS#

eCryptfs é um sistema de ficheiros de encriptação transparente para GNU+Linux que pode ser utilizado com Nitrokey através de um driver PKCS#11.

Ver estes instruções:

  1. Importar o certificado e a chave para a 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. Criar o ficheiro ~/.ecryptfsrc.pkcs11:

$ editor ~/.ecryptfsrc.pkcs11
  1. Digite este conteúdo:

$ 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. Copiar a identificação serializada para uso posterior:

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

Alternativamente, tente ESOSI ou siga estes passos usando OpenSC e OpenVPN.

Fonte do guia: https://www.nitrokey.com/documentation/applications#a:hard-disk-encryption