[ DKIM ]

Sintaxe de chave pública DKIM : identifique valores DNS truncados ou malformados

Reconstrua o valor DNS real, valide a chave seletora e diferencie danos de formatação de incompatibilidade criptográfica.

Pela equipe de pesquisa EmailAuth

[Pontos-chave]

  • Crie o nome de pesquisa a partir dos valores d e s da assinatura afetada.
  • Concatene strings em um registro TXT sem adicionar espaços em branco.
  • Valide tags, tipo de chave decodificada e signatário ativo separadamente.
Nesta página

Quando um DKIM chave aparece em um painel de controle DNS , mas a verificação falha, inspecione a resposta que o verificador realmente recupera. As capturas de tela podem ocultar um valor truncado, um sufixo de domínio duplicado ou vários registros independentes. A tarefa é estabelecer o nome exato do proprietário e os bytes da chave antes de alterar o signatário.

Comece pela assinatura recebida

Ler d= e s= dos afetados DKIM-Signature. O nome de pesquisa os combina como seletor. _domainkey.signing-domain. Uma mensagem sintética com d=example.com e s=notify portanto usa notify._domainkey.example.com. Uma chave publicada em notifications._domainkey.example.com não irá consertá-lo.

Registre o algoritmo da assinatura e o motivo exato do destinatário. Chave ausente, chave malformada, algoritmo inadequado, incompatibilidade de assinatura e incompatibilidade de hash corporal não são diagnósticos intercambiáveis. Se existirem múltiplas assinaturas, mantenha seus seletores e resultados separados.

Reconstrua um registro TXT corretamente

DNS Registros TXT pode conter várias sequências de caracteres. RFC 6376 §3.6.2.2 requer que essas strings em um único registro sejam concatenadas sem adição de espaços em branco antes do uso. Dividir uma chave longa em strings em um registro é diferente de criar vários registros TXT , cada um contendo uma parte. Esta última não é uma forma segura de publicar uma chave DKIM . A seção 3.6.2.2 requer um registro TXT exclusivo para o seletor e deixa os resultados de vários registros indefinidos; as escolhas do verificador na seção 6.1.2 não tornam os fragmentos combináveis.

Os pedaços citados mostrados por uma ferramenta DNS são uma apresentação do registro. Não presuma que as aspas de exibição sejam bytes de chave literais e não remova caracteres indiscriminadamente da interface DNS . Siga o formato de entrada suportado, consulte DNS autoritativo e compare o valor reconstruído com o valor público gerado. RFC 1035 §3.3.14 define a representação da cadeia de caracteres TXT .

Inspecione quanto a truncamento nos limites da interface, rótulos de linha colados, separadores ausentes e edições acidentais no valor base64. Registros longos precisam de comparação exata, não de inspeção visual do primeiro e do último caractere. Preservar o valor público original gerado para essa comparação; nunca substitua um arquivo de chave privada.

Valide tags e material chave juntos

Sob RFC 6376 §3.6.1, o p= tag carrega os dados de chave pública. Um valor vazio significa uma configuração revogada e não parcialmente concluída. O k= tag identifica o tipo de chave, com RSA como padrão na RFC 6376 ; Ed25519 usa a extensão definida por RFC 8463 §4.2. A seção 3.6.1 RFC 6376 marca formalmente o registro-chave v= tag RECOMENDADO, com DKIM1 como padrão quando estiver ausente. Se incluída, deverá ser a primeira tag e seu valor deverá ser exatamente DKIM1 ; esse valor diferencia maiúsculas de minúsculas.

Use um validador compatível com DKIM para analisar o registro completo e confirmar se o material público decodificado é apropriado para o tipo de chave declarado. A base64 válida por si só não prova que o conteúdo seja uma chave pública RSA ou Ed25519 adequada. Da mesma forma, um registro sintaticamente válido pode conter a chave pública errada para o assinante privado ativo.

Isole a camada de publicação da camada de assinatura

Uma falha ilustrativa envolve uma 2048 bits Chave pública RSA copiada em dois registros TXT separados. Repare a representação no formulário de registro único multistring suportado pelo provedor DNS e, em seguida, leia a resposta. Não encurte a chave para silenciar o erro de interface sem revisar a causa e as implicações de segurança.

Se a chave pública correta for resolvida intacta, mas uma mensagem ainda falhar, investigue o mapeamento do seletor ativo, o par de chaves correspondente, o algoritmo e as alterações na mensagem assinada. Não continue republicando dados DNS idênticos enquanto as evidências apontam para outro lugar. Um provedor gerenciado CNAME deve ser rastreado até seu registro chave final; ela não deve ser substituída por uma cópia local como solução alternativa de sintaxe genérica.

Prove o reparo em uma nova mensagem

