O que é DKIM e por que é importante?

Assim como acontece na quase totalidade das situações que envolve Internet – e o assunto aqui tem essa relação – estamos falando de uma tecnologia, que é razoavelmente simples, mas que tem sido fundamental no controle de atividades que podem acarretar algum tipo de risco ou prejuízo ao usuário.

Estamos falando do DKIM! Você sabe o que é DKIM e qual sua importância? Se não, chegou a hora de mudar isso.

O que é DKIM?

DomainKeys Identified Mail (DKIM) ou Chaves de Dominio para Correio Identificado, em uma possível tradução, o que ainda não explica muito ou nada do que se trata.

A questão por trás do DKIM, é que o serviço de e-mail nasceu sem muita preocupação com aspectos de segurança, em um tempo em que a Internet tinha outros propósitos e o serviço de correio eletrônico nem fazia parte do que se pensava em construir.

Principalmente por isso, o conjunto de tecnologias e protocolos 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 e autenticidade de uma mensagem.

Ninguém imaginou quando criou o correio eletrônico – eletronic mail ou simplesmente e-mail – que alguém algum dia poderia enviar uma mensagem se fazendo passar por outro remetente. Não é de hoje que essa é uma das situações mais comuns na rede.

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 e cujo conceito é simples de ser compreendido e implantado em qualquer serviço de e-mail.

Basicamente o que ele faz, é incluir um método que permite a quem envia uma mensagem de e-mail, acrescentar validação quanto a procedência e quem recebe, checar a autenticidade da mensagem quanto à sua origem, realizando a validação.

Isso é feito através da criação de um par de chaves, em que uma é pública e outra privada.

Quando o servidor que realiza o envio submete uma mensagem a outro servidor, ele inclui um campo adicional no cabeçalho da mensagem e que originalmente só tem campos como remetente (from), destinatário (to), assunto (subject), etc.

O campo incluído, é justamente o DKIM, cujo nome aparece como “DKIM-Signature”.

No cabeçalho da mensagem, constará a chave privada, a qual somente o servidor de destino consegue visualizar / acessar.

Note que diferentemente do SPF, em que a checagem ocorre durante o HELO / EHLO, ou seja, o protocolo de entrega de mensagens entre servidores e, portanto, consta do “envelope” da mesagem, o DKIM consta somente no cabeçalho, o que é a etapa seguinte.

Quando o servidor de destino verifica o cabeçalho e localiza o DKIM, ele consulta os DNSs do mesmo domínio usado no campo FROM, para realizar a validação usando para tanto a chave pública que é fornecida. Ou seja, é um processo que usa um princípio similar ao que é usado em outras certificações, como por exemplo, quando se adota um SSL.

A garantia de que a mensagem é legítima, ou seja, é enviada pelo servidor que pode fazê-lo, é atestada porque um servidor com autoridade sobre o domínio – o servidor de DNS – fornece a chave pública para confrontação.

Sendo assim, da mesma forma que o SPF, o DKIM tem por objetivo garantir que o destinatário verifique a procedência das mensagens recebidas, evitando fraudes virtuais envolvendo seu domínio.

Como usar o DKIM?

Para a maior parte dos usuários, não é necessário preocupar-se como configurar ou usar o DKIM nas transações de e-mail. Atualmente, a maior parte das boas empresas de hospedagem já faz uso dessa tecnologia.

Mas para que você tenha uma noção de como funciona, há basicamente duas ações a serem adotadas:

  • 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, para incluir a chave privada no envio de todas as mensagens.

Uma vez feito isso, as mensagens passam a conter a informação do DKIM 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 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.

Como funciona o 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 em que o servidor de destino pode realizar a certificação antes, ainda na “leitura” do envelope, com o DKIM a mensagem já foi recebida pelo servidor. Na falha do SPF, em uma etapa anterior a mensagem pode ser devolvida / recusada;

  • De “posse” da mensagem, o servidor de destino precisa checar os DNSs do domínio que consta no campo FROM, diretamente no servidor autoritativo do mesmo, ou seja, o servidor que detém autoridade sobre o domínio e os dados das zonas de DNS do domínio.

Por conta disso, o tempo necessário para troca de mensagens aumenta, bem como a carga de processamento necessária por ambos os servidores – remetente e destinatário.

Todavia, o uso do DKIM como método de segurança adicional para troca de mensagens entre servidores, ainda não é uma prática consensual. Alguns ainda não configuram o DKIM para envio e outros tantos não checam o DKIM no recebimento. É normal que aqueles que verifiquem no recebimento, também enviem utilizando-o.

Por essa razão, os que já recebem validando DKIM, procedam das seguintes maneiras:

  • Se a menagem contém uma assinatura DKIM válida, a mensagem é entregue normalmente à caixa do destinatário;

  • Por outro lado, se há uma assinatura DKIM, mas na certificação usando a chave pública, não dá validade à chave privada, a mensagem pode ser marcada como suspeita, fazendo constar no campo assunto da mesma ou ser recusada. 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;

  • O remetente não tem configurado ou não usa DKIM. Como não há como validar a autenticidade e por não ser consensual, muitos serviços recebem as mensagens, porém como entende-se o benefício e a necessidade de se adotar a tecnologia, alguns já têm devolvido mensagens de domínios que não têm DKIM configurado e informam o motivo da devolução.

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 é uma tecnologia que foi criada e cuja adoção tem sido ampliada gradualmente, que visa melhorar aspectos de segurança das transações de e-mail entre serviços na Internet. Embora simples e eficiente, o nível de adoção ainda não é geral, mas é altamente aconselhável a adesão.

Comentários ({{totalComentarios}})