DKIM 于 2005 年创建,旨在帮助收件人确定是否有人篡改了 传输中的企业邮箱内容。 该协议在很大程度上依赖于密码学的概念,它通过使用公钥对从您的域发出的企业邮箱进行签名来保证企业邮箱的真实性和完整性。。在 DKIM 中,散列是为以下内容创建安全签名的重要步骤 企业邮箱完整性 和认证。让我们看看哈希是如何工作的。
DKIM 中的哈希是什么?
哈希负责将企业邮箱的一部分(通常是标题和正文)转换为 固定大小的字符串。这些字符通常是数字和字母的序列。 处理该字符串并生成输出值,称为哈希值或摘要。。相同的输入总是产生相同的哈希值。然而,即使输入发生很小的变化,也会产生完全不同的哈希值。这使得散列成为一种单向函数,这意味着您无法返回原始数据。
哈希是如何进行的?
以下是散列如何在 德基姆 框架:
企业邮箱标题和正文选择
DKIM 选择企业邮箱的特定部分包含在签名中,其中包括 企业邮箱标题 (例如,发件人、收件人和主题)以及企业邮箱正文。这样做是为了创建一个 可验证指纹 企业邮箱的内容,确保消息在传输过程中没有被篡改。
对企业邮箱的部分内容进行哈希处理
选择标头和正文后,DKIM 使用 加密哈希函数。最常用的是 RS256 的 SHA-256 RS512 的 SHA-512。尽管前者是 DKIM 中最常见的选择,但后者提供了 更高级别的安全性。
数字签名创建
散列后,DKIM 获取散列(摘要)并使用与该散列关联的 RSA 私钥对其进行签名 发送域。这创建了一个 数字签名它嵌入在企业邮箱的特殊 DKIM 签名标头中。
哈希签名验证
收到企业邮箱后,收件人的服务器将执行以下三个步骤:
- 检索发件人域的公钥 DNS记录。
- 使用相同的哈希函数(SHA-256 或 SHA-512)重新哈希企业邮箱标头和正文以生成新的摘要。
- 使用发件人姓名验证数字签名 公钥通过将(企业邮箱正文的)新哈希值与 DKIM 签名的哈希值进行比较。如果两者匹配,则企业邮箱为 被认为是真实且完整的。
为什么哈希在 DKIM 中很重要?
让我们看看哈希是如何实现的 安全高效 通过企业邮箱沟通:
完整性保护
哈希在确保企业邮箱内容的完整性方面发挥着关键作用。哈希创建的唯一指纹可以让收件人知道是否有人试图在传输过程中更改企业邮箱,无论是细微的更改,例如 编辑主题行 或者更严重和危险的事情,例如在正文中嵌入受恶意软件感染的链接。
这就是为什么它很重要 –
企业邮箱伪造检测
任何改变 企业邮箱内容无论多小(甚至添加或删除空格),都会导致哈希值发生显着变化。 这意味着从哈希创建的数字签名与签名时企业邮箱的确切内容紧密相关。。
当收件人的服务器验证企业邮箱时,它会再次对内容进行哈希处理,并将其与 DKIM 签名中存储的原始哈希进行比较。即使只有一个字节发生变化,哈希值也将不匹配,从而导致 DKIM 签名验证失败。这可以防止身份盗窃并建立对收件人的信任,因为他们知道他们收到的企业邮箱与这封企业邮箱完全相同。 预期发件人无需任何修改。
防止中间人攻击
如果没有散列,恶意行为者可以修改 重要信息 在企业邮箱的内容中。例如,他们可以用属于他们的信息替换原始的银行详细信息。
不可变签名
由于签名是基于哈希的,因此在签名时它被有效地“锁定”到内容。。如果有人尝试修改内容,他们还需要生成一个 新的哈希值和有效的签名。如果没有发件人的私钥,这是不可能的,该私钥由发件人的域安全地保存。因此,即使有人拦截了企业邮箱,他们也无法伪造 新的有效签名 隐藏他们的修改。
效率
散列在几个关键方面有助于提高 DKIM 的有效性,特别是在 管理大量 企业邮箱。
固定长度输出
无论输入的大小如何,哈希函数始终产生固定长度的输出。例如,无论您是否砍 10 KB 或 10 MB 企业邮箱生成的散列始终是固定长度的字符串(例如,SHA-256 为 256 位)。
这简化并加快了企业邮箱签名和验证过程。因此,DKIM 不必处理整个企业邮箱,而只需处理一小部分, 固定大小的散列 创建或验证数字签名时。
这使得该过程更加高效 管理大型企业邮箱 因为生成和验证签名所需的计算量变得易于管理,因为散列值或摘要是 小且尺寸固定。
数据传输少
由于哈希值小于原始内容, 签署并验证企业邮箱 变得更轻。 收件人的服务器不必担心直接仔细检查整个企业邮箱正文。只需专注于对企业邮箱内容进行哈希处理并将结果与签名进行比较即可。。
这最终减少了发送和接收服务器的负载,特别是对于 高容量环境 例如大型企业邮箱服务提供商。
低过载,高安全性
散列提供了 高安全级别 无需花费大量的处理或存储成本。它是一种提供安全性的计算高效方式,使其非常适合性能至关重要的环境,例如 消息系统 管理数十亿条消息。
单向功能
DKIM 中涉及的加密哈希是单向的,这意味着在计算上不可能 逆向工程 原始哈希条目。这确保了以下几点:
不可逆性
使用哈希值,恢复企业邮箱的原始内容几乎是不可能的。 例如,即使有人拦截了 DKIM 签名中的哈希值,他们也无法反转它以泄露企业邮箱的内容。。这使得哈希值可以安全地包含在 DKIM 签名中,接收企业邮箱的任何人都可以公开访问该签名。这最终阻止了攻击者获取信息 有用的信息 散列。
耐碰撞
SHA-256 等加密哈希函数旨在最大限度地降低冲突风险。发生这种情况是因为 两种不同的输入产生 相同的哈希输出。实际上,不同企业邮箱内容产生相同哈希值的情况极为罕见(并且在计算上也是不可能的),这提高了 DKIM 的安全性。
如果恶意行为者试图修改内容并以某种方式产生相同的哈希值(冲突),他们将需要多个计算资源,这些资源加起来就会产生结果 过程不方便。这 加强 DKIM 安全。
公钥兼容性
作为一种单向功能,散列可以与 DKIM 的公钥加密技术配合使用。。哈希值使用发送者的私钥(保密)和 收件人检查 使用公钥(在 DNS 中发布)。因此,即使收件人拥有公钥和签名的哈希值,他们也无法在无法访问私钥的情况下对原始消息进行逆向工程或为欺骗或更改的企业邮箱生成有效签名。
最后的话
整体组合为 安全性和性能 使散列成为 DKIM 协议的重要组成部分,确保互联网上企业邮箱通信的可靠性和安全性。如果您对DKIM的有效性仍有疑问, 联系我们。我们将帮助您做出决定并开始涉及 SPF、DKIM 和 DMARC 的企业邮箱安全和身份验证流程。
Leave A Comment