Luks cryptsetup

Fonte: wirelesspt.net
(Redirecionado de Luks)

Luks é o padrão para a criptografia de disco rígido do Linux. Ao fornecer um formato padrão on-disk, ele não facilita apenas a compatibilidade entre distribuições e sistemas operativos, incluindo o windows com o truecrypt, como também fornece administração segura de senhas de vários utilizadores. Em contraste com outras soluções existentes, o luks armazena todas as informações de configuração necessárias no cabeçalho da partição, permitindo ao utilizador transportar ou migrar seus dados sem problemas.

Este artigo visa dar a conhecer como o utilizador pode facilmente encriptar os seus dados para transporte seguro quer seja em dispositivos de armazenamento ou transferências de dados online.

Software

  • Linux, dd, cryptsetup, luks, cryptmount e dvd+rw-tools
  • ZuluCrypt para quem pretender utilizar um interface gráfico para estas ferramentas e ignorar o resto do artigo.

Instalar software

GNU Gentoo, Pentoo, Sabayon, Funtoo Linux e derivados:

emerge sys-fs/cryptsetup app-crypt/loop-aes-losetup sys-fs/cryptmount app-crypt/zuluCrypt

GNU Debian, Ubuntu, Mint, Kali Linux e derivados:

apt-get install cryptsetup cryptsetup-bin cryptmount zulucrypt-gui

GNU Arch Linux e derivados:

pacman -S cryptsetup cryptsetup-gui cryptmount zulucrypt

Criar contentor

Neste exemplo, um contentor (cryptocontentor) vai funcionar como um ficheiro ou directoria onde iremos colocar os nossos dados para que sejam fechados nesse contentor e apenas acessíveis a quem for dada permissão.

Antes de criar um contentor devemos decidir o tamanho que o mesmo deve ter e para facilitar o processo; podemos imaginar que esse contentor é uma pen sub ou cartão de memória ou até cd/dvd/bluray, ao qual devemos dar um tamanho de capacidade específico. Para o seguinte exemplo usarei discos de cd/dvd/bluray. As palavras a negrito podem e devem ser personalizadas ao gosto do utilizador. Este contentor poderá ser ainda uma cryptocontentor.img a ser gravada num cd/dvd/bluray.

Disco de cd de 650 MB:

dd if=/dev/zero of=cryptocontentor bs=1000000 count=650

Disco de dvd de 4.7GB:

dd if=/dev/zero of=cryptocontentor bs=1000000 count=4700

Disco de dvd 8.5 GB de duas camadas:

dd if=/dev/zero of=cryptocontentor.img bs=1000000 count=8500

Disco blueray de 25GB:

dd if=/dev/zero of=cryptocontentor.img bs=1000000 count=25000

Contentor de 1000GB (1TB):

dd if=/dev/zero of=cryptocontentor.img bs=1000000 count=1000000

No caso de ser um disco e ou dispositivo de armazenamento externo não é necessário criar um contentor encriptado:

Formatar contentor

Neste exemplo irei formatar o cryptocontentor com sistema de ficheiros ext4. Qualquer outro sistema de ficheiros poderá ser utilizado. Irá ser preciso uma senha/password que deve ser uma senha frase que inclua letras maiúsculas, minúsculas, símbolos e números. Recomenda-se algo acima dos 20 caracteres

cryptsetup luksFormat cryptocontentor

Ou (recomendado) com SHA256:

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat cryptocontentor

Vai nos ser questionado algo do género:

This will overwrite data on X irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase:
Verify passphrase:
cryptsetup luksOpen cryptocontentor disco
mkfs.ext4 /dev/mapper/disco

Disco usb

No caso de ser um disco externo e ou usb identificado neste exemplo como sdc1:

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/sdc1

Vai nos ser questionado algo do género:

This will overwrite data on X irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase:
Verify passphrase:
cryptsetup luksOpen /dev/sdc1 disco
mkfs.ext4 /dev/mapper/disco

Montar contentor

Para que possamos aceder ao cryptocontentor teremos de o montar num local para que se comporte como uma directoria que também vamos criar:

mkdir volume_encriptado
mount -o rw /dev/mapper/disco volume_encriptado

Copiar ficheiros

Iremos agora copiar os ficheiros que queremos para dentro do directoria que criamos, que contém o nosso cryptocontentor

cp -av ficheiros/aqui/para volume_encriptado

Fechar contentor

Após a cópia dos ficheiros pretendidos devemos desmontar o volume_encriptado e fechar o nosso cryptocontentor e disco digitando:

umount /dev/mapper/disco
cryptsetup luksClose disco

E damos por concluído o processo.

Acesso ao contentor

No caso de ser apenas uma directoria:

cryptsetup luksOpen cryptocontentor disco

No caso de ser um cd, dvd, blueray, etc

cryptsetup luksOpen /dev/sr0 disco

No caso de ser um disco externo e ou usb identificado como sdc1:

 cryptsetup luksOpen /dev/sdc1 disco

Vai nos ser questionado algo semelhante:

Enter passphrase for /dev/sdc1

Após termos escolhido um exemplo das opções exemplificadas em cima, criamos um local para aceder ao cryptocontentor tal como anteriormente:

mkdir volume_encriptado
mount -o rw /dev/mapper/disco volume_encriptado

De seguida abrimos o directório directoria e acedemos aos ficheiros. Não esquecer que sempre que terminar-mos de aceder ao cryptocontentor, que devemos fechar o disco

umount /dev/mapper/disco
cryptsetup luksClose disco

Gravar contentor

Neste exemplo utilizei um dvd e para gravar um contentor encriptado e podemos utilizar a seguinte aplicação na linha de comandos:

growisofs -Z /dev/sr0=cryptocontentor

No final devemos proceder á sua verificação:

diff cryptocontentor /dev/sr0

Acesso ao disco

cryptsetup luksOpen /dev/sr0 disco
mkdir volume_encriptado
mount /dev/mapper/disco volume_encriptado

Todo o conteúdo do disco vai ser acessível dentro da directoria com o nome disco e disponível com nosso file manager preferido

Não esquecer de finalizar sempre desmontando o volume disco e fechando-o de seguida

umount /dev/mapper/disco
cryptsetup luksClose disco

Checksum

A fim de conformar que o cryptocontentor não sofre qualquer tipo de alteração que o possa danificar, é recomendado que se crie um ficheiro de verificação de integridade com sha512sum.

 sha512sum cryptocontentor >> cryptocontentor_sha512sum.txt

Ver ainda

Links externos

Editor

-Cmsv