[ 标准和DMARCbis ]

通过DKIM2提出的信任模型跟踪消息更改

通过spec-09配方、链检查和验证限制来遵循发明的原始和修改的消息,而不声明真正的验证结果。

由EmailAuth研究团队提供 · 6 分钟阅读

[ 要点 ]

  • 食谱根据后来的消息状态重新创建早期的内容。
  • 完整的验证涵盖历史实例和链上下文,而不仅仅是最新的签名。
  • 空体配方和当地接受度必须与全面验证区分开来。
在此页面上

将修改历史视为证据,而不是许可

出于合法原因,邮件列表可能会添加页脚或修改主题字段。敌对的中间人也可以更改消息。重要的问题不仅仅是事情是否发生了变化,而是接收者是否能够重建相关历史、验证责任域并决定该历史意味着什么。 DKIM2提出了前两项任务的机制;它不会自动回答第三​​个。

此解释固定于 draft-ietf-dkim-dkim2-spec-09,日期为 2026 年 11 月 1 日,目前是一个活跃的互联网草案。其提议的验证状态涉及未声明的修改和交付路径的一致性。第 14.1 节明确地将这些检查与消息的值或声明的更改的良性分开。经过验证的链并不是一揽子信任建议。

建立一条原创但明显虚构的道路

考虑三个发明的系统: author.larch.example 、 list.fir.example和inbox.birch.example 。第一个创建一条消息,其正文由两行组成:“议程”和“星期五中午”。该列表附加第三行“列表页脚”,而不更改正文。假设域、信封地址、时钟和密钥满足相关检查。这些是规定的教学输入,而不是捕获的消息或任何签名验证的证据。

在最初,建议的表示包括消息实例m=1以及原始标头和正文哈希值,以及引用该实例的 DKIM2-Signature i=1 。列表更改后,第二个实例记录当前哈希值以及重建早期表单所需的信息。该列表添加了自己的签名以及适当的序列和实例引用。本示例中有意未发明哈希值和签名字节。

解释为什么食谱会倒退

第 5 节和 12.1 节 描述重新创建早期消息内容的方法。在虚构的正文情况下,重建原始意味着保留前两行并排除附加的页脚。该配方解释了如何从新状态恢复旧状态;它不仅仅是一条“添加页脚”的指令。真正的装置需要字节精确的内容和草案的精确编码规则。

标头更改变体需要其自己的重建证据。如果主题前面有一个列表,则原始值必须可以为早期的标头哈希检查恢复。将原始字段、修改字段和配方记录在一起,以便审阅者可以确定是否忠实地表示了更改。不要依赖渲染的邮件客户端屏幕截图,它可能隐藏与验证者相关的折叠、编码和重复字段详细信息。

验证超过最新的签名

在下面 第13条,完整验证检查通过按降序应用后来的配方重建的早期消息实例以及签名链。仅检查最终显示的正文和最近的签名是一种不同的、范围更窄的操作。草案单独明确了有限初步评估的临时核查;两个结果不应共享不合格的绿色徽章。

接收者还需要传递上下文。 14.4节将最新签名的信封信息与实际的SMTP事务进行比较,而较早的跃点必须满足链式规则。第 14.8 节根据适当的签名身份检查相关的当前和历史发件人字段。如果仅包含内容的档案丢失了原始信封和接受时证据,则无法满足所有这些条件。

因此,对于虚构路径,预期的审查顺序是:检查语法和排序、保留SMTP上下文、检查时间戳、验证链和密钥、验证签名、重建每个相关实例、比较哈希值并评估真实性。这是建议的推理轨迹。这并不是声称特定软件包执行了这些步骤或返回了 PASS。

保持空配方和密文可见

该草案允许使用空体配方来表明无法重建较早的身体。它不允许头更改为空配方。这种区别对于删除机密材料的网关很重要:可逆配方可以保留网关想要删除的内容。隐私审查应该检查配方有效负载,而不仅仅是收件人可见的最终正文。

Core -09 第 13 节表示无法检查空配方下方的早期正文哈希,并且该消息未经过完全验证。然而,当地政策可能会接受它,例如在适当的关系下。这并不等同于以加密方式恢复丢失的证据。实验室应报告不可用的历史身体检查和单独的本地验收决定,而不是将结果重命名为完整验证。

不要将请求与可执行的信任混淆

分开的 可以修改-00草稿 探索发起者关于修改的请求。它于 11 月 2 日作为个人互联网草案发布。它的治疗是当地政策,一些善意的讨论显然还没有结束。它不应该作为通用部署权限系统合并到核心-09中。

这为运营商带来了实际的区别。配方可以支持归属,发起者请求可以表达偏好,接收者可以决定是否接受结果消息。没有一个单独的证据可以证明修改后的消息是安全的。审阅者注释应确定观察到的结果实际回答了哪些问题,特别是当产品报告使用“可信”一词但未对其进行定义时。

保留准确缺失的验证证据

确切的委托是:通过版本固定的草稿模型追踪一条原始、修改和验证的消息。原始虚构跟踪提供了预期的结构和检查,但此包中不存在签名消息、计算哈希、兼容验证器输出或实际验证结果。调试证据之门仍然打开,而不是被插图关闭。

未来的授权实验应保留消息形式、重建数据、信封元数据、关键快照、软件版本和完整的验证者诊断。包括未声明的更改控件和空配方变体。技术和隐私专家必须在实际使用之前审查解释和暴露。生产适用性、目视审查和业主出版批准也很出色;这里没有提出任何迁移或普遍信任的主张。

[ 外卖 ]

重建和归因可以建立变更历史,而无需证明变更是良性的。

[ 按角色 ]

这对您意味着什么

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

邮件列表操作员

考虑每个转换

页脚和主题重写需要不同的字节级重建证据。

后续步骤

  1. 保留原始和修改后的合成装置。
  2. 将每个更改映射到逆配方。
  3. 将观察到的验证与预期结构分开。

安全审查员

将归因与可接受性分开

正确归因的更改仍然可能是不安全的或不需要的。

后续步骤

  1. 检查当前和历史的 From 检查。
  2. 审查中介责任和当地政策。
  3. 拒绝不合格的可信消息声明。

隐私所有者

检查配方有效负载

重建数据可以保留从可见消息中删除的内容。

后续步骤

  1. 使用合成内容进行早期测试。
  2. 检查可逆的编辑暴露。
  3. 在执行前定义配方存储、访问和保留。

[ 常见问题解答 ]

常见问题

虚构的页脚示例展示了什么?

它显示了原始实例、更改实例、逆重建数据和修订者签名的预期结构。未计算哈希或签名字节,因此它不是经过验证的消息。

为什么配方删除页脚而不是添加它?

该配方向后运行以从较晚的状态重新创建较早的状态。在规定的三行正文中,复制前两行,重构原来的两行形式;真实字节和编码仍然需要测试。

接收者可以仅检查最新实例并将其称为完全验证吗?

否。Core-09§13需要相关历史实例和签名链通过。其临时评估范围较窄,不得重新贴上全面验证的标签。

已声明的变更是否会自动变得值得信赖?

不会。第 14.1 节规定验证不会判断声明的修改是否是良性的或者消息是否有价值。归属和接收者的信任决定仍然是分开的。

空配方可以用于更改的标头吗?

核心-09 §12.1 允许早期主体状态的空配方,而不是标头更改。标头更改夹具必须保留所需的重建信息。

空体配方后,全面验证会发生什么?

早期的正文哈希无法检查,因此第 13 条表示该消息未经过完全验证。本地策略仍然可以接受它,但这并不能恢复丢失的加密证据。

保存的消息文件是否包含所有必需的输入?

未必。除了消息字节之外,还可能需要信封发件人/收件人、原始SMTP接受时间、密钥上下文和验证者版本。仅包含内容的存档可能无法重现原始评估。

CanModify 是否保证发起者首选项得到执行?

不会。单独的 -00 提案表达了请求并将处理留给当地政策。它的讨论并不能证明所有实现都强制执行这些偏好或每个允许的更改都是良性的。

[ 来源 ]

来源

  1. 个人可以修改draft-00
  2. DKIM2核心draft-ietf-dkim-dkim2-spec-09

[ 词汇表 ]

词汇表

修订者
draft-defined参与者,用于更改消息内容并记录相关的新实例和历史记录。
食谱
建议的重建数据用于从较晚的状态重新创建较早的消息标头或正文。
消息实例
提议的标头字段通过哈希值和重建信息(如果需要)来标识修订。
空体食谱
声明无法重新创建较早的机构,限制了历史验证。
临时验证
该草案的初步评估有限,与检查完整的消息历史记录和链不同。

企业出处

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

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

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

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

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

知识库