Kernel Linux integra novas APIs para criptografia AES e inicia redução de dívida técnica

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Atualização na libcrypto limpa código legado e reforça a segurança do núcleo!

Uma atualização recente no repositório principal do Kernel Linux introduziu uma reestruturação significativa na forma como o sistema lida com a criptografia AES. Liderada pelo desenvolvedor Eric Biggers e já aprovada por Linus Torvalds, a mudança adiciona novas APIs à biblioteca libcrypto, projetadas para substituir implementações antigas que eram consideradas complexas e ineficientes no núcleo do sistema operacional.

O que essa mudança significa na prática

Para o usuário final, a mudança ocorre nos bastidores, mas tem impacto direto na manutenibilidade e na segurança do sistema. O Kernel Linux utiliza criptografia constantemente, seja para proteger sistemas de arquivos, gerenciar conexões de rede ou parear dispositivos via Bluetooth.

Até agora, a forma como os desenvolvedores precisavam implementar essas funções de segurança, especialmente os modos de criptografia AES, era burocrática e exigia excesso de código repetitivo. A nova atualização cria um padrão mais direto e moderno. Isso reduz a chance de erros humanos no desenvolvimento, facilita a manutenção do código por parte da comunidade e deixa o núcleo do sistema ligeiramente mais limpo.

A evolução da libcrypto e a substituição de APIs antigas

09Fj4zfG linux novas apis aes libcrypto 2
Kernel Linux integra novas APIs para criptografia AES e inicia redução de dívida técnica 3

Historicamente, os subsistemas do Kernel Linux que precisavam utilizar modos avançados de criptografia AES recorriam a APIs tradicionais, como crypto_skcipher ou crypto_aead. De acordo com as notas de envio (pull request) do autor do patch, essas interfaces são difíceis de operar e carregam ineficiências estruturais. A ausência de um suporte adequado diretamente na biblioteca era tratada como a principal lacuna no subsistema de criptografia do kernel.

A solução, agora integrada à linha principal de desenvolvimento (mainline), traz suporte nativo na biblioteca para os modos AES mais utilizados no kernel, incluindo ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM e CCM.

A transição já começou com a migração do único usuário da antiga API de biblioteca AES-GCM para o novo formato, mais flexível, o que permitiu a remoção imediata da implementação legada. Além disso, as novas APIs foram conectadas à interface de criptografia tradicional, garantindo que sejam cobertas pelos testes automatizados (self-tests) do próprio kernel.

Menos código, mais segurança

A nova abordagem provou seu potencial de simplificação estrutural. Em testes de conceito (proof-of-concept) desenvolvidos por Biggers para diversos subsistemas que ainda utilizam as APIs antigas, a adaptação para as novas funções resultou em um saldo negativo de 1.905 linhas de código. Um código menor e mais legível é um fator crítico para auditorias de segurança em projetos de software livre.

O pacote de atualizações também incluiu reforços de segurança diretos, adicionando funções de limpeza de memória para o AES-CMAC. Essa técnica garante que o contexto e as chaves criptográficas sejam apagados da memória imediatamente após a conclusão de seu uso. Essa mitigação já foi implementada de forma prática em módulos de protocolo de gerenciamento de segurança do Bluetooth (SMP) e no cliente de rede SMB.

Próximos passos e otimização por arquitetura

O código integrado marca a primeira fase de um projeto mais abrangente. Tratar a base de todas essas variações do AES de uma só vez era necessário porque esses modos costumam depender uns dos outros internamente.

A preparação desta infraestrutura é um pré-requisito técnico para o verdadeiro salto de otimização esperado para os próximos ciclos de desenvolvimento. O objetivo final é migrar o código otimizado especificamente para as arquiteturas de hardware (que tira proveito de instruções nativas de processadores para acelerar o AES) diretamente para a nova biblioteca. Quando isso acontecer, uma grande quantidade de código de integração redundante será eliminada de forma definitiva.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.