Eu vi esta excelente resposta que explica como usar o seguinte comando squashfs para compactar uma imagem de disco em tempo real:
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
Gostaria também de criptografar o arquivo de imagem imediatamente. Eu preferiria criptografar depois de criar a imagem do squashfs para que os arquivos de imagem criptografados ainda sejam tão pequenos quanto possível.
Eu gostaria que a imagem fosse criptografada para uma chave pública, para que o processo de backup não pudesse descriptografar os arquivos de backup. Estou pretendendo inicializar a máquina com o usb e fazer o backup da unidade de inicialização para uma imagem criptografada em um compartilhamento de samba, mas não quero usar uma chave codificada no pendrive por motivos óbvios.
Eu entendo que, como a criptografia de chave pública é lenta, para criptografar um arquivo grande para uma chave pública, é necessário criar um nonce aleatório, criptografar esse nonce e usar o resultado para criptografar o arquivo usando isso como um chave simétrica. Tenho certeza de que existem ferramentas para fazer isso, mas não tenho ideia de como conseguir isso em minha máquina Ubuntu.
Além disso, é possível montar um arquivo criptografado em loop? Eu prefiro não ter que descriptografar todo o arquivo para montá-lo. Não me importo se a imagem só puder ser montada como somente leitura.
Tags encryption disk-image squashfs