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.

Follow these steps to use the program with Nitrokey Storage 2 or Nitrokey Pro 2:

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

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

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

  4. Now you should be able to import the generated key file via Tools>Manage Security Token Keyfiles. You should choose the first Slot ([0] User PIN). The keyfile is then stored on the Nitrokey as 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.

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 is an easy to utlity for encrypted file systems and it is based on FUSE. You may follow these steps to use it with very long passwords and 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