O LUKS é uma camada de criptografia de dispositivo de bloco que fica na parte superior de um dispositivo de bloco e criptografa / descriptografa todos os acessos a esse dispositivo. Nenhum dado não criptografado toca o dispositivo físico.
O LUKS fornece um dispositivo de bloco virtual que é usado pelo sistema para acessar os arquivos. Assim, é transparente para aplicativos, que não têm idéia de que a criptografia está ocorrendo.
Considere um sistema trivial com um dispositivo de bloco único e um sistema de arquivos raiz em /dev/sda1
. Se criptografarmos isso com o LUKS, ele manipulará todo o acesso direto a esse dispositivo e fornecerá seu próprio dispositivo, por exemplo /dev/mapper/encrypted-root
, que será realmente usado pelo sistema. Isso pode estar em /etc/fstab
:
/dev/mapper/encrypted-root / ext4 noatime 0 0
Assim, todo acesso a um arquivo nesse sistema de arquivos passará pelo LUKS.
Observe também que o LUKS não sabe ou se importa com quais dados está processando. Assim, você pode sobrepor qualquer coisa sobre ele, seja um sistema de arquivos direto, uma matriz RAID de software, um volume LVM, etc. O LUKS também pode ser colocado sobre qualquer um desses.
Observe bem que os dados armazenados em cache na RAM pelos processos normais de cache podem não ser criptografados.