Glossário
DKIM
O DKIM assina e-mails de saída com uma chave privada; a chave pública no DNS permite que os receptores verifiquem que a mensagem não foi alterada nem forjada.
O que é DKIM
O DomainKeys Identified Mail anexa uma assinatura digital a cada mensagem de saída. O servidor remetente calcula um hash sobre cabeçalhos selecionados e o corpo, assina-o com uma chave privada e adiciona um cabeçalho DKIM-Signature. A chave pública correspondente é publicada no DNS como registro TXT em seletor._domainkey.exemplo.com.br, em que o seletor é um rótulo curto escolhido pelo remetente para que várias chaves coexistam. O receptor lê o seletor do cabeçalho de assinatura, busca a chave e verifica a assinatura. Se confere, a mensagem foi autorizada pelo domínio e não foi modificada em trânsito.
Um cabeçalho de assinatura carrega o essencial em forma de tags: d= é o domínio assinante, s= é o seletor, h= lista os cabeçalhos assinados e b= é a própria assinatura.
Por que importa
O SPF autoriza servidores; o DKIM autoriza mensagens. A distinção importa sempre que o e-mail passa por um servidor intermediário, como uma lista de discussão ou um endereço de encaminhamento: o SPF falha porque o IP do encaminhador não está autorizado, mas uma assinatura DKIM sobrevive enquanto o conteúdo não for alterado. Grandes receptores dão muito peso a uma assinatura DKIM válida ao decidir se uma mensagem chega à caixa de entrada, e o DMARC depende dela para alinhar o domínio visível em From: a uma identidade autenticada.
O DKIM também ajuda na reputação. Como a assinatura vincula a mensagem a um domínio e não a um endereço IP, o histórico de um remetente acompanha o domínio mesmo quando a infraestrutura de envio muda.
Como verificar
Encontre o seletor no cabeçalho DKIM-Signature de uma mensagem e use a consulta DNS para consultar o registro TXT em seletor._domainkey.seudominio.com.br. Um registro válido começa com v=DKIM1 e contém uma tag p= com a chave pública; um p= vazio significa que a chave foi revogada. Para ver se os receptores aceitam as suas assinaturas, cole os cabeçalhos completos de uma mensagem entregue no analisador de cabeçalhos de e-mail e leia a linha Authentication-Results, que reporta dkim=pass ou o motivo da falha.
Problemas comuns
- O registro DNS foi dividido em várias strings e recombinado de forma errada, ou a chave foi truncada pelo limite de comprimento de um provedor.
- A mensagem foi modificada após a assinatura, muitas vezes por um rodapé ou aviso legal adicionado por um gateway.
- O seletor no cabeçalho não corresponde ao publicado.
- Chaves menores que 1024 bits são rejeitadas pelos grandes receptores; 2048 bits é a escolha habitual hoje.
Um equívoco comum
O DKIM não criptografa e-mails e não prova quem os escreveu. Ele prova que um servidor com a chave privada do domínio tratou a mensagem e que ela chegou intacta.
