跳到主要内容
ecdsa.com

DKIM(域名密钥识别邮件)

RFC 6376 定义的邮件身份验证标准:发送方域名对邮件中选定的头部和正文签名,并在 DNS 中发布公钥,使接收方能够验证邮件确实来自该域名且未被篡改。
其他写法DomainKeys Identified MailDKIM signatureRFC 6376

签名者添加 DKIM-Signature 头部,其中写明自己的域名(d=)、选择器(s=)、已签名的头部(h=)、规范化后正文的哈希(bh=)以及签名(b=)。接收方从 selector._domainkey.domain 处的 TXT 记录获取密钥,重新计算正文哈希,并验证覆盖规范化后头部的签名。算法为 rsa-sha256 和 ed25519-sha256(RFC 8463);RFC 8301 禁止使用 rsa-sha1,要求密钥至少为 1024 位,并建议使用 2048 位。

DKIM 认证的是签名域名,而不是可见的 From 地址;DMARC 通过对齐把两者联系起来。中间方修改已签名的内容时(邮件列表页脚、主题标签、某些安全网关),签名就会失效,这正是 ARC 存在的原因;此外,有效的已签名邮件还可能被重新发送给新的收件人(DKIM 重放)。

IETF DKIM 工作组于2025年2月重新制定了章程,正在设计后继协议 DKIM2:它对每一跳签名并绑定信封;截至2026年,DKIM2 仍是互联网草案。DKIM 调试器可以在浏览器中逐步验证一封邮件。

标准与参考资料

全部术语