[ DKIM ]

Canonização DKIM simples e descontraída: quais mudanças podem sobreviver

Identifique a normalização que uma assinatura permite, reproduza-a em bytes preservados e localize as alterações que permanecem fora de sua proteção.

Pela equipe de pesquisa EmailAuth

[Pontos-chave]

  • Leia algoritmos de cabeçalho/corpo separadamente; ausente c o padrão é simples/simples.
  • Regras relaxadas normalizam espaços em branco especificados, não edições substanciais de mensagens.
  • O manuseio de corpo vazio é diferente: hashes simples CRLF; hashes relaxados zero octetos.
Nesta página

DKIM canonização define como os bytes da mensagem são preparados para hashing e verificação de assinatura. Permite normalizações específicas; isso não torna inofensiva a edição arbitrária de mensagens. Diagnosticar as configurações reais da assinatura e o conteúdo bruto antes de alterar a configuração do remetente.

Leia as duas configurações separadamente

A assinatura c= tag nomeia cabeçalho e canonização do corpo nessa ordem. Por exemplo, descontraído/simples usa processamento relaxado para cabeçalhos e processamento simples para o corpo. RFC 6376 §3.5 define simples/simples como padrão quando a tag está ausente; se apenas o algoritmo do cabeçalho for declarado, o algoritmo do corpo será padronizado como simples.

Registro c=, a lista de cabeçalhos assinados h=, o hash de corpo bh= e qualquer limite de comprimento corporal l= ao lado d= e s=. Uma incompatibilidade de hash de corpo, uma incompatibilidade de assinatura de cabeçalho e uma chave pública ausente precisam de investigações diferentes. Não deduza a configuração de canonização a partir do que o cliente de e-mail exibe.

Entenda a normalização permitida

A canonização simples do cabeçalho preserva os campos do cabeçalho conforme apresentados ao algoritmo. O processamento de cabeçalho relaxado coloca nomes de campos em minúsculas, desdobra linhas de continuação e normaliza espaços em branco especificados. Não coloca os valores dos campos em minúsculas nem autoriza a alteração das palavras do Assunto.

A canonização simples do corpo remove as linhas vazias no final e garante o CRLF final necessário, enquanto retém outros conteúdos do corpo. O processamento de corpo relaxado também reduz a quantidade de espaços e tabulações dentro de uma linha e remove espaços em branco nas extremidades da linha antes de manipular as linhas vazias finais. Ele não combina linhas arbitrárias, reescreve URLs, remove limites MIME ou ignora texto adicionado. RFC 6376 §3.4 especifica a ordem exata e os casos extremos, incluindo tratamento diferente de um corpo vazio.

Use uma implementação conforme para testes exatos. Uma aproximação editada manualmente que altera os finais de linha antes da verificação pode criar a falha que deveria investigar.

Aplicar um exemplo controlado

Considere a linha corporal sintética Pague<SP><SP>agora<SP><CRLF>, onde os rótulos entre colchetes indicam bytes em vez de texto literal. A canonização corporal relaxada produz Pague<SP>agora<CRLF> para essa linha. O processamento simples do corpo mantém os espaços internos e finais. Uma mudança desse tipo apenas com espaços em branco pode, portanto, ter resultados diferentes nos algoritmos dos dois corpos.

Agora anexe uma nova frase após a mensagem assinada. O processamento relaxado não descarta essa adição substantiva. Assumindo a cobertura de corpo inteiro e nenhuma outra alteração no teste, o corpo canônico difere, assim como o hash corporal esperado. Uma regra de rodapé não pode ser declarada segura apenas porque o remetente usa relaxado/relaxado.

O exemplo explica a normalização esperada, não um incidente capturado ou um teste executado. Na produção, leve em consideração a codificação MIME , os cabeçalhos assinados e o tratamento real do comprimento da assinatura. Duas mensagens podem ser renderizadas de forma idêntica enquanto seus bytes assinados são diferentes.

Localize a transformação antes de alterar a política

Preserve a mensagem original e obtenha amostras de comparação autorizadas antes e depois dos modificadores suspeitos. Use cópias para análise. Compare um teste equivalente com e sem o recurso suspeito de rodapé, reescrita de link ou recodificação, mantendo a mesma rota de transporte.

Se a arquitetura suportada permitir, execute as alterações de conteúdo necessárias antes do estágio final de assinatura apropriado. Se um intermediário assinar novamente, avalie sua nova identidade e alinhamento. Não desative o processamento de gateway de proteção nem enfraqueça a política de domínio apenas para tornar verde um teste de diagnóstico.

Como RFC 6376 §8.2 avisa, um comprimento de corpo l= o limite altera a quantidade de cobertura do corpo canonizado. Não é uma solução alternativa geral para modificação pós-assinatura e pode deixar o conteúdo anexado fora da parte assinada. Revise as implicações de segurança e o suporte do provedor em vez de adicioná-lo para suprimir uma falha.

Prove a correção nos níveis de byte e rota

Retenha a falha original, as configurações de canonização, a comparação controlada e um resultado recebido da rota corrigida. Se a alteração da canonização for a solução suportada escolhida, confirme se a operação de modificação real está dentro das transformações permitidas. Uma nova assinatura relaxada pode tolerar algumas alterações de espaço em branco, permanecendo vulnerável à reescrita substantiva original. Encerre o problema somente quando a mudança observada e o resultado da verificação concordarem.

