Você não pode criptografar a partição de inicialização do BIOS; o processo de inicialização em um computador baseado em BIOS que usa o GRUB para inicializar o Ubuntu (ou qualquer outro Linux) é mais ou menos assim:
- A CPU liga e executa o código da BIOS, que não entende a criptografia. O
- BIOS lê o primeiro setor (MBR) do disco rígido, que é necesariamente não criptografado.
- O código MBR, que é pequeno, lê o código do carregador de inicialização mais extenso armazenado em outro local - normalmente na Partição de inicialização do BIOS no caso do GRUB em um disco GPT.
- O GRUB lê seu arquivo de configuração, normalmente de
/boot/grub/grub.cfg
. Também pode carregar código adicional de módulos armazenados em/boot/grub
. - O GRUB lê o kernel e o arquivo inicial de disco RAM (initrd) e, em seguida, executa o kernel.
- O kernel executa scripts de inicialização no initrd.
- O sistema de arquivos principal é montado e outros processos de inicialização são controlados a partir dele.
Como o BIOS não suporta criptografia, o MBR não pode ser criptografado. Em teoria, o MBR poderia incluir código de criptografia e, portanto, a partição de inicialização do BIOS poderia ser criptografada; no entanto, na prática isso é impraticável, talvez no extremo, porque o código de inicialização do MBR é um total de 440 bytes de tamanho (446 bytes se você esticar um pouco as definições). Note que bytes, não é KiB, MiB ou algum outro valor. O GRUB usa a Partição de Inicialização do BIOS porque 440 bytes são inadequados para fazer qualquer coisa além de direcionar o processo de inicialização para esse local maior; enfiar software de criptografia nesse espaço é um obstáculo que está além do campo da prática (e talvez totalmente impossível).
Assim, o primeiro ponto no qual a criptografia é uma possibilidade prática é depois que a Partição de Inicialização do BIOS é lida e, de fato, o GRUB suporta a leitura de sistemas de arquivos criptografados, portanto seu kernel Linux pode ser armazenado em um sistema de arquivos criptografado. (Pelo menos é o que eu ouço; nunca tentei eu mesmo). Observe também que a criptografia da partição de inicialização do BIOS fornecerá proteções de privacidade adicionais limitadas ou não. A maior parte do que vai lá é software de código aberto. Ele pode ser ajustado e customizado para o seu sistema em particular, mas isso é principalmente para identificar a partição que contém o sistema de arquivos root ( /
) ou /boot
do Linux, e talvez incluir drivers necessários em seu computador em particular. AFAIK, não há senhas, nomes de usuário ou outros dados confidenciais na partição de inicialização do BIOS. Se fosse possível, a criptografia da partição de inicialização do BIOS pode dificultar o uso de malware - mas, nesse cenário, o malware precisaria apenas ajustar o MBR para redirecionar o processo de inicialização para seu próprio código ou para - escreva a Partição de Inicialização do BIOS usando suas próprias chaves de criptografia.
Dito isso, em teoria, um disco inteiro poderia ser criptografado se o próprio disco, ou o controlador ao qual ele está conectado, suportasse esse recurso. Isso exigiria o disco ou o controlador para fazer a criptografia e descriptografia, "abaixo" do nível do BIOS. Não sei com certeza como uma senha poderia ser entregue em um disco conectado a um controlador padrão, mas se você tivesse uma placa de plug-in com um controlador de disco criptografado, ela necessariamente teria uma interface com o BIOS normal e poderia, portanto, solicitar uma senha no momento da inicialização. Para o sistema operacional, o disco se pareceria com um disco normal não criptografado. Lembro-me vagamente de ouvir sobre essas soluções, mas nunca as examinei e não sei se esse hardware está disponível hoje em dia. (Eu posso estar lembrando de reclamações por vaporware).
Note também que um EFI / UEFI funciona de maneira muito diferente de um BIOS; mas AFAIK, EFI / UEFI também não suporta a criptografia de 100% de um disco - o carregador de boot ainda deve residir em uma partição de sistema EFI não criptografada (ESP). A EFI é muito maior e mais complexa do que a BIOS, embora eu possa não ter conhecimento de um recurso obscuro, e pode ser mais fácil adicionar esse suporte à especificação EFI no futuro. Se você estiver interessado em criptografar a partição de inicialização do BIOS como uma forma de evitar adulterações de malware, o recurso de inicialização segura da maioria dos UEFIs modernos destina-se a resolver esse problema. Ao assinar o primeiro código de inicialização lido a partir do disco e fornecer uma cadeia de assinatura para o sistema operacional, o Secure Boot (teoricamente) impede a violação.