auto mount cryptmount / dispositivo de loop criptografado

3

Por causa da limitação do tamanho do nome do arquivo de ecryptfs, decidi usar a partição criptografada. Como eu já uso o ecryptfs, para minha pasta pessoal, não preciso que a chave seja protegida por senha.

Eu preciso de um script que possa montar de forma não interativa um sistema de arquivos criptografado contido em um determinado arquivo com uma chave armazenada em um arquivo binário. Eu estou aberto a qualquer solução de trabalho para este problema, contanto que eu possa usar o arquivo esparso como um armazenamento de apoio (portanto, nenhum truecrypt e nenhuma configuração de cryptmount).

    
por Adam Ryczkowski 17.08.2012 / 15:24

1 resposta

2

Deve ser possível usar dm-crypt / LUKS / cryptsetup para isso usando as seguintes etapas:

  1. Crie um arquivo de imagem de disco esparso: dd if=/dev/zero of=IMAGEFILE bs=1 count=1 seek=SIZE
  2. Gere uma chave aleatória em um arquivo: dd if=/dev/random of=KEYFILE bs=1024 count=1
  3. Use cryptsetup luksFormat --key-file KEYFILE --cipher aes-xts-plain --size 512 IMAGEFILE (Ou use outro código e comprimento de chave. Note que 512 aqui lhe dará AES com 256 bits por causa do XTS.)
  4. Abra o contêiner de criptografia: cryptsetup luksOpen --key-file KEYFILE IMAGEFILE NAME
  5. Crie o sistema de arquivos em /dev/mapper/NAME .
  6. Monte o sistema de arquivos como de costume.

Seu script teria apenas que executar as etapas 4 e 6. Para desmontar / fechar, desmonte o sistema de arquivos e chame cryptsetup luksClose NAME .

Observe que o uso de arquivos esparsos vazará a informação de que setores do disco já foram usados (da mesma forma que não sobrescrevendo uma partição com dados aleatórios antes de criptografá-la). Cabe a você decidir se isso é aceitável para você.

Observe também que a exclusão de arquivos não diminuirá a imagem do disco. O arquivo esparso crescerá monotonicamente.

    
por Philipp Wendler 17.08.2012 / 15:35