代码之家  ›  专栏  ›  技术社区  ›  ATLief

为什么雅虎!在dkim签名中重复标题?

  •  1
  • ATLief  · 技术社区  · 6 年前

    雅虎的“H”领域!DKIM签名:

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

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Gavin Jackson    6 年前

    简短回答

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

    更长的答案

    消息签名者可以选择dkim散列覆盖哪些头(以及主体)。只有 header是必需的,其他的是可选的,因此dkim签名的“h”字段将消息传递给接收服务器,在根据散列验证消息时应考虑哪些header。

    根据 射频芯片C6637 :签名者选择对消息中出现多次的现有头字段进行签名,例如 收到 头,必须在头块中对该头字段的物理最后一个实例签名。希望为此类头字段的多个实例签名的签名者必须在“h”字段中多次包含头字段名称。

    签名者可以在“h”字段中包含比实际对应的头字段更多的头字段名称实例,以指示不应添加该名称的其他头字段。这是通过将丢失的头值编码为 无效的 ,如果随后进行了非法插入,则与反向进程中的值不匹配。

    在任何情况下,dkim都会根据重复的术语生成散列,因此dkim的测试也需要这样做来维护这个顺序。