Como isso provavelmente envolverá escrever um Initramfs Personalizado, ou pelo menos um hook, você pode achar esses recursos interessantes (ignore os bits específicos do Gentoo):
O exemplo do Self-Decrypting Server produz uma chave de criptografia como esta:
(
# CPU:
grep -vE '(MHz|bogomips)' /proc/cpuinfo
# RAM:
tail /proc/iomem
# MAC-Address: (requires network drivers)
cat /sys/class/net/*/address
# Block devices and partitions (ignore optional CD drive):
grep -v sr0 /proc/partitions
# Random file:
cat /root/secret
) | sha512sum | xargs echo -n > /root/key
Isso deveria proteger contra alguém que passasse pelo seu servidor e removesse os discos rígidos; o HDD por si só não conhece a CPU, RAM, endereço MAC do servidor para que ele não possa descriptografar a si mesmo fora da caixa a que pertence.
No caso de um laptop (onde o dispositivo inteiro é roubado), isso não é útil, pois o ladrão teria todos os dados junto com ele, então você deve substituir isso pelos dados do DHCP.
Então, depois de obter o endereço IP e tal via DHCP, pode ser algo como:
(
cat /sys/class/net/*/address
ip addr show
ip route show
cat /etc/resolv.conf
) | sha512sum | xargs echo -n > /root/key
E isso forneceria um hash / frase-senha com base no seu endereço MAC, no endereço e na rota IP e nos servidores DNS.
Funcionaria, desde que o DHCP sempre configurasse o laptop da mesma maneira, portanto, o servidor DHCP teria que se lembrar da configuração do laptop para sempre ou o laptop pararia de ser inicializado.
Essa solução é sempre um pouco volátil, portanto, certifique-se de usar o LUKS com suporte a vários senhas, tenha uma senha de backup pronta para o caso de uma quebra do DHCP.
Também não é muito seguro; esta informação DHCP é pública (para aquela que usa o laptop) e provavelmente não é difícil de adivinhar (para qualquer um usando um laptop diferente no mesmo ambiente), então ele protege contra o ladrão comum, mas não o colega de trabalho inferno.