A segurança e o desempenho da criptografia de dados no Linux atingem um novo patamar! O Cryptsetup, a ferramenta padrão para gerenciar volumes criptografados com LUKS e dm-crypt, acaba de lançar sua versão 2.8.0. Este é um lançamento estável que promete turbinar a produtividade e a proteção de dados com uma série de novas funcionalidades e centenas de correções de bugs.
O grande destaque do Cryptsetup 2.8.0 é o suporte ao modo inline em drives NVMe, que promete eliminar gargalos de desempenho na criptografia. Além disso, a versão traz melhorias cruciais em recuperação de dados, gerenciamento de chaves e compatibilidade com tecnologias de hardware modernas, reforçando a posição do Cryptsetup como uma ferramenta essencial para a segurança de dados no Linux.
Este artigo fará um mergulho aprofundado nas novidades do Cryptsetup 2.8.0, explorando como essas inovações impactam diretamente a sua experiência de criptografia, o desempenho de seu armazenamento e a capacidade de recuperação de dados em cenários críticos.
Modo inline: a revolução da criptografia em NVMe de alto desempenho
O que é o modo inline?
A versão Cryptsetup 2.8.0 introduz suporte ao modo inline para drives NVMe que possuem espaço adicional para metadados de hardware – por exemplo, setores de 4096 bytes + 64 bytes adicionais para metadados.
Quando esse espaço não está sendo utilizado internamente pelo próprio drive para funcionalidades como verificação de integridade, ele pode ser usado diretamente pelo kernel, eliminando a necessidade da camada dm-integrity para armazenar metadados externos.
O resultado? Criptografia muito mais rápida, já que o journal do dm-integrity, que era um gargalo, é completamente eliminado nesse cenário.
Esse suporte foi adicionado ao Linux Kernel 6.11, com melhorias no device-mapper. A opção --integrity-inline
ativa esse modo no Cryptsetup e também no Integritysetup.
Na prática:
- Integritysetup ainda usa o dm-integrity, mas os metadados são gravados diretamente nos setores extras do hardware.
- Cryptsetup elimina totalmente o dm-integrity e trabalha diretamente com dm-crypt, otimizando o desempenho.
Além disso, a libcryptsetup agora exporta a nova chamada de API crypt_format_inline, facilitando a implementação por desenvolvedores.
Como habilitar e formatar com modo inline
Requisitos:
- O drive NVMe precisa suportar o espaço de metadados inline.
Verificação:
Execute:
nvme id-ns -H /dev/nvmeXnY
Procure o LBA Format com espaço extra.
Formatação (com perda de dados):
nvme format -l <lbaf> /dev/nvmeXnY
Escolha um perfil com 4096 bytes por setor, que é fortemente recomendado para desempenho.
Exemplos de uso
Integritysetup com modo inline:
integritysetup format --sector-size 4096 --integrity-inline /dev/nvmeXnY
O status mostrará:
inline mode
journal: not active
LUKS2 com criptografia autenticada (AEGIS AEAD):
cryptsetup luksFormat --integrity-inline --integrity aead --sector-size 4096 \
-c aegis128-random --key-size 128 /dev/nvmeXnY
O comando luksDump
mostrará:
Requirements: inline-hw-tags
Atenção: A criptografia autenticada LUKS2 ainda é experimental. O modo inline melhora o desempenho, mas não a estabilidade dessa funcionalidade.
Gerenciamento de chaves e reencryption: mais controle e segurança
API de Keyslot Context finalizada e auto-contida
A Keyslot Context API agora está finalizada e totalmente auto-contida:
- Não requer mais que o chamador aloque memória – tudo é feito internamente.
- Permite uso de tokens em comandos como open, resume e reencryption, sem APIs específicas.
- Mantém compatibilidade retroativa.
Novas opções –key-description e –new-key-description
Agora é possível recuperar passphrases diretamente do keyring, em comandos como:
open
resize
luksResume
luksFormat
luksAddKey
luksDump
Seleção precisa de keyslot em reencryption
A função de reencryption agora aceita:
- Filtros com
--token-id
,--token-type
,--token-only
para especificar quais keyslots serão atualizados. - Utilização de chaves de volume diretas com
--volume-key-file
e--new-volume-key-file
. - Apagar todos os keyslots após reencryption com
--force-no-keyslots
. - Retomar operações com tokens ou volume keys.
Recuperação e reparo: diagnóstico de keyslots corrompidos
Verificação de corrupção em áreas de keyslot
O comando:
cryptsetup repair
tenta detectar corrupções em áreas binárias de keyslot. Ele usa um teste estatístico de Chi-quadrado para verificar a distribuição dos dados nos blocos de 4096 bytes.
Quando detecta irregularidades, exibe mensagens como:
Keyslot 2 binary data could be corrupted.
Suspected offset: 0x88000
Importante:
- Não modifica o cabeçalho.
- Não repara o keyslot automaticamente.
- Serve como diagnóstico para casos em que senhas deixam de funcionar após possíveis falhas de disco.
- É necessário restaurar de um backup do cabeçalho.
Suporte a Opal2 SEDs: segurança reforçada para drives de autocriptografia
PSID keyfile e métodos de apagar
O PSID keyfile precisa ter 32 caracteres alfanuméricos.
O comando Secure Erase agora é preferido ao Erase, por ser mais confiável no modo Single-user (SUM) dos Opal2 SEDs.
Correções de erros e desativação imediata
- Mensagens de erro ajustadas conforme as especificações TCG.
- A desativação adiada de SEDs não é mais permitida.
Flexibilidade e interoperabilidade: o Cryptsetup se adapta
Combinação de –reduce-device-size e –device-size
Agora é possível combinar essas opções durante reencryption para:
- Criptografar apenas parte do dispositivo.
- Reservar espaço para um novo cabeçalho LUKS.
Suporte ao formato de cipher capi: do kernel
- Avoida fallback para o device-mapper.
- Incompatível com LUKS1.
- Desativado para keyslot encryption, usado apenas para dados.
Proteção contra keyslots ‘unbound’
A conversão LUKS2 → LUKS1 não é permitida se houver keyslots unbound, pois o LUKS1 não oferece suporte.
Ajuste do tamanho da chave XTS
A chave XTS tem agora seu tamanho dobrado de forma automática ao usar cipher capi:, de acordo com o formato dm-crypt.
Otimizações de memória e usabilidade
Argon2 KDF: sem limite de memória em sistemas com muita RAM
- Sem limite artificial em sistemas com >4GB RAM.
- Detecta e reporta erros de OOM nos backends.
- Evita overflow para KDF2 em sistemas 32-bit.
Veritysetup: checagem antecipada de hash device
- Verifica se o Merkle tree cabe no dispositivo antes de começar.
- Evita falhas posteriores por falta de espaço.
Saídas de comandos claras e unificadas
- Unidades explícitas como
[512-byte units]
,[bytes]
agora são exibidas. - Reduz ambiguidade para usuários e scripts.
Otimizações diversas
- Escritas de LUKS2 metadata otimizadas.
- Verificação de direct-io em block devices desativada.
- Benchmarks não incluem alocação de cipher.
- Mbed-TLS agora é um backend opcional.
- Correções de segfaults e builds com Meson.
- Licenças reorganizadas.
Extensões de API libcryptsetup: novas funcionalidades para desenvolvedores
- Compatibilidade retroativa com símbolos antigos.
- Novas versões de símbolos como
crypt_keyslot_context_init_by_passphrase
. - Novos símbolos:
crypt_format_inline
,crypt_safe_memcpy
, entre outros. - Novas flags:
CRYPT_ACTIVATE_HIGH_PRIORITY
,CRYPT_REQUIREMENT_INLINE_HW_TAGS
.
TCRYPT (TrueCrypt/VeraCrypt): melhorias para sistemas criptografados
- Mapeamento automático de partições com base no tamanho detectado dos metadados do VeraCrypt.
- O comando
tcryptDump
agora exibe todas as informações descriptografadas do cabeçalho. - Maior compatibilidade e facilidade de depuração.
Conclusão: Cryptsetup 2.8.0 – a vanguarda da segurança e performance no Linux
O Cryptsetup 2.8.0 é um lançamento monumental que consolida sua posição na vanguarda da segurança de dados no Linux. Com o modo inline que promete revolucionar a criptografia em drives NVMe, juntamente com ferramentas avançadas de reparo de keyslots, opções flexíveis de reencryption e um foco contínuo em performance e segurança, o Cryptsetup 2.8.0 eleva o patamar da proteção de dados em sistemas Linux.
Para garantir que seus dados estejam seguros e sua criptografia seja a mais eficiente possível, atualize seu Cryptsetup para a versão 2.8.0 hoje mesmo! Explore as novas funcionalidades e proteja seu sistema. Para mais notícias e análises sobre criptografia, segurança Linux e armazenamento, continue acompanhando o SempreUpdate!