Registre resultados oficiais e recursivos, contabilizando dados antigos ou respostas negativas. Envie através do aplicativo afetado e inspecione o resultado do destinatário confiável. Retenha o nome do proprietário corrigido, o valor público reconstruído ou seu resumo, a comparação do valor gerado e as evidências de teste. Um reparo é concluído quando a chave recuperada e o signatário real concordam, e não apenas quando o editor DNS aceita o formulário.

Verifique a estrutura sem uma chave real

Apresentação ilustrativa de um registro: " v=DKIM1; k=rsa; p=AB" "CD". A concatenação produz v=DKIM1; k=rsa; p=ABCD, sem espaço inserido entre AB e CD. ABCD deliberadamente não é uma chave pública RSA utilizável válida; este exemplo demonstra apenas a estrutura TXT e não deve ser publicado. Dois registros separados terminados em p=AB e contendo CD não são equivalentes. Depois de reconstruir o valor real gerado, um analisador compatível com DKIM ainda deve validar suas tags e material de chave decodificado.

Publicação DKIM TXT e CNAME : siga o modelo de gerenciamento de chaves do provedor · Comprimento e algoritmos da chave DKIM : verifique o suporte atual do receptor.

[ Remover ]

Crie o nome de pesquisa a partir dos valores d e s da assinatura afetada. Concatene strings em um registro TXT sem adicionar espaços em branco. Valide tags, tipo de chave decodificada e signatário ativo separadamente.

[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 os valores reconstruídos.

A aparência do painel de controle não estabelece os bytes retornados pelo DNS .

Próximas etapas

  1. Verifique a concatenação de strings de um registro.
  2. Teste o signatário correspondente.
  3. Compare a chave resolvida com os dados gerados.

CISO/SecOps

Mantenha o material público e privado separado.

Um fluxo de trabalho de depuração não deve expor o segredo ao reparar sua contraparte pública.

Próximas etapas

  1. Use resumos de valor público.
  2. Revise as práticas de upload de diagnóstico.
  3. Mantenha as chaves privadas fora das evidências de suporte.

Fundador / Não técnico

Repare a falha real.

Alterações repetidas DNS podem prolongar uma interrupção quando o defeito estiver no signatário ou no caminho de roteamento.

Próximas etapas

  1. Exija o motivo exato do diagnóstico.
  2. Priorize o correio transacional afetado.
  3. Exija um novo teste de aplicação antes do fechamento.

[ Perguntas frequentes ]

Perguntas frequentes

Um registro DKIM TXT pode conter várias strings entre aspas?

Sim. As strings dentro de um registro são concatenadas sem adição de espaços em branco antes do processamento DKIM .

RFC 6376 §3.6.2.2

Posso colocar metade da chave em cada um dos dois registros TXT ?

Não use registros separados como fragmentos de uma chave. Use a representação suportada pelo provedor DNS de um registro completo.

RFC 6376 §3.6.2.2

A base64 válida prova que a chave está correta?

Não. Os dados decodificados devem corresponder ao tipo de chave necessário e ao par de chaves de assinatura ativo.

RFC 6376 §6.1.2 RFC 8463 §4.2

O que significa p = sem valor?

É um valor explícito de chave revogada, não um espaço reservado aguardando conclusão.

RFC 6376 §3.6.1

A tag v é opcional?

A tag key-record v pode estar ausente, mas RFC 6376 a marca formalmente como RECOMENDADA, com DKIM1 como padrão. Se presente, deve ser o primeiro e seu valor deve ser exatamente DKIM1 , diferenciando maiúsculas de minúsculas.

RFC 6376 §3.6.1

Por que começar com uma mensagem recebida?

Seus valores d e s identificam o nome exato do proprietário que o verificador precisa, evitando reparos em um seletor não utilizado.

RFC 6376 §3.6.2.1

A publicação de uma chave maior corrigirá uma incompatibilidade de hash corporal?

Não. Investigue o conteúdo da mensagem assinada e o caminho de processamento para esse resultado de diagnóstico.

RFC 6376 §6.1.3

Como posso confirmar um reparo de sintaxe?

Leia e analise o valor oficial, compare as respostas recursivas e verifique uma nova mensagem do remetente afetado.

[ Fontes ]

Fontes

  1. RFC 6376

    Seções §1 · §2.1 · §3.5 · §3.6.1 · §3.6.2.1 · §3.6.2.2 · §6.1.2 · §6.1.3 · §3.6 · §8.3

  2. RFC 1035

    Seções §3.3.14

  3. RFC 8463

    Seções §4.2

  4. RFC 2308

    Seções §5

[ Glossário ]

Glossário

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

RFC 6376 §1

DNS TXT
Um tipo de registro DNS que contém strings de texto, incluindo dados de verificação pública DKIM .

RFC 1035 §3.3.14

seletor
O valor s usado com o domínio de assinatura para localizar dados de verificação DKIM .

RFC 6376 §3.5

chave pública
Material de verificação publicado para receptores; é diferente da chave de assinatura secreta.

RFC 6376 §3.6 RFC 6376 §8.3

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