Criptografia do disco rígido#

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
    
  2. Encripte o arquivo chave e use o User-ID do seu Nitrokey

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

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

    $ mkdir ~/.cryptdir ~/cryptdir
    
  5. 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
    
  6. 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
    
  2. 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
    
  2. Criar o ficheiro ~/.ecryptfsrc.pkcs11:

    $ editor ~/.ecryptfsrc.pkcs11
    
  3. 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
    
  4. 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