Luks cryptsetup
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
- Linux Cryptosetup LUKS Video Tutorial
- Linux Unified Key Setup (em Inglês)
- Cryptsetup and LUKS (em Inglês)
- Criar um dvd encriptado (em Inglês)
- Encrypting your home directory (em Inglês)
- Comparação entra software de criptografia de armazenamento (em Inglês)
Editor
-Cmsv