
Estou tentando aprender sobre o procedimento de inicialização ao lidar com partições criptografadas LUKS (especificamente, quando o root ainda está criptografado) para que eu possa implementar rotinas de descriptografia personalizadas (por exemplo: aceitar uma senha apenas se CTRL + C estiver sendo mantido; desbloquear uma partição não-root primeiro para executar scripts criptografados usando IDs de hardware como chaves, etc.). Não há nenhum propósito real por trás disso além de aprender coisas novas (e mergulhar no fundo do poço quando as coisas não fazem muito sentido).
Sou muito novo nisso e não sei onde deveria procurar para saber se o que quero fazer é mesmo possível. No começo, pensei que aprendercomo usar arquivos de chave USBpode ser um bom ponto de entrada, mas então li "... I had no way to provide the keyfile for unlocking the root partition at boot..."
e percebi que provavelmente estava latindo para a árvore errada.
Meu entendimento atual é que, neste ponto, o kernel está em execução, mas, como a partição raiz é criptografada, não tenho acesso à maioria das funções ou diretórios padrão. Isso me leva a supor que eu só precisaria falar diretamente com o kernel... e é aí que me perco.
Atualmente estou trabalhando no Ubuntu 18.04, mas posso mudar para 16.04 se isso facilitar a vida. Também estou mexendo em uma instância do VirtualBox antes de entrar em um laptop para verificar soluções (se encontrar alguma), só porque é mais fácil e rápido.
Agradecemos antecipadamente, qualquer ajuda ou informação será muito apreciada.