0Pricing
Cryptology Academy · Aula

Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar

Entenda o argumento criptográfico para combinar criptografia e autenticação na ordem correta.

Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 1 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.

Três ordens de composição

Ao combinar criptografia e um MAC, existem três ordens possíveis: Criptografar e depois MAC (EtM), MAC e depois criptografar (MtE) e Criptografar e MAC (E&M). Cada uma tem propriedades de segurança fundamentalmente diferentes, e apenas uma é comprovadamente segura em todas as configurações.

Definição de Criptografar e depois MAC

Em Criptografar e depois MAC, o texto simples é primeiro criptografado para produzir o texto cifrado; em seguida, o MAC é calculado sobre esse texto cifrado. O receptor pode verificar o MAC antes mesmo de tentar descriptografar, o que significa que uma mensagem adulterada é rejeitada imediatamente sem revelar informações.

Definição de MAC e depois criptografar

Em MAC e depois criptografar, o MAC é calculado sobre o texto simples; depois, o texto simples e o MAC são criptografados juntos. O receptor precisa descriptografar a mensagem antes de poder verificar o MAC, o que abre caminho para ataques de oráculo de preenchimento e de oráculo de descriptografia.

Falha do SSL 3.0 e do TLS 1.0

SSL 3.0 e TLS 1.0 usavam a ordem MAC e depois criptografar para cifras de bloco no modo CBC. Essa falha de projeto foi explorada pelo ataque BEAST em 2011 e pelo ataque POODLE em 2014, ambos aproveitando o oráculo existente quando a descriptografia ocorre antes da verificação do MAC.

Demonstração de Bellare-Namprempre

Em 2000, Bellare e Namprempre provaram formalmente que, entre as três ordens de composição, apenas Criptografar e depois MAC alcança segurança IND-CCA2 (segurança contra textos cifrados escolhidos) para todas as combinações de primitivas seguras de criptografia e MAC. MtE e E&M podem falhar em determinadas composições.

Criptografar e MAC no SSH

SSH usa Criptografar e MAC: o MAC é calculado sobre o texto simples e enviado junto com o texto cifrado em formato de texto simples. Embora o SSH não tenha sofrido as mesmas explorações que o MtE do SSL/TLS, essa composição também é teoricamente falha, pois pode vazar informações do texto simples por meio do MAC não criptografado.

AEAD como abstração segura

Criptografia autenticada com dados associados (AEAD) é a abstração moderna que resolve o problema de composição por projeto. AEAD integra criptografia e autenticação em uma única primitiva, garantindo que elas sejam sempre combinadas corretamente sem exigir que o desenvolvedor escolha uma ordem de composição.

AES-GCM: o padrão AEAD

AES-GCM (modo Galois/contador) é o conjunto de cifras AEAD mais amplamente implantado. Ele fornece criptografia autenticada por meio de uma combinação de criptografia no modo CTR e autenticação GHASH, além de ser acelerado por hardware por meio de instruções AES-NI e CLMUL em CPUs modernas.

TLS 1.3 exige apenas AEAD

TLS 1.3 rompeu decisivamente com o passado ao remover todos os conjuntos de cifras que não eram AEAD. Todo conjunto de cifras do TLS 1.3 usa AEAD, eliminando classes inteiras de vulnerabilidades causadas pela composição manual inadequada de primitivas de criptografia e MAC que afligiam versões anteriores do TLS.

Não componha primitivas manualmente

A principal lição de décadas de ataques criptográficos é que compor manualmente primitivas de criptografia e MAC é propenso a erros, mesmo para especialistas. As bibliotecas criptográficas modernas expõem interfaces AEAD especificamente para impedir que desenvolvedores cometam erros de composição que levam a vulnerabilidades no mundo real.

Orientações práticas

Ao criar sistemas atualmente, use sempre uma primitiva AEAD, como AES-GCM ou ChaCha20-Poly1305. Se precisar interoperar com sistemas antigos que usam MAC e criptografia separados, certifique-se de usar a ordem Criptografar e depois MAC (EtM), nunca MAC e depois criptografar (MtE) nem Criptografar e MAC (E&M).

Verificação de EtM e MtE

Qual afirmação descreve corretamente a diferença de segurança entre Criptografar e depois MAC e MAC e depois criptografar?

Recapitulação da lição: a ordem de composição importa

EtM é a única ordem de composição comprovadamente segura para primitivas separadas de criptografia e MAC. TLS 1.3 elimina completamente o problema ao exigir conjuntos de cifras exclusivamente AEAD. Em caso de dúvida, use uma primitiva AEAD, como AES-GCM ou ChaCha20-Poly1305, e deixe a biblioteca cuidar da composição corretamente.

Perguntas Frequentes

A aula “Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar” é grátis?

Sim — o texto completo de “Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar” é 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 “Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar”?

Entenda o argumento criptográfico para combinar criptografia e autenticação na ordem correta. 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 1 de 4.

Quanto tempo leva a aula “Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar”?

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

  1. Por que criptografar e depois aplicar MAC supera aplicar MAC e depois criptografar
  2. Modo SIV: AEAD resistente ao uso indevido de nonce
  3. AEGIS: criptografia autenticada de alta velocidade
  4. Selecionando AEAD para sistemas de produção
← Voltar para Cryptology Academy