DKIM 似乎证明了一条消息来自它声称来自的地方。但是,OpenPGP 会加密整个电子邮件并对其进行签名,这显然证明它也来自它所说的那个人。
除了愚蠢的系统喜欢 DKIM 只是因为它们被构建为使用它来帮助阻止垃圾邮件 - 从安全的角度来看,是否有任何理由将它与 OpenPGP 一起使用?
DKIM 似乎证明了一条消息来自它声称来自的地方。但是,OpenPGP 会加密整个电子邮件并对其进行签名,这显然证明它也来自它所说的那个人。
除了愚蠢的系统喜欢 DKIM 只是因为它们被构建为使用它来帮助阻止垃圾邮件 - 从安全的角度来看,是否有任何理由将它与 OpenPGP 一起使用?
DKIM 和 OpenPGP 是正交的。DKIM 证明给定的电子邮件确实来自邮件Received:标头之一中指定的邮件服务器。它不对实际的人类发件人提供任何保证;DKIM 专注于电子邮件所采用的路径。DKIM 可能是对付某些类型垃圾邮件的好工具,因为邮件服务器可以配置为拒绝所有假装来自给定域但没有有效签名证明它们确实通过域传出服务器的电子邮件(这可以阻止域冒充垃圾邮件)。
另一方面,OpenPGP(用于签名消息)根本不关心给定电子邮件经过哪些服务器。OpenPGP 签名是关于验证人类发件人的。OpenPGP 对垃圾邮件没有任何作用。OpenPGP 还可以为数据机密性添加加密,这是 DKIM 根本不提供的。
由于 OpenPGP 和 DKIM 不提供相同的功能,而且对方提供的功能也不相同,因此两者都使用是有意义的。
DKIM 只是真正证明它来自它所说的域。OpenPGP 数字签名无论如何都可以从特定的电子邮件地址证明(只要公钥的信任是有效的并且私钥没有被泄露(对于 DKIM 或任何基于 PKI 的数字签名也是如此)),OpenPGP 也可以表明它没有被篡改。
虽然是一个边缘案例,但我想如果私钥被泄露但电子邮件服务没有被泄露,实施 DKIM 将确保试图使电子邮件从发件人那里出现的对手会失败。
此外,虽然 OpenPGP 证明它是编写消息的特定密钥,但如果没有 DKIM,您不一定知道该人拥有该特定电子邮件地址,直到您通过电子邮件返回该地址。
另请参阅此问题。