O DKIM l tag limita o quanto do corpo canonizado contribui para o hash de corpo. Ele pode permitir que uma assinatura sobreviva ao conteúdo anexado, mas essa sobrevivência vem de deixar o conteúdo fora da cobertura da assinatura. Trate isso como uma decisão de segurança, não como uma solução rotineira para falhas de rodapé.
Saiba quais são as medidas de comprimento
RFC 6376 seção 3.5 define l como uma contagem de octetos no corpo canonizado. Não é uma contagem de caracteres, uma contagem de linhas ou o tamanho de um anexo. Canonização acontece antes que o limite de comprimento seja aplicado. Sem l, todo o corpo canonizado é coberto. Um valor zero não permite que nenhum conteúdo do corpo contribua para o hash; isso não significa cobertura ilimitada.
Se l exceder o comprimento do corpo canônico disponível, a assinatura será inválida de acordo com as regras de verificação da especificação. O limite superior é o requisito explícito em RFC 6376 seção 3.5. Uma comparação comum de tamanho de arquivo não pode estabelecer a cobertura de maneira confiável porque a codificação de transferência e a canonização afetam a representação relevante.
Entenda por que um passe pode ser enganoso
O recurso foi projetado para tolerar acréscimos como trailers de listas de discussão. No entanto, RFC 6376 seção 8.2 alerta que o conteúdo anexado pode explorar a estrutura MIME ou a renderização do cliente para que o destinatário veja material enganoso enquanto o prefixo coberto permanece intacto. Uma assinatura passageira, portanto, não estabelece a integridade de todo o corpo exibido quando l deixa um sufixo descoberto.
Cenário ilustrativo: um signatário cobre um prefixo de corpo inicial. Um processador posterior anexa texto fora desse prefixo. A assinatura pode permanecer válida se o prefixo coberto e os cabeçalhos assinados permanecerem inalterados e outras verificações forem aprovadas. Este é um exemplo de cobertura conceitual, não uma demonstração de que cada anexo MIME produz o mesmo resultado ou que um cliente específico irá renderizá-lo com segurança.
Inspecione antes de alterar a política
Para cada assinatura afetada, retenha a mensagem bruta, l, c, h, d e seletor. Use um verificador de conformidade ou uma análise com reconhecimento de byte para determinar o comprimento do corpo canônico e o prefixo coberto. Observe se Content-Type e outros cabeçalhos relevantes para interpretação foram selecionados. Uma revisão da cobertura do cabeçalho pode expor riscos adicionais, mas não torna assinado o conteúdo do corpo não assinado.
Verifique se o sistema destinatário aplica uma política especial a assinaturas de corpo limitado. RFC 6376 seção 8.2 alerta os signatários para serem extremamente cautelosos com l e observa que os avaliadores podem ignorar tais assinaturas. Não prometa que uma assinatura de prefixo matematicamente válida será aceita em todos os lugares.
Prefira conteúdo completo no limite da assinatura
Se o objetivo for sobreviver a uma isenção de responsabilidade de saída, primeiro avalie a movimentação da isenção de responsabilidade antes de assinar ou assinar a mensagem final com um domínio autorizado. Para listas de discussão, examine o design de modificação e assinatura da lista. Essas abordagens abordam a ordem de processamento em vez de ocultar o sufixo alterado da cobertura.
Se um fluxo de trabalho legado ainda usa l, documente o porquê, quais rotas dependem dele e quais riscos de interpretação do destinatário permanecem. Teste a remoção ou substituição em um caminho controlado com um plano de reversão. Não altere silenciosamente o perfil de assinatura de todos os e-mails sem verificar rotas legítimas atrasadas e indiretas.
Torne o resultado da revisão específico
O resultado deve indicar se se pretende uma cobertura corporal total ou parcial, quais as mensagens que a utilizam e quem aceitou o risco residual. Preservar evidências da assinatura exata e da representação coberta. Uma contagem genérica de passes DKIM é insuficiente para encerrar esta revisão porque não diz nada sobre quanto conteúdo corporal a assinatura protege.
Trabalhe um exemplo de comprimento canônico
Suponha que uma ferramenta conforme meça um corpo canônico de 140 octetos e a assinatura tenha l=100. O hash do corpo cobre os primeiros 100 octetos; os 40 restantes estão fora da cobertura de hash corporal. Se o prefixo coberto e os cabeçalhos assinados permanecerem inalterados, outros conteúdos anexados poderão deixar a verificação bem-sucedida. Se, em vez disso, o corpo canônico tiver apenas 80 octetos com l=100, o valor viola a seção 3.5 RFC 6376 e a assinatura é inválida. Essas são contagens construídas após a canonização, e não tamanhos de arquivo brutos ou um teste criptográfico executado.
Mantenha um registro de investigação compacto
Use esta planilha sugerida para a rota em análise. É uma ajuda de planejamento, não uma evidência de um teste executado.
- Assinatura: d, seletor, c, h e l, ou registre que l está ausente.
- Cobertura: comprimento do corpo canonizado, prefixo coberto e sufixo não assinado, medido por uma ferramenta conforme.
- Interpretação: Cobertura do tipo de conteúdo e efeitos da renderização MIME /cliente.
- Decisão: remover a cobertura parcial, redesenhar a ordem de assinatura ou documentar uma exceção com escopo restrito.