Guia do Linux/Avançado/Introdução ao uso de criptografia para transmissão/armazenamento de dados/Sistemas de arquivos criptográfico

Origem: Wikilivros, livros abertos por um mundo aberto.

Sistemas de arquivos criptográfico[editar | editar código-fonte]

Esta é uma forma excelente para armazenamento seguro de seus dados, pois estarão criptografados e serão somente acessados após fornecer uma senha que só você conhece. O sistema usado é a montagem de um arquivo comum como um sistema de arquivos via loopback você pode escolher um nome de arquivo discreto para dificultar sua localização (use a imaginação) e poderá ser armazenado até mesmo em partições não-ext2. Siga estes passos para criar seu sistema de arquivos criptografado (baseado no Loopback-Encripted-Filesystem):

  • Suporte no kernel
    Baixe o patch criptográfico de ftp://ftp.kernel.org/pub/linux/kernel/crypto de acordo com a sua versão do kernel e aplique os patches. Este suporte não pode ser incluído nativamente no kernel devido a restrições de uso e importação de criptografia impostas pelos EUA e outros países, com este suporte embutido o kernel não poderia ser distribuído livremente.

Se o patch para seu kernel não existir, pegue a versão anterior mais próxima (se não existir o patch para seu kernel 2.2.19, pegue a versão 2.2.18 do patch internacional). Isto certamente funcionará.

  • Opções de compilação do kernel
    Na seção Crypto Support ative Crypto Ciphers e ative o suporte aos ciphers Twofish, blowfish, cast128, e serpent (estes são distribuídos livremente e sem restrições). Todos possuem cifragem de 128 bits, exceto o blowfish que é 64 bits. Também é recomendado ativar os módulos em Digest algorithms.

Na seção Block Devices: ative o suporte a loopback (necessário para montar arquivos como dispositivos de bloco) e Use relative block numbers as basis for transfer functions (isto permite que um backup do sistema de arquivos criptografado seja restaurado corretamente em outros blocos ao invés dos originais). Ative também o suporte para General encription support e o suporte aos cyphers cast128 e twofish. Não ative as opções de criptografia para a seção "Networking" (a não ser que saiba o que está fazendo). Recompile e instale seu kernel .

  • Crie um arquivo usando os números aleatórios de /dev/urandom:
    dd if=/dev/urandom of=/pub/swap-fs bs=1M count=15

Será criado um arquivo chamado swap-fs (um arquivo de troca tem características que ajudam a esconder um sistema de arquivos criptografado que é o tamanho e não poderá ser montado pelo usuário comum, evitando desconfianças). O processo de criação deste arquivo é lento, em média de 1MB a cada 10 segundos em um Pentium MMX.

  • Monte o arquivo como um sistema de arquivos loop
    $ losetup -e twofish /dev/loop0 /pub/swap-fs

O algoritmo de criptografia é selecionado pela opção -e. Algoritmos recomendados são o serpent e twofish (ambos possuem cifragem de 128 bits), sendo o serpent o preferido. O gerenciamento do sistema loop encriptado é feito através do módulo loop_gen. Quando é executado pela primeira vez, será lhe pedida uma senha que será usada para montagens futuras de seu sistema de arquivos. Digite-a com atenção pois ela será lhe pedida apenas uma vez. Para desativar o sistema de arquivos loop, execute o comando: losetup -d /dev/loop0 OBS: Se errou a senha será necessário desmontar, apagar o arquivo criado e repetir o procedimento.

  • Crie um sistema de arquivos ext2 para armazenamento de dados
    mkfs -t ext2 /dev/loop0 ou mkfs.ext2 /dev/loop0
    Monte o sistema de arquivos
    Crie um diretório que será usado para montagem do seu sistema de arquivos, se preferir monta-lo dentro de seu diretório pessoal para armazenar seus arquivos, crie um diretório com as permissões "0700".

mount /pub/swap-fs /pub/criptofs -t ext2 -o loop Agora poderá gravar seus arquivos dentro deste diretório normalmente como qualquer outro. O comando df -hT listará a partição loop como uma partição do tipo ext2 comum.

  • Desmontando/Protegendo os dados
    Após usar o sistema de arquivos criptográfico, desmonte-o e desative o dispositivo loopback:
     umount /pub/criptofs
     losetup -d /dev/loop0
  • Remontando o sistema de arquivos criptografado
    Execute novamente os comandos:
     losetup -e twofish /dev/loop0 /pub/swap-fs
     mount /pub/swap-fs /pub/criptofs -t ext2 -o loop

Será pedida a senha que escolheu e seu sistema de arquivos será montado em /pub/swap-fs. Com este sistema, seus dados estarão protegidos mesmo do usuário root.