O que é DKIM, como funciona e por que é importante?
O recurso de correio eletrônico surgiu quando a Internet nem era assim chamada, época na qual as preocupações com segurança eram quase inexistentes, afinal o contexto de uso era muito diferente. De lá pra cá muita coisa mudou e o serviço de troca de mensagens precisou receber aprimoramentos e mecanismos para torná-lo mais seguro e confiável.
Entre todas as mudanças e melhorias, uma é essencial – o DKIM!
Você sabe o que é DKIM, como ele funciona na prática e por que é importante usá-lo?
Se não, chegou a hora de mudar isso!
O que é DKIM?
DKIM é a sigla para DomainKeys Identified Mail ou Chaves de Domínio para Correio Identificado, em tradução literal para o português, cuja função é servir como um método de autenticação por meio de uma assinatura digital criptografada inclusa no cabeçalho das mensagens de e-mail.
A ideia é bastante simples e consiste em incluir um método de validação em todas as mensagens de e-mail enviadas, de modo que quaisquer destinatários possam checar se as mensagens foram de fato enviadas pelo domínio que consta como remetente.
Como surgiu o DKIM?
O DKIM foi um dos mecanismos de segurança criados para o serviço de e-mail, pois quando o correio eletrônico nasceu, não havia muita preocupação com aspectos de segurança. É preciso lembrar que em seu surgimento a Internet tinha outros propósitos e o serviço electronic mail – ou simplesmente e-mail – era restrito ao ambiente acadêmico.
Principalmente por isso, o conjunto de tecnologias e protocolos de internet que fazem com que o serviço de e-mail funcione, não contemplava originalmente certas preocupações e suas respectivas soluções.
Uma delas e sobre a qual se sustentam muitas fraudes virtuais, como spoofing por exemplo, é a capacidade de se certificar a procedência de uma mensagem. Ninguém imaginou quando o e-mail foi criado, que alguém algum dia poderia enviar uma mensagem se fazendo passar por outro remetente. No entanto, atualmente, essa é uma das situações mais comuns na rede.
Mas reformular todo o processo que envolve o serviço de e-mail, não pareceu razoável e foi então que se imaginou criar métodos que pudessem ser agregados ao serviço para corrigir suas deficiências e uma delas, é o DKIM, cujo conceito é simples de ser compreendido e implantado em qualquer serviço de e-mail.
Como funciona o DKIM?
A validação quanto à autenticidade da mensagem, é feita da seguinte maneira:
-
Chaves – é criado um par de chaves, sendo uma pública e outra privada;
-
Campo no cabeçalho – o servidor que realiza o envio de uma mensagem para outro servidor, cria um campo adicional no cabeçalho da mensagem, o qual originalmente só tem campos como remetente (FROM), destinatário (TO), assunto (SUBJECT), etc. O campo incluído é nomeado como “DKIM-Signature”;
-
Inclusão da assinatura – o servidor de origem gera um hash (uma espécie de “impressão digital”) do conteúdo do e-mail e o criptografa usando sua chave privada. Essa assinatura criptografada é então inserida no campo “DKIM-Signature” do cabeçalho;
-
Validação – quando o servidor de destino verifica o cabeçalho e localiza o DKIM, ele consulta os DNSs do mesmo domínio que consta no campo FROM, para realizar a validação usando a chave pública que está configurada na respectiva entrada de DNS.
Vale destacar que diferentemente do SPF (Sender Policy Framework) – outro mecanismo com finalidade semelhante – que é incluso no envelope da mensagem e cuja checagem ocorre durante a etapa conhecida como HELO / EHLO, ou seja, no protocolo de envio de mensagens (SMTP), o DKIM aparece somente no cabeçalho, que é a etapa seguinte, na qual o servidor destinatário já recebeu o e-mail.
Ou seja, embora pareça que tem o mesmo propósito do SPF, o DKIM garante a integridade da mensagem (o conteúdo não foi modificado em trânsito) e a autenticidade da assinatura, mas ele não criptografa o corpo do e-mail (qualquer um no caminho ainda pode ler a mensagem se não houver TLS, só não pode alterá-la sem quebrar a assinatura).
Sendo assim, quando usados conjuntamente, SPF e DKIM têm por objetivo garantir aos destinatários a checagem da procedência das mensagens recebidas, evitando fraudes virtuais relacionadas ao seu domínio.
Como usar o DKIM?
Para a maior parte dos usuários, não é necessário se preocupar como configurar ou usar o DKIM nas transações de e-mail, isso porque atualmente, a maior parte das boas empresas de hospedagem já incluem esse mecanismo em todos os planos.
Mas para que você tenha uma noção de como isso funciona na prática, os seguintes passos são dados:
-
Adicionar uma entrada de DNS correspondente ao DKIM, exatamente como se faz com o SPF. Muitos painéis de controle fazem essa inclusão sem que se tenha que ter algum conhecimento técnico específico e a entrada adicionada tem uma aparência similar a:
“default._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=GESIb3MIGfM8CBA0GCSqDQEBAAQUi7GNABiQKBCDgQDnX/PoMYUIZ/fJD+5RE”
-
Configurar o MTA (Mail Transfer Agent) ou simplesmente o serviço de e-mail do servidor (ex: EXIM, Postfix, etc), para incluir a “DKIM-Signature” no envio de todas as mensagens.
Uma vez feito isso, as mensagens passam a conter a informação do DKIM (DKIM-Signature) no cabeçalho e as zonas de DNS conterão a chave pública para validação.
Vale ressaltar que nem todo serviço de e-mail faz a checagem de DKIM e sendo assim, estes podem receber mensagens fraudadas, se não tiverem outros métodos de validação / certificação.
Portanto, ter DKIM configurado na conta de hospedagem, não garante que seu domínio não possa ser alvo de fraudes que poderiam ser evitadas usando a tecnologia. Para ser eficaz, TODOS precisam usar.
Por que o DKIM é importante?
Configurar e usar o DKIM é fundamental pelas seguintes razões:
-
Spoofing – configurado no domínio juntamente com o SPF e o DMARC (define o que fazer se o SPF ou DKIM falharem), aumenta a segurança das contas de e-mail sob o domínio, particularmente quanto aos envios de falsificação de remetente, o já mencionado e-mail spoofing;
-
Phishing – também contribui para evitar alguns tipos de phishing, pois como o criminoso digital não possui a chave privada necessária para assinar um e-mail em nome do domínio, quando provedores de e-mail (como Gmail ou Outlook) detectam que a assinatura DKIM está ausente ou é inválida, eles classificam o e-mail como suspeito ou SPAM, protegendo o destinatário;
-
Reputação – diminui as chances de sucesso de ataques visando rebaixar a reputação ou inclusão do domínio em blacklists.
Problemas no uso do DKIM
Como dito anteriormente, a verificação de DKIM ocorre por checagem do cabeçalho da mensagem, o que pressupõe o seu recebimento por parte do servidor que recebe um e-mail. Isso tem duas consequências imediatas:
-
Ao contrário do SPF, que o servidor de destino pode realizar a certificação ainda na “leitura” do envelope, com o DKIM a mensagem já foi recebida pelo servidor. Portanto, quando a mensagem não valida para o SPF, ela pode ser devolvida / recusada uma etapa antes;
-
De “posse” da mensagem, o servidor de destino precisa checar a entrada de DNS correspondente ao DKIM para o domínio que consta no campo FROM, diretamente no seu respectivo servidor autoritativo, ou seja, o servidor que detém autoridade sobre o domínio.
Por conta disso, o tempo gasto na troca de mensagens aumenta, bem como a carga de processamento necessária por ambos os servidores – remetente e destinatário.
Não bastasse a questão acima, o uso do DKIM como método de segurança para troca de mensagens entre servidores, ainda não é uma prática consensual e totalmente adotada. Alguns ainda não configuram o DKIM para envio e outros tantos não checam o DKIM no recebimento.
Por outro lado, é normal que aqueles que verifiquem no recebimento, também adotem-no como padrão para envio.
É comum que os que já validem DKIM no recebimento, procedam das seguintes maneiras:
-
Validação positiva – se a mensagem contém uma assinatura DKIM válida, a mensagem é entregue normalmente à caixa do destinatário;
-
Validação negativa – se há uma assinatura DKIM, mas a certificação usando a chave pública é inválida, a mensagem tanto pode ser marcada como suspeita, fazendo constar no campo assunto da mesma, como pode ser recusada e devolvida ao remetente. Ser marcada ou recusada, varia de acordo com as políticas internas de cada serviço e assim você deve consultar o suporte do seu provedor de hospedagem;
-
Ausência de DKIM – se o remetente não tem configurado o DKIM e por não ser um padrão consensualmente obrigatório, ainda há muitos serviços que recebem as mensagens. Todavia, como o benefício é evidente, alguns dos principais serviços de e-mail já têm devolvido mensagens de domínios que não têm DKIM configurado.
Observação: desde o início de 2024, Google e Yahoo passaram a exigir obrigatoriamente SPF e DKIM (e DMARC para grandes disparos) para quem envia e-mails para contas @gmail.com e @yahoo.com. E-mails sem DKIM para esses provedores hoje são rejeitados ou caem direto na caixa de SPAM.
Sendo assim, fica clara a importância de se adotar o DKIM no seu serviço de e-mail, como forma de inibir ações fraudulentas envolvendo esse importante serviço. Se o seu hosting ainda não utiliza, considere a possibilidade de ativação da tecnologia ou a mudança para uma empresa que utilize.
Conclusão
O DKIM é essencial para garantir a autenticidade dos seus e-mails e proteger sua marca contra golpes digitais. Unindo SPF, DKIM e DMARC, seu domínio ganha máxima reputação e garante que suas mensagens cheguem à caixa de entrada dos seus parceiros e clientes.