Verifique o caso extremo de corpo vazio

Sob RFC 6376 §3.4.3, um corpo completamente vazio ou ausente torna-se um CRLF, ou dois octetos, na canonização simples do corpo. Sob RFC 6376 §3.4.4, a canonização do corpo relaxado produz zero octetos para um corpo vazio. Uma ferramenta que faz hash de CRLF em ambos os casos discordará do padrão, mesmo que ambas as mensagens apareçam em branco. Este é um exemplo de especificação, não uma verificação DKIM completa ou um teste de email executado.

Sintaxe de chave pública DKIM : identifique valores DNS truncados ou malformados · Múltiplas assinaturas DKIM : encontre a assinatura de passagem alinhada.

[ Remover ]

Leia algoritmos de cabeçalho/corpo separadamente; ausente c o padrão é simples/simples. Regras relaxadas normalizam espaços em branco especificados, não edições substanciais de mensagens. O manuseio de corpo vazio é diferente: hashes simples CRLF; hashes relaxados zero octetos.

[Por função]

O que isso significa para você

Escolha sua função para ver as próximas etapas práticas.

Administrador de TI/Correio

Compare bytes no algoritmo real.

O texto renderizado é insuficiente para explicar falhas de hash corporal.

Próximas etapas

  1. Preservar mensagens originais.
  2. Grave c, h e l antes de testar.
  3. Repita a transformação do gateway afetado.

CISO/SecOps

Evite enfraquecer a cobertura para esconder um defeito.

Uma exceção de comprimento do corpo altera o que a assinatura protege.

Próximas etapas

  1. Revise a nova assinatura de identidades.
  2. Aprove explicitamente qualquer exceção de cobertura.
  3. Evite desativar o processamento de proteção sem revisão.

Fundador / Não técnico

Corrija a ordem de processamento.

Uma isenção de responsabilidade comercial pode ser legítima e ainda quebrar uma assinatura quando inserida no estágio errado.

Próximas etapas

  1. Atribua proprietários de gateway e remetente.
  2. Teste a rota voltada para o cliente.
  3. Aprovar a responsabilidade pelo limite de assinatura.

[ Perguntas frequentes ]

Perguntas frequentes

O que significa c=relaxed/simple ?

O cabeçalho usa canonização relaxada e o corpo usa canonização simples.

RFC 6376 §3.5

Qual é o padrão quando c está ausente?

RFC 6376 define simples/simples como padrão.

RFC 6376 §3.5

O texto do Assunto está relaxado em minúsculas?

Não. O processamento de cabeçalho relaxado coloca nomes de campo em letras minúsculas, não valores de campo.

RFC 6376 §3.4.2

O processamento corporal relaxado ignorará uma isenção de responsabilidade?

Não. Um rodapé substantivo adicionado está fora da normalização comum de espaços em branco e altera um corpo totalmente coberto.

RFC 6376 §3.4.4

Mensagens visualmente idênticas podem ter hashes diferentes?

Sim. A renderização pode ocultar diferenças de bytes, codificação, final de linha e MIME relevantes para DKIM .

RFC 6376 §3.7

O processamento simples do corpo é completamente byte por byte?

Ele ainda aplica seu tratamento definido de linhas vazias finais e do CRLF final. Outros conteúdos corporais são preservados.

RFC 6376 §3.4.3

Devo usar l para tolerar conteúdo anexado?

Não o use como um reparo genérico. Ele altera a cobertura e requer um projeto específico com suporte e uma revisão de segurança.

RFC 6376 §8.2

Que evidências localizam uma transformação prejudicial?

Amostras brutas preservadas em torno do salto suspeito, as configurações exatas da assinatura e uma repetição controlada pela mesma rota.

[ Fontes ]

Fontes

  1. RFC 6376

    Seções §1 · §3.4 · §3.4.1 · §3.4.2 · §3.4.3 · §3.4.4 · §3.5 · §3.7 · §6.1.3 · §8.2

[ Glossário ]

Glossário

DKIM
Uma assinatura associada ao domínio sobre cabeçalhos de mensagens selecionados e conteúdo do corpo verificado com dados de chave pública.

RFC 6376 §1

Canonização
Preparação definida de cabeçalhos ou corpo antes do hashing e verificação DKIM .

RFC 6376 §3.4

Hash de corpo
O hash codificado do corpo canonizado, com tratamento de comprimento aplicável, transportado em bh.

RFC 6376 §3.5

Seletor
O valor s usado com o domínio de assinatura para localizar dados de verificação pública.

RFC 6376 §3.5

Proveniência da empresa

Por que as principais instituições financeiras e governos retiraram seus painéis de segurança de e-mail.

As plataformas tradicionais de autenticação de e-mail vendem um painel e pedem que seus engenheiros façam o trabalho. Em ambientes de alto risco, a supervisão manual significa aplicação atrasada, desvios de configuração e domínios ocultos não monitorados.

EmailAuth é a plataforma de origem de e-mail agente. Nossos agentes impõem p=reject, mantenha remetentes terceiros alinhados e mova seus domínios para full RFC 9989 conformidade, o novo padrão DMARC , com auditabilidade humana no circuito.

Governos Grandes empresas Instituições financeiras de nível 1

SaaS · Locação dedicada · Air gap no local · Criptografia BYOK

Base de conhecimento