Páginas

sexta-feira, 31 de julho de 2026

O Linux remove o crypto_rng: em grande limpeza no subsistema de criptografia do kernel




Linux removerá a camada crypto_rng do kernel. Entenda o impacto, o que muda e como se preparar para a atualização no Linux v7.3. Leia mais!

O kernel Linux está passando por mais uma grande limpeza em seu subsistema de criptografia. Desta vez, o alvo é a camada de abstração crypto_rng, que está prestes a ser removida definitivamente.

O que é o crypto_rng e por que ele está sendo removido?


Uma interface que perdeu o propósito


A camada de abstração crypto_rng foi originalmente projetada como uma interface genérica para geradores de números aleatórios (RNGs) dentro do kernel Linux. A ideia era permitir que diferentes implementações de RNG — tanto de software quanto de hardware — pudessem ser acessadas de forma uniforme pelo sistema.

O problema é que, com o tempo, essa abstração se tornou redundante. Atualmente, ela é usada exclusivamente para implementar um RNG "aprovado pelo NIST" (Instituto Nacional de Padrões e Tecnologia dos EUA) e o coletor de entropia "jitterentropy" que o suporta — tudo por razões de certificação.

O trabalho de Eric Biggers (Google)

Quem está liderando essa remoção é Eric Biggers, engenheiro do Google e especialista no subsistema de criptografia do Linux. Em um patch que já está disponível no branch wip-rng do git do kernel, Biggers explica:


"A camada de abstração crypto_rng foi projetada como uma interface genérica para geradores de números aleatórios. No entanto, agora ela é usada exclusivamente para implementar um RNG 'aprovado pelo NIST' e o coletor de entropia 'jitterentropy' que o suporta (por razões de certificação). Anteriormente, alguns drivers de RNG de hardware suportavam crypto_rng. No entanto, essa funcionalidade não era utilizada e apenas causava confusão, já que existia ao lado do hw_random, que é a interface que realmente é usada."


A recomendação agora é que os desenvolvedores utilizem diretamente as APIs dedicadas dos módulos DRBG (Deterministic Random Bit Generator) e Jitterentropy.


O que muda com a remoção ?


Atualizações nos chamadores do crypto_rng

Para que a remoção seja possível, todos os trechos de código que ainda utilizam o crypto_rng precisam ser atualizados. As principais mudanças incluem:


  • algif_rng.c — agora chama diretamente as APIs do DRBG e do Jitterentropy.

  • __crypto_stdrng_get_bytes() — passa a chamar a API do DRBG diretamente.

  • Autotestes do DRBG — são movidos do testmgr para o próprio drbg.c.


Simplificação e menos código morto


Essa remoção faz parte de um esforço mais amplo de limpeza do subsistema de criptografia do kernel. Recentemente, o Linux também aprovou a depreciação do AF_ALG e removeu drivers de criptografia considerados inseguros ou sem uso.

O driver crypto4xx_rng, por exemplo, já foi removido por ser inseguro e não utilizado — ele tinha apenas 64 bits de força de segurança, um nível considerado altamente inadequado para os padrões atuais.


Produto Recomendado 


Se você trabalha com desenvolvimento para Linux ou administra servidores que exigem alta segurança criptográfica, ter um hardware com suporte nativo a RDRAND (instrução de geração de números aleatórios via CPU) faz toda a diferença.



Este processador conta com suporte completo às instruções de criptografia e RNG via hardware, garantindo maior desempenho e segurança para operações que exigem geração de números aleatórios — especialmente em servidores Linux que utilizam DRBG e Jitterentropy.


Perguntas Frequentes (FAQ)


1. A remoção do crypto_rng vai afetar meus aplicativos ou scripts?

Não diretamente. O crypto_rng é uma interface interna do kernel, utilizada por drivers e módulos do sistema. Aplicações em espaço de usuário que utilizam /dev/random ou /dev/urandom não serão afetadas, pois essas interfaces continuam funcionando normalmente. 

A mudança afeta apenas desenvolvedores de drivers e módulos do kernel.


2. O que devo usar no lugar do crypto_rng?

A recomendação oficial é utilizar diretamente as APIs do DRBG e do Jitterentropy. Para a maioria dos casos, isso significa chamar as funções fornecidas por esses módulos em vez de passar pela camada de abstração crypto_rng. Para hardware RNGs, a interface correta é o hw_random.

3. Essa mudança torna o Linux menos seguro?

Pelo contrário. A remoção elimina uma camada de abstração desnecessária que, na prática, só gerava confusão e código morto. Ao usar as APIs diretamente, o código fica mais transparente, com menos superfície de ataque e mais fácil de auditar.

Além disso, os drivers inseguros como o crypto4xx_rng (com apenas 64 bits de segurança) já estão sendo removidos. 

O resultado é um kernel mais seguro e mais limpo.


📋 Checklist para Desenvolvedores e Admins.

Copie e use esse Checklist.

Verifique se você utiliza módulos que dependem do crypto_rng — consulte a documentação dos drivers que você mantém ou utiliza.

Atualize seu código para usar as APIs diretas do DRBG e Jitterentropy — se você é desenvolvedor de drivers, comece a planejar a migração.

Mantenha-se atento aos changelogs do kernel — a remoção deve chegar no Linux v7.3; fique de olho nos anúncios oficiais.

Teste seus sistemas em ambientes de homologação — antes de aplicar a atualização em produção, valide se tudo continua funcionando como esperado.

Considere hardware com suporte a RDRAND — processadores modernos da AMD e Intel já possuem essa instrução, que agiliza a geração de entropia.

Participe da comunidade — reporte qualquer problema encontrado nas listas de discussão do kernel Linux.


✅ Conclusão


A remoção do crypto_rng é mais um capítulo na longa jornada de modernização e simplificação do kernel Linux. Liderada por Eric Biggers, do Google, essa mudança reflete uma tendência clara: menos camadas de abstração, mais código direto, mais segurança e menos superfície de ataque.

Para a maioria dos usuários, o impacto será zero. Para desenvolvedores e administradores de sistemas, é um momento de atualização e preparação — garantindo que seus drivers e configurações estejam alinhados com as novas recomendações.

Nenhum comentário:

Postar um comentário