19

DKIM 支持两种规范化方案:轻松和简单。前者更为宽松,允许中间邮件者在有限程度上修改电子邮件。

我能找到的唯一数据是对实现的调查,该调查显示绝大多数电子邮件发件人对标题和正文都使用了宽松的规范化。(明显减少对身体放松的使用,但仍然是绝对多数。)

DKIM 规范说,如果所有客户端都支持 DKIM,则它们必须同时支持这两种规范化形式,因此这似乎不是主要因素。两种方案都允许中介添加标头。我能说的唯一区别是处理标题名称(不是值)和标题中的空格情况。鉴于此,放松似乎总是至少具有同样好的可交付性,这是 DKIM 的目标。

(当然,如果我想真正签署我的电子邮件以证明其内容,我会使用 S/MIME 和证书。DKIM 严格要求可交付性,对吗?)

4

3 回答 3

10

我想简单的规范化可以作为发送者的一种选择,他们希望拥有一种计算强度较低的签名方法,但可能会牺牲一些可交付性。复杂性上的差异并没有那么大,但是对于大批量发件人来说,它可能会产生明显的差异。

于 2011-12-28T19:30:32.527 回答
2

“良好的可交付性,这是 DKIM 的目标……DKIM 严格要求可交付性,对吧?”

你似乎有一个错误的前提。DKIM 并不严格关注可交付性。DKIM 的目的是验证发件人是谁。DKIM RFC很好地解释了它:

DomainKeys Identified Mail (DKIM) 使用公钥加密和密钥服务器技术为电子邮件定义了域级身份验证框架,以允许邮件传输代理 (MTA) 或邮件用户代理 (MUA) 验证消息的来源和内容。

DKIM 消息通常不会比未签名的消息更多或更少可传递。例如,SpamAssassin 为有效的 DKIM 签名消息和未签名消息给出相同的分数。如果消息未通过 DKIM 验证,那么正如您所料,它的得分会更差。

DKIM 提供的是可靠地确定声称来自美国银行的消息是否真实的能力。如果它声称是这样,但消息中的 DKIM 签名验证失败,那么我可以知道该消息是伪造的,或者是被篡改的合法消息。无论哪种情况,都不应该交付。

现在,我是否想接收来自该 DKIM 认证域的消息,以及消息中的内容是否合乎需要是一个完全不同的问题,这对可传递性的影响比 DKIM 更深远。

于 2013-05-01T20:14:03.863 回答
0

我认为差异与 CPU 负载没有太大关系——与通过 SMTP 生成、签名和发送消息所需的时间相比,差异将微不足道,无论如何您都必须这样做;没有逃脱阿姆达尔定律。

规范化的最大回报relaxed在于鲁棒性。通过simple规范化,最微小的差异,即使是不影响内容的差异,也可能导致验证失败。例如:

  • 使用 LF 而不是 CRLF 的邮件客户端(例如mail()Linux 上的 PHP 函数)通过​​另一台服务器将它们转换为 CRLF(应该如此)。
  • 将标头重新折叠到不同行长的中间邮件服务器
  • 更改邮件标题标签大小写的垃圾邮件过滤器,例如Content-Type-> content-type

这些都不会导致relaxed规范化的验证问题。所以我想说,角度不是使用simple规范化可以让你免于做的事情,而是你从做规范化所需的额外工作中获得的优势relaxed,这就是它更受欢迎的原因。

于 2020-09-02T13:10:10.293 回答