DKIM vs DMARC
O DKIM é um método de autenticação - uma assinatura criptográfica que prova que uma mensagem é autorizada e não foi alterada. O DMARC é uma camada de política e relatórios construída sobre o DKIM (e o SPF): ele verifica o alinhamento com o domínio From visível e diz aos receptores o que fazer em caso de falha. Eles não são alternativas.
Este guia faz parte do nosso guia sobre autenticação de e-mail. Relacionados: SPF vs DKIM e SPF vs DMARC.
O DKIM é um método de autenticação: uma assinatura criptográfica que prova que uma mensagem foi autorizada pelo domínio remetente e não foi alterada em trânsito. O DMARC é uma camada de política e relatórios que usa os resultados do DKIM (e do SPF), verifica se eles se alinham com o domínio De (From) visível, e diz aos receptores o que fazer quando uma mensagem falha. Eles não são alternativas — o DMARC é construído sobre o DKIM.
O que o DKIM faz
O DKIM (DomainKeys Identified Mail) permite que um servidor de envio anexe uma assinatura criptográfica a cada mensagem de saída. O servidor assina cabeçalhos selecionados e o corpo com uma chave privada, e os receptores verificam essa assinatura contra uma chave pública publicada no DNS do domínio remetente. Se a verificação for bem-sucedida, o receptor sabe duas coisas: a mensagem foi autorizada por um domínio que controla a chave de assinatura, e o conteúdo assinado não foi modificado entre o envio e a entrega.
Essa assinatura viaja em um cabeçalho oculto chamado assinatura DKIM. Ela registra qual domínio assinou a mensagem, qual selector aponta para a chave pública, e quais cabeçalhos foram cobertos. Fundamentalmente, o DKIM por si só só responde “esta assinatura é válida?” Ele não decide o que um receptor deve fazer com uma mensagem não assinada ou inválida, e não reporta nada de volta ao proprietário do domínio. É um mecanismo de verificação, não um sistema de imposição ou monitoramento.
O que o DMARC faz
O DMARC (Domain-based Message Authentication, Reporting and Conformance) fica um nível acima. Ele não assina nem verifica mensagens por si só — em vez disso, consome os resultados pass/fail do DKIM e do SPF e adiciona três coisas que faltam a eles.
Primeiro, alinhamento. O DMARC exige que um resultado aprovado de DKIM (ou SPF) pertença ao mesmo domínio que um humano vê no cabeçalho De (From). Uma assinatura válida de um domínio não relacionado não satisfaz o DMARC. Isso fecha a lacuna que permite aos atacantes passar na autenticação enquanto ainda falsificam a sua marca.
Segundo, política. Um registro DMARC publicado no DNS diz aos receptores como tratar mensagens que falham no alinhamento: p=none (apenas monitorar), p=quarantine (enviar para spam), ou p=reject (bloquear imediatamente). Você começa em none para observar, depois aperta em direção a reject.
Terceiro, relatórios agregados. Os receptores enviam de volta relatórios XML mostrando cada origem que envia correio em nome do seu domínio — legítimas e fraudulentas por igual. Você pode validar qualquer registro publicado com um Verificador de DMARC antes de confiar nele.
DKIM vs DMARC em resumo
| Aspecto | DKIM | DMARC |
|---|---|---|
| Propósito | Assinar e verificar mensagens criptograficamente | Impor política e relatar os resultados da autenticação |
| O que verifica | Validade da assinatura e integridade da mensagem | Se DKIM/SPF passam e se alinham com o domínio From |
| Onde é publicado | Registro TXT de DNS em um selector, mais um cabeçalho em cada mensagem | Um único registro TXT de DNS em _dmarc.yourdomain.com |
| Produz relatórios? | Não | Sim — relatórios agregados (e forenses opcionais) |
| Pode agir sozinho? | Verifica, mas não pode impor nem relatar | Não — precisa dos resultados de DKIM e/ou SPF para avaliar |
Como eles funcionam juntos
O DMARC nunca substitui o DKIM; ele depende dele. Quando uma mensagem chega, o receptor verifica a assinatura DKIM e o resultado do SPF. O DMARC então faz uma pergunta mais rigorosa: pelo menos um deles passou, e o domínio aprovado corresponde ao endereço De (From) que o destinatário vê?
Uma mensagem passa no DMARC quando o DKIM autentica a mensagem e o domínio de assinatura se alinha com o domínio From (o SPF pode satisfazer o alinhamento da mesma forma). Se tanto o DKIM quanto o SPF falham no alinhamento, o DMARC aplica a política que você publicou — quarantine ou reject.
É por isso que os dois são complementares. O DKIM sozinho prova que uma mensagem é genuína e não alterada, mas não faz nada quando uma mensagem está sem assinatura ou é forjada. O DMARC sozinho não tem prova criptográfica para avaliar — ele só pode impor e relatar os resultados que o DKIM e o SPF lhe entregam. Juntos, o DKIM fornece o sinal confiável e o DMARC transforma esse sinal em imposição e visibilidade.
Você precisa dos dois?
Sim. Eles resolvem metades diferentes do mesmo problema, e nenhum é completo por conta própria.
O DKIM sem DMARC deixa lacunas reais. Uma assinatura válida prova que uma mensagem não foi adulterada, mas nada força os receptores a rejeitar correio não assinado, e nada informa quem está enviando em seu nome. Os atacantes ainda podem falsificar seu endereço De (From) sem assinatura alguma, e você nunca veria isso acontecendo.
O DMARC sem DKIM (ou SPF) não tem nada para impor. O DMARC avalia resultados de autenticação — se nenhum método subjacente produz um resultado aprovado e alinhado, o DMARC só pode falhar em todas as mensagens, o que quebra o correio legítimo. Você precisa de pelo menos um método de autenticação alimentando-o, e o DKIM é o mais durável porque sua assinatura sobrevive ao encaminhamento melhor do que o SPF.
A resposta prática para qualquer domínio que envia e-mail: implante SPF e DKIM como a camada de autenticação, depois coloque o DMARC por cima para alinhar, impor e monitorar.
Perguntas Frequentes
Qual é a diferença entre DKIM e DMARC?
O DKIM é um método de autenticação que anexa uma assinatura criptográfica a cada mensagem para que os receptores possam verificar que ela foi autorizada e não alterada. O DMARC é uma camada de política e relatórios que lê os resultados de DKIM e SPF, verifica que eles se alinham com o domínio De (From) visível, e instrui os receptores sobre como lidar com as falhas. Um verifica; o outro impõe e relata.
O DMARC é melhor do que o DKIM?
Nenhum é melhor — eles fazem trabalhos diferentes e dependem um do outro. O DKIM fornece a prova criptográfica de que uma mensagem é genuína e não modificada. O DMARC usa essa prova, adiciona o alinhamento com o domínio From, impõe uma política, e envia relatórios de volta. Sem o DKIM, o DMARC não tem nada para avaliar; sem o DMARC, o DKIM não pode impor nem monitorar nada.
Posso usar DMARC sem DKIM?
Tecnicamente, o DMARC pode passar apenas com o SPF, então ele funcionará sem o DKIM. Mas isso é frágil: o SPF quebra quando o correio é encaminhado, enquanto uma assinatura DKIM sobrevive ao encaminhamento. Depender apenas do SPF para o alinhamento significa que o correio legítimo encaminhado pode falhar no DMARC. Para uma imposição confiável, publique tanto SPF quanto DKIM antes de apertar sua política de DMARC.
O DKIM requer DMARC?
Não — o DKIM funciona de forma independente e assina e verifica mensagens sem nenhum registro DMARC. Mas o DKIM sozinho não pode forçar os receptores a agir sobre as falhas nem informar quem está falsificando seu domínio. Adicionar o DMARC por cima transforma os resultados de verificação do DKIM em política aplicável e fornece os relatórios necessários para ver cada origem que envia em nome do seu domínio.