Validação DKIM: Uma Melhoria de Autenticação de Emails
·

Principais Conclusões
DKIM (DomainKeys Identified Mail) é um método de autenticação de e-mail baseado em conteúdo que verifica se uma mensagem foi alterada após ser assinada.
Diferentemente do SPF, que valida o caminho de envio, o DKIM valida o conteúdo da mensagem em si usando assinaturas criptográficas.
O DKIM utiliza duas chaves: uma chave privada para assinar mensagens de saída e uma chave pública publicada no DNS para que os receptores validem as assinaturas.
Uma assinatura DKIM inclui hashes tanto dos cabeçalhos quanto do corpo, seletores, carimbos de data/hora e campos de identidade — tudo isso que o receptor deve reproduzir e verificar.
A validação DKIM depende de receber a mensagem inteira primeiro, o que significa que falhas podem ocorrer no final do processo.
Resolver falhas na validação DKIM é frequentemente difícil porque remetentes e receptores não conseguem reproduzir os ambientes de assinatura/validação um do outro.
Mesmo quando o DKIM falha, geralmente não causa diretamente problemas de entrega na caixa de entrada, a menos que seja combinado com outros sinais de reputação negativa.
Destaques de Perguntas e Respostas
O que o DKIM realmente faz?
DKIM anexa uma assinatura criptográfica a um email, permitindo que o servidor receptor confirme se o conteúdo da mensagem foi modificado após ser enviado.
Como o DKIM é diferente do SPF?
SPF valida quem está autorizado a enviar e-mails para um domínio (baseado em caminho).
DKIM valida se o conteúdo está intacto (baseado em conteúdo).
Ambos têm propósitos diferentes e se complementam.
O que há dentro de um cabeçalho DKIM-Signature?
Os campos principais incluem:
v= versão
a= algoritmo
c= regras de canonização
d= domínio de assinatura
s= seletor
h= cabeçalhos incluídos na assinatura
bh= hash do corpo
b= dados da assinatura real
Cada parte contribui para como a assinatura é validada.
Como um servidor receptor valida o DKIM?
Extrai os valores de d= e s=.
Procura a chave pública em:
Regenera os hashes do cabeçalho e do corpo.
Compara-os com os valores bh= e b= no e-mail.
Se corresponderem, a mensagem passa no DKIM.
O que causa a falha do DKIM?
Mensagem alterada em trânsito (até as alterações de espaço em branco se utilizar a canonicalização estrita)
Chave pública incorreta ou ausente no DNS
Erros de formatação do DNS
Selector removido ou rotacionado incorretamente
Identidades incompatíveis (i= deve ser o mesmo domínio ou subdomínio de d=)
Por que falhas no DKIM podem ser difíceis de solucionar?
Porque o signatário e o validador operam em ambientes completamente diferentes — nenhum dos lados pode reconstruir as condições de hashing ou o estado de assinatura do outro.
Isso torna falhas de “incompatibilidade de hash” opacas as mais frustrantes de diagnosticar.
Uma falha no DKIM significa que o e-mail irá para a pasta de spam?
Nem necessariamente.
DKIM é apenas um sinal. Se o domínio tiver uma boa reputação e passar por outras verificações (alinhamento SPF, DMARC, baixas taxas de reclamação), falhas isoladas de DKIM normalmente não impactam a entrega na caixa de entrada por conta própria.
Por que usar DKIM?
Protege a integridade das mensagens
Constrói a reputação do domínio
Habilita o alinhamento DMARC
Ajuda os provedores de caixa de entrada a distinguir remetentes legítimos de falsificadores
DKIM é considerado uma boa prática para todos os remetentes de e-mail sérios.
Quando falamos sobre “Autenticação de Email”, estamos nos referindo a uma técnica que proporciona ao destinatário de uma mensagem algum nível de certeza de que a mensagem realmente se originou na fonte reivindicada da mensagem. A ideia por trás dessas técnicas é alcançar algum nível de defesa contra e-mails fraudulentos, como phishing e spoofing, e-mails que podem erodir a confiança de um destinatário ao receber e-mails. Dito isso, o ato de enviar e-mails autenticados não afirma que o e-mail é bom ou desejado; apenas significa que o e-mail é tal que uma reputação para a parte autenticada pode ser estabelecida de forma confiável e usada nas decisões de aceitação e colocação de e-mails.
Existem duas formas de autenticação de e-mail em uso hoje:
Framework de Política do Remetente (SPF)
Chaves de Domínio Identificadas de E-mail (DKIM)
No post de hoje, estou cobrindo o que é DKIM e como funciona.
Visão Geral do DKIM
Diferente de seu contraparte de autenticação SPF, que fornece uma maneira para um domínio autorizar um host a enviar e-mails em seu nome, DKIM fornece uma maneira para uma entidade (domínio, organização, pessoa, etc.) assumir a responsabilidade por uma mensagem, independentemente da entidade que realmente enviou a mensagem. Embora em muitos casos a entidade responsável e a entidade remetente sejam a mesma, ou pelo menos intimamente relacionadas, com o DKIM não há requisito de que isso seja assim.
Meus objetivos para você com este post são que você aprenda e entenda os seguintes conceitos sobre DKIM:
DKIM é uma autenticação “baseada em conteúdo”, ao contrário da SPF “baseada em caminho”.
A entidade responsável afirma sua responsabilidade “assinando” a mensagem com um par de hashes criptográficos inseridos em um cabeçalho da mensagem.
A validação DKIM é feita pelo domínio receptor tentando gerar os mesmos dois hashes.
A validação DKIM não pode ser concluída em muitos casos até que a mensagem completa tenha sido transmitida pelo servidor de envio.
Falhas de validação podem ser difíceis de solucionar.
Autenticação Baseada em Conteúdo
DKIM é referido como autenticação “baseada em conteúdo”, em vez de “baseada em caminho”, porque se uma mensagem passa ou não na validação DKIM é baseado exclusivamente se o conteúdo mudou ou não entre o momento em que foi assinado e o momento em que a validação foi tentada.
Assinatura e Validação DKIM
Organizações que desejam assinar e-mails com DKIM primeiro gerarão duas chaves criptográficas. Uma das chaves é mantida em segredo e disponível para o servidor de envio para a assinatura do e-mail, e a outra deve ser tornada pública no DNS para uso pelos domínios receptores em tentativas de validar a assinatura. Os métodos para gerar essas chaves e instalá-las dependem da plataforma e vão além do escopo deste post, embora mais tarde eu descreverei a publicação no DNS da chave DKIM pública.
O Cabeçalho DKIM-Signature
Validação DKIM
Falha de Validação e Solução de Problemas
Eu mencionei acima que falhas de DKIM podem ser difíceis de solucionar, e eu vou explicar por que isso acontece aqui.
Algumas falhas de validação de DKIM têm causas óbvias, como a mensagem não estar assinada, ou a chave pública do domínio assinante não ser encontrada no DNS ou não ser sintaticamente correta, ou talvez a mensagem tenha sido claramente alterada durante a transmissão. Quando esse tipo de falhas acontece, é fácil descobrir o problema e recomendar uma solução. No entanto, as difíceis, e aquelas que levam à experiência de suporte mais frustrante, são os casos em que a mensagem foi assinada, a chave pública existe no DNS, e a mensagem não foi obviamente alterada, mas o validador relata que a assinatura falhou na validação.
A razão pela qual essas são difíceis de solucionar é porque não há realmente uma maneira para nenhum dos lados reproduzir as condições sob as quais a mensagem foi assinada e validada. A mensagem tem em seu cabeçalho DKIM-Signature os hashes que foram gerados pelo signatário no momento da assinatura, mas o validador provavelmente não tem acesso à infraestrutura do signatário e, portanto, não pode tentar reproduzir a assinatura nas condições do signatário. Da mesma forma, o signatário provavelmente não tem acesso à infraestrutura do validador e, portanto, não tem como tentar validar a mensagem da maneira que o validador fez.
Falhas como as que estou descrevendo aqui são ocorrências raras, e falhas de validação de DKIM por si só geralmente não têm um impacto na colocação da entrega. Enquanto o DKIM lida com a autenticação de mensagens, implementar técnicas abrangentes de validação de e-mail garante que você está enviando para endereços legítimos que podem realmente receber e autenticar suas mensagens. Foi minha experiência que tais falhas geram mais chamados de suporte do que qualquer outro tipo de problema de DKIM.



