标头分析器可能与原始接收器不一致,而无需伪造任何观察结果。他们可能在不同时间评估了不同的消息字节、不同的DNS密钥状态或不同的验证策略。在决定分歧的含义之前,保留原始证据并比较条件。
显示的历史结果和新的密码验证是不同的操作。一些工具总结 Authentication-Results 已经存在于样本中。其他人检索密钥并验证当前样本。在将分析仪的输出与接收系统的结果进行比较之前,确定分析仪执行的操作。
保留原貌,明确边界
使用保留消息表示的方法导出原始消息。保留未经编辑的原始文件并计算文件哈希值以供以后比较。记录取件方式、投递时间及来源邮箱。文件哈希可以显示两个导出的文件不同;它本身并没有解释哪个差异对 DKIM.
识别接收方生成的Authentication-Results及其可信的 authserv-id。不受信任的发送者提供的标头不是权威的接收者证据。 RFC 8601 §7.1 描述了这个信任边界。还要确定接收方是否在后续网关或导出进程更改消息之前评估了该消息。
比较分析仪的实际输入
对于普通的完整签名,复制的标头块会省略重新计算其DKIM所需的正文 正文哈希。特殊情况l=0对零主体八位位组进行哈希处理,并且不提供主体完整性保护;它不会放弃标头、密钥或其他验证检查。看 RFC 6376 §3.5, §3.7 和 §5.4.1。粘贴文本还可以更改折叠或行结尾。如果分析器缺少完整消息,它可能会解释报告的结果,而不是独立验证整个签名。它的界面标签本身并不能解决这个问题。
比较可用的完整样本。 DKIM 规范化 在 RFC 6376 §3.4 容忍指定的转换,而不是呈现内容的任意等效。不同的文件哈希并不自动意味着DKIM失败,因为某些字节更改可能会正常化;相同的文件哈希仅建立相同的提供字节,而不是相同的DNS或策略上下文。
检查DNS和时间发生了什么变化
读取每个签名的 d 和 s,并记录在以后检查期间观察到的关键答案。原始密钥可能自交付后已停用、撤销或更换。 RFC 6376 §6.1.2 验证依赖于检索适当的验证材料,因此历史通行证可以与后来的无密钥结果共存。
还要检查任何签名过期 x 值和验证者的时间处理。稍后的工具可能会在签名过期后进行评估。 RFC 6376 §6.1.1 允许验证者忽略过期的签名;必须检查特定工具的行为而不是假设。不要将该结果标记为接收者最初处理签名时签名已过期的证据。如果旧的DNS答案不可用,请说明无法从当前证据完全重现历史密码计算。
通过两个对比示例进行研究
说明性示例一:接收方报告传递 选择器 星期一old1,星期五发送者退休old1。周六复查报告没有钥匙。尽管独立重现周一的验证需要相关的历史输入,但后来的结果并没有消除周一的可信观察结果。
说明性示例二:原始接收的文件经过验证,而粘贴的副本在页脚或MIME序列化更改后失败。比较覆盖的表示和发生更改的点。问题可能在于样本处理而不是发件人的原始签名。这些是比较装置,而不是关于真实分析器或租户的声明。
准确报告分歧
创建包含样本哈希、收集方法、观察时间、d 和 s、关键答案、验证者版本、报告结果和已知策略差异的比较记录。单独检查多个签名,因为工具可能会突出显示不同的签名。保持DKIM有效性与 DMARC 结盟 和最终交付。
仅得出证据支持的结论:不同的字节、更改的DNS 、已过的有效性、不同的选定签名或未解析的上下文。当原始输入丢失时保留不确定性。后来的分析器是有用的诊断证据,但它不是时间机器,不应该默默地覆盖可信的原始接收器结果。
下一步决定所需的证据
对每个签名使用比较行:原始样本哈希/时间、后来样本哈希/时间、d/s、观察到的密钥、x(如果存在)、工具/版本、操作(报告解析或验证)、结果和剩余间隙。相同的样本字节与不可用的历史DNS会留下关键状态差距,并不能证明这两个工具都是错误的。如果样本不同,请在分配因果关系之前比较所涵盖的规范表示。