Selecionando AEAD para sistemas de produção
Aplique uma estrutura de decisão para escolher o esquema AEAD adequado com base no modelo de ameaças e nos requisitos de desempenho.
Selecionando AEAD para sistemas de produção é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
AES-GCM: a escolha padrão
O AES-GCM é o AEAD padrão adequado para a maioria dos sistemas de produção. Ele conta com aceleração de hardware por meio do AES-NI em praticamente todos os processadores modernos x86 e ARM64, tem amplo suporte nas pilhas TLS e nas bibliotecas criptográficas e se beneficia de extensa criptoanálise e de experiência real de implantação.
Limites de nonce do AES-GCM
O AES-GCM usa um nonce de 96 bits. Com nonces gerados aleatoriamente, o limite do paradoxo do aniversário é alcançado após aproximadamente 2^32 mensagens sob a mesma chave; nesse ponto, a probabilidade de colisão de nonce se torna significativa. Em sistemas de alto volume, é essencial gerenciar nonces por meio de um contador ou fazer a rotação da chave após 2^32 mensagens.
ChaCha20-Poly1305: quando o AES-NI está ausente
O ChaCha20-Poly1305 é a escolha correta quando o AES-NI não está disponível ou quando a geração de nonce pode não ser confiável. Ele é rápido em software, foi projetado para operar em tempo constante (resistindo a canais laterais de temporização) e é o conjunto de cifras obrigatório no TLS 1.3 para ambientes sem suporte de hardware para AES.
AES-GCM-SIV para segurança de nonce
Quando os nonces podem ser reutilizados ou precisam ser gerados deterministicamente, como em serviços sem estado ou no encapsulamento de chaves, o AES-GCM-SIV (RFC 8452) é a escolha correta. Ele oferece resistência ao uso indevido de nonce com um custo de desempenho moderado em comparação com o AES-GCM padrão.
AEGIS para máxima vazão
O AEGIS-128L é a escolha correta quando é necessária a máxima vazão de cifragem e há garantia de que o AES-NI estará presente em todos os ambientes de implantação. Dispositivos de rede com alta largura de banda, concentradores de VPN e sistemas de cifragem de armazenamento são candidatos ideais, pois o AEGIS oferece ganhos de desempenho significativos em relação ao AES-GCM.
Seleção do tamanho da chave: 128 versus 256 bits
O AES-128 oferece segurança de 128 bits, considerada adequada para todas as ameaças atuais e previsíveis da computação clássica. O AES-256 oferece uma margem adicional contra avanços futuros e é exigido por algumas estruturas de conformidade, como a classificação TOP SECRET da NSA Suite B. Para a maioria das aplicações, o AES-128 é suficiente e ligeiramente mais rápido.
Considerações sobre o tamanho do nonce
O AES-GCM usa nonces de 96 bits, enquanto o AES-GCM-SIV também usa nonces de 96 bits. O XSalsa20 (usado no secretbox da libsodium) usa nonces de 192 bits, tornando segura a geração aleatória de nonce para muito mais mensagens sob a mesma chave. Nonces maiores reduzem o risco de reutilização acidental em sistemas de alto volume.
Bibliotecas recomendadas
Use bibliotecas AEAD consolidadas em vez de implementar primitivas diretamente. A libsodium fornece uma API AEAD simples (crypto_aead_aes256gcm_encrypt, crypto_aead_chacha20poly1305_ietf_encrypt). O Google Tink encapsula primitivas AEAD com rotação e controle de versões de chaves. As bibliotecas TLS nativas da linguagem lidam automaticamente com AEAD para a segurança do transporte.
Migração do AES-CBC
O AES-CBC com um HMAC-SHA256 separado, na ordem EtM, é aceitável, mas legado. A migração para o AES-GCM simplifica a implementação ao substituir duas primitivas por uma e elimina o risco de composição incorreta. Os dados em repouso cifrados com CBC-HMAC devem ser recifrados com AES-GCM durante a rotação programada de chaves.
Testando implementações AEAD
As implementações AEAD devem ser testadas com os vetores de teste oficiais do NIST, para AES-GCM, e da RFC 8439, para ChaCha20-Poly1305. Sempre teste se as falhas na verificação da tag de autenticação fazem a decifragem retornar um erro, em vez de texto simples parcial. O tratamento incorreto de erros é uma falha comum de implementação.
Fluxograma de decisão
Escolha AES-GCM quando o AES-NI estiver presente e os nonces forem exclusivos. Escolha ChaCha20-Poly1305 quando o AES-NI estiver ausente ou os nonces forem menos confiáveis. Escolha AES-GCM-SIV quando houver preocupação com a reutilização de nonce. Escolha AEGIS quando a prioridade for a máxima vazão com AES-NI garantido. Nunca escolha modos que não sejam AEAD para sistemas novos.
Verificação da seleção de AEAD
Um microsserviço sem estado, implantado em várias réplicas, precisa cifrar dados e não pode coordenar um contador de nonce compartilhado. Qual modo AEAD é mais apropriado?
Recapitulação da lição: escolhendo o AEAD correto
O AES-GCM é o padrão. O ChaCha20-Poly1305 atende a ambientes sem AES-NI. O AES-GCM-SIV lida com ambientes nos quais os nonces não são seguros. O AEGIS maximiza a vazão quando há garantia de AES-NI. Use bibliotecas como libsodium ou Tink em vez de compor primitivas manualmente. Sempre teste com os vetores de teste oficiais e verifique se as falhas de autenticação são tratadas corretamente.
Aprenda Cryptology Academy com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 67
- Aulas
- 261
Perguntas Frequentes
A aula “Selecionando AEAD para sistemas de produção” é grátis?
Sim — o texto completo de “Selecionando AEAD para sistemas de produção” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “Selecionando AEAD para sistemas de produção”?
Aplique uma estrutura de decisão para escolher o esquema AEAD adequado com base no modelo de ameaças e nos requisitos de desempenho. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Selecionando AEAD para sistemas de produção”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar
- Modo SIV: AEAD resistente ao uso indevido de nonce
- AEGIS: criptografia autenticada de alta velocidade
- Selecionando AEAD para sistemas de produção