混合密码:守护你的网络隐私
混合密码:守护你的网络隐私
在当今数字化时代,信息安全已成为每个人必须面对的重要课题。从个人隐私保护到企业数据安全,密码学技术发挥着至关重要的作用。其中,混合密码系统作为现代信息安全的基石,通过结合对称加密和公钥加密的优势,为数据传输和存储提供了高效且安全的解决方案。
什么是混合密码系统?
混合密码系统是一种将对称加密和非对称加密相结合的加密方式。在第四章中,我们了解到了认证加密,这是一种用于加密数据的加密原语,但受到对称性的限制(连接的两侧必须共享相同的密钥)。在本章中,我将通过介绍非对称加密来解除此限制,这是一种加密到其他人的密钥而无需知道密钥的原语。毫不奇怪,非对称加密利用密钥对,加密将使用公钥而不是对称密钥。
在本章的中间部分,您将看到非对称加密受其可以加密的数据量以及加密速率的限制。为了消除这一障碍,我将向您展示如何将非对称加密与认证加密混合在一起,形成我们所称的混合加密。让我们开始吧!
注意 对于本章,您需要已经阅读过第四章关于认证加密和第五章关于密钥交换。
6.1 什么是非对称加密?
了解如何加密消息的第一步是理解非对称加密(也称为公钥加密)。在本节中,您将了解此加密原语及其属性。让我们看一个以下真实场景:加密电子邮件。
您可能知道,您发送的所有电子邮件都是“明文”发送的,任何坐在您和您收件人的电子邮件提供商之间的人都可以阅读。这不太好。你该怎么解决这个问题?您可以使用像 AES-GCM 这样的加密原语,这是您在第四章学到的。为此,您需要为想要给您发消息的每个人设置一个不同的共享对称密钥。
练习
使用相同的共享密钥与所有人将非常糟糕;您能理解为什么吗?
但是您不能指望提前知道谁会给您发送消息,随着越来越多的人想要给您加密消息,生成和交换新的对称密钥会变得繁琐。这就是非对称加密的帮助所在,它允许拥有您公钥的任何人向您加密消息。此外,您是唯一能够使用您拥有的相关私钥解密这些消息的人。请参见图 6.1,了解非对称加密的示意图。
图 6.1 使用非对称加密,任何人都可以使用爱丽丝的公钥向她发送加密消息。只有拥有相关私钥的爱丽丝才能解密这些消息。
要设置非对称加密,首先需要通过某种算法生成一对密钥。与任何加密算法的设置函数一样,密钥生成算法接受一个安全参数。这个安全参数通常被翻译为“你想要多大的密钥?”更大意味着更安全。图 6.2 说明了这一步骤。
图 6.2 要使用非对称加密,首先需要生成一对密钥。根据您提供的安全参数,您可以生成不同安全强度的密钥。
密钥生成算法生成由两个不同部分组成的密钥对:公钥部分(如名称所示)可以在不太担心的情况下发布和共享,而私钥必须保持秘密。与其他加密原语的密钥生成算法类似,需要一个安全参数来决定算法的位安全性。然后任何人都可以使用公钥部分加密消息,您可以使用私钥部分解密,就像图 6.3 所示。与经过认证的解密类似,如果提供不一致的密文,解密可能会失败。
图 6.3 非对称加密允许使用接收者的公钥加密消息(明文)。接收者随后可以使用与先前使用的公钥相关的私钥使用不同的算法解密加密的消息(密文)。
请注意,到目前为止我们还没有讨论认证问题。考虑电线的两侧:
- 您正在使用您认为是 Alice 拥有的公钥进行加密。
- Alice 并不确定是谁发送了这条消息。
现在,我们将假设我们以一种非常安全的方式获得了 Alice 的公钥。在涵盖数字签名的第七章中,您将了解现实世界协议如何解决这个实践中的引导问题。您还将在第七章中学习如何以加密方式向 Alice 传达您的真实身份。剧透警告:您将签署您的消息。
让我们继续下一节,您将了解非对称加密在实践中的应用(以及为什么在实践中很少直接使用)。
6.2 实践中的非对称加密和混合加密
您可能认为非对称加密可能足以开始加密您的电子邮件。实际上,由于它可以加密的消息长度受限,非对称加密相当受限。与对称加密相比,非对称加密和解密的速度也较慢。这是由于非对称构造实施数学运算,而对称原语通常只是操作位。
在本节中,你将了解这些限制,实际上非对称加密用于什么,最后,密码学是如何克服这些障碍的。本节分为两个部分,分别介绍了非对称加密的两个主要用例:
- 密钥交换—— 你会发现使用非对称加密原语执行密钥交换(或密钥协商)是相当自然的。
- 混合加密—— 你会发现由于你可以加密的最大大小的限制,非对称加密的用例相当有限。为了加密更大的消息,你将了解到一种更有用的原语,称为混合加密。
6.2.1 密钥交换和密钥封装
原来非对称加密可以用于执行密钥交换——与我们在第五章中看到的一样!为了做到这一点,你可以开始生成一个对称密钥,并用 Alice 的公钥对其进行加密——我们也称之为封装密钥——就像图 6.4 所示。
图 6.4 要将非对称加密用作密钥交换原语,你需要(1)生成一个对称密钥,然后(2)用 Alice 的公钥对其进行加密。
你随后可以将密文发送给 Alice,她将能够解密它并学习对称密钥。接下来,你们将有一个共享的秘密!图 6.5 展示了完整的流程。
图 6.5 要将非对称加密用作密钥交换原语,你可以(1)生成一个对称密钥,然后(2)用 Alice 的公钥对其进行加密。之后(3)将其发送给 Alice,她可以(4)用她关联的私钥对其进行解密。在协议结束时,你们都拥有共享的秘密,而其他人无法仅从观察到的加密对称密钥中推导出它。
使用非对称加密执行密钥交换通常使用一种称为RSA的算法(按照其发明者 Rivest、Shamir 和 Adleman 的名字命名),并在许多互联网协议中使用。今天,RSA 通常不是进行密钥交换的首选方式,并且在协议中的使用越来越少,而更偏爱椭圆曲线 Diffie-Hellman(ECDH)。这主要是出于历史原因(发现了许多与 RSA 实现和标准相关的漏洞)和 ECDH 提供的更小参数大小的吸引力。
6.2.2 混合加密
实际上,非对称加密只能加密长度不超过一定限制的消息。例如,可以通过 RSA 加密的明文消息的大小受到生成密钥对时使用的安全参数的限制(更具体地说,是模数的大小)。现今,使用的安全参数(4,096 位模数),限制约为 500 个 ASCII 字符 —— 相当小。因此,大多数应用程序使用混合加密,其限制与使用的认证加密算法的加密限制相关联。
混合加密在实践中与非对称加密具有相同的接口(见图 6.6)。人们可以使用公钥加密消息,拥有相关私钥的人可以解密加密的消息。真正的区别在于您可以加密的消息的大小限制。
图 6.6 混合加密与非对称加密具有相同的接口,只是可以加密的消息大小要大得多。
在幕后,混合加密只是一个非对称加密原语与一个对称加密原语的结合。
混合密码的主要应用场景
混合密码系统广泛应用于各种需要安全通信的场景,其中最典型的包括:
SSL/TLS协议:这是保障互联网安全通信的基础协议,广泛应用于HTTPS网站。在SSL/TLS握手过程中,客户端和服务器通过非对称加密协商一个对称密钥,然后使用该密钥进行数据传输的加密和解密。
电子邮件加密:如PGP(Pretty Good Privacy)和S/MIME(Secure/Multipurpose Internet Mail Extensions)等邮件加密标准,都采用了混合加密技术。发送方使用接收方的公钥加密对称密钥,再用对称密钥加密邮件内容。
虚拟专用网络(VPN):VPN连接通常采用混合加密来保护数据传输的安全性。
文件加密:在需要保护文件安全的场景中,混合加密也被广泛应用。例如,全磁盘加密系统通常使用对称加密保护数据,使用非对称加密保护对称密钥。
实际案例分析
- Google Chrome的混合加密实践
Google已经开始采用混合算法的策略。去年,Chrome浏览器和一些服务器开始采用两种算法的组合来协商会话密钥:
- X25519:一个使用椭圆曲线的TLS常见选择
- Kyber-768:一种抗量子密钥封装方法,是NIST PQC项目的胜出者
Chrome浏览器的安全技术项目经理德文·奥布莱恩(Devon O"Brien)在声明中提到,尽管Kyber封装的额外密钥材料为每条TLS ClientHello消息增加了约1000字节,但这对“绝大多数”用户来说并不构成问题。
- Microsoft Entra ID的密码哈希同步
Microsoft Entra Connect 将用户密码的哈希从本地 Active Directory 实例同步到基于云的 Microsoft Entra 实例。密码哈希同步是由 Microsoft Entra Connect 同步实现的目录同步功能的扩展。可以使用此功能登录到 Microsoft Entra 服务(例如 Microsoft 365)。 登录到该服务时使用的密码与登录到本地 Active Directory 实例时使用的密码相同。
密码哈希同步通过将用户需要维护的密码数目减少为一个来提供帮助。 密码哈希同步可以:
- 提升用户的生产力。
- 减少技术支持成本。
密码哈希同步还为混合帐户启用了泄露凭据监测。 Microsoft 与暗网研究人员和执法机构合作,查找公开提供的用户名/密码对。 如果这些对中的任何一对与我们的用户匹配,则关联的帐户将被移动到高风险区域。
注意
只有在启用 PHS 后找到的新泄漏凭据将针对你的租户进行处理。 不会对先前找到的凭据对执行验证。
(可选)如果决定使用通过 Active Directory 联合身份验证服务 (AD FS) 进行的联合身份验证作为登录方法,则可以将密码哈希同步设置为备用身份验证方式。
若要在环境中使用密码哈希同步,需要:
- 安装 Microsoft Entra Connect。
- 配置本地 Azure Active Directory 实例与 Microsoft Entra 实例之间的目录同步。
- 启用密码哈希同步。
有关详细信息,请参阅什么是混合标识?
后续步骤
面临的挑战与未来展望
尽管混合密码系统在当前信息安全体系中占据重要地位,但它也面临着一些挑战:
性能开销:由于需要执行两次加密操作,混合密码系统的计算开销相对较大。特别是在资源受限的设备上,这种开销可能会影响系统性能。
实现复杂性:混合密码系统的实现比单一加密系统更为复杂,需要同时处理对称加密和非对称加密的细节。这增加了系统开发和维护的难度。
后量子密码学的挑战:随着量子计算技术的发展,传统的加密算法可能面临破解风险。目前,国际上正在积极研究后量子密码学方案,以应对这一潜在威胁。
标准化和互操作性:不同系统和平台之间的兼容性问题也是混合密码系统面临的重要挑战。需要制定统一的标准来确保不同系统之间的互操作性。
混合密码系统通过结合对称加密和非对称加密的优势,为现代信息安全提供了高效且安全的加密解密方案。它不仅解决了单一密码系统的局限性,还广泛应用于电子邮件、网络通信和数据库保护等领域。随着网络安全威胁日益复杂,使用混合密码系统能够有效提升个人及企业的数据安全性,成为守护你网络隐私的重要工具。