O carregador de inicialização do GRUB finalmente definiu o suporte para lidar com discos criptografados LUKS2. O GRUB já suporta LUKS (1), porém, até hoje o principal carregador de inicialização do GNU GRUB não suporta criptografia de disco LUKS2. Então, o LUKS2 Encrypted Disks, agora permite que o carregador descriptografe discos nesse formato mais recente. O LUKS2 existe há alguns anos sendo estável desde o cryptsetup 2.0 em 2017. Portanto, esse suporte ao GRUB está chegando muito depois. Assim, o GRUB Boot Loader adiciona suporte para LUKS2 Encrypted Disks.
O Cryptsetup é o utilitário voltado ao usuário. Ele lida com o módulo do kernel DMCrypt para configurar volumes de disco criptografados.
GRUB Boot Loader adiciona suporte para LUKS2 Encrypted Disks. Mas o que isso significa?
O LUKS2 oferece maior proteção à segurança, aprimoramentos de extensibilidade, atualizações no local em relação ao formato LUKS anterior e outros aprimoramentos. Houve pedidos de suporte ao LUKS2 no GRUB desde pelo menos 2018, enquanto há alguns meses os patches finalmente se materializaram. Logo, a partir de hoje, agora são mesclados ao mestre do Git.
Com o cryptsetup 2.0, foi introduzida uma nova versão do LUKS que quebra a compatibilidade com a versão anterior devido a vários motivos. No momento, o GRUB não oferece suporte ao LUKS2, tornando impossível descriptografar os discos criptografados com essa versão. Esta confirmação implementa suporte para este novo formato.Observe que LUKS1 e LUKS2 são formatos de dados bastante diferentes. Embora eles compartilhem a mesma assinatura de disco nos primeiros bytes, a representação dos parâmetros de criptografia é completamente diferente entre as duas versões. Enquanto a versão anterior dependia apenas de um cabeçalho binário, LUKS2 usa o cabeçalho binário apenas para localizar os metadados reais codificados no JSON.Além disso, o novo formato de dados é muito mais complexo para permitir configurações mais flexíveis, como, por exemplo, ter vários segmentos criptografados e outros recursos que não eram ‘ t anteriormente possível. Por isso, foi decidido que não faz sentido manter o suporte a LUKS1 e LUKS2 no mesmo módulo e, em vez disso, implementá-lo em dois módulos diferentes, luks e luks2.O suporte proposto para LUKS2 é capaz de usar os metadados para descriptografar esses discos. Observe que, na versão atual, apenas a função de derivação de chave PBKDF2 é suportada.Isso pode ser atribuído principalmente ao fato de a biblioteca libgcrypt atualmente não ter suporte para Argon2i ou Argon2id, que são os KDFs restantes suportados pelo LUKS2. Não seria um problema agrupar esses algoritmos com o próprio GRUB, mas foi decidido contra isso para manter o número de correções necessárias para o suporte inicial ao LUKS2. Adicioná-lo no futuro seria essesncial, já que a estrutura do código já está em vigor.
Mais detalhes sobre o suporte ao GRUB LUKS2 através deste commit.