Ir para o conteudo principal

O que é um registro DKIM? O guia completo

Por CaptainDNS
Publicado em 18 de fevereiro de 2026

Diagrama do funcionamento de um registro DKIM no DNS
TL;DR
  • Um registro DKIM é um registro DNS TXT que publica a chave pública para verificar a assinatura criptográfica de um email
  • O servidor de envio assina cada mensagem com sua chave privada, o servidor de recepção verifica a assinatura via DNS
  • As tags essenciais são v=DKIM1 (versão), k=rsa ou k=ed25519 (algoritmo) e p= (chave pública codificada em Base64)
  • RSA 2048 bits é o padrão atual, Ed25519 é mais rápido, mas ainda não é suportado em todos os lugares
  • DKIM sozinho não protege contra spoofing: é necessário combinar com DMARC para verificar o alinhamento do domínio

Você está configurando a autenticação de email do seu domínio e se depara com o DKIM. Você sabe que é importante, mas os termos "assinatura criptográfica", "seletor" e "chave pública DNS" ainda são confusos. Este guia esclarece tudo.

DKIM (DomainKeys Identified Mail) é um protocolo de autenticação de email definido pela RFC 6376. Ele permite ao servidor de recepção verificar que o conteúdo de uma mensagem não foi alterado entre o envio e a recepção, e que o domínio exibido no campo From: autorizou esse envio.

Este guia cobre o funcionamento completo: o ciclo de assinatura, a estrutura do registro DNS, as tags disponíveis, a escolha entre RSA e Ed25519, a articulação com DMARC e a rotação de chaves. Seja você administrador de sistemas, responsável por marketing ou desenvolvedor, terá todas as informações para configurar e manter o DKIM corretamente.

O que é DKIM? O princípio em 30 segundos

DKIM se baseia em um mecanismo de criptografia assimétrica (chave pública/chave privada). O servidor de envio possui uma chave privada que utiliza para assinar cada email enviado. A chave pública correspondente é publicada no DNS na forma de registro TXT, acessível a qualquer servidor de recepção.

Quando um email chega, o servidor de recepção:

  1. Lê o cabeçalho DKIM-Signature para identificar o domínio (d=) e o seletor (s=)
  2. Constrói a consulta DNS: <seletor>._domainkey.<domínio>
  3. Recupera a chave pública do registro TXT
  4. Verifica se a assinatura corresponde ao conteúdo da mensagem

Se a assinatura for válida, a mensagem é autenticada. Caso contrário, ela falha na verificação DKIM.

Como funciona o DKIM: o ciclo completo

Etapa 1: Assinatura pelo servidor de envio

Quando um usuário envia um email a partir de captaindns.com, o servidor de envio realiza três operações:

  1. Seleciona os cabeçalhos a assinar: From, To, Subject, Date, Message-ID (definidos pela tag h=)
  2. Calcula um hash do corpo da mensagem (algoritmo SHA-256, armazenado em bh=)
  3. Assina o hash com a chave privada RSA ou Ed25519, e então adiciona o cabeçalho DKIM-Signature à mensagem

Veja um exemplo de cabeçalho DKIM-Signature:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=captaindns.com; s=google; t=1739800000;
  h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
  b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...

Etapa 2: Verificação pelo servidor de recepção

O servidor de recepção extrai d=captaindns.com e s=google do cabeçalho, e então consulta o DNS:

dig TXT google._domainkey.captaindns.com +short

Resultado:

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."

Ele utiliza então a chave pública (p=) para verificar a assinatura (b=). Se o hash recalculado corresponder, a verificação é bem-sucedida.

Diagrama do ciclo de assinatura e verificação DKIM

Anatomia de um registro DKIM

O registro DKIM é publicado na forma de registro DNS TXT no endereço <seletor>._domainkey.<domínio>.

Formato DNS completo

google._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; t=s; p=MIIBIjANBgkq..."

Tags obrigatórias

TagFunçãoValoresExemplo
v=Versão do protocoloDKIM1 (único valor válido)v=DKIM1
p=Chave pública codificada em Base64String Base64p=MIIBIjANBgkq...

A tag p= é o coração do registro. Se estiver vazia (p=), isso significa que a chave foi revogada. O servidor de recepção tratará então qualquer assinatura usando esse seletor como inválida.

Tags opcionais

TagFunçãoValores possíveisPadrão
k=Algoritmo da chaversa, ed25519rsa
t=Flagsy (teste), s (estrito)nenhum
h=Algoritmos de hash aceitossha256, sha1todos
s=Tipo de serviçoemail, ** (todos)
n=Notas legíveis por humanosTexto livrenenhum

Detalhes das flags t=:

  • t=y: modo teste. Os servidores de recepção não devem penalizar uma falha DKIM. Útil durante a implantação inicial.
  • t=s: modo estrito. O domínio do cabeçalho From: deve corresponder exatamente ao domínio d= da assinatura (sem subdomínios).

Exemplo completo explicado

selector1._domainkey.captaindns.com  IN  TXT  "v=DKIM1; k=rsa; t=s; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
ElementoSignificado
selector1._domainkey.captaindns.comLocalização DNS (seletor selector1, domínio captaindns.com)
v=DKIM1Protocolo DKIM versão 1
k=rsaChave RSA
t=sModo estrito (sem subdomínios)
h=sha256Aceita apenas SHA-256
p=MIIBIj...Chave pública RSA 2048 bits codificada em Base64

Anatomia de um registro DKIM com todas as tags

RSA vs Ed25519: qual chave escolher?

A RFC 8463 (2018) introduziu o suporte a Ed25519 como alternativa ao RSA para DKIM.

CritérioRSA 2048RSA 4096Ed25519
Tamanho da chave pública~392 caracteres~736 caracteres~44 caracteres
Tamanho da assinatura256 bytes512 bytes64 bytes
Performance de verificaçãoRápidaMédiaMuito rápida
SegurançaSólida (2030+)Muito sólidaMuito sólida
Suporte dos provedoresUniversalUniversalParcial (Google, Fastmail)
Compatibilidade DNSOKPode ultrapassar 255 bytes TXTOK

Recomendações

  • RSA 2048: escolha padrão. Suportado por todos os provedores e servidores. Suficiente para a segurança atual.
  • RSA 4096: para organizações com requisitos de segurança elevados. Atenção aos limites de tamanho dos registros TXT (pode necessitar múltiplas strings de 255 bytes).
  • Ed25519: recomendado em dupla assinatura (Ed25519 + RSA 2048) para a transição. Servidores que não suportam Ed25519 ignorarão a assinatura e utilizarão a assinatura RSA.

Não use mais RSA 1024 bits. Google, Microsoft e Yahoo consideram chaves de 1024 bits como fracas desde 2024.

DKIM e DMARC: a conexão essencial

DKIM autentica o conteúdo de uma mensagem, mas não verifica se o domínio exibido no From: é legítimo. Esse é o papel do DMARC.

Alinhamento DKIM

DMARC verifica se o domínio d= da assinatura DKIM corresponde ao domínio do From:. Dois modos existem:

ModoComportamentoExemplo
Relaxed (padrão)O domínio d= pode ser um subdomínio do From:d=mail.captaindns.com válido para From: contact@captaindns.com
StrictO domínio d= deve corresponder exatamente ao From:d=captaindns.com obrigatório para From: contact@captaindns.com

O modo de alinhamento DKIM é configurado no registro DMARC pela tag adkim:

_dmarc.captaindns.com  IN  TXT  "v=DMARC1; p=reject; adkim=s; rua=mailto:dmarc@captaindns.com"

Por que DKIM sozinho não basta?

Sem DMARC, um atacante pode enviar um email com From: contact@captaindns.com assinando com seu próprio domínio DKIM (d=attacker.com). A assinatura DKIM será válida, mas o destinatário verá um remetente falso. DMARC bloqueia esse cenário exigindo o alinhamento entre o domínio From: e o domínio d=.

Rotação de chaves DKIM: por que e como

Por que rotacionar as chaves?

Uma chave DKIM usada por muito tempo apresenta riscos:

  • Comprometimento: quanto mais tempo uma chave fica exposta, mais vulnerável ela é a ataques
  • Conformidade: alguns padrões (PCI DSS, SOC 2) exigem rotação regular
  • Boas práticas: Google recomenda rotação trimestral

Frequência recomendada

Tamanho da chaveFrequência mínimaRecomendação
RSA 1024ImediatoMigrar para 2048 bits
RSA 2048A cada 6 mesesA cada 3 meses
RSA 4096A cada 12 mesesA cada 6 meses
Ed25519A cada 12 mesesA cada 6 meses

Procedimento passo a passo

  1. Gerar um novo par de chaves com um novo seletor (ex: s202602)
  2. Publicar a nova chave pública no DNS: s202602._domainkey.captaindns.com
  3. Aguardar a propagação DNS (24-48 horas)
  4. Configurar o servidor de envio para usar o novo seletor
  5. Verificar que os emails enviados estão assinados com o novo seletor
  6. Revogar a chave antiga publicando p= (vazio) no registro DNS antigo
  7. Remover o registro antigo após 30 dias (tempo para que os emails em trânsito sejam processados)

Erros comuns em registros DKIM

ErroSintomaSolução
Chave de 1024 bitsAlerta no Google/YahooMigrar para RSA 2048 bits
Tag p= vaziaDKIM fail: key revokedRepublicar a chave pública ou usar um novo seletor
Seletor não encontradoDKIM fail: no key for signatureVerificar o DNS, a propagação e a ortografia do seletor
Chave pública truncadaDKIM fail: bad RSA signatureVerificar se o registro TXT não está cortado (limite de 255 bytes por string)
v=DKIM1 ausenteAlguns servidores ignoram o registroSempre incluir v=DKIM1 como primeira tag
Cabeçalho From não assinadoDMARC falha apesar de DKIM válidoAdicionar from na tag h= da assinatura
Modo teste esquecidot=y permanece ativo em produçãoRemover t=y após validar o DKIM

Plano de ação recomendado

  1. Verificar o existente: use um DKIM Checker para analisar seus registros DKIM atuais
  2. Inventariar seus seletores: identifique todos os seletores ativos no seu domínio com uma ferramenta de descoberta automática
  3. Verificar o tamanho das chaves: qualquer chave inferior a 2048 bits deve ser substituída
  4. Configurar DMARC: publique um registro DMARC com adkim=r (relaxed) para começar, depois mude para strict (adkim=s) quando tudo estiver estável
  5. Planejar a rotação: anote no seu calendário uma rotação trimestral das chaves DKIM

FAQ

O que é um registro DKIM?

Um registro DKIM é um registro DNS do tipo TXT publicado no endereço seletor._domainkey.dominio.com. Ele contém a chave pública que permite aos servidores de recepção verificar a assinatura criptográfica adicionada a cada email enviado. As tags essenciais são v=DKIM1 (versão), k= (algoritmo) e p= (chave pública em Base64).

Como funciona a assinatura DKIM?

O servidor de envio calcula um hash SHA-256 dos cabeçalhos selecionados e do corpo da mensagem, e então assina esse hash com sua chave privada. A assinatura é adicionada no cabeçalho DKIM-Signature. O servidor de recepção recupera a chave pública via DNS e verifica se a assinatura corresponde ao conteúdo recebido.

Quais são as tags de um registro DKIM?

As tags obrigatórias são v=DKIM1 (versão) e p= (chave pública). As tags opcionais incluem k= (algoritmo, rsa por padrão), t= (flags: y para teste, s para estrito), h= (algoritmos de hash aceitos), s= (tipo de serviço) e n= (notas).

Qual é a diferença entre RSA e Ed25519 para DKIM?

RSA 2048 é o padrão atual, suportado por todos os provedores. Ed25519 produz assinaturas mais curtas (64 bytes vs 256) e é mais rápido, mas é suportado apenas por alguns provedores (Google, Fastmail). A melhor abordagem é a dupla assinatura: Ed25519 + RSA 2048.

Como verificar um registro DKIM?

Use o comando dig TXT seletor._domainkey.dominio.com +short para consultar o DNS. Se um registro TXT contendo v=DKIM1 e p= for retornado, a chave pública está publicada. Para uma análise completa (tamanho da chave, sintaxe, validade), use uma ferramenta de verificação DKIM online.

Por que a rotação de chaves DKIM é importante?

Uma chave usada por muito tempo aumenta o risco de comprometimento. Google recomenda rotação trimestral. O procedimento consiste em criar um novo seletor com um novo par de chaves, publicar a nova chave no DNS, migrar o servidor de envio e então revogar a chave antiga esvaziando sua tag p=.

Qual é a relação entre DKIM e DMARC?

DKIM autentica o conteúdo de uma mensagem, DMARC verifica se o domínio da assinatura DKIM (d=) corresponde ao domínio do From:. Sem DMARC, um atacante pode assinar um email com seu próprio domínio enquanto falsifica o From:. DMARC bloqueia esse cenário pela verificação de alinhamento.

Glossário

  • DKIM (DomainKeys Identified Mail): protocolo de autenticação de email que utiliza criptografia assimétrica para assinar mensagens enviadas e permitir que os destinatários verifiquem sua integridade.
  • Seletor DKIM: identificador de texto (ex: google, selector1) que, combinado ao domínio, forma o endereço DNS da chave pública (seletor._domainkey.dominio).
  • Chave pública: parte do par criptográfico publicada no DNS, usada pelos servidores de recepção para verificar as assinaturas DKIM.
  • Alinhamento DKIM: verificação pelo DMARC de que o domínio d= da assinatura DKIM corresponde ao domínio do From: do email.
  • Ed25519: algoritmo de assinatura digital introduzido pela RFC 8463 como alternativa ao RSA para DKIM, oferecendo assinaturas mais curtas e verificação mais rápida.
  • Rotação de chaves: processo de substituição regular dos pares de chaves DKIM para limitar os riscos de comprometimento.

Gere suas chaves DKIM em segundos: use o Gerador DKIM para criar um par de chaves RSA 2048 ou Ed25519 com o registro DNS pronto para publicar.


📚 Guias DKIM relacionados

Fontes

Artigos relacionados