DKIM 是 DomainKeys Identified Mail 的缩写,是一种使用加密数字签名的电子邮件验证协议。它也是一个补充协议,可以与你的 DMARC 策略.
DKIM 协议可以通过在 DNS 中设置一条记录来实现,该记录由 DKIM 标记及其相应值组合而成。在本博客中,我们将结合示例详细解释必需、可选、推荐和不鼓励使用的DKIM 签名标记。
什么是DKIM标签?
DKIM 标签是 DKIM 记录中的指令,用于指定发件人的详细信息,以进行数字签名验证。
正确配置的 DKIM 签名标签允许电子邮件服务提供商验证您的电子邮件。谷歌和雅虎等科技巨头已强制要求电子邮件发送者使用此协议,以防止垃圾邮件、 网络钓鱼和欺骗.
DKIM 签名标签的工作原理
收件人的服务器使用电子邮件标题中的数据和域名的官方 DKIM记录来验证电子邮件的真实性。DKIM 签名标头会附加到发出的电子邮件中。多个 DKIM 签名标签包含发件人的信息,这样收件人的服务器就知道从哪里验证电子邮件。
这些 DKIM 签名标签是显示特定值的信息组件,每个值都代表电子邮件正文的详细信息。所有 DomainKeys 都有一个用于加密数字 DKIM 签名的私钥。除此以外,它们还在域名的 DNS 中发布了一个公钥。
因此,只要从你的域名发送邮件,邮件中的私钥就必须与公钥匹配。否则,邮件将无法到达收件人的邮箱。这是一个非常快速的过程,耗时不会超过几秒钟。不过,只有在生成 DKIM 记录并添加正确的 DKIM DNS 标记后才能运行。
DKIM 记录标签解释
DKIM DNS 记录标记是作为命令使用的单个字母,后面跟一个等号。所有字母都有一个 DKIM 标签,指定了代表发件人信息的特定值。每个 DKIM 签名标签都包含用于加密邮件的公钥位置的详细信息。
DKIM标签类型
您可以将 DKIM 签名标记分为 "必填标记 "和 "可选标记",每个标记的值对生成 DKIM 记录都很重要。还有一些其他 DKIM 签名标记被归类为 "非必需 "或 "不推荐"。您可以根据每个域的实用实例或要求来设置它们。在向 DNS 添加 DKIM 记录时,您需要正确的 DKIM 验证标记。让我们详细了解一下这些标记。
强制性 DKIM 标记
所需的DKIM标签对DKIM签名头非常重要,没有这些标签,你的邮件将无法通过验证测试。收件人的邮箱会丢弃没有这些标签的邮件。
- v= 这是 DKIM 版本标签,表示正在使用的 DKIM 标准。其值始终设置为 1。
- a= 这个DKIM标签表示用于创建签名的加密算法。使用的值是rsa-sha256。如果你的计算机的CPU能力下降,你可以使用rsa-sha1。然而,由于安全原因,不建议使用。
- s= 表示用于在域名的 DNS 中查找公钥的DKIM 选择器标记。您可以在此字段中输入名称或数字。
- d= DKIM 域标记显示与选择器记录一起用于查找公钥的域。其值与发件人使用的域名相同。
- b= DKIM 主体标记用于标头的哈希数据。它通常与 h= 标签配对,用于起草 DKIM 签名。它总是以 Base64 编码。
- bh= DKIM 主体哈希标签包含电子邮件的计算哈希值。其值是一串字符,表示由算法确定的哈希值。
- h= 这个标签包含了在签名算法中看到的头信息,以生成b=标签中的哈希值。它的值既不能被删除也不能被改变。
可选的 DKIM 标记
除了DKIM签名标签外,还有几个可选标签。这意味着如果你的DKIM签名错过了这些标签,在验证时不会发生错误。然而,专家建议使用它们来避免电子邮件被欺骗。
欺骗者不分配时间值,不像真正的企业电子邮件。因此,如果你的收件箱注意到发件人的时间值不正确,它更有可能完全拒绝该邮件。
可选但推荐的 DKIM 标记
我们鼓励使用这些推荐的 DKIM 记录标记,因为它们有助于收件人服务器进行验证。
- g= 它可以作为你的公钥的粒度,其值与i=标签的本地部分相同。你也可以输入一个星号(*)作为通配符。这个DKIM标签阻止签名地址使用选择器记录。任何具有不匹配此标签的签名地址的电子邮件都不能通过验证。
- h= 表示可接受的哈希算法,具体值设置为 "sha1 "和 "sha256"。签名者和验证者都需要这些值。
- k= 这是密钥类型。它的默认值被设置为'rsa',这应该被签名者和验证者所支持。
- n= 管理员使用此标签来添加可供人类阅读的注释。
- t= 这是一个重要的标签,因为它是一个签名时间戳,显示电子邮件的发送时间。这个标签的格式是从1970年1月1日(UTC)的00:00:00开始的数字秒。
- x= 这个标签告诉签名的到期日。它是对t=标签的补充,指定了一个交付日期。
- t=y 用于指定域测试签名,发件人在首次设置 DKIM 时使用。建议使用该标签,因为有些邮箱提供商会忽略测试模式下的 DKIM 签名。您必须在完全部署前删除该标记。
- t=s 是 t=y 标签的替代标签。它规定,任何使用 i= 标记的 DKIM 签名都必须具有与主域相同的域值。
不需要
如果您是第一次创建 DKIM 标头,则不需要这些 DKIM 签名标签。它们会使您的 DKIM 签名变得技术性和复杂。
- c=是一个DKIM记录标签,作为规范化的算法,描述了一封邮件在传输到另一个邮箱提供商的过程中的修改程度。它被用来避免在传输过程中对邮件进行微小的修改。否则,这可能导致验证失败。修改包括留白或包行。
它的值被设置为value1或value2。Value1是指标题,而Value2是指邮件正文。这些可以被设置为 "简单 "或 "宽松",以指定对电子邮件中的修改的容忍度。
- i=代表用户或代理人的身份。它的值是对你的网站有域名和子域名的电子邮件地址,这与d=tag相同。
不推荐
任何 DKIM 标头都不需要这些 DKIM DNS 标记。只有当您需要控制下面提到的任何规格时,才会使用这些标签;
- l= DKIM 长度标签便于对邮件正文进行部分签名,用要签名的比特数表示。不建议使用此标签,因为它会使信息容易被篡改。
- z= 它征集了邮件的原始标题,并被邮箱提供者用来操作诊断验证错误。
最终收获
实施和管理 DKIM 协议可能需要专业知识、时间和精力,而这些往往远远超出了您的带宽。这就是企业选择我们的托管 DKIM解决方案的原因。我们在单一平台上帮助生成 DKIM记录、设置 DKIM 签名标签并管理 DKIM 选择器和密钥!
此外,我们还在配置补充协议方面提供专家协助,如 DMARC和 SPF等补充协议,以加强对电子邮件攻击的防御。
欲了解更多信息,并获得为企业量身定制的域名安全策略,这些策略经过反复测试,可提高您的交付能力 联系我们今天就联系我们!
- SPF 记录和 DMARC 的传播需要多长时间?- 2025 年 2 月 12 日
- 自动五重测试工具如何革新电子邮件和网络安全- 2025 年 2 月 3 日
- MSP 案例研究:Hubelia 利用 PowerDMARC 简化客户端域安全管理- 2025 年 1 月 31 日