DKIM标签是DKIM记录中使用的机制或命令,表示发件人配置的DKIM协议的特定信息。DKIM是DomainKeys Identified Mail的缩写,是一种通过使用加密数字签名工作的电子邮件认证协议。它也是实施和正确运行 DMARC政策.
正确对齐的 DKIM 签名允许电子邮件服务提供商验证您的域名。谷歌和雅虎等科技巨头使用该协议来防止 网络钓鱼和欺骗.
DKIM如何工作?
接收者的服务器使用电子邮件头中的数据和域名的官方DKIM记录来验证电子邮件的真实性。DKIM签名头被放在电子邮件的顶部。有多个DKIM标签,携带有关发件人的信息,以便收件人的服务器知道从哪里验证电子邮件。
这些标签是显示特定值的信息组件,每一个都代表了关于电子邮件正文的细节。所有的DomainKeys都有一个用于加密数字DKIM签名的私钥。除此以外,他们也有一个公钥发布在域名的DNS中。
因此,无论何时从你的域名发送电子邮件,电子邮件中的私钥应该与公钥相匹配。否则,信息将无法到达收件人的邮箱。这是一个非常快速的过程,不会消耗超过几秒钟的时间。然而,只有当你生成了一条DKIM记录并添加了正确的DKIM认证标签时,它才能发挥作用。
什么是DKIM记录中的标签?
DKIM记录标签是作为命令使用的单个字母,后面有一个等号。所有的字母都有一个DKIM标签,指定代表发件人信息的具体数值。每个标签包括用于加密邮件的公钥位置的细节。
DKIM标签类型
你可以将DKIM标签按 "必需的标签 "和 "可选的标签 "分类,每个标签的值在生成DKIM记录时都很重要。还有一些其他的DKIM标签被分类为'非必需'或'不推荐'。你可以根据它们的效用实例或每个域的要求来设置它们。你需要正确的DKIM认证标签,同时向你的DNS添加DKIM记录。让我们详细了解一下这些标签。
必要的标签
所需的DKIM标签对DKIM签名头非常重要,没有这些标签,你的邮件将无法通过验证测试。收件人的邮箱会丢弃没有这些标签的邮件。
- v= 这是一个版本标签,表示正在使用的DKIM标准。它的值总是被设置为1。
- a= 这个DKIM标签表示用于创建签名的加密算法。使用的值是rsa-sha256。如果你的计算机的CPU能力下降,你可以使用rsa-sha1。然而,由于安全原因,不建议使用。
- s= 它表示用于在域的DNS中寻找公钥的选择器记录名称。你要在这个字段中输入一个名字或一个数字。
- d= 它显示与选择器记录一起用于定位公钥的域名。它的值与发件人使用的域名相同。
- b= 这个DKIM标签用于标头的哈希数据。它通常与h=标签配对,用于起草DKIM签名。它总是以Base64编码。
- bh= 它有计算出的电子邮件的哈希值。它的值是一串字符,表示由某种算法确定的哈希值。
- h= 这个标签包含了在签名算法中看到的头信息,以生成b=标签中的哈希值。它的值既不能被删除也不能被改变。
可选标签
除了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头都是不必要的。只有当你要控制下面提到的任何规格时,才会用到这些标签。
- I= 它指定了用于计算正文哈希值的消息中的字符数。如果没有这个值,你将不得不假设整个消息的主体被使用。
- z= 它征集了邮件的原始标题,并被邮箱提供者用来操作诊断验证错误。
- 区块链能帮助提高电子邮件安全吗?- 2024 年 5 月 9 日
- 数据中心代理:揭开代理世界的神秘面纱- 2024 年 5 月 7 日
- Kimsuky 在最近的网络钓鱼攻击中利用 DMARC "无 "策略- 2024 年 5 月 6 日