Descrição sobre DKIM – DTMail


1. VISÃO GERAL

O DKIM (DomainKeys Identified Mail) é um padrão que tem como objetivo assegurar que o receptor de um e-mail vai receber a mensagem originalmente enviada sem qualquer alteração.

É um padrão que se baseia em criptografia de chave pública e privada. A chave pública é disponibilizada no DNS do remetente, em um registro do tipo TXT. Já a chave privada deve ficar em posse do agente responsável pelo envio.

O processo básico compreende as seguintes etapas:

  • Agente responsável pelo envio assina corpo da mensagem e um conjunto de cabeçalhos utilizando a chave privada em sua posse.
  • Receptor da mensagem busca a chave pública de criptografia disponibilizada no registro DNS do remetente e valida se a assinatura corresponde aos campos da mensagem recebida.

Como eventualmente um domínio pode ter mais de um par de chaves pública e privada (por exemplo quando existem vários agentes independentes responsáveis por envio de email para aquele domínio), o padrão prevê que deve ser utilizado um seletor no registro da chave e na assinatura do email.

Para consultar uma chave pública em um registro DNS do tipo TXT, pode-se utilizar o comando:

nslookup -type=TXT seletor._domainkey.domínio

Por exemplo, considerando a consulta abaixo, a execução seria:  nslookup -type=TXT 20120113._domainkey.google.com

  • seletor: 20120113
  • domínio: google.com

2. VALIDAÇÃO

Só é possível fazer a validação da assinatura do DKIM se a chave pública estiver cadastrada no DNS no endereço seletor._domainkey.domínio.