técnico · resposta com fontes
Cabeçalho DKIM-Signature: como funciona a assinatura DKIM
O cabeçalho de assinatura DKIM é um campo específico adicionado à mensagem de e-mail pelo servidor de envio. Ele contém um hash criptográfico do corpo da mensagem e de cabeçalhos selecionados, o que permite ao servidor de e-mail receptor verificar se o e-mail foi autorizado pelo dono do domínio e se não foi alterado durante o trânsito.
Funcionamento técnico
O servidor de envio usa uma chave privada para criar uma assinatura digital do conteúdo do e-mail. Essa assinatura é inserida no cabeçalho DKIM-Signature. O servidor receptor obtém a chave pública correspondente por meio de um registro TXT no DNS. Ao descriptografar a assinatura com a chave pública e comparar o hash resultante com um novo hash da mensagem recebida, o receptor confirma que a mensagem é autêntica.
Importância para remetentes
O DKIM oferece uma camada de confiança que o SPF não oferece, porque sobrevive ao encaminhamento do e-mail. Ele comprova que o conteúdo da mensagem permanece intacto e que o domínio indicado na assinatura é o verdadeiro remetente. Isso reduz a probabilidade de as mensagens serem marcadas como spam ou como falsificadas, o que é fundamental para manter uma boa reputação do remetente.
Erros operacionais comuns
Um erro frequente é não incluir cabeçalhos essenciais na assinatura, o que causa falhas de verificação se um relay modificar esses cabeçalhos. Outro problema comum é a falha na rotação de chaves: a chave privada é atualizada no servidor, mas o registro DNS público continua desatualizado. Você pode usar as ferramentas gratuitas do SendHQ (https://sendhq.cc/tools) para verificar o status atual da sua autenticação.
Exemplo de cabeçalho
Um cabeçalho típico é assim: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; h=from:to:subject:date; bh=hash_of_body; b=digital_signature_value. A tag d indica o domínio, s indica o seletor do registro DNS e bh contém o hash do corpo.
Processo de verificação
Quando uma mensagem chega, o receptor faz o parsing do cabeçalho DKIM-Signature para encontrar o domínio e o seletor. Ele consulta o DNS em busca da chave pública em selector._domainkey.example.com. Se a verificação criptográfica passar, a mensagem é marcada como DKIM-pass. Se o hash não corresponder ou a chave estiver ausente, o resultado é DKIM-fail ou neutral.
Perguntas que as equipes fazem
O DKIM criptografa o corpo do e-mail?
Não, o DKIM não criptografa o conteúdo para garantir privacidade. Ele fornece uma assinatura digital para garantir integridade e autenticidade: o conteúdo continua legível, mas não pode ser alterado sem quebrar a assinatura.
O que acontece se a assinatura DKIM for inválida?
Uma assinatura inválida pode fazer o servidor receptor aumentar a pontuação de spam do e-mail ou rejeitá-lo por completo, dependendo da política DMARC configurada pelo dono do domínio.
Um e-mail pode ter várias assinaturas DKIM?
Sim, um e-mail pode ter várias assinaturas. Isso costuma acontecer quando a mensagem passa por uma lista de discussão ou por um serviço de encaminhamento que adiciona a própria assinatura e preserva a original.
Fontes primárias
- RFC 6376: DomainKeys Identified Mail — RFC Editor (em inglês)
- RFC 7489: Domain-based Message Authentication, Reporting and Conformance — RFC Editor (em inglês)