O Que É DKIM?
O DKIM (DomainKeys Identified Mail) é um protocolo de autenticação de e-mail que usa criptografia de chave pública para verificar que uma mensagem de e-mail foi enviada por um servidor autorizado e que o conteúdo da mensagem não foi alterado em trânsito. O servidor de envio assina as mensagens de saída com uma chave privada, e o servidor receptor verifica a assinatura usando uma chave pública publicada no DNS do remetente. Ao contrário do SPF, que apenas verifica o endereço IP do servidor de envio, o DKIM verifica a integridade da mensagem e sobrevive ao encaminhamento de e-mail. O DKIM é definido na RFC 6376.
Este guia faz parte do nosso guia completo sobre DKIM. Relacionado: o registro DKIM e como funcionam as assinaturas DKIM.
O DKIM - DomainKeys Identified Mail - é o segundo pilar da autenticação de e-mail moderna. Enquanto o SPF verifica que uma mensagem foi enviada de um servidor autorizado, o DKIM vai além: ele assina criptograficamente a própria mensagem, provando que o conteúdo não foi adulterado e que o domínio de envio declarado realmente autorizou a mensagem.
A RFC 6376 define o DKIM como um método para associar um nome de domínio a uma mensagem de e-mail, permitindo assim que uma pessoa, função ou organização assuma alguma responsabilidade pela mensagem. A assinatura sobrevive ao encaminhamento de e-mail, o que é uma vantagem crítica sobre o SPF.
Entender o DKIM é essencial para qualquer pessoa que gerencie infraestrutura de e-mail, porque o alinhamento DKIM é um dos dois caminhos para passar na autenticação DMARC - e para e-mail encaminhado, muitas vezes é o único caminho.
Como o DKIM Funciona: O Panorama Geral
O DKIM opera com base em um princípio criptográfico simples: o servidor de envio assina a mensagem com uma chave privada, e o servidor receptor verifica a assinatura com uma chave pública publicada no DNS.
O Processo de Assinatura (Saída)
- O servidor de e-mail de envio gera um hash de cabeçalhos de e-mail específicos e do corpo da mensagem
- O servidor criptografa esse hash usando a chave privada DKIM do domínio
- O servidor adiciona um cabeçalho
DKIM-Signatureà mensagem contendo o hash criptografado, o nome do seletor, o domínio de assinatura e metadados sobre quais cabeçalhos foram assinados - A mensagem é transmitida ao servidor receptor
O Processo de Verificação (Entrada)
- O servidor receptor extrai o cabeçalho
DKIM-Signatureda mensagem - Ele lê os valores
d=(domínio) es=(seletor) da assinatura - Ele executa uma consulta DNS para
<selector>._domainkey.<domain>para recuperar a chave pública - Ele usa a chave pública para descriptografar a assinatura e recuperar o hash original
- Ele faz o hash de forma independente dos mesmos cabeçalhos e corpo usando o algoritmo especificado
- Se os dois hashes corresponderem, a assinatura é válida - a mensagem é autêntica e não foi modificada
Para um passo a passo técnico detalhado desse processo, consulte Como o DKIM Funciona: Um Guia Abrangente para Autenticação de E-mail.
Para os detalhes em nível de RFC do algoritmo de verificação, consulte Por Dentro da RFC 6376: Como a Verificação DKIM Realmente Funciona.
O Cabeçalho DKIM-Signature
Um cabeçalho de assinatura DKIM tem esta aparência:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector1;
c=relaxed/relaxed; q=dns/txt; t=1618884473;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...
| Tag | Significado |
|---|---|
v=1 | Versão do DKIM (sempre 1) |
a=rsa-sha256 | Algoritmo de assinatura |
d=example.com | Domínio de assinatura (usado para alinhamento DMARC) |
s=selector1 | Seletor - identifica qual chave pública usar |
c=relaxed/relaxed | Método de canonicalização para cabeçalho/corpo |
q=dns/txt | Método de consulta da chave pública |
t=1618884473 | Timestamp da assinatura |
h=from:to:subject:... | Lista de cabeçalhos incluídos na assinatura |
bh=... | Hash do corpo |
b=... | A assinatura em si |
Chaves DKIM: Pública e Privada
O DKIM usa criptografia assimétrica. O proprietário do domínio gera um par de chaves:
- Chave privada - Armazenada com segurança no servidor de e-mail de envio. Nunca compartilhada ou publicada. Usada para assinar mensagens de saída.
- Chave pública - Publicada no DNS como um registro TXT em
<selector>._domainkey.<domain>. Usada pelos servidores receptores para verificar assinaturas.
Formato do Registro DNS
Um registro DNS DKIM tem esta aparência:
selector1._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4..."
| Tag | Significado |
|---|---|
v=DKIM1 | Versão |
k=rsa | Tipo de chave (RSA é o padrão; Ed25519 está surgindo) |
p=... | A chave pública, codificada em base64 |
Você pode consultar a chave pública DKIM de qualquer domínio usando a Ferramenta de Consulta DKIM.
Tamanhos de Chave
- RSA de 1024 bits - O tamanho mínimo de chave recomendado. Ainda amplamente usado, mas considerado fraco pelos padrões modernos.
- RSA de 2048 bits - O padrão atualmente recomendado. Oferece forte segurança, mas produz registros DNS mais longos que podem exigir a divisão do registro TXT.
- Ed25519 - Um algoritmo mais novo e eficiente que produz assinaturas e chaves mais curtas. Suportado por um número crescente de servidores de e-mail, mas ainda não universal.
Guia detalhado: Entendendo os Algoritmos Criptográficos do DKIM: RS256 vs RS512 e Tendências Emergentes
Seletores: Gerenciando Múltiplas Chaves
Os seletores DKIM permitem que um domínio publique várias chaves DKIM simultaneamente. Cada chave é identificada por uma string de seletor, e a tag s= no cabeçalho DKIM-Signature informa ao receptor qual seletor (e, portanto, qual chave pública) usar para verificação.
Os seletores servem a vários propósitos:
- Múltiplos serviços de envio - O seu servidor de e-mail principal e cada serviço de terceiros (SendGrid, Mailchimp, etc.) podem ter cada um o seu próprio par de chaves DKIM com um seletor único
- Rotação de chaves - Ao rotacionar chaves, você pode publicar a nova chave sob um novo seletor enquanto o seletor antigo permanece ativo durante o período de transição
- Separação departamental - Diferentes equipes ou divisões podem usar diferentes seletores para fins de rastreamento e gerenciamento
Convenções comuns de nomenclatura de seletores incluem s1, s2, google, sendgrid, k1, ou nomes baseados em data como 202604.
Canonicalização: Lidando com Modificações da Mensagem
Mensagens de e-mail são frequentemente modificadas em trânsito - espaços em branco são adicionados ou removidos, cabeçalhos são reescritos, e quebras de linha podem mudar. A canonicalização define como os processos de assinatura e verificação normalizam a mensagem antes de fazer o hash, para que pequenas modificações não quebrem a assinatura.
Há dois modos de canonicalização, aplicados de forma independente aos cabeçalhos e ao corpo:
- simple - Quase nenhuma tolerância a modificações. Os cabeçalhos devem corresponder exatamente (exceto por espaços em branco no final). O corpo é normalizado apenas para linhas vazias no final. Use isto quando você controla todo o caminho de entrega e nenhum intermediário modificará a mensagem.
- relaxed - Mais tolerante. Os nomes dos cabeçalhos são convertidos em minúsculas, os espaços em branco são normalizados, e múltiplos espaços são reduzidos a um. No corpo, os espaços em branco no final são removidos de cada linha. Use isto para a maioria das implantações do mundo real.
A configuração c=relaxed/relaxed (relaxed tanto para cabeçalhos quanto para corpo) é a configuração mais comum e recomendada.
Alinhamento DKIM
O alinhamento DKIM é um conceito do DMARC que determina se o domínio na assinatura DKIM (valor d=) corresponde ao domínio no cabeçalho From visível. Isso é crítico porque o DMARC exige que pelo menos um entre SPF ou DKIM seja tanto válido quanto alinhado.
Alinhamento Relaxado
Os domínios organizacionais devem corresponder, mas subdomínios são permitidos. Por exemplo:
- From:
user@example.comcomd=mail.example.com- Passa no alinhamento relaxado (mesmo domínio organizacional) - From:
user@example.comcomd=example.com- Passa no alinhamento relaxado
Alinhamento Estrito
Os domínios devem corresponder exatamente:
- From:
user@example.comcomd=example.com- Passa no alinhamento estrito - From:
user@example.comcomd=mail.example.com- Falha no alinhamento estrito
Guia detalhado: Dominando o Alinhamento DKIM: Chaves, Assinaturas e Por Que E-mails Falham na Verificação
Rotação de Chaves DKIM
As chaves privadas DKIM devem ser rotacionadas periodicamente para limitar os danos caso uma chave seja comprometida. O processo de rotação envolve:
- Gerar um novo par de chaves com um novo seletor
- Publicar a nova chave pública no DNS
- Configurar o servidor de envio para assinar com a nova chave privada
- Aguardar a propagação do DNS e verificar as assinaturas com a nova chave
- Remover a chave pública antiga do DNS após um período de transição
Com que frequência você deve rotacionar? Não há um padrão universal, mas as recomendações comuns variam de a cada 6 meses a anualmente. Ambientes de alta segurança podem rotacionar com mais frequência.
Guia detalhado: Quando Você Deve Rotacionar Suas Chaves DKIM?
Por Que o DKIM Falha
A verificação DKIM pode falhar por vários motivos:
Modificação da Mensagem em Trânsito
Se qualquer cabeçalho assinado ou o corpo da mensagem for modificado após a assinatura, o hash não corresponderá e a verificação falhará. Os culpados comuns incluem:
- Listas de discussão que adicionam rodapés ou modificam a linha do Assunto
- Gateways de e-mail que reescrevem cabeçalhos para conformidade ou verificação de segurança
- Serviços de encaminhamento que alteram os cabeçalhos da mensagem
Problemas de DNS
- O registro da chave pública DKIM não existe ou está inacessível
- O seletor na assinatura não corresponde a nenhuma chave publicada
- Atrasos na propagação do DNS após uma rotação de chaves
Erros de Configuração
- A chave privada não corresponde à chave pública publicada
- O algoritmo de assinatura especificado na assinatura não corresponde ao tipo de chave
- Cabeçalhos listados na tag
h=não foram incluídos no cálculo real da assinatura
Guias detalhados:
- Por Que o DKIM Falha? O Que Você Pode Fazer a Respeito?
- Erro de Assinatura DKIM Inválida: Veja Como Você Pode Corrigi-lo
- Evitando os Erros Comuns de SPF e DKIM em 2026
DKIM vs SPF: Complementares, Não Concorrentes
O DKIM e o SPF servem a propósitos diferentes e têm forças diferentes:
| Recurso | SPF | DKIM |
|---|---|---|
| O que verifica | Endereço IP do servidor de envio | Integridade e origem da mensagem |
| Como funciona | Consulta DNS de IPs autorizados | Verificação de assinatura criptográfica |
| Sobrevive ao encaminhamento | Não - o encaminhamento muda o IP de envio | Sim - a assinatura viaja com a mensagem |
| Protege a integridade do conteúdo | Não | Sim - detecta adulteração |
| Tipo de registro DNS | TXT no domínio | TXT em selector._domainkey.domain |
| Base do alinhamento DMARC | Domínio Return-Path | Domínio d= na assinatura |
Como o SPF quebra durante o encaminhamento de e-mail (o IP do servidor de encaminhamento não está no registro SPF do domínio original), o DKIM é frequentemente o único método de autenticação que passa para mensagens encaminhadas. Isso torna o alinhamento DKIM essencial para domínios que usam listas de discussão, regras de encaminhamento ou qualquer infraestrutura de retransmissão.
Guias detalhados:
- Como o SPF Difere do DKIM e do DMARC
- Seus Identificadores SPF e DKIM Estão Alinhados?
- Como Combinar Testes de SPF, DKIM e DMARC para Segurança
DKIM para E-mail Encaminhado e Retransmitido
Uma das vantagens práticas mais importantes do DKIM sobre o SPF é o seu comportamento durante o encaminhamento de e-mail. Quando uma mensagem é encaminhada através de um servidor intermediário (uma lista de discussão, uma regra de encaminhamento automático ou um serviço de retransmissão), o SPF quebra porque o endereço IP do servidor de encaminhamento não está listado no registro SPF do domínio original. O DKIM, por outro lado, sobrevive ao encaminhamento desde que o conteúdo da mensagem não seja modificado. Se você é novo na configuração disso, o FAQ do AutoSPF responde às perguntas de configuração mais comuns.
É por isso que o DKIM é crítico para a conformidade com o DMARC em ambientes com:
- Listas de discussão - Organizações que participam de listas de discussão do setor ou grupos de distribuição internos
- Encaminhamento de e-mail - Usuários que encaminham e-mail de um provedor para outro (por exemplo, encaminhar um endereço universitário para o Gmail)
- Hospedagem compartilhada - Ambientes onde o e-mail passa por servidores de retransmissão compartilhados
- Gateways de e-mail - Appliances de segurança que retransmitem e-mail sem modificar o conteúdo
No entanto, o DKIM quebrará se o intermediário modificar as partes assinadas da mensagem. Modificações comuns que quebram o DKIM incluem adicionar rodapés, reescrever a linha do Assunto ou remover anexos. Softwares de lista de discussão como Mailman e LISTSERV frequentemente adicionam cabeçalhos e rodapés de lista, o que pode quebrar assinaturas DKIM baseadas no corpo.
A solução é configurar o DKIM com canonicalização c=relaxed/relaxed (que tolera pequenas alterações de espaços em branco) e garantir que qualquer software de lista de discussão que você opere esteja configurado para preservar as assinaturas DKIM sempre que possível.
Padrões Comuns de Configuração DKIM
Diferentes configurações de infraestrutura de e-mail exigem abordagens diferentes de configuração DKIM:
Provedor Único
Se todo o seu e-mail passa por um único provedor (por exemplo, Google Workspace), esse provedor lida com a assinatura DKIM automaticamente. Você só precisa publicar a chave pública que ele fornece no seu DNS.
Múltiplos Provedores com Seletores Separados
Quando múltiplos serviços enviam e-mail em seu nome, cada serviço recebe o seu próprio par de chaves DKIM com um seletor único. Por exemplo:
google._domainkey.example.com- Chave DKIM do Google Workspaces1._domainkey.example.com- Chave DKIM do SendGridk1._domainkey.example.com- Chave DKIM do Mailchimp
Cada serviço assina mensagens com a sua própria chave privada, e os receptores procuram a chave pública correta com base no seletor no cabeçalho DKIM-Signature.
Assinatura On-Premises
Organizações que executam os seus próprios servidores de e-mail (Exchange, Postfix, Exim) precisam gerar os seus próprios pares de chaves, instalar a chave privada no servidor de e-mail e publicar a chave pública no DNS. Você pode criar um par de chaves com o nosso gerador DKIM gratuito. Isso lhe dá controle total sobre o processo de assinatura, mas exige que você gerencie a geração, rotação e armazenamento de chaves.
DKIM e TLS: Camadas Diferentes de Segurança
O DKIM e o TLS (Transport Layer Security) ambos contribuem para a segurança do e-mail, mas operam em camadas diferentes:
- TLS criptografa a conexão entre servidores de e-mail durante a transmissão, impedindo a interceptação em trânsito. Ele não verifica a identidade do remetente nem protege contra falsificação.
- DKIM verifica a identidade do remetente e a integridade da mensagem, mas não criptografa o conteúdo da mensagem.
Ambos são necessários para uma segurança de e-mail abrangente.
Guia detalhado: TLS e DKIM: Por Que Você Precisa de Ambos para uma Segurança de E-mail Forte
Configurando o DKIM para a Sua Plataforma
A configuração do DKIM varia conforme a plataforma de e-mail. O processo geral é:
- Gerar um par de chaves DKIM (a sua plataforma de e-mail geralmente faz isso)
- Publicar a chave pública como um registro TXT do DNS no local correto do seletor
- Ativar a assinatura DKIM na plataforma de envio
- Verificar a configuração com uma Consulta DKIM
Para instruções específicas de cada plataforma, consulte estes guias:
- Guia Definitivo para a Configuração de SPF e DKIM no Microsoft 365
- Autenticação DKIM: Um Guia Completo para uma Entregabilidade de E-mail Segura
- Configurando SPF e DKIM para o Salesforce
- Dominando SPF e DKIM para o SendGrid
- Guia Completo para Configurar SPF e DKIM do Mailgun
- Como o AutoSPF Habilita SPF e DKIM no cPanel
O DKIM na Pilha de Autenticação
O DKIM é um dos três protocolos que trabalham juntos para autenticar e-mail:
- SPF - Verifica que o servidor de envio está autorizado
- DKIM - Verifica a integridade da mensagem e fornece uma assinatura em nível de domínio (este guia)
- DMARC - Vincula SPF e DKIM com requisitos de alinhamento, define a política de imposição e habilita relatórios
O DMARC exige que pelo menos um entre SPF ou DKIM passe e esteja alinhado com o domínio do cabeçalho From. Na prática, configurar tanto SPF quanto DKIM maximiza suas chances de passar no DMARC, porque se um método falhar (por exemplo, o SPF falha devido ao encaminhamento), o outro ainda pode fornecer um resultado válido e alinhado.
Guias detalhados:
- Como SPF, DKIM e DMARC Trabalham Juntos Durante Falhas de Autenticação
- Protocolos de Autenticação de E-mail: SPF, DKIM, DMARC Explicados
- Como Testar a Compatibilidade do Achatamento SPF com DMARC e DKIM
Ferramentas de Diagnóstico
- Ferramenta de Consulta DKIM - Consulte e valide chaves públicas DKIM para qualquer domínio e seletor
- Verificador de Autenticação de Domínio - Verifique SPF, DKIM e DMARC em uma única consulta
- Verificador SPF - Valide o seu registro SPF ao lado do DKIM
- Verificador DMARC - Verifique a sua política DMARC e as configurações de alinhamento
Próximos Passos
- Verifique a sua configuração DKIM atual - Use a Ferramenta de Consulta DKIM para verificar se o seu domínio tem chaves DKIM válidas publicadas
- Verifique o alinhamento - Certifique-se de que o domínio
d=nas suas assinaturas DKIM corresponde ao domínio do seu cabeçalho From - Revise a força da chave - Confirme que você está usando pelo menos chaves RSA de 2048 bits
- Planeje a rotação de chaves - Estabeleça um cronograma de rotação e documente o processo
- Implante o DMARC - Se você ainda não o fez, configure o DMARC para impor o alinhamento de SPF e DKIM e receber relatórios agregados
- Monitore com relatórios DMARC - Use os relatórios agregados DMARC para identificar falhas de DKIM em todos os servidores receptores