Dm-crypt/pt-br

dm-crypt É um sistema de criptografia de disco usando a estrutura de criptografia de kernels e device mapper como subsistema. Com o dm-crypt, os administradores podem criptografar discos inteiros, volumes lógicos, partições, mas também arquivos únicos.

O subsistema dm-crypt suporta o Linux Unified Key Setup (LUKS) estrutura, que permite várias chaves acessar os dados criptografados, bem como manipular as chaves (como alterar as chaves, adicionando frases adicionais, etc.) Embora dm-crypt suporte configurações não-LUKS também, este artigo irá focar a funcionalidade LUKS, principalmente devido à sua flexibilidade, capacidade de gestão, bem como amplo apoio na comunidade.

Configuração
Existem dois pré-requisitos antes que se possa começar a usar dm-crypt:


 * 1) Configuração do Kernel do Linux
 * 2) Instalação do pacote

Configuração do Kernel
Para usar dm-crypt há um número de entradas de configuração que são necessárias.

Em primeiro lugar, o suporte à infra-estrutura device mapper, bem como crypt target deve ser incluído:

Em seguida, o kernel do Linux precisa suportar o conjunto de APIs criptográficas que o administrador deseja usar para criptografia. Estes podem ser: Cryptographic API

Se o sistema de arquivos root também será criptografado, será necessário criar um sistema de arquivos ram inicial no qual o sistema de arquivos root será descriptografado antes de ser montado. Assim, isso também requer suporte a initramfs:

Instalação do Cryptsetup
O pacote fornece o comando, que é usado para abrir ou fechar o armazenamento criptografado, bem como gerenciar as senhas ou chaves associadas a ele.

Arquivo chave ou Frase de Acesso
Para começar com o armazenamento criptografado, o administrador precisará decidir qual método usar para a chave de criptografia. Com a escolha é uma frase de acesso ou um arquivo chave. No caso de um arquivo chave, este pode ser qualquer arquivo, mas recomenda-se usar um arquivo com dados aleatórios que esteja devidamente protegido (considerando que o acesso a este arquivo de chave significará acesso aos dados criptografados).

Para criar o arquivo chave, utilize o comando:

Nas próximas seções, mostraremos todos os comandos para ambas as situações - frase de acesso e arquivo chave. É claro que apenas um método é necessário.

Criando uma plataforma de armazenamento criptografada
Para criar uma plataforma de armazenamento criptografada (que pode ser um disco, partição, arquivo, ...) use o comando com o.

Por exemplo, ter como o meio de armazenamento para os dados criptografados:

Para usar um arquivo de chaves em vez de uma frase secreta:

O  diz  Qual keylength usar para a chave de criptografia real (ao contrário da frase secreta ou arquivo chave, que são usados para acessar essa chave de criptografia real).

Abrindo o armazenamento criptografado
A fim de abrir o armazenamento criptografado (isto é, tornar os dados reais acessíveis através de decodificação transparente), utilize.

Se um arquivo chave for usado, então o comando ficará assim:

Quando o comando termina com êxito, um novo arquivo de dispositivo chamado será disponibilizado.

Se esta é a primeira vez que este dispositivo criptografado é usado, ele precisa ser formatado. O exemplo a seguir utiliza o sistema de arquivos Btrfs Mas é claro que qualquer outro sistema de arquivos fará:

Uma vez que o sistema de arquivos é formatado ou a formatação já foi feita no passado, o arquivo do dispositivo pode ser montado no sistema:

Fechando o armazenamento criptografado
Para fechar o armazenamento criptografado (ou seja, garantir que os dados reais não são mais acessíveis através da decodificação transparente) utilize:

Claro, certifique-se de que o dispositivo não está mais em uso.

Manipulando chaves LUKS
As chaves LUKS são usadas para acessar a chave de criptografia real. Elas são armazenados em slots no cabeçalho da partição, disco ou arquivo (criptografado).

Listando os slots
Com o, informações sobre a partição, disco ou arquivos criptografados podem ser mostrados. Isso inclui os slots:

No exemplo acima, são utilizados dois slots. Observe que  não dá nada sensível - é apenas exibido o conteúdo do cabeçalho LUKS. Nenhuma chave de criptografia tem que ser fornecida para chamar.

Adicionando arquivo chave ou frase secreta
Para adicionar um arquivo chave ou frase secreta para acessar o armazenamento criptografado, utilize:

Para usar um arquivo chave para desbloquear a chave (mas ainda adicionar uma frase secreta):

Um arquivo chave deve ser adicionado em :

Ou, para usar o primeiro arquivo chave para destravar a chave principal:

Remvoendo arquivo chave ou frase secreta
Com o, um arquivo chave ou frase secreta pode ser removido (para que eles não possam mais serem usados para descriptografar o armazenamento):

Ou remova o arquivo chave:

Certifique-se de que pelo menos um método para acessar os dados ainda esteja disponível. Uma vez que uma frase secreta ou arquivo chave é removido, não poderá ser recuperado novamente.

Esvaziando o slot
Suppose the passphrase or keyfile is no longer known, then the slot can be freed. Of course, this does require prior knowledge of which slot that the passphrase or keyfile was stored in.

For instance, to empty out slot 2 (which is the third slot as slots are numbered starting from 0):

This command will ask for a valid passphrase before continuing. Or one can pass on the keyfile to use:

Additional resources

 * Dm-crypt full disk encryption on the Gentoo Wiki provides supplementary information on using encrypted file systems for Gentoo Linux installations
 * The cryptsetup FAQ hosted on GitLab covers a wide range of frequently asked questions.