DKIM para aumentar a segurança de e-mails
Todos os servidores de e-mail confiáveis tentam bloquear e-mails com endereços de remetente falsos. Golpistas usam endereços de remetente falsos, que parecem vir de uma fonte legítima, para plantar um malware no dispositivo do destinatário ou induzi-lo a revelar dados confidenciais, prática que é chamada de phishing. É possível verificar a autenticidade de um remetente de e-mail usando o DKIM, um sistema de assinaturas de e-mails digital. DKIM significa DomainKeys Identified Mail.
Muito usado nos dias de hoje, o DKIM foi criado em 2004, fruto de um esforço coletivo entre empresas. Ele combina o antigo sistema de DomainKeys do Yahoo e o obsoleto Identified Internet Mail da Cisco. A fusão explica a abreviação. DKIM: DK = DomainKeys; IM = Identified Internet Mail.
Como o DKIM funciona?
O DKIM baseia-se na comunicação entre o servidor de saída e o servidor de entrada — o usuário final não fica ciente desse processo. Basicamente, o servidor de saída adiciona uma assinatura digital ao e-mail a ser enviado. Essa assinatura é então verificada pelo servidor de entrada do destinatário. Para fazer isso, o servidor de entrada do destinatário procura a chave pública que corresponde à assinatura do servidor de saída do remetente.
A chave pública não corresponde à assinatura digital nos seguintes casos:
- O e-mail não foi enviado pelo servidor de e-mail especificado no cabeçalho do e-mail, e sim por outro servidor (servidor fraudulento).
- O e-mail foi fraudado quando em trânsito (entre a caixa de saída do remetente e a caixa de entrada do destinatário). Um hacker, por exemplo, consegue interceptar e-mails, alterá-los e reenviá-los.
Componentes técnicos do DKIM
É mais fácil entender o DKIM examinando seus building blocks fundamentais.
Hashing
Um determinado algoritmo calcula uma cadeia de caracteres (string) a partir do conteúdo do e-mail. O resultado, chamado de hash value, é adicionado ao cabeçalho do e-mail.
O hashing tem o mesmo princípio que o dígito de verificação de um comprovante de depósito bancário. Nele, um valor é calculado a partir dos dígitos do número de referência, e adicionado como o último dígito do número de referência.
Se o destinatário calcular o hash value do e-mail recebido usando o mesmo algoritmo, ele chegará ao exato resultado da cadeia de caracteres adicionada ao cabeçalho. Se o hash value der um valor diferente, o destinatário saberá que o e-mail foi alterado.
Criptografia assimétrica
Para que o destinatário possa ter certeza que o hash value recebido realmente foi enviado pelo remetente, ele deve seguir mais uma etapa: a etapa da assinatura digital. Remetentes são autenticados por criptografia assimétrica, também chamada de criptografia de chave pública. É um mecanismo de par de chaves: o que foi criptografado com a chave A só pode ser descriptografado pela chave B. Uma dessas chaves é mantida em segredo (chave privada) e outra é publicada (chave pública).
Para aprender mais sobre criptografia, acesse nosso Guia de Métodos Criptográficos.
O processo é mais ou menos assim:
- O remetente criptografa o hash value calculado com a chave privada.
- O hash value criptografado é adicionado ao cabeçalho do e-mail (assinatura).
- O destinatário procura a chave pública do remetente no sistema de nomes de domínio do remetente, descriptografando a assinatura.
- O hash value descriptografado é verificado. Se o hash value calculado pelo destinatário corresponder ao hash value descriptografado, o e-mail é verdadeiro.
Registro TXT no nome do servidor
Para que os servidores de entrada recuperem a chave pública do remetente, essa deve ser publicada como TXT resource record na zona DNS do domínio.
O registro DKIM contém os seguintes elementos:
- A versão, geralmente codificada com v=DKIM1
- O algoritmo de criptografia, que é sempre RSA (k=rsa)
- A chave pública (p=), que é uma cadeia longa
- O seletor, que difere de acordo com o provedor. Exemplo: default._domainkey ou k1._domainkey
Normalmente, o registro DKIM só pode ser recuperado usando o cabeçalho do e-mail. Tanto o nome de domínio quanto o seletor são necessários para a recuperação. O seletor geralmente não é conhecido ou muito demorado para ser encontrado.
Adquira um endereço de e-mail tão profissional e único quanto você, incluindo domínio correspondente grátis!
- Livro de endereços
- Calendário
- Proteção contra vírus
Como criar um registro DKIM
Para criar um registro DKIM você vai precisar criar também um par de chaves RSA e inseri-las no local correto do servidor. A maioria dos provedores de e-mail faz isso para você.
Para entender melhor como o DKIM funciona, você pode criar o registro manualmente. Use ferramentas gratuitas disponíveis na internet, como o DKIM Record Generator da EasyDMARC. Na parte superior da tela, insira o seletor de sua escolha (como k1) à esquerda, e um domínio à direita. O gerador exibirá uma chave privada e uma chave pública. A chave privada deve ser armazenada no servidor de e-mail (isso só pode ser feito pelo seu provedor de e-mail). Já a chave pública é inserida no registro DKIM.
Como verificar um registro DKIM
É possível verificar se o registro DKIM está realmente disponível publicamente usando um verificador DKIM, como o DKIM Record Lookup da EasyDMARC. Contudo, a maneira mais fácil de fazer essa verificação é enviando um e-mail para si mesmo e, em seguida, observando o cabeçalho, onde constar “DKIM-Signature:”.
Você pode copiar e colar um cabeçalho em uma ferramenta de análise de cabeçalho para obter informações mais claras e detalhadas sobre o cabeçalho de um e-mail.