DKIM - DomainKeys Identified Mail
DKIM (DomainKeys Identified Mail) é um método de autenticação de email que utiliza criptografia de chave pública para verificar a autenticidade da origem de um email e garantir que seu conteúdo não foi alterado durante o trânsito. Ao enviar um email, o servidor de email do remetente gera uma assinatura digital baseada no conteúdo do email usando uma chave privada. Essa assinatura é inserida no cabeçalho do email. O servidor de email do destinatário, ao receber o email, consulta o registro DNS do domínio do remetente para obter a chave pública correspondente e usa essa chave para validar a assinatura digital. Se a assinatura for válida, confirma-se que o email não foi modificado e é autêntico, aumentando a confiança no remetente e na integridade da mensagem recebida.
sequenceDiagram
participant A as Servidor de e-mail do remetente
participant C as Servidor de e-mail do destinatário
participant B as DNS (exemplo.com)
A->>C: Envia e-mail de "sender@exemplo.com" com assinatura DKIM
C->>B: Consulta chave pública DKIM para "exemplo.com"
B->>C: Retorna chave pública DKIM
C->>C: Usa a chave pública para verificar a assinatura do e-mail
alt Assinatura é válida
C->>C: Marca e-mail como autêntico (Pass)
C->>C: Aceita e entrega o e-mail
else Assinatura não é válida
C->>C: Marca e-mail como não autêntico (Fail)
C->>C: Pode rejeitar ou marcar o e-mail
end
Processo:
- O Servidor de e-mail do remetente envia um e-mail que inclui um cabeçalho DKIM. O cabeçalho DKIM contém várias partes importantes:
- v=1: Versão do DKIM.
- a=rsa-sha256: Algoritmo de assinatura.
- d=exemplo.com: Domínio do remetente.
- s=selector: Seletor usado para localizar a chave pública específica no DNS.
- bh=fakehash: Hash do corpo do e-mail.
- b=signature: Assinatura digital do e-mail.
- O Servidor de e-mail do destinatário consulta o DNS para a chave pública DKIM usando o seletor e o nome de domínio (exemplo: “selector._domainkey.exemplo.com”).
- O DNS retorna o registro contendo a chave pública DKIM:
- v=DKIM1: Versão do registro DKIM.
- k=rsa: Tipo de chave.
- p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD…: Chave pública propriamente dita.
- O Servidor de e-mail do destinatário usa essa chave pública para verificar a assinatura digital encontrada no cabeçalho do e-mail. s Dependendo do resultado da verificação, o e-mail é aceito como autêntico ou marcado como não autêntico.