Criptografia do disco rígido

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

active

active

inactive

active

active

inactive

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

Please note that VeraCrypt doesn’t make use of the full security which Nitrokey (and smart cards in general) offer. Instead it stores a keyfile on the Nitrokey which theoretically could be stolen by a compromised host, since the Private Data Object 1 is not protected by the Nitrokey’s 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

Para configurar a encriptação de disco LUKS, siga o nosso guia:

Purism has created a simple script to add the Nitrokey/LibremKey as a way to unlock LUKS partitions (not tested by Nitrokey yet).

` 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. Encripta o ficheiro de chaves e utiliza o ID de utilizador da tua 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