[ DKIM ]

检查DKIM签名保护哪些标头

在声明消息头受到保护之前,请阅读 h 标签、重复字段和规范化。

由EmailAuth研究团队提供

[ 要点 ]

  • From 必须签名,而 h 标签标识其他选定的标头。
  • 重复的名称从下向上选择物理出现的位置。
  • 宽松的规范化会更改指定的格式,而不是字段值的含义。
在此页面上

A DKIM 通过并不意味着每个显示的标头都已签名。每个签名通过其 h 标签选择标头字段并应用指定的 规范化 算法。要确定主题、收件人字段或其他值是否受到保护,请检查传递签名的实际覆盖范围。

从正确的签名开始

记录每个的 d、s、h 和 c DKIM-Signature 标头。将接收者的可信结果与相应的签名相关联,而不是将消息级传递视为所有这些结果的证据。签名必须包含 From,但并非所有其他标头都是强制性的。 RFC 6376 §5.4 解释选择规则并推荐有用的覆盖范围。

如果未选择主题,则对主题的更改本身不会更改受该签名保护的数据。该声明涉及加密覆盖范围,而不是修改后的消息是否可接受。接收服务仍然可以应用独立策略。同样,签名To不会绑定SMTP信封收件人:可见的To标头和RCPT TO地址是不同的数据; RFC 5321 §2.3.1 分隔SMTP 信封来自 消息内容。

考虑重复字段

h 标签不仅仅是一组唯一的名称。在下面 RFC 6376 §5.4.2,重复的名称选择重复的物理事件,从标题块的底部向上进行。例如,如果邮件具有三个“已接收”字段,并且 h 列出了“已接收”两次,则选择底部的两个匹配项。在 h 中添加比签名时存在的名称更多的出现次数可以检测该字段的后续插入。这种技术通常称为过度签名。

不要仅仅因为最上面的字段的名称在 h 中出现过一次就得出结论:该字段已签名。根据实际标题块重建选择。通常应该是单数的重复字段也会引发解析和消息有效性问题; DKIM计算并不意味着可以忽略这些问题。

区分值更改和标准化格式

在简单标头规范化下,所选字段必须完全按签名形式呈现。 宽松的标头规范化 小写字段名称、展开连续行并标准化指定的空格。它不会小写字段值或使不同的主题文本等效。在将失败归因于大写或重新包装之前,请先阅读所选算法。

说明性测试规范:一个受控签名选择“发件人”和“主题”。更改主题词预计会使该签名无效。第二个签名选择发件人但省略主题;相同的主题更改不需要使第二个签名无效。这种对比解释了预期的覆盖范围,而不是对省略主题的认可。

提高签名者的覆盖范围

选择影响收件人解释并可以通过支持的途径保持稳定的字段。检查中的建议 RFC 6376 §5.4.1 以及您的签名者的能力。避免随意签署合法传输会添加或更改的跟踪字段。在受控环境中使用重复字段和格式化案例测试完整的路线。

将预期的覆盖配置文件与签名配置一起记录下来。有用的审查准确说明了哪些标头和事件受到保护,允许哪些规范化以及哪些字段保留在签名之外。这比将DKIM描述为整个消息的密封更有道理。

跟踪合成标头选择

想象一下三个 X-Example 字段,按物理从上到下的顺序排列:最新、中间、最旧。列出h=From:X-Example:X-Example签名选择最旧的,然后是中间的,而不是最新的。由于签名时只有一个 X-Example 存在,将 X-Example 列出两次也包括不存在的情况;稍后插入另一个 X-Example 会更改所选输入并可能使签名无效。这是一个选择练习,而不是执行的签名测试或允许重复的通常单一字段的建议。

[ 外卖 ]

From 必须签名,而 h 标签标识其他选定的标头。重复的名称从下向上选择物理出现的位置。宽松的规范化会更改指定的格式,而不是字段值的含义。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

重建字段选择

重复的名称需要物理标头排序。

后续步骤

  1. 单独检查每个签名。
  2. 测试重复标头处理。

CISO / SecOps

审查解释风险

未发现的字段和解析器差异可能会影响用户的信任。

后续步骤

  1. 记录覆盖例外情况。
  2. 将接收者验证保持在范围内。

创始人/非技术人员

使用精确的保证语言

询问哪些客户可见的字段受到保护,而不是接受一揽子完整性声明。

后续步骤

  1. 将主题纳入覆盖范围审查。
  2. 将交付与完整性分开。

[ 常见问题解答 ]

常见问题

DKIM是否对每个标头进行签名?

不会。h 标签标识选定的标头字段,并对重复出现的情况进行特殊处理。

RFC 6376 §3.5

必须署名From吗?

是的。 RFC 6376要求将 From 字段包含在签名的标头覆盖范围中。

RFC 6376 §5.4

可见收件人与信封收件人相同吗?

否。“签名至”不会以加密方式绑定SMTP RCPT TO 地址。

RFC 5321 §2.3.1 RFC 6376 §3.7

首先选择哪个重复标头?

选择从物理上最后出现的名称开始,向上进行 h 中重复的名称。

RFC 6376 §5.4.2

什么是过度签名?

列出比当前存在的字段名称更多的出现次数可能会导致稍后插入该字段以使签名无效。

RFC 6376 §5.4.2

轻松模式是否小写主题文本?

不会。它会小写字段名称,而不是字段值,并应用特定的空白规范化。

RFC 6376 §3.4.2

DKIM通过时未签名的主题可以更改吗?

是的,如果更改不影响其他涵盖的数据。接收者策略和消息安全仍然是分开的。

RFC 6376 §3.7

我们应该对每个跟踪头进行签名吗?

不是自动的。合法的交通变更可能会使这种覆盖范围变得脆弱。按照规范并测试实际路线。

RFC 6376 §5.4

[ 来源 ]

来源

  1. RFC 6376

    部分 §1 · §3.4 · §3.4.1 · §3.4.2 · §3.5 · §3.7 · §5.4 · §5.4.1 · §5.4.2

  2. RFC 8601

    部分 §1.2

  3. RFC 5321

    部分 §2.3.1

[ 词汇表 ]

词汇表

DKIM
域密钥识别邮件根据签名域的公钥验证所选邮件内容。

RFC 6376 §1

规范化
在DKIM哈希和验证之前,指定的转换应用于标头或正文。

RFC 6376 §3.4

签名标头列表 (h)
列出选定标头名称的有序DKIM签名标记,包括覆盖多个出现时的重复项。

RFC 6376 §3.5

总署
在 h 中包含比当前存在的更多的标头名称,因此稍后插入可能会使签名无效。

RFC 6376 §5.4.2

SMTP信封
传输信息包括发送者和接收者,与消息头和正文分开。

RFC 5321 §2.3.1

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库