A DKIM pasar no significa que todos los encabezados mostrados hayan sido firmados. Cada firma selecciona campos de encabezado a través de su etiqueta h y aplica un especificado canonicalización algoritmo. Para decidir si un asunto, campo de destinatario u otro valor estaba protegido, inspeccione la cobertura real de la firma pasajera.
Comience con la firma correcta
Registre d, s, h y c para cada DKIM-Signature encabezamiento. Asocie el resultado confiable del receptor con la firma correspondiente en lugar de tratar un pase a nivel de mensaje como evidencia sobre todos ellos. Una firma debe incluir De, pero no todos los demás encabezados son obligatorios. RFC 6376 §5.4 explica las reglas de selección y recomienda coberturas útiles.
Si no se selecciona Asunto, un cambio en Asunto no altera por sí solo los datos protegidos por esa firma. Esa declaración se refiere a la cobertura criptográfica, no a si el mensaje modificado es aceptable. Un servicio receptor aún puede aplicar una política independiente. De manera similar, firmar To no vincula al destinatario del sobre SMTP : el encabezado To visible y la dirección RCPT TO son datos diferentes; RFC 5321 §2.3.1 separa el SMTP sobre de contenido del mensaje.
Cuenta para campos repetidos
La etiqueta h no es simplemente un conjunto de nombres únicos. Bajo RFC 6376 §5.4.2, los nombres repetidos seleccionan apariciones físicas repetidas, trabajando desde la parte inferior del bloque de encabezado hacia arriba. Por ejemplo, si un mensaje tiene tres campos Recibido y h enumera Recibido dos veces, se seleccionan las dos apariciones inferiores. Agregar más apariciones de un nombre a h de las que existen al firmar puede detectar la inserción posterior de ese campo. Esta técnica a menudo se denomina sobrefirma.
No concluya que un campo superior está firmado simplemente porque su nombre aparece una vez en h. Reconstruya la selección con el bloque de encabezado real. Los campos duplicados que normalmente deberían ser singulares también plantean dudas sobre el análisis y la validez del mensaje; un cálculo DKIM no es permiso para ignorar esas preocupaciones.
Distinguir los cambios de valores del formato normalizado
En la canonicalización de encabezado simple, el campo seleccionado debe presentarse exactamente como está firmado. Canonicalización relajada del encabezado escribe en minúsculas los nombres de los campos, despliega las líneas de continuación y normaliza los espacios en blanco especificados. No pone en minúsculas los valores de los campos ni hace equivalente el texto de un asunto diferente. Lea el algoritmo seleccionado antes de atribuir un error a la capitalización o a la nueva envoltura.
Especificación de prueba ilustrativa: una firma controlada selecciona De y Asunto. Se espera que cambiar las palabras del Asunto invalide esa firma. Una segunda firma selecciona De pero omite Asunto; el mismo cambio de asunto no tiene por qué invalidar la segunda firma. El contraste explica la cobertura esperada, no un respaldo a la omisión del Asunto.
Mejorar la cobertura en el firmante
Elija campos que afecten la interpretación del destinatario y puedan permanecer estables a través de la ruta admitida. Inspeccione las recomendaciones en RFC 6376 §5.4.1 y las capacidades de su firmante. Evite firmar casualmente campos de seguimiento que el transporte legítimo agregará o alterará. Pruebe la ruta completa con campos duplicados y casos de formato en un entorno controlado.
Documente el perfil de cobertura previsto junto con la configuración de firma. Una revisión útil indica exactamente qué encabezados y apariciones están protegidos, qué normalizaciones están permitidas y qué campos permanecen fuera de la firma. Esto es más defendible que describir DKIM como un sello sobre todo el mensaje.
Trazar una selección de encabezado sintético
Imagine tres campos de X-Example en orden físico de arriba a abajo: el más nuevo, el medio y el más antiguo. Una lista de firmas h=From:X-Example:X-Example selecciona la más antigua y luego la intermedia, no la más nueva. Con solo un X-Example presente al momento de la firma, enumerar X-Example dos veces también incluye una ocurrencia ausente; La inserción posterior de otro X-Example cambia la entrada seleccionada y puede invalidar la firma. Este es un ejercicio de selección, no una prueba de firma ejecutada ni una recomendación para permitir campos duplicados normalmente singulares.