首页 > 解决方案 > 为什么雅虎!DKIM 签名中的重复标头?

问题描述

Yahoo! 的“h”字段 DKIM 签名:

h=From:Subject:Date:To:From:Subject;

在 DKIM 签名中重复标头有什么实际好处吗?

标签: smtpdkimyahoo-mail

解决方案


简答

这是一种用于停止之后添加给定类型的其他标头的方法,否则这些标头可能会被注入并重复出现而不会破坏 DKIM。

更长的答案

消息签名者可以选择 DKIM 散列覆盖哪些标头(以及是否正文)。只有From标头是强制性的,其他是可选的,因此 DKIM 签名的“h”字段向接收服务器传达在针对哈希验证消息时应考虑哪些标头。

根据RFC6376:签名者选择对在消息中多次出现的现有头字段(例如Received头)进行签名,必须在头块中对该头字段的物理最后一个实例进行签名。希望签署此类头字段的多个实例的签名者必须在“h”字段中多次包含头字段名称。

签名者可以在“h”字段中包含比实际相应的头字段更多的头字段名称实例,以指示不应添加该名称的附加头字段。这是通过将缺少的标头值编码为null来实现的,如果随后进行了非法插入,这将与反向过程中的值不匹配。

在任何情况下,DKIM 都会针对重复项生成其哈希值,因此 DKIM 的测试需要做同样的事情来维护该顺序。


推荐阅读