Outra abordagem para esse problema específico é usar o TPM para armazenar uma chave de criptografia, mas a defesa depende do usuário para torná-la eficaz. Uma solução rudimentar baseada em RHEL7 é o tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).
O modo como funciona é na inicialização, cada etapa do processo de inicialização mede a próxima e armazena essa medida nas PCRs no TPM. Após a conclusão do processo de inicialização, o tpm-luks verifica o status dos PCRs em relação a uma configuração "conhecida". Se em uma configuração "conhecida", o TPM desmarcará a chave LUKS e o tpm-luks passará esses dados para desbloquear a partição LUKS raiz.
Como tudo o que é importante é medido com um hash criptográfico, não há como uma empregada do mal substituir seu GRUB / kernel / ramdisk para coletar nefasta sua senha do FDE. Como um bônus adicional, você não precisa de uma senha FDE! Em teoria, você poderia remover completamente a senha legível por humanos e confiar inteiramente no tpm-luks, mas se você seguir esse caminho, provavelmente é uma boa idéia armazenar o cabeçalho LUKS e mantê-lo como backup.
Como eu mencionei, isso requer alguma diligência no usuário. Se você deixou o computador sem vigilância e recebe uma solicitação de senha, provavelmente é uma má idéia digitá-lo até que você faça algumas investigações. Nesse ponto, você deve inicializar em um ambiente de CD ao vivo e verificar se há um erro no tpm-luks ou se a /boot
partição foi realmente alterada. Você ainda está deixando a /boot
partição não criptografada, mas se algo importante for alterado, o disco principal nunca será descriptografado